导言: 这是我在学习ROS系列教程的一些摘要
1.安装ROS
2.管理环境 printenv | grep ROS
3.创建工作空间 创建catkin工作空间 mkdir ~/catkin_ws/src cd ~/catkin_ws catkin_make
然后创建三个目录(build,devel,src)和编译相关的文件 将工作目录加入系统搜索路径中: source devel/setup.bash 我们查看环境变量,发现已经加入路径中 echo $ROS_PACKAGE_PATH
1.安装ros-tutorial
2.filesystem包含两部分,packages和manifests,前者是代码的基本单元,每个package可以包含库,可执行代码,脚本等,后者是package的描述,定义了package之间的依赖关系,描述了package的meaa信息
3.filesystem tools rospack get information about packages roscd change directory e.g. roscd roscpp / roscd log *rosls
1.catkin 由哪些packages组成 package.xml 关于package的meta信息 CMakeLists.txt 其他代码文件
2.catkin workspace worksapce_folder/ src/ CMakeLists.txt package_1/ CMakeLists.txt package.xml … … 3.创建catkin包 catkin_create_pkg beginner std_msgs rospy roscpp 格式为ctakin package_name dependecy1 dependency2 …
4.将package加入搜索路径 运行catkin workspace下的setup.sh即可
5.package依赖 rospack depends1 beginer --> first-order依赖 rospack depends beginer --> 全部依赖
6.定制化package package.xml CMakeLists.txt
1.build package catkin_make 相当于运行了mkdir build / cd build / cmake … / make 或者是catkin_make --source my_src
1.安装ros-distri-ros-tutorials,它包含一个轻量级的仿真器
2.节点Node,消息Message,主题Topic,Master,rosout,roscore Node就是package中的一个可执行文件,可通过ROS与其他Node通信 Node可以publish 和 subscribe到某个Topic,还可以提供或者使用某项Service
3.Client库 可以使用不同的编程语言进行通信,rospy 、 roscpp
4.使用ros首先要运行roscore
5.使用rosnode rosnode list rosnode info node_name
6.rosrun运行package中的某个节点 rosrun turtlesim turtlesim_node 还可以自己对节点重命名 rosrun turtlesim turtlesim_node ___name:=my_turtle 对这个节点进行ping测试 rosnode ping my_tutle
1.rqt_graph创建动态图,rqt package包的一部分 因此要先安装rqt包 sudo apt-get install ros-distro-rqt sudo apt-get insgall ros-distro-rqt-common-plugins
rosrun rqt_graph rqt_graph
2.rostopic echo [topic] 打印到屏幕
3.rostopic list -v verbose选项列出所有的topic
4.rostopic type [topic] 返回published的消息类型 rosmsg show geometry_msgs/Twist 查看消息的细节
5.rostopic pub 发布消息到某个topic 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]’
6.rostopic hz [topic] 输出数据被publish的速率
7.rosrun rqt_plot rqt_plot 画出消息的数据曲线
1.查看turtlesim节点提供的服务,service是节点之间通信的另一种方式,节点可以发送request,收到response
2.rosservice list 查看服务
3.rosservice type [service] 查看服务类型
4.rosservice call [service] [args] request某项服务,带有参数args rosservice type /spawn | rossrv show 查看Service的参数
5.rosparam list 各个节点的所有的参数
6.rosparam set [param_name] 设置参数 rosparam get [param_name] 获取参数
7.rosparam dump [filename] [namespace] rosparam load [filename] [namespace] dump和load参数文件
1.rosrun rqt_console rqt_console rosrun rqt_logger_level rqt_logger_level
2.roslaunch [package] [filename.launch] 运行事先定义好的launch文件中的node
3.launch文件
<launch> <group ns="turtlesim1"> <node pkg="turtlesim" name="sim" type="turtlesim_node"/> </group> <group ns="turtlesim2"> <node pkg="turtlesim" name="sim" type="turtlesim_node"/> </group> <node pkg="turtlesim" name="mimic" type="mimic"> <remap from="input" to="turtlesim1/turtle1"/> <remap from="output" to="turtlesim2/turtle1"/> </node> </launch>4.roslaunch beginer turtlemimic.launch
1.rosed [package_name] [filename] 直接编辑package中的文件 e.g. rosed roscpp Logger.msg
2.rosed的默认编辑器是vim,可以在~/.bashrc中更改设置 export EDITOR=‘code -nw’
