三轮全向机器人原理及matlab仿真

合集下载

MATLAB中的三相异步电动机仿真

MATLAB中的三相异步电动机仿真

目录前言 (1)1 异步电动机动态数学模型 (2)1.1电压方程 (2)1.2磁链方程 (3)1.3转矩方程 (5)1.4运动方程 (6)2 坐标变化和变换矩阵 (8)2.1三相--两相变换(3/2变换) (8)3 异步电动机仿真 (9)3.1异步电机仿真框图及参数 (9)3.2异步电动机的仿真模型 (12)4 仿真结果 (16)5 结论 (17)参考文献 (18)前言随着电力电子技术与交流电动机的调速和控制理论的迅速发展,使得异步电动机越来越广泛地应用于各个领域的工业生产。

异步电动机的仿真运行状况和用计算机来解决异步电动机控制直接转矩和电机故障分析具有重要意义。

它能显示理论上的变化,当异步电动机正在运行时,提供了直接理论基础的电机直接转矩控制(DTC),并且准确的分析了电气故障。

在过去,通过研究的异步电动机的电机模型建立了三相静止不动的框架。

研究了电压、转矩方程在该模型的功能,同相轴之间的定子、转子的线圈的角度。

θ是时间函数、电压、转矩方程是时变方程这些变量都在这个运动模型中。

这使得很难建立在αβ两相异步电动机的固定框架相关的数学模型。

但是通过坐标变换,建立在αβ两相感应电动机模型框架可以使得固定电压、转矩方程,使数学模型变得简单。

在本篇论文中,我们建立的异步电机仿真模型在固定框架αβ两相同步旋转坐标系下,并给出了仿真结果,表明该模型更加准确地反映了运行中的电动机的实际情况。

1 异步电动机动态数学模型在研究三相异步电动机数学模型时,通常做如下假设 1) 三相绕组对称,磁势沿气隙圆周正弦分布;2) 忽略磁路饱和影响,各绕组的自感和互感都是线性的; 3) 忽略铁芯损耗4) 不考虑温度和频率对电阻的影响异步电机的数学模型由下述电压方程、磁链方程、转矩方程和运动方程组成。

1.1 电压方程三相定子绕组的电压平衡方程为(1-1)与此相应,三相转子绕组折算到定子侧后的电压方程为(1-2)式中 A u , B u , C u , a u , b u ,c u —定子和转子相电压的瞬时值;A i ,B i ,C i , a i , b i ,c i —定子和转子相电流的瞬时值;A ψ,B ψ,C ψ, a ψ, b ψ,c ψ—各相绕组的全磁链; Rs, Rr —定子和转子绕组电阻上述各量都已折算到定子侧,为了简单起见,表示折算的上角标“ ’”均省略,以下同此。

利用matlab的机器人试验仿真

利用matlab的机器人试验仿真

选择MATLAB2016a版,高版本不能安装。

安装好按照下面的操作做出来,然后截图做成Word文档发给我。

MATLAB2016a版同学们网上下载安装,安装方法网上随便可找到。

机器人工具箱我发给你们。

一、将文件夹放到MATLAB安装文件夹指定目录下放到安装目录的toolbox文件夹下,如下图是笔者的电脑的位置,其中那个installation address是我自己取得名字,英语不好,不要见怪。

三、打开MATLAB软件,进行手动启动(1)打开matlab,依次点击file(文件)-setpath(设置路径)-add with subfolder (添加子文件夹),然后选择这个rvctools文件夹就好了,然后save(保存)-close (关闭)(2)在命令行窗口输入startup_rvc,回车,如图,显示了一段英语,我恩可以看到,版本是9.10。

本文主要是给大家一个系统的概念,如何用Matlab实现六轴机器人的建模和实现轨迹规划。

以后将会给大家讲解如何手写正逆解以及轨迹插补的程序。

程序是基于Matlab2016a,工具箱版本为Robotic Toolbox 9.10。

1.D-H建模三个两两相互垂直的XYZ轴构成欧几里得空间,存在六个自由度:沿XYZ 平移的三个自由度,绕XYZ旋转的三个自由度。

在欧几里得空间中任意线性变换都可以通过这六个自由度完成。

Denavit-Hartenberg提出的D-H参数模型能满足机器人学中的最小线性表示约定,用4个参数就能描述坐标变换:绕X轴平移距离a;绕X轴旋转角度alpha;绕Z轴平移距离d;绕Z轴旋转角度theta。

2.标准D-H模型和改进D-H模型对比来看参数并没有改变,标准的D-H 模型是将连杆的坐标系固定在该连杆的输出端(下一关节),也即坐标系i-1与关节i对齐;改进的D-H模型则是将坐标系固定在该连杆的输入端(上一关节),也即坐标系i-1与关节对齐i-1。

MATLAB建模与仿真应用程序_第12章 机器人控制系统的设计与仿真

MATLAB建模与仿真应用程序_第12章 机器人控制系统的设计与仿真
1. 仿真实例一:针对带有摩擦的情况
根据动力学模型及控制律完成控制器 S 函数“chap12_1ctrl.m”、 被控对象 S 函数“chap12_1plant.m”及作图程序“chap12_1plot.m” M文件的编写。
12.1 基于模糊补偿的机器人自适应模糊控制
12.1.4 仿真实例
1. 仿真实例一:针对带有摩擦的情况 9. 运行仿真模型
系统函数模块的参数设置
12.1 基于模糊补偿的机器人自适应模糊控制
12.1.4 仿真实例
1. 仿真实例一:针对带有摩擦的情况 4. 模型参数设置
数据输出模块 的参数设置
仿真时间模块的参数设置
12.1 基于模糊补偿的机器人自适应模糊控制
12.1.4 仿真实例
1. 仿真实例一:针对带有摩擦的情况
5. 仿真参数设置
12.2 工作空间中机器人的神经网络自适应控制
12.2.4 仿真实例
6. 运行仿真模型
末关节节点的位置跟踪
末关节节点的速度跟踪
12.2 工作空间中机器人的神经网络自适应控制
12.2.4 仿真实例
6. 运行仿真模型
末关节节点的位置跟踪
的逼近
第12章 结束
自适应模糊控制器的设计,不需要对被控对象建立精确的数学 模型,它能对模糊系统的参数进行在线调整,设计合适的自适应律 来保证控制系统的稳定性。
12.1 基于模糊补偿的机器人自适应模糊控制
12.1.1 机器人动力学模型建立
机器人系统的动力学模型反映了系统中各个关节位置、速度和加速度 三者之间的数学关系。
普通高等教育系列教材
MATLAB 建模与仿真应用教程
MATLAB建模与仿真应用教程 第12章 机器人控制系统的设计与仿真

三轮全向机器人原理与matlab仿真设计

三轮全向机器人原理与matlab仿真设计

11
3.4. 传感器设计 ........................................................
12
3.5. 控制器设计 .........................................................
13
3.5.1 电机控制器设计 . ...............................................
20
4.1 x 轴方向的误差 ......................................................
20
4.2 y 轴方向的误差 ......................................................
20
4.3 前进方向偏角 ......................................................
21
4.4 速度误差 ...........................................................
21
五、致 .....................................................................
22
六、附录(路径规划函数) ....................................................
4.1 x 轴方向的误差
我们的设计
从两图对比可以看出,我们的性能比学长的提高了
300%。
学长的设计
4.2 y 轴方向的误差
22

MATLAB机器人仿真程序

MATLAB机器人仿真程序

附录MATLAB 机器人工具箱仿真程序:1)运动学仿真模型程序(Rob1.m)L1=link([pi/2 150 0 0])L2=link([0 570 0 0])L3=link([pi/2 130 0 0])L4=link([-pi/2 0 0 640])L5=link([pi/2 0 0 0])L6=link([0 0 0 95])r=robot({L1 L2 L3 L4 L5 L6})=’MOTOMAN-UP6’ % 模型的名称>>drivebot(r)2)正运动学仿真程序(Rob2.m)L1=link([pi/2 150 0 0])L2=link([0 570 0 0])L3=link([pi/2 130 0 0])L4=link([-pi/2 0 0 640])L5=link([pi/2 0 0 0])L6=link([0 0 0 95])r=robot({L1 L2 L3 L4 L5 L6})=’MOTOMAN-UP6’t=[0:0.01:10];%产生时间向量qA=[0 0 0 0 0 0 ]; %机械手初始关节角度qAB=[-pi/2 -pi/3 0 pi/6 pi/3 pi/2 ];%机械手终止关节角度figure('Name','up6机器人正运动学仿真演示');%给仿真图像命名q=jtraj(qA,qAB,t);%生成关节运动轨迹T=fkine(r,q);%正向运动学仿真函数plot(r,q);%生成机器人的运动figure('Name','up6机器人末端位移图')subplot(3,1,1);plot(t, squeeze(T(1,4,:)));xlabel('Time (s)');ylabel('X (m)');subplot(3,1,2);plot(t, squeeze(T(2,4,:)));xlabel('Time (s)');ylabel('Y (m)');subplot(3,1,3);plot(t, squeeze(T(3,4,:)));xlabel('Time (s)');ylabel('Z (m)');x=squeeze(T(1,4,:));y=squeeze(T(2,4,:));z=squeeze(T(3,4,:));figure('Name','up6机器人末端轨迹图'); plot3(x,y,z);3)机器人各关节转动角度仿真程序:(Rob3.m)L1=link([pi/2 150 0 0 ])L2=link([0 570 0 0])L3=link([pi/2 130 0 0])L4=link([-pi/2 0 0 640])L5=link([pi/2 0 0 0 ])L6=link([0 0 0 95])r=robot({L1 L2 L3 L4 L5 L6})='motoman-up6't=[0:0.01:10];qA=[0 0 0 0 0 0 ];qAB=[ pi/6 pi/6 pi/6 pi/6 pi/6 pi/6]; q=jtraj(qA,qAB,t);Plot(r,q);subplot(6,1,1);plot(t,q(:,1));title('转动关节1');xlabel('时间/s');ylabel('角度/rad');subplot(6,1,2);plot(t,q(:,2));title('转动关节2');xlabel('时间/s');ylabel('角度/rad');subplot(6,1,3);plot(t,q(:,3));title('转动关节3');xlabel('时间/s');ylabel('角度/rad');subplot(6,1,4);plot(t,q(:,4));title('转动关节4');xlabel('时间/s');ylabel('角度/rad' );subplot(6,1,5);plot(t,q(:,5));title('转动关节5');xlabel('时间/s');ylabel('角度/rad');subplot(6,1,6);plot(t,q(:,6));title('转动关节6');xlabel('时间/s');ylabel('角度/rad');4)机器人各关节转动角速度仿真程序:(Rob4.m)t=[0:0.01:10];qA=[0 0 0 0 0 0 ];%机械手初始关节量qAB=[ 1.5709 -0.8902 -0.0481 -0.5178 1.0645 -1.0201]; [q,qd,qdd]=jtraj(qA,qAB,t);Plot(r,q);subplot(6,1,1);plot(t,qd(:,1));title('转动关节1');xlabel('时间/s');ylabel('rad/s');subplot(6,1,2);plot(t,qd(:,2));title('转动关节2');xlabel('时间/s');ylabel('rad/s');subplot(6,1,3);plot(t,qd(:,3));title('转动关节3');xlabel('时间/s');ylabel('rad/s');subplot(6,1,4);plot(t,qd(:,4));title('转动关节4');xlabel('时间/s');ylabel('rad/s' );subplot(6,1,5);plot(t,qd(:,5));title('转动关节5');xlabel('时间/s');ylabel('rad/s');subplot(6,1,6);plot(t,qd(:,6));title('转动关节6');xlabel('时间/s');ylabel('rad/s');5)机器人各关节转动角加速度仿真程序:(Rob5.m)t=[0:0.01:10];%产生时间向量qA=[0 0 0 0 0 0]qAB =[1.5709 -0.8902 -0.0481 -0.5178 1.0645 -1.0201]; [q,qd,qdd]=jtraj(qA,qAB,t);figure('name','up6机器人机械手各关节加速度曲线');subplot(6,1,1);plot(t,qdd(:,1));title('关节1');xlabel('时间 (s)');ylabel('加速度 (rad/s^2)');subplot(6,1,2);plot(t,qdd(:,2));title('关节2');xlabel('时间 (s)');ylabel('加速度 (rad/s^2)');subplot(6,1,3);plot(t,qdd(:,3));title('关节3');xlabel('时间 (s)');ylabel('加速度 (rad/s^2)')subplot(6,1,4);plot(t,qdd(:,4));title('关节4');xlabel('时间 (s)');ylabel('加速度 (rad/s^2)')subplot(6,1,5);plot(t,qdd(:,5));title('关节5');xlabel('时间 (s)');ylabel('加速度 (rad/s^2)')subplot(6,1,6);plot(t,qdd(:,6));title('关节6');xlabel('时间 (s)');ylabel('加速度 (rad/s^2)')如有侵权请联系告知删除,感谢你们的配合!。

三轮全向机器人原理及matlab仿真

三轮全向机器人原理及matlab仿真

计算机辅助设计报告三轮全向移动机器人运动控制仿真9004 余杨广9019 沈阳9031 陈斌人员分工:余杨广:总体负责,系统理解及控制器设计,PPT制作,后期报告审查及修改陈斌:PPT制作,报告撰写沈阳:资料收集,辅助其余两人完成任务目录一、............................................................. 实验目的错误!未定义书签。

二、实验原理..............................................错误!未定义书签。

控制对象——三轮全向机器人..........................错误!未定义书签。

控制系统结构.........................................错误!未定义书签。

三、实验内容..............................................错误!未定义书签。

电机模型..............................................错误!未定义书签。

物理建模..........................................错误!未定义书签。

Simulink模块搭建................................错误!未定义书签。

无刷直流电机仿真模型的验证........................错误!未定义书签。

运动学模型............................................错误!未定义书签。

物理建模..........................................错误!未定义书签。

Simulink模块搭建................................错误!未定义书签。

路径规划.............................................错误!未定义书签。

三轮全向机器人运动特性分析

三轮全向机器人运动特性分析

三轮全向机器人运动特性分析1.全方向移动能力:三轮全向机器人通过将三个轮子安装在平衡的位置上,可以实现全方向移动。

每个轮子都可以独立地控制并进行旋转。

这使得机器人在狭小的空间内可以自由移动,并能够在任意方向上快速转向。

这种特性使得三轮全向机器人在繁忙的环境中具有灵活性和机动性。

2.高度可交互性:三轮全向机器人还具有很高的可交互性。

它可以通过传感器和摄像头来感知周围环境,并能够与人进行有效的交互。

这使得机器人可以在人群中安全运动,并可以执行一些与人互动的任务,如自主导航、传递物品等。

这种可交互性使得三轮全向机器人在服务行业中有广泛的应用潜力。

3.运动灵活性:三轮全向机器人具有非常好的运动灵活性。

不仅可以在水平面上自由移动,还可以实现沿任意方向的旋转。

这种灵活性使得机器人可以根据不同的任务需求进行自适应运动,并可以在狭小的空间中灵活穿梭。

这种运动灵活性使得机器人在仓储、物流和生产等领域具有广泛的应用前景。

4.稳定性和准确性:三轮全向机器人在移动过程中具有良好的稳定性和准确性。

由于每个轮子都可以独立控制,机器人可以根据需要进行微调和平衡,这使得机器人可以在不同地面上保持稳定移动。

此外,机器人还可以通过精确控制轮子的旋转来实现精确定位和导航。

这种稳定性和准确性使得机器人能够执行一些精确度要求较高的任务,如精确导航、运输和操作等。

尽管三轮全向机器人具有上述的优势特点,但也存在一些挑战和限制。

例如,由于机器人需要较强的计算能力和感知能力来实现全方向移动和交互功能,所以需要配备先进的计算控制系统和感知设备。

此外,机器人在特殊地形上的运动性能可能会受到限制,如不平整地面、斜坡等。

因此,在设计和应用三轮全向机器人时需要综合考虑这些限制因素,以实现机器人的良好性能和可靠性。

总的来说,三轮全向机器人在机动性、交互性、灵活性、稳定性和准确性方面具有优势。

它在服务行业、仓储物流和生产等领域有广泛的应用前景,可以帮助人们提高工作效率和生活质量。

三轮全向机器人原理及matlab仿真

三轮全向机器人原理及matlab仿真

计算机辅助设计报告三轮全向移动机器人运动控制仿真9004 余杨广9019 沈阳9031 陈斌人员分工:余杨广:总体负责,系统理解及控制器设计,PPT制作,后期报告审查及修改陈斌:PPT制作,报告撰写沈阳:资料收集,辅助其余两人完成任务目录一、实验目的............................................................................................错误!未定义书签。

二、实验原理............................................................................................错误!未定义书签。

控制对象——三轮全向机器人....................................................错误!未定义书签。

控制系统结构 .........................................................................................错误!未定义书签。

三、实验内容............................................................................................错误!未定义书签。

电机模型....................................................................................................错误!未定义书签。

物理建模............................................................................................错误!未定义书签。

轮全向机器人原理及matlab仿真

轮全向机器人原理及matlab仿真

轮全向机器人原理及m a t l a b仿真--------------------------------------------------------------------------作者: _____________--------------------------------------------------------------------------日期: _____________计算机辅助设计报告三轮全向移动机器人运动控制仿真004 余杨广沈阳人员分工:余杨广:总体负责,系统理解及控制器设计,PPT制作,后期报告审查及修改陈斌:PPT制作,报告撰写沈阳:资料收集,辅助其余两人完成任务目录一、实验目的.............................................................................................................................二、实验原理.............................................................................................................................2.1控制对象——三轮全向机器人.....................................................................................2.2 控制系统结构 ...................................................................................................................三、实验内容.............................................................................................................................3.1电机模型 ............................................................................................................................3.1.1物理建模 ..................................................................................................................3.1.2 Simulink模块搭建.....................................................................................................3.1.3无刷直流电机仿真模型的验证..............................................................................3.2运动学模型 ........................................................................................................................3.2.1物理建模..................................................................................................................3.2.2 Simulink模块搭建 ....................................................................................................3.3 路径规划 ...........................................................................................................................3.4. 传感器设计 .....................................................................................................................3.5.控制器设计 .......................................................................................................................3.5.1 电机控制器设计......................................................................................................3.5.2 运动控制器设计 ....................................................................................................3.6 观测器 ...............................................................................................................................四、结果验收 ....................................................................................................................................4.1 x轴方向的误差 ................................................................................................................4.2 y轴方向的误差 ................................................................................................................4.3 前进方向偏角θ .................................................................................................................4.4 速度误差 ...........................................................................................................................五、致谢 ............................................................................................................................................六、附录(路径规划函数).............................................................................................................一、实验目的(一)建立三轮全向机器人系统的数学模型,然后基于simulink建立该系统的仿真模型并设计控制器,最终满足控制要求;(二)控制的最终目的是使该机器人能够良好跟踪预期的运动轨迹;(三)通过对复杂系统的分析、建模、仿真、验证,全面提高利用计算机对复杂系统进行辅助设计的能力;(四)通过集体作业、分工完成任务的方式培养团队意识,提高团队集体攻关能力二、实验原理2.1控制对象——三轮全向机器人三轮全向移动机器人其驱动轮由三个全向轮组成,径向对称安装,各轮互成120°角,滚柱垂直于各主轮。

三轮机器人的运动学分析

三轮机器人的运动学分析

三轮机器人的运动学分析为了精确的定位及可靠地控制机器人,有必要对机器人进行运动学分析,已得到机器人的运动规律。

为了计算各个原动件的驱动力、驱动转矩以及各个零部件的受力,应进行机构的动力学分析,从而为原动件选型、零部件的设计与校核提供理论依据。

本章将首先对上一章所选择的各功能模块机构建立运动学和动力学模型,进行理论计算,得到相应的规律和参数,从而完成对理论分析。

1.1 机器人的运动分析1.1.1 机器人运动标准模型三个全向轮驱动的机器人共有三个运动自由度,两个平动一个转动。

在实际情况中实际制作出来的机器人不可能完全与理论设计的一样,这里通过合理假设简化问题、忽略次要因素。

假设:1、不考虑机器人加工装配的误差,臂长都为0a ,各臂间夹角都为120度轮子安装都与臂相垂直。

2、不考虑机器人各部分受力后的变形导致几何尺寸的变化。

3、地面水平无凹凸。

图1.1三全向轮驱动机器人标准模型简图如图3.1所示,令321a a a 分别为中心到各轮中心的矢量,长度称为臂长。

⎪⎩⎪⎨⎧⋅⋅=⋅⋅==)0),sin(),cos(()0),sin(),cos(()0,0,(34343323221ππππa a a a a a a a(1.1)以逆时针为正,则机器人三轮转动的线速度单位方向向量为⎪⎩⎪⎨⎧===),,(),,(),,(0)sin()cos(0)sin()cos(0)sin()cos(611611367672221ππππππv v v e e e(1.2) 三轮线速度大小为321V V V 、、三个轮子中心及机器人中心移动的速度为 ⎪⎪⎩⎪⎪⎨⎧====),(),(),(),(0,0,0,0,2232221110y x y x y x y x v v v v v v v v v v v v(1.3) 机器人旋转的角速度为)(ωω,0,0=则由矢量关系得i i a v v⨯+=ω0 (1.4)vi i i e v V∙= (1.5)通过matlab 编程求解得到机器人运动状态与机器人三轮转动的线速度的关系为⎪⎪⎩⎪⎪⎨⎧+-=+--=+=ωωωa v v V a v v V a v V y x y x y 21233212321 (1.6) 令⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=321V V V V ,a a aA 2123212310---=,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=ωy x v v RB (1.7)关系式写成矩阵形式为:RB A V ⋅= (1.8)式(3.8)便是机器人运动与三个驱动轮的转动速度的关系式。

MATLAB机器人仿真程序

MATLAB机器人仿真程序

MATLAB仿真程序1、摘要:简要介绍仿真程序的目的和应用领域。

2、简介2.1 背景:介绍仿真技术的背景和发展趋势。

2.2 目标:阐述本文档旨在实现的目标和预期成果。

2.3 使用范围:说明本文档适用的MATLAB版本和相关工具。

3、系统需求3.1 软件需求:列出在运行仿真程序时需要的MATLAB版本和相关工具。

3.2 硬件需求:描述在运行仿真程序时所需的最低硬件配置要求。

4、数据准备4.1 输入数据:说明仿真程序所需的输入数据,包括模型、环境参数、运动规划等。

4.2 数据处理:描述对输入数据进行预处理和转换的方法和算法。

5、仿真实现5.1 建模:介绍如何使用MATLAB建立模型。

5.2 运动规划:讲解如何使用运动规划算法的轨迹。

5.3 运动控制:详细说明如何控制的关节运动和末端执行器的运动。

6、结果分析6.1 数据保存:指示如何保存仿真过程和结果的数据。

6.2 数据可视化:说明如何使用MATLAB绘制仿真结果图表。

6.3 结果评估:解析实验结果,验证仿真程序的准确性和可行性。

7、总结和下一步工作简要总结此次仿真程序的实现和结果,提出改进的建议,并探讨下一步工作的方向。

附件:本文档涉及的附件包括:- 模型文件- 仿真环境场景文件- 运动规划算法实现代码- 仿真结果数据文件法律名词及注释:1、版权:著作权法规定的著作物享有的法律保护。

2、许可证:根据许可证要求,特定行为(如使用、复制、修改)被允许或拒绝使用。

3、商标:商标是注册商标办公室注册的标志,用于识别产品或服务来源。

4、法律依据:涉及到法律的相关内容,应根据当地法律依据进行操作。

三轮全向机器人原理及matlab仿真

三轮全向机器人原理及matlab仿真

计算机辅助设计报告三轮全向移动机器人运动控制仿真201103009004 余杨广201103009019 沈阳201103009031 陈斌人员分工:余杨广:总体负责,系统理解及控制器设计,PPT制作,后期报告审查及修改陈斌:PPT制作,报告撰写沈阳:资料收集,辅助其余两人完成任务目录一、实验目的 (3)二、实验原理 (3)2.1控制对象——三轮全向机器人 (3)2.2 控制系统结构 (4)三、实验内容 (5)3.1电机模型 (5)3.1.1物理建模 (5)3.1.2 Simulink模块搭建 (6)3.1.3无刷直流电机仿真模型的验证 (9)3.2运动学模型 (10)3.2.1物理建模 (10)3.2.2 Simulink模块搭建 (11)3.3 路径规划 (12)3.4. 传感器设计 (13)3.5.控制器设计 (13)3.5.1 电机控制器设计 (13)3.5.2 运动控制器设计 (15)3.6 观测器 (19)四、结果验收 (20)4.1 x轴方向的误差 (20)4.2 y轴方向的误差 (20)4.3 前进方向偏角 (21)4.4 速度误差 (22)五、致谢 (22)六、附录(路径规划函数) (23)一、实验目的(一)建立三轮全向机器人系统的数学模型,然后基于simulink建立该系统的仿真模型并设计控制器,最终满足控制要求;(二)控制的最终目的是使该机器人能够良好跟踪预期的运动轨迹;(三)通过对复杂系统的分析、建模、仿真、验证,全面提高利用计算机对复杂系统进行辅助设计的能力;(四)通过集体作业、分工完成任务的方式培养团队意识,提高团队集体攻关能力二、实验原理2.1控制对象——三轮全向机器人三轮全向移动机器人其驱动轮由三个全向轮组成,径向对称安装,各轮互成120°角,滚柱垂直于各主轮。

三个全向轮的大小和质量完全相同,而且由性能相同的电机驱动。

图 1 三轮全向移动机器人2.2 控制系统结构图 2基于运动学模型的分层控制框图-三、实验内容3.1电机模型3.1.1物理建模瑞士的MAXON公司的无刷直流电机建模如下:无刷直流电机的数学模型,其等效电路如下图所示:根据上图,建立电机数学方程如下:➢瞬态电压方程➢电压方程000000a aab a bac cu iRu R iRu i⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦()111aabnbccdidt ediL M e udtedidt⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥+-++⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦1[()()]3n a b c a b cu u u u e e e=++-++➢ 转矩方程➢ 运动方程3.1.2 Simulink 模块搭建根据以上数学模型,我们搭建电机的Simulink 模块如下:➢ 电压方程模块➢ 转矩方程模块a ab bc cem e i e i e i T ++=Ωem L T T B Jp --Ω=Ω➢运动方程模块➢其他必要模块设计反电动势模块- 逻辑换向模块➢模块组装——电机仿真模型➢驱动电机模块封装3.1.3无刷直流电机仿真模型的验证到此电机的建模就算完成了,但其正确性还需要结果来验证,以下是仿真结果:i.绕组端电压波形:ii.反电动势波形iii.电流波形iv.转速波形根据图像可知,仿真结果跟实际是相吻合的。

论MATLAB仿真与移动机器人轨迹跟踪控制

论MATLAB仿真与移动机器人轨迹跟踪控制

论MATLAB仿真与移动机器人轨迹跟踪控制随着德国工业4.0和中国制造2025发展战略的提出,自动化技术正广泛应用服务于各领域,代替部分人工劳动力的同时也降低了生产成本,提高了劳动效率。

轮式移动机器人因在物流等领域的广泛应用而成为智能控制、自动化控制和运动控制的重要研究平台,然而轮式移动机器人是一个非线性的非完整系统,具有非完整约束条件特性,使其在轨迹跟踪控制时带来了很大的难度,传统的PID控制算法在轮式移动机器人轨迹跟踪控制的研究上取得了一定成果,但是随着环境的复杂化和不确定性,使得传统的控制方法达不到需要的控制效果。

近年来,随着现代控制方法的不断发展,非完整移动机器人轨迹跟踪控制也取得了很多的控制方法,主流的方法有自适应控制、反演控制、滑膜结构控制和智能控制。

本文通过对轮式移动机器人应用机械原理的方法描述其运动学模型并得到模型中各物理量之间的数学关系。

再通过设计合理的控制器,使得移动机器人能够快速稳定跟踪目标路径轨迹。

1 轮式移动机器人运动学模型1.1 建立运动学模型如图1所示,将后轮驱动前轮转向四轮移动机器人简化成双轮自行车模型(图1中阴影部分),其后輪为驱动轮,前轮为转向轮,可以在水平轴上自由转动,实现车辆转向,图1中各个参数如下:为全局坐标系;为移动机器人局部坐标;为移动机器人旋转中心;为转向轮转角;为运动速度;为移动机器人姿态;为前后轴距;为后轮转向半径;为前轮转向半径。

根据移动机器人运动学模型三个公式,利用Matlab/Simulink模块搭建运动模型并描述其参数变量之间的关系,本次仿真实验使用的工具是MathWorks公司的产品Matlab2015a版本,在Matlab/Simulink环境中搭建模块。

其搭建结果可以表示为如图2所示。

由图2可知,移动机器人有两个输入,分别为车的速度和车轮转角,三个输出,图中添加了轮式移动机器人速度限制模块(vel limit)、加速度限制模块(acceleration limit)、转向角限制器(streering angle limit)、手动中断模块(handbrake)等,确保移动机器人在运动过程中速度、加速度和转向角在一定范围内,保证其在突发情况下的安全性。

工业机器人Matlab仿真

工业机器人Matlab仿真

工业机器人Matlab仿真工业机器人 Matlab 仿真,这可是个超级有趣的领域!先跟您唠唠工业机器人到底是啥。

您就想象一下,在一个大工厂里,有一群不知疲倦的“大力士”,它们的动作精准又迅速,能把各种复杂的工作完成得漂漂亮亮的。

这些“大力士”就是工业机器人啦。

那 Matlab 又是啥呢?它就像是一个神奇的魔法盒子,能帮我们把那些复杂的工业机器人的动作和行为模拟出来。

比如说,我之前去一家汽车生产厂参观,那里面的工业机器人可真是让我大开眼界。

有个机器人负责给汽车安装车门,它的手臂灵活得就像人的胳膊一样,准确无误地抓起车门,然后稳稳地安装到位。

我就在想啊,这背后肯定有一套厉害的程序在指挥它。

而 Matlab 仿真就是帮助工程师们在电脑上先把机器人的动作设计好,测试没问题了,再让机器人在实际生产中大展身手。

这就好比我们玩游戏前,先在心里演练一遍怎么通关,能大大提高成功率。

在 Matlab 仿真中,我们要给机器人设定各种参数,像它的运动速度、工作范围、抓取力度等等。

这就像是给机器人制定了一套“行为准则”,让它知道什么时候该快,什么时候该慢,什么时候该用力,什么时候该轻柔。

比如说,我们要让一个机器人去搬运一堆零件。

在 Matlab 里,我们就得先告诉它零件的位置、重量,还有搬运的路径。

然后通过一系列的计算和模拟,看看机器人能不能顺利完成任务。

如果中间出了问题,比如机器人碰到了障碍物,或者零件掉落了,我们就可以及时调整参数,重新再来,直到一切都完美无缺。

还有一次,我看到一个工程师在电脑前对着 Matlab 里的机器人模型发愁。

原来,他设计的机器人在搬运重物的时候总是不太稳定。

经过一番仔细的检查,发现是速度设置得太快了。

经过调整后,机器人终于能够稳稳地完成任务,工程师脸上也露出了满意的笑容。

通过 Matlab 仿真,我们不仅可以提前发现问题,还能优化机器人的工作效率,节省大量的时间和成本。

想象一下,如果没有这个仿真过程,直接让机器人在生产线上工作,一旦出了问题,那可就麻烦大了,会造成很大的损失。

基于Matlab电动车机器人系统辨识与仿真

基于Matlab电动车机器人系统辨识与仿真

目录1建立数学模型的方法 (1)1.1机理建模 (1)1.2系统辨识 (1)1.3机理建模和辨识相结合的建模法 (1)2系统辨识的基本概念 (1)2.1L.A.Zadeh定义 (1)2.2P.Eykhoff定义 (2)2.3L.Ljung定义 (2)3系统辨识的内容及步骤 (2)3.1获取验前知识、明确辨识目的 (2)3.2实验设计 (3)3.3确定模型结构 (3)3.4参数估计 (4)3.5模型验证 (4)4系统辨识工具箱基本理论 (4)4.1观测数据的获取 (5)4.2数据预处理 (5)4.3模型结构的选择 (5)4.4参数估计 (5)4.5模型检验与动态仿真 (6)5基于系统辨识工具箱的电动车机器人辨识仿真 (6)5.1观测数据的获取 (6)5.2数据预处理 (6)5.3模型结构的选择和阶次确定 (8)5.4确定模型参数 (9)5.5模型阶数验证和模型验证 (9)6结论及总结 (12)参考文献 (13)附:程序 (14)1建立数学模型的方法模型就是把关于实际系统的本质的部分信息简缩成有用的描述形式,它的主要功能是模拟实际系统的行为,而不是去描述实际系统的实际结构。

模型可以分为物理模型和数学模型。

建立数学模型一般有机理建模、黑箱建模和灰箱建模三种方法。

1.1机理建模又称理论建模或白箱建模,根据所研究系统的物理机理,利用物质和能量的守恒性以及连续性原理、有关物理定律(牛顿定理、流体力学、热力学定律等),考虑物理量之间的关系,推导出数学模型。

此方法适用于简单系统的建模,通常能达到精度要求。

1.2系统辨识又称试验建模或黑箱建模,对于一个已存在的实际系统,根据观察,测量并记录得到的输入输出数据,经过一些加工处理,求出非参数或参数模型,这种建模方法就是系统辨识。

这种方法不需要深入了解过程的机理,需要的先验知识少,能提供由其他方法难以建立的环境或噪声的动态特性。

1.3机理建模和辨识相结合的建模法又称灰箱建模,对系统进行数学建模时,机理已知的部分采用理论建模方法,机理未知的部分采用辨识建模的方法,发挥两种方法各自的优点,建立更为精确的数学模型。

三轮全向机器人原理及matlab仿真

三轮全向机器人原理及matlab仿真

电脑辅助设计报告三轮全向移动机器人运动控制仿真201103009004 余杨广201103009019 沈阳201103009031 陈斌人员分工:余杨广:总体负责,系统理解及控制器设计,PPT制作,后期报告审查及修改陈斌:PPT制作,报告撰写沈阳:资料收集,辅助其余两人完成任务目录一、实验目的 (3)二、实验原理 (3)2.1控制对象——三轮全向机器人 (3)2.2 控制系统结构 (4)三、实验内容 (5)3.1电机模型 (5)3.1.1物理建模 (5)3.1.2 Simulink模块搭建 (6)3.1.3无刷直流电机仿真模型的验证 (9)3.2运动学模型 (10)3.2.1物理建模 (10)3.2.2 Simulink模块搭建 (11)3.3 路径规划 (12)3.4. 传感器设计 (13)3.5.控制器设计 (13)3.5.1 电机控制器设计 (13)3.5.2 运动控制器设计 (15)3.6 观测器 (19)四、结果验收 (20)4.1 x轴方向的误差 (20)4.2 y轴方向的误差 (20)4.3 前进方向偏角θ (21)4.4 速度误差 (21)五、致谢 (22)六、附录〔路径规划函数〕 (22)一、实验目的(一)建立三轮全向机器人系统的数学模型,然后基于simulink建立该系统的仿真模型并设计控制器,最终满足控制要求;(二)控制的最终目的是使该机器人能够良好跟踪预期的运动轨迹;(三)通过对复杂系统的分析、建模、仿真、验证,全面提高利用电脑对复杂系统进行辅助设计的能力;(四)通过集体作业、分工完成任务的方式培养团队意识,提高团队集体攻关能力二、实验原理2.1控制对象——三轮全向机器人三轮全向移动机器人其驱动轮由三个全向轮组成,径向对称安装,各轮互成120°角,滚柱垂直于各主轮。

三个全向轮的大小和质量完全相同,而且由性能相同的电机驱动。

图 1 三轮全向移动机器人2.2 控制系统结构图 2基于运动学模型的分层控制框图三、 实验内容3.1电机模型 3.1.1物理建模瑞士的MAXON 公司的无刷直流电机建模如下:无刷直流电机的数学模型,其等效电路如以下图所示:根据上图,建立电机数学方程如下: ➢ 瞬态电压方程➢ 电压方程000000a a ab ab ac c u i R u R i R u i ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦()111a a b n b c c di dt e di L M e u dt e di dt ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥+-++⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦1[()()]3n a b c a b c u u u u e e e =++-++➢ 转矩方程➢ 运动方程3.1.2 Simulink 模块搭建根据以上数学模型,我们搭建电机的Simulink 模块如下:➢ 电压方程模块➢ 转矩方程模块a ab bc cem e i e i e i T ++=Ωem L T T B Jp --Ω=Ω➢运动方程模块➢其他必要模块设计反电动势模块逻辑换向模块➢模块组装——电机仿真模型➢驱动电机模块封装3.1.3无刷直流电机仿真模型的验证到此电机的建模就算完成了,但其正确性还需要结果来验证,以下是仿真结果:i.绕组端电压波形:ii.反电动势波形iii.电流波形iv.转速波形根据图像可知,仿真结果跟实际是相吻合的。

16.2 三轮全向运动控制原理_机器人构建实战_[共2页]

16.2 三轮全向运动控制原理_机器人构建实战_[共2页]

第16章 三轮全向运动平台搭建及方向控制
全向机构可以实现非全向机构的全方向运动、运动中的转向等功能,但是由于机构本身较之非全向机构复杂,并且由于全向轮的构造原因,所以其控制也比非全向机构复杂,控制精度的保证也比非全向机构更为困难。

16.2 三轮全向运动控制原理
如图16.3所示,三轮全向运动平台一般为了分析方便,都是成等角度分布,即任意两个相邻轮子之间的角度都为120°,并且其到目标的中心(或重心)距离相等,由于套件本身的精度限制,决定了搭建的机构只能大致满足三轮全向运动机构的布局。

图16.3 三轮全向机构的全向轮的布局
三轮全向运动包含以下两个方面的运动。

① 平动:位置之间的相对移动,关注的是前后位置的不同与轮速之间的关系。

图16.4 机器人速度分析 ② 转动:绕机器人轮子几何中心的转动,
关注的是前后姿态的不同与轮速之间的关系。

所以一般全向运动机器人的运动速度采用
3个分量进行表示,分别是X 轴上的速度、Y 轴
上的速度和机器人的旋转角速度。

机器人速度
与轮子速度的关系如图16.4所示。

在分析三轮全向运动之前,先进行如下假
设:全局坐标系为X W O W Y W ,
机器人自身坐标系158。

三轮全向机器人原理及matlab仿真解读

三轮全向机器人原理及matlab仿真解读

计算机辅助设计报告三轮全向移动机器人运动控制仿真201103009004 余杨广201103009019 沈阳201103009031 陈斌人员分工:余杨广:总体负责,系统理解及控制器设计,PPT制作,后期报告审查及修改陈斌:PPT制作,报告撰写沈阳:资料收集,辅助其余两人完成任务目录一、实验目的 (3)二、实验原理 (3)2.1控制对象——三轮全向机器人 (3)2.2 控制系统结构 (4)三、实验内容 (5)3.1电机模型 (5)3.1.1物理建模 (5)3.1.2 Simulink模块搭建 (6)3.1.3无刷直流电机仿真模型的验证 (9)3.2运动学模型 (10)3.2.1物理建模 (10)3.2.2 Simulink模块搭建 (11)3.3 路径规划 (12)3.4. 传感器设计 (13)3.5.控制器设计 (13)3.5.1 电机控制器设计 (13)3.5.2 运动控制器设计 (15)3.6 观测器 (19)四、结果验收 (20)4.1 x轴方向的误差 (20)4.2 y轴方向的误差 (20)4.3 前进方向偏角 (21)4.4 速度误差 (21)五、致谢 (22)六、附录(路径规划函数) (22)一、实验目的(一)建立三轮全向机器人系统的数学模型,然后基于simulink建立该系统的仿真模型并设计控制器,最终满足控制要求;(二)控制的最终目的是使该机器人能够良好跟踪预期的运动轨迹;(三)通过对复杂系统的分析、建模、仿真、验证,全面提高利用计算机对复杂系统进行辅助设计的能力;(四)通过集体作业、分工完成任务的方式培养团队意识,提高团队集体攻关能力二、实验原理2.1控制对象——三轮全向机器人三轮全向移动机器人其驱动轮由三个全向轮组成,径向对称安装,各轮互成120°角,滚柱垂直于各主轮。

三个全向轮的大小和质量完全相同,而且由性能相同的电机驱动。

图 1 三轮全向移动机器人2.2 控制系统结构图 2基于运动学模型的分层控制框图三、 实验内容3.1电机模型 3.1.1物理建模瑞士的MAXON 公司的无刷直流电机建模如下:无刷直流电机的数学模型,其等效电路如下图所示:根据上图,建立电机数学方程如下: 瞬态电压方程电压方程000000a a ab ab ac c u i R u R i R u i ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦()111a a b n b c c di dt e di L M e u dt e di dt ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥+-++⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦1[()()]3n a b c a b c u u u u e e e =++-++转矩方程运动方程3.1.2 Simulink 模块搭建根据以上数学模型,我们搭建电机的Simulink 模块如下:电压方程模块转矩方程模块a ab bc cem e i e i e i T ++=Ωem L T T B Jp --Ω=Ω运动方程模块其他必要模块设计反电动势模块逻辑换向模块模块组装——电机仿真模型驱动电机模块封装3.1.3无刷直流电机仿真模型的验证到此电机的建模就算完成了,但其正确性还需要结果来验证,以下是仿真结果:i.绕组端电压波形:ii.反电动势波形iii.电流波形iv.转速波形根据图像可知,仿真结果跟实际是相吻合的。

基于Matlab的轮式移动机器人仿真

基于Matlab的轮式移动机器人仿真

该 控制系 统在 工作 时 ,给定 期望 轨迹 ,确定机 器 人 的控 制 输入v和w, 然 后实 时辨 识 出机器 人 的位姿 坐标 (x,y, 0),将 当 前位姿 坐 标与 期望 位 姿进 行 比较得 出全 局位 姿偏 差 ,然后 再通 过变 换矩 阵 转换 为 以机器 人前 进 方 向为x轴 , 以轮 轴 中心 到左轮 的连 线 为Y轴 的局部 坐标 系 内 的偏差 ,该 偏 差称 为局 部坐 标偏 差 。再经 过控 制算 法校 正 得出控 制 输入 v和 W,如 此反 复 ,直到将 机器 人的 实际位 姿镇 定到期 望位姿 为止 。
4总 结 利 用该 仿真模 板 ,可 以方便 地修 改控 制参 数 、控制 律和 期望轨 迹 ,观 察 不 同控制 律对 不 同期 望轨 迹 的跟踪 效 果,对 在 实践 中选 择控 制律 、整 定 控 制器参 数等 问题都 有很 好 的指导 意义 。 参 考 文 献 : [1]成 伟 明 , 《移动 机 器人 自主 导航 中 的路 径规 划 与跟 踪控 制 技术 研 究》,南京理工大 学博 士论文 ,2007年4月.
3仿真 效果 假 设 期望轨 迹为 :
I Xd(t)=1+2 sin t Yd(t)=1—2 COS
I Od(t)=f
该 轨 迹 为 以 (1,1)为 圆心 ,以2为 半径 的 圆 。对 期 望 轨迹 取导 数可 得 期望 的速度 曲线和 角速 度 曲线分 别是 :
J vd(t)=2
1控 制系统 方框 图 机 器人 结构 如下 图所 示, 为差动 驱动 的轮式 移动 机器 人 。其运 动学 模
全局坐标系内的位姿偏差为 (Xd一 , ,一Yr,Od—Or),在机器人局
部坐标 系 内的位 姿偏 差为 :
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机辅助设计报告三轮全向移动机器人运动控制仿真201103009004 余杨广201103009019 沈阳201103009031 陈斌人员分工:余杨广:总体负责,系统理解及控制器设计,PPT制作,后期报告审查及修改陈斌:PPT制作,报告撰写沈阳:资料收集,辅助其余两人完成任务目录一、实验目的 (3)二、实验原理 (3)2.1控制对象——三轮全向机器人 (3)2.2 控制系统结构 (4)三、实验内容 (5)3.1电机模型 (5)3.1.1物理建模 (5)3.1.2 Simulink模块搭建 (6)3.1.3无刷直流电机仿真模型的验证 (9)3.2运动学模型 (10)3.2.1物理建模 (10)3.2.2 Simulink模块搭建 (11)3.3 路径规划 (12)3.4. 传感器设计 (13)3.5.控制器设计 (13)3.5.1 电机控制器设计 (13)3.5.2 运动控制器设计 (15)3.6 观测器 (19)四、结果验收 (20)4.1 x轴方向的误差 (20)4.2 y轴方向的误差 (20)4.3 前进方向偏角θ (21)4.4 速度误差 (21)五、致谢 (22)六、附录(路径规划函数) (22)一、实验目的(一)建立三轮全向机器人系统的数学模型,然后基于simulink建立该系统的仿真模型并设计控制器,最终满足控制要求;(二)控制的最终目的是使该机器人能够良好跟踪预期的运动轨迹;(三)通过对复杂系统的分析、建模、仿真、验证,全面提高利用计算机对复杂系统进行辅助设计的能力;(四)通过集体作业、分工完成任务的方式培养团队意识,提高团队集体攻关能力二、实验原理2.1控制对象——三轮全向机器人三轮全向移动机器人其驱动轮由三个全向轮组成,径向对称安装,各轮互成120°角,滚柱垂直于各主轮。

三个全向轮的大小和质量完全相同,而且由性能相同的电机驱动。

图 1 三轮全向移动机器人2.2 控制系统结构图 2基于运动学模型的分层控制框图三、 实验内容3.1电机模型 3.1.1物理建模瑞士的MAXON 公司的无刷直流电机建模如下:无刷直流电机的数学模型,其等效电路如下图所示:根据上图,建立电机数学方程如下: ➢ 瞬态电压方程➢ 电压方程000000a a ab a b ac c u i R u R i R u i ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦()111a a b n b c c di dt e di L M e u dt e di dt ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥+-++⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦1[()()]3n a b c a b c u u u u e e e =++-++➢ 转矩方程➢ 运动方程3.1.2 Simulink 模块搭建根据以上数学模型,我们搭建电机的Simulink 模块如下:➢ 电压方程模块➢ 转矩方程模块a ab bc cem e i e i e i T ++=Ωem L T T B Jp --Ω=Ω➢运动方程模块➢其他必要模块设计反电动势模块逻辑换向模块➢模块组装——电机仿真模型➢驱动电机模块封装3.1.3无刷直流电机仿真模型的验证到此电机的建模就算完成了,但其正确性还需要结果来验证,以下是仿真结果:i.绕组端电压波形:ii.反电动势波形iii.电流波形iv.转速波形根据图像可知,仿真结果跟实际是相吻合的。

3.2运动学模型为了实现现实世界速度与机器人三个电机转速之间的转换,我们建立起运动学模型如下:3.2.1物理建模1. 建立如图所示的世界坐标系xoy和机器人坐标系XOY 。

图 3 三轮全向轮式机器人示意图图中,θ为机器人坐标系与世界坐标系之间的夹角;φ为驱动轮间的夹角,φ=120;L为机器人中心到轮子中心的水平距离。

2. 设v1,v2,v3为全向轮线速度,vx ,vy 分别为机器人在XOY 坐标系X 轴和Y 轴的速度分量;ω为机器人自转的角速度。

那么,机器人在世界坐标系中的速度与驱动轮速度之间的关系为:()()()()()()⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛⎪⎪⎪⎭⎫⎝⎛-++---=⎪⎪⎪⎭⎫ ⎝⎛⋅⋅⋅θθθθφθφθφθφy x L L L v v v cos sin 2/cos 2/sin 2/cos 2/sin 3213.2.2 Simulink 模块搭建根据2.1中的公式,我们搭建出Simulink 模块如下:图中三个函数模块实现2.1中的矩阵转换。

最终,模块封装如下:3.3 路径规划路径规划方面,我们利用B样条曲线规划方法,取了几个点作为控制点,生成了一条类似S的曲线,来检验小车的跟随情况。

Simulink模块如下:其中,MATLAB FCN为核心算法,因代码较长,放至附录部分,在此不一一赘述。

模块中,Vd为待输入的期望速度值,xs为期望的x轴位置,ys为期望的y轴位置, ths为期望的小车前进偏角。

最后,曲线生成模块封装图如下图所示:3.4. 传感器设计为了实现对小车自身状态(包括自身位置信息和朝向信息)的感知,我们设计了一个传感器模块,以便引入反馈。

搭建的Simulink模块如下:其中,v1,v2,v3为三个电机的线速度,中间的函数实现电机线速度到真实世界中Vx,Vy和w的转化。

最后,我们将传感器模块封装,封装图如下:3.5.控制器设计对于小车的控制,我们认为无非要解决两个问题,一个是小车是否受控听话即电机的控制问题;第二个问题是小车是否足够聪明知道该怎样走,即运动学控制问题。

下面我们将就这两个方面展开论述。

3.5.1 电机控制器设计从电机模型一节中可以看出,电机模型的数学公式非常复杂,推算电压V和转速w之间的关系非常的困难,我们推算了很久也没有成功。

后来我们想到,不管是交流电动机或者是直流电动机,他们的本质都是电动机。

而电动机的传递函数都是一阶的,对于一阶模型我们利用P控制就能够实现很好的控制,而且也非常好调试,比例环节K 的值越大越好,总能够实现较好的动态性能。

最终我们出于消除稳态误差的考虑,采用了PI 控制加上前置滤波的控制方式。

经过调试,最终我们的PI 控制器为2(S+100)S,前置滤波器为100S+100。

最终的控制simulink 图如下图所示:为了检验我们控制器的效果,我们特意与学长的控制器进行了对比,对比方式为控制下的电机阶跃响应性能。

对比图如下图所示:学长电机控制的阶跃响应图我们的电机控制阶跃响应图从图中我们可以看出,不管是从调节时间还是从稳定性、超调量来看,我们的控制器都有着绝对的优越性。

3.5.2 运动控制器设计对于运动控制即位置控制,我们认为控制框图应该如下图所示:为了运动控制有更深层次的理解,我们建立如下数学模型:一个在真实坐标戏中运动的小车模型如下图所示:设Vu 为轴向前进速度;θ为小车中轴线与水平线夹角;[x ,y]为小车中心位置,L 为车中心到小车前端的距离,Vs 为速度误差,d 为位置误差,则根据上图可建立以下公式:ẋ =V u ∗Cosθ ẏ =V u ∗Sinθθ =V u L∗tanϕ 小车在前进过程中,轨迹与预期的轨迹之间的误差如下图所示:其中,,p s p sθθθθθθ=-=-要达到良好的控制效果,设计上必须要确定一个控制目标。

在设计中,我们要达到的目的有3个:1.θp →02. Vs →期望速度Vd3. d →0因为我们能够控制电机的转速,所以速度控制暂不考虑,我们只需考虑小车的期望向角ϕd 。

而这三个目标只要能够保证d->0,其他目标就能够实现。

根据以上公式,可以推导出ϕd 到d 的函数传递关系图如下:根据以上函数传递图,可以推导出以下关系图:我们要得到的是预期输入d 为0,输出也为0;我们采用内外环控制方式,引入反馈d 和θp ,因为内外环均是一阶环节,采用比例控制就能获得很好的控制效果。

最终我们的内环的比例控制是100,外环的比例控制是30,因此ϕd =-3000d-30θp ;控制器的阶跃响应图如下图所示:12*cos tan s s s y y d R x x πθ-⎛⎫⎛⎫-=-- ⎪ ⎪ ⎪-⎝⎭⎝⎭*sin tan u p s pd V V θθ==最后,得到真实世界坐标系中的预期期望速度:V x=V d∗Cos(θ+ϕd)V y=V d∗Sin(θ+ϕd)最后,经过世界坐标系到机器坐标系的转换,得到预期的电机线速度。

至此,整个运动学控制结束。

根据以上推导,我们搭建的Simulink模块如下图所示:整个封装与路径规划模块、坐标转换模块的连接如下图所示:3.6 观测器为了方便观察预期与实际的误差,我们设计了一个观测器模块如下:观测器封装如下:四、结果验收为了对我们的设计效果进行评估,我们再次利用学长做对照,比较了x轴方向的误差,y轴方向的误差,前进方向偏角θ,和速度误差,结果如下:4.1 x轴方向的误差我们的设计学长的设计从两图对比可以看出,我们的性能比学长的提高了300%。

4.2 y轴方向的误差我们的设计学长的设计从两图对比可以看出,我们的性能比学长的提高了800%。

4.3 前进方向偏角θ我们的设计学长的设计从两图对比可以看出,我们的性能比学长的提高了10000倍。

4.4 速度误差我们的设计学长的设计从两图对比可以看出,我们的设计速度保持的较好而学长的速度波动较大。

五、致谢首先,非常感谢徐明老师给了我们这个机会,让我们了解了一些三轮全向机器人的基本原理,以及提高了对MATLAB运用的熟练程度。

其次,要向我们素未谋面的为我们提供了一份样板的师兄们。

他们的工作为我们节约了大量的时间。

虽然在文中我们用他们的结果作对比,来证明我们控制的优越性,但并不意味着我们比他们高明,因为他们才是开拓者,是他们完成了从无到有的过程,在此向他们致敬!六、附录(路径规划函数)function P=cal_P(t)%P=cal_P(t)%ÊäÈët£ºBÑùÌõÇúÏß²ÎÊýt%Êä³öP:[x(t);y(t);V(t);thelta(t)]%±¾³ÌÐòÓÃÓÚsimulink·ÂÕæ%Ô-ʼ¿ØÖƵãC=[0 1 2 3 4 50 0 0 0.5 4 5];V1=[1;0];V2=[1;0];L=0.254;NC=length(C);%Ôö¼Ó¿ØÖƵ㣬±£Ö¤¹ýÆðµãºÍÖÕµãRC=[C(:,1)-V1*L,C(:,1),C(:,1)+V1*L,C(:,2:NC-1),C(:,NC)-V2*L,C(:,NC),C (:,NC)+V2*L];N=length(RC);OUT=0;if(t>=N-3)I=N-4;OUT=1;dt=t-(N-3);t=1;elseI=fix(t);t=mod(t,1);endf1=(1-t).^3/6;f2=(3*t.^3-6*t.^2+4)/6;f3=(-3*t.^3+3*t.^2+3*t+1)/6;f4=t.^3/6;d1 =-1/2*(1-t)^2;d2 =3/2*t^2-2*t;d3 =-3/2*t^2+t+1/2;d4 =1/2*t^2;a1 = 1-t;a2 = 3*t-2;a3 = -3*t+1;a4 = t;P(1,1)=f1*RC(1,I+1)+f2*RC(1,I+2)+f3*RC(1,I+3)+f4*RC(1,I+4);P(2,1)=f1*RC(2,I+1)+f2*RC(2,I+2)+f3*RC(2,I+3)+f4*RC(2,I+4);V(1,1)=d1*RC(1,I+1)+d2*RC(1,I+2)+d3*RC(1,I+3)+d4*RC(1,I+4);V(2,1)=d1*RC(2,I+1)+d2*RC(2,I+2)+d3*RC(2,I+3)+d4*RC(2,I+4);A(1,1)=a1*RC(1,I+1)+a2*RC(1,I+2)+a3*RC(1,I+3)+a4*RC(1,I+4);A(2,1)=a1*RC(2,I+1)+a2*RC(2,I+2)+a3*RC(2,I+3)+a4*RC(2,I+4);vv=sqrt(V(1,1)^2+V(2,1)^2);angle=atan2(V(2,1),V(1,1));if(OUT==1)P=P+V*dt;endP=[P;vv;angle];。

相关文档
最新文档