基于吸盘的scara机械臂
基于吸盘的scara机械臂
`正如题目所示,这次是一个scara机械臂。上一篇博客也是文章后提到这个,具体的话是用了stm32F103ZET6来做主控的,下面先贴整体图片吧。
文章目录
- 基于吸盘的scara机械臂
- 前言
- 一、整体图片
- 二、使用步骤
- 1.引入库
- 坑一
- 坑二
- 坑三
- 总结
前言
正如题目所示,这次是一个scara机械臂。上一篇博客也是文章后提到这个,具体的话是用了stm32F103ZET6来做主控的,下面先贴整体图片吧。
一、整体图片
二、使用步骤
1.引入库
代码如下(示例):
import math
l1 = 87.7
l2 = 106.2
PI = 3.14159265
# 注意此时的坐标系主要是y,x
target_coordinate = [-78, 82]
val = 180.0 / PI
# 计算出角度2的cos值
c2 = target_coordinate[1]*target_coordinate[1] + target_coordinate[0]*target_coordinate[0]
c2 = c2 - l1*l1 - l2*l2
c2 = c2 / (2*l1*l2)
# 计算出角度2的sin值 因为给定的坐标值为左手坐标系所以改值为负值
s2 = 1 - (c2*c2)
s2_Val = math.sqrt(s2)
if target_coordinate[0] > 0:s2_Val = -s2_Val
else:s2_Val = s2_Val
# 计算出角度2的值 通过atan2()的计算函数得出反正切函数
O2 = math.atan2(s2_Val, c2)
O2 = O2 * val
# 计算出a角度的值也是通过atan2反正切函数求出,该角度为原点O到目标位置的总角度
a = math.atan2(target_coordinate[0], target_coordinate[1]) * val
# 此时我们建立新的三角形,为OBC为一个直角正方形,通过改三角形来求出改角度通过a角度减去该角度得出第一自由度机械臂需要转过的角度
obc_sinVal = l2 * s2_Val
obc_cosVal = (l1 + l2 * c2)
# 计算出角度B也就是上面所说的的小角度
B = math.atan2(obc_sinVal, obc_cosVal) * val
# 计算出角度1
O1 = a - B
print(O1)
print(O2)
具体算法就是这个,用python写了一下验证算法版本,具体的算法推演过程可参考这个博客:scara机器人运动学正逆解
通过逆解来进行求取机械臂一和机械臂二的角度,再去驱动步进电机转动多少脉冲就好了。
稍微贴一下我验证的图片
这个就是我机械臂具体模样
坑一
在驱动后臂的步进电机的时候会带动起前臂转动,所以这里如果需要到某一个目标点位的话,要么一起运动,给相应的脉冲,要么就进行角度补偿。
坑二
因为涉及到使用对角度的解算,所以我比较推荐,写一个绝对定位的函数,来进行记录每一个机械臂转动过后的位置,这样无论是对机械臂的一个整体校准还是去转动某一个地方都是很方便的。
坑三
从最上方的摄像头不难看出是OPENMV,这里坑也很多,识别出来进行距离换算成像素点得到的比例值,无法用到对机械臂的臂一和臂二的放缩,因为那个计算两个转动角是需要直到L1和L2的对应着机械臂的臂一和臂二,最后是通过运动学的正解,也就是通过测定角度来反推演L1和L2的;因为还需要划分左右手坐标系,即还需要对OPENMV传回来的坐标进行变换才能使用。
总结
最后因为是使用吸盘来进行对色块的抓取,因为吸盘比较大,虽然计算出来的角度值稍微还是有误差的,但是抓取倒也没有失败过,具体就这样了。有小伙伴做这个东西的话,私信或者评论区发一下邮箱,我把我的代码发你。
基于吸盘的scara机械臂相关推荐
- 用matlab实现机械臂的仿真,基于MATLAB的SCARA机械臂仿真与性能评估
工业机器人以其代替人类单调繁重的体力劳动,便于实现自动化提高生产效率等优点,而被广泛应用于工程机械.汽车零部件.轨道交通.轻工造纸等行业,具有可观的经济效益.到2015年,中国机器人市场将成世界最大规 ...
- 机器人抓矸石_基于机器视觉的多机械臂煤矸石分拣机器人系统研究
工矿自动化 Industryand MineAutomation Vol. 45 No. 9 Sep.2019 第 45 卷第 9 期 2019 年 9 月 文章编号 : 1671 - 251X(20 ...
- 【机器人】基于指数积的机械臂运动学标定
基于局部POE的机器人运动学标定 导语:定位精度作为影响机器人性能的重要因素,需要对机器人进行标定来提高机器人的定位精度从而满足工业上的需要. Question: 什么是机器人标定?为什么机器人需要标 ...
- 基于Arduino的PS2机械臂遥控小车(L298N)傻瓜教程
基于Arduino的PS2机械臂遥控小车(L298N)傻瓜教程 1.材料 L298N.Arduino板.数据线.舵机(SG90).机械臂.亚克力板.电机.PS2.杜邦线.电池(7.4V).螺丝. 2. ...
- 02论文分享与分析——基于ROS的移动机械臂底层规划及运动仿真
[1]钱伟. 基于ROS的移动操作机械臂底层规划及运动仿真[D].哈尔滨工业大学,2015. 0.摘要 钱伟学长的论文在我学习轨迹规划初期就开始阅读,在学习过程中,也对于很多疑惑的问题,找寻到了答案, ...
- 基于机器视觉的多机械臂煤矸石分拣机器人系统研究
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 基于机器视觉的多机械臂煤矸石分拣机器人系统研究 王鹏1,2,曹现刚 ...
- 【机器人】基于指数积的机械臂正运动学算法
基于指数积的机械臂正运动学算法 1.前言 2.指数积公式建立过程 3.PoE实例 4.PoE与DH对比 1.前言 在学习了刚体运动的指数坐标表示和运动旋量后,我又对使用指数积法(PoE)对机械臂进行正 ...
- 【STM32】【C】【嵌入式】分享一下我的项目经验--基于stm32桌面主从机械臂设计(二弹)
本文为原创文章,转载需要注明转载出处 前言:嵌入式开发是相比其他IT行业是比较难的行业,它不仅需要你去掌握软件的经验,还要去学习一些硬件的知识, 它是软件和硬件的一个粘合剂,起到一个至关重要的地位 下 ...
- 将CAD模型通过SolidWorks导出机器人URDF文件(基于innfos六轴机械臂)
将CAD模型通过SolidWorks导出机器人URDF文件(基于innfos六轴机械臂) 前言 也是初次接触这方面的学习,看了许多的资料,其中古月老师的有个课程挺好的,有机械臂和小车的,我们实验室有机 ...
- 使用gazebo对scara机械臂进行仿真
本文主要介绍如何仿真一个scara机械臂,以及在网上看了一些项目以后,有了一些感想,不想看的可以直接跳到机械臂部分. 目录 感想(自己的理解,不一定对.) Scara机械臂的开发 运动学计算 如何使用 ...
最新文章
- 重磅 | 李飞飞最新演讲:ImageNet后,我专注于这五件事——视觉理解、场景图,段落整合、视频分割及CLEVR数据集
- Sublime P4语法高亮设置
- Nginx中添加gzip_static支持
- 怎么改变github的用户名字,身份?
- BLE-NRF51822教程1-常用概念
- Javascript引擎单线程机制及setTimeout执行原理说明
- sqlite3移植到arm linux
- bzoj 1803: Spoj1487 Query on a tree III(主席树)
- 解决IDEA导入项目后无法运行的问题
- javacv 视频增加水印
- 解决Ctrl+鼠标左键点击后怎么返回
- 数据库表文档生成工具screw (螺丝钉)
- 1.CPU基本工作流程
- 【小程序开发】—— 封装自定义弹窗组件
- Vue项目上线后刷新报错404问题(apache,nginx,tomcat)
- 网易云发送验证码短信,发送通知短信,java版
- 福岛第一核电站的辐射水平已明显下降
- 关键业务服务器存在的“硬道理”
- CART分类与回归树
- Python matplotlib 论文画图之常用操作
热门文章
- kvaser CANking怎么使用?如何使用 Kvaser 虚拟通道 ?
- endnote正版软件多少钱_销售endnote软件到底价格可以购买 保证正版软件
- 二叉平衡树AVL简介
- python仓库管理
- WPS简历模板的图标怎么修改_软件测试工程师简历项目经验怎么写?--1000个已成功入职的软件测试工程师简历范文模板(含真实简历)...
- 各国在计算机视觉领域论文数,计算机视觉论文
- 最新省市区json字符串
- 韩立刚Linux基础入门,Linux入门基础笔记1(韩立刚课程)(示例代码)
- html5 调用pc摄像头,H5调用PC端摄像头上传图片
- 汽车空调管路气密性检测