kobuki_core代码解读-kobuki_driver
kobuki_core代码解读-kobuki_driver
说明
- 介绍kobuki的核心驱动
- 访问代码库
功能列表:
- kobuki的差速驱动实现
- kobuki的事件实现
文件树及说明:
├── CHANGELOG.rst
├── CMakeLists.txt
├── doxygen #doxygen文档
├── firmware_changelog.md
├── include #kobuki底盘的核心驱动的类定义
│ └── kobuki_driver
│ ├── command.hpp #命令类定义
│ ├── event_manager.hpp #事件管理类定义
│ ├── kobuki.hpp #kobuki核心类定义
│ ├── macros.hpp #宏定义
│ ├── modules #功能包类定义
│ │ ├── acceleration_limiter.hpp#速度平滑处理类定义,这个类检查速度命令,如果太快就进行控制。
│ │ ├── battery.hpp #电池管理类定义
│ │ ├── diff_drive.hpp #差速驱动类定义
│ │ ├── digital_output.hpp #数字输出类定义
│ │ ├── led_array.hpp #LED灯组类定义
│ │ └── sound.hpp #声音管理类定义
│ ├── modules.hpp #导入功能包头文件
│ ├── packet_handler #数据包处理类定义
│ │ ├── packet_finder.hpp #提供了简单的数据包探测器类定义,探测器由stx, etx, payload组成
│ │ ├── payload_base.hpp #负载的基类定义
│ │ └── payload_headers.hpp #负载的头类定义,枚举了负载类型
│ ├── packets #数据包类定义
│ │ ├── cliff.hpp #悬崖传感器数据包类定义
│ │ ├── controller_info.hpp #控制器信息类定义
│ │ ├── core_sensors.hpp #核心传感器数据包类定义
│ │ ├── current.hpp #级别类定义
│ │ ├── dock_ir.hpp #对接红外数据包类定义
│ │ ├── eeprom.hpp #eeprom数据包类定义
│ │ ├── firmware.hpp #固件版本请求数据包类定义
│ │ ├── gp_input.hpp #GPIO数据包类定义
│ │ ├── hardware.hpp #硬件版本请求数据包类定义
│ │ ├── inertia.hpp #惯性传感器数据包类定义
│ │ ├── three_axis_gyro.hpp #3轴陀螺仪数据包类定义
│ │ └── unique_device_id.hpp #唯一设备ID请求数据包类定义
│ ├── packets.hpp #导入数据包相关头文件
│ ├── parameters.hpp #参数管理的类定义
│ └── version_info.hpp #版本信息的类定义
├── LICENSE
├── Makefile
├── package.xml
├── scripts #一些kobuki的自用脚本,对我们用处不大
│ ├── doxygen
│ │ ├── Readme.md
│ │ └── update_doxygen.bash # 更新文档脚本
│ └── web # 下载固件和界面工具的脚本
└── src
├── CMakeLists.txt
├── driver
│ ├── battery.cpp #电池/充电电源实现
│ ├── CMakeLists.txt
│ ├── command.cpp #执行命令实现,实现LED灯控制,数字输出,速度控制,设置外部电源,播放声音,获得版本信息,序列化等
│ ├── core_sensors.cpp #传感器实现,实现传感器数据序列和反序列,
│ ├── diff_drive.cpp #差速驱动类实现
│ ├── event_manager.cpp #事件管理类实现,按钮事件,保险杆事件,跌落时间,轮事件,电源事件,输入事件,机器人事件
│ ├── kobuki.cpp #设备驱动核心类实现,代码初始化,读取命令,设置命令,重置命令,打印状态等
│ ├── packet_finder.cpp #数据包探测器处理类实现
│ └── version_info.cpp.in #版本信息获取
├── test #测试脚本
│ ├── CMakeLists.txt
│ ├── initialisation.cpp #初始化kobuki脚本
│ ├── sigslots.cpp #测试kobuki sigslots,可获取不同的传感器数据
│ ├── simple_loop.cpp #简单的循环控制,返回位置数据
│ └── velocity_commands.cpp #速度命令的单位测试
└── tools #简单工具实现
├── CMakeLists.txt
├── simple_keyop.cpp #键盘控制kobuki
└── version_info.cpp #获取固件等的版本信息
重要知识点说明:
- ecl/sigslots.hpp
- ecl/time.hpp
- slot_stream_data
- ecl/geometry/legacy_pose2d.hpp
- ecl/linear_algebra.hpp
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号