Turtlebot代码解读-Turtlebot-turtlebot_bringup

Turtlebot代码解读-Turtlebot-turtlebot_bringup

说明

  • 介绍turtlebot_bringup软件包相关文件的功能

文件树及说明:

├── CHANGELOG.rst
├── CMakeLists.txt
├── env-hooks                                      #钩子
│   └── 25.turtlebot.sh.em                         #设置默认的环境变量
├── icons                                          
│   └── turtlebot2.png
├── interactions                                   #rocon连接时候,显示不同角色和功能定义
│   ├── admin.interactions                         #Admin角色和功能定义,获取master信息,启动Rqt Graph,启动 Rqt Console
│   ├── documentation.interactions                 #文档角色和功能定义,各种文档的对应链接
│   ├── pairing.interactions                       #不同配对对象显示的功能定义,配对对象可以是PC Pairing 或者 Android Pairing
│   └── visualisation.interactions                 #Visualisation角色和功能定义,查看模型或查看机器人
├── launch                                         #启动文件目录
│   ├── 3dsensor.launch                            #启动深度相机,根据参数设置,可为kinect,xtion pro,r200等
│   ├── concert_client.launch                      #启动concert客户端
│   ├── concert_minimal.launch                     #启动最小化的concert服务端
│   ├── includes                                   #模块化的启动文件
│   │   ├── 3dsensor                               #针对不同的深度相机启动文件
│   │   │   ├── astra.launch.xml                   #针对astra深度相机
│   │   │   ├── asus_xtion_pro.launch.xml          #针对asus_xtion_pro深度相机
│   │   │   ├── asus_xtion_pro_offset.launch.xml   #针对asus_xtion_pro live深度相机
│   │   │   ├── kinect.launch.xml                  #针对kinect深度相机
│   │   │   └── r200.launch.xml                    #针对r200深度相机
│   │   ├── capabilities.launch.xml                #启动capability服务端提供一些默认providers 
│   │   ├── create                                 #create底盘相关启动文件
│   │   │   └── mobile_base.launch.xml             #启动底盘
│   │   ├── description.launch.xml                 #启动turtlebot模型
│   │   ├── kobuki                                 #kobuki底盘相关启动文件
│   │   │   ├── bumper2pc.launch.xml               #启动保险杆
│   │   │   ├── mobile_base.launch.xml             #启动底盘
│   │   │   └── safety_controller.launch.xml       #启动安全控制
│   │   ├── mobile_base.launch.xml                 #底盘控制文件,根据参数确定启动那个底盘
│   │   ├── netbook.launch.xml                     #上网本电池监测
│   │   ├── robot.launch.xml                       #Turtlebot机器人为中心的定义和节点的集合
│   │   ├── roomba                                 #roomba底盘
│   │   │   └── mobile_base.launch.xml             #启动底盘
│   │   └── zeroconf.launch.xml                    #启动zeroconf
│   └── minimal.launch                             #最小化启动turtlebot
├── package.xml
├── param                                          #参数设置目录
│   ├── 3dsensor.yaml                              #深度相机设置
│   ├── capabilities                               
│   │   └── defaults_tb2.yaml                      #功能参数设置
│   ├── create                                     #create底盘参数
│   │   ├── capability_providers.yaml              #create功能提供者定义
│   │   └── diagnostics.yaml                       #各硬件信息参数定义
│   ├── defaults                                   #默认参数
│   │   ├── capability_providers.yaml              #功能提供者参数定义
│   │   └── smoother.yaml                          #速度平滑参数定义
│   ├── kinect                                     #kinect相关参数定义
│   │   └── capability_providers.yaml              #功能提供者参数定义
│   ├── kobuki                                     #kobuki底盘参数
│   │   ├── capability_providers.yaml              #功能提供者参数定义
│   │   └── diagnostics.yaml                       #各硬件信息参数定义,包括电池用量,传感器数据,数字和模拟输入等
│   ├── mux.yaml                                   #多路cmd_vel来源的优先级定义
│   ├── preferred_rapp.yaml                        #RAPP参数定义,设置首选项
│   ├── roomba                                     #roomba底盘参数
│   │   ├── capability_providers.yaml              #功能提供者参数定义
│   │   └── diagnostics.yaml                       #各硬件信息参数定义
│   ├── xtion                                      #xtion摄像头参数
│   │   └── capability_providers.yaml              #功能提供者参数定义
│   └── zeroconf.yaml                              #zeroconf参数定义,在avahi上发布ros的主服务
└── scripts                                        #脚本目录
    └── turtlebot_addr.py                          #python脚本,获取上网本的IP地址

重要知识点:

  • capability_providers功能提供者.参考http://wiki.ros.org/capabilities
  • Avahi 是Zeroconf规范的开源实现,局域网里发现基于 zeroconf 协议的设备和服务.参考 http://wiki.ros.org/zeroconf

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: turtlebot代码解读