【ROS教程】 Python 版:ROS运行 Hello Word
万物始于Hello World,为了体验ROS,使用Hello World介绍ROS的简单使用。
一、Hello World工程简介
首先需要创建工程,流程为:
- 创建工作空间目录(即工程根目录,注意此时还不是ROS工作空间,只是一个目录)
- 初始化工作空间(即把当前目录初始化为一个ROS工作空间)
- 创建功能包(ROS基本单元,可以理解为一个功能模块,每个工程至少有一个功能包)
- 编辑源文件(写代码实现需求)
- 编辑编译配置文件(ROS1使用CMake编译系统,这里编辑CMakeList.txt文件)
- 编译工程(使用CMake编译ROS工程,生成可执行文件,即ros节点,下文均称作节点)
不只是Hello World,所有ROS工程都是这样的流程。
另外,目前ROS开发主要使用C++和Python语言,这里使用Python实现。
二、ROS Hello World
注:其中ros_helloworld
是工作空间的自定义名称。
01 创建工作空间
mkdir -p ros_helloworld/src
cd ros_helloworld
catkin_make
02 创建功能包
cd src
catkin_create_pkg helloworld roscpp rospy std_msgs
03 编辑源文件
进入到 ros_learning/src/hello_world
目录,新建 scripts
目录,在该目录中新增 hello.py
,内容如下:在功能包中新建名称为【scripts】的文件夹与【src】文件夹同级
cd ~/ros_helloworld/src/helloworld/scripts
gedit hello.py
在hello.py空白文档中输入下面内容:
#! /usr/bin python
import rospy
if __name__ == "__main__":
# 初始化ros节点,"hello_world_py"为自定义节点名称
rospy.init_node("hello_world_py")
# 在控制台打印 Hello World!
rospy.loginfo("Hello World!")
04 编辑编译配置文件CMakeList.txt
找到ros_learning/src/hello_world/CMakeLists.txt
中的Install
,修改catkin_install_python
如下:
catkin_install_python(PROGRAMS
scripts/hello.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
05 编译并执行
新打开一个终端输入roscore(启动ros核心)
再打开一个终端输入以下内容(在工作空间中编译并执行)
cd ~/ros_helloworld
catkin_make
source ./devel/setup.bash
rosrun helloworld hello.py
作者:衍生星球