【从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设置如下:

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

相关推荐
zcmodeltech1 小时前
钢铁冶金沙盘模型控制系统设计与实现:高炉-连铸-热轧多工序联动方案
分布式·stm32·单片机·嵌入式硬件·交互
徽京人2 小时前
VS Code 接入Esp 32步骤
vscode·单片机·嵌入式硬件
QH139292318803 小时前
Keysight N5183B N5183B 微波模拟信号发生器
网络·单片机·嵌入式硬件·集成测试·信息与通信
笨笨饿4 小时前
#110_SCH3000 平台图传系统配置指南:从 DVP 摄像头到 UVC/WiFi 双通道传输
c语言·stm32·单片机·嵌入式硬件·物联网·vim
捷瑞电子工坊4 小时前
FreeRTOS事件组:多任务同步的利器
stm32·嵌入式·freertos·实时操作系统·标准外设库·事件组·任务同步
笨笨饿6 小时前
#109_BK7258 蓝牙 A2DP 音频数据通路深度解析
python·stm32·单片机·mcu·物联网·编辑器·音视频
千秋岁rr6 小时前
5.0 TIM
单片机·嵌入式硬件
qq_401700416 小时前
ADC基准电压与参考电压详细解读:以STM32和28335为例
stm32·单片机·嵌入式硬件
小僧景贤7 小时前
STM32 startup.s 启动文件与 .map 映射文件深度技术解析(md/hd 版本差异化对比)
stm32·内存映射·startup.s·map 文件·单片机启动流程
zh路西法8 小时前
【玩转VLA具身智能机械臂】(二):MoveIt2 运动规划——架构、配置与 C++ 上手
c++·机械臂·路径规划·vla·planner·moveit2