【ROS】常用命令

http://wiki.ros.org/ROS/Tutorials/NavigatingTheFilesystem

1. rospack find [package_name] :返回package的地址; 例子: rospack find roscpp

2. roscd [locationname[/subdir]] :把当前地址改为这个package所在的地址; 例子: roscd roscpp   roscd roscpp/cmake

3. pwd : 打印当前所在地址

4. echo $ROS_PACKAGE_PATH : 返回ros的package所安装的地方

5. rosls [locationname[/subdir]] : 列出package里的东西而不需要到特定path 例子: rosls roscpp_tutorials

6. rosls <<push TAB key twice>> : 查看全部ros package

http://wiki.ros.org/ROS/Tutorials/CreatingPackage

1. 建立一个catkin package

  • cd ~/catkin_ws/src
  • catkin_create_pkg beginner_tutorials std_msgs rospy roscpp    (catkin_create_pkg <package_name> [depend1] [depend2])
  • cd ~/catkin_ws
  • catkin_make
  • . ~/catkin_ws/devel/setup.bash

2. 查看dependencies

  • rospack depends1 beginner_tutorials : 返回beginner_tutorials的dependencies
  • rospack depends beginner_tutorials: 返回beginner_tutorials和它的dependencies的全部dependencies

3. 改一些package的信息可以在package.xml里面改。注意里面的<exec_depend>确保创建的package可以执行

http://wiki.ros.org/ROS/Tutorials/BuildingPackages

1. 生成一个package

  • source /opt/ros/kinetic/setup.bash
  • cd ~/catkin_ws
  • catkin_make
  • catkin_make install #

http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes

1. sudo apt-get install ros-kinetic-ros-tutorials : 下载一个simulator

2. roscore :相当于启动ros - 上面链接中有两个常见troubleshooting

3. 打开一个新的terminal输入rosnode list能看见只有一个/rosout - 说明现在只有一个node,这个node的作用是存储所有的运行记录

4. rosnode info /rosout : 返回node的详细信息

5. rosrun turtlesim turtlesim_node : rosrun可以直接跟package的名字而不用标明路径    rosrun [package_name] [node_name]

6. rosrun turtlesim turtlesim_node __name:=my_turtle     :可以将node改名,再次rosnode list就会发现改成了my_turtle (注意,这个并不是永久改名。关掉之后再开就恢复原来的名字)

7. rosnode ping my_turtle   :监测看它是不是还在

http://wiki.ros.org/ROS/Tutorials/UnderstandingTopics

1. rosrun turtlesim turtle_teleop_key  :让乌龟按照输入按键移动的一个node(和乌龟通过topic交换信息),如果无法移动,选中执行这个的terminal

2. rosrun rqt_graph rqt_graph : 可以观看node之间的关系 - 中间的/turtle1/cmd_vel就是一个topic

3. rostopic 可以得到topic的信息;    rostopic echo /turtle1/cmd_vel  :可以看到乌龟运动的速度信息   rostopic echo [topic]

4. rostopic list -v   可以返回当前的published topics和subscribed topics

5. rostopic type /turtle1/cmd_vel   返回这个topic的type,也就是传输的message的type。  rostopic type [topic]

6. rosmsg show geometry_msgs/Twist   返回这个type的具体细节(格式什么样的)

7. rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'  手动在这个topic里publish一个值 - rostopic pub [topic] [msg_type] [args]    这里的-1指的是只发布1个信息然后就exit

8. rostopic /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'   让乌龟持续做圆周运动

9. rostopic echo /turtle1/pose   返回turtle的位置速度等信息

10. rostopic hz /turtle1/pose    返回turtiesim_node publish /turtle1/pose的速度有多快

11. rosrun rqt_plot rqt_plot      可以弹出一个绘图框观察运动轨迹,如输入/turtle1/pose/x然后添加

http://wiki.ros.org/ROS/Tutorials/UnderstandingServicesParams

1. rosservice list : 列出全部当前node的service

2. rosservice call /clear : 清楚当前画面中原先不存在的东西(turtle运动轨迹)

3. rosservice type /clear   : 返回/clear这个service的类型

猜你喜欢

转载自blog.csdn.net/u013541048/article/details/82154985