当前位置: 首页 > news >正文

ROS1和ROS2使用桥接工具通信

前提:主从机在同一局域网内,可以互相ping通

我的两个设备其中一个无法连接wifi,ubuntu老生常谈的问题.....,获得新的技能:手机蓝牙提供网络,两个设备连接手机蓝牙就可以连接网络并且处于同一个局域网内。

我的主机为ROS1 noetic

从机为ROS2 foxy

安装依赖

主机ROS1 Noetic安装依赖

sudo apt-get install ros-noetic-ros1-bridge

从机ROS2 foxy安装依赖

sudo apt-get install ros-foxy-ros1-bridge

配置环境,在主机和从机的~/.bashrc中输入:

# 主机(ROS Noetic)
export ROS1_INSTALL_PATH=/opt/ros/noetic
source $ROS1_INSTALL_PATH/setup.bash# 从机(ROS 2 Foxy)
export ROS2_INSTALL_PATH=/opt/ros/foxy
source $ROS2_INSTALL_PATH/setup.bash

保存后,执行  source ~/.bashrc使得配置生效

网络连接

两个设备解析主机名需要配置网络,在~/.bashrc下添加

#主机添加本机的IP (使用ip addr查询)
export ROS_IP=192.168.1.XX
export ROS_MASTER_URI=http://192.168.1.XX:11311#在从机添加
export ROS_MASTER_URI=http://192.168.1.XX:11311   # 指向主机的 IP
export ROS_IP=192.168.1.yy                         # 设置本机 IP

启动桥接

主机上启动ros master

roscore

从机上启动桥接节点

ros2 run ros1_bridge dynamic_bridge --bridge-all-topics

测试通信

主机上启动发布节点

rosrun rospy_tutorials talker

从机上启动订阅节点

source /opt/ros/noetic/setup.bash
source /opt/ros/foxy/setup.bash
source ~/ros2_ws/install/setup.bash   # 如果你是从源码编译的 ros1_bridgeros2 run demo_nodes_cpp listener

测试桥接是否成功

主机上发送信息

rostopic pub /test_topic std_msgs/String "data: 'hello from ROS1'" -r 1

从机上查看是否有/test_topic相关话题

ros2 topic list

如果有就可以订阅该话题

ros2 topic echo /test_topic

如果能收到数据说明桥接成功


文章转载自:
http://acetabuliform.hyyxsc.cn
http://authentically.hyyxsc.cn
http://amyloid.hyyxsc.cn
http://agrypnotic.hyyxsc.cn
http://bharat.hyyxsc.cn
http://autolithograph.hyyxsc.cn
http://automotive.hyyxsc.cn
http://ail.hyyxsc.cn
http://anglophobe.hyyxsc.cn
http://boswellian.hyyxsc.cn
http://bottleful.hyyxsc.cn
http://cassock.hyyxsc.cn
http://balconied.hyyxsc.cn
http://auxesis.hyyxsc.cn
http://bestow.hyyxsc.cn
http://chirk.hyyxsc.cn
http://bonaci.hyyxsc.cn
http://chockstone.hyyxsc.cn
http://ambisonics.hyyxsc.cn
http://aspishly.hyyxsc.cn
http://abjection.hyyxsc.cn
http://ament.hyyxsc.cn
http://aegyptus.hyyxsc.cn
http://antalgic.hyyxsc.cn
http://aviator.hyyxsc.cn
http://ammonification.hyyxsc.cn
http://chemoprophylaxis.hyyxsc.cn
http://abscondence.hyyxsc.cn
http://acapnia.hyyxsc.cn
http://aerometry.hyyxsc.cn
http://www.dtcms.com/a/177524.html

相关文章:

  • leeCode算法之独一无二出现次数
  • 自由浮动时间和总浮动时间对比
  • 贷中业务提额、降额策略
  • (eNSP)策略路由实验配置
  • Java中有哪些锁?
  • OpenShift AI - 模型注册管理
  • 绕线机的制作与研究
  • ‌人工智能在农作物病虫害识别中的应用前景分析
  • 【LUT技术专题】基于扩展卷积的极快速LUT算法
  • 如何快速获取旺店通奇门原始数据至本地
  • 嵌入式软件学习指南:从入门到进阶
  • STM32基础教程——软件SPI
  • Cadence 高速系统设计流程及工具使用二
  • 前端面经-VUE3篇(四)--pinia篇-基本使用、store、state、getter、action、插件
  • MDP相关内容
  • 贵州省棒球运动发展中长期规划(2024-2035)·棒球1号位
  • 第二天 网络与通信协议
  • 【c++】 我的世界
  • 汽车加气站操作工考试知识点总结
  • 手机端调试工具 eruda 使用方法
  • C++ 中的 `it->second` 和 `it.second`:迭代器与对象访问的微妙区别
  • 图片转文字-Tesseract-OCR,完成文字转换。
  • vtkSmartPointer<vtkPolyData> 常用的函数方法
  • 二项式反演及其代数证明
  • 生物化学笔记:神经生物学概论12 大脑全景图 知觉、行为和语言 注意力
  • LeetCode105_从先序与中序遍历序列构造二叉树
  • Napkin 简易教程
  • async/await的另一种食用方法
  • C 语言网络编程问题:E1696 无法打开 源 文件 “sys/socket.h“
  • sunset: dawn靶场渗透