設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

鐵蛋變強(qiáng)!小米官方公布仿生四足機(jī)器人 CyberDog OTA 升級(jí)詳細(xì)內(nèi)容:遛狗...

2022/2/12 13:45:21 來源:鳳凰科技 作者:瀟公子 責(zé)編:瀟公子

IT之家 2 月 12 日消息,今年 1 月份,小米仿生四足機(jī)器人 CyberDog—— 鐵蛋,進(jìn)行了一次 OTA 升級(jí),本次鐵蛋升級(jí)都解鎖了哪些新功能?今天小米官方帶來了詳細(xì)介紹。

下面是視頻:

App 快速連接

新增快速連接功能。當(dāng)首次通過藍(lán)牙連接鐵蛋后,鐵蛋在后續(xù)開機(jī)時(shí)會(huì)自動(dòng)連上之前使用的 Wi-Fi,若此時(shí)手機(jī)也連接上了該 Wi-Fi,App 可直接通過快速連接功能搜索到已連接到該 Wi-Fi 的鐵蛋,無需再連接藍(lán)牙,連接速度可提高到 5 秒左右。

遛狗步態(tài)

  • 步態(tài)中增加遛狗模式,可通過狗繩牽引操作機(jī)器人運(yùn)動(dòng),在 App 中點(diǎn)擊遛狗即進(jìn)入該模式。

  • 狗繩推薦安裝于機(jī)器人頸部。

  • 進(jìn)入遛狗模式后,鐵蛋會(huì)跟隨牽引力的方向執(zhí)行前進(jìn)、后退、轉(zhuǎn)彎等動(dòng)作。

  • 前向或者側(cè)向牽引時(shí),機(jī)器人頭部沿著牽引力方向運(yùn)動(dòng),后向牽引時(shí),機(jī)器人尾部沿著牽引方向運(yùn)動(dòng)。

  • 牽引力為零,機(jī)器人原地踏步,牽引力越大,運(yùn)動(dòng)速度越快。

  • 當(dāng)牽引前進(jìn)速度大于一定值后,機(jī)器人會(huì)自主前進(jìn),可通過狗繩調(diào)整方向和減速。

  • 遛狗模式下,請(qǐng)保持狗繩處于可控范圍。

運(yùn)動(dòng)控制 SDK 接口

開放運(yùn)動(dòng)控制層 12 個(gè)關(guān)節(jié)電機(jī)的伺服控制接口,支持用戶基于 lcm 通信協(xié)議適配和開發(fā)新的控制算法。

SDK 代碼見:https://github.com/ MiRoboticsLab。

用戶可參考 sdk 中 Example_MotorCtrl.cpp 編寫自己的控制代碼后,按如下步驟在實(shí)際機(jī)器人上部署運(yùn)行。

一、安裝依賴

1)安裝 lcm (本地部署時(shí)需要)

$ git clone https://github.com/lcm-proj/lcm.git
$ cd lcm
$ mkdir build
$ cd build
$ cmake ../
$ make
$ sudo make install

2)安裝 docker (運(yùn)控部署時(shí)需要)

按照鏈接所附步驟進(jìn)行安裝:https://docs.docker.com/ engine / install / ubuntu/

# 給docker設(shè)置root權(quán)限:
sudo groupadd docker
sudo usermod -aG docker $USER

3)下載交叉編譯所需 docker 鏡像

$ wget https://cdn.cnbj2m.fds.api.mi-img.com/os-temp/loco/loco_arm64_20220118.tar
$ docker load --input loco_arm64_20220118.tar
$ docker images

二、登錄機(jī)器人

將本地 PC 連接至鐵蛋的 USB download type-c 接口 (位于中間),等待出現(xiàn)”L4T-README”彈窗

$ ping 192.168.55.100     #本地PC被分配的ip
$ ssh mi@192.168.55.1     #登錄nx應(yīng)用板 ,密碼123
$ ssh root@192.168.55.233 #登錄運(yùn)動(dòng)控制板

三、修改模式

修改配置開關(guān),激活用戶控制模式,運(yùn)行用戶自己的控制器:

$ cd /robot #登錄運(yùn)動(dòng)控制板后
$ ./initialize.sh #拷貝出廠代碼到可讀寫的開發(fā)區(qū)(/mnt/UDISK/robot-software),切換到開發(fā)者模式,僅需執(zhí)行一次
$ #切換mode:1(0:默認(rèn)模式,1用戶代碼控制電機(jī)模式),重啟機(jī)器人生效
$ vi /mnt/UDISK/robot-software/config/user_code_ctrl_mod.txt

1)本地部署

運(yùn)行在 pc 端 (linux) 難以保證實(shí)時(shí) lcm 通信,僅推薦編譯驗(yàn)證和簡單位控測(cè)試。

注:通信失敗時(shí)無法正常激活電機(jī)控制模式 Motor control mode has not been activated successfully

$ ping 192.168.55.233 #通過type c線連接Cyberdog的Download接口后,確認(rèn)通信正常
$ ifconfig | grep -B 1 192.168.55.100 | grep "flags"| cut -d ':' -f1 #獲取該ip對(duì)應(yīng)網(wǎng)絡(luò)設(shè)備,一般為usb0
$ sudo ifconfig usb0 multicast #usb0替換為上文獲取的168.55.100對(duì)應(yīng)網(wǎng)絡(luò)設(shè)備,并配為多播
$ sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev usb0 #添加路由表,usb0對(duì)應(yīng)替換
$ mkdir build #進(jìn)入sdk代碼倉后
$ cd build
$ cmake ..
$ make -j4
$ ./Example_MotorCtrl

2)NX 應(yīng)用板部署

因非實(shí)時(shí)系統(tǒng),僅推薦編譯驗(yàn)證和簡單位控測(cè)試。

$ scp -r cyberdog_motor_sdk mi@192.168.55.1:/home/mi/ #源碼入應(yīng)用板,密碼123
$ ssh mi@192.168.55.1
$ cd ~/代碼文件夾
$ mkdir build
$ cd build
$ cmake ..
$ make -j2
$ ping 192.168.55.233 #測(cè)試通信
$ ./Example_MotorCtrl

3)運(yùn)控板交叉編譯部署

為了能使編譯的文件可以直接在機(jī)器人上運(yùn)行,需要在特定的 docker 鏡像環(huán)境下編譯,具體步驟如下:

$ docker run -it --rm --name cyberdog_motor_sdk -v /home/xxx/{sdk_path}:/work/build_farm/workspace/cyberdog cr.d.xiaomi.net/athena/athena_cheetah_arm64:2.0 /bin/bash
$ cd /work/build_farm/workspace/cyberdog/
$ mkdir onboard-build
$ cd onboard-build
$ cmake -DCMAKE_TOOLCHAIN_FILE=/usr/xcc/aarch64-openwrt-linux-gnu/Toolchain.cmake ..
$ make -j4
$ exit

編譯成功后, 將生成的.so 文件 libcyber_dog_sdk.so 和可執(zhí)行文件 Example_MotorCtrl 拷貝到運(yùn)控 / mnt / UDISK 目錄下。

$ ssh root@192.168.55.233 "mkdir /mnt/UDISK/cyberdog_motor_sdk"
$ cd ~/{sdk_path}/onboard-build
$ scp libcyber_dog_motor_sdk.so  Example_MotorCtrl root@192.168.55.233:/mnt/UDISK/cyberdog_motor_sdk
$ ssh root@192.168.55.233
$ cd /mnt/UDISK/cyberdog_motor_sdk
$ export LD_LIBRARY_PATH=/mnt/UDISK/cyberdog_motor_sdk #設(shè)置so庫路徑變量
$ ./Example_MotorCtrl

如何添加開機(jī)自啟動(dòng):

將此配置文件 (注意結(jié)尾逗號(hào)) 修改重啟運(yùn)控程序 / mnt / UDISK / manager_config / fork_para_conf_lists.json

例:"600003": {"fork_config":{"name": "Example_MotorCtrl", "object_path": "/cyberdog_motor_sdk/", "log_path": "","paraValues": ["", "",""] }}

注:電機(jī)無 CAN 總線超時(shí)失能,故結(jié)束時(shí)需先暫停 MotorCtrl 進(jìn)程,超時(shí)后自動(dòng)趴下。

四、錯(cuò)誤標(biāo)志位含義

//bit0:lost control over 10ms warn, the tau and qd_des will be divided by (over_time/10.0)
//bit1:lost control over 500ms err, enter high damping mode, kp=0,kd=10,tau=0;
//bit2:abad motor diff angle over 8 degrees, and limit to it
//bit3:hip motor diff angle over 10 degrees, and limit to it
//bit4:knee motor diff angle over 12 degrees, and limit to it

注:為了避免通信超時(shí)導(dǎo)致危險(xiǎn),報(bào) err_flag: 0x02 communicate lost over 500ms 后先排除故障, 關(guān)閉 Example_MotorCtrl 例程進(jìn)程, 再重啟運(yùn)控程序或者直接重啟運(yùn)控板才能清除錯(cuò)誤。

# 重啟運(yùn)控程序:
ssh root@192.168.55.233 "ps | grep -E 'Example_MotorCtrl' | grep -v grep | awk '{print \$1}' | xargs kill -9" #需先于主進(jìn)程暫停,避免急停
ssh root@192.168.55.233 "ps | grep -E 'manager|ctrl|imu_online' | grep -v grep | awk '{print \$1}' | xargs kill -9"
ssh root@192.168.55.233 "export LD_LIBRARY_PATH=/mnt/UDISK/robot-software/build;/mnt/UDISK/manager /mnt/UDISK/ >> /mnt/UDISK/manager_log/manager.log 2>&1 &"
# 重啟運(yùn)控板系統(tǒng):
ssh root@192.168.55.233 "reboot"

04 低功耗模式

機(jī)器在趴下后 passive 模式,電機(jī)檢測(cè)控制指令,在沒有電機(jī)位置速度力矩的控制情況下連續(xù)檢測(cè) 15 秒后,電機(jī)進(jìn)入低功耗模式,此時(shí)功耗降低,且無電機(jī)噪音,在收到控制指令后,電機(jī)自動(dòng)恢復(fù)到正常模式。

05 圖傳延遲

修改 App 端播放參數(shù),通過減小圖傳圖像的出隊(duì)時(shí)間并使用軟解碼的方式來降低圖傳延遲時(shí)間,同等網(wǎng)絡(luò)情況下減小圖傳延遲 500ms 左右。

06 拎狗保護(hù)

由于機(jī)器人在行走和姿態(tài)展示過程中提起會(huì)進(jìn)入急停,為了提高用戶體驗(yàn),本次升級(jí)提供了了提起保護(hù)功能;

提起保護(hù)僅在姿態(tài)展示、緩跑、小跑、奔跑、跳跑、跳躍、遛狗和轉(zhuǎn)圈功能中起作用,其他功能不會(huì)觸發(fā)提起保護(hù);

若要使用這項(xiàng)功能,請(qǐng)將機(jī)器人高度設(shè)置為 0.30m;

在上述功能執(zhí)行過程中,用戶可以通過背部的把手將機(jī)器人提起,提起后機(jī)器人會(huì)打斷當(dāng)前功能并進(jìn)入高阻尼模式;

進(jìn)入高阻尼模式后 App 上不會(huì)有提示,但是可以明顯感覺到機(jī)器人腿部各個(gè)關(guān)節(jié)已經(jīng)鎖定,并有較大阻尼;

進(jìn)入高阻尼模式后,用戶可以任意將機(jī)器人移動(dòng),待需要繼續(xù)使用時(shí),將機(jī)器人放置在地面上,機(jī)器人會(huì)自動(dòng)恢復(fù)被打斷的功能;

注意事項(xiàng)

  • 舞蹈功能沒有開放提起保護(hù)功能,在舞蹈中提起機(jī)器人,機(jī)器人仍然會(huì)進(jìn)入急停;

  • 盡量不要在快速運(yùn)動(dòng)過程中提起機(jī)器人,此情況可能進(jìn)入急停;

  • 在姿態(tài)展示過程中機(jī)器人足底有可能在地面滑移,滑移幅度過大的情況可能觸發(fā)提起保護(hù);

  • 在切換功能后或機(jī)器人站定后,提起保護(hù)有 1 秒延時(shí),請(qǐng)?jiān)谘訒r(shí)后使用提起保護(hù)功能;

  • 在機(jī)器人行走過程中讓機(jī)器人抬頭或低頭會(huì)關(guān)閉提起保護(hù)功能;

  • 進(jìn)入高阻尼模式后,盡量平穩(wěn)將機(jī)器人放置在地面上使其恢復(fù)原有功能;

  • 在高阻尼模式下不要切換功能或推動(dòng)搖桿。

廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:機(jī)器人,小米CyberDog

軟媒旗下網(wǎng)站: IT之家 最會(huì)買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會(huì)買 要知