智能小车差速系统控制

前言

现在C车已经由原来的一个电机控制车辆速度转为现在的两个电机分别控制两个轮子的转动,那么B车所拥有的机械差速在C车上将不再存在,所以我查了一些资料,总结出一些有关于差速控制的说明。

原理分析

PID

PID是比例积分微分控制算法,再反馈调节的作用西保持系统的稳定,在差速系统中主要运用他来进行两路电机的速度匹配,能够实现直线行驶的稳定。本文章只对PID控制算法做简单说明。

弯道状态分析

本次采用的模型为ackermann 模型,该模型较为理想化,但用在C车上效果还是比较显著的,可以参考后根据需要使用。
请添加图片描述

如图,现假设B为小车后两轮的轮距,L为小车前轮到后轮的距离。假设此处最优为最优路径,此时小车左方与车辆正前方的夹角为α(α有正有负),使转弯半径在左侧与后两轮平行且对其得到半径为R,此时小车后两轮的角速度相等,即小车后轮的
ω_left=ω_right
设小车两后轮中间位置的速度为V,则
V_left/Rin=V_right/Rout=V/R
R=L/tanα Rin=R-B/2 Rout=R+B/2
由此可得小车左右后轮的速度分别为:
参考文章的计算结果:
左轮:V_left=V*(1+Btanα/2L)
右轮:V_right=V
(1-Btanα/2L)
自己的计算结果:
左轮:V_left=V
(1-Btanα/2L)
右轮:V_right=V*(1+Btanα/2L)

代码实现

unsigned int speed_want;//小车行驶的期望速度
float t;//tanα结果
V_left = speed_want * (1 - (B*t) / (2*L));//左轮速度
V_left = speed_want * (1 + (B*t) / (2*L));右轮速度

其他

本文中V为小车行驶的期望速度(也可理解为小车在赛道上行驶的直线速度),文章中计算结果有两个,一个为参考文章所提供的,另一个是我根据公式计算的结果,使用者可以根据不同来选择使用。

  • 15
    点赞
  • 228
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
循迹小车差速PID控制是通过使用PID算法来实现小车在赛道上的循迹。差速PID控制是指通过控制左右两个驱动轮的转速差异来实现小车的转向控制。下面是一个示例代码来演示循迹小车差速PID控制的实现: ```python import time # PID参数 kp = 0.5 ki = 0.2 kd = 0.1 # 初始化误差和积分项 error = 0 integral = 0 last_error = 0 # 循迹小车的传感器读取函数 def read_sensor(): # 在这里读取循迹小车的传感器数据 # 返回一个表示传感器读数的值,例如黑线为0,白线为1 pass # 差速PID控制函数 def pid_control(): global error, integral, last_error # 读取传感器数据 sensor_value = read_sensor() # 计算误差 error = sensor_value - 0.5 # 计算积分项 integral += error # 计算微分项 derivative = error - last_error # 计算PID输出 output = kp * error + ki * integral + kd * derivative # 更新上一次的误差 last_error = error # 返回PID输出 return output # 主循环 while True: # 使用PID控制计算转向控制量 control = pid_control() # 根据转向控制量控制左右驱动轮的转速差异 # 在这里实现控制小车转向的代码 # 延时一段时间 time.sleep(0.1) ``` 在上面的代码中,我们首先定义了PID参数,然后在`pid_control`函数中实现了差速PID控制算法。在主循环中,我们通过调用`pid_control`函数来获取转向控制量,然后根据转向控制量来控制左右驱动轮的转速差异,从而实现小车的转向控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值