实用教程|快速搭建自动导航机器人( 二)

来源:互联网 发布:清华大学研究生知乎 编辑:程序博客网 时间:2024/05/17 08:39

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

0 0
原创粉丝点击