Skip to content

ROS2 发现服务启动其教程

ROS2 发现服务随SDK启动

1. 准备工作

准备配置文件:super_client_configuration_file.xml 修改其中的<address>标签值如下:

2. 注释旧服务发现配置(如有)

在运行SDK的机器人的.bashrc里找到如下环境变量并注释掉:

#export FASTRTPS_DEFAULT_PROFILES_FILE=……

#echo export RMW_FASTRTPS_USE_QOS_FROM_XML=1

#export ROS_DOMAIN_ID=……

#export LOCAL_HOST_ONLY=……
重启终端或者重新SSH连接

3. 运行SDK功能包

  1. 在机器人上新建终端。
  2. 将准备好super_client_configuration_file.xml配置文件拷贝到自定义路径,在运行SDK的机器人上建议拷贝到$HOME下。
  3. 配置发现服务的客户端文件环境变量(在机器人上),添加到~/.bashrc中并 source
    export FASTRTPS_DEFAULT_PROFILES_FILE=<自定义配置存放路径>/super_client_configuration_file.xml
    
  4. 执行SDK启动命令: 注意:body功能包内不包含发现服务。
    ./robot_startup.sh boot ../session.d/***
    

4. 其他多机通信设备配置发现服务的客户端

如在工作电脑上连接机器人,和 ROS2 SDK 通信,需要对工作电脑做如下操作: 1. 注释~/.bashrc中如下环境变量(如有)

#export FASTRTPS_DEFAULT_PROFILES_FILE=/home/nvidia/vr_workspace/install/startup_config/share/startup_config/script/prestart/fastrtps_profiles.xml

#echo export RMW_FASTRTPS_USE_QOS_FROM_XML=1

#export ROS_DOMAIN_ID=XX

#export LOCAL_HOST_ONLY=X
2. 将准备好的super_client_configuration_file.xml配置文件拷贝到自定义路径,然后配置发现服务的客户端文件环境变量,加到~/.bashrc中并source
export FASTRTPS_DEFAULT_PROFILES_FILE=<自定义配置存放路径>/super_client_configuration_file.xml
3. 通过 ros2 topic list 测试是否可以查看到 SDK 的 Topic(可能需要执行两次才能看到)。如果无法看到topic,需要执行:
ros2 daemon stop
ros2 daemon start