采用TurtleBot3 waffle 的体系架构. ROS 学习- 第17日 OpenCR 代码分析-LMLPHP

1. 使用intel joule 作为主控板, 搭载ubuntu 16.04系统
        joule 外接: USB 3.x HUB. 可扩展 rplidar A3, RealSense D435, 超声波 KS103, 灯带,外置声卡,外置遥控手柄键盘灯.
2. 电机控制板采用 STM32F405,  USB CDC 与 joule 相接.
         STM32F405外接: WT901C 九轴带扩展卡尔曼滤波. 中大电机控制板+中大电机. 碰撞传感器x9. 防跌落x2, 以及通过UART与电源控制板相连.
3. 电源控制板
. nuvoton M453 + Li-Po Battery. (I2C和电池内部MCU通讯), 通过UART与STM32F405. 用以控制电源输出, 充放电管理, 锂电信息采集.

===========================================================
1. 打开waffle的Arduino工程. 重要的三个文件.

点击(此处)折叠: 主要是机器人物理参数的一些设定.

  1. #ifndef TURTLEBOT3_WAFFLE_H_
  2. #define TURTLEBOT3_WAFFLE_H_

  3. #define NAME "Waffle"

  4. #define WHEEL_RADIUS 0.033 // meter  轮子半径, 单位: 米
  5. #define WHEEL_SEPARATION 0.287 // meter (BURGER : 0.160, WAFFLE : 0.287) //轮距,轴距. 单位:米
  6. #define TURNING_RADIUS 0.1435 // meter (BURGER : 0.080, WAFFLE : 0.1435) //转弯半径, 单位:米 
  7. #define ROBOT_RADIUS 0.220 // meter (BURGER : 0.105, WAFFLE : 0.220) //机器人宽度半径, 单位:米
  8. #define ENCODER_MIN -2147483648 // raw  //编码器的最大最小值
  9. #define ENCODER_MAX 2147483648 // raw

  10. #define MAX_LINEAR_VELOCITY (WHEEL_RADIUS * 2 * 3.14159265359 * 77 / 60) // m/s (BURGER : 61[rpm], WAFFLE : 77[rpm])   //最大线速度.  单位 米/秒. 即: 2πr*rpm/60秒  .  周长*转速每分钟/秒数.
  11. #define MAX_ANGULAR_VELOCITY (MAX_LINEAR_VELOCITY / TURNING_RADIUS) // rad/s  //最大角速度. 最大线速度/转弯半径 = 弧速度/半径.  单位: 弧度/秒.

  12. #define MIN_LINEAR_VELOCITY -MAX_LINEAR_VELOCITY        //最小线速度
  13. #define MIN_ANGULAR_VELOCITY -MAX_ANGULAR_VELOCITY      //最小角速度.

  14. #endif //TURTLEBOT3_WAFFLE_H_
ROS 学习- 第17日 OpenCR 代码分析-LMLPHPOpenCR源码分析.docx
ROS 学习- 第17日 OpenCR 代码分析-LMLPHPTurtleBot3_Class对象分析.docx

10-26 01:11
查看更多