# 16.项目总结与扩展 上一节我们完成后,就可以通过话题获取到机器人的里程计,也可以通过话题控制机器人移动了。对于一个移动底盘来说,这两个话题就是最关键的两个,有了这两个就可以控制底盘完成移动。但如果想让底盘更好用,可以增加OLED模块显示数据,比如电池的电压。同时我们的板子还支持IMU和超声波模块,其实都可以通过话题发布出来。 说了那么多,你可能不知道怎么做,没关系,小鱼写好了所有的代码,有了前面的基础,加上代码中的详细注释,看懂他们对你来说并不难。完成代码可以直接通过git进行克隆到本地。 ```shell git clone http://github.fishros.org/https://github.com/fishros/fishbot_motion_control_microros.git ``` 如果你的网络不错,也可以在线查看代码:https://github.dev/fishros/fishbot_motion_control_microros 该代码的结构如下: ``` . ├── extra_packages │ └── fishbot_interfaces │ ├── CMakeLists.txt # CMake构建配置文件 │ ├── msg │ │ └── MyCustomMessage.msg # ROS消息定义 │ ├── package.xml # ROS包描述文件 │ └── srv │ └── FishBotConfig.srv # ROS服务定义 ├── include │ ├── fishbot_config.h # 头文件 │ ├── fishbot.h # 头文件 │ ├── fishlog.h # 头文件 │ └── README # 说明文档 ├── Installer # 安装器相关 ├── lib │ ├── Displays │ │ ├── fishbot_display.cpp # 显示相关源码 │ │ └── fishbot_display.h # 显示相关头文件 │ ├── FishbotUtils │ │ ├── fishbot_utils.cpp # 实用工具源码 │ │ └── fishbot_utils.h # 实用工具头文件 │ ├── Kinematics │ │ ├── Kinematics.cpp # 运动学计算源码 │ │ └── Kinematics.h # 运动学计算头文件 │ ├── MicroRosRwm │ │ ├── micro_ros_transport_serial.cpp # MicroROS串口传输源码 │ │ ├── micro_ros_transport_serial.h # MicroROS串口传输头文件 │ │ ├── micro_ros_transport_wifi_udp.cpp # MicroROS WiFi/UDP传输源码 │ │ └── micro_ros_transport_wifi_udp.h # MicroROS WiFi/UDP传输头文件 │ ├── PidController │ │ ├── PidController.cpp # PID控制器源码 │ │ └── PidController.h # PID控制器头文件 │ └── README # 说明文档 ├── LICENSE # 许可证文件 ├── partition.csv # 分区配置文件 ├── platformio.ini # PlatformIO配置文件 ├── README.md # 项目主README文件 ├── RELEASES.md # 发布说明 ├── src ├── fishbot_config.cpp # 配置相关源码 ├── fishbot.cpp # 主要功能源码 └── main.cpp # 主程序入口源码 ``` 下一章我们开始学习如何进行导航和建图。