使用VR遥操控制soarm101机械臂采集数据
概要:跑通基于phosphobot控制soarm101的全流程。
phosphobot地址:phospho-app/phosphobot: phospho lets you control your SO-100 and SO-101 robot and train VLA AI robotics modelshttps://github.com/phospho-app/phosphobot
官方教程原文:phospho starter pack documentationhttps://docs.phospho.ai/welcome
因为phospho的功能是基于lerobot开发的,所以前期仅支持soarm100和101两个机械臂,如果想了解有关这两个臂的相关信息,可以阅读前面写的上下篇,里面对huggingface和wandb的配置都是一致的,没有注册获取api的也可以参考下面的文章:
从0开始玩转soarm101 上篇-CSDN博客https://blog.csdn.net/Jzzzzzzzzzzzzzz/article/details/148851734?spm=1001.2014.3001.5501
从0开始玩转soarm101 下篇-CSDN博客文章浏览阅读873次,点赞23次,收藏23次。本文详细介绍了基于LeRobot框架的SO-ARM101机械臂开发流程。内容包括:硬件连接与端口配置、电机ID设置与标定、遥操作实现、数据录制与上传HuggingFace,以及模型训练全流程。重点解决了常见问题如固件升级、相机超时、显卡驱动安装、CUDA版本匹配等。通过降低分辨率处理录制瓶颈,并指导正确安装PyTorch版本完成模型训练。文章提供了完整的命令行操作示例,帮助开发者从零实现机械臂的标定、控制到机器学习训练全链路开发。最后预告了模型评估和LeKiwi底座小车相关内容。https://blog.csdn.net/Jzzzzzzzzzzzzzz/article/details/148867283?spm=1001.2014.3001.5501
https://huggingface.co/docs/lerobot/so101https://huggingface.co/docs/lerobot/so101
使用的前提需要至少有一个soarm的跟随臂,有两个跟随臂的话就可以用来做一些复杂的数据采集,比如aloha使用act做的物品收纳。
环境:显卡技嘉的5060,cpui5-13490f,主板技嘉b760m gaming,双系统ubuntu2204,win10专业版。
硬件:一个/两个soarm100/101机械臂,Meta Quest3
软件:phosphobot库。建议把lerobot也安装好,后续可以用原生的脚本训练模型,可以自定义参数,当然也可以通过phospho平台完成全部的采集与训练流程,只不过少一些参数的设定。
1.本地安装:for linux 当然也支持macOS和windows
curl -fsSL https://raw.githubusercontent.com/phospho-app/phosphobot/main/install.sh | sudo bash
如果过慢或error,则建议科学上网,linux下科学上网可以搜v2rayA,按照相关教程即可。
phosphobot run
需要一会儿时间启动,启动成功后会在本地开启服务。通常是http://192.168.3.xxx,后续需要在vr设备的phospho中所搜该地址通信。
开源项目经常会更新,运行:
sudo apt update && sudo apt install --only-upgrade phosphobot
进入本地服务,
左下角显示当前版本号,如果有更新版本会在此处显示。
将soarm101的数据传输线连至主机,页面右上角就会有小图标,如果没有,则说明soarm本身有问题,同样可以去之前的博客查找对应解决办法:从0开始玩转soarm101 上篇-CSDN博客
连接双臂则会有两个小机器人标志
可以在此处选择机器臂休眠,避免长时间连接。
进入control页面即可开始控制,目前可以键盘,手柄,手势以及MetaQuest3的vr遥操作。
如果想要使用vr功能,需要在MetaQuest上花费200美金购买。购买后,phospho会给你的邮箱赋予权限,从而可以在Quest中使用。
2.vr功能使用
Meta Quest3在国内使用需要加速器,我试了很多方法,比如手机科学然后开热点,电脑开热点然后科学上网等,可能是我的网络问题都失败。解决方法是使用网易uu加速器。
首先在电脑上开uu,搜索,Oculus-VRChat,点击加速。
根据加速器给出的设置,在Quest3中连接和主机相同的wifi,并设置:
隐私:使用设备mac
ip地址:填加速器给出的ip地址
网关:填加速器给出的默认网关
子网掩码:填16
dns:填加速器给出的DNS
不出意外的话,此时Quest3上的wifi标志应该会亮起,如果显示网络受限,则是只能访问国内网站。 如果是第一次使用,联网成功后还需要更新系统。更新完成后,即可进入商店搜索:phospho
进入软件后:进入设置,需要修改通信设置
修改ip为刚才主机端启动的服务ip地址;端口号也要改,不是80就是8020,可以看刚才主机端输出信息,第三个参数是频率,建议先从10开始,设定越高理论上会越丝滑,但是对网络波动比较敏感,容易有延迟高的现象。
设置完成后,再次点击设置小齿轮关闭设置,点击刷新,搜索服务器。如果正常,则会搜到,如果没搜到,检查下主机端服务是否正常运行,或者网络问题,有时延迟会高达几千ms。
点击连接。
进入后,可以选择开启摄像头,若是双臂则会显示两个2个Robotics,支持反向操作,即左手遥控器操控右手机械臂,反之相同。
按下右手柄上的A按钮开始遥操作。但是,如果到这里按下A后没有反应,别急,等他10秒钟,如果还没有反应就在按两下,还没有反应的话。那么很不好,你要用到后面这段我摸索出来的经验性操作方式,具体连接不稳定的原因我联系了开发人员,但暂时未得到正面答复。
没反应?那么我们需要退出当前操作界面,点击右边这个退至上一层界面,左边那个是打开你连接的服务器端网页。
还记得我们刚才设置时使用的UDP协议,此时我们需要切换至HTTP协议后,其余设置不变,当然如果你设置的下放频率很高,建议先调整至10。
切换至HTTP协议后,我们刷新搜索服务器,并再次连接进入。
此时,再按下A键,等待连接,如果机械臂出现轻微抖动但是仍然无法顺利遥操作,那么我们此时需要再次按照上面的步骤退出当前界面,重新设定为UDP通讯后,再次进入连接。不出意外的话第三次进入应该可以顺利开始遥操作,如果还是不行,那么便重复上述操作,反复切换几次通信协议,调低频率,最低调至10。
vr遥操作过程中,可能因为网络波动出现大幅度的抖动或延迟,目前没有好的解决办法,可以在官网上找到phospho的discord:https://discord.gg/cbkggY6NSK 或发邮件反映问题。
那么到这里,使用vr遥操作的大致过程已经完成。后面关于使用vr遥操作的视频,我在b站上传了我的效果测试视频,同时还有30分钟的完整采集过程。
用vr遥操作soarm101功能测试_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1nbGwzsE3M/?spm_id_from=333.1387.homepage.video_card.click&vd_source=7b0056c7b5af589cb8bfea743a97a19f
同时开源采集50个不同点位抓取纸团放到同一点位的数据集,用来训练act,虽然效果很不好就是了。 已上传至hugging face:
https://huggingface.co/datasets/yyiiii/phosphotele_1arm_3https://huggingface.co/datasets/yyiiii/phosphotele_1arm_3
同时仓库中还有用这个数据集训练的act模型,不信效果烂的可以本地用phospho下载控制机械臂验证一下哈哈哈。
关于训练模型,我在前面的博客中有写,刚好当时没写如何评估我们训练的模型,借用这个phospho的平台,我们可以更简单的使用模型评估。当然也可以在hugging face上下载别人开源的训练好的模型来验证效果。
同样在phospho打开的服务端网页中,在左侧找到ai control,该功能需要你登录先前购买vr服务的邮箱账号,否则没有权限。
进入后,在model idf这一栏输入hugging face上的模型仓库名称,比如 yyiiii/phospho_act_model
即可进行测试,当然这个功能也是封装的lerobot的评估脚本,如果大家不想充钱,也可以去lerobot官网教程,使用官方提供的脚本,不过命令行加参数的脚本形式没有这个图形界面新手向一些。
好的,以上就是关于部分开源的phospho的vr遥操作的使用全流程体验与教程。如果你觉得好用,可以尝试购买,当然dora-rs下一步也会集成vr数据采集平台,完全开源,不着急的小伙伴可以关注我们的后续工作!!dora-rs/dora: DORA (Dataflow-Oriented Robotic Architecture) is middleware designed to streamline and simplify the creation of AI-based robotic applications. It offers low latency, composable, and distributed dataflow capabilities. Applications are modeled as directed graphs, also referred to as pipelines.https://github.com/dora-rs/dora
下一期预告:可能会是鸽了一段时间的lekiwi,当然也有可能是个全新的大家伙!!新一代的Adora双臂轮式机器人,敬请期待 !!