0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

小凌派手勢應(yīng)用之原力控制星球大戰(zhàn)BB-8機(jī)器人實(shí)例

科技綠洲 ? 來源:凌智電子 ? 作者:凌智電子 ? 2022-05-12 10:30 ? 次閱讀

在上一篇文章中,分享了 小凌派隔空操作迪文COF智能屏 ,這次再給大家分享一個(gè)更有趣的智能手勢應(yīng)用----小凌派RK2206鴻蒙開發(fā)板賦予你原力,隔空控制星球大戰(zhàn)BB-8機(jī)器人

在這篇文章中,你將會(huì)了解到如下的信息

人氣超高的星球大戰(zhàn)之BB-8機(jī)器人

控制BB-8機(jī)器人的服務(wù)工具

小凌派RK2206開發(fā)板之智能手勢

小凌派之OpenHARMony 無線聯(lián)網(wǎng)

小凌派之OpenHarmony MQTT連接

小凌派手勢控制BB-8機(jī)器人

本文中,涉及到的代碼全部開源,代碼庫如下:

BB-8 網(wǎng)頁控制界面

星球大戰(zhàn)BB-8機(jī)器人控制測試與轉(zhuǎn)發(fā)工具

小凌派手勢應(yīng)用之原力控制星球大戰(zhàn)BB-8機(jī)器人實(shí)例

人氣超高的星球大戰(zhàn)之BB-8機(jī)器人

星球大戰(zhàn)系列電影之中,有兩個(gè)少有的幾乎出現(xiàn)于所有星球大戰(zhàn)系列電影的角色,那就是R2-D2和C-3PO:

而在2015年的宇宙史詩電影《STAR WARS:原力覺醒》中登場的BB-8球型機(jī)器人,雖然是后輩,但其熱度,快速趕超兩位前輩,成為鐵桿星戰(zhàn)迷的最愛之一:

萬萬沒想到,接手星球大戰(zhàn)的迪斯尼,居然推出了同款玩具:

狠狠的掏了我這個(gè)老星戰(zhàn)迷的腰包。如果上天再給我一次機(jī)會(huì),我一定不會(huì)后悔第一時(shí)間搶到了BB-8機(jī)器人?。?!

控制BB-8機(jī)器人的服務(wù)工具

通常情況下,要控制BB-8,需要使用專門的手機(jī)App,或者使用Sphero的開發(fā)工具。

operasoftware/bb8 實(shí)現(xiàn)了一個(gè)網(wǎng)頁界面的基礎(chǔ)控制功能,HonestQiao/bb8 在此基礎(chǔ)上進(jìn)行了完善,增加了方向鍵按鍵控制功能,并實(shí)現(xiàn)了WebSocket、MQTT支持,從而使得其他設(shè)備,可以通過WebSocket和MQTT,來間接控制BB-8。

進(jìn)一步的,我開發(fā)了轉(zhuǎn)發(fā)工具,為 HonestQiao/bb8 提供完整WEB運(yùn)行環(huán)境,并對外提供TCP Socket、WebSocket、MQTT控制能力,任何能夠使用TCP Socket、WebSocket、MQTT的設(shè)備、程序等,均可以控制BB-8。

關(guān)于該工具的具體使用,可以查看:星球大戰(zhàn)BB-8機(jī)器人控制測試與轉(zhuǎn)發(fā)工具

網(wǎng)頁控制界面:

pYYBAGJ8cHyASZ69AAEFwYEzuYU337.png

指令轉(zhuǎn)發(fā)界面:

poYBAGJ8cIWAOyamAACmWya7JFM007.png

最終,小凌派RK2206開發(fā)板將會(huì)通過MQTT,根據(jù)識別到的手勢,發(fā)送對應(yīng)的指令給BB-8,從而控制BB-8機(jī)器人。

,時(shí)長00:12

小凌派RK2206開發(fā)板之智能手勢

關(guān)于開發(fā)板對智能手勢的具體支持,可以查看: 小凌派-RK2206開發(fā)板E53模塊開發(fā)——智能手勢

poYBAGJ8cI6ASeqpAAGLaQBsNVs561.png

該智能手勢擴(kuò)展板能夠識別的手勢,有上下左右、靠近/離開、順時(shí)針、逆時(shí)針、擺動(dòng)。

其具體的代碼,在 vendor / lockzhiner / rk2206 / samples / c6_e53_gesture_sensor 目錄中,我們可以查看具體的處理細(xì)節(jié):

poYBAGJ8cJaAHRmGAAGh8N_ob1w669.png

在該代碼中,通過 e53_gs_get_gesture_state()接口函數(shù),從手勢傳感器PAJ7620U2讀取當(dāng)前識別到的手勢,然后輸出,并點(diǎn)亮擴(kuò)展板上對應(yīng)的LED

在后續(xù)的代碼中,將會(huì)基于上面的代碼,使用上下左右控制BB-8的運(yùn)動(dòng),使用靠近來變換BB-8的燈光顏色。

小凌派之OpenHarmony無線聯(lián)網(wǎng)

在RK2206開發(fā)板OpenHarmony的samples中,沒有直接提供WIFi連接的實(shí)例。

從 vendor / lockzhiner / rk2206 / samples / d1_iot_mqtt 中,我們可以得到對應(yīng)的調(diào)用處理方式,實(shí)際上,只要下面一行代碼,就會(huì)自動(dòng)啟用WiFi連接功能:

SetWifiModeOn();

該接口具體定義,在如下代碼中:

poYBAGJ8cKaAe0pTAAFYsIMzj-Q374.png

我們還需要到該文件的頭部,修改SSID和PASSWORD的定義,就是我們要連接的無線的名稱和密碼:

poYBAGJ8cLOAf9L3AAC1D42VfAY397.png

設(shè)置好對應(yīng)的SSID和PASSWORD,在我們的代碼中,調(diào)用SetWifiModeOn(),就能具有網(wǎng)絡(luò)功能了。

小凌派之OpenHarmony MQTT連接

在 vendor / lockzhiner / rk2206 / samples / d1_iot_mqtt 中,我們可以了解到使用mqtt服務(wù)的細(xì)節(jié):

pYYBAGJ8cMeAMIZuAAEqgo0CVX8376.png

在上述代碼,我們重點(diǎn)關(guān)注如下的接口調(diào)用:

NetworkInit(&network):初始化網(wǎng)絡(luò)句柄

NetworkConnect(&network, “192.168.0.107”, 1883):連接到mqtt服務(wù)端口

MQTTClientinit(&client, &network.。.):初始化MQTT CLient

MQTTConnect(&client, &data):開啟MQTT服務(wù)

MQTTSubscribe(&client, “substopic”。..):訂閱TOPIC,用于接收

MQTTPublish(&client, “IOT_MQTT”, &message):發(fā)布TOPIC,用于發(fā)送數(shù)據(jù)

通過這些接口,我們就能夠使用MQTT服務(wù)來收發(fā)數(shù)據(jù)了。

在使用MQTT服務(wù)之前,我們需要先有mqtt服務(wù)端,通常有下面的兩種方式:

使用EMQX提供的公共服務(wù):一文了解主流在線公共 MQTT 服務(wù)器

自己建立,可以見參考 快速開始使用 EMQX

獲得MQTT服務(wù)端后,我們可以使用如下的工具進(jìn)行測試:

pYYBAGJ8cQqAGGzKAAChn-TpPOs068.png

其具體使用,可查看上述的 快速開始使用 EMQX。

配置并編譯 vendor / lockzhiner / rk2206 / samples / d1_iot_mqtt 下載到開發(fā)板以后,我們可以在MQTT客戶端,給 substopic 這個(gè)主題發(fā)送指令,開發(fā)板就會(huì)收到;同時(shí),如果訂閱 IOT_MQTT ,就能收到開發(fā)板發(fā)送出來的信息了。

小凌派手勢控制BB-8機(jī)器人

在以上智能手勢識別、WiFi聯(lián)網(wǎng)、MQTT使用的基礎(chǔ)上,我們就可以結(jié)合起來,進(jìn)行BB-8的控制了。核心控制部分的代碼如下:

pYYBAGJ8cRKAXbOUAAGkQhEwgyU253.png

在上述代碼中,通過手勢傳感器,獲得當(dāng)前的手勢,如果檢測到了上下左右手勢,就發(fā)送move指令;如果檢測到了靠近手勢,就發(fā)送color指令。

控制BB-8時(shí),使用的MQTT的TOPIC為device/BB-8/command,可以通過MQTT客戶端給該TOPIC發(fā)送指令,檢查控制是否生效。

BB-8受控運(yùn)動(dòng)時(shí),使用的是直角坐標(biāo)系,以默認(rèn)中心點(diǎn)(150,150)為基礎(chǔ)在第一象限運(yùn)動(dòng),發(fā)送移動(dòng)后的坐標(biāo),其離中心點(diǎn)越遠(yuǎn),則移動(dòng)的速度越快,時(shí)間越長。

因此,根據(jù)識別到的手勢,具體設(shè)置的情況如下:

上:x保持不變,y-=50,發(fā)送move指令

下:x保持不變,y+=50,發(fā)送move指令

左:y保持不變,x-=50,發(fā)送move指令

右:y保持不變,x+=50,發(fā)送move指令

靠近:燈光顏色索引c_idx++,發(fā)送color指令

詳細(xì)的完整代碼實(shí)例,可以查看:小凌派手勢應(yīng)用之原力控制星球大戰(zhàn)BB-8機(jī)器人實(shí)例

通過以上的各項(xiàng)關(guān)聯(lián),我們就可以像星球大戰(zhàn)中的絕地大師那樣,使用原力,隔空御物,控制BB-8機(jī)器人啦。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    210

    文章

    27838

    瀏覽量

    204571
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4670

    瀏覽量

    67760
  • 智能手勢
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    9547
  • 小凌派
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    1176
收藏 人收藏

    評論

    相關(guān)推薦

    基于飛嵌入式RK3568J核心板的工業(yè)機(jī)器人控制器應(yīng)用方案

    加強(qiáng)和擴(kuò)大現(xiàn)有市場份額,更要在細(xì)分市場中發(fā)掘新的增長動(dòng)力,以適應(yīng)更加激烈的市場競爭環(huán)境。 飛嵌入式作為一家專注嵌入式核心控制系統(tǒng)研發(fā)與制造的高新技術(shù)企業(yè),經(jīng)過多年的研發(fā)與積累,產(chǎn)品已廣泛應(yīng)用于機(jī)器人
    發(fā)表于 05-11 09:40

    用于AGV物流機(jī)器人的愛普生陀螺儀傳感器XV7000系列:XV7001BB,XV7011BB

    適用于AGV物流機(jī)器人的愛普生陀螺儀傳感器XV7000系列:XV7001BB,XV7011BB。以前我們都知道XV7001BB,XV7011BB
    的頭像 發(fā)表于 04-02 13:53 ?390次閱讀
    用于AGV物流<b class='flag-5'>機(jī)器人</b>的愛普生陀螺儀傳感器XV7000系列:XV7001<b class='flag-5'>BB</b>,XV7011<b class='flag-5'>BB</b>

    【開源項(xiàng)目】Emo:基于樹莓 4B DIY 能笑會(huì)動(dòng)的桌面機(jī)器人

    Emo是一款基于樹莓4做的個(gè)人伴侶機(jī)器人,集時(shí)尚與創(chuàng)新于一身。它不僅僅是一款機(jī)器人,更是一個(gè)活生生的存在,與其他機(jī)器人不同,它擁有獨(dú)特的個(gè)性和情感。 硬件部分 樹莓
    發(fā)表于 12-26 15:18

    基于導(dǎo)納控制機(jī)器人拖動(dòng)示教原理和實(shí)現(xiàn)步驟

    基于導(dǎo)納控制機(jī)器人拖動(dòng)示教是一種常用的機(jī)器人控制策略,它允許機(jī)器人直接互動(dòng),實(shí)現(xiàn)自然、直觀
    的頭像 發(fā)表于 12-04 09:48 ?4449次閱讀
    基于導(dǎo)納<b class='flag-5'>控制</b>的<b class='flag-5'>機(jī)器人</b>拖動(dòng)示教原理和實(shí)現(xiàn)步驟

    什么是機(jī)器人 優(yōu)點(diǎn)有哪些

    (1)什么是機(jī)器人? 機(jī)器人(force-controlled robot)是指一類具有力控制能力的
    的頭像 發(fā)表于 11-14 14:43 ?746次閱讀

    控制如何準(zhǔn)確地控制機(jī)器人的力矩輸出

    控制的關(guān)鍵問題是如何準(zhǔn)確地控制機(jī)器人或力矩輸出,以滿足特定的任務(wù)需求。以下是一些與
    的頭像 發(fā)表于 11-09 17:26 ?687次閱讀

    機(jī)器人阻抗控制實(shí)現(xiàn)規(guī)律

    與運(yùn)動(dòng)的角度,阻抗控制實(shí)現(xiàn)規(guī)律可以總結(jié)如下: 1. 與位移關(guān)系:阻抗控制通過建立與位移之間的關(guān)系來實(shí)現(xiàn)
    的頭像 發(fā)表于 11-09 16:45 ?394次閱讀

    機(jī)器人阻抗控制的勢與流

    機(jī)器人是一種能夠感知和控制外部或力矩作用的機(jī)器人系統(tǒng)。它具有實(shí)時(shí)感知和響應(yīng)外部的能力,通
    的頭像 發(fā)表于 11-09 16:25 ?335次閱讀

    機(jī)器人導(dǎo)納控制框架

    導(dǎo)納控制框架: /力矩傳感器:用于測量機(jī)器人與環(huán)境之間的和力矩。 導(dǎo)納控制器:根據(jù)傳感器測量值和期望的
    的頭像 發(fā)表于 11-09 16:12 ?827次閱讀
    <b class='flag-5'>力</b>控<b class='flag-5'>機(jī)器人</b>導(dǎo)納<b class='flag-5'>控制</b>框架

    機(jī)器人控制方法的框架及其性能分析

    機(jī)器人常采用柔順控制算法與人/環(huán)境/機(jī)器人之間進(jìn)行直接或間接的物理交互,那么,柔順控制能夠操縱被控系統(tǒng)的柔性特性和動(dòng)態(tài)行為,實(shí)現(xiàn)方式可以
    的頭像 發(fā)表于 11-09 15:59 ?902次閱讀
    <b class='flag-5'>力</b>控<b class='flag-5'>機(jī)器人</b><b class='flag-5'>控制</b>方法的框架及其性能分析

    機(jī)器人控制框架和性能評估

    機(jī)器人是一種能夠基于外部力量進(jìn)行控制和交互的機(jī)器人系統(tǒng)。與傳統(tǒng)的位置控制機(jī)器人相比,
    的頭像 發(fā)表于 11-09 15:54 ?415次閱讀

    機(jī)器人阻抗控制有幾種方法

    在工業(yè)機(jī)器人中,阻抗控制是一種非常重要的控制方法,主要用于控制機(jī)器人和位。通過調(diào)整阻抗,
    的頭像 發(fā)表于 11-08 18:08 ?1227次閱讀
    <b class='flag-5'>機(jī)器人</b>阻抗<b class='flag-5'>控制</b>有幾種方法

    搭建機(jī)器人關(guān)節(jié)控制系統(tǒng)步驟

    搭建機(jī)器人關(guān)節(jié)控制系統(tǒng)需要以下步驟: 1. 選擇合適的電機(jī)和傳感器。電機(jī)的選取要符合機(jī)器人的要求,例如扭矩和速度范圍。傳感器的選擇則取決于需要監(jiān)測的參數(shù),如位置、速度和力量。 2.
    的頭像 發(fā)表于 11-08 17:45 ?752次閱讀

    機(jī)器人是干什么的

    機(jī)器人是一種能夠感知力量并具有實(shí)時(shí)控制能力的機(jī)器人系統(tǒng)。 它們可以在與人類進(jìn)行精準(zhǔn)協(xié)作和合作時(shí),將傳感技術(shù)(Force Sensing
    的頭像 發(fā)表于 11-08 17:25 ?926次閱讀

    使用Arduino和PAJ7620手勢傳感器制作手勢控制機(jī)器人

    使用Arduino和PAJ7620手勢傳感器制作手勢控制機(jī)器人,簡單程序即可實(shí)現(xiàn)。小小的傳感器可以識別各種手勢。它采用內(nèi)置的空間傳感器,可以
    發(fā)表于 09-27 06:17