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

ros跨平台订阅和发布消息(ip如何设置)

ros跨平台订阅和发布消息

  • 1.连接同一局域网
  • 2.设置ROS_MASTER_URI
    • 2.1找到该平台的ip
    • 2.2设置地面站的ROS_MASTER_URI
    • 2.3设置无人机的ROS_MASTER_URI
  • 3 roscore
  • 4.rosrun节点文件

1.连接同一局域网

2.设置ROS_MASTER_URI

2.1找到该平台的ip

现在是假设有无人机端和地面站端,我以地面站为master
那么现在就得找到无人机和地面站的ip地址

在ubuntu终端下输入:

ifconfig

得到结果:

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:06:33:84:3b  txqueuelen 0  (以太网)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp8s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether a0:69:74:07:63:16  txqueuelen 1000  (以太网)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (本地环回)
        RX packets 214664  bytes 79280234 (79.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 214664  bytes 79280234 (79.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp0s20f3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.153.63  netmask 255.255.255.0  broadcast 192.168.153.255
        inet6 fe80::f58d:7aac:fa27:7ded  prefixlen 64  scopeid 0x20<link>
        inet6 240e:469:64b:c72b:ab3e:5a56:6a13:7264  prefixlen 64  scopeid 0x0<global>
        inet6 240e:469:64b:c72b:8d36:641f:3c37:3a5e  prefixlen 64  scopeid 0x0<global>
        ether 64:79:f0:d9:79:20  txqueuelen 1000  (以太网)
        RX packets 519353  bytes 595149253 (595.1 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 213166  bytes 52646499 (52.6 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


解释:
docker0: 是 Docker 虚拟网络接口,不用于外部网络通信。
enp8s0: 是你的以太网接口,但在此例中没有分配到IP地址。
lo: 是本地环回接口(localhost),它的IP地址是 127.0.0.1。
wlp0s20f3: 是你的无线网络接口,其IPv4地址 192.168.153.63 是你计算机在本地网络中的地址。(这也就是我们需要找到的

2.2设置地面站的ROS_MASTER_URI

在地面站设置环境变量:

export ROS_MASTER_URI=http://192.168.153.63:11311
export ROS_IP=192.168.153.63

2.3设置无人机的ROS_MASTER_URI

在无人机终端运行

export ROS_MASTER_URI=http://192.168.153.63:11311
export ROS_IP=<current_device_ip>

假设无人机的 IP 地址是 192.168.1.20
代码就是

export ROS_MASTER_URI=http://192.168.153.63:11311
export ROS_IP=<192.168.1.20>

3 roscore

4.rosrun节点文件


http://www.kler.cn/a/311686.html

相关文章:

  • SpringBoot(七)使用mapper注解编写sql操作数据库
  • 羊城杯2020Easyphp
  • 图像处理椒盐噪声
  • 【安全测试】sqlmap工具(sql注入)学习
  • Wireshark:网络调试的强大利器
  • 股票投资学习路线图
  • Springboot的三层架构
  • ⭐ Unity + OpenCV 实现实时图像识别与叠加效果
  • HTML基础和常用标签
  • 【C++笔记】八、结构体 [ 3 ]
  • 如何着手创建企业数据目录?(一)数据目录的设定
  • python 实现area under curve曲线下面积算法
  • libserailport交叉编译适配说明
  • 胤娲科技:解锁AI奥秘——产品经理的智能进化之旅
  • 【每天学点AI】一个例子带你了解Python装饰器到底在干嘛!
  • C语言中的一些小知识(二)
  • Android 恢复挑战和解决方案:如何从 Android 设备恢复删除的文件
  • 算法题总结(三)——滑动窗口
  • MySql的基础讲解
  • Fisco Bcos 2.11.0配置console控制台2.10.0及部署调用智能合约
  • SpringAI-基于java大模型的胡言乱语
  • 正则表达式获取某些字段
  • docker快速搭建kafka
  • 【C++ Primer Plus习题】16.9
  • ATGM331C-5T杭州中科微BDS/GNSS全星座定位授时模块应用领域
  • 数据结构---二叉树例题讲解