跳到主要内容
版本:V2.0.5.x

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 以此类推。