ROS源码分析
文章平均质量分 75
seaofbits
这个作者很懒,什么都没留下…
展开
-
ROS源码分析-week13
ROS源码分析-week132021SC@SDUSC1. 本周工作目标这周继续阅读navigation仓库里的代码。结合实际情况,本周的工作目标如下: 阅读move_base包裹的文档和源码,明白这个包裹的作用 2. 阅读move_base包裹的文档和源码我们找到官方wiki:由文档得知,move_base包定义了一个move_base节点,通过它来实现导航的核心功能。那么,这个包裹具体的结构是怎样的呢?先看目录结构:可以看见文件目录相对比较简单。我们直接.原创 2021-12-28 21:58:01 · 330 阅读 · 0 评论 -
ROS源码分析-week12
2021SC@SDUSC1. 本周工作目标这周继续阅读navigation仓库里的代码。结合实际情况,本周的工作目标如下: 阅读amcl包裹的文档和源码,明白这个包裹的作用 2. 阅读amcl包裹的文档和源码再次找到官方wiki:由文档得知,amcl包裹是通过自适应蒙特卡罗粒子定位方法,来在地图中定位机器人位置的一个包。那么,这个包裹具体的结构是怎样的呢?先看目录结构:andy@virtual-machine:~/navigation/amcl$ tree ..├原创 2021-12-28 21:57:30 · 1056 阅读 · 0 评论 -
ROS源码分析-week11
2021SC@SDUSC1. 本周工作目标这周继续阅读navigation仓库里的代码。结合上周分析,本周的工作目标如下: 阅读costmap_2d包裹的内容 2. 阅读ros官方tutorials内容首先使用tree命令观察包裹结构:andy@virtual-machine:~/navigation/costmap_2d$ tree ..├── cfg│ ├── Costmap2D.cfg│ ├── GenericPlugin.cfg│ ├── Infla...原创 2021-12-28 21:56:54 · 928 阅读 · 0 评论 -
ROS源码分析-week10
2021SC@SDUSC1. 本周工作目标这周使用VSCode,来阅读一下navigation仓库里许多功能包的代码。结合实际情况,本周的工作目标如下: 下载仓库,清点重点的包 阅读nav_core功能包 2. 下载仓库,分析重点的包首先git clone下载仓库,然后用vscode打开,发现里面有很多包:然后用一个静态代码分析工具understand初步分析这个文件夹里包裹的依赖情况,生成依赖图如下:可以看见,最核心的包是costmap_2d和nav_cor原创 2021-12-27 17:15:40 · 473 阅读 · 0 评论 -
ROS源码分析-week9
2021SC@SDUSC1. 本周工作目标这周继续阅读ros导航部分的代码,希望能大致理解导航部分ros包的架构。结合实际情况,本周的工作目标如下: 详细分析架构图 根据架构图,分析各部分对应的具体的代码包 2. 导航架构图分析首先复习一下上一章在wiki里发现的的架构图:我们详细分析一下这张图的各个部分:包名 来源 功能 备注 move_base 官方提供 整合各种信息来源,用dijstra或者A*算法规划机器人运动路径原创 2021-12-18 13:27:48 · 1123 阅读 · 0 评论 -
ROS源码分析-week8
2021SC@SDUSC1. 本周工作目标前面几周阅读了ros core部分的ros master和ros topic方面的源码,注重于一些核心、通用库的实现。本周开始,我们要进入另一部分的阅读,阅读导航库的源码,探究其实现。结合实际情况,本周的工作目标如下: 阅读ros wiki,了解导航库源码结构 结合文档和源码结构,搭建阅读环境 2. ros导航库结构回到最开始的wiki(RecommendedRepositoryUsage/CommonGitHubOrganizati原创 2021-12-18 13:24:23 · 1464 阅读 · 0 评论 -
ROS源码分析-week7
2021SC@SDUSC1. 本周工作目标上周没能阅读完节点“接受topic message”部分的代码,本周继续阅读。于是,本周的工作目标如下: 根据talker and listener样例,调试阅读ros core topic的message接收部分的代码。 2. ros里topic message的接收我们先看ros_catkin_ws/install_isolated/share/rospy_tutorials/001_talker_listener/listener.py文原创 2021-12-08 17:12:10 · 588 阅读 · 0 评论 -
ROS源码分析-week6
2021SC@SDUSC1. 本周工作目标上周只阅读了ros节点注册部分的代码,本周准备继续阅读节点收发message的代码。结合实际情况,本周的工作目标如下: 根据talker and listener样例,调试阅读ros core topic的message收发部分代码。 2. ros里topic message的发送我们先看ros_catkin_ws/install_isolated/share/rospy_tutorials/001_talker_listener/talker原创 2021-12-08 17:04:26 · 288 阅读 · 0 评论 -
ROS源码分析-week5
2021SC@SDUSC1. 本周工作目标这周继续ros通信部分的源码,侧重点在于注重"topic是怎么注册的?publisher是怎么注册的?"。结合实际情况,本周的工作目标如下: 根据talker and listener样例,调试阅读ros core topic注册部分代码 2. ros里topic publisher的注册我们先看ros_catkin_ws/install_isolated/share/rospy_tutorials/001_talker_listener/ta原创 2021-11-29 16:23:40 · 1238 阅读 · 0 评论 -
ROS源码分析-week4
2021SC@SDUSC1. 本周工作目标本周阅读ros通信部分的代码。结合实际情况,本周的工作目标如下: 探究ros消息的类型转译实现...原创 2021-11-07 21:00:45 · 446 阅读 · 0 评论 -
ROS源码分析-week2
2021SC@SDUSC1. 本周工作目标在上周完成了代码的下载、编译之后,这周要正式建立代码的阅读环境了。结合实际情况,本周的工作目标如下: 建立VSCode代码调试环境 通过调试初步阅读ROS Master的源码 2. 建立VSCode阅读环境对于这种“相对小众又灵活”的调试需求,最适合的工具就是VSCode了。这里选用的调试解决方案是:在Windows宿主中启动VSCode,用SSH连接虚拟机进行调试。网上有很多类似的配置教程,这里略过了详细的配置了。配置过程中遇.原创 2021-10-21 16:25:45 · 621 阅读 · 0 评论 -
ROS源码分析-week1
2021SC@SDUSC1. 本周工作目标本周正式开始阅读ROS(ROS 1 Noetic)的源码。按照综述的计划,本周着手开始阅读ROS Master部分的源码。结合实际情况,本周的工作目标如下:寻找一些专业书籍,了解更多的详细信息下载ros源码,了解源码结构从源码编译ROS Master,为后续调试阅读做准备关于ROS1和ROS2,有点像Python2和Python3的过渡,二者并不兼容,后者将是前者的替代。ROS1最后一个LTS版本(Noetic)将在2025年结束支持...原创 2021-10-11 23:08:51 · 1526 阅读 · 0 评论 -
ROS源码分析
2021SC@SDUSC背景ROS,全称Robot Operating System,是一个开源的机器人“元操作系统”。虽然它名字叫OS,但是其实他的角色更像一个framework,提供硬件抽象、低级设备控制、常用功能的实现、进程之间的消息传递和包管理。分工经过初步的资料查阅,我们了解到了系统的大致架构,系统可以分为两部分:一是ros核心框架,二是ros功能包、工具和插件等。在核心框架中定义了核心代码以及其他部分代码编程的规范,所以核心框架是我们必须要首先阅读的,也是最困难的,在阅读完核心框原创 2021-09-30 23:53:24 · 817 阅读 · 0 评论