球虫机器人(ballbot)数学建模及控制方法研究
来源:互联网 发布:淘宝店铺如何更换行业 编辑:程序博客网 时间:2024/05/16 02:46
介绍
球虫机器人如同马戏团里的表演人或者动物在球上控制平衡和移动的节目,球虫机器人通过控制三个电机的正反转来控制篮球移动进而控制整体的移动。球虫机器人方案是使用球的倒立摆朝任何方向移动,使各向同性运动和稳定。我们的机器人有三个全向带有步进电机驱动的篮球和陀螺仪作为姿态传感器.它可以保持站立,绕其纵轴旋转。现我们将采用倒立摆的数学模型控制应用于两轴保持姿态,球加速度作为系统的控制输入,而不是像大多数的倒立摆系统采用扭矩或力作为输入。
机器人结构
我们的球虫机器人是一个491毫米高的原型,图3-1、3-2,我们通过3D打印出高245毫米的机器人,其中重约11斤,这个机器人的底部为直径约246毫米的保龄球,重量为6磅,表面喷涂液体橡胶。球的机械性能没有测量,但它并没有因车轮的接触压力而凹陷,它有足够的车轮和球之间的摩擦使球和地板之间移动。车轮采用直径为100mm的圆形金属全向轮直接连接到电机轴,由于采用金属的轮子重量比较大,即使轮子与电机轴上螺丝之后还是会在转动中掉下,所以采用胶封固定。这三个轮子是固定的对称在120◦区间通过电机轴使它们垂直于球,天顶角φ为50◦。 用于这个机器人只有一个接触线,使它易于在球面上驱动机器人。
机器人控制
机器人使用倒立摆实现控制在两个互相垂直的方向(Vx、Vy)和一个全向球驱动器。机器人姿态与站控机器人的姿态和位置(运动)控制分别在两个正交的方向,简化为二维建模,二维分别为XOZ平面和YOZ平面(图3-3),其中的XOY平面暂不考虑,因为在控制中没有自旋转。取XOZ平面,我们建模采用轮式倒立摆,此模型被假定为一个虚拟车轮控制保持在θ机器人倾斜(图3-4)。式(1)显示典型的PD反馈控制我们的机器人,使用机器人的传感器获取加速度、倾斜角度,如下所获得的参数:
a是控制输入虚拟车轮加速度,θ为倒立摆与球的Z轴夹角,X和Y的v为虚拟的速度。下标x和y轴相关的状态变量和K的恒定增益参数。V和X(Y)进行数值积分加速度Ax,Ay,Vx,Vy获得对球而不是对机器人坐标,即测量值,X = Rψ。虽然这些值几乎与地板运动一致,但计算起来是非常复杂,特别是如果机器人的路径是复杂的。我们可以找到很多作品使用力矩作为输入的倒立摆,但经过查阅文档我们发现使用这个机器人的加速度输入更为稳定,我们采用步进电机作为执行器。干扰影响的一些实验结果表明加速度输入法更具鲁棒性比转矩输入,其详细的分析给出后来。篮球转动的轮速计算
作为显示在图3-5(a),我们定义一个坐标在球的中心。轴是固定在机器人的身体,Z轴是沿垂直线通过球的中心,通过机器人的质量中心,和X和Y轴是垂直的Z轴。为了获得球的角速度ω是通过让车轮之间的接触点和篮球,其位置向量是PI。周速度VI在圆周率对应的球的角度速度ω如下:
推导出球的圆周速度v与车轮对应的关系,如图所示图3-5(d),速度v被分解成Vf和Vs垂直于它。v f由车轮的自由旋转产生圆周轮速。V和VS是相关的其次是引入S,这是单位向量车轮驱动方向:
注意VS的符号是旋转的方向。如果我们决定每个轮子的位置和方向,我们导出速度如下:
i是独立的车轮的数量,所以超过三轮可用于需要重负载或更稳定地支持多球接触(我们最小接触数为三)。如图所示。3-5(b)及(c),各个方向的向量Pi,Si:
下面我们将列出轮子绕各个方向时实际的轮子转速。当轮子绕着X轴转时:
当轮子绕着Y轴转:
当轮子绕着Z轴转:
将三个方向的速度合成可得到真实三个轮子的速度为:
加速度控制输入倒立摆验证
倒立摆如下文所述,使用球加速度输入计算由控制方程代替转矩来驱动球使机器人对惯性的变化相当稳定(图3-6)。加速度是因为它只需要一个速度/位置控制电机(不转矩/电流控制),使系统简单,因为加速度和扭矩有正相关(大致成比例)。这种加速度输入方法工作得很好,我们采取这种方法的因为我们使用了步进电机,简化了机器人。假设对象加载在机器人上,如图3-7所示,倒立摆和惯性矩增大由于载荷重量,提高了质量中心。倒立摆必须抵抗力矩重力加速度,对于扭矩输入,机器人加速电机产生的比例几乎成反比惯性增长。然而,直觉上,惯性对加速度输入的输出影响较小。我们使用Nyquist图进行理论分析。IP,IB,MP和MB作为惯性矩和质量机器人体(摆)和球,R球半径,H摆质心位置的高度,θ摆式倾角,ψ相对球移动的角,和M扭矩适用于球。两组运动方程利用线性化产生三个传递函数拉普拉斯变换:
我们采用开环传递函数,作为Nyquist的控制,可以对比得到加速度作为控制更加稳定
结论
通过3.5中的验证,我们可以看出将加速度作为输入比力矩输入更为稳定。我们已经开发了一个机器人,在垂直轴上滚动、旋转和旋转机器人使用加速度作为控制输入。该方法适用于步进电机和工业电机的速度/位置输入控制器。反转输入的加速度输入倒立摆控制也可能适用于经常使用力/力矩。机器人在稳定状态下波动小,可以携带比自身重的负载,增益不改变。
Development of a Robot Balanced on a Ball
– First Report, Implementation of the Robot and Basic Control –
Masaaki Kumagai∗ and Takaya Ochiai
因为项目原因,当时弄数学模型理解了很久,所以想着分享出来给有需要的人。因为是百度翻译加一些自己的理解,看起来有点怪怪的,别太介意,有问题可留言
- 球虫机器人(ballbot)数学建模及控制方法研究
- 机器人建模,规划和控制
- 水下机器人控制方法的对比--水下球形机器人的运动控制研究
- 数学建模常见的综合评价方法及预测方法
- 数学建模方法大全
- 数学建模方法
- 数学建模常规方法
- ROS环境下机器人建模(XACRO)及常见问题解决
- 数学建模(1)
- 四旋翼飞行器数学建模+轨迹跟踪控制
- 数学建模的十种方法(转)
- 数学建模高级方法(一):关联分析apriori
- 数学建模高级方法(二):层次分析熵权法
- 数学建模高级方法(七):自组织竞争神经网络
- 数学建模高级方法(四):RFM模型
- 数学建模高级方法(五):RBF神经网络
- 数学建模高级方法(十):时间序列模型
- 机器人视觉跟踪与控制研究(一)
- 关于this指向的理解
- 条件概率、全概率公式与贝叶斯公式
- LeetCode076 Minimum Window Substring
- 负反馈
- RxJava2.0教程(五)
- 球虫机器人(ballbot)数学建模及控制方法研究
- bzoj4818【SDOI2017】序列计数 矩阵快速幂+动态规划
- LeetCode077 Combinations
- Myeclipse建立Maven
- matlab 实现图像的二值化、对比度拉伸变化
- 理解python中的__str__, __call__, __init__, __getattr__
- Java封装,继承和多态总结
- Object对象
- 项目中遇到的问题