【ROS教程】 Python 版:ROS运行 Hello Word

万物始于Hello World,为了体验ROS,使用Hello World介绍ROS的简单使用。

一、Hello World工程简介

首先需要创建工程,流程为:

  1. 创建工作空间目录(即工程根目录,注意此时还不是ROS工作空间,只是一个目录)
  2. 初始化工作空间(即把当前目录初始化为一个ROS工作空间)
  3. 创建功能包(ROS基本单元,可以理解为一个功能模块,每个工程至少有一个功能包)
  4. 编辑源文件(写代码实现需求)
  5. 编辑编译配置文件(ROS1使用CMake编译系统,这里编辑CMakeList.txt文件)
  6. 编译工程(使用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
  • hello_world:自定义功能包名称;
  • roscpp:C++实现的库;
  • rospy:python实现的库;
  • std_msgs:ROS标准消息库。
  • 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
    

    作者:衍生星球

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【ROS教程】 Python 版:ROS运行 Hello Word

    发表回复