ROS学习摘要

mac2026-05-17  4

ROS前二十讲

导言: 这是我在学习ROS系列教程的一些摘要


文章目录

ROS前二十讲第一讲第二讲第三讲第四讲第五讲第六讲第七讲第八讲第九讲第10讲

第一讲

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’

第10讲
最新回复(0)