基于STM32的六自由度机械臂控制与PID仿真

发布时间:2022-12-14  

为实现六自由度机械臂的控制抓取并在此基础上提高抓取精确度,本文采用D-H法建立基于xArm1S智能总线机械臂的数学模型。并在Matlab2020a的RoboticsToolbox工具箱中编程实现给定机械臂末端始末位置条件下机械臂各连杆的运动仿真和角速度解算。最后以STM32单片机为核心控制模块,实现六自由度机械臂的各连杆运动控制,并在Simulink中搭建模块加入PID控制器对机械臂运动进行仿真。


六自由度机械臂具有效率高、灵活性强等优点,并可取代人类进行各类精密操作,有很强的实用价值和意义。本文选取图1中的xArm1S机械臂进行研究,为了提高精度,在使用前将机械臂固定在桌面。xArm1S机械臂在机械结构上包括六自由度机械臂由底部基座、6个舵机、中间连杆和其他固定机构,基座底部包含固定装置、电源接口和机械臂核心控制电路。针对机械臂底部基座建立空间直角坐标系,以基座底部中央为原点,Z轴方向竖直向上,X轴,Y轴在桌面平面内,X轴沿纸面向外。底部基座可实现机械臂沿Z轴的旋转,关节1、2、3可在Y-Z平面内改变与Y轴的夹角。关节4为关节3末端的抓手,通过舵机连动齿轮转动带动抓手开合从而实现物品抓取,在建立坐标系时可将其视为一个关节。

图1 xArm 1s总线机械臂


1、机械臂运动学分析

连杆坐标系的建立

D-H法的作用是由矩阵变换求算终端抓手与基座坐标系的位置关系。在每个连杆n上建立坐标系[n],规定坐标原点为an和轴线交点处,Xn坐标轴为Zn-1轴和Zn轴公共垂线方向,Zn轴方向为关节轴线n方向,指向Zn轴偏离Zn-1轴。Yn按照右手螺旋定则确定。图2中为按规定要求建立的坐标系。本机械臂共有1个基座、3个关节和1个末端抓手,基座可实现机械臂在平面内360°旋转,因此针对基座的连杆坐标系Z轴方向在纸面内向上,Y轴和X轴在平面内。对于连接基座和连杆1的关节1,Z轴方向朝纸面向内,X轴和Y轴方向在纸面内。关节1可实现连杆1及以上部分关节在纸面内的270°转动。关节2和关节3的连杆坐标系的Z轴方向同样沿纸面向外,关节4可实现末端抓手的360°旋转抓取,关节5可实现抓手的闭合,实现系列抓取动作。

图2 xArm 1s机械臂连杆坐标系图


2、机械臂运动仿真与角度计算

2.1基于Robtics Toolbox工具箱的机械臂运动仿真

采用Robotics Toolbox10.4工具箱编写程序搭建模型实现了六自由度机械臂的运动仿真,生成GUI界面如图3所示。RoboticsToolbox可实现机械臂的可视化显示、多关节位置和相关参数计算。通过调整按钮q1-q6可依次改变基座和连杆1、连杆2、连杆3、尾部抓手的姿态。同时X、Y、Z可显示机械臂末端的空间坐标。

图3 机械臂仿真界面图


2.2始末位置设定与角度计算

在RoboticsToolbox工具箱中,编写程序并输入规定的机器臂的始末位置,可实现机械臂对应连杆运动角速度和角加速度、机械臂末端轨迹的求解与输出。仿真中设定六自由度机械臂末端的初始位置在原点,结束位置的角度坐标为[pi/4,-pi/3,pi/5,pi/2,-pi/4,pi/6]。图4表示仿真得到此过程各个连杆的相关运动信息,可将其记录并通过实物实现运动过程。

图4 仿真结果图

由工具箱仿真可求出给定始末位置机械臂运行时各角度和角加速度的变化情况。图4中最后一行为机械臂仿真后的终止位置图,在仿真过程中可实时显示机械臂各关节的运动情况。前三行图分别为机械臂末端在坐标系下的位置变化图,第四行和第五行分别为机械臂六个自由度连杆速度和加速度随时间的变化图像。分析图像可知,各关节的运动角速度在运动过程中随时间逐渐提高,于中期到达最大值,之后逐渐减少到0,角加速度在运动前期和运动后期各有一次峰值,体现了各关节的角度变化情况。


3、基于 STM32 单片机的机械臂控制系统

六自由度机械臂系统由电源及调理模块、单片机控制系统、六自由度机械臂机械结构、姿态控制蓝牙手柄、舵机组成,主控芯片为STM32单片机。六自由度机械臂共包含6个舵机,分别为1号总线舵机、5号LX-225舵机、2号3号4号6号LX-15D舵机。舵机均具有堵转保护和过温保护,支持回读,具有温度、电压和位置反馈。供电后通过编程接口将控制程序拷入STM32单片机中,结合时钟电路和复位电路实现舵机控制,从而自由改变机械臂的姿态。本文系统原理图如图5所示。

图5 系统原理图


3.1电机的控制实现

外接电源通过电源器供给系统电压为12V,通过编程接口将机械臂控制程序烧录到单片机内。电源输入后,单片机输出PWM脉宽信号,通过修改输入信号的脉宽可以转换舵机角度。一般在脉冲宽度为1.5ms时,舵机位置归一化。此后,脉宽每增加0.5ms,舵机输出轴角度顺时针旋转45°;脉冲宽度每减小0.5ms,舵机输出轴的角度就逆时针旋转45°。最后,实现了机械手各关节的挠度控制。此外,还可通过蓝牙连接上位机的方式进行机械臂的精确控制。在运行过程中,电位计测量并反馈电机输出轴的位置至STM32单片机,将电机的实际位置与单片机设置的目标位置进行比较,构成闭环控制系统,最终减少偏差,与设定值相匹配。在程序设计上,首先进行定时器的初始化配置,之后复位,并通过设计一定的延时保证动作可以完全执行。六自由度机械臂的舵机控制为定时器控制多路电机,STM32的高级定时器TIM1可产生7路定时器,因此可修改6路通道的比较寄存器值,实现6路舵机的控制。


3.2蓝牙模块的连接与通讯实现

系统选用HC-05蓝牙模块,通过蓝牙模块实现机械臂与上位机之间的通讯,并通过上位机对机械臂各关节的运动状态进行操纵。将HC-05蓝牙模块的波特率选在5000bps。HC-05蓝牙模块在与STM32单片机连接时,Vcc连接电源5V,HC-05的GND引脚与STM32模块的GND引脚相连接,RXD连接STM32模块的TXD引脚,TXD连接STM32模块的RXD引脚。使用HC-05模块时,可以忽略蓝牙的内部通信协议。两台设备共用同一个串口。一个设备通过串口发送数据,另一个设备可以通过串口接收数据。串行通信的实现分为六个步骤:第一,上电和复位;二、GPIO端口模式设置;二是串口参数初始化;第二,中断初始化NVIC;第三,中断函数编码。中断函数主要包括信息的发送和读取两部分。读取数据的函数为uint16_tUSART_ReceiveData(USART_TypeDef*USARTx)。


3.3PID 仿真与优化实现

由于在实际工作过程中会出现一定误差,对六自由度机械臂的每个关节单独引入PID控制,可减少机械臂在工作中受到外部因素的干扰。通过调整比例,可以提高系统的速度和响应峰值时间Tp;通过改变积分,可以提高系统的稳态精度,减小系统的响应误差;通过改变微分,可以提前减小系统响应的超调量,提高系统的稳定性。在机械臂系统前加入PID控制环节实现对机械臂系统的校正,在实际中各个机械臂的传递函数均不相同,一般通过实验输入单位阶跃得到输出结合数学方法求出机械臂的实际传递函数。PID输出系统框图如图6所示。

图6 PID 控制系统原理图


4、创新点

本文包含六自由度机械臂的仿真和控制全过程,可应用至实际项目中并实现多种复杂环境下各关节的控制:首先依据实际工程需要确定机械臂末端的起始位置和末端位置,之后通过RoboticsToolbox工具箱实现机械臂运动过程的仿真,求解得到此过程中各个关节的位置、运动角速度和运动角加速度。之后编写程序采用STM32单片机控制舵机实现机械臂的全部运动过程,同时可验证方程和仿真的准确性。为了弥补PID控制的部分缺点,可在后期对机械臂建立规则引入模糊控制,对于提高模型的精准度有较大意义。


5、结语

本文采用D-H法建立基于xArm1S智能总线机械臂的数学模型。并在Matlab2020a的RoboticsToolbox工具箱中编程实现给定机械臂末端始末位置条件下机械臂各连杆的运动仿真和角速度解算。最后以STM32单片机为核心控制模块,实现六自由度机械臂的各连杆运动控制。引入PID控制进一步实现优化。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    四旋翼飞行器的动态模型。其次,基于反步法设计的控制器用于飞行器姿态控制,采用模糊自适应PID控制器对飞行器的高度和位置进行控制,将两者结合构成一个内环姿态和外环位置结构的双闭环控制器,从而实现四旋翼飞行器的混合增稳控制。仿真和实际测试结果表明所设计的控制器能够实现参数变化和外部干扰时的稳定控制......
    等,而PID控制器则负责实时监测电机的运行状态,通过计算误差信号来调节电机控制器的输出信号,从而实现对电机的精确控制。 在PID控制器的调节过程中,需要注意调节参数的选择和优化。一般来说,PID控制器的参数调节可以通过试错法或者自适应控制......
    的复杂系统和模型不清楚的系统。模糊控制器对复杂的和模型不清楚的系统能够进行简单有效地控制。因此,结合传统PID控制器的优点,同时考虑到模糊控制实现的特点,提出了自适应模糊PID控制方法。 PID参数......
    方式,可以快速响应外部干扰和变化,快速调整被控对象的输出值,实现快速响应。   自适应调整:PID调节器可以根据被控对象的实际输出值和设定值,自适应地调整控制参数,实现更加精确的控制......
    PID控制的作用(2023-06-02)
    算法可以根据实际输出值与预期输出值之间的误差信号,及时调整控制输出值,从而实现对控制精度的提高。 适应性强:PID控制器具有自适应性,能够根据系统的实际运行状态自动调整控制参数,适应......
    相结合的产物,模糊自适应PID控制除具有调速范围宽,调节速度快和不要求掌握受控对象的精确数学模型等优点外,还具备结构简单、容易实现的特点。根据直线电机位置运动规律,模糊自适应PID控制的基本思想是:当误差大时,需加大误差控制......
    了某些(而非全部)TS包的自适应区来传送定时信息。于是,被选中的TS包的自适应区,可用于测定包信息的控制bit和重要的控制信息。自适应区无须伴随每个包都发送,发送多少主要由选中的TS包的......
    器不仅具备自学习、自适应、自组织的能力,而且还有常规PID控制器结构简单、鲁棒性强、可靠性高、为现场工程设计人员所熟悉等特点。目前主要有4种智能PID控制:基于专家智能PID控制、基于模糊推理的PID控制......
    方法专家学者们提出了很多的方法。包括:滑模控制、智能算法控制及自适应控制等。 模糊PID控制方法是一种利用模糊控制器实现整定PID控制器参数的控制方法,其即有模糊控制器不依赖控制......
    以较少的迭代次数提供可靠的结果,GEO-RBFNN支持简单的计算,并提供了较低的难度,但研究所建立的控制算法对于高转速的大功率系统,其控制模型的性能有限,与此同时,该研究未实现控制器参数的自适应整定,因此......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>