ROS自主导航机器人

PIBOT下位机开发

2019-06-02  本文已影响1人  PIBOT导航机器人

1. 概述

2. 软件框架

软件框架图

橙色部分为下位机的功能模块

3. 下位机开发环境

3.1 环境搭建

Arduino

具体请参考Visual Studio Code插件PlatformIO IDE开发Arduino

STM32F1

具体请参考PIBOT的STM32F1的环境配置与编译

STM32F4

具体请参考PIBOT的ubuntu下stm32 C/C++模版及配置编译

3.2 环境配置

Arduino

使用Visual studio code打开附带下位代码文件夹,在platformio.ini修改相应模型以及使用的电机控制器

apollo

models =
    -D ROBOT_MODEL=ROBOT_MODEL_DIFF
    -D MOTOR_CONTROLLER=COMMON_CONTROLLER

zeus

models =
    -D ROBOT_MODEL=ROBOT_OMNI_3
    -D MOTOR_CONTROLLER=COMMON_CONTROLLER

STM32F1

Arduino

STM32F4

param.mk的修改相关配置,下图分别代表四种车型选择一种即可

4. 代码分析

以Arduino为例的代码分析具体请参考ROS机器人底盘(7)-Firmware的代码分析(1)
ROS机器人底盘(8)-Firmware的代码分析(2)
ROS机器人底盘(24)-嵌入式部分框架设计与实现

5. 参数配置

运动参数出厂时都内置在板子的EEPROM/FLASH

5.1 默认参数

默认参数出厂会固化到板子

apollo

zeus

apolloX

hades

hera

5.2 配置参数

配置参数需要通过ROS上位机的界面配置

pibot_bringup
pibot_configure

或者

roslaunch pibot_bringup bringup.launch
rosrun rqt_reconfigure rqt_reconfigure

6. 电机方向和编码器方向软件调整

移植PIBOT下位机或者由于电机或编码器接线问题,导致电机控制时一直转。原因是给定方向的PWM值导致编码器一直反向变化,所以需要调整电机线或者编码器接线,通过设置软件编译参数也可以达到同样效果具体可以参见关于运动控制方向的补充

上一篇下一篇

猜你喜欢

热点阅读