除开复习期末考:ROS入门与综述完善
ROS入门
完成了系统的安装与环境的配置、对基本概念的理解与实现、基本操作的熟悉如roscd、rosed、roslaunch
综述完善
不管是创新实践项目一的电子琴也好,还是模拟与数字电路实验也罢,从来没有养成改东西的习惯。一部分原因是上级没有及时地给予反馈,但更多的原因在自己本身。王老师通过上周的总结已经很明确地告诉了我们每个人需要改进的地方是什么,并且向我们表达了赞赏与肯定。
6.16
Packages: 软件包,是ROS应用程序代码的组织单元,每个软件包都可以包含程序库、可执行文件、脚本或者其它手动创建的东西。
Manifest (package.xml): 清单,是对软件包相关信息的描述,用于定义软件包相关元信息之间的依赖关系,这些信息包括版本、维护者和许可协议等
rospack find 【】 / pwd / roscd / roscd log / ros ls [] / TAB
程序包
一个catkin程序包由什么组成?
一个程序包要想称为catkin程序包必须符合以下要求:
- 该程序包必须包含catkin compliant package.xml文件
- 这个package.xml文件提供有关程序包的元信息。
- 程序包必须包含一个catkin 版本的CMakeLists.txt文件,而Catkin metapackages中必须包含一个对CMakeList.txt文件的引用。
-
每个目录下只能有一个程序包。
这意味着在同一个目录下不能有嵌套的或者多个程序包存在。
build 目录是build space的默认所在位置,同时cmake 和 make也是在这里被调用来配置并编译你的程序包。devel 目录是devel space的默认所在位置, 同时也是在你安装程序包之前存放可执行文件和库文件的地方。
理解ROS节点
6.16-19
appendix 2019-06-19 - 简书 https://www.jianshu.com/p/f4e14af2e442
6.20-21
turtlesim_node 节点和 turtle_teleop_key 节点之间是通过一个 ROS 话题来互相通信的。turtle_teleop_key 在一个话题上发布按键输入消息,而 turtlesim 则订阅该话题以接收该消息。下面让我们使用 rqt_graph 来显示当前运行的节点和话题。
话题之间的通信是通过在节点之间发送ROS消息实现的。对于发布器(turtle_teleop_key)和订阅器(turtulesim_node)之间的通信,发布器和订阅器之间必须发送和接收相同类型的消息。这意味着话题的类型是由发布在它上面的消息类型决定的。使用rostopic type命令可以查看发布在某个话题上的消息类型。
rostopic echo rostopic hz rostopic pub rosrun rqt_graph rqt_graph rqt_plot rqt_plot
消息(msg): msg文件就是一个描述ROS中所使用消息类型的简单文本。它们会被用来生成不同语言的源代码。
服务(srv): 一个srv文件描述一项服务。它包含两个部分:请求和响应。 msg文件存放在package的msg目录下,srv文件则存放在srv目录下。 msg文件实际上就是每行声明一个数据类型和变量名。可以使用的数据类型如下:
6.22
与小高一起吃海鲜喝扎啤看海
和好朋友一起玩的日子简直太美好了一天完全不够啊啊啊啊啊
6.23
周末总结
备战期末