松灵机器人多模态ROS开发平台LIMO使用指引之C++底盘驱动(三)

底盘驱动程序驱动

移动底盘需要通过程序驱动才能实现limo的导航,limo的底盘驱动程序分为两个版本,分别为C++版本和Python版本,两个版本都可以控制limo运动。

3.1 C++底盘驱动

C++版本的驱动程序所在文件夹为~/agilex_ws/src/limo_ros/limo_base,可以通过以下命令进入到该文件夹中

cd agilex_ws/src/limo_ros/limo_base

以下是limo_base功能包的文件列表:

├── limo_base

├── CMakeLists.txt

├── include

│   ├── limo_driver.h

│   ├── limo_protocol.h

│   └── serial_port.h

├── launch

│   └── limo_base.launch

├── msg

│   └── LimoStatus.msg

├── package.xml

└── src

├── limo_base_node.cpp

├── limo_driver.cpp

└── serial_port.cpp

limo_base下有四个文件夹,分别为include、launch、msg、src。include文件夹下存放着驱动程序所调用的库文件;launch文件夹下存放着驱动程序的启动文件;msg文件夹下存放着驱动程序所需要的消息文件;src文件夹下存放着驱动程序源代码。

可以通过一段简单的指令控制limo向前运动

1、启动底盘,打开一个终端,在终端中输入命令:

roslaunch limo_base limo_base.launch

2、输入控制指令,打开一个终端,在终端中输入命令:

rostopic pub /cmd_vel geometry_msgs/Twist "linear:

x: 0.2

y: 0.0

z: 0.0

angular:

x: 0.0

y: 0.0

z: 0.0" -r 10

注:整个命令复制到终端中输入即可,不要手动输入

驱动程序源码中使用到的函数:

3.2 Python底盘驱动

limo的Python版本驱动上传到pypi,可以通过pip指令下载该驱动程序;程序的安装目录为~/.local/lib/python3.6/site-packages/pylimo。它的文件列表为:

├── __init__.py

├── limomsg.py

├── limo.py

└── __pycache__

├── __init__.cpython-36.pyc

├── limo.cpython-36.pyc

└── limomsg.cpython-36.pyc

Python版本的代码比较简洁,仅有三个文件组成驱动程序,init.py的作用为申明需要使用的文件, limomsg.py的作用为驱动成所需要的消息,limo.py是主程序,它的作用是驱动limo。

我们提供了一个脚本调用该驱动程序,该脚本所在目录为agilex_ws/src/limo_ros/limo_base/script,脚本名称为limomove.py。

可以通过以下命令访问此目录,打开终端,在终端中输入命令:

cd agilex_ws/src/limo_ros/limo_base/script

运行脚本,打开终端,在终端中输入命令:

python3 limomove.py

驱动程序中所使用的函数名称:

Recommend0 recommendationsPublished in Default

Related Articles

Responses

您的电子邮箱地址不会被公开。