ROS2 跨设备 移植及通信
前提:为方便搭建与验证,两台ubuntu设备均关闭防火墙,在同一子网内,可相互ping通,设置相同的ROS_DOMAIN_ID。使用的是默认的简单通信(多播),然后验证 ros2 通信正常即可,若多播失败,则建议使用 fastdds 等dds 实现单播。# ----- 1. 安装系统级依赖 -----# ----- 2. 编译工作空间 -----# ----- 3. 加载环境变量 -----
ROS2 环境搭建:
请参考下面链接,十分详细,感谢鱼香大佬的攻略。 https://blog.csdn.net/qq_27865227/article/details/131363638?fromshare=blogdetail&sharetype=blogdetail&sharerId=131363638&sharerefer=PC&sharesource=yasaxile&sharefrom=from_link
前提:为方便搭建与验证,两台ubuntu设备均关闭防火墙,在同一子网内,可相互ping通,设置相同的ROS_DOMAIN_ID
printenv | grep ROS #整体验证
保证两机输出一致,如:
ROS_VERSION=2
ROS_PYTHON_VERSION=3
ROS_LOCALHOST_ONLY=0
ROS_DISTRO=humble
使用的是默认的简单通信(多播),然后验证 ros2 通信正常即可,若多播失败,则建议使用 fastdds 等dds 实现单播
验证步骤如下:
服务器:
source /opt/ros/humble/setup.bash
ros2 run demo_nodes_cpp talker
客户端:
source /opt/ros/humble/setup.bash
ros2 run demo_nodes_cpp listener
移植及验证
# ----- 1. 安装系统级依赖 -----
sudo apt install -y libasio-dev libopencv-dev #根据个人情况
# ----- 2. 编译工作空间 -----
cd ~/uav_ws
colcon build --symlink-install
# ----- 3. 加载环境变量 -----
source install/setup.bash
# ----- 4. 运行节点(根据需求选择模式)-----
# 基本运行模式
ros2 run uav_inset uav_inset
# ros2 run 包名 节点名
# 带调试信息的运行模式
ros2 run --prefix 'GLOG_minloglevel=0' uav_inset uav_inset --ros-args --log-level debug
可配合 rqt 查看确认
更多推荐


所有评论(0)