4. STM32固件配置
底盘的固件代码需要修改为适应当前底盘的具体参数,可以用slamware_config_tool.exe工具来自动生成配置文件:
配置工具链接:http://pan.baidu.com/s/1qXHWDzQ密码:3hs6
打开slamware_config_tool.exe, 添加以下参数:
(1) 底盘直径:将Robot Diameter参数设置为实际的底盘(外接圆)直径,单位是米。
(2) 超声和碰撞传感器位置设置:设置3个超声传感器和3个碰撞传感器的(x, y, z)位置坐标和角度(逆时针),坐标如下图所示 (原点为平台中心位置):
(3) 激光雷达设置: 下面表格中,(X, Y)坐标为上述坐标系下雷达中心的安装位置。角度为以雷达引线的正对面朝前进方向为0度, 雷达引线朝前为180度。此实验为引线朝前,所以为180度,参数设置需转换成弧度制。
(4) Motion Plan和Feature配置
Motion Plan 采用默认配置
Feature页面去掉Has IR Tower选项
所有参数配置完成之后,点击右上角的Export按钮,保存配置文档为binary_config.c, 并放入工程的源代码中。
代码修改:
(1). 在工程Source里面替换binary_config.c文件。
(2). 调节电机PID参数和每米脉冲数
a. PID控制算法参数调试方法
逐渐从0增大P值和I值,至小车能够快速响应且未开始抖动。此实验平台的参考值为P=1, I =0.2, D=0. 亦可自行设置motor.c中的PID参数达到理想效果。
b. 每米脉冲数计算
此电机可以输出每转663个脉冲反馈信号,轮子的直径为13CM,计算可以得知每米相当于2.45转,所以每米脉冲数为663 * 2.45 = 1624(motor.h中设置)
5.固件烧入
可以短接BOOT0,连接breakout上面下图所示的串口,用flyMcu工具将改好的固件烧入MCU。联线如下图所示,烧录完毕之后,恢复引脚连接。
flyMcu工具下载链接:
链接:http://pan.baidu.com/s/1o8MuF0I密码:717j