【ROS学习笔记1】ROS快速体验输出Hello World

【ROS学习笔记1】ROS快速体验输出Hello World


写在前面,本系列笔记参考的是AutoLabor的教程,具体项目地址在 这里

1.1 ROS快速体验

1.1.1 Hello World快速实现简介

本节使用ROS编写一个程序实现打印Hello World字符串的功能,分别用C++Python实现。

无论使用那种语言,使用ROS的大致流程都是一样的,分别是:

  • 1、创建一个工作空间;
  • 2、创建一个功能包;
  • 3、编辑源文件;
  • 4、编辑配置文件;
  • 5、编译文件并执行。

1、创建工作空间

mkdir -p 工作空间名称/src
cd 工作空间名称
catkin_make

上述的命令会创建一个工作空间名称/src的两个文件夹,再回到工作空间目录中用catkin_make进行编译。

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

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

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

1.1.2 Hello World的C++实现

1、进入ros包的src目录编辑源文件

cd 自定义的包

写入以下源码文件(文件名可以自定义)

#include "ros/ros.h"

int main(int argc, char *argv[])
{
    
    
    //执行 ros 节点初始化
    ros::init(argc,argv,"hello_node");
    //创建 ros 节点句柄(非必须)
    ros::NodeHandle n;
    //控制台输出 hello world
    ROS_INFO("hello world!");

    return 0;
}

2、编辑ros包下的Cmakelist.txt文件

在CmakeList.txt文件中找到

###########
## Build ##
###########
add_executable(步骤3的源文件名
  src/步骤3的源文件名.cpp
)
target_link_libraries(步骤3的源文件名
  ${catkin_LIBRARIES}
)

3、进入工作空间目录并编译

cd 自定义空间名称
catkin_make

4、执行

先启动命令行1:

roscore

再启动命令行2:

cd 工作空间
source ./devel/setup.bash
rosrun 包名 C++节点

注:source ~/工作空间/devel/setup.bash可以添加进.bashrc文件,在使用时更加方便。

添加方式1:直接使用gedit编辑.bashrc文件,在文件的末尾添加改内容

添加方式2:echo "source ~/工作空间/devel/setup.bash" >> ~/.bashrc

采用Cpp实现时:

1.1.3 Hello World的Python实现

1、进入ros包添加scripts目录并编辑python文件

需要特别注意,应该进入ros的包再创建文件夹scripts

给出一个示例的路径

~/demo1_ws/src/功能包名/srcipts

cd ros包
mkdir scripts

新建python文件(文件名可以自定)

#! /usr/bin/env python
## 指定解释器

"""
    Python 版 HelloWorld

"""
import rospy

if __name__ == "__main__":
    rospy.init_node("Hello")
    rospy.loginfo("Hello World!!!!")

2、为python文件添加可执行权限

chmod +x 自定义文件名.py

3、编辑ros包下的CmakeList.txt文件

在CmakeList.txt文件中找到

#############
## Install ##
#############

开头的部分

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

4、进入工作空间目录并编译

cd 自定义空间名称
catkin_make

5、进入工作空间目录并执行

先启动命令行1:

roscore

再启动命令行2:

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

采用Python实现时

猜你喜欢

转载自blog.csdn.net/qq_44940689/article/details/129189061