基于模型设计自行平衡控制两轮机器人Word文档下载推荐.docx
- 文档编号:18307941
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:18
- 大小:749.65KB
基于模型设计自行平衡控制两轮机器人Word文档下载推荐.docx
《基于模型设计自行平衡控制两轮机器人Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于模型设计自行平衡控制两轮机器人Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
作者
1.0
29Feb2008
首版本
yorihisaYamamoto
1.1
3Mar2008
添加定点控制器处理模型
更新软件
1.2
7Nov2008
修正运动方程
修正控制的模型注释
1.3
28Nov2008
修正广义力学
修正运动和状态方程
添加仿真影像
1.4
1May2009
修改文本
介绍
NXTway-GS是一种由LEGOMINDSTORMSNXT搭建的自平衡两轮机器人。
本文将简要介绍了其基于模型设计方法,左右平衡NXTway-GS的模型控制和在利用MATALB/Simulink软体
时主要内容包括以下几个方面内容。
数学模型
控制器的设计
模型说明
仿真与实验结果
准备
搭建NXTway-GS,请阅读
NXTway-GS搭建的说明
。
你可以在以下网址下载,
本文档基于模型的设计环境中使用的嵌入式编码器机器人NXT
:
阅读
嵌入式编码器机器人NXT说明书(嵌入式编码器机器人NXT的指令
EN.pdf)
和测试范例模型/初步方案。
在文裆中使用软件版本
如下:
软件
EmbeddedCoderRobotNXT
3.14
nxtOSEK(previousnameisLEJOSOSEK)
2.03
Cygwin
1.5.24
GNUARM
4.0.2
所需产品
产品
发布版本
MATLAB®
7.5.0
R2007b
ControlSystemToolbox
8.0.1
Simulink®
7.0
Real-TimeWorkshop®
EmbeddedCoder
5.0
Fixed-PointToolbox(N1)
2.1
FixedPoint(N1)
5.5
VirtualRealityToolbox(N2)
4.6
在没有产品(N1)和(N2)情况下,你可以模拟NXTway-GS模型和生成代码
(N1),运行所需的定点算术控制器模型(nxtway_gs_controller_fixpt.mdl)
(N2),运行所需的虚拟三维可视化(nxtway_gs_vr.mdl)
文件列表
文件
iswall.m
M功能检测在地图上墙
mywritevrtrack.m
M-函数生成地图文件(track.wrl)
nxtway_gs.mdl
NXTway-GS模型(它不需要虚拟现实工具箱)
Nxtway_gs_controller.mdl
NXTway-GS控制器模型(单精度浮点)
nxtway_gs_controller_fixpt.mdl
NXTway-GS控制器模型(定点)
nxtway_gs_plant.mdl
NXTway-GS平台模型
nxtway_gs_vr.mdl
NXTway-GS模型(它需要虚拟现实工具箱)
param_controller.m
控制器参数的M脚本
param_controller_fixpt.m
定点设置的M-脚本(Simulink.NumericType)
Param_nxtway_gs.m
M-NXTway-GS参数的脚本(调用param_***.m)
param_plant.m
平台参数的M脚本
param_sim.m
仿真参数的M脚本
track.bmp
地图图像文件
track.wrl
地图VRML文件
vrnxtwaytrack.wrl
地图和NXTway-GSVRML文件
1基于模型设计
本章简要概述了基于模型的设计。
1.1什么是基于模型设计?
基于模型设计是一种采用仿真模型设计开发软件设计技术。
一般来说,它是被称为MBD的缩写。
为控制系统设计时,设计者完成模型平台和控制器部分的设计,通过在电脑上模拟测试并且实时仿真控制完成设计。
实时仿真使我们由模型设计到最终生成代码的可以不断核实和验证设计。
它是一种快速成型(RP)设计模式,控制器可以实时模拟设备,硬件设备可以在仿真环境下被取代(硬件实物仿真)从而形成一个快速原型的平台化版本。
此外,自动代码生成器类似RTW的EC产品,使我们可以产生嵌入式控制器(包括微处理器,DSP等)的C/C++代码。
图1-1显示了基于MATLAB产品系列的控制系统MBD的过程概念。
图1-1基于MATLAB产品系列的控制系统MBD设计
1.2V模式设计
V模式设计过程如图1-2所示的V-描述MBD的开发过程中的对应的控制系统。
V模式设计过程包括设计,编码和测试阶段。
每个测试阶段对应到相应的设计阶段。
通过重用他们代码的核查和验证的右侧设计,开发人员在左侧的V模式设计过程完成平台/控制器模型控制算法进一步完善。
图1-2V模式设计控制系统
1.3MBD设计优点
MBD有以下优点。
在发展的初期阶段有关规范的错误检测手段
由实时仿真减少硬件原型和故障安全核查
高效测试模型验证
由设计模型完成高效沟通设计
自动代码生成编码的时间和减少错误
2NXTway-GS系统简介
本章介绍NXTway-GS的结构和传感器/执行器。
2.1结构图
图2-1显示了NXTway-GS的结构。
HiTechnic公司的陀螺仪传感器被用来计算物体的俯仰角。
图2-1NXTway-GS
2.2传感器和执行器
表2-1和表2-2显示了传感器和执行器属性
表2-1传感器属性
传感器
输出
单位
数据类型
最大采样时间[1/s]
RotaryEncoder
angle
Deg
int32
1000
UltrasonicSensor
distance
Cm
50(N1)
GyroSensor
angularvelocity
deg/sec
uint16
300
表2-2执行器属性
执行器
DCMotor
PWM
%
Int8
500
(N1):
在检测准确距离前提下,估计得到最大采样率
参考文献[1]说明关于直流电动机的许多属性。
一般来说,传感器和执行器是相互独立的。
尤其是你应该注意到,陀螺仪偏置和陀螺漂移对平衡的控制有很大的影响。
陀螺仪抵消输出不旋转时,陀螺仪传感器和陀螺漂移陀螺仪是随时间变化逐渐抵消的。
3.NXTway-GS建立模型
本章介绍NXTway-GS的数学模型和及其运动方程。
3.1两轮倒立摆模型
NXTway-GS可视为两个轮子的倒立摆模型,如图3-1所示。
图3-1双轮倒立摆
图3-2显示倒立单摆的侧视图和平面视图。
3.2两轮子倒立单摆运动方程中使用的坐标系如图3-2中所述。
图3-2倒立摆轮的侧视图和平面视图
NXTway-GS的物理参数有以下这些:
g=9.81[m/sec^2]:
重力加速度
m=0.03[kg]:
轮子重量
R=0.04[m]:
轮子半径
JW=mR^2/2[kgm^2]:
轮子转动惯量
M=0.6[kg]:
车身重量
W=0.14[m]:
车身宽度
D=0.04[m]:
车身深度
H=0.144[m]:
车身高度
L=H/2[m]:
从轮轴到重心的距离
Jψ=ML^2/3[kgm^2]:
车身俯仰惯性矩
Jφ=M(W^2+D^2)/12[kgm^2]:
车身偏航惯性矩
Jm=1×
10^-5[kgm]:
直流电动机的转动惯量
Rm=6.69[Ω]:
直流电动机的电阻
Kb=0.468[Vsecrad]:
直流电动机反电动势常数
Kt=0.317[NmA]:
直流电动机的转矩常数
n=1:
变速比
fm=0.0022:
车身和直流电动机之间的摩擦系数
fW=0:
车轮和地面之间的摩擦系数
我们使用在参考【2】中Rm,Kb,Kt的值,由于Jm,n,fm,fw难以测量,故假定部分使用的值。
3.2两轮倒立摆的运动方程
基于图3-2中的坐标系统,由拉格朗日方法我们可以推导出两轮倒立摆的运动方程
如果两轮倒立摆的方向是在
t
=0
时刻X轴的正方向
,每个坐标将假定以下。
平移的动能为T1,转动的动能为T2,势能为U它们的方程式为
T2中第五和第六两个数学表达式是左右两边的直流电动机的电枢的转动动能。
拉格朗日L有以下的表达式。
在广义坐标系下定义这些变量。
θ:
左右轮子的平均角度
ψ:
车身的仰角
φ:
车身摆角
拉格朗日方程组如下:
我们得出下列公式评估式(3.10)
-
(3.12)
在考虑直流电动机转矩和粘滞摩擦,广义力给出以下
il,r是直流电动机的电流。
我们不能用直流电动机的电流直接以控制它,因为它是基于PWM(电压)控制。
因此通过直流电动机方程,我们评估的电流il,r之间的关系电压Vl,r。
如果电机内部的摩擦可以忽略不计,直流电动机方程是一般如下:
在这里,我们认为电机电感是微不足道的,近似为零。
因此电流表达式如下:
从式(3.21),受力方程可以使用电机的电压来表示。
3.3两轮倒立摆的状态方程
基于现代控制理论的状态方程,我们可以得出NXTway-GS线性化运动方程平衡点。
这意味着,我们假定Limitψ→0(Sinψ→ψ,cosψ→1),同时忽略第二个数学表达式ψ2,则运动方程近视如式(3.13)
(3.15)
方程式(3.26)和(3.27)有θ和ψ式,方程式中(3.28)仅有θ。
这些方程式可以表示为以下形式
在这里我们假定以下变量X1,X2作为状态,和u作为输入。
表示x的变换。
因此,我们可以从而推导出两轮倒立摆的状态方程式(3.29)和(3.30)。
4.NXTway-GS控制部分设计
本章介绍NXTway-GS基于现代控制理论的控制器设计(两轮倒立摆)。
4.1控制系统
控制系统的特性包括以下几点:
输入和输出
尽管在方程(3.31)输入u为电压,实际输入的是通过PWM占空比完成左右两边的直流电动机的控制输入。
传感器的输出是直流电动机角θml,r和身体的俯仰角速度ψ。
图4-1输入和输出
这是很容易通过评估θ,φ的θml,r,,通过
有两种方法来评估ψ。
1.积分角速度数值推导出ψ。
2.采用基于现代控制理论中的一个参量估计ψ。
我们使用方法1下面的控制器设计。
稳定性
这是很容易理解NXTway-GS平衡位置并不稳定。
我们要继续在同一方向的身俯仰角NXTway-GS保持平衡。
现代控制理论提供了许多技术来稳定系统不稳定。
(见附录A)
4.2控制器设计
方程(3.29)是一种类似质量-弹簧-
阻尼系统的力学方程。
图4-2显示了两轮倒立摆的诠释为质量-弹簧-
阻尼系统的等效系统图。
图4-2质量-弹簧-
阻尼系统图
我们发现我们可以通过调整如图4-2所示的弹簧常数和阻尼摩擦常数来稳定两轮倒立摆。
这样可以利用附录中所述的控制技术的理论方法来计算这些常数。
我们使用附录A.3提到的伺服控制器完成NXTway-GS控制器并且选择θ作为伺服控制器参考。
重要的是我们使用θ作为参考,同θ相比不能使用其他变量,否则系统将变得无法控制。
图4-3展示了NXTway-GS的伺服控制器的框图。
图4-3NXTway-GS的伺服控制器的框图
通过线性二次调节方法,我们计算反馈增益和积分增益。
我们选择由实验性的试验和误差得来的下面权重矩阵Q和R。
Q(2,2)是车身俯仰角的权重设置,Q(5,5)是测量平均角度和参考角度之间的差异时间积分的权重。
param_controller.m计算线性二次型调节,并定义其他参数。
它的增益计算部分源代码如下:
其计算结果如下:
kf=[-0.8351,-34.1896,-1.0995,-2.8141]
ki=-0.4472
因为它NXTway-GS的过度的波动,我们调整的速度增益kf(3)线性二次型调节计算后的值。
更多我们添加下面控制
z旋转NXTway-GS通过不同的左右马达转速
z当NXTway-GS需要直线前行时,由于直流电动机的旋转角度是不一样的,即使相同的PWM时,也需要通过比例器控制两个轮子同步
因此我们推导出如图4-4所示NXTway-GS控制器。
这里
,
是整定参数。
图4-4NXTway-GS控制器框图
5.NXTway-GS模型
6.NXTway-GS平台模型
7.控制器模型(单精度浮点运算)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 模型 设计 自行 平衡 控制 轮机