当前位置: 首页 > news >正文

双足机器人《荣耀机甲H1》到手体验

一、H1 背景

        《荣耀机甲H1》是国内首个开源的小型双足机器人,由星莲动科技团队研发,旨在给开发者提供强化学习在双足机器人上的落地。本人在机器人领域开发多年,非常有幸成为荣耀机甲H1的第一批用户,目前打算以荣耀机甲H1为基本框架,应用到自己的机器人上。以下是本人到手后后开发、测试记录。

购买链接如下:

https://item.taobao.com/item.htm?id=858671670902

背景图

二、H1 仿真测试

1、笔记本配置

(1)笔记本

        Intel i9处理器、显卡4060

 (2)英伟达驱动

nvidia-smi

(3) cuda版本

nvcc -V

2、环境安装

(1)isaccgym 、conda安装

本人之前参考博客,安装了 legged_gym 环境,基本包含了所需各种环境,参考连接如下:

Isaac Gym环境安装和四足机器人模型的训练-CSDN博客

(2)H1 环境安装

按照《荣耀机甲H1》提供的资料,还要进行如下安装步骤:

    conda create -n H1 python=3.8.10conda activate H1 pip install torchvision -i https://pypi.tuna.tsinghua.edu.cn/simplepip install torch -i https://pypi.tuna.tsinghua.edu.cn/simplepip install pyquaternion -i https://pypi.tuna.tsinghua.edu.cn/simplepip install pyyaml -i https://pypi.tuna.tsinghua.edu.cn/simplepip install rospkg -i https://pypi.tuna.tsinghua.edu.cn/simplepip install pexpect -i https://pypi.tuna.tsinghua.edu.cn/simplepip install mujoco==2.3.7 -i https://pypi.tuna.tsinghua.edu.cn/simplepip install mujoco-py -i https://pypi.tuna.tsinghua.edu.cn/simplepip install mujoco-python-viewer -i https://pypi.tuna.tsinghua.edu.cn/simplepip install dm_control==1.0.14 -i https://pypi.tuna.tsinghua.edu.cn/simplepip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simplepip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simplepip install einops -i https://pypi.tuna.tsinghua.edu.cn/simplepip install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simplepip install packaging -i https://pypi.tuna.tsinghua.edu.cn/simplepip install h5py -i https://pypi.tuna.tsinghua.edu.cn/simplepip install ipython -i https://pypi.tuna.tsinghua.edu.cn/simplepip install getkey -i https://pypi.tuna.tsinghua.edu.cn/simplepip install wandb -i https://pypi.tuna.tsinghua.edu.cn/simplepip install chardet -i https://pypi.tuna.tsinghua.edu.cn/simplepip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simplepip install numpy==1.23.2 -i https://pypi.tuna.tsinghua.edu.cn/simplepip install h5py_cache -i https://pypi.tuna.tsinghua.edu.cn/simplepip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simplepip install tensorboard -i https://pypi.tuna.tsinghua.edu.cn/simple

 进入之前下载的isaacgym文件夹,执行如下安装:

cd /isaacgym/python/ && pip install -e .

(3)RL训练

购买《荣耀机甲H1》时候,会赠送RL训练框架文件,进入文件并运行训练脚本,即可开始训练:

python train.py

训练2000次后,基本可以稳定行走:

错误:

ImportError: libpython3.8.so.1.0: cannot open shared object file: No such file or directory

解决:

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/user/anaconda3/envs/H1/lib/

(4) 回放+模型输出

训练结束后,需要修改 simple_play.py里面,修改加载pt模型的地址:

model_dict = torch.load(os.path.join(ROOT_DIR, \'/xxx/logs/rough_go2_constraint/Dec19_16-48-04_test_barlowtwins/model_8000.pt'))

这里的xxx根据自己电脑实际地址修改,训练的日期不同,文件夹会有所不同 ,上述以我训练的8000次为例。

然后执行:

python play.py

即可播放训练出的.pt模型。

该文件同时会输出jit版本.pt模型,用于后续的sim2sim和实物迁移,输出模型地址在主文件夹里面,如下图model_jitt.pt、modelt.pt

(5)sim2sim验证

sim2sim之前必须运行 simple_play.py 输出模型文件,之后同样修改sim2sim_tinker.py里面加载模型的地址:

    parser.add_argument('--load_model', type=str, default='/xxx/modelt.pt',help='Run to load from.')

这里的xxx根据自己电脑实际地址修改。

然后执行:

python sim2sim.py

效果如下:

可以看到:H1的sim2sim是调用mujoco进行实物验证,从结果看与RL训练出来的效果基本一致。

三、《荣耀机甲H1》 实物迁移部署

1、收到的实物

(1)一台40cm的双足整机机器人

(2)无线遥控器

(3)充电器一个

2、行走起来前的准备

按照使用教程:打开电源——连接无线——校准设备——启动强化学习——开始行走。详细阅读给定《H1使用说明书》,熟悉基本的流程和操作。

原装到货后,基本固件和训练模型都已经提前内置好了,按照说明书,基本可以实现到手即用。下面重点记录我迁移自己模型的过程。

3、迁移自己训练的模型

首先,在第二步中,我们使用给定的训练框架,训练出了自己的模型,在 paly.py 后,会生成 H1_jit.ptH1_jit.pt 文件,代码如下:

    #if 1:#full policy.load_state_dict(model_dict['model_state_dict'])policy.half()policy = policy.to(env.device)torch.save(policy,'H1.pt',)print(policy)#else:#originpolicy.load_state_dict(model_dict['model_state_dict'])policy.half()policy = policy.to(env.device)policy.save_torch_jit_policy('H1_jit.pt',env.device)

这两个文件就是第二步训练出的模型,之后经过torch转换后,机器人板载计算机可以执行的模型文件。 

然后,winscp软件连接H1机器人板载 nvidia nano ,将 /sim2sim_lcm/ 文件夹中的两个 *.pt文件,替换成自己训练好的 H1_jit.ptH1_jit.pt 文件

之后按照说明书操作,启动RL推理 :

cd /sim2sim_lcm/build     #已经编译好的环境,无需重新编译
./udp_publisher_H1        #启动推理程序

这里的 udp_publisher_H1 其实是udp_publisher_H1.cpp编译出来的可执行程序,H1在这里使用libtorch推理jit模型,好处是速度更快,支持C++更易在不同设备上共用

4、实物验证

可以看到,荣耀机甲H1已经实现了从训练到部署的全部流程,因此非常适合RL机器人入门的开发者作为开源框架学习,快速部署自己的训练模型。


http://www.mrgr.cn/news/81189.html

相关文章:

  • 《计算机组成及汇编语言原理》阅读笔记:p28-p47
  • 网安瞭望台第17期:Rockstar 2FA 故障催生 FlowerStorm 钓鱼即服务扩张现象剖析
  • ctfshow web入门 信息搜集
  • PostgreSQL编译安装教程
  • DataOps驱动数据集成创新:Apache DolphinScheduler SeaTunnel on Amazon Web Services
  • 01背包问题
  • docker下载镜像设置
  • 重温设计模式--备忘录模式
  • 谷歌开发者工具-元素篇
  • 重温设计模式--状态模式
  • ArrayList类 (顺序表)
  • Linux的VIM基本操作
  • 两台主机传送数据: transfer files between servers使用rsync命令
  • Linux网络——UDP的运用
  • UE5 移植Editor或Developer模块到Runtime(以运行时弹窗为例)
  • Dapper
  • C++设计模式:组合模式(公司架构案例)
  • 【IC】TSMC先进工艺发展历程--从N5到A16,从A16到未来
  • 某尝准app请求体响应加密分析
  • 多行为级联24|多行为推荐的超图增强级联图卷积网络
  • HashMap源码深度解析
  • CentOS HTTPS自签证书访问失败问题的排查与解决全流程
  • SpringCloud 运用(2)—— 跨服务调度
  • 访谈积鼎科技总经理:国产CFD软件发展与未来趋势展望
  • GitCode 光引计划投稿|JavaVision:引领全能视觉智能识别新纪元
  • Centos7安装k8s集群