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的优先级设置
- 节点管理器定义
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号