机器人学:(1)机器人基础_极坐标机器人-程序员宅基地

技术标签: 机器人  

1.1 机器人机构

机器人的机械机构由一系列刚性构件(连杆)通过链接(关节)联结起来,机械臂的特征在于具有用于保证可移动性的臂(arm),提供灵活性的腕(wrist)和执行机器人所需完成任务的末端执行器(end - effector)。

机器人分为串联机器人与并联机器人。

运动链是由两个或两个以上的构件通过运动副的连接而构成的具有相对运动的系统。主要有两种类型:开式链闭式链

1.1.1 串联机器人

串联机器人是从基座开始由连杆和关节顺序连接而构成的开式链机构。包括6自由度工业机器人、4自由度SCARA机器人等。

优点:工作空间大,运动速度快,正解计算比较简单。
缺点:刚度较弱,定位精度较低,逆解计算复杂。

6自由度工业机器人                           SCARA机器人

1.1.2 并联机器人

并联机器人是动平台和静平台通过至少两条独立的运动链相连接,具有两个或两个以上自由度且以并联方式驱动的一种闭链机构。包括6自由度的Stewart机构、3自由度的Delta机构等。

优点:刚度大,定位精度高,逆解计算简单。
缺点:工作空间小,运动速度低,正解计算复杂。

Stewart机构                           Delta机构

1.1.3 运动副

运动副是两构件直接接触并能产生相对运动的活动连接,主要包括高副低副两大类。构成高副的两构件之间是线接触或点接触,接触压强比较高,如凸轮与从动件,两齿轮传动等。构成低副的两构件之间是面接触,接触压强比较低,如旋转副、移动副、圆柱副等。高副比低副易磨损,因此机器人中运动副一般都是低副。

机械臂的运动能力由关节保证,关节就是运动副,主要包括两类关节:移动关节( prismatic joint)或转动关节( revolute joint)。移动关节可以实现两个连杆之间的相对平移,而旋转关节可以实现两个连杆之间的相对转动(旋转关节相较移动关节更为简捷可靠)。

在一个开式运动链中,每一个移动关节或转动关节都为机械结构提供一个自由度( degrees of freedom , DOF )。而在闭式运动链中,由于闭环带来的约束,自由度要少于关节数。

在机械臂上必须合理地沿机械结构配置自由度,以保证系统能够有足够的自由度来完成指定的任务。通常在三维空间里一项任意定位和定向的任务中需要6个自由度,其中3个自由度用于实现对目标点的定位,另外3个自由度用于实现在参考坐标系中对目标点的定向。如果系统可用的自由度超过任务中变量的个数,则从运动学角度而言,机械臂是运动学冗余( kinematically redundant )的。


1.2 典型机构介绍

1.2.1 串联机构

串联机器人可分为五种:直角坐标机器人、圆柱坐标机器人、球坐标机器人、SCARA机器人、通用多关节机器人。

1)直角坐标机器人

也称为笛卡尔机器人或XYZ机器人,是指机器人三个关节分别沿着直角坐标系X、Y、Z三个坐标轴做直线运动,有3个移动关节,多用于物品搬运、工件加工、3D打印等。

2)圆柱坐标机器人

由一根立柱和安装在立柱上的水平臂组成,水平臂可绕立柱做旋转运动、可伸缩并沿立柱上下移动,具有一个转动关节和两个移动关节。可用于物品搬运、喷涂、焊接等领域。

3)球坐标机器人

也称为极坐标机器人,由腰转关节、俯仰关节和伸缩臂组成,两个转动关节和一个移动关节。可用于物品搬运、喷涂、焊接等领域。

4)SCARA机器人

SCARA(Selective Compliance Assembly Robot Arm)选择顺应性装配机械臂,又名水平多关节机器人。是1978年日本山梨大学牧野洋教授发明的一种用于装配作业的机械臂,有三个转动关节和一个移动关节。大量用于装配印刷电路板和电子零部件。

5)通用多关节机器人

主要指6自由度或5自由度关节型工业机器人,一般有5或6个独立的转动关节构成,主要包括基座、大臂和小臂三部分。可采用坐立式、吊挂式和斜挂式三种安装方式,主要用于焊接、装配、搬运、喷涂等,应用广泛。

1.2.2 并联机构

主要包括三种不同机构类型:Stewart并联机器人、Delta并联机器人、Tricept并联机器人

1)Stewart并联机器人

Stewart并联机器人主要由动、静两个平台和连接两个平台的6条驱动支链构成,通常采用液压或电驱动,具有6个自由度。主要用于飞行模拟器、粒子加速器中的电镜或磁镜机构、高精度和大负载定位器等。

2)Delta并联机器人

Delta并联机器人的动、静平台间有三条带有四边形机构的传动支链,末端动平台只有X、Y、Z三个方向移动,没有转动自由度。速度非常快,最快可实现300次/分钟的物品分拣动作。

3)Tricept并联机器人

Tricept并联机器人是一个5自由度的串、并联混合机构:并联部分三条支链共3个自由度,安装在静平台上;2自由度的串联机构安装在动平台上。

1.2.3 机器人特点对比


1.3 机械臂结构要素


1.3.1 机器人控制系统

如同计算机的操作系统一样,机器人控制系统在整个工业机器人产业中,扮演了最基础的软件平台的角色。


机器人运动控制系统定义

机器人控制系统的功能是接收来自传感器的检测信号,根据操作任务的要求,驱动机械臂中的各个电动机,就像人的活动需要依赖自身的关节一样,机器人的运动控制离不开传感器。机器人需要用传感器来检测各种状态,机器人的内部传感器信号被用来反映机械臂关节的实际运动状态,机器人的外部传感器信号被用来检测工作环境的变化,所以机器人的神经与大脑组合起来才能成一个完整的机器人控制系统。

机器人运动控制系统4大构成

  1. 执行机构:伺服电机或步进电机;
  2. 驱动机构:伺服或者步进驱动器;
  3. 控制机构:运动控制器,做路径和电机联动的算法运算控制;
  4. 控制方式:有固定执行动作方式的,那就编好固定参数的程序给运动控制器;如果有加视觉系统或者其他传感器的,根据传感器信号,就编好不固定参数的程序给运动控制器。

机器人控制器作为工业机器人最为核心的零部件之一,对机器人的性能起着决定性的影响,在一定程度上影响着机器人的发展。一般由四个部分组成:输入、输出、控制元件和算法。在一个简易的机器人系统里,分别对应的原件是:

  1. 输入:传感器,包含声呐、红外、摄像头、陀螺仪、加速度计、罗盘等;
  2. 输出:控制元件,一般是电机;
  3. 控制算法:控制板,从小到单片机,大到微机来实现;
  4. 控制目标:比如机器人的路径跟踪。

1.3.2 减速机

减速机一般用于低转速大扭矩的传动设备,把电动机、内燃机或其它高速运转的动力,通过减速机的输入轴上的齿数少的齿轮啮合输出轴上的大齿轮来达到减速的目的,大小齿轮的齿数之比,就是传动比。减速机是一种相对精密的机械,使用它的目的是降低转速,增加转矩。减速器的种类繁多,型号各异,不同种类有不同的用途。
常见的减速器有行星减速机、摆线针轮减速机、谐波减速机及RV减速机。

行星减速机                           摆线针轮减速机
谐波减速机                              RV减速机

1.3.3 末端执行器

机械臂的末端执行器安装于机械臂的末端,决定了机械臂所能完成的任务,可之间对工作对象完成预定操作。

机械臂的末端执行器可分为三类:①搬运用末端执行器 ②加工用末端执行器 ③测量用末端执行器。

夹爪                                                      吸盘
焊枪                                                      测量用末端执行器

1.3.4 电机

在工业机器人的工作过程中,通过对电机的驱动来实现自由运动。因此,对工业机器人动作速度和精度的要求实际上就是对电机的响应速度和控制精度的要求。

工业机器人对电机的使用要求

  1. 良好的响应性能
  2. 启动转矩惯量比大
  3. 能实现控制性能的连续性和直线性
  4. 速度范围广、经得起恶劣的运行条件

工业机器人常用的电机类型

1、伺服电机
伺服电机是在工业机器人中用来控制角度、线速度以及位置的另一个重要部件。微控制器发出的电信号决定了运动量,从而决定了伺服轴所需要的位置。伺服电机的位置通常由PWM信号来进行控制。伺服电机接收来自微控制器的PWM信号。伺服电机虽然是一种高速电机,但也会有一些缺点,那便是成本高且不能准确地进行控制旋转。

2、步进电机
步进电机是一种将电脉冲信号转化为转轴角位移的特殊电机,当驱动器接收到脉冲信号,它就驱动步进电机转动相应的角度。在机械臂控制过程中,我们通过调节脉冲个数来控制电机旋转角度,并与行星减速器相配合驱动机械臂关节;同时,我们也可以通过调节脉冲频率来控制关节旋转的速度与加速度,从而完成对末端执行器与各关节的轨迹规划。根据转子与定子的不同类型可将步进电机分为永磁式、反应式与混合式。

3、直流电机
输出或输入为直流电能的旋转电机,称为直流电机,它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。

1.3.5 导轨

六轴工业机器人,具有多个运动关节,通过先进的控制系统,可实现各个关节的独自运动或者联动,可实现X、Y、Z轴直线运动和绕着XYZ轴的旋转运动,所以被称为六轴机器人。六轴工业机器人具有较高的柔性,在工厂自动化中具有广泛的应用。

通过关节的联动,实现的单个轴向的直线运动距离,还是比较有限的。有一些工厂自动化的应用,需要某个轴向的较长的行程;这时候可以考虑机器人行走轴,就是把六轴机器人安装在一个单轴的长行程运动系统(也被称为机器人第七轴或机器人附加轴),这极大地扩展了机器人的工作空间。

机器人行走轴,按安装方式可分为:地轨式,天轨式;按行走的轨迹可分为:直线,弧线,直线弧线复合。

滚轮直线导轨和滚轮弧形导轨可极大地扩展六轴工业机器人的工作空间,通过机器人行走轴,一台机器人可完成多个工位的工作。


1.4 仿真软件

1.4.1 Gazebo

Gazebo模拟器是一个免费的开源平台,可用于设计,开发,测试和可视化几乎任何类型的机器人。Gazebo可在Linux,Windows和Mac上运行,并且内置了对ROS(机器人操作系统)的支持。Gazebo支持多种高性能物理引擎,例如ODE,Bullet,Simbody和DART,通过搭载的物理引擎可以得到逼真的仿真结果。Gazebo是近年来最受欢迎的三维仿真器之一,和ROS非常兼容。


博客关于ROS2和Gazebo使用介绍参考如下链接:
https://blog.csdn.net/ZhangRelay/article/details/100547011

1.4.2 Webots

Webots是一款开源的多平台机器人仿真软件,为机器人的建模、编程和仿真提供了完整的开发环境。
Webots由Cyberbotics公司开发,是一款优秀的开源多平台机器人仿真软件,为机器人的建模、编程和仿真提供了完整的开发环境。Webots开源免费、简单易用、文档齐全并且支持多种类型的机器人。
Webots内核基于开源动力学引擎ODE和OpenGL,可以在Windows、Linux和macOS上运行,并且支持多种编程语言(C/C++,Python,Java,MATLAB)。

Webots的主要功能是机器人的建模、控制与仿真,用于开发、测试和验证机器人算法。其内核基于ODE引擎,动力学仿真效果较为真实。
Webots甚至附带一个机器人模型库,可使用PR2,Atlas,Aibo甚至是某些NASA机器人。Webots还支持VRML97,因此可以使用大多数建模软件(Solidworks,AutoCAD,Blender和Inventor)导入机器人设计。还可以导入地图和地形数据以在测试环境中创建准确的世界表示。


博客关于ROS2和Webots使用介绍参考如下链接:
https://blog.csdn.net/ZhangRelay/article/details/100519183

1.4.3 V-REP

虚拟机器人实验平台(Virtual Robot Experiment Platform,V-REP)是一款通用的开源动力学系统仿真平台。V-REP软件由三部分组成:场景物体(Scene Objects)、计算模块(Calculation Modules)和控制机制(Control Mechanisms)。场景物体包括关节、轨迹、三角网格、光源、坐标系、传感器等。计算模块包括运动学正解和逆解(Forward/Inverse Kinematics)、路径规划(Path Planning)、动力学(Dynamics or physics)、碰撞检测(Collision detection)和最小距离计算(Minimum distance calculation)。控制机制包括嵌入式脚本(Embedded Script)、插件(Plugins)、ROS节点(ROS Nodes)、远程API客户端(remote API clients)、附加软件(Add-ons)、定制解决方案(custom solution)。

V-REP软件支持内部控制和外部控制两种,其中内部控制方式通过编写Lua脚本进行控制,而外部控制方式支持C/C++、Python、Java、Lua、Matlab等编程语言,可以通过特定的通讯接口与V-REP主程序进行通讯。

V-REP软件首先需要对场景物体进行建模,然后编写相应的脚本或者外部程序控制场景物体按照期望的方式进行运动,最后执行仿真,V-REP软件即会按照既定的流程执行。


1.4.4 Robot Master

Robotmaster来自加拿大,由上海傲卡自动化公司代理,是目前全球离线编程软件中顶尖的软件,几乎支持市场上绝大多数机器人品牌(KUKA,ABB,Fanuc,史陶比尔、柯马机器人、三菱、DENSO电装机器人、松下机器人……),Robotmaster在Mastercam中无缝集成了机器人编程、仿真和代码生成功能,提高了机器人编程速度。


1.4.5 RobotStudio

RobotStudio是瑞士ABB公司配套的软件,是机器人本体商中软件做的最好的一款。RobotStudio支持机器人的整个生命周期,使用图形化编程、编辑和调试机器人系统来创建机器人的运行,并模拟优化现有的机器人程序。


1.5 机器人行业现状

提到工业机器人不得不提到行业的四大家族——ABB、KUKA、发那科、安川。四大家族在各个技术领域内各有所长,ABB 的核心领域在于控制系统,KUKA 的核心领域在于系统集成应用与本体制造,发那科的核心领域在于数控系统,安川的核心领域在于伺服电机与运动控制器领域。

1.5.1 ABB

ABB集团总部位于瑞士苏黎世。ABB由两个历史100多年的国际性企业瑞典的阿西亚公司(ASEA)和瑞士的布朗勃法瑞公司(BBC Brown Boveri)在1988年合并而成。两公司分别成立于1883年和1891年。ABB是电力和自动化技术领域的领导厂商,其业务涵盖电力产品、离散自动化、运动控制、过程自动化、低压产品五大领域,以电力和自动化技术最为著名。ABB强调机器人本身的整体性,以其六轴机器人来说,单轴速度并不是最快的,但六轴一起联合运作以后的精准度是很高的。

ABB最早是从变频器开始起家,我国大部分地区的电力站和变频站都是ABB做的。对于机器人自身来说,最大的难点在于运动控制系统而ABB的核心优势就是运动控制。可以说,ABB的机器人算法是四大主力品牌中最好的,不仅仅有全面的运动控制解决方案,产品使用技术文档也相当专业和具体。

ABB的控制柜随机附带Robot Studio软件,可进行3D运行模拟以及联机功能。与外部设备的连接支持多种通用的工业总线接口,也可通过各种输入/输出接口实现与各种品牌焊接电源、PLC等的通信。此外,ABB的控制柜还可以自由设定起弧、加热、焊接、收弧段的电流、电压、速度、摆动等参数,可自行设置实现各种复杂的摆动轨迹。

核心技术

ABB的核心技术是运动控制系统,这也是对于机器人自身来说最大的难点。掌握了运动控制技术的ABB可以轻易实现循径精度、运动速度、周期时间、可程序设计等机器人的性能,大幅度提高生产的质量、效率以及可靠性。

ABB为多个行业提供全方位的解决方案,包括汽车整车及零部件制造、电子3C、食品饮料、金属加工、基础化工、金属铸造、基础金属等。ABB掌握各类机器人技术及应用,包括调试和总装、工艺自动化、焊接、搬运、机加工、包装和堆垛等。

1.5.2德国库卡(KUKA)

德国库卡于1898年在德国奥格斯堡建立,最初主要专注于室内及城市照明,不久后开始涉足其他领域。库卡公司的主要客户来自汽车制造领域,同时也专注于向工业生产过程提供先进的自动化解决方案,更涉足医院的脑外科及放射造影。

值得一提的是,库卡在重负载机器人领域做得比较好,在120KG以上的机器人中,库卡和ABB的市场占有量居多。

1.5.3日本发那科(FANUC)

发那科关于数控系统的研究可以追溯到1956年,具备前瞻性的日本技术专家预见到3C时代的到来,并组建了科研队伍。而将在数控系统的优势用于机器人身上,发那科的工业机器人精度也很高,据悉,发那科的多功能六轴小型机器人的重复定位精度可以达到正负0.02mm。此外,发那科工业机器人与其他企业相比独特之处在于:工艺控制更加便捷,同类型机器人底座尺寸更小、更拥有独有的手臂设计。

值得一提的是,发那科更将数控机床精加工的刀片补偿功能应用在机器人身上,从算法上植入了刀片补偿的功能,这使机器人在精加工切割的过程中可以实现一圈一圈往里边走。

行业有个比较有趣的说法就是:发那科是卖机床附赠机器人,可见它在机床和机器人的配合方面非常先进。

1.5.4安川电机( YASKAWA )

安川电机创立于1915年,是日本最大的工业机器人公司,总部位在福冈县的北九州岛市。1977年,安川电机运用自己的运动控制技术开发生产出了日本第一台全电气化的工业用机器人,此后相继开发了焊接、装配、喷漆、搬运等各种各样的自动化作用机器人,并一直引领着全球产业用机器人市场。安川电机主要生产的伺服和运动控制器都是制造机器人的关键零件,相继开发了焊接、装配、喷涂、搬运等各种各样的自动化作业机器人,其核心的工业机器人产品包括点焊和弧焊机器人、油漆和处理机器人、LCD 玻璃板传输机器人和半导体芯片传输机器人等,是将工业机器人应用到半导体生产领域最早的厂商之一。

安川是从电机开始做起的,因此它可以把电机的惯量做到最大化,所以安川的机器人最大的特点就是负载大、稳定性高,在满负载满速度运行的过程中不会报警,甚至能够过载运行。因此安川在重负载的机器人应用领域(如汽车行业),市场是相对较大的。

安川机器人价格优势明显,几乎是四大品牌中价格最低的,其产品的性价比较高。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43724057/article/details/129637697

智能推荐

华为帐号登录游戏显示无法连接服务器,玩手机游戏提示无法连接服务器-程序员宅基地

文章浏览阅读1.3k次。玩手机游戏提示无法连接服务器 内容精选换一换远程登录报错提示:两台计算机无法在分配的时间内连接。在cmd命令窗口输入netsh winsock reset后根据提示重启云服务器后,重新连接云服务器。云服务器网络异常、防火墙未放行本地远程桌面端口、云服务器CPU负载过高等场景均可能导致云服务器无法正常登录。本节操作介绍无法登录Linux弹性云服务器的排查思路。当您的云服务器无法远程登录时,我们建议您..._华为手机登录游戏连接服务器失败

Tensorflow Deep MNIST: Resource exhausted: OOM when allocating tensor with shape[10000,32,28,28]_2023-11-03 15:52:27.693002: w tensorflow/core/comm-程序员宅基地

文章浏览阅读1.1w次,点赞6次,收藏7次。今天测试卷积神经网络报了如题所示的错误,我跑的代码如下。from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets('MNIST_data', one_hot=True)import tensorflow as tfsess = tf.InteractiveSes_2023-11-03 15:52:27.693002: w tensorflow/core/common_runtime/bfc_allocator.c

Fragment制作ImageButton底部导航栏_android 底部导航栏imagebutton-程序员宅基地

文章浏览阅读171次。使用Android Studio对Fragment的认识和ImageButton的使用_android 底部导航栏imagebutton

[How TO]-Ubuntu 20.04修改终端标题栏文字-程序员宅基地

文章浏览阅读1.9k次。前旧版本的Ubuntu(ubuntu14.04)下的终端可以右键在标题栏上点击,菜单里就有一项可以改终端的标题。在Ubuntu 16.04/20.04下发现竟然没有这一项了。在网上找了一下,发现原来是可以在终端里面使用命令改的。方法是在Home目录的.bashrc里面加上如下代码st (){ echo if [ -z "$ORIG" ]; then ORIG=$PS1 fi TITLE="\[\e]2;$*\

用74ls90组成二十四进制计数器_89c52定时计数器T2-程序员宅基地

文章浏览阅读3k次。T2是89c52的独有的16位的定时计数器。该定时计数器有3种工作方式:捕捉,重新装载和波特率发生器。该定时计数器用的不是很多,其控制寄存器与定时计数器0和1不同,其特殊功能寄存器为T2MOD和T2CON。a. T2MOD控制寄存器T2MOD的字节地址为C9H,如果程序提示不认识T2MOD,那么需要在reg52.h补充定义,或者在程序里补充定义。T2MOD 8中只有2位有效,D1:T2OE和D0:..._7490构成24进制计数器

phplib简明教程-程序员宅基地

文章浏览阅读555次。phplib简明教程 phplib基本安装和使用 要想使用phplib强大的功能,有几种途径可以达到目的。 1.采用phplib建议的安装方式,说安装,其实就是把phplib的类预先让解析器加载到内存,这样使用的时候就不需要做任何设置,这样的好处显而易见。不过缺点也是很

随便推点

Pyecharts可视化_from pyecharts.globals import currentconfig, noteb-程序员宅基地

文章浏览阅读1.4k次。为天地立心,为生民立道,为往圣继绝学,为万世开太平_from pyecharts.globals import currentconfig, notebooktype currentconfig.note

linux基本概念-程序员宅基地

文章浏览阅读64次。1. 大页内存2. 网卡和cpu绑定3. 内存屏障4. RCU5. 内存池6. DPDK

DB2表空间管理详解(原创)-程序员宅基地

文章浏览阅读465次。create tablespace语法树>>-CREATE--+-----------------------+----------------------------> +-LARGE-----------------+ +-REGULAR---------------+...

linux c之gdb常用断点调试总结_linux在函数前加断点-程序员宅基地

文章浏览阅读4.2w次,点赞5次,收藏52次。1 、安装GDBsudo apt-get install gdb2 、怎么打断点1 、源文件的某一行设置断点break 行号2、一个特定的函数设置断点break 函数名3、设置条件断点break 行号 if 条件3、举例分析hello2.c源文件如下#includeint main() { int a = 1, b = 2, c = 3;_linux在函数前加断点

关于MPAndroidChart RadarChart 雷达图遇到的一些问题记录。_matlab radarchart无法使用-程序员宅基地

文章浏览阅读1k次。项目里边柱状图 折线图 雷达图都有 雷达图是最先搞的,但却是最后搞好的。先说结论:一定要在最后给雷达图赋值 或者完事之后刷新一下radarChart.setData(radarData);如果需要柱状图与折线图的看我其他的文章MPAndroidChart LIneChart 折线图遇到的一些问题记录。关于MPAndroidChart BarChart 柱状图组遇到的一些问题记录。下面老规矩 先上效果图我遇到的问题很多 现在弄好了 不想还原了主要问题是Y轴显示不全 下_matlab radarchart无法使用

Unity信号干扰shader(参照崩坏3源码翻译剧情对话效果)_program "vp" {-程序员宅基地

文章浏览阅读4.2k次,点赞4次,收藏34次。最近做的项目是二次元,二次元的标杆就是崩坏3,效果真的好学习崩坏3里面shader最好的方法就是看源码可以AssetStudio来看资源,因为崩坏3资源是没有加密直接可以看 不过shader源码是已经编译好的,其实大概算法都在我已经研究角色身上的shader,这个有空写博客,用到顶点绘制的工具来填充颜色来处理阴影这次我参考崩坏里面的信号干扰的shader之前搞个一个类..._program "vp" {