基于DSP的全向运动控制系统软件设计Word下载.docx
- 文档编号:21929355
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:36
- 大小:95.35KB
基于DSP的全向运动控制系统软件设计Word下载.docx
《基于DSP的全向运动控制系统软件设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于DSP的全向运动控制系统软件设计Word下载.docx(36页珍藏版)》请在冰豆网上搜索。
2.2.1平移运动5
2.2.2原地旋转运动7
2.3.3边平移边旋转运动8
3基于DSP的硬件系统简介8
3.1控制芯片选择8
3.2硬件系统结构图9
3.3硬件系统基本模块10
4系统运动控制的MATLAB仿真13
4.1电机PID控制13
4.2转速检测14
4.3MATLAB仿真15
5系统软件设计16
5.1软件开发平台及仿真器16
5.2运动控制软件设计18
5.2.1主程序18
5.2.2三种基本运动状态子程序19
5.2.3电机控制子程序20
5.2.4无线发送子程序20
5.3上位机软件及通讯协议21
6实验验证及结果分析22
6.1试验场地23
6.2各项性能测试24
6.2.1速度PID测试24
6.2.2平移运动测试24
6.2.3原地旋转测试25
6.2.4平移+旋转运动测试26
6.3影响因素分析26
结束语28
参考文献29
附录30
致谢42
1引言
随着机器人技术的日新月异,机器人应用领域也已从工业走向普通生活。
机器人技术已经在人们的生活中越来越发挥着重要的作用。
作为机器人中的全向运动机器人,有着其特殊的运动形式,即可以不改变姿势向任何方向运动,找到最佳位置。
同时也可以边往某个方向运动,边调整自身的姿势达到最佳运动效果,可以在平面内完美的往任何方向做三自由度运动。
全向运动机器人其高灵活度,势必会在机器人领域发挥不可代替的作用。
在全向运动机器人中现阶段比较常见的是三轮结构和四轮结构(如图1所示)。
通过控制各个轮子间相互协调运动达到全方位的运动效果,包括全方位平移、全方位边平移边旋转和原地旋转运动形式。
要完整文章毕业论文的+扣扣:
(149-908-83-24)去掉中间的横线
图1三轮和四轮的结构模型
2全向运动控制系统分析
2.1全向运动控制系统运动学模型建立
在引言中介绍了全向运动控制的几种结构,本设计选用三轮结构构建全向运动系统[3][4]。
其结构图和实物付如图4所示。
(a)结构图(b)实物图
图4全向结构图和实物图
由图5中(b)所示,V为机器人系统整体速度,世界坐标X-Y坐标系中X轴与整体速度V的逆时针夹角为β,在世界坐标系中将整体速度V分解成沿X轴和Y轴的速度分别为
和
。
2.2不同运动方式的运动特性
全向运动的运动形式大体可分为平移运动、原地旋转运动、边平移边旋转运动三种运动形式。
三种运动形式有着不同的运动特性,以下将分三小节对三种运动形式进行单独分析。
2.2.1平移运动
平移是基本的也是比较常用的运动形式。
由于是平移不考虑旋转运动,我们将模型进行简化,其简化后运动学模型图如图6所示。
(a)平移模型(b)系统整体平移模型
图6简化后运动运动学模型
单独考虑平移运动故将式(3)进行简化为式(4):
(4)
假设小车整体平移矢量速度为V,与X轴成γ角。
所以我们可以分解为
,其分解公式为式(5)。
(5)
由式(4)和式(5)我们可以得到三个驱动轮的速度,见式(6)。
(6)
驱动轮速度
、
的速度范围都是
的值则由电机性能决定。
通过式(6)我们可以反向推导出平移速度V的速度范围。
如图7,其中圆是以驱动轮最大速度
大小为半径的圆,红色速度V与X轴的角度为γ,随着γ由
0°
~360°
变化V的轨迹为红色正六边形。
其中最大速度为
图7平移最大速度模型
3基于DSP的硬件系统简介
3.1控制芯片选择
作为运动控制系统的核心控制芯片,根据以往在实验室的经验,其核心控制芯片当属DSPC2000系类。
C2000系类对于运动控制有着诸多的优点,本设计采用C2000系类TMS320LF2407A的控制板。
TMS320LF2407A主要特点如下:
3.2硬件系统结构图
通过第2章关于运动学模型的建立,为使得系统能够按照建立的数学模型进行运动,除了3.1节的DSP主控制芯片外还需要其它的硬件的支持,本课题设计的硬件系统结构图如图9所示。
其主要的工作方式为:
PC上位机选择相应的运动方式,经过RS232协议连接无线模块,由无线模块发送数据。
DSP下位机的无线模块接收上位机发送的数据,经RS232通信协议发送给DSP。
DSP接收到数据进行相应的处理,分析出要进行的运动形式及各种参数,同时利用I2C协议采集指南针的数据,将这些信息通过第2章的全向运动学模型分析的各种公式转换成各个电机的速度值。
为使得电机能够稳、准、快的执行,本设计采用经典PID控制,以增量式编码器采集的值为反馈。
在进行的过程中液晶模块实时显示运动方式和参数及指南针的值,同时将编码器的值通过无线模块传送给PC上位机。
DSP下位机将按照程序设定执行上位机设定的运动方式,只有上位机重新发送新的运动方式才会改变。
3.3硬件系统基本模块
根据图9硬件系统结构图所示,本节将分析几个重要的模块。
分为电源模块、无线通信模块、指南针模块、液晶显示模块,DSP下位机模块、电机及驱动模块和全向轮。
其中DSP下位机3.1节已经介绍,在此不再叙述。
4系统运动控制的MATLAB仿真
本设计的全向运动控制系统使用三轴全向控制,即控制3个电机相互协调运动来实现全向轮动。
电机的控制对整个系统是至关重要的。
本章主要分析系统的PID控制和MATLAB仿真。
4.1电机PID控制
电机是运动系统的执行机构,不管DSP计算的多么正确,但是电机执行达不到要求,同样系统是无法实现全向运动的。
为使得电机能够稳、准、快的执行,而PID是根据偏差的比例、积分、微分的线性组合进行反馈控制,是迄今为止工业中应用最为广泛的一种控制方法。
所以本设计采用PID分别对三个电机进行闭环控制。
4.2转速检测
本设计选用增量式PID即4.1节中所阐述的PID。
对于PID控制反馈必不可少,在本设计使用的是Faulhaber带双路编码器减速电机,即增量式光电编码器来做为反馈环节,其工作原理如图14。
光源经过码盘和检测光栅照射的信号通过光电检测器件检测,检测出的正弦值经转换电路转换成矩形波,最后出来A相B相Z相。
A相B相相差90度,通过软件能够很好的得到此时电机的速度和方向。
对AB相的采集是电机闭环控制的反馈量,关乎电机PID控制是否能达到稳准快的要求。
本设计使用输入捕捉CAP功能对脉冲进行采集,将采集量进行相应处理即得到PID控制的反馈。
4.3MATLAB仿真
在三轴控制系统中,PID是应用最广泛的控制算法。
针对电机模型,这里设定电机的模型为
,针对此电机模型进行MATLAB仿真,观察PID控制算法的控制效果[10][11]。
控制结果比较曲线如图15所示。
绿色曲线为期望值,蓝色曲线为PID控制跟踪曲线,红色曲线为误差曲线,实际速度可以通过编码器反馈。
可以看出PID控制方式的响应速度、跟踪精度可以达到系统要求。
5系统软件设计
根据前几章模型建立分析和硬件系统构建,本章主要介绍全向运动控制系统程序编写。
前两节介绍了下位机全向运动系统使用的程序编写平台软件和整个系统流程图及各部分子程序的流程图。
最后一节介绍上位机部分,编写上位机软件部分和上位机下位机使用的通讯协议。
5.1软件开发平台及仿真器
本设计的核心控制芯片为TMS320LF2407A,其软件开发平台使用官方工具CCSv3.3,仿真器选用XDS510-USB2.0。
安装CCSV3.3后生成两个部分,即CCStudioV3.3和SetupCCStudiov3.3。
其中利用SetupCCStudiov3.3对开发工具参考硬件进行相应配置,利用CCStudioV3.3建立工程编写软件,其开发周期示意图为图18所示[12]。
图19即为CCStudioV3.3开发环境。
5.2运动控制软件设计
由于本课题是基于DSP全向运动控制系统软件设计,侧重控制全向运动,故本设计将检测部分做了精简,只需要采集指南针和编码脉冲。
其全向运动方式经过上位机无线传输指令,然后DSP接收指令进行处理最后控制电机协调运动,根据指南针和编码器进行闭环控制,以达到最佳效果。
6实验验证及结果分析
为验证本设计的各种全向运动是否准确,本章将对各种全向运动形式进行试验验证。
设计试验场地,记录测试试验数据,对结果进行分析。
6.1试验场地
由于本设计使用的驱动轮为尼龙材质。
驱动轮与地面接触部分硬度较大,如果在普通地板上驱动轮将得不到足够大的摩擦力,有严重的“打滑”现象。
为提供足够摩擦力结合实验室条件,选择飞思卡尔赛道使用的KT板,做成120CM*100CM的试验场地,并在场地上标上边距为20cm的方格,同时为验证转角正确性标上了相隔45°
的虚线,结构图见图26。
6.2各项性能测试
需要试验验证测试的有:
PID验证、平移验证、原地旋转验证、边平移边旋转运动。
设计制作试验装置,分别对各种性能测试。
6.3影响因素分析
影响系统性能的因素大部分来源于外部,大致分为以下几种情况:
(1)电池电量不足,导致系统电机启动或大的变化时电流不足。
导致系统不能很好的按照设定的形式运动。
(2)外部磁场干扰,数字指南针能够很灵敏的感应磁场,所以外部稍强点的磁场就能干扰系统,一方面是金属铁,其很容易磁化,导致变成弱磁铁。
在室内钢筋结构的环境下各个位置受到的磁干扰不同,经测试最大可影响角度达30°
角,严重影响了系统性能。
另一方面是电机,由于电机带有磁性较强磁铁,产生磁场的磁场也对指南针有一定干扰。
去除干扰的方法只能经过硬磁补偿来减少很少部分干扰,大多数干扰无法去除。
(3)驱动轮干扰,本设计使用的是瑞典全向轮,轮子外侧有两排相互交错的侧轮,使得驱动轮滚动过程中,造成上下震动。
同时由于驱动轮滚动会造成电机力矩发生变化,L=12或14.5cm,及内外两个侧滑轮着地时会造成力矩2.5cm的变化,会使得系统转动发生误差。
结束语
全向运动控系统在全向机器人上的应用可实现机器人向任意方向做直线运动而不需要事先作旋转运动,并且在以直线运动到达目标点的过程中同时可以做自身旋转运动,以调整机器人的姿态,从而达到终态所需的姿态角。
其特殊的移动方式使得全向机器人越来越得到重视和应用,其未来的实用领域和前景将更加宽广。
本设计完成的主要工作为以下几点:
(1)对目前的几种运动结构进行了研究分析,设计了互成120度的三轴运动结构。
(2)对三轴运动控制结构进行了数学建模,进行了运动学分析。
对全向运动的运动的几种运动形式进行了详细的分析计算。
(3)运用TMS320LF2407A芯片为控制核心,使用了其模块UART(SCI)、IIC(模拟)、PWM、I/O、CAP、外部扩展RAM。
同时围绕核心的外部器件进行程序的编写调试,已达到全向控制的目的。
(4)使用了VC6.0的MSComm控件编写上位机软件,设计上位机界面和功能,编写通信协议。
使得系统能够经过选择相关运动形式,修改上位机的相关参数来实现运动系统的全向运动。
同时能够在上位机显示系统现在运动的状态和三个电机速度值。
并实现了通过游戏手柄来遥控系统的各种运动状态。
(5)对多电机实现了数字增量式PID控制,三个电机各自PID控制且互不影响,并通过MATLAB进行了仿真。
使得计算出的速度能够很好的执行,提高了系统的准确性。
(6)实现了全向运动控制系统的所有运动形式,且经过试验测试验证了其准确性。
参考文献
[1]徐旭,李实,叶榛,孙增圻.ASurvey:
RoboCupandtheResearchProceedingsofthe3rdWorldCongressonIntelligentControlandAutomation[M],2008
[2]赵冬斌,易建强,邓旭玥.全方位移动机器人结构和运动分析[J].机器人.2003(25)
[3]海丹.全向移动平台的设计与控制[D].长沙:
国防科技大学.2009
[4]龚建伟.VisualC++/TurboC串口通信编程实践.北京.电子工业出版社,2004
[5]RaulRojas:
OmnidirectionalControl,FreieUniversityBerlin,TechnicalReportB-10-03,FU.Bedin.June2003.
[6]刘和平.DSP原理及电机控制应用—基于TMS320LF240X系列[M].北京:
北京航空航天大学出版社,2008.
[7]王茂飞,程昱.TMS320C2000DSP技术与应用开发[M].北京:
北京清华大学出版社,2007.
[8]TexasInstruments.TMS320LF/LC240xADSPControllersReferenceGuide-SystemandPeripheralsSPRU357B[M].December,2001.
[9]陶永华,尹怡欣,葛芦生.新型PID控制及其应用[M].北京.机械工业出版社.1998
[10]薛定宇.控制系统计算机辅助设计-MATLAB语言与应用(第2版)[M].北京:
清华大学出版社,2006.
[11]范海艇.基于NiosⅡ的中型足球机器人底层控制系统的研究与实现[D].上海,上海大学.
[12]姜艳波.数字信号处理器-DSP应用100例[M],北京:
化学工业出版社,2007
[13]海丹.全向移动平台的设计与控制[D].长沙:
国防科技大学,2006
[14]张宏林.精通VisualC++串口通信技术与工程实践(第3版).北京.人民邮电出版社,2008
[15]龚建伟.VisualC++/TurboC串口通信编程实践(第二版)[M],北京:
电子工业出版社,2007.9
附录
基于DSP的全新运动控制系统软件清单如下:
其中自己建的有GB161.H(存储液晶字模数据),24C02.C(操作指南针),design.C(运动控制策略),ILI9163.C(液晶显示),main.c(主程序)。
由于程序比较大,在此只附录上main.c和design.c两个文件。
Main.c:
/******************************************************************************/
/*FileName:
main.c*/
/*Autor:
LiHai-qing*/
/*Date:
04/01/2011*/
/*Description:
Thisfileprovidesmainfunction,provideinitialization*/
/*串口发送与中断接收程序,波特率设置为9600*/
/*IO口占用:
:
PE1--PE6(PWM)PA3--PA6和PB0-PB7和PE7液晶屏使用*/
/*PF0=CAP5,PF1=cap6,PA3=cap1三电机测速。
PE2=PWM8PE4=PWM10,PE6=PWM12三电机*/
/*PC0-1PF2-3PF4-5电机正反转*/
#include"
global.c"
math.h"
voidSystemInit();
voidTimer1Init();
voidILI9163_init();
voidKickDog();
voidPWM_Init();
voidIOinit();
voidTimer4Init();
voidTimer2Init();
/****************************************************/
/*主程序*/
main()
{
SystemInit();
//系统初始化
IOinit();
//IO口初始化
SCI_Init();
//SCI初始化
PWM_Init();
//PWM初始化
ILI9163_init();
//液晶初始化
Timer1Init();
/*定时器1初始化*/
Timer4Init();
/*定时器4初始化*/
Timer2Init();
/*定时器2初始化*/
asm("
CLRCINTM"
);
display(0xff07,0xffe0);
LCD_PutString(40,03,"
李海清"
0x001f,0x07e0);
//液晶界面显示信息
LCD_PutString(16,23,"
运动控制系统"
//
LCD_PutString(0,143,"
指南针:
"
//
while
(1)
{
SciRed();
//判断并读取SCI数据
speedPV();
//速度函数
}
}
/************************************************/
/*系统初始化*/
voidSystemInit()
asm("
SETCINTM"
/*关闭总中断*/
CLRCSXM"
/*禁止符号位扩展*/
CLRCCNF"
/*B0块映射为on-chipDARAM*/
CLRCOVM"
/*累加器结果正常溢出*/
SCSR1=0x834E;
/*系统时钟CLKOUT=20*2=40M*/
/*打开ADC,EVA,EVB,CAN和SCI的时钟*/
WDCR=0x006F;
/*禁止看门狗,看门狗时钟64分频*/
KickDog();
/*初始化看门狗*/
IFR=0xFFFF;
/*清除中断标志*/
IMR=0x000B;
/*打开中断1,2*/
}
/*IO口初始化*/
voidIOinit()
{
MCRC=MCRC&
0x0354;
//PE0-PE7,PF0-PF5有效0000
MCRA=MCRA&
0x0008;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DSP 全向 运动 控制系统 软件设计