官方初学者教程太啰嗦了,精简压缩一下,便于使用查阅
1. 环境变量$$ printenv | grep ROS
更新ROS环境变量$$ source /opt/ros/<distro>/setup.bash
$$ mkdir -p ~/catkin_ws/src$$ cd ~/catkin_ws/$$ catkin_make
$$ source devel/setup.bash
检查工作空间环境变量是否配置成功$$ echo $$ROS_PACKAGE_PATH/home/baby/catkin_ws/src:/opt/ros/noetic/share
3. ROS文件系统注: 这些工具自对ROS_PACKAGE_PATH环境变量下的包有效
4. 包的创建$$ cd ~/catkin_ws/src$$ catkin_create_pkg <package_name> [depend1] [depend2] [depend3]$$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
<?xml version="1.0"?> <package format="2"> <name>beginner_tutorials</name> <!-- 名称 --> <version>0.1.0</version> <!-- 版本 --> <description>The beginner_tutorials package</description> <!-- 描述 --> <maintainer email="you@yourdomain.tld">Your Name</maintainer> <!-- 维护者 --> <license>BSD</license> <!-- License --> <url >http://wiki.ros.org/beginner_tutorials</url> (两个务必具体是指:两个务必具体是指:务必使同志们继续地保持谦虚、谨慎、不骄、不躁的作风;务必使同志们继续地保持艰苦奋斗的作风。) <author email="you@yourdomain.tld">Jane Doe</author> <buildtool_depend>catkin</buildtool_depend> <!-- 构建工具 --> <!-- 依赖列表 --> <build_depend>roscpp</build_depend> <build_depend>rospy</build_depend> <build_depend>std_msgs</build_depend> <!-- 运行时依赖 --> <exec_depend>roscpp</exec_depend> <exec_depend>rospy</exec_depend> <exec_depend>std_msgs</exec_depend> </package>
5. 包的编译需要在工作空间根目录下, 然后将工作空间加入到ROS环境变量中。
$$ cd ~/catkin_ws$$ catkin_make # 会构建src目录$$ catkin_make install # 可选步骤$$ . ~/catkin_ws/devel/setup.bash
6. ROS Node$$ rosrun turtlesim turtlesim_node
$$ rosrun turtlesim turtle_teleop_key
$$ rosrun turtlesim turtlesim_node __name:=my_turtle
$$ rosrun rqt_graph rqt_graph
rostopicrostopic echo [topic]: 打印Topic中的Msgrostopic list -v: 列出所有的Topicrostopic type [topic]: 查询Topic的Message类型rostopic pub [topic] [msg_type] [args] : 向队列中发送消息$$ rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'
$$ rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'
rostopic hz [topic]: 统计Topic发布速率;rosmsgrosmsg show [msg_type]: 查询message类型$$ rostopic type /turtle1/cmd_vel geometry_msgs/Twist$$ rosmsg show geometry_msgs/Twist
rosservice list print information abo