铁蛋变强!小米官方公布仿生四足机器人CyberDogOTA升
IT之家2月12日消息,今年1月份,小米仿生四足机器人CyberDog铁蛋,进行了一次OTA升级,本次铁蛋升级都解锁了哪些新功能?今天小米官方带来了详细介绍。
下面是视频:
App快速连接
新增快速连接功能。当首次通过蓝牙连接铁蛋后,铁蛋在后续开机时会自动连上之前使用的WiFi,若此时手机也连接上了该WiFi,App可直接通过快速连接功能搜索到已连接到该WiFi的铁蛋,无需再连接蓝牙,连接速度可提高到5秒左右。遛狗步态
步态中增加遛狗模式,可通过狗绳牵引操作机器人运动,在App中点击遛狗即进入该模式。
狗绳推荐安装于机器人颈部。
进入遛狗模式后,铁蛋会跟随牵引力的方向执行前进、后退、转弯等动作。
前向或者侧向牵引时,机器人头部沿着牵引力方向运动,后向牵引时,机器人尾部沿着牵引方向运动。
牵引力为零,机器人原地踏步,牵引力越大,运动速度越快。
当牵引前进速度大于一定值后,机器人会自主前进,可通过狗绳调整方向和减速。
遛狗模式下,请保持狗绳处于可控范围。运动控制SDK接口
开放运动控制层12个关节电机的伺服控制接口,支持用户基于lcm通信协议适配和开发新的控制算法。
SDK代码见:https:github。comMiRoboticsLab。
用户可参考sdk中ExampleMotorCtrl。cpp编写自己的控制代码后,按如下步骤在实际机器人上部署运行。
一、安装依赖
1)安装lcm(本地部署时需要)
gitclonehttps:github。comlcmprojlcm。gitcdlcmmkdirbuildcdbuildcmake。。makesudomakeinstall
2)安装docker(运控部署时需要)
按照链接所附步骤进行安装:https:docs。docker。comengineinstallubuntu
给docker设置root权限:sudogroupadddockersudousermodaGdockerUSER
3)下载交叉编译所需docker镜像
wgethttps:cdn。cnbj2m。fds。api。miimg。comostemplocolocoarm6420220118。tardockerloadinputlocoarm6420220118。tardockerimages
二、登录机器人
将本地PC连接至铁蛋的USBdownloadtypec接口(位于中间),等待出现L4TREADME弹窗
ping192。168。55。100本地PC被分配的ipsshmi192。168。55。1登录nx应用板,密码123sshroot192。168。55。233登录运动控制板
三、修改模式
修改配置开关,激活用户控制模式,运行用户自己的控制器:
cdrobot登录运动控制板后。initialize。sh拷贝出厂代码到可读写的开发区(mntUDISKrobotsoftware),切换到开发者模式,仅需执行一次切换mode:1(0:默认模式,1用户代码控制电机模式),重启机器人生效vimntUDISKrobotsoftwareconfigusercodectrlmod。txt
1)本地部署
运行在pc端(linux)难以保证实时lcm通信,仅推荐编译验证和简单位控测试。
注:通信失败时无法正常激活电机控制模式Motorcontrolmodehasnotbeenactivatedsuccessfully
ping192。168。55。233通过typec线连接Cyberdog的Download接口后,确认通信正常ifconfiggrepB1192。168。55。100grepflagscutd:f1获取该ip对应网络设备,一般为usb0sudoifconfigusb0multicastusb0替换为上文获取的168。55。100对应网络设备,并配为多播sudorouteaddnet224。0。0。0netmask240。0。0。0devusb0添加路由表,usb0对应替换mkdirbuild进入sdk代码仓后cdbuildcmake。。makej4。ExampleMotorCtrl
2)NX应用板部署
因非实时系统,仅推荐编译验证和简单位控测试。
scprcyberdogmotorsdkmi192。168。55。1:homemi源码入应用板,密码123sshmi192。168。55。1cd代码文件夹mkdirbuildcdbuildcmake。。makej2ping192。168。55。233测试通信。ExampleMotorCtrl
3)运控板交叉编译部署
为了能使编译的文件可以直接在机器人上运行,需要在特定的docker镜像环境下编译,具体步骤如下:
dockerrunitrmnamecyberdogmotorsdkvhomexxx{sdkpath}:workbuildfarmworkspacecyberdogcr。d。xiaomi。netathenaathenacheetaharm64:2。0binbashcdworkbuildfarmworkspacecyberdogmkdironboardbuildcdonboardbuildcmakeDCMAKETOOLCHAINFILEusrxccaarch64openwrtlinuxgnuToolchain。cmake。。makej4exit
编译成功后,将生成的。so文件libcyberdogsdk。so和可执行文件ExampleMotorCtrl拷贝到运控mntUDISK目录下。
sshroot192。168。55。233mkdirmntUDISKcyberdogmotorsdkcd{sdkpath}onboardbuildscplibcyberdogmotorsdk。soExampleMotorCtrlroot192。168。55。233:mntUDISKcyberdogmotorsdksshroot192。168。55。233cdmntUDISKcyberdogmotorsdkexportLDLIBRARYPATHmntUDISKcyberdogmotorsdk设置so库路径变量。ExampleMotorCtrl
如何添加开机自启动:
将此配置文件(注意结尾逗号)修改重启运控程序mntUDISKmanagerconfigforkparaconflists。json
例:600003:{forkconfig:{name:ExampleMotorCtrl,objectpath:cyberdogmotorsdk,logpath:,paraValues:〔,,〕}}
注:电机无CAN总线超时失能,故结束时需先暂停MotorCtrl进程,超时后自动趴下。
四、错误标志位含义
bit0:lostcontrolover10mswarn,thetauandqddeswillbedividedby(overtime10。0)bit1:lostcontrolover500mserr,enterhighdampingmode,kp0,kd10,tau0;bit2:abadmotordiffangleover8degrees,andlimittoitbit3:hipmotordiffangleover10degrees,andlimittoitbit4:kneemotordiffangleover12degrees,andlimittoit
注:为了避免通信超时导致危险,报errflag:0x02communicatelostover500ms后先排除故障,关闭ExampleMotorCtrl例程进程,再重启运控程序或者直接重启运控板才能清除错误。
重启运控程序:sshroot192。168。55。233psgrepEExampleMotorCtrlgrepvgrepawk{print1}xargskill9需先于主进程暂停,避免急停sshroot192。168。55。233psgrepEmanagerctrlimuonlinegrepvgrepawk{print1}xargskill9sshroot192。168。55。233exportLDLIBRARYPATHmntUDISKrobotsoftwarebuild;mntUDISKmanagermntUDISKgt;gt;mntUDISKmanagerlogmanager。log2gt;amp;1amp;重启运控板系统:sshroot192。168。55。233reboot
04低功耗模式
机器在趴下后passive模式,电机检测控制指令,在没有电机位置速度力矩的控制情况下连续检测15秒后,电机进入低功耗模式,此时功耗降低,且无电机噪音,在收到控制指令后,电机自动恢复到正常模式。
05图传延迟
修改App端播放参数,通过减小图传图像的出队时间并使用软解码的方式来降低图传延迟时间,同等网络情况下减小图传延迟500ms左右。
06拎狗保护
由于机器人在行走和姿态展示过程中提起会进入急停,为了提高用户体验,本次升级提供了了提起保护功能;
提起保护仅在姿态展示、缓跑、小跑、奔跑、跳跑、跳跃、遛狗和转圈功能中起作用,其他功能不会触发提起保护;
若要使用这项功能,请将机器人高度设置为0。30m;
在上述功能执行过程中,用户可以通过背部的把手将机器人提起,提起后机器人会打断当前功能并进入高阻尼模式;
进入高阻尼模式后App上不会有提示,但是可以明显感觉到机器人腿部各个关节已经锁定,并有较大阻尼;
进入高阻尼模式后,用户可以任意将机器人移动,待需要继续使用时,将机器人放置在地面上,机器人会自动恢复被打断的功能;注意事项
舞蹈功能没有开放提起保护功能,在舞蹈中提起机器人,机器人仍然会进入急停;
尽量不要在快速运动过程中提起机器人,此情况可能进入急停;
在姿态展示过程中机器人足底有可能在地面滑移,滑移幅度过大的情况可能触发提起保护;
在切换功能后或机器人站定后,提起保护有1秒延时,请在延时后使用提起保护功能;
在机器人行走过程中让机器人抬头或低头会关闭提起保护功能;
进入高阻尼模式后,尽量平稳将机器人放置在地面上使其恢复原有功能;
在高阻尼模式下不要切换功能或推动摇杆。