您的位置:首页 > 其它

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

2016-04-19 19:15 441 查看
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/roscpp2)定位到相应的package,stack文件的子文件示例:roscdroscpp/msg结果:wei@wei:/opt/ros/indigo/share/roscpp/msg
2)定位到相应的package,stack文件的子文件
示例:
roscd roscpp/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
/rosout
/turtlesim
wei@wei:~ rosnode list

/my_turtle

/rosout

wei@wei:~用rosnodepingmy t urtle命令,可以查看相关信息:结果:wei@wei:
用rosnode ping my_turtle命令,可以查看相关信息:
结果:
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: