第一部分仿真的打开
在RTX6000上面进入unitree_sim_env
conda activate unitree_sim_env
安装环境请参考unitreerobotics/unitree_sim_isaaclab: The Unitree simulation environment built based on Isaac Lab
然后进入对应的文件夹
cd unitree_sim_isaaclab/
然后就可以运行里面的对应的场景
python sim_main.py --device cpu --enable_cameras --task Isaac-PickPlace-Cylinder-G129-Dex3-Joint --enable_dex3_dds --robot_type g129
这里面有很多场景,你可以自己选择如下(我放到文章的最后了):
存在问题:
左下角显示WebRTC Thread Error , 去配置里面把web关了就OK了
第二部分tv运行xr_teleoperate:
首先进入对应的目录
cd ~/xr_teleoperate/teleop/
打开对应的环境
conda activate tv
然后运行对应的脚本
python teleop_hand_and_arm.py --input-mode hand --arm=G1_29 --ee=dex3 --sim --record --img-server-ip 100.100.23.219
注意::0,,带上头显之后一定要摁下R,不然控制不了,一定要注意~!
1,,后面一定得加上--img-server-ip 100.100.23.219不然没画面
2,,然后想要用controler就把hand改成controller就是手柄的意思
3,,如果你想用一个自由度的dex1的话,你启动仿真的时候就要改一下,然后这里也要改一下dex1,这个时候你的手就可以控制了
第三部分头显连接:
先是检测xr信息: 后是设置端口: 最后显示端口就说明对了:
sudo adb devices
sudo adb -s 2G97C5ZHBV0297 reverse tcp:8012 tcp:8012
sudo adb -s 2G97C5ZHBV0297 reverse --list
第四部分头显操作:
1,先去连接跟服务器对应的wifi,之后再去浏览器运行
2,运行这个
https://100.100.23.219:8012/?ws=wss://100.100.23.219:8012
关于头显连接不上的问题,大概率是8012已经占用
尝试杀死这个端口然后重新去连接头显,
lsof -i :8012
第五部分,针对于webrtc-error,头显黑屏:
1,尝试通过
zmq=True,webrtc=False, webrtc_url=None,
enable_webrtc: false
xr_need_local_img = True
无果,只是变成黑色的框框了,无法解决实质性问题
2,想办法去解决isaacsim左下角的rtc问题,怎么给他解决了估计就好了
尝试去加入扩展,无果
3,尝试norender 无果
4,再次进入1,然后修改其中的参数--img-server-ip 100.100.23.219,之后可以显示画面,但是左眼是左臂的画面右眼是右臂的画面,,应该是映射问题,想办法怎么把映射问题解决
5,最后通过git submodule update --init --depth 1 然后进入tele文件之后pip install -e .解决问题
# python sim_main.py --device cpu --enable_cameras --task Isaac-PickPlace-Cylinder-G129-Dex1-Joint --enable_dex1_dds --robot_type g129
# python sim_main.py --device cpu --enable_cameras --task Isaac-PickPlace-Cylinder-G129-Dex3-Joint --enable_dex3_dds --robot_type g129
# python sim_main.py --device cpu --enable_cameras --task Isaac-PickPlace-Cylinder-G129-Inspire-Joint --enable_inspire_dds --robot_type g129
# python sim_main.py --device cpu --enable_cameras --task Isaac-PickPlace-RedBlock-G129-Dex1-Joint --enable_dex1_dds --robot_type g129
# python sim_main.py --device cpu --enable_cameras --task Isaac-PickPlace-RedBlock-G129-Dex3-Joint --enable_dex3_dds --robot_type g129
# python sim_main.py --device cpu --enable_cameras --task Isaac-PickPlace-RedBlock-G129-Inspire-Joint --enable_inspire_dds --robot_type g129
# python sim_main.py --device cpu --enable_cameras --task Isaac-Stack-RgyBlock-G129-Dex1-Joint --enable_dex1_dds --robot_type g129
# python sim_main.py --device cpu --enable_cameras --task Isaac-Stack-RgyBlock-G129-Dex3-Joint --enable_dex3_dds --robot_type g129
# python sim_main.py --device cpu --enable_cameras --task Isaac-Stack-RgyBlock-G129-Inspire-Joint --enable_inspire_dds --robot_type g129
# python sim_main.py --device cpu --enable_cameras --task Isaac-Move-Cylinder-G129-Dex1-Wholebody --robot_type g129 --enable_dex1_dds
# python sim_main.py --device cpu --enable_cameras --task Isaac-Move-Cylinder-G129-Dex3-Wholebody --robot_type g129 --enable_dex3_dds
# python sim_main.py --device cpu --enable_cameras --task Isaac-Move-Cylinder-G129-Inspire-Wholebody --robot_type g129 --enable_inspire_dds
# python sim_main.py --device cpu --enable_cameras --task Isaac-PickPlace-Cylinder-H12-27dof-Inspire-Joint --enable_inspire_dds --robot_type h1_2
# python sim_main.py --device cpu --enable_cameras --task Isaac-PickPlace-RedBlock-H12-27dof-Inspire-Joint --enable_inspire_dds --robot_type h1_2
# python sim_main.py --device cpu --enable_cameras --task Isaac-Stack-RgyBlock-H12-27dof-Inspire-Joint --enable_inspire_dds --robot_type h1_2