Apex 遥操系统配置修改
本文介绍 Marvin Pro、Gento Skye 和 Gento Luna 交付系统中允许客户查看或修改的常用配置。不同批次的软件包、控制器和末端配置可能不同,实际参数以设备交付清单和当前安装版本为准。
- 停止遥操和数据录制,并确保机器人处于安全状态。
- 一次只修改一类参数,修改前备份原文件,修改后先进行无动作验证。
- 不要使用其他机型或其他交付批次的配置文件整体覆盖当前配置。
- 控制增益、QP 参数、碰撞模型和标定参数不属于客户常规配置,禁止自行修改。
控制器默认登录凭据
| 控制器 | 默认 IP | 用户名 | 默认密码 |
|---|---|---|---|
| 天准 | 6.6.7.100 | nvidia | nvidia |
| 灵境 Thor | 6.6.7.100 | user | 1 |
以上仅为出厂默认值。现场修改过网络或账号时,以设备交付配置为准。不要将控制器 SSH 端口直接暴露到公网;修改默认密码前应确认不会影响自动部署、远程维护或交付脚本。
1. 确认当前生效配置
配置文件可能同时存在于源码目录和安装目录中。运行中的服务通常读取安装目录,修改前应先确认服务和软件包实际使用的路径。
source /etc/apex/apex_ros_env.sh
ros2 pkg prefix marvin_ros_control
ros2 pkg prefix marvin_teleop
ros2 pkg prefix marvin_qp_controller
systemctl cat apex-robot.service
systemctl cat apex-teleop.service
systemctl cat apex-camera.service
查看当前全局配置:
grep -Ev '^\s*(#|$)' /etc/apex/apex.env
如某个软件包或服务不存在,应以当前设备中的服务名称和交付说明为准,不要新建同名服务代替。
2. 修改与备份方法
将 CONFIG_FILE 替换为已确认的实际配置文件路径:
CONFIG_FILE=/实际路径/配置文件.yaml
sudo cp "$CONFIG_FILE" "${CONFIG_FILE}.bak.$(date +%Y%m%d_%H%M%S)"
sudoedit "$CONFIG_FILE"
编辑 YAML 文件时只使用空格缩进,不要使用 Tab。不要手动修改自动生成的 /etc/apex/dnsmasq.conf,也不要直接编辑 /etc/apex/apex_ros_env.sh。
3. 客户可配置项目
3.1 全局环境配置
全局配置文件为 /etc/apex/apex.env。
| 参数 | 用途 | 修改要求 |
|---|---|---|
ROS_DOMAIN_ID | ROS 2 通信域 | 需要通信的控制器、上位机和开发机必须保持一致 |
ROS_LOCALHOST_ONLY | 是否仅允许本机通信 | 跨设备通信时应为 0 |
APEX_DNSMASQ_INTERFACE | 头显/控制网络使用的网卡 | 必须填写系统中真实存在的网卡名 |
APEX_DNSMASQ_HOST_IP | DHCP 服务所在网卡的主机地址 | 必须与该网卡实际静态 IP 一致 |
BAG_STORAGE_ROOT | 数据录制保存目录 | 目录及挂载设备必须存在且可写 |
APEX_TOOL_TYPE | 末端类型 | 常用值为 dm、zy 或 none,必须与实物及安装包一 致 |
APEX_TELEOP_MODE | 遥操输入模式 | 常用值为 controller 或 dexhand,按交付配置选择 |
APEX_GLOVE_MODE | 手套模式 | 仅在配套手套和软件已安装时启用 |
APEX_USE_RVIZ | 是否随服务启动 RViz | 交付环境通常保持 false |
以下参数用于识别产品和计算平台,客户可以查看,但修改前应联系技术支持确认当前版本支持的取值:
APEX_ROBOT_PLATFORM:产品平台,例如pro或gento。APEX_COMPUTE_PLATFORM:计算平台,取值随交付版本变化。APEX_ROBOT_MODEL:具体机器人型号;Skye 与 Luna 的配置不可互换。APEX_ROS_SETUP、APEX_WS_SETUP:ROS 和工作空间环境路径,不应在常规使用中修改。
3.2 机器人地址
机器人控制配置通常位于:
/opt/kernelmind/apex/install/marvin_ros_control/share/marvin_ros_control/config/
其中 robot_ip 必须与机器人控制器的实际地址一致。不同产品和交付批次的地址可能不同,不应直接套用其他设备的示例 IP。修改后先确认网络可达,再重启机器人控制服务和 Teleop 服务。
控制周期、关节顺序、前馈参数、Kp/Kd 和末端动力学参数不得由客户自行修改。
3.3 头显与 ROS 2 网络
修改网络参数时同时检查以下项目:
- 头显、控制器和上位机位于约定网段。
APEX_DNSMASQ_INTERFACE对应头显实际连接的网口。APEX_DNSMASQ_HOST_IP与该网口的静态 IP 一致。- 参与通信的设备使用相同的
ROS_DOMAIN_ID。 - 跨设备通信时
ROS_LOCALHOST_ONLY=0。
只修改 DHCP 地址池而未给对应网卡配置同网段静态 IP,会导致 DHCP 服务无法在该接口上监听。网络地址应按设备接线说明和交付网络表填写。
3.4 相机通道
相机配置通常位于:
/opt/kernelmind/apex/install/gmsl_quadcam/share/gmsl_quadcam/config/
先确认相机服务实际加载的文件:
systemctl cat apex-camera.service
grep -Rns 'camera_sources' /opt/kernelmind/apex/install/gmsl_quadcam/share/gmsl_quadcam/config/
客户可在技术支持确认通道编号后修改以下项目:
camera_sources.head_left、head_right、hand_left、hand_right:相机来源;未安装的通道设置为none。flip_180_option(旧版本可能为flip_180):画面旋转方向。enable_compressed_pub:是否发布压缩图像。
不同控制器的 CSI 编号不一定相同,应以单相机测试结果为准。相机内参、曝光、触发方式和硬件同步参数属于标定配置,不应自行修改。
3.5 数据录制目录
优先通过 /etc/apex/apex.env 中的 BAG_STORAGE_ROOT 修改录制目录。修改后检查目录是否存在、可写且剩余空间充足:
test -d "$BAG_STORAGE_ROOT" && test -w "$BAG_STORAGE_ROOT" && echo writable
df -h "$BAG_STORAGE_ROOT"
录制与回放配置通常位于:
/opt/kernelmind/apex/install/recording_playback_nodes_py/share/recording_playback_nodes_py/config/recording_playback.yaml
Topic 白名单和回放列表只有在确认消息类型及上下游兼容性后才能修改。Gento 回放链路与标准录制节点可能不同,不要混用两套配置。
3.6 末端类型
通过 APEX_TOOL_TYPE 选择已安装的末端类型。配置修改后,应确认对应驱动已安装且只启动一个末端控制节点,避免服务启动和手动启动同时占用设备。