当前位置: 首页 > news >正文

机械臂速成小指南(十九):机械臂的电路板抓取实验

👨‍🏫🥰🥳需要机械臂相关资源的同学可以在我的CSDN主页中找到哦🤖😽🦄

指南目录📖:

🎉🎉机械臂速成小指南(零点五):机械臂相关资源🎉🎉

机械臂速成小指南(零):指南主要内容及分析方法

机械臂速成小指南(一):机械臂发展概况

机械臂速成小指南(二):机械臂的应用

机械臂速成小指南(三):机械臂的机械结构

机械臂速成小指南(四):机械臂关键部件之减速机

机械臂速成小指南(五):末端执行器

机械臂速成小指南(六):步进电机驱动器

机械臂速成小指南(七):机械臂位姿的描述方法

机械臂速成小指南(八):运动学建模(标准DH法)

机械臂速成小指南(九):正运动学分析

机械臂速成小指南(十):可达工作空间

机械臂速成小指南(十一):坐标系的标准命名

机械臂速成小指南(十二):逆运动学分析

机械臂速成小指南(十三):轨迹规划概述

机械臂速成小指南(十四):多项式插值轨迹规划

机械臂速成小指南(十五):线性规划

机械臂速成小指南(十六):带抛物线过渡的线性规划

机械臂速成小指南(十七):直线规划

机械臂速成小指南(十八):圆弧规划

机械臂速成小指南(十九):机械臂的电路板抓取实验

机械臂速成小指南(二十):机械臂的位姿重复性实验

机械臂速成小指南(二十一):几何雅可比矩阵

机械臂速成小指南(二十二):机械臂逆运动学的数值解方法

机械臂速成小指南(二十三):Paul方法求解机械臂运动学逆解(含matlab代码)

🦾🌏🪐以下为正文🦾🌏🪐

六自由度机械臂上位机python代码(带详细注释,含正逆运动学及轨迹规划等)https://download.csdn.net/download/m0_53966219/87521956?spm=1001.2014.3001.5503六自由度机械臂下位机代码及pcb设计https://download.csdn.net/download/m0_53966219/88480657?spm=1001.2014.3001.5503

在设计好六自由度机械臂的控制程序(包含上位机及下位机)后,我们需要通过实验来验证机械臂的精度可行性

本篇文章通过设计电路板抓取实验来验证机械臂作业的可行性。严格来说这个实验设计的没有什么科学依据,仅供参考

一、上位机设计

控制机械臂时,使用由Python编写的上位机(GUI编程使用Python内置的图形开发界面库Tkinter)。

1.GUI界面

共分为三个界面:关节校准界面主控界面轨迹点寄存器界面

关节校准界面主控界面轨迹点寄存器界面

我们所使用的六自由度机械臂以开环形式运行,无法获取各关节期望角度与当前实际角度的差值。因此,在机械臂作业前,需对所有关节进行校准。

上位机需同时满足对关节的单独控制及对末端执行器的直接控制,因此设计主控界面。其中,左下方为命令行显示区域。

当机械臂所执行的任务需要定义多个轨迹点时,可将轨迹点的位置坐标与RPY角值储存于该寄存器中。

2.通信协议

前6位为各关节需旋转到的期望角度。第7位用于调节机械臂各关节的旋转速度。第8、9位用于设定运动中加速段的时长与加速度。第10、11位用于设定运动中减速段的时长与减速度。最后1位为判断程序是否出现错误的标识符,若目标点位于可达工作空间内则置为0,下位机执行程序语句。

3.命令说明

注:该部分在资源中的上位机源代码部分中有详细注释,可跳过

Move J。该命令是使机械臂所有的关节一起工作来完成移动,轨迹形状通常不为直线, 而是一个所有关节一起工作的扫动。这是最简单也是最常用的方法。这就是前文中我们分析的线性规划

off J。这是一个被存储位置的值抵消的联合移动。此移动将应用在“teach new position”按钮上方的存储位置字段中设置的任何存储位置号。

Move L。这将执行一个完美的直线到期望位置。这个程序生成向下位机发送一系列的路径点。

Move A。使得机械臂的轨迹为一圆弧。首先选择“Move A Beg”,并同时设置机械臂的运行速度(示教是设置速度比例)。其次,选择“Move A Mid”,然后示教第二个点。最后选择“Move A End”,并在终点或弧线上标出你想要的轨迹点。命令窗口现在将有 3 行代码,每行对应 3 个点。当一个“Move A Beg”的代码行被执行,程序将自动运行接下来的 2 行代码来计算弧并生成轨迹。如果轨迹无法实现,这一步就无法进行。当所有形成弧的路径点都被传输到下位机的过程中,在执行移动 a 之前会有几秒钟的延迟

Move C。在空间中3个点确定一个圆,因此,我们同样需要储存三个点的坐标。步骤与Move A相同。

Move SP。在轨迹点寄存器界面中有 16 个可以设置的存储位置。X,Y,Z,Y,P,R,对于你想要执行的任何位置或程序中的多个位置。当你示教时,机械臂将移动到你在寄存器标签上为存储位置所输入的位置。

off SP。使机械臂移动到一个存储位置,然后通过另一个存储位置的值对该位置进行偏移。

Teach SP。这个移动命令将插入 6 行到你的程序中,当执行时将机器人当前位置存储到你选择的轨迹点寄存器中。这使得根据需要填充存储的位置变得更加容易。

二、实验设计

我们设计实验的操作对象为尺寸为3.8cm×2.8cm的电路板,实验中机械臂的运动路线如下图所示。

其中,实线方框表示电路板拿取区域,虚线方框表示电路板放置区域。所有电路板均位于基坐标系的平面上,圆弧上各区域间相距22.5°,实际摆放如下图所示。

实验过程中,机械臂需要沿着圆弧轨迹将电路板从拿取区域移动至放置区域,同时,最后一块电路板需要在移动过程中旋转90°。

生成轨迹所需要的目标点按通信协议储存于上位机的指令显示区域(位于主控界面左下角),如下图所示。

三、机械臂夹爪控制程序

机械臂夹爪的控制选用了之前学习过的正点原子开发板舵机型号为S3010,是之前搞智能车竞赛剩下的,该舵机的转角与高电平的脉宽有关,黑线接地,红线接电源(5V),白线为控制线。

int main(void) { u8 key; //保存键值 u16 pwmval=1945; //pwm比较值初始化,此时夹爪张开到最大角度 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2 delay_init(168); //初始化延时函数 uart_init(115200);//串口波特率115200 TIM14_PWM_Init(2000-1,840-1); //84M/840=0.1Mhz的技术频率,重装载值为2000,所以pwm频率为50hz,周期为20ms KEY_Init(); //初始化与按键连接的硬件接口 while(1) //根据按键改变夹爪开闭状态 { delay_ms(10); key=KEY_Scan(1); //得到键值 if(key) { switch(key) { case KEY0_PRES: //按下按键0,夹爪闭合 pwmval=pwmval+1; //递增,通过改变加数,改变夹爪速度 if(pwmval>1945) //该限值由夹爪机械结构决定 pwmval=1945; break; case KEY1_PRES: //按下按键1,夹爪张开 pwmval=pwmval-1; //递减,通过改变减数,改变夹爪速度 if(pwmval<1875)//该限值由夹爪机械结构决定 pwmval=1875; break; } } TIM_SetCompare1(TIM14,pwmval); //改变占空比 } }
http://www.cnnetsun.cn/news/4208288.html

相关文章:

  • 机械臂速成小指南(十一):坐标系的标准命名
  • Step7编程语言与结构解析:从梯形图到模块化架构实战
  • 初级--05--- 取模运算转化为位运算、位运算进行加减乘除
  • MyBatis关联查询深度解析:嵌套结果与嵌套查询的性能权衡
  • 主流登录鉴权框架深度解析:Spring Security、Shiro、JWT与OAuth2选型指南
  • 本地IDE与笔试平台环境差异解析与解决方案
  • 从Ubuntu迁移回Windows:21步实战指南与数据安全备份
  • 2026年高性价比UPS选购指南:150-550元区间16款横评与实战配置
  • STM32程序跑飞调试:在线调试、看门狗与崩溃日志的三层防御体系
  • ECharts数据地图实战:从零实现中国省份数据可视化
  • Java高级工程师面试:分布式系统与内容社区架构实战
  • 信息流混排系统:平衡用户体验与广告收入的动态博弈架构
  • 支付宝电脑网站支付接口对接实战:从沙箱到上线的完整指南
  • 敏捷开发、V模型与瀑布模型:实战选型指南与避坑要点
  • 校招笔试通关秘籍:九大必刷题库核心解析与高效备战策略
  • AI代理金融交易实战:从架构设计到安全防御的完整指南
  • AI重点已死,人工智能崛起
  • Dify 多 Agent 工具权限与安全沙箱实战:让智能体“有能力,但不越权“
  • 企业私域知识智能化:基于Agent与Knowledge Hub的架构设计与实践
  • 高效构建个人面试知识库:面经记录与优化指南
  • 美妆专柜同源OEM还是智商税?看懂乳化粒径和备案全链条再下单
  • LeetCode周赛无伤AK攻略:从算法原理到实战技巧
  • UE5中实现电影级老旧视觉风格:从材质到后期处理全流程
  • 人机料法环是什么?制造业质量管理的5大核心要素解析
  • 生产车间如何进行质量管理和生产过程控制
  • 大模型稳定输出JSON的工程实践:从提示词到函数调用
  • UE5.7实战:从零构建可扩展战斗系统(连击/命中/伤害反馈)
  • 内容安全审核系统选型实战:腾讯云IMS如何平衡效果与成本
  • Windows平台IndexTTS 2.5与vLLM加速:一键部署高性能本地语音合成方案
  • 暨南大学计算机考研机试备考指南与高频考点解析