# chassis_4ws4wd **Repository Path**: cenruping/chassis_4ws4wd ## Basic Information - **Project Name**: chassis_4ws4wd - **Description**: 存放裸底盘电气系统(电源和控制板)相关代码,电源板使用STM32F103芯片,控制板使用STM32F407芯片 - **Primary Language**: C - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-01-05 - **Last Updated**: 2024-11-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 4WS4WD小车底盘 **目录说明:** 1. Chassis_STM32F407目录中存放4WS4WD底盘的控制代码,控制器型号为STM32F407ZGT6。 2. ROS_Node 为控制板对应的ROS节点 3. PowerBoard_STM32F103 目录存放电源板控制器代码 4. Reference 目录存在参考文档(电机手册、调试工具等) ## 更新日志 2023-9-26 - 限制了后轮阿卡曼转向半径 R - printf改为网口输出 - 增加后轮阿卡曼转向模型 AKM2_Wheel_Speed_Model() 2023-9-6 - 增加阿卡曼转向模式 2023-4-26 - 增加以太网模块、DBUS、虚拟示波器函数(PID调试) 2023-4-25 - 添加串口DMA传输代码、CAN模块代码 2023-2-3 - 添加GPIO模块、外部触发、串口1-串口6、定时器模块代码 # 控制板使用说明 ## 控制板接线说明 控制板前面板如下图所示,**前面板**包含电源按钮,电源输入接线端子,指示灯,232串口,以太网口。其中,控制板的电源输入为12-48V;电源按钮控制板子的电源,按下以后控制板上电;指示灯主要用于显示程序工作状态;232串口和以太网口主要是用于上位机通讯。 control_fig2 控制板**后面板**如下图所示,**后面板**主要包含与传感器的接口,其中485总线通过单片机串口进行转换,用于连接电池;DBUS接口用于连接遥控器、CAN总线用于连接电机、UART4/UART5作为备用串口、In端口为隔离型输入端口(输入电压范围0-12V)、Out为隔离型输出端口(输出0、高组态)。 control_fig3 控制板芯片内部占用端口引脚如下图所示: control_fig21 - 上位机通讯的串口(232)占用单片机内部USART1端口 - DBUS遥控器占用单片机USART2端口 - 485总线占用串口3 - 以太网口占用串口4 - 行进电机与转向电机占用CAN2 ## 状态指示灯 LED1: 上位机通讯状态,每接收到上位机命令闪烁一次 LED2:DBUS遥控器状态,每接收到遥控器数据闪烁一次 LED3:CAN2总线状态,每接收到数据闪烁一次 ## 遥控器操作 控制板支持DBUS(大疆遥控器)协议的遥控器信号输入。 ①遥控器**左上角的拨动开关**为功能选择按键:置于OFF档表示不使能遥控器(此时遥控器左右摇杆无反应,遥控器无法控制小车,由上位机控制小车,即遥控器优先级高于上位机)。CL和CH档表示由遥控器控制小车,忽略上位机命令,其中置于CL档为阿卡曼(Ackermann)转向模型;CH档为全向模式 ②遥控器**右上角拨动开关**上中下位置分别对应小车1m/s、2m/s、3.5m/s速度 ③右手边摇杆竖直方向通道控制小车前后运动(如下图所示),左边的摇杆水平通道控制小车左右旋转。左侧的摇杆左右移动时为底盘做自旋运动 control_fig21 ## 上位机控制 上位机通过DB9串口下发指令与控制板通讯,通讯协议可参考在线表格(https://docs.qq.com/sheet/DV2hmSEdSYVVtclB4?tab=bb08j2) 控制板上的网口为调试使用,可以配合网络调试助手,打印控制板状态信息。(网口IP地址:192.168.0.7,TCP服务端地址 192.168.0.201 端口8234) # 电源板使用说明 ## 电源板V1.0 电源输入电压为36-48V,前面板如下图所示: - 左侧上方为电源输入端子,左侧下方WS28航空插头为电机输出端子。 - 中间按钮为电源启动按钮,按下后电源按预定上电时序上电(电机>24V输出端口>12V输出端口,‘>’表示优先上电含义) - 左上角为电压显示模块 - 右下角为电源板通讯接口(UART-232) ![image-20230731133115518](Reference/figure/power_fig1.png) 电源模块后面板如下图所示: ![image-20230731133115518](Reference/figure/power_fig2.png) - **24V/20A 两路** (WS16航空插头) - **24V/10A 一路** - **12V/10A 两路** - **9V/4A 一路** - **5V/3A 一路** ## 电源板V2.0 第二版电源重新设计了大功率DC-DC模块,进缩小了电源板的尺寸。其内部采用排针的连接方式,连接输出24V、12V、9V、5VDCDC稳压模块,如下所示 control_fig21 电源板接口示意图如下: control_fig21 # ROS节点说明 针对4WS4WD底盘,使用一下命令启动底盘ROS节点 ```shell roslaunch mick_bringup mick4ws4wd_bringup.launch ``` 该launch文件中包含以下参数: - **dev**:串口设备号 - **baud**:串口波特率 - **time_out**: - **hz**:主循环刷新频率 - **chassis_type**:底盘类型 0: 差速底盘 1: 麦克纳姆轮底盘 2:阿卡曼转向 3全向 - **sub_cmdvel_topic **:接收cmd_vel命令的话题 - **pub_odom_topic**:里程计发布话题 - **is_pub_path**:是否发布odom对应的轨迹