【从0制作自己的ros导航小车:上位机篇】02、ros1多机通讯与坐标变换可视化

从0制作自己的ros导航小车

前言

上节课完成了里程计数据与坐标变换发布,但是还没有测试,本节进行测试,测试之前需要知道一件事,上位机也就是开发板一般不做可视化用,因为太耗费系统资源,所以我们需要另一台安装了ros的设备来进行可视化,本项目使用虚拟机安装ubuntu20.04,在ubuntu中安装了ros1-noetic,尽量与板端的ros版本一致。

那么此时需要做的就是让开发板中的ros与虚拟机中的ros进行通信,接下来进行设置和测试。

一、ros1多机通讯

①虚拟机端

1、执行命令:

复制代码
sudo gedit /etc/hosts

在文件中添加如下内容:

第一行是开发板的ip和名字,第二行是虚拟机的ip和名字。注意需要在一个网段下,最简单的办法就是两者连接同一个热点,或者使用路由器桥接。


2、执行命令:

复制代码
sudo gedit ~/.bashrc

在文件中添加如下内容:

第一行是虚拟机的名字。第二三行只需要替换ip,这个ip是虚拟机端的。


②开发板端

1、执行命令:

复制代码
sudo gedit /etc/hosts

在文件中添加如下内容:

第一行是开发板的ip和名字,第二行是虚拟机的ip和名字。


2、执行命令:

复制代码
sudo gedit ~/.bashrc

在文件中添加如下内容:

第一行是开发板的名字。第二三行只需要替换ip,都是虚拟机端的。

这样设置完成后,虚拟机端就相当于两个linux系统的主机端,开发板相当于从机端,roscore需要在主机端开启。设置完之后可以重启开发板和虚拟机,也可以在终端:

复制代码
source ~/.bashrc

测试时可以自己运行小乌龟案例,虚拟机端运行小乌龟gui节点,板端运行键盘控制节点,测试是否可以板端按键控制虚拟机端的小乌龟运动。


二、rviz可视化小车坐标系

上一篇博客已经写好了代码,现在就测试看看能否正常运行。

①虚拟机段运行:roscore

②板端运行能够发布坐标变换的节点:rosrun uart_tf uartandtf

③虚拟机端运行rviz:rviz

rviz设置如下:

此时移动小车,肉眼观察是否正常,我的小车运动起来视频如下:

相关推荐
brave and determined7 分钟前
MCU学习Day24——STM32G030多路ADC DMA采集深度解析:完全可配置序列器与不完全可配置序列器的陷阱与抉择
stm32·单片机·嵌入式硬件·dma·adc·hal·多通道采集
d111111111d11 分钟前
通过操作地址,来进行STM32的写入GPIO端口值
stm32·单片机·嵌入式硬件
奔跑吧邓邓子20 分钟前
【C语言实战(77)】STM32实战:解锁传感器数据采集的C语言奥秘
c语言·stm32·开发实战·传感器数据采集
小刘爱玩单片机22 分钟前
【stm32简单外设篇】- 土壤湿度传感器
c语言·stm32·单片机·嵌入式硬件
d111111111d1 小时前
STM32外设学习--TIM定时器--编码器接口
stm32·嵌入式硬件·学习
某林2129 小时前
ROS2与STM32通信详解
stm32·单片机·嵌入式硬件
EVERSPIN11 小时前
MCU微控制器,N32H47x高性能MCU机器人关节控制方案
单片机·嵌入式硬件·机器人·mcu微控制器
0南城逆流012 小时前
【STM32】知识点介绍三:哈希算法详解
stm32·嵌入式硬件·哈希算法
云山工作室12 小时前
基于STM32单片机的正激式开关电源设计(论文+源码)
stm32·单片机·嵌入式硬件·毕业设计·课程设计·毕设
芯希望12 小时前
芯伯乐700mA线性稳压器XBLW L78M05H/L78M12H:稳定可靠,简化电源设计
单片机·嵌入式硬件