创建ROS功能包与节点并运行

文档创建日期:2023年3月27日

本文档记录了创建ROS功能包,添加节点并运行的过程

作者:RobotFreak

创建工作空间并初始化

mkdir -p 自定义空间名称/src
cd 自定义空间名称
catkin_make

必须要在工作空间中先创建src目录后再catkin_make,否则catkin_make会报错,无法编译。

进入src创建ros包并添加依赖

cd src
catkin_create_pkg 自定义ROS包名 roscpp rospy std_msgs

上述命令,会在工作空间下生成一个功能包,该功能包依赖于 roscpp、rospy 与 std_msgs,其中roscpp是使用C++实现的库,而rospy则是使用python实现的库,std_msgs是标准消息库,创建ROS功能包时,一般都会依赖这三个库实现。

在功能包中添加scrpts目录并编辑python文件

cd ros包
mkdir scripts

在scripts目录下创建编辑python文件

为python文件添加可执行权限

chmod +x 自定义文件名.py

编辑ros包下的CmakeList.txt文件

catkin_install_python(PROGRAMS scripts/自定义文件名.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

进入工作空间目录并编译

cd 自定义空间名称
catkin_make

进入工作空间目录并执行

先启动命令行1:

roscore

再启动命令行2:

cd 工作空间
source ./devel/setup.bash
rosrun 包名 自定义文件名.py

问题解决

(已解决)Could NOT find PY_em(missing: PY_em)

在anaconda的vision环境下直接catkin_make后出现如下报错:

创建ROS功能包与节点并运行_第1张图片

参考以下博客:
(16条消息) ROS报错:-- Could NOT find PY_em (missing: PY_EM)_高精度计算机视觉的博客-CSDN博客

原因为使用了anaconda环境的python,使用系统的python就可以解决这个问题:

catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

创建ROS功能包与节点并运行_第2张图片

你可能感兴趣的:(ROS,python,开发语言,机器人)