尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

四自由度搬运机器人冲压上下料:机械传动与控制系统设计

四自由度搬运机器人冲压上下料:机械传动与控制系统设计 简介这份WORD文档面向机械设计、自动化及相关专业的课程设计者与毕业设计学生围绕四自由度工业机器人的整机设计展开用于给冲压设备运送物料这一具体场景。文档从绪论、机器人实验平台与机械手设计、控制系统硬件、控制系统软件四部分逐层推进结构上完成底座、大臂、小臂和机械手的选型与搭建并比较驱动、传动方式与制动器的方案硬件上说明工控机、数据采集卡、伺服放大器、端子板、电位器标定及电源的搭建思路软件上讨论关节角实时显示与运动范围控制、示教编程、在线修改程序、设置与回参考点等功能实现并兼顾控制软件可靠性与运行安全。压缩包共1个doc文件约980KB属于完整的设计说明书式材料含中英文摘要与目录可对照章节结构理解设计逻辑与推导过程。目前已有146人学习适合需要参考整机方案、控制系统框架与答辩写法读者使用。1. 四自由度搬运机器人冲压上下料场景下的构型取舍冲压车间的上下料工位属于典型的高重复、高噪声、高危险场景。工件重量通常在几公斤到十几公斤节拍要求每秒几百毫米人工干一天既累又容易出安全事故。这类工位不需要弧焊那种连续轨迹插补也不需要六自由度的空间姿态全包只要能把料从料仓抓起来、转个角度放进模具型腔就够了。四自由度关节型机器人正好卡在这个能力边界上腰关节回转完成工位切换肩、肘两关节决定末端高度和水平伸出量腕关节把工件摆正末端再加一个夹钳式取料手。相比直角坐标或 SCARA 结构关节型在同样臂展下占用空间更小还能绕过基座附近的干涉区。这套方案基于一台报废焊接机器人本体改造也是工业机器人毕设里被选得最多的题目之一。2. 机械本体与齿形带传动从基座刚性到传动比计算2.1 自由度分配与关节类型四自由度指的是四个转动关节加上末端夹持手一共五个动力源。链式串联结构末端位姿由四个关节角唯一确定。搬运作业对末端姿态的要求只有“把工件摆正”这一条多出来的两个腕部自由度只会抬高成本和标定难度所以没必要往六自由度上堆。编号名称关节类型驱动源功能定位J1腰关节R 回转MAXON 2332整机水平回转切换料仓与模具位置J2肩关节R 回转MAXON 2332控制大臂俯仰决定末端高度J3肘关节R 回转MAXON 2332控制小臂伸缩决定水平伸出量J4腕关节R 回转MULTIPLEX STELL-SERVO调整末端夹持姿态J5夹持手开合MULTIPLEX STELL-SERVO抓放工件腰、肩、肘三个关节承受的负载最大选的是带减速轮系的直流伺服电机腕关节和手爪负载轻用小功率伺服就够。四个关节都装电位器做角度反馈这一点决定了后面控制软件里所有位置量都是靠 A/D 采样换算出来的不是编码器那种增量计数。2.2 基座刚度与大臂小臂尺寸链基座用两块“Z”字形实心铸铁做支撑铸铁的阻尼特性比钢板焊接件好能吃掉一部分关节启停时的振动。基座上面是接线盒所有电机的驱动信号和反馈信号都从盒内进出引入线和引出线各开一个口动力线和信号线分两侧走线减少伺服放大器 PWM 对电位器弱信号的串扰。大臂长 230 mm小臂长 240 mm两个连杆长度接近 1:1工作空间比较圆整不会出现某个方向伸出量特别短的情况。粗略算一下最大水平伸出量230 240 腕部偏置 手爪长度实际可达距离在 500 mm 上下覆盖一台中小型冲床的上下料范围。连杆长度如果改成 300/150 这种比例虽然近端力矩能小一些但工作空间会变成一个很扁的环带反而不实用。2.3 机械手曲柄滑块与滑块摇杆串联机构末端执行器选的是回转型夹钳式取料手两个手指靠电机驱动开合。传动链是两套机构串联曲柄 OA、连杆 AB、滑块 B 加支架构成曲柄滑块机构滑块 B、连杆 BC、摇杆 CE 加支架构成滑块摇杆机构。电机输出轴的旋转先变成滑块的直线运动再变成摇杆的摆动最终驱动手指张合。手指之间加一根弹簧作用有两个一是给夹紧力做预紧二是提供张开时的回弹力。代价是启动阶段要克服弹簧最大压缩力用 ADAMS 做虚拟样机仿真后可以看到起始时刻的力矩峰值最大电机转矩必须大于 550 N·mm 才能可靠完成一次开合。这个数字直接决定了手爪电机的选型下限比额定转矩参数更有参考价值。2.4 齿形带传动比与带速计算电机输出力矩不够直接驱动连杆需要传动机构增矩。机器人传动机构的通用要求是结构紧凑、传动刚度大、回差小、寿命长。齿形带属于同步带靠齿形啮合传动而不是摩擦传动没有打滑回差主要来自带的弹性伸长用在腰、肩、肘三个关节上比较合适。传动比按齿数比算$$i \frac{n_1}{n_2} \frac{z_2}{z_1}$$带速按主动轮节圆直径和转速算import math def belt_params(z1, z2, n_motor, d1_mm): 齿形带传动参数估算 z1 : 主动轮齿数 z2 : 从动轮齿数 n_motor : 电机额定转速, r/min d1_mm : 主动轮节圆直径, mm 返回 : (传动比 i, 从动端转速 r/min, 带速 m/s) i z2 / z1 # 传动比 从动齿数 / 主动齿数 n_out n_motor / i # 从动端输出转速 v math.pi * d1_mm * n_motor / 60000.0 # 带速, mm/min 换算成 m/s return i, n_out, v i, n_out, v belt_params(z118, z254, n_motor7980, d1_mm20) print(f传动比 i{i:.2f}, 关节输出转速 n{n_out:.1f} r/min, 带速 v{v:.2f} m/s)这段代码做三件事先由主动从动齿数求出传动比再用电机转速除以传动比得到关节端实际转速最后用节圆周长乘转速得到带速。z1和z2直接查带轮规格表n_motor取电机额定转速而不是最高转速留出调速余量。运行结果大概会给到 i3.00、关节转速 2660 r/min、带速 8.35 m/s齿形带在这个速度下远低于常见 30 m/s 的许用上限安全裕度充足。提示齿形带的实际输出转速还要再乘一次电机内部减速轮系的减速比选带轮前先把电机自带的减速比查清楚否则算出来的关节转速会差好几倍。3. 直流伺服驱动与关节制动方案选型3.1 液压、气动、电机三种驱动方式的取舍对比项液压驱动气动驱动电机驱动输出功率很大压力 50140 bar大压力 4860 bar较大控制精度较高可实现连续轨迹低气体压缩性大高伺服特性好响应速度很高较高很高结构体积功率质量比大密封问题突出功率质量比大密封问题较小需配减速装置无密封问题安全性液压油有火灾风险高于 1000 kPa 时需考虑抗压直流有刷电机换向有火花环境易漏油污染排气噪声无污染成本与维修元件贵油液对温度敏感成本低维修方便成本高维修较复杂适用场景重载、低速、电液伺服中小负载、低精度点位控制中小负载、高精度轨迹控制搬运机器人要求的是中小负载、较高定位精度、频繁启停换向液压的漏油和气动的低精度都不合适所以选直流伺服电机驱动。具体配置是腰、肩、肘三关节用 MAXON 2332额定电压 18 V额定转矩 18.2 N·m腕关节和手爪用 MULTIPLEX STELL-SERVO额定电压 6 V额定转矩 10.3 N·m。注意老旧设备的电机铭牌参数往往和手册对不上改造前最好实测一次空载电流和堵转电流把手册值只当作选型的起点不要当作最终依据。3.2 关节转矩与惯量校核选完电机必须校核关节是否能带得动负载。肩关节是最吃力的一环因为它要克服大臂、小臂、腕部、手爪和工件的全部重力矩。校核脚本可以这样写def joint_torque(m_link, l_cg, m_load0.0, l_load0.0, g9.8, safety1.5): 静态重力力矩估算连杆近似为集中质量 m_link : 连杆自身质量, kg l_cg : 连杆质心到关节轴的水平距离, m m_load : 末端负载质量含手爪和工件, kg l_load : 负载到关节轴的水平距离, m safety : 安全系数, 建议 1.5 ~ 2.0 返回 : (静态力矩, 计入安全系数后的选型力矩) N·m tau m_link * g * l_cg m_load * g * l_load return tau, tau * safety tau, tau_sel joint_torque(m_link6.0, l_cg0.12, m_load3.0, l_load0.47, safety1.5) print(f静态力矩 {tau:.2f} N·m, 选型力矩 {tau_sel:.2f} N·m)代码把连杆简化为集中质量用重力矩公式逐项相加。l_cg取连杆质心到关节轴的水平投影不是连杆全长这个值最容易被新手写错l_load取末端最不利姿态下的水平距离也就是臂完全伸平的状态。算出来静态力矩约 20.9 N·m乘 1.5 安全系数后需要 31.3 N·m 的选型力矩再叠加电机自带减速轮系的增矩倍数才轮到看电机额定转矩是否够用。3.3 没有机械制动器时怎么做电气制动这套平台没有装机械制动器肩关节和肘关节一旦断电或者停止驱动会因为重力作用往下掉。机械制动器里最典型的是无励磁动作型电磁制动器弹簧压紧盘式摩擦片只有线圈通励磁电流时制动器才松开断电时弹簧自动压紧属于常闭式安全制动专门用在断电保护场合。缺点是装上以后增加运动部件质量和“驱动系统质量尽量轻”的设计原则冲突。改造现场不方便在原有机构上加装机械制动器只能靠软件实现电气制动。做法有两种一是停机时给直流电机电枢加反向电压或直接短接电枢让电机进入能耗制动状态动能变热耗散二是用电位器反馈做位置闭环在目标角度附近持续输出一个反向保持电压靠电机堵转力矩顶住重力。Kp 0.35 # 位置环比例增益, V/deg deadband 0.8 # 死区, deg, 小于此偏差不输出 v_limit 5.0 # 伺服放大器控制电压上限, V def hold_voltage(angle_ref, angle_now): 重力关节保持电压计算, 返回送给伺服放大器的控制电压 err angle_ref - angle_now if abs(err) deadband: return 0.0 # 进入死区, 避免抖动 v Kp * err return max(-v_limit, min(v_limit, v)) # 限幅后输出 print(hold_voltage(45.0, 44.5)) # 死区内 - 0.0 print(hold_voltage(45.0, 40.0)) # 偏差 5 度 - 1.75 VKp是位置环比例增益调大了会在死区边缘来回抖调小了保持不住一般从 0.3 起手deadband是死区用来防止电位器噪声引起的持续抖动取值和电位器分辨率相匹配v_limit是限幅防止大偏差时一下子把控制电压打满导致机械冲击。电气制动的问题是断电就失效所以回参考点和停机都必须安排在关节处于低位或者带自锁的姿态。4. PC 加数据采集卡的控制系统硬件搭建4.1 控制模式选择从 VME 总线到 PC 总线机器人控制系统的硬件平台大致分两类基于 VME 总线的系统和基于 PC 总线的系统。VME 是早期 32 位工业标准总线实时性好但板卡贵、开发工具少。随着 PC 性能提升和价格下降单 PC 模式、PCPC 模式、PC分布式控制器、PCDSP 运动控制卡、PC数据采集卡这几种方案都进了机器人控制领域。选 PC数据采集卡的直接理由是便宜和灵活算法自己写接口自己配旧机箱和旧采集卡还能接着用。代价是实时性靠工控机的实时任务调度保证不是硬实时节拍快、精度要求苛刻的场合要慎重。4.2 采集卡通道分配工控机选研华工业控制机主频 233 MHz内存 128 MB32 位数据总线底板带 9 个 ISA 插槽和 4 个 PCI 插槽。工控机相比普通 PC 的关键差别在芯片筛选更严、驱动能力更强、机箱内部做了防震抗干扰加强、对温湿度和粉尘的容忍度更高。板卡关键参数本设计用途PCL-812PG16 路单端 12 位 A/D2 路 12 位 D/A采样率最高 30 kHz支持 DMA 或中断采集关节电位器电压输出模拟控制电压PCL-7266 路独立 12 位 D/A16 路数字输入16 路数字输出量程 ±10 V±5 V05 V010 V420 mA输出四关节加手爪的伺服控制电压通道分配思路PCL-726 的六路 D/A 分别对应腰、肩、肘、腕四个关节和手爪一块板子就能把五个伺服放大器全部喂饱PCL-812PG 的 A/D 通道用来读电位器分压数字量输出用来驱动手爪的开关量信号和制动相关继电器。量程一定要和伺服放大器的控制电压范围对齐LSC 30/2 的控制电压是 ±5 V 量级采集卡就选 ±5 V 档别用 ±10 V 档浪费一半分辨率。4.3 伺服放大器 LSC 30/2 接线与增益整定驱动用的是 MAXON 的 4-Q-DC 伺服控制器 LSC 30/2电源电压 1230 V。接线定义按端子号来1、2 号端子接伺服电机直接给电机供电3、4 号端子接电源7、8 号端子接控制电压采集卡输出的模拟电压从这里进来控制转速大小和正反转13、14 号端子接测速计这套平台没用3、4、10 号之间是光耦输入“准备好”信号。控制器前面有 5 个旋钮调节器下面有 10 个 DIP 开关前者调增益和偏置后者选工作状态。旋钮作用整定方法P1 Gain速度环增益从小往大加加到电机不啸叫、不振荡为止P2 n_max最大转速按关节许用转速设定防止机械超速P3 I×R电流补偿补偿电机内阻压降堵转时低速力矩更足P4 Offset零漂偏置输入 0 V 时电机应停转不停就微调这个P5 Imax峰值电流限幅按电机堵转电流的 80% 设定保护电机整定顺序不能颠倒先调 Offset 让零输入时电机静止再调 Imax 限流然后调 Gain最后调 n_max。先调 Gain 再调 Offset 是常见错误零漂会被增益放大成自激振荡。4.4 端子板布线与电位器标定采集卡装在工控机机箱里不可能直接连到现场的传感器和执行器上中间要经过端子板。端子板承担两个作用一是作为采集卡与信号调理电路、驱动装置之间的电气连接部件二是把现场线缆和板卡引脚做隔离和转接避免反复插拔损坏采集卡。电位器标定是把 ADC 读数换算成角度的必要步骤做法是取机械行程两端两个点记录 ADC 值和对应的机械角度解一个线性映射def calibrate(adc_low, adc_high, angle_low, angle_high): 电位器两点线性标定 adc_low : 机械下限位处的 ADC 读数 adc_high : 机械上限位处的 ADC 读数 angle_low : 下限位对应的关节角, deg angle_high : 上限位对应的关节角, deg 返回 : (斜率 k, 截距 b), 角度 k * adc b k (angle_high - angle_low) / (adc_high - adc_low) b angle_low - k * adc_low return k, b k, b calibrate(adc_low412, adc_high3688, angle_low-90.0, angle_high90.0) print(f角度 {k:.5f} * ADC ({b:.2f}))adc_low和adc_high一定要在机械硬限位处采采样时用手动点动方式把关节推到限位不要靠外力硬顶否则电位器齿轮会打滑。斜率k反映的是整条反馈链的等效灵敏度如果四个关节算出来的k值差出一个量级说明某个电位器的机械安装角度装偏了要重新装再标。标定系数存进配置文件每次开机加载不要每次上电重标。5. 控制软件联调示教、回参考点与误差控制5.1 回参考点的状态机写法回参考点最怕的就是一路冲到底撞限位。常见的做法是两级回零先按高速朝参考点方向找粗定位信号找到后反向低速再找一次精定位信号最后把该位置写成零位。def homing(axis, v_fast3.0, v_slow0.5): 两级回零: 高速找粗信号, 低速找精信号 axis.move(-v_fast) while not axis.home_coarse(): # 粗定位信号 pass axis.stop() axis.move(v_slow) while not axis.home_fine(): # 精定位信号 pass axis.stop() axis.set_zero() # 当前位置置为零位两个速度分开的意义在于高速段省时间低速段把重复定位精度做上去。低速段速度一般取高速段的 1/5 到 1/6太快会冲过精定位点太慢则回零时间拉长。5.2 示教编程与在线修改示教再现的基本流程是手动把机器人拖到目标位姿按下记录键把这一刻的四个关节角连同手爪开合状态存成一条示教点重复几次凑成一条完整轨迹再按顺序播放。播放时对相邻示教点之间做关节空间插值每个控制周期刷新一次 D/A 输出。在线修改程序的关键是把示教点存成独立的数据文件而不是写死在代码里。用文本或者 CSV 存关节角改点位时只改文件不改逻辑改完不用重新编译。5.3 误差来源与对策误差来源表现对策电位器线性度全行程偏差不均匀分三段线性插值不用一根直线标到底齿形带弹性伸长换向时回差偏大预张紧带轮传动比留余量重力下垂肩肘关节停止后掉角度位置环保持电压死区设小一些A/D 噪声角度显示抖动多次采样取中值硬件上加 RC 滤波连杆热变形长时间运行后偏差漂移定期回参考点重置零位用中值滤波可以在软件里立刻改善角度抖动代价是多花几个采样周期。三个采样值取中值就能去掉大部分尖峰干扰比均值滤波更适合电位器信号因为均值会把真实的角度阶跃也抹平。5.4 一个提高回零重复性的小技巧回参考点重复性差的常见原因不是机械而是采样时刻和停止时刻不同步axis.stop()发出后电机还在惯性滑行这时候读到的位置已经飘了。可以在停止后延时一个固定的整定时间再读位置或者连续采三次位置两次差值小于阈值时再取第三次作为零位。阈值按电位器有效分辨率设定一般取 0.3 到 0.5 度太小了等不到收敛太大了零位不准。本文还有配套的精品资源点击获取
返回列表