ROS小车搭建(二)——上层使用ROS

这个博主没写完就发了,有时间再写一点,观看需谨慎。之前的部分把底层的控制部分弄好了,上位机部分就好弄很多了!主要解决的是通讯问题,即串口通讯问题;上位机通过串口给下下位机发送速度控制指令。其实上位机就是通过ROS节点的方式控制小车移动。

键盘节点——底层节点,其中通过特定话题进行通讯。首先看下功能包。

ROS小车搭建(二)——上层使用ROS_第1张图片

主要第二个文件为主,包含小车的启动文件和底层驱动节点,第三个文件夹代表小车的描述,后三那个表示控制小车的三种方式,脑电控制,键盘控制和摇杆控制,其实原理都是一样的,就是不同的节点而已,修改相应代码即可。下面看下第二个文件夹中包含的文件。

ROS小车搭建(二)——上层使用ROS_第2张图片

正常建立的ROS功能包的目录也都大概包含这些项,include文件夹是存放.h文件,launch存放启动文件,param存放相关参数,src存放cpp文件和编写的节点,后两个分别是启动文件(.sh脚本文件)和测试文件。我使用的是第2,3,4个文件夹中的内容。

首先看launch 文件

ROS小车搭建(二)——上层使用ROS_第3张图片

smartcar部分是启动小车节点以及相关参数(串口波特率,以及参数启动文件),在串口权限配上需要更改权限。首先需要知道串口的名称,一般都是ttyUSB0,临时修改的命令:sudo chmod 666 /dev/ttyUSB0.或者长期:在etc/udev/rules.d/文件夹中新建一个.rules文件,内容:KERNEL=="ttyUSB[0-9]*", MODE="0666";或者百度一下,很好解决。后面的部分是摇杆节点的启动以及其相关参数,节点的部分在smartcar_teleop_joy里面。

核心部分还是在basecontroller.cpp文件中,他包含了大部分的功能性函数。

 

你可能感兴趣的:(ROS小车搭建(二)——上层使用ROS)