Dashgo底盘入门教程-软件-蓝牙的使用
Dashgo底盘入门教程-软件-蓝牙的使用
说明:
- 介绍如何通过蓝牙来控制dashgo底盘
D1 的物理参数
- wheel_diameter: 0.1260 //轮子直径,单位:米
- wheel_track: 0.3500 //两个轮子的间距,单位:米
- encoder_resolution: 1200 //编码器分辨率, 轮子转一圈,编码器产生的脉冲数
- PID_RATE: 30 //PID调节PWM值的频率
速度控制指令
- 基本的速度指令格式,如下:
z 20 -20;
- 说明:指令用于设置在单位时间(1/PID_RATE 秒)内 D1 移动期望编码器的脉冲数。
- 第一个参数用于设置左轮的速度,第二参数用于设置右轮的速度, 正数代表向前移动,负数代表向后移动。
- 注意:这里所说的速度不是以m/s的速度, 而是需要一定的计算来和m/s进行换算。
线速度测试
- 假如 D1 以0.3m/s的速度前进,指令的参数计算方法如下:
- D1 轮子转动一圈,移动的距离为轮子的周长:wheel_diameter * 3.1415926
- D1 轮子转动一圈,编码器产生的脉冲信号为:encoder_resolution
- 所以每移动1米产生脉冲信号为:
ticks_per_meter
= encoder_resolution /(wheel_diameter*3.1415926)
= 1200/(0.12*3.1415926)
= 3183.10
- D1 以V=0.3m/s的速度前进,1秒钟内产生的脉冲信号为:V * ticks_per_meter
- 又因为 PID 的频率是1秒钟30次。所以,指令的参数计算方法为:
int(V * ticks_per_meter / PID_RATE)
= int(0.3 * 3183.10/30)
= 32
- 所以,如果设置 D1 以0.3m/s的速度前进,指令输入为:
z 32 32;
- 如果以0.3m/s的速度后退,指令输入为:
z -32 -32;
角速度测试
- 假如 D1 自转,就需要一个轮子正转,一个轮子反转。
- 例如,需要 D1 以V=1弧度/秒的速度转动。计算方法如下:
左轮 vl = V * wheel_track / 2.0
右轮 vr = -1 * V * wheel_track / 2.0
- 然后,按公式 int(V * ticks_per_meter / PID_RATE) 分别计算左轮和右轮的速度参数。
- 若以1弧度/秒的速度转动,指令输入为:
z 19 -19;
线速度与角速度联测
- 假如 D1 向左转弯,就需要一个轮子向前转,一个轮子向后转。
- 例如,需要 D1 以V1=1弧度/秒的速度转动,V2=0.2m/s的速度前进。
- 计算方法如下:
左轮 vl = V2 + V1 * wheel_track / 2.0
右轮 vr = V2 - V1 * wheel_track / 2.0
- 然后,按公式 int(V * ticks_per_meter / PID_RATE) 分别计算左轮和右轮的速度参数。
- 若以1弧度/秒的速度转动,指令输入为:
z 40 3;
- 注意:当需要 D1 持续运动是,需要不断地下发指令,如果下位机2秒内没收到指令,D1 将停止运行。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号