跳到主要内容

2.功能包使用流程

1 、使用ROS功能包前,需要保证已经安装好了固件库,可以参考“Python基础控制课程”的第三节的内容-安装Rosmaster驱动库

2、创建,初始化,编译一个ROS工作空间(driver_ws为例)

终端输入,

mkdir driver_ws cd driver_ws mkdir src cd src catkin_init_workspace cd .. catkin_make

3、把功能包文件夹下的src里的内容,粘贴到ROS工作空间的src文件夹中

xxxxxxxxxx cd ~/driver_ws/src

4、回到工作空间目录,终端输入catkin_make编译工作空间

xxxxxxxxxx cd ~/driver_ws catkin_make

5、 没提示错误就完成编译

注意:有提前创建好的工作空间,就只需要把src内容复制到工作空间的src文件下,在工作空间目录下catkin_make编译即可。

6、添加功能包路径到环境变量中

终端输入,

xxxxxxxxxx sudo gedit ./.bashr

image-20220526153017972

把下边的内容,粘贴到文件末端,

xxxxxxxxxx source / home / yahboom / driver_ws / devel / setup . bash \-- extend

7、保存,退出,然后重新打开一个终端,输入

xxxxxxxxxx source ./.bashr

可能会出现的问题归纳:

1、使用功能包的时候,如果出现文件权限无法执行的情况,例如提示错误,

xxxxxxxxxx ERROR: cannot launch node of type [yahboomcar_bringup/Mcnamu_driver.py]: Cannot locate node of type [Mcnamu_driver.py] in package [yahboomcar_bringup]. Make sure file exists in package path and permission is set to executable (chmod +x)

image-20220526153436988

这是因为没有给python文件赋予执行权限。解决方法是给执行权限,在文件目录 下打开一个终端,输入,

xxxxxxxxxx sudo chmod 777 *

2、使用catkin_makes编译的时候,可能会出现ros环境中的一些依赖没有安装,例如以下情况,

image-20220526153851595

解决方法是安装这些依赖,终端输入,

xxxxxxxxxx sudo apt-get install ros-melodic-缺少的依赖

这里的melodic是ros版本号,按照自己安装的ros版本号进行修改;缺少的依赖也是根据实际情况修改,例如以上所示,就是要输入,

xxxxxxxxxx sudo apt install ros-melodic-geographic-*

  • 号表示安装该依赖的所有文件。安装完后,再重新编译。