下面是ros下面的一些常用操作,先做个总结,方便后续使用。
1.只编译工作空间下面的一个包
catkin_make -DCATKIN_WHITELIST_PACKAGES="包名称"
2.查看安装的ros版本
echo $ROS_DISTRO
输出:kinetic
3.rospack命令
rospack find xxx # 作用是返回相应package或者stack的目录路径.
举例:
rospack find roscpp
输出:
/opt/ros/kinetic/share/roscpp
rospack depend1 包名 # 作用是查看包的依赖项
举例:
rospack depend1 roscpp
输出:
cpp_common
message_runtime
rosconsole
roscpp_serialization
roscpp_traits
rosgraph_msgs
rostime
std_msgs
xmlrpcpp
# 备注:rospack depends 包名 ,可以递归检测出所有的依赖包。
4.roscd命令
作用:改变当前目录到指定的package或者stack的目录(cd).
举例:
roscd roscpp
输入上述命令以后切换到目录:/opt/ros/kinetic/share/roscpp
roscd log :切换到存放ros的log文件目录
5.rosls命令
作用:列出指定的package或stack中的文件及目录.
举例:
rosls roscpp
输出:
cmake msg package.xml rosbuild srv
6.rosnode重命名
# rosrun运行node的时候,可以重新命名节点名称
举例:
rosrun turtlesim turtlesim_node __name:=my_turtle
rosnode list查看运行节点的名称:
/my_turtle
/rosout
7.查看节点是否运行
可以使用rosnode ping xxx节点名称 查看节点是否还在运行
举例:
rosnode ping /my_turtle
输出:
rosnode: node is [/my_turtle]
pinging /my_turtle with a timeout of 3.0s
xmlrpc reply from http://fuhong:43237/ time=0.387907ms
xmlrpc reply from http://fuhong:43237/ time=0.366926ms
xmlrpc reply from http://fuhong:43237/ time=0.358105ms
xmlrpc reply from http://fuhong:43237/ time=0.349045ms
8.rostopic list -v查看所有的节点下面的话题,服务等
举例:rostopic list -v
输出:
Published topics:
* /turtle1/color_sensor [turtlesim/Color] 1 publisher
* /turtle1/cmd_vel [geometry_msgs/Twist] 1 publisher
* /rosout [rosgraph_msgs/Log] 4 publishers
* /rosout_agg [rosgraph_msgs/Log] 1 publisher
* /turtle1/pose [turtlesim/Pose] 1 publisher
Subscribed topics:
* /turtle1/cmd_vel [geometry_msgs/Twist] 2 subscribers
* /rosout [rosgraph_msgs/Log] 1 subscriber
* /statistics [rosgraph_msgs/TopicStatistics] 1 subscriber
9.roswtf检查错误
如果你发现自己被一个编译或者通信之类的问题困扰的时候,可以尝试运行roswtf看能否帮你解决。