简述
为了记录一些常用的命令,参考http://wiki.ros.org/ROS/Tutorials
catkin_make
使用catkin_make建立一个catkin workspace
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make
$ source devel/setup.bash
setup.bash文件可以换成自己的使用的bash对应的文件,我自己用的是.zsh
rospack find [package_name]
roscd [locationname[/subdir]]
rosls [locationname[/subdir]]
roscp [package_name] [file_to_copy_path] [copy_path]
catkin_create_pkg
在catkin workspace的src目录下创建catkin Package
catkin_create_pkg <package_name> [depend1] [depend2] [depend3]
在包里面会有一个pakage.xml
文件记录了包的一些信息(作者等)和依赖关系
一般有三种依赖:
- <buildtool_depend>
- <build_depend>
- <exec_depend>
在创建的包里还有一个CMakeList.txt
文件
创建好包之后需要回到catkin workspace的根目录执行catkin_make命令
参考http://wiki.ros.org/ROS/Tutorials/BuildingPackages
roscore
在使用ROS前必须先执行roscore
,并且只能有一个roscore
rosnode
$ rosnode -h
$ rosnode info /rosout
rosrun
$ rosrun [package_name] [node_name]
$ rosrun turtlesim turtlesim_node __name:=my_turtle # 使用`__name:=`可以改node名字
$ rosrun rqt_graph rqt_graph # 显示节点和节点之间的话题
$ rqt_graph
或命令行输入rqt,并在菜单栏选择 Plugins > Introspection > Node Graph:
$ rosrun rqt_plot rqt_plot
$ rosrun rqt_console rqt_console # 输出log日志控制台,display output from nodes
$ rosrun rqt_logger_level rqt_logger_level # fatal级别最高,debug级别最低
rostopic
$ rostopic -h
rostopic list -v #显示详细信息
rosmsg show
$ rosmsg -h
$ rostopic type [topic_name] | rosmsg show
$ rostopic pub [topic] [msg_type] [args]
args参数按照YAML的要求
rosservice
$ rosservice -h
rossrv
$ rosservice type [service_name] | rossrv show
rosparam
$ rosparam -h
roslaunch
$ roslaunch [package] [filename.launch]
参考
- http://wiki.ros.org/ROS/Tutorials/UsingRqtconsoleRoslaunch
- https://blog.csdn.net/qq_33444963/article/details/77893881
rosed
$ rosed [package_name] [filename] # 直接编辑包里的文件,不用进入路径里,默认使用vim
rosbag
$ rosbag record # -O参数可以指定.bag名字,
$ rosbag info <your bagfile>
$ rosbag play <your bagfile> # -s参数在开头之后的某个持续时间开始播放,-r改变速率
rosbag记录的数据可能不会和原来的完全一样