# fishbot_motion_control_microros **Repository Path**: tinytaro/fishbot_motion_control_microros ## Basic Information - **Project Name**: fishbot_motion_control_microros - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-04 - **Last Updated**: 2025-05-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FishBot运动控制程序MicroROS版 配套运动控制板(可以在小鱼的店铺直接购买,性价比接地气,直达链接:[https://item.taobao.com/item.htm?id=695473143304](https://item.taobao.com/item.htm?id=695473143304)): ![](./docs/images/1670950515258-0c1474f6-2d5a-4030-a1df-87bfdff78ba5-image-resized.png) ## 配套开发教程 ### [2.1 基础篇-嵌入式开发介绍与环境搭建](https://fishros.com/d2lros2/#/humble/chapt13/%E7%AB%A0%E8%8A%82%E5%AF%BC%E8%AF%BB) - [1.什么是单片机MCU](https://fishros.com/d2lros2/#/humble/chapt13/get_started/1.%E4%BB%80%E4%B9%88%E6%98%AF%E5%8D%95%E7%89%87%E6%9C%BAMCU) - [2.微处理器开发平台](https://fishros.com/d2lros2/#/humble/chapt13/get_started/2.%E5%8D%95%E7%89%87%E6%9C%BA%E5%BC%80%E5%8F%91%E5%B9%B3%E5%8F%B0) - [3.搭建PlateFormIO开发环境](https://fishros.com/d2lros2/#/humble/chapt13/get_started/3.%E6%90%AD%E5%BB%BAPlateFormIO%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83) - [4.PIO工程结构&构建方式](https://fishros.com/d2lros2/#/humble/chapt13/get_started/4.PIO%E5%B7%A5%E7%A8%8B%E7%BB%93%E6%9E%84&%E6%9E%84%E5%BB%BA%E6%96%B9%E5%BC%8F) - [5.第一个HelloWord工程](https://fishros.com/d2lros2/#/humble/chapt13/get_started/5.%E7%AC%AC%E4%B8%80%E4%B8%AAHelloWord%E5%B7%A5%E7%A8%8B) - [6.串口通信-接收实验](https://fishros.com/d2lros2/#/humble/chapt13/get_started/6.%E4%B8%B2%E5%8F%A3%E9%80%9A%E4%BF%A1-%E6%8E%A5%E6%94%B6%E5%AE%9E%E9%AA%8C) ### 2.2 入门篇-从点灯开始学起 - [1.点灯基础-看懂LED驱动电路](https://fishros.com/d2lros2/#/humble/chapt13/basic/1.%E7%82%B9%E7%81%AF%E5%9F%BA%E7%A1%80-%E7%9C%8B%E6%87%82LED%E9%A9%B1%E5%8A%A8%E7%94%B5%E8%B7%AF) - [2.完成点灯-GPIO控制](https://fishros.com/d2lros2/#/humble/chapt13/basic/2.%E5%AE%8C%E6%88%90%E7%82%B9%E7%81%AFGPIO%E6%8E%A7%E5%88%B6) - [3.学会使用按键-GPIO输入](https://fishros.com/d2lros2/#/humble/chapt13/basic/3.%E5%AD%A6%E4%BC%9A%E4%BD%BF%E7%94%A8%E6%8C%89%E9%94%AEGPIO%E8%BE%93%E5%85%A5) - [4.电池电压测量-学会使用ADC](https://fishros.com/d2lros2/#/humble/chapt13/basic/4.%E7%94%B5%E6%B1%A0%E7%94%B5%E5%8E%8B%E6%B5%8B%E9%87%8F-%E5%AD%A6%E4%BC%9A%E4%BD%BF%E7%94%A8ADC) ### 2.3 进阶篇-学会使用第三方库 - [1.学会三方库的安装方法](https://fishros.com/d2lros2/#/humble/chapt13/advance/1.%E5%AD%A6%E4%BC%9A%E5%AE%89%E8%A3%85%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BC%80%E6%BA%90%E5%BA%93) - [2.使用开源库驱动IMU](https://fishros.com/d2lros2/#/humble/chapt13/advance/2.%E4%BD%BF%E7%94%A8%E5%BC%80%E6%BA%90%E5%BA%93%E9%A9%B1%E5%8A%A8IMU) - [3.学会面向对象编程-封装IMU驱动](https://fishros.com/d2lros2/#/humble/chapt13/advance/3.%E5%AD%A6%E4%BC%9A%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%BC%96%E7%A8%8B-%E5%B0%81%E8%A3%85IMU%E9%A9%B1%E5%8A%A8) - [4.使用开源库驱动OLED](https://fishros.com/d2lros2/#/humble/chapt13/advance/4.%E4%BD%BF%E7%94%A8%E5%BC%80%E6%BA%90%E5%BA%93%E9%A9%B1%E5%8A%A8OLED) - [5.通讯协议小课堂-I2C通信](https://fishros.com/d2lros2/#/humble/chapt13/advance/5.%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE%E5%B0%8F%E8%AF%BE%E5%A0%82-I2C%E9%80%9A%E4%BF%A1) - [6.I2C通信实验-点亮OLED](https://fishros.com/d2lros2/#/humble/chapt13/advance/6.I2C%E9%80%9A%E4%BF%A1%E5%AE%9E%E9%AA%8C-%E7%82%B9%E4%BA%AEOLED) ### [2.4 基础篇-MicoRos介绍与安装](https://fishros.com/d2lros2/#/humble/chapt14/%E7%AB%A0%E8%8A%82%E5%AF%BC%E8%AF%BB) - [1.MicroROS介绍与服务安装](https://fishros.com/d2lros2/#/humble/chapt14/basic/1.MicroROS%E4%BB%8B%E7%BB%8D%E4%B8%8E%E6%9C%8D%E5%8A%A1%E5%AE%89%E8%A3%85) - [2.你的第一个MicroROS节点](https://fishros.com/d2lros2/#/humble/chapt14/basic/2.%E4%BD%A0%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AAMicroROS%E8%8A%82%E7%82%B9) ### 2.5 入门篇-在嵌入式平台实现话题与服务通信 [1.话题订阅-控制LED](https://fishros.com/d2lros2/#/humble/chapt14/get_started/1.%E8%AF%9D%E9%A2%98%E8%AE%A2%E9%98%85-%E6%8E%A7%E5%88%B6LED) [2.话题发布-上传电量信息](https://fishros.com/d2lros2/#/humble/chapt14/get_started/2.MicroROS-%E8%AF%9D%E9%A2%98%E5%8F%91%E5%B8%83%E5%AE%9E%E7%8E%B0) [3.服务实现-两数相加](https://fishros.com/d2lros2/#/humble/chapt14/get_started/3.MicroROS-%E6%9C%8D%E5%8A%A1%E9%80%9A%E4%BF%A1%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%AE%9E%E7%8E%B0) ### 2.6 进阶篇-MicoROS原理与使用进阶 - [1.自定义消息接口](https://fishros.com/d2lros2/#/humble/chapt14/advance/1.%E6%8E%A7%E5%88%B6OLED-%E8%87%AA%E5%AE%9A%E4%B9%89%E6%B6%88%E6%81%AF%E6%8E%A5%E5%8F%A3) - [2.做个时钟-系统时间同步](https://fishros.com/d2lros2/#/humble/chapt14/advance/2.%E5%81%9A%E4%B8%AA%E6%97%B6%E9%92%9F-%E7%B3%BB%E7%BB%9F%E6%97%B6%E9%97%B4%E5%90%8C%E6%AD%A5) - [3.了解传输原理-更换协议](https://fishros.com/d2lros2/#/humble/chapt14/advance/3.%E6%97%A0%E7%BA%BF%E9%80%9A%E8%AE%AF-%E4%BA%86%E8%A7%A3%E4%BC%A0%E8%BE%93%E5%8E%9F%E7%90%86) - [4.榨干性能-使用双核运行MicroROS](https://fishros.com/d2lros2/#/humble/chapt14/advance/4.%E6%A6%A8%E5%B9%B2%E6%80%A7%E8%83%BD-%E4%BD%BF%E7%94%A8%E5%8F%8C%E6%A0%B8%E8%BF%90%E8%A1%8CMicroROS) ### [2.7 ROS2硬件实战(自制简易雷达)](https://fishros.com/d2lros2/#/humble/chapt15/%E7%AB%A0%E8%8A%82%E5%AF%BC%E8%AF%BB) - [1.简易雷达原理介绍](https://fishros.com/d2lros2/#/humble/chapt15/1.%E7%AE%80%E6%98%93%E9%9B%B7%E8%BE%BE%E5%8E%9F%E7%90%86%E4%BB%8B%E7%BB%8D) - [2.使用超声波测量距离](https://fishros.com/d2lros2/#/humble/chapt15/2.%E6%B5%8B%E9%87%8F%E8%B7%9D%E7%A6%BB%E5%AD%A6%E4%BC%9A%E8%B6%85%E5%A3%B0%E6%B3%A2%E4%BC%A0%E6%84%9F%E5%99%A8) - [3.控制舵机学会使用执行器](https://fishros.com/d2lros2/#/humble/chapt15/3.%E6%8E%A7%E5%88%B6%E8%88%B5%E6%9C%BA%E5%AD%A6%E4%BC%9A%E4%BD%BF%E7%94%A8%E6%89%A7%E8%A1%8C%E5%99%A8) - [4.舵机+超声波循环扫描](https://fishros.com/d2lros2/#/humble/chapt15/4.%E8%88%B5%E6%9C%BA+%E8%B6%85%E5%A3%B0%E6%B3%A2%E5%BE%AA%E7%8E%AF%E6%89%AB%E6%8F%8F) - [5.可视化点云-雷达消息合成](https://fishros.com/d2lros2/#/humble/chapt15/5.%E5%8F%AF%E8%A7%86%E5%8C%96%E7%82%B9%E4%BA%91-%E9%9B%B7%E8%BE%BE%E6%B6%88%E6%81%AF%E5%90%88%E6%88%90) ### [2.8 FishBot控制系统搭建](https://fishros.com/d2lros2/#/humble/chapt16/%E7%AB%A0%E8%8A%82%E5%AF%BC%E8%AF%BB) - [1.移动机器人底盘结构介绍](https://fishros.com/d2lros2/#/humble/chapt16/1.%E7%A7%BB%E5%8A%A8%E6%9C%BA%E5%99%A8%E4%BA%BA%E5%BA%95%E7%9B%98%E7%BB%93%E6%9E%84%E4%BB%8B%E7%BB%8D) - [2.从H桥说起-电机驱动原理介绍](https://fishros.com/d2lros2/#/humble/chapt16/2.%E4%BB%8EH%E6%A1%A5%E8%AF%B4%E8%B5%B7-%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8%E5%8E%9F%E7%90%86%E4%BB%8B%E7%BB%8D) - [3.电机控制之正反转实验](https://fishros.com/d2lros2/#/humble/chapt16/3.%E7%94%B5%E6%9C%BA%E6%8E%A7%E5%88%B6%E4%B9%8B%E6%AD%A3%E5%8F%8D%E8%BD%AC%E5%AE%9E%E9%AA%8C) - [4.电机控制之速度控制实验](https://fishros.com/d2lros2/#/humble/chapt16/4.%E7%94%B5%E6%9C%BA%E6%8E%A7%E5%88%B6%E4%B9%8B%E9%80%9F%E5%BA%A6%E6%8E%A7%E5%88%B6%E5%AE%9E%E9%AA%8C) - [5.电机控制之使用开源库驱动多路电机](https://fishros.com/d2lros2/#/humble/chapt16/5.%E7%94%B5%E6%9C%BA%E6%8E%A7%E5%88%B6%E4%B9%8B%E4%BD%BF%E7%94%A8%E5%BC%80%E6%BA%90%E5%BA%93%E9%A9%B1%E5%8A%A8%E5%A4%9A%E8%B7%AF%E7%94%B5%E6%9C%BA) - [6.做个遥控车-订阅ROS2 Twist](https://fishros.com/d2lros2/#/humble/chapt16/6.%E5%81%9A%E4%B8%AA%E9%81%A5%E6%8E%A7%E8%BD%A6-%E8%AE%A2%E9%98%85ROS2Twist) - [7.从编码器说起-速度测量原理介绍](https://fishros.com/d2lros2/#/humble/chapt16/7.%E9%80%9F%E5%BA%A6%E6%B5%8B%E9%87%8F-%E5%AD%A6%E4%BC%9A%E4%BD%BF%E7%94%A8%E7%BC%96%E7%A0%81%E5%99%A8) - [8.脉冲测量与校准实验](https://fishros.com/d2lros2/#/humble/chapt16/8.%E8%84%89%E5%86%B2%E6%B5%8B%E9%87%8F%E4%B8%8E%E6%A0%A1%E5%87%86%E5%AE%9E%E9%AA%8C) - [9.速度转换-机器人最大速度测量](https://fishros.com/d2lros2/#/humble/chapt16/9.%E9%80%9F%E5%BA%A6%E8%BD%AC%E6%8D%A2-%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%9C%80%E5%A4%A7%E9%80%9F%E5%BA%A6%E6%B5%8B%E9%87%8F) - [10.控制速度-PID控制器实现](https://fishros.com/d2lros2/#/humble/chapt16/10.%E6%8E%A7%E5%88%B6%E9%80%9F%E5%BA%A6-PID%E6%8E%A7%E5%88%B6%E5%99%A8%E5%AE%9E%E7%8E%B0) - [11.两轮差速机器人运动学介绍](https://fishros.com/d2lros2/#/humble/chapt16/11.%E4%B8%A4%E8%BD%AE%E5%B7%AE%E9%80%9F%E8%BF%90%E5%8A%A8%E5%AD%A6%E4%BB%8B%E7%BB%8D) - [12. 实时速度计算-运动学正解](https://fishros.com/d2lros2/#/humble/chapt16/12.%E5%AE%9E%E6%97%B6%E9%80%9F%E5%BA%A6%E8%AE%A1%E7%AE%97-%E8%BF%90%E5%8A%A8%E5%AD%A6%E6%AD%A3%E8%A7%A3) - [13.目标速度控制-运动学逆解](https://fishros.com/d2lros2/#/humble/chapt16/13.%E7%9B%AE%E6%A0%87%E9%80%9F%E5%BA%A6%E6%8E%A7%E5%88%B6-%E8%BF%90%E5%8A%A8%E5%AD%A6%E9%80%86%E8%A7%A3) - [14.里程计计算-速度积分](https://fishros.com/d2lros2/#/humble/chapt16/14.%E9%87%8C%E7%A8%8B%E8%AE%A1%E8%AE%A1%E7%AE%97-%E9%80%9F%E5%BA%A6%E7%A7%AF%E5%88%86) ## 上位机运行指令 需要提前安装docker,可以使用一键安装进行。 WIFI,UDP模式 ``` docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO udp4 --port 8888 -v6 ``` Serial,串口模式 ```bash # Serial micro-ROS Agent docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO serial --dev /dev/ttyUSB0 -v6 -b 921600 docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO serial --dev /dev/ttyUSB0 -v6 -b 115200 ``` ## 其他指令 ### Merge BootLoad&Frameware ``` export boot_app0_dir="$HOME/.platformio/packages/framework-arduinoespressif32/tools/partitions" docker run -it --rm --privileged -v=/dev:/dev -v $boot_app0_dir:$boot_app0_dir -v `pwd`:`pwd` -w `pwd` fishros2/fishbot-tool esptool.py --chip esp32 merge_bin -o bin/fishbot_motion_control_v1.0.0.`date +%y%m%d`.bin --flash_mode dio --flash_size 4MB 0x1000 .pio/build/featheresp32/bootloader.bin 0x8000 .pio/build/featheresp32/partitions.bin 0xe000 $boot_app0_dir/boot_app0.bin 0x10000 .pio/build/featheresp32/firmware.bin ```