ROS常用命令

本文围绕ROS开发展开,介绍了开发环境和工作空间的搭建,包括新建工作空间与配置环境。还阐述了ROS的基本命令,如rospack、roscd等。此外,对Packages的创建与构建、Nodes、Topics、Services及rosparam等方面也进行了说明,使用ROS前需运行roscore。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 Environment

# 打印当前终端下的ROS的环境变量
# 如果没有所需要的,则需要source一下setup.*sh
printenv | grep ROS

# 添加环境变量
source /opt/ros/melodic/setup.bash

2 Workspace

新建工作空间

mkdir -p ~/catkin_ws/src  # -p递归创建目录
cd ~/catkin_ws/
catkin_make

配置catkin_ws的环境

source ~/catkin_ws/devel/setup.bash
echo $ROS_PACKAGE_PATH

3 基本命令

rospack

# 查找某个pkg的地址
# rospack find package_name  
rospack find roscpp

# 列出本地所有pkg
rospack list

# 查看某个package的first-order依赖项
# rospack depends1 pkg_name
rospack depends1 beginner_tutorials

# 查看某个package的所有依赖项(包括间接依赖)
rospack depends beginner_tutorials

roscd(cd)

# 跳转到某个pkg目录下
# roscd package_name
roscd roscpp

# 查看ros日志
roscd log

rosls(ls)

# 列举某个pkg下的文件信息
# rosls package_name
rosls roscpp

catkin_create_pkg

# 新建一个package
# catkin_create_pkg <pkg_name> [depend1] [depend2] [depend3]
catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

4 Packages

Requirements:

  • a package.xml
  • a CMakeLists.txt
  • its own folder(放在src下面)

结构:

my_package/
  CMakeLists.txt
  package.xml

新建一个Package

cd ~/catkin_ws/src
# catkin_create_pkg 功能包名 [依赖功能包1] [依赖功能包2]...
catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

Building Packages

cd ~/catkin_ws/src
catkin_make
source ~/catkin_ws/devel/setup.bash

5 Nodes

使用ROS之前需要运行命令roscore。

# 查看所有节点
rosnode list

# 查看单个节点信息
rosnode info /rosout

# 启动节点
# rosrun [package_name] [node_name]
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

# ping
rosnode ping my_turtle

6 Topics

rqt

# 启动rqt_graph,查看节点间的信息传递
rosrun rqt_graph rqt_graph

# 启动rqt_plot
rosrun rqt_plot rqt_plot

rostopic

# 查看rostopic的选项
rostopic -h

# 查看一个topic输出的数据
# rostopic echo [topic]
rostopic echo /turtle1/cmd_vel

#  查看rostopic list的选项
rostopic list -h

# 列出每个topic的所有细节
rostopic list -v

# 查看一个topic输出的message类型
# rostopic type [topic]
rostopic type /turtle1/cmd_vel

# 查看message的细节
rosmsg show geometry_msgs/Twist

# 在当前使用的topic输出data
# -1 表示只输出一次
rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'
# -r 1 表示已1Hz的频率持续输出
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'

# 打出data被publish的频率
# rostopic hz [topic]
rostopic hz /turtle1/pose

7 Services

# 列出正在运行的所有的service
rosservice list

# 查看一个service的类型
# rosservice type [service]
rosservice type /clear

# 调用一个service
# rosservice call [service] [args]
rosservice call /clear

# find services by service type
rosservice find

# print service ROSRPC uri        
rosservice uri

8 rosparam

# set parameter
rosparam set
# get parameter
rosparam get
# load parameters from file
rosparam load
# dump parameters to file
rosparam dump
# delete parameter
rosparam delete
# list parameter names
rosparam list
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值