ROS学习(3)ROS的部分命令

文章目录

  • 前言
  • 一、ROS文件系统导览
    • 1、查找功能包的路径
    • 2、查找元功能包的路径
    • 3、获取功能包或元功能包下面的文件列表
    • 4、进入某个文件夹
  • 二、创建工作空间
    • 1、查看正在使用的工作空间
    • 2、创建工作空间
    • 2、初始化工作空间
    • 3、编译工作空间
    • 4、重新加载setup.bash文件
  • 三、创建ROS功能包和元功能包
    • 1、创建功能包
    • 2、通知用户ROS中新添加的内容
    • 3、查看依赖关系
  • 四、编译ROS功能包
  • 五、使用ROS节点
    • 1、获取正在运行的所有节点
    • 2、运行节点
    • 3、查看节点信息
    • 4、检查和某个节点之间的通信
    • 5、列出在特定计算机或列表计算机上运行的节点
    • 6、杀死正在运行的节点
    • 7、清除不可达节点的注册信息
  • 六、使用主题与节点交互
    • 1、将消息输出到屏幕
    • 2、查找主题
    • 3、列出所有活动主题
    • 4、将数据发布到主题
    • 5、查看主题发送的消息类型
  • 七、使用服务
  • 八、使用参数服务器


前言

本篇开始,我们正式进入ROS的相关练习,如何创建包、如何使用节点和参数服务器,如何通过Turtlesim移动仿真机器人等,重点学习ROS的相关的命令。


一、ROS文件系统导览

1、查找功能包的路径

rospack find turtlesim

2、查找元功能包的路径

rosstack find ros_com

3、获取功能包或元功能包下面的文件列表

rosls turtlesim

4、进入某个文件夹

roscd turtlesim

二、创建工作空间

1、查看正在使用的工作空间

echo $ROS_PACKAGE_PATH

2、创建工作空间

mkdir -p ~/catkin_ws/src

2、初始化工作空间

cd ~/catkin_ws/src
catkin_init_workspace

执行完该命令后,src目录下会多出一个 CMakeLists.txt 文件。

3、编译工作空间

cd ~/catkin_ws/
catkin_make

4、重新加载setup.bash文件

source devel/setup.bash
将对应的工作空间的路径加入环境变量ROS_PACKAGE_PATH中,但是这样只是本次有效。如果新开了一个终端命令行,在使用该工作空间前,必须先将该工作空间的路径加入环境变量ROS_PACKAGE_PATH中,所以需要找一个一劳永逸的方法:
就是将自己的工作空间路径写入~/.bashrc文件中:

gedit ~/.bashrc

打开该文件,在文件尾添加如下一行:

source /home/zt/catkin_ws/devel/setup.bash

三、创建ROS功能包和元功能包

1、创建功能包

catkin_create_pkg chapter2_tutorials std_msgs roscpp

其中std_msgs和roscpp为依赖项。
std_msgs:包含常见消息类型,表示基本数据类型和其他基本的消息构造。
roscpp:使用C++实现ROS的各种功能。

2、通知用户ROS中新添加的内容

rospack profile

3、查看依赖关系

rospack depends chapter2_tutorials

四、编译ROS功能包

catkin_make
该命令必须在工作空间文件夹下运行,在功能包文件夹下无法运行。

编译单个功能包,使用:
catkin_make --pkg 功能包名

五、使用ROS节点

1、获取正在运行的所有节点

rosnode list

2、运行节点

rosrun 功能包名 节点名

3、查看节点信息

rosnode info /节点名

4、检查和某个节点之间的通信

rosnode ping

5、列出在特定计算机或列表计算机上运行的节点

rosnode machine

6、杀死正在运行的节点

rosnode kill

7、清除不可达节点的注册信息

rosnode cleanup

六、使用主题与节点交互

1、将消息输出到屏幕

rostopic echo TOPIC

2、查找主题

rostopic find TOPIC

3、列出所有活动主题

rostopic list TOPIC

4、将数据发布到主题

rostopic pubs TOPIC

5、查看主题发送的消息类型

rostopic type TOPIC
如果你想看到消息字段,使用:
rosmsg show 消息名

七、使用服务

ROS学习(3)ROS的部分命令_第1张图片

八、使用参数服务器

ROS学习(3)ROS的部分命令_第2张图片

你可能感兴趣的:(ROS,ROS)