< >
Home » kobuki代码解读 » kobuki代码解读-kobuki_auto_docking

kobuki代码解读-kobuki_auto_docking

kobuki代码解读-kobuki_auto_docking

说明:

  • 介绍对接功能实现

功能列表:

  • 对接功能实现
  • Nodelet节点应用
  • 多路cmd_vel优先级设置

文件树及说明:

├── CHANGELOG.rst
├── CMakeLists.txt
├── include                               #类定义目录
│   └── kobuki_auto_docking               #对接类包
│       └── auto_docking_ros.hpp          #对接类定义
├── launch                                #启动文件目录
│   ├── activate.launch                   #启动DockDriveActionClient.py节点
│   ├── auto_dock_with_safe_keyop.launch  #启动对接脚本,配合键盘操作。键盘操作+minimal.launch
│   ├── compact.launch                    #启动对接脚本,独立运行,实现基本的对接功能,采用mobile_base_nodelet_manager节点管理
│   ├── minimal.launch                    #最小化的对接启动脚本,配置基本的对接参数
│   └── standalone.launch                 #启动对接脚本,独立运行。采用dock_drive_manager节点管理器,
├── package.xml
├── param                                 #参数配置目录
│   ├── auto_docking.yaml                 #对接参数配置文件,定义最小的速度和角度
│   └── cmd_vel_mux.yaml                  #设置同时发布cmd_vel命令的优先级配置文件
├── plugins
│   └── nodelet_plugins.xml               #定义nodelet节点,在package.xml中的export命令引用
├── scripts                               #脚本目录(用于测试目的)
│   ├── DockDriveActionClient.py          #Python脚本,对接的Action客户端,实现连接对接的dock_drive_action服务器端,获取相关信息
│   ├── DockDriveControl.py               #Python脚本,对接控制脚本,订阅core传感器消息和对接红外消息,发布电机,LED灯,数字输出,声音和速度命令(cmd_vel)消息
│   └── getDockIR.py                      #Python脚本,对接红外交互脚本,转换红外信息为比较容易阅读的格式。
└── src                                   #源码目录
    ├── auto_docking_ros.cpp              #对接实现,利用syncCb回调函数,根据里程计,核心传感器,红外信息,不断调整速度和方向,直到对接成功。
    └── nodelet.cpp                       #自动对接Nodelet的实现

重要知识点:

  • action客户端和服务器端
  • nodelet节点实现 (访问http://wiki.ros.org/nodelet/Tutorials/Porting%20nodes%20to%20nodelets)
  • 对接实现原理
  • plugins实现
  • 多路cmd_vel的优先级设置
  • 节点管理器定义

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

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


标签: kobuki代码解读