第三章ROS机器人操作系统常用的命令


1–在ROS系统中,代码分布在许多功能包和功能包集中,在用户的硬盘上将分属不同的文件夹,如果每次定义代码时,都要使用ls
和cd这种命令,将会非常繁琐
2–于是,ROS提供了自己一系列以为前缀的命令和工具–如–rosls,roscd,roscp
3–许多命令,其功能本质上与基本操作系统中常用的命令是一致的,但是它们在ROS环境下使用更加方便


(一)ROS系统中,常用的的命令


1–find命令—–查找ROS系统中相应的package包或者stack堆
语法格式:
rospack find [package name]—-查找相应的包
rospack find [stack name]——查找相应的堆
示例:
rospack find roscpp
结果为:
/opt/ros/indigo/share/roscpp


2–roscd命令—-改变路径到相应的package或者stack
语法格式:
roscd [subdir子目录]
1)定位到相应的package,stack文件
示例:
roscd roscpp
结果:
wei@wei:/opt/ros/indigo/share/roscpp 2)package,stack:roscdroscpp/msg:wei@wei:/opt/ros/indigo/share/roscpp/msg 
3)没有参数时的roscd—-相当于linux中的pwd命令——查看当前工作路径
示例:
roscd
结果:
wei@wei:/opt/ros/indigo$
4)roscd日志——-得到ROS存储日志的文件
示例:
roscd log


3—rosls命令—-罗列相应的package,stack文件夹的文件
语法格式:
rosls [locationname/subdir]
示例:
rosls roscpp_tutorials
结果:
cmake launch package.xml srv
4–善于使用”Tab”建
“Tab”键,在windows系统下,功能只是个制表符,但是在Linux下,这个键的功能非常强大,可以补全命令等等


(二)ROS的核心命令


1)—roscore—–ros+core
作用—-运行基于ROS系统必需的节点和程序的集合,为了保证节点能够通信,至少要有一个roscore在运行.
roscore当前的定义为:
1–master
2–parameter server——参数服务器
3–rosout
示例:
在当前计算机上运行—roscore,结果如下所示:
… logging to /home/wei/.ros/log/82e5ec72-0609-11e6-91b7-3464a936d00c/roslaunch-wei-31331.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://wei:36563/
ros_comm version 1.11.16

SUMMARY

PARAMETERS
* /rosdistro: indigo
* /rosversion: 1.11.16

NODES

auto-starting new master
process[master]: started with pid [31343]
ROS_MASTER_URI=http://wei:11311/

setting /run_id to 82e5ec72-0609-11e6-91b7-3464a936d00c
process[rosout-1]: started with pid [31356]
started core service [/rosout]


2)–rosmsg/rossrv命令
rosmsg=ros+msg————显示—-消息—–的数据结构定义
rossrv=ros+srv————显示—-服务—–的数据结构定义
示例1—–列出—功能包中的—消息
rosmsg package nav_msgs
结果:
nav_msgs/GetMapAction
nav_msgs/GetMapActionFeedback
nav_msgs/GetMapActionGoal
nav_msgs/GetMapActionResult
nav_msgs/GetMapFeedback
nav_msgs/GetMapGoal
nav_msgs/GetMapResult
nav_msgs/GridCells
nav_msgs/MapMetaData
nav_msgs/OccupancyGrid
nav_msgs/Odometry
nav_msgs/Path


3)rosrun—-允许用户不必先改变到相应目录就可以执行在—任意一个功能包下的—-可执行文件
rosrun=ros+run
用法:
rosrun package executable[可执行文件]
示例:运行turtlesim的例子
rosrun turtlesim turtlesim_node
在运行上面这个示例的命令之前,必需先在另外的一个terminal(终端)中启动ROS系统核心的节点和程序的集合,以保证节点
能够正常运行


4)ROS中还可以重命名节点:
示例:
rosrun turtlesim turtlesim_node __name:=my_turtle
在另一个终端terminal中输入:rosnode list
前后两次的结果如下所示:
wei@wei:~ rosnodelist/rosout/turtlesimwei@wei:   rosnode list
/my_turtle
/rosout
wei@wei:~ rosnodepingmy t urtle,:wei@wei:   rosnode ping my_turtle—————-这个命令好像linux中的ping命令
rosnode: node is [/my_turtle]
pinging /my_turtle with a timeout of 3.0s
xmlrpc reply from http://wei:41535/ time=0.344992ms
xmlrpc reply from http://wei:41535/ time=0.330925ms
xmlrpc reply from http://wei:41535/ time=0.354052ms
xmlrpc reply from http://wei:41535/ time=0.378847ms
xmlrpc reply from http://wei:41535/ time=0.548124ms
xmlrpc reply from http://wei:41535/ time=0.289917ms


5)rosnode=ros+node—显示关于ROS节点(包括发布,订阅和连接)的调试信息.
1—rosnode ping—-测试到一个节点的可连接性—如果如上述显示的这样,说明连通正常
2—rosnode list—-列出活动节点
3—rosnode info—-打印节点信息


6)roslaunch=ros+launch
1—roslaunch通过SSH和在参数服务器上设置参数来局部和远程启动ROS节点,它通过调用一个或者多个
XML配置文件来完成启动过程。在配置文件中会对每一个节点进行描述
用法:
1—在不同的接口启动—-roslaunch -p 1234 package filename.launch
2—在功能包内启动文件–roslaunch package filename.launch
3—在局部节点启动文件–roslaunch –local package filename.launch


7)rostopic=ros+topic
一个用于ROS主题(包括发布,订阅,发布频率和消息)调试信息的工具
1–命令rostopic bw—显示主题的宽度—display bandwidth used by topic
2–rostopic echo—–输出主题信息到屏幕
用法:
rostopic echo [topic]
3–rostopic pub—–发布数据到主题
rostopic pub -1

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值