跳转至

R1 Pro Teleop 同构遥操作 ROS1 Noetic

请下载ROS1 SDK并使用Ubuntu20.04系统,即可执行以下操作。

1. 软件准备

1.1 下载软件包

  1. R1 Pro 本体上使用的软件包 atc_standard_V1.x.x.tar.gz
  2. R1 Pro-T 上位机上使用的软件包 atc_host_standard_V1.x.x.tar.gz

    以下简称:

    - 上位机 指代 R1 Pro-T 上位机
    - atc_host_standard_V1.x.x.tar.gz 指代 r1pro_teleop_sdk_name
    - atc_standard_V1.x.x.tar.gz 指代 r1pro_sdk_name
    

1.2 上位机配置

  1. 安装 ros1 noetic

    # 使用fishros 一键安装命令 先后安装ROS、更换系统源、更换python源
    wget http://fishros.com/install -O fishros && . fishros
    
    R1Pro-T-fishros

  2. 安装其他依赖

    sudo apt install ros-noetic-joy 
    sudo apt install ros-noetic-trac-ik
    sudo apt install python3-pip
    pip install numpy 
    pip install pyserial
    pip install tyro
    

  3. 解压上位机软件包
    mkdir ~/teleop_workspace
    tar -zxvf ~/Downloads/{r1pro_teleop_sdk_name}.tar.gz -C ~/teleop_workspace
    

1.3 R1 Pro 本体配置

  1. 登录进入R1Pro ECU
    ssh nvidia@{R1_Pro_IP}
    
  2. 解压本体软件包
    mkdir ~/teleop_workspace
    tar -zxvf ~/Downloads/{r1pro_teleop_sdk_name}.tar.gz -C ~/teleop_workspace
    
  3. 配置设备序列号及设备名称
    # 获取 R1Pro 序列号 (发货清单查询,如找不到可以联系星海图客服)
    # 如:S2RL100P25110
    sudo mkdir -p /opt/galaxea
    sudo chown -R nvidia:nvidia /opt/galaxea
    mkdir -p /opt/galaxea/body
    echo "S2RL100P25110" | tee /opt/galaxea/body/RSN > /dev/null
    echo "S2RL100P25110" | tee /opt/galaxea/body/RSN_REAL > /dev/null
    echo "R1PRO" | tee /opt/galaxea/body/ROBOT_NAME > /dev/null
    # 检验是否写入成功
    cat /opt/galaxea/body/RSN
    cat /opt/galaxea/body/RSN_REAL
    cat /opt/galaxea/body/ROBOT_NAME
    
  4. 配置数据采集模块 ``` # 创建配置路径 mkdir -p /opt/galaxea/data_collection # 创建文件写入如下内容(可以修改其中的字段内容,但字段不可更改) vim /opt/galaxea/data_collection/data_task_config.json { "project_info": { "project_name": "sop_test" }, "task_info": { "task_name": "sop_test_data_collection", "task_owner": "galaxea"
    }, "operation_info": { "teleoperation_type": "VR", "location": "suzhou", "operator_name": "galaxea" }
    }

1.4 多机通信配置

注意:确保R1Pro和上位机在同一局域网内,分别修改R1 Pro本体和R1 Pro-T上位机环境的~/.bashrc文件

  1. 在R1 Pro 本体的~/.bashrc文件末尾加入以下内容后重新启动terminal:
    export ROS_MASTER_URI=http://{R1_Pro_IP}:11311
    export ROS_IP={R1_Pro_IP}
    
  2. 在R1 Pro-T上位机的~/.bashrc文件末尾加入以下内容后重新启动terminal:
    export ROS_MASTER_URI=http://{R1_Pro_IP}:11311
    export ROS_IP={R1_Pro_T 上位机 IP}
    
  3. 示例:

    R1 Pro和R1 Pro-T上位机同处于192.168.10.xxx局域网内,分别修改R1Pro和R1Pro-T上位机的~/.bashrc

    R1Pro-T_2.1_cn

2. R1 Pro-T 硬件准备

2.1 固定设备

请使用G夹固定器将R1 Pro-T 固定至桌面,如下图所示:

R1Pro-T_2.1_base_mount_cn

2.2 连接设备

请按下图所示连接设备。

R1Pro-T_2.2_conection_cn

  1. 将2芯航插连接线的一端连接至R1 Pro-T Box,另一端连接至电源适配器的XT60母头。
  2. 将4芯航插连接线的一端连接至R1 Pro-T Box,另一端连接至R1 Pro-T的躯干电机。
  3. 将蓝色USB-CAN线一端连至接R1 Pro-T Box,另一端连接至上位机的USB接口。

注意:连接完成后不要立刻上电,请按照以下步骤继续操作。

2.3 打开电源

将R1 Pro-T固定至桌面后,按下图所示的初始位置摆放手臂和躯干,确保左右臂的J5、J6、J7电机及R1 Pro-T均处于零点位置后然后打开R1 Pro-T Box上的电源按键上电。

R1Pro-T_2.3_initial_position_cn

注意:每次启动R1 Pro-T之前,请务必将其姿态调整为零点姿态。

2.4 连接蓝牙遥控手柄

请务必依次将左臂和右臂连接至R1 Pro-T上位机,确保先连接左臂手柄,再连接右臂手柄

注意:由于程序设置,如若手柄连接顺序错误,请关闭两个蓝牙手柄电源后重新上电,再按正确顺序进行连接。

2.4.1 遥控器使用说明

R1Pro-T_2.4.1_controller_cn

2.4.2 连接蓝牙

  1. 按下电源开关,打开手柄蓝牙。
  2. 打开上位机的蓝牙,连接两个名称为“HID”的设备。
  3. 连接后显示“设备已连接”。输入以下命令确认是否连接成功:
    ls /dev/input/ | grep js
    
    当同时返回js0(后续代码将此设备符识别为左臂手柄)和js1(后续代码将此设备符识别为右臂手柄),即为连接成功。 img

3. 启动SDK

3.1 启动R1 Pro SDK

使用以下脚本,一键启动R1 Pro。

cd /home/nvidia/teleop_workspace/install/share/startup_config/script/
./robot_startup.sh boot ../sessions.d/ATCStandard/R1PROIsomorphicTeleop.d/
R1Pro-T_3.1_r1prosdk_cn

3.2 启动R1 Pro-T SDK

注意:此步骤须在R1 Pro-T上位机中执行。

cd /home/nvidia/teleop_workspace/install/share/startup_config/script/

./robot_startup.sh boot ../sessions.d/ATCHostStandard/R1PROT.d/

4. 数据采集

4.1 数据格式介绍

数据采集的文件格式为rosbag,文件后缀为*.bag

4.2 数据获取

默认存储路径:/home/nvidia/GalaxeaDataset/{date}/

date 为当天日期,格式如下:20250301

4.3 数据落盘文件介绍

数据以 rosbag + json 格式保存,文件一一对应。

# 例如以下两个文件代表了一个数据包:

S2R12000P18245_20240213173320125_RAW.bag
S2R12000P18245_20240213173320125_RAW.json

# 格式为 robot_serial_number+timestamp+RAW
# robot_serial_number:机器人序列号,位于 /opt/galaxea/body/RSN
# timestamp:数据采集的时间戳精确到毫秒
# RAW:代表数据采集原始落盘数据

4.4 录制数据

使用左手柄进行数据录制操作:

功能 操作 描述
开启录制 点击一下左手柄 C 键 开始数据录制
停止录制 点击一下左手柄 D 键 停止数据录制
删除当前录制 点击一下左手柄 C 键 若已经有录制在进行中,再点击一下C键将结束并删除当前录制(两次按键的间隔在5秒以上),数据不会落盘。

如在安装和启动过程中有任何问题,请及时与我们联系至support@galaxea.ai或致电4008 780 980获得技术支持!