通过一段时间的学习,发现关于turtlebot(kobuki)的一些底盘的驱动代码主要存在于以下文件中:
kobuki.hpp
https://github.com/yujinrobot/kobuki_core/blob/indigo/kobuki_driver/include/kobuki_driver/kobuki.hpp
kobuki.cpp
kobuki底盘与ROS之间通信:由于在ROS中引入了消息机制,同时也定义了一些常用消息类型文件,即.msg文件(通常情况下,自己定义的消息类型文件放在package下的msg文件夹中),而ROS中同样也定义了一些基本的消息类型,如:std_msgs,sensor_msgs/image,nav_msgs等文件夹中存放有多种消息类型。
完成底盘与ROS通信功能的主要是以下文件:
KobukiRos.hpp
https://github.com/yujinrobot/kobuki/blob/kinetic/kobuki_node/include/kobuki_node/kobuki_ros.hppKobukiRos.hpp
在KobukiRos.cpp中初始化了许多订阅者,发布者,node_name,并且创建了kobuki实例。同时在subscriber_callbacks.cpp文件中定义了sub的callbacks,对订阅的消息进行处理,在slot_callbacks.cpp中对pub的message进行定义和处理。