2. 安装(内测版)
内测版,仅供内部人员使用,普通用户不要操作以免损坏机器
请确保:
- 个人主机与机器人Orin设备通过网线或Wi-Fi稳定连接(传文件最好是网线直连,比较快,100M/s)
- 192.168.41.2的Orin设备与192.168.41.1的x86设备均已联公网,可下载相关文件
- 存储空间:预留至少15GB可用空间
可参考【安装文档】,本文档也是从该文档总结而来。建议可先简单浏览本文档,再遇到问题再参考【安装文档】
1. 文件传输
- Tien_install.tar.gz
- dist.zip
- tien_project.zip
- libcompressed_depth_image_transport.so
- rvl_codec.hpp
上述5个文件都传到 41.2 的Orin板上,直接放 ~/ 目录即可,以备后用。
2. ssh到orin板后,执行解压
cd /home/nvidia
tar -xvf Tien_install.tar.gz
rm -rf Tien_install.tar.gz
3. 替换 wheel 包
替换 manipulation_framework-0.1.0-py3-none-any.whl:
# 先解压 dist.zip
unzip dist.zip
# 然后进行替换
rm -rf ~/Tien_install/pkgs/manipulation_framework-0.1.0-py3-none-any.whl && mv ~/dist/manipulation_framework-0.1.0-py3-none-any.whl ~/Tien_install/pkgs/
4. 执行整体安装
cd ~/Tien_install
bash tien_install.sh
执行之后会有如下输出:
===================================================
TienKung/TienYi Manip Installation Script
===================================================
说明:
1. 请确保 ./pkgs 下包含所需安装包
2. 请确保 ./requirements.txt 存在
3. 安装过程中会请求 sudo 权限,需要手动输入密码
4. 推荐在主环境安装后安装XROCS
选择步骤 (空格分隔,如 '1 2' 或 'a'):
1) 安装 Miniconda
2) 安装主环境(manip)
3) 安装 XROCS
4) 安装 XARM (x86)
a) 全部执行
输入:
如果是新机器第一次安装,直接输入 a 再回车,进行全量安装即可。过程较长,需要注意命令行的输出,有时会需要进行安装确认,安装XARM时会要求输入x86板的密码(123)。
请注意,有时候直接输入 a 进行全量安装时x86上的XARM安装会不成功,这种情况有可能会需要再次运行这个安装脚本,直接输入4安装XARM即可。

5. 测试XARM安装是否成功
ssh到x86板上,执行如下命令,看是节点是否可正常运行,没有报错退出:
cd ~/XARM
source ~/XARM/install/setup.bash
ros2 launch tiangong2pro_bringup tiangong2.launch.py | tee runlog
如果节点没有报错退出,则说明x86板上的XARM安装成功,如果报错了,有可能是因为x86上某些包没有安装,可手动安装如下包尝试修复:
sudo apt --fix-broken install
sudo apt install ros-humble-octomap-server ros-humble-xacro ros-humble-backward-ros ros-humble-realtime-tools
安装完成后再在x86上尝试运行上面的节点,看是否可正常启动。
如果还报错,可再回到步骤4,在Orin板上执行安装脚本后输入4,单独进行XARM的安装。再进行本步骤的验证
6.1 测试相机话题
在41.2的orin上,单独启动相机服务(只是为了检查相机服务启动后某话题是否存在):
# 启动一个新终端执行本命令
source ~/orbbec_camera_ros2/install/setup.bash
ros2 launch orbbec_camera gemini_330_series.launch.py
检查是否存在 /camera/color/image_raw/compressed 话题:
# 再启动一个新终端执行本命令
source ~/orbbec_camera_ros2/install/setup.bash
ros2 topic list|grep camera
肉眼分辨是否存在 /camera/color/image_raw/compressed 话题,如果存在,则退出本终端,并ctrl c停止相机服务。忽略本步骤后续操作,关闭本步骤打开的所有服务和终端,直接跳到下面的步骤6.2。
如果不存在,则先将下载好的 libcompressed_depth_image_transport.so 和 rvl_codec.hpp 两个文件传到41.2的orin板的 ~/ 目录,然后执行:
# 新开一个终端,安装image-transport库
export ROS_DISIRO=humble
sudo apt install libgflags-dev nlohmann-json3-dev ros-$ROS_DISIRO-image-transport ros-$ROS_DISIRO-image-transport-plugins ros-$ROS_DISIRO-compressed-image-transport ros-$ROS_DISIRO-image-publisher ros-$ROS_DISIRO-camera-info-manager
# 再开一个新终端,将文件copy到指定目录
sudo cp ~/rvl_codec.hpp /opt/ros/humble/include/compressed_depth_image_transport/
sudo cp ~/libcompressed_depth_image_transport.so /opt/ros/humble/lib
再新开一个终端,按上述步骤检查是否存在 /camera/color/image_raw/compressed 话题。
如果话题存在,则关闭本步骤打开的所有服务和终端。
6.2 设置相机内参
还是在41.2的orin上,单独启动相机服务:
# 启动一个新终端执行本命令
source ~/orbbec_camera_ros2/install/setup.bash
ros2 launch orbbec_camera gemini_330_series.launch.py
再在新终端执行:
source ~/orbbec_camera_ros2/install/setup.bash
ros2 topic echo /camera/color/camera_info
取其中k的值,类似如下:
k:
- 691.6703491210938
- 0.0
- 642.200439453125
- 0.0
- 691.8710327148438
- 361.156982421875
- 0.0
- 0.0
- 1.0
解压可运行程序
cd ~ && mkdir tien_project && mv tien_project.zip tien_project && cd tien_project && unzip tien_project.zip
修改如下文件:
~/tien_project/manipulation_framework_apps/config_skill/robot_env/tienkung_v2/camera_config.yaml
将内参“k”的9个值排列成3x3矩阵,填入该文件的 intrinsics 对应的位置:

7. DOMAIN_ID检查
如果同一个wifi下,只有一台天工机器,则可以不用操作此步骤。
如果有多台天工,则需要为每台天工设置不同的 DOMAIN_ID ,有两个要修改的文件:
~/tien_project/start_process/start_tienkung2pro.sh
~/tien_project/start_process/start_server.sh
这两个脚本内有DOMAIN_ID变量,默认都是56。例如,如果有天工A,天工B,天工C,都是连接同一个wifi,则可这样设置:
- 天工A的这两个文件就不改,都保持默认的56
- 天工B的这两个文件,DOMAIN_ID 变量都修改为57
- 天工C的这两个文件,DOMAIN_ID 变量都修改为58 以此类推。