【ROS】jeson nano与windows系统(无虚拟机)分布式通信


前言

前一阵一直学c++ ,今天终于算学了个大概,把之前一段搞的分布式通信记录下。
ROS的版本:Melodic
板子:Jeson Nano 4GB
镜像:ubuntu 18.04

首先要在电脑上装ros才可以实现分布式通信,主要是为了在电脑上运行rviz,nano装小车上跑rviz有点耗算力。还没在电脑上装ROS的直接跳到第四步。


提示:以下是本篇文章正文内容,下面案例可供参考

一、最终效果

在这里插入图片描述

】、
在这里插入图片描述

二、分布式通信原理

ROS是一种分布式软件框架,节点之间通过松耦合的方式进行组合,在很多应用场景下,节点可以运行在不同的计算机平台上,通过Toopic、Service进行通信。但是"一山不容二虎",ROS中只允许存在一个Master,在多机系统中,Master只能运行在一台机器上,其他机器需要通过ssh的方式和Master取得联系。所以在多机ROS系统中,需要进行一些配置。

三、实现

1、首先将电脑和nano板连接到一个局域网下

我之前将电脑和nano板连路由器,发现信号一直不太好,容易连不上,就将电脑开热点给nano连,连接稳定。打开终端,输入ipconfig在这里插入图片描述
无线局域网适配器是我们电脑开的热点,模拟出的ip网关,这里是192.168.137.1
然后nano板连上后,

在nano版上ctrl +Alt +T 打开终端,输入ifconfig,找到wlan0,inet ,为自己连接的ip地址。
在这里插入图片描述
我这里地址为192.168.137.196。为了省去用键盘显示器控制nano的麻烦,我直接设置使它一开机就能连上电脑热点,以便VNC远程控制。
参考如下
Jetson nano 通过 vnc 实现远程桌面控制(已在nano实现)
能够实现两机ping通即可进行下一步。

在这里插入图片描述

2、设置环境变量

设置主机从机,我们之后用nano板控制小车,所以将nano设为主机,电脑设为从机。
bash是你的终端程序。就是给你提供这个基本文本输入输出之类功能的程序。
我们需要在~/.bashrc 中修改环境变量。以后每打开一个终端,都会执行这里面的程序。不仅仅是环境变量。

gedit ~/.bashrc

我们在最后添加,记得一定要在最后添加,先添加在前面很可能执行时被后面语句覆盖。我这里直接将IP写死,因为之前设置连电脑热点时设的静态IP,这里写死没有问题。当然也可以不写死,让nano自己获取当前ip。

export ROS_IP = 192.168.137.196
export ROS_HOSTNAME=$ROS_IP

在这里插入图片描述
因为系统中只能存在一个Master,所以从机电脑需要知道Master的位置,ROS Master的位置可以使用环境变量ROS_MASTER_URI进行定义,在电脑上我们找到环境变量。
右击开始->找到系统->高级系统设置->环境变量
或者直接搜 编辑系统环境变量
在这里插入图片描述
找到后在系统变量里添加ROS_IP,和ROS_MASTER_URI就行,这里两个用户变量,系统变量两个位置都行,只不过用户变量是对自己生效,系统变量是对所有用户生效。
http://your ip :11311ROS默认主机端口号为11311
在这里插入图片描述
之后应用就完成了。

四、在电脑上装ROS

官方教程
照着装就行。事先需要在C盘预留10g装ros的空间,
有一点,安装vs2019,安装vs2022也可以,我装的是2022,然后在安装的时候,勾选上C++桌面开发。
在这里插入图片描述
然后操作的时候,在开始的最近添加找到这个,x64 Native…
在这里插入图片描述
然后按照教程一步一步复制粘贴它写的程序语句就行。一段中好几句语句的不能复制一段一下执行。
然后推荐安装微软的终端,Terminal
教程里也有,也很好看。打开多个终端的时候,只要按+键就行。
最后添加ROS选项卡的时候,我这里vs2022的位置和教程不一样,找到位置修改一下就行。
在这里插入图片描述
最后一点:因为我C盘怕装不下vs2022,它有20多个g,我参照了这位大佬的方法,VS2019/VS2022移动安装位置/C盘瘦身的一个好方法,亲测有效,以软连接的方式将vs2022装到了F盘。


总结

其他在另外板子上实现分布式通信也是同理,看的教程一般都是两个树莓派上分布式通信,在这里电脑上也可以实现。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值