三轮全向机器人原理及matlab仿真
- 格式:doc
- 大小:1.09 MB
- 文档页数:26
目录前言 (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 —定子和转子绕组电阻上述各量都已折算到定子侧,为了简单起见,表示折算的上角标“ ’”均省略,以下同此。
选择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 机器人工具箱仿真程序: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)')如有侵权请联系告知删除,感谢你们的配合!。
计算机辅助设计报告三轮全向移动机器人运动控制仿真9004 余杨广9019 沈阳9031 陈斌人员分工:余杨广:总体负责,系统理解及控制器设计,PPT制作,后期报告审查及修改陈斌:PPT制作,报告撰写沈阳:资料收集,辅助其余两人完成任务目录一、............................................................. 实验目的错误!未定义书签。
二、实验原理..............................................错误!未定义书签。
控制对象——三轮全向机器人..........................错误!未定义书签。
控制系统结构.........................................错误!未定义书签。
三、实验内容..............................................错误!未定义书签。
电机模型..............................................错误!未定义书签。
物理建模..........................................错误!未定义书签。
Simulink模块搭建................................错误!未定义书签。
无刷直流电机仿真模型的验证........................错误!未定义书签。
运动学模型............................................错误!未定义书签。
物理建模..........................................错误!未定义书签。
Simulink模块搭建................................错误!未定义书签。
路径规划.............................................错误!未定义书签。
三轮全向机器人运动特性分析1.全方向移动能力:三轮全向机器人通过将三个轮子安装在平衡的位置上,可以实现全方向移动。
每个轮子都可以独立地控制并进行旋转。
这使得机器人在狭小的空间内可以自由移动,并能够在任意方向上快速转向。
这种特性使得三轮全向机器人在繁忙的环境中具有灵活性和机动性。
2.高度可交互性:三轮全向机器人还具有很高的可交互性。
它可以通过传感器和摄像头来感知周围环境,并能够与人进行有效的交互。
这使得机器人可以在人群中安全运动,并可以执行一些与人互动的任务,如自主导航、传递物品等。
这种可交互性使得三轮全向机器人在服务行业中有广泛的应用潜力。
3.运动灵活性:三轮全向机器人具有非常好的运动灵活性。
不仅可以在水平面上自由移动,还可以实现沿任意方向的旋转。
这种灵活性使得机器人可以根据不同的任务需求进行自适应运动,并可以在狭小的空间中灵活穿梭。
这种运动灵活性使得机器人在仓储、物流和生产等领域具有广泛的应用前景。
4.稳定性和准确性:三轮全向机器人在移动过程中具有良好的稳定性和准确性。
由于每个轮子都可以独立控制,机器人可以根据需要进行微调和平衡,这使得机器人可以在不同地面上保持稳定移动。
此外,机器人还可以通过精确控制轮子的旋转来实现精确定位和导航。
这种稳定性和准确性使得机器人能够执行一些精确度要求较高的任务,如精确导航、运输和操作等。
尽管三轮全向机器人具有上述的优势特点,但也存在一些挑战和限制。
例如,由于机器人需要较强的计算能力和感知能力来实现全方向移动和交互功能,所以需要配备先进的计算控制系统和感知设备。
此外,机器人在特殊地形上的运动性能可能会受到限制,如不平整地面、斜坡等。
因此,在设计和应用三轮全向机器人时需要综合考虑这些限制因素,以实现机器人的良好性能和可靠性。
总的来说,三轮全向机器人在机动性、交互性、灵活性、稳定性和准确性方面具有优势。
它在服务行业、仓储物流和生产等领域有广泛的应用前景,可以帮助人们提高工作效率和生活质量。
轮全向机器人原理及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仿真程序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、法律依据:涉及到法律的相关内容,应根据当地法律依据进行操作。
计算机辅助设计报告三轮全向移动机器人运动控制仿真9004 余杨广9019 沈阳9031 陈斌人员分工:余杨广:总体负责,系统理解及控制器设计,PPT制作,后期报告审查及修改陈斌:PPT制作,报告撰写沈阳:资料收集,辅助其余两人完成任务目录一、实验目的............................................................................................错误!未定义书签。
二、实验原理............................................................................................错误!未定义书签。
控制对象——三轮全向机器人....................................................错误!未定义书签。
控制系统结构 .........................................................................................错误!未定义书签。
三、实验内容............................................................................................错误!未定义书签。
电机模型....................................................................................................错误!未定义书签。
物理建模............................................................................................错误!未定义书签。
Simulink模块搭建 ..........................................................................错误!未定义书签。
无刷直流电机仿真模型的验证........................................................错误!未定义书签。
运动学模型................................................................................................错误!未定义书签。
物理建模............................................................................................错误!未定义书签。
Simulink模块搭建 ..........................................................................错误!未定义书签。
路径规划 .................................................................................................错误!未定义书签。
. 传感器设计 ............................................................................................错误!未定义书签。
.控制器设计 ..............................................................................................错误!未定义书签。
电机控制器设计 .............................................................................错误!未定义书签。
运动控制器设计 ...........................................................................错误!未定义书签。
观测器 .....................................................................................................错误!未定义书签。
四、结果验收 ...................................................................................................错误!未定义书签。
x轴方向的误差 ......................................................................................错误!未定义书签。
y轴方向的误差 ......................................................................................错误!未定义书签。
前进方向偏角 .......................................................................................错误!未定义书签。
速度误差 .................................................................................................错误!未定义书签。
五、致谢 ...........................................................................................................错误!未定义书签。
六、附录(路径规划函数)............................................................................错误!未定义书签。
一、实验目的(一)建立三轮全向机器人系统的数学模型,然后基于simulink建立该系统的仿真模型并设计控制器,最终满足控制要求;(二)控制的最终目的是使该机器人能够良好跟踪预期的运动轨迹;(三)通过对复杂系统的分析、建模、仿真、验证,全面提高利用计算机对复杂系统进行辅助设计的能力;(四)通过集体作业、分工完成任务的方式培养团队意识,提高团队集体攻关能力二、实验原理2.1控制对象——三轮全向机器人三轮全向移动机器人其驱动轮由三个全向轮组成,径向对称安装,各轮互成120°角,滚柱垂直于各主轮。
三个全向轮的大小和质量完全相同,而且由性能相同的电机驱动。
图 1 三轮全向移动机器人控制系统结构图2基于运动学模型的分层控制框图三、实验内容电机模型物理建模瑞士的MAXON公司的无刷直流电机建模如下:无刷直流电机的数学模型,其等效电路如下图所示:根据上图,建立电机数学方程如下: 瞬态电压方程电压方程转矩方程运动方程Simulink 模块搭建000000a a ab a b ac c u i R u R i R u i ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦()111a a b n bc 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 =++-++a a b b c cem e i e i e i T ++=Ωem L T T B Jp --Ω=Ω根据以上数学模型,我们搭建电机的Simulink模块如下:电压方程模块转矩方程模块运动方程模块其他必要模块设计反电动势模块逻辑换向模块模块组装——电机仿真模型驱动电机模块封装无刷直流电机仿真模型的验证到此电机的建模就算完成了,但其正确性还需要结果来验证,以下是仿真结果:i.绕组端电压波形:ii.反电动势波形iii.电流波形iv.转速波形根据图像可知,仿真结果跟实际是相吻合的。
运动学模型为了实现现实世界速度与机器人三个电机转速之间的转换,我们建立起运动学模型如下:物理建模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 321Simulink 模块搭建根据中的公式,我们搭建出Simulink 模块如下:图中三个函数模块实现中的矩阵转换。
最终,模块封装如下:路径规划路径规划方面,我们利用B样条曲线规划方法,取了几个点作为控制点,生成了一条类似S的曲线,来检验小车的跟随情况。
Simulink模块如下:其中,MATLAB FCN为核心算法,因代码较长,放至附录部分,在此不一一赘述。
模块中,Vd为待输入的期望速度值,xs为期望的x轴位置,ys为期望的y轴位置, ths为期望的小车前进偏角。
最后,曲线生成模块封装图如下图所示:. 传感器设计为了实现对小车自身状态(包括自身位置信息和朝向信息)的感知,我们设计了一个传感器模块,以便引入反馈。
搭建的Simulink模块如下:其中,v1,v2,v3为三个电机的线速度,中间的函数实现电机线速度到真实世界中Vx,Vy和w的转化。
最后,我们将传感器模块封装,封装图如下:.控制器设计对于小车的控制,我们认为无非要解决两个问题,一个是小车是否受控听话即电机的控制问题;第二个问题是小车是否足够聪明知道该怎样走,即运动学控制问题。