打印
[应用相关]

CAN总线应用于机械臂

[复制链接]
9763|50
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Diyer2015|  楼主 | 2018-12-24 17:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    工业机器人己经形成了通用六轴机械臂的发展趋势,但其末端执行器发展仍
然滞后。两指及多指夹持器是一种较为通用的末端执行器,通过夹持操作可以完
成搬运、码垛和送料等多种操作。CAN总线是目前国际上应用最为广泛的现场总
线之一。在机器人领域CAN总线正逐步取代RS485,将成为机器人领域主流的
通信总线。本文基于两指夹持器的机构特征,设计其控制器以及基于CAN总线
的通用通信接口,主要工作如下:
    (1)对夹持器进行运动学分析,得出夹持器运动学的数学表达式。分析了常见
的开环控制算法:梯形加减速算法和S型加减速算法。夹持器对重复精度要求更
高,应采取闭环控制。本文结合S加速和PID控制器的优点,提出S型加减速结
合模糊PID的步进电机控制算法。
    (2)分析了多种步进电机驱动电路,选用了细分驱动作为驱动方式,选取了
TB6560作为驱动芯片,该芯片集成细分驱动功能,优化了驱动电路设计,缓解
了电机低频震荡的问题。
    (3)对在高负载率下CAN总线通信实时性降低的问题,提出了基于CAN总线
的EDF调度算法。CAN总线ID位数有限,截止期不能直接作为优先级使用需要
量化。通过将截止期取对数,根据截至期的对数值进行平均值量化,从而获取优
先级。本文结合改进的调度算法,设计了CAN通信协议。完成控制器软硬件设
计后,通过实际平台测试算法效果良好。


沙发
Diyer2015|  楼主 | 2018-12-24 17:05 | 只看该作者
    随着机器人技术发展,工业机器人取代了一部分本该由人完成的工作。这些
工作单调重复危险性强,使用机器人可以降低生产成本保障工人的生命安全[fll
末端执行器作为机械臂的重要组成部分,决定了机器人的具体功能,同时也可以
根据任务的不同随时更换。夹持器作为被广泛使用的末端执行器是直接用于抓取
工件或用来夹持工具进行操作的部件,有着广泛使用前景和发展价值[}2}
    随着网络化进程的不断加快,为了使智能仪表和上位机有效通信,控制系统
倾向于采用网络化设计。在网络化控制系统中通常采用现场总线[[3],机器人同样
采用了该种控制方式。RS485被广泛使用工业总线网络,该总线在机器人中被普
遍使用。如UR公司多款模块化机械臂[[4]和Robotiq}5}的夹持器均采用以RS485为
物理层的Modbus RTU作为通信总线。但RS485属于主从模式,从节点之间无法
相互通信,且从节点必须等待主节点发送命令后才能发送信息。RS485通信的实
时性较差[f6l
    CAN总线是目前国际上应用最为广泛的现场总线之一[f}l。在机器人领域CAN
总线正逐步取代RS485}g0}},将成为机器人领域主流的通信总线【lob。如KUKA}11}
和ABB}12]都有多款产品使用基于CAN总线的DeviceNet协议[13]。为了适应机器
人发展的潮流,提升通用性,夹持器使用CAN总线进行通信。
    本文设计了一个夹持器控制系统,通过软硬件设计控制步进电机转动,进而
控制夹持器开合度。设计通用CAN总线通信协议,使其他设备能通过CAN总线
精确控制夹持器运动,有利于夹持器与机械臂互联,有着十分重要的意义。

使用特权

评论回复
板凳
Diyer2015|  楼主 | 2018-12-24 17:05 | 只看该作者
    通用夹持器是机器人领域常见的执行器【‘“],分为回转型和平移型【‘5]。本课题
采用连杆杠杆式回旋夹持器通过控制滑块移动控制夹持器开合。夹持器常见的动
力源有液压装置、气压装置和电机。气压系统结构有着简单成本低、对环境适应
性好的优势,但气信号有着传递速度较慢等缺点不利于精确控制【16]。液压系统虽
克服了气压系统的缺点,但也带来了成本上升维护复杂等问题[[17],二者均不适合
在通用夹持器中使用。夹持器使用较多的电机有无刷直流电机和步进电机。无刷
电机虽有体积小、效率高的优点,但为更好地使用无刷电机需要配备减速机及多
种传感器,这使得无刷电机控制系统的成本大幅提高[[18]。步进电机可以实现开环
控制,控制系统成本能有效降低【19],故在本课题中使用丝杆步进电机。
    在理想情况下,夹持器张合度与滑块位置为一一对应。在求得对应关系后,
夹持器控制系统可以简化为步进电机控制系统[[20]。整套控制系统可以简化为控制
器、步进电机驱动器、步进电机以及传感器。控制器发送数字信号来控制电机,
如舵机就使用PWM信号控制电机转角[[21 ]。电机控制器也可以进一步划分,可以
将系统分为上位机和下位机。上位机通过总线将命令发送给下位机,由下位机专
职负责电机控制。
    步进电机驱动电路为电机供电,对电机运行的影响最为直接。设计合理驱动
电路能为控制器控制提供保障。步进电机是一种感应电机,必须正确的给电机供
电,它才能正常工作[f221。根据控制器是否含有相序表、是否直接控制给电机分时
供电,驱动电路可以分为两种[[23]。一种使用通用的驱动芯片,结合逆变电路完成
电机的供电工作。使用这种驱动电路,下位机需要使用信号控制电机各线导通进
而控制电机转动[[24]。另一种直接使用集成的专用步进电机驱动芯片[[25],下位机仅
需提供功能选择信号和时钟信号就可以使电机转动。Morar}2602}]使用FPGA和
MOS管的PWM型细分驱动电路。Morar也设计使用L287和SLA7024组成的斩
波型细分驱动电路。曹彬乾[has]也设计了电路,使用STM32和A3988设计了PWM
型驱动电路。上述三个电路均对电机有着更精确的控制,细分数更多电机运行更
平稳,但电路设计复杂成本较高更适用于精密设备。Chan}2}]使用了不同的方案,
设计的夹持器中就使用集成的步进电机驱动芯片A3967作为驱动芯片,下位机通
过脉冲的个数和频率即可控制电机。相对而言集成步进电机驱动芯片成本相对低
廉,电路设计简单,适合通用夹持器这种对精度要求不高且成本不宜过高的设备。

使用特权

评论回复
地板
Diyer2015|  楼主 | 2018-12-24 17:06 | 只看该作者
    控制器是整套控制系统的核心,负责解析指令和控制电机。步进电机不同于
直流电机,是一套可靠的开环系统。步进电机只需要设置合理启动和停止算法,
电机就能平稳运行[[30]。闭环系统虽可以使电机更精确,但考虑到成本和实现难度
其必要性有待商榷。文献[[31]比较了开环和闭环系统,仅在负载变化较快的情况
下闭环系统能明显优于开环系统,而在无负载平稳运行过程中开环系统反而更好。
在夹持器系统中电机的负载变化较大,开环系统难以够胜任控制工作。夹持器控
制系统与单纯的步进控制系统不同,夹持器会因各种原因无法运行到预定目标,
开环系统将无法获取夹持器开合度[[32] o zakl[33,34]使用梯型加减速算法控制夹持器。
B1ari0S}35]使用设计了欠驱动结构[[36]夹持器对步进电机采取开环控制。L,111}37]使用S
型加速算法控制步进电机,使用位移传感器直接测量夹持器开合的距离。在夹持
器设计上倾向于直接获取夹持器的运行状态而非通过电机间接获取运行状态。

使用特权

评论回复
5
Diyer2015|  楼主 | 2018-12-24 17:08 | 只看该作者
    综上所述,夹持器控制系统的各个方面己有大量研究成果,夹持器设计存在
如下问题:
    (1>电路设计复杂并且硬件不支持细分驱动。
    (2)步进电机开环控制精度不足。
    (3)设计CAN总线协议时没有考虑实时性,没有调度算法。
    本课题综合成本和简化设计的角度,选用步进电机做动力,选用行程传感器
而不是价格高昂的编码器做反馈控制,用集成驱动芯片为电机供电,使用CAN
总线作为夹持器的通信总线,并增加基于CAN总线的改进EDF,提高了实时性。

使用特权

评论回复
6
Diyer2015|  楼主 | 2018-12-24 17:10 | 只看该作者

使用特权

评论回复
7
Diyer2015|  楼主 | 2018-12-24 17:11 | 只看该作者
    工业机器人现己逐渐取代人进行工业作业,工业机器人的分类主要是根据其
末端执行机构来划分。其中机械爪作为码垛、抓取、翻转等机器人的末端执行设
备应用范围最广。现有的机械爪虽然具有结构简单、操作简便、机械效率高等优
点,但对于所要抓取的物体不同机械爪的结构也会存在差异。针对所要抓取物体
的需要,机械爪的结构都需要改进或重新设计以满足使用需求。
    本文实验中所设计的机械爪样机属于机械爪中的两爪机械爪(一般也称为夹
具),其结构如图2.2所示,为满足被抓取物体的使用要求,本机械爪采用步进电
机带动丝杆转动,从而使得丝杆上的滑块进行上下运动,进而通过平行连杆机构
驱动机械手爪的平行开闭。本文所设计的机械爪可以抓取苹果、香蕉、梨子、笔
等外表面为曲面的物体,也可以抓取书、手机、钱包等外表面为平面的物体。对
于苹果、香蕉、梨子等易被抓伤的物体,本实验机械爪采用弹性橡胶来抓取,通
过橡胶变形后的回复力夹住物体。
    由于使用要求的特殊性,现对本文所设计的机械爪作用机理进行概述:本文
所采用的机械爪属于平行连杆机构,其中底板和侧板以及电机座类似于机架,步
进电机通过电磁感应为丝杆提供扭矩,带动丝杆作旋转运动,由于丝杆螺母与滑
块通过螺钉形成紧固联结,并且丝杆与丝杆螺母通过螺纹联结,根据丝杆的正反
转动,丝杆螺母与滑块就会沿着丝杆进行轴向的上下运动,从而通过连杆带动曲
柄进行转动,进而在摇杆的支撑下带动手爪座进行水平方向的前后运动,因为手
爪、橡胶垫片与手爪座是联结为一整体,进而实现左右两侧的手爪及橡胶垫片开
启和闭合。机械结构示意图如图2.2所示。

使用特权

评论回复
8
Diyer2015|  楼主 | 2018-12-24 17:11 | 只看该作者
    电机作为一种机电执行元件,只需要输入脉冲就可实现电机的运行。设计合
理驱动电路能为控制器控制提供保障。如上文所说,为简化控制过程驱动模块应
当包含相续表,驱动模块可以完成步进电机的换向工作,无需控制器控制换向,
简化了程序设计。

使用特权

评论回复
9
Diyer2015|  楼主 | 2018-12-24 17:12 | 只看该作者

使用特权

评论回复
10
Diyer2015|  楼主 | 2018-12-24 17:12 | 只看该作者

使用特权

评论回复
11
mmuuss586| | 2018-12-24 20:20 | 只看该作者
感谢分享;

使用特权

评论回复
12
515192147| | 2018-12-25 12:05 | 只看该作者
有机会 合作合作,用我们的CANWeb 总线,可减少 贵公司的 工作量
详细见:
https://bbs.21ic.com/icview-1945634-1-1.html

使用特权

评论回复
13
Diyer2015|  楼主 | 2018-12-25 16:27 | 只看该作者
515192147 发表于 2018-12-25 12:05
有机会 合作合作,用我们的CANWeb 总线,可减少 贵公司的 工作量
详细见:
https://bbs.21ic.com/icview-194 ...

好的!
CAN WEB 是网络与CAN 的组合吗?

使用特权

评论回复
14
Diyer2015|  楼主 | 2018-12-25 16:29 | 只看该作者
    本节主要描述控制器的软件部分。控制器的硬件平台是以STM32为核心设计
的,在此硬件平台基础上,采用了Keil }Vision5集成开发平台以及ST公司提供的
V3.5.0版本的STM32库文件系统进行软件设计,开发语言为C语言。
    初始化模块完成软硬件的初始化。硬件初始化包括GPIO,  CAN, USART,
ADC和FLASH等模块供其他部分使用。其中CAN和USART作为通信接口供调
试和操作夹持器使用,FLASH模块则用来保存夹持器参数,ADC模块用来采集传
感器信息。
    通信模块分为两部分:CAN通信和串口通信。CAN总线是多主多从的总线,
因此CAN通信模式下,需要判断报文的来源。控制器接收到CAN报文后,先根
据CAN报文的帧类型、ID和报文长度判断接收的报文是否为上位机报文。判断报
文参数是否正确,参数错误则产生错误报文,正确则更改参数并发送反馈信息给
上位机。若更改的信息是夹持器开合度,则启动控制软件。在串口模式下,则可
以更改一下CAN通信的基本信息如CAN报文的帧类型、ID和通信波特率。因为
不知道这些信息就无法通过CAN总线与夹持器通信,故而上位机也无法通过CAN
总线修改夹持器ID和CAN波特率,为方便使用增加了串口模块。
    控制模块包括步进电机加速部分,传感器采集部分和PID闭环控制部分。步
进电机加速部分根据夹持器设定生成加速曲线。根据速度加速方式((S型或梯形)、
速度以及运动距离,确定步进电机的运行轨迹。运行轨迹包含位置时间关系,供
PID闭环模块作为设定值使用。传感器采集部分通过软件滤波进一步提高数据精度,
同时将行程传感器数据转化成对应的夹持器开合度,以供其他模块使用。PID闭环
模块通过将传感器传来的实际位置与预期位置做比较进行PID调节进一步提高精
度。


使用特权

评论回复
15
Diyer2015|  楼主 | 2018-12-25 16:29 | 只看该作者
    本文将PC和LM USB CAN转接口作为硬件平台。夹持器作为机器人末端执
行器,其上位机应该为机器人控制器,本文中的上位机仅供调试使用。调试软件
有两种通信方式:串口通信模式和CAN总线通信模式。
    夹持器的ID和CAN总线波特率是上位机通过CAN总线控制夹持器的关键信
息。这些信息被意外更改,上位机也无法通过查询方式再次获得这些关键信息,
从而无法与夹持器通信。为减少上位机软件BUG可能导致的意外修改夹持器ID
和CAN总线波特率的情况,故本文在制定通信协议时规定,仅能通过串口更改ID
和CAN总线波特率,或通过按键恢复出厂设置让ID和波特率恢复初始值。因此
本文针对该情况设计了串口模式,上位机软件只有在串口模式下才运行更改夹持
器ID和CAN总线波特率等关键信息。同时串口模式还可以完成CAN模式下其他
的功能,在串口模式下用户可以通过按键和下拉框等控件操控夹持器,简单方便
利于使用。串口模式主要作用是更改参数和复位,不是本文的重点后文中不再做
出更多描述。
    上位机使用CAN总线控制夹持器的方式与使用串口类似。使用者可以通过
UI界面,控制夹持器运动和设置夹持器相关参数。因为夹持器通常在CAN总线模
式下运行,为了方便调试,软件在CAN总线模式下支持手动输入CAN报文的功
能,返回不经过解析的原始CAN数据方便使用者更好的了解协议内容,方便开发
者开发使用。同时UI界面也可以扩展为出 CAN原始数据界面,通过栅格控件将
CAN报文中个字节对应的原始数据,方便开发者观察上位机发出的请求报文和夹
持器的应答报文。

使用特权

评论回复
16
Diyer2015|  楼主 | 2018-12-25 16:30 | 只看该作者

使用特权

评论回复
17
Diyer2015|  楼主 | 2018-12-25 16:32 | 只看该作者
3.2步进电机加速算法
    步进电机是通过数字脉冲控制得,电机(包含丝杆电机)可以根据脉冲的个
数旋转单位角度或平移单位距离。步进电机的系统可以用较少的元件和传感器实
现控制,并且有着不错的控制精度。虽然步进电机有着较高的开环精度,但步进
电机在启动阶段,会出现启动速度慢以及失步的现象,在停止阶段也会因惯性出
现过冲的现象。应该对步进电机启动和停止过程做出优化,在启动阶段应有加速
过程,在停止阶段应有减速过程,使步进电机在运行过程中的速度具有连续性。
本节将针对梯形加速和s型加速展开讨论。

使用特权

评论回复
18
Diyer2015|  楼主 | 2018-12-25 16:32 | 只看该作者

使用特权

评论回复
19
Diyer2015|  楼主 | 2018-12-25 16:33 | 只看该作者

使用特权

评论回复
20
Diyer2015|  楼主 | 2018-12-25 16:33 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

1615

帖子

13

粉丝