参加第二十届的车友们大家好,今天给大家分享第二十届平衡轮腿组浅析。关于轮腿组的规则卓老师已在CSDN上发布两三个月了,大家应该都有阅读,今年轮腿组是第一年加入智能车竞赛。相较于以往组别,轮腿组的灵活性更强,但同时任务量有所增加,除了轮腿的平衡控制以外,任务还集中在腿部的控制和硬件驱动两个方面。相较于以往平衡车,其实轮腿带来的变化并不太大,同时轮腿因为可以变化腿部,控制上限更高,更容易发挥出大家的创意,难点应该在如何做好腿部运动下的平衡控制,硬件设计和竞速这三件事上。
提到轮腿,大家首先想到的是车模可以跳跃了,但其实对于轮腿组别的车模,并非能跳的就是越好。首先,因为还是要把平衡做完美,智能车竞赛终究还是竞速赛,想要在目前设定的赛道上跑出好的速度,车模的平衡性一定要良好,否则可能遇到半路摔跤等问题,反而不行;其次因为主板、驱动板、舵机板、电池、陀螺仪等关键部件必不可少,将这些部件安装在车模上,要考虑好车子重心,否则反而会给平衡增加难度。而且车模的重心不宜偏高,不利于转向控制,容易出现侧翻情况。
对于硬件来说,将板子的集成度很高,会增加负责硬件同学的压力,但同时提升了硬件同学的竞赛参与感。车模作品的临场适应能力很重要,想要稳定的发挥出小车平时训练的速度,需要各位更深入细致的考究和打磨硬件电路,防止出现跟本鸭去年同样的硬件问题。车友们需根据自身实际情况来挑选适合自己的方案。
虽然以前就引入了平衡车模,但是针对今年的新变化,对于刚参加比赛的同学来说,想要做好且能在比赛中脱颖而出依然是一项具有一定难度的挑战。所以本文将针对这一组别进行简单的赛题分析和备赛思路浅析,为新老车友提供一点备赛思路上的参考,愿可达鸭能够陪伴大家一起成长。
第二十届全国大学生智能汽车竞赛的比赛规则可以在卓老师CSDN的博客找到,跳转链接:https://blog.csdn.net/zhuoqingjoking97298/article/details/143673441
轮腿组相较于其他组别,多了跳跃控制。想要跳跃做的好简简单单的两腿一蹬的鲁棒性很差,跳跃成功率很低。所以准备了这篇文章。
根据部分开源的方案,我们的控制首先将腿折叠到最低位置,向前运动到期望速度;通过距离传感器探测距离,当达到起跳距离时触发起跳;起跳时首先展开腿部,当滞空时再收缩腿部,这是为了避免碰撞;在空中时,不再采用地面运动控制器,而是采用特殊处理或使用空中姿态控制器;当检测到着陆后,再切换回地面运动控制器。
首先我们要知道一点,能量守恒!轮腿车模(以下称轮腿)在空中始终遵循动量矩守恒定理,即当合外力矩为零时,其动量矩保持不变。表述动量矩守恒条件的定理:质点不受力或作用力对某固定点(或轴)之矩始终等于零时,该质点对该点 (或轴)的动量矩保持不变。质点系所受外力对某固定点 (或轴)之矩的和始终等于零时,该质点系对该点(或轴)的动量矩保持不变。
那么思考一下,在空中轮子的旋转会影响轮腿的俯仰角。此时,我们可以将系统简化为二维空间的轮足倒立摆动量矩守恒控制,轮子以外车的所有质量都集中于质心。
对摆杆受力分析有:
在上述公式中,第一项LMRcos(θ)(θ_ω ) ̈描述轮子转动对摆杆角力矩的影响;第二项(I_b+L^2 M)θ ̈描述摆杆自身惯性对力矩的影响;第三项MgLsin(θ)描述重力对摆杆力矩的影响;τ_0描述外部力矩对系统动力学的影响。通过分析这些项,可以设计控制器来稳定系统的俯仰角。
对(1),在θ=0°附近线性化,得:
在上述公式中,第一项 表示重力对摆杆的影响;第二项 表示轮子转动对摆杆影响;第三项 表示外部力矩对摆杆影响。
不难看出,当轮腿处于腾空状态时,通过动量矩守恒原理,假如当俯仰角逆时针偏离期望姿态时,轮子会顺时针转动补偿缺失的动量矩以维持机身保持期望的俯仰角。
通过一个比例增益就可以实现稳定的空中姿态控制:
腿部长度的变化会影响整机的动量矩,可能与轮子的控制发生耦合,导致系统失效。所以在切入空中姿态控制器时,应确保腿长不再变化。
一般认为收缩腿部的时候,就能够实现从陆地状态到腾空状态的转换。但是落地高度未知,从腾空模式向着陆模式切换的时候,并没有切换条件帮助我们感知落地状态。(目前有方案但有待考究)
对于并联式轮腿来说,可以通过加速度计与髋关节的力矩反馈解算地面对机器人驱动轮竖直向上的支持力,从而判断机器人是否离地。那么新的问题又来了,怎么反馈法?先亮出一个还未考究的方案,后续在作其他商讨。(最佳是加传感器检测反馈信号)
在无法获取舵机力矩信息且无反馈信号的情况下,只能通过 PWM 信号控制舵机旋转到指定角度。可以通过动力学建模和开环控制来估算舵机对跳跃的支持力。舵机的输出力矩与其输入PWM信号之间存在一定的映射关系。轮腿的腿部关节的运动是准静态的(即加速度较小,惯性力可忽略)。
将腿部简化为刚性连杆,关节由舵机驱动。在跳跃过程中,腿部关节需要提供支持力,以克服重力并产生起跳加速度。假设腿部质量为m ,质心到关节的距离为l。
支持力F与舵机输出力矩τ 的关系为:
由于无法直接获取舵机输出力矩τ,可以通过测量舵机在不同PWM信号下的输出力矩,映射关系:
于是我们可以‘抽象’的控制,起跳时控制腿部关节快速伸展,提供足够的支持力F以克服重力并产生起跳加速度。支持力F为:
其中:
在空中时,腿部关节保持固定角度,舵机不输出力矩。通过轮子的转动调节系统的动量矩,保持躯干姿态稳定。落地阶段控制腿部关节弯曲,吸收落地冲击。支持力F为:
其中:
注意,这仅仅是一个思路,可行性尚未验证。局限于舵机的开环控制,由于无法获取舵机的实时反馈,支持力的解算可能存在错误,建议直接使用z轴加速度计数据来的直接。当我们小车高速运动或高加速度情况下,惯性力的影响是不可忽略的,需要在动力学模型中引入惯性补偿。