东南大学远程教育
机器人技术
第 五十五 讲
主讲教师:王兴松
机器人编程
Robot Programming
8.1 机器人编程要求与语言类型
8.2 机器人语言系统结构和基本功能
8.3 常用的机器人编程语言
8.4 机器人的离线编程
Robot Programming
8.1 机器人编程要求与语言类型
任务:
检验工件有无缺陷。
销钉插入锥形孔。
销钉压入锥形孔。
检验是否压紧了。
Robot Programming
8.1 机器人编程要求与语言类型
1.对机器人编程的要求
( 1)能够建立世界模型
是描述物体三维运动的
方法。
定义相关几何体的名义
变量来建模。
模型要描述尽可能多的
有关物体和机械手的信息。
Robot Programming
8.1 机器人编程要求与语言类型
1.对机器人编程的要求
( 2)能够描述机器人的作业
描述水平决定了编程语言水平。
利用空间关系说明物体形态。
东南大学远程教育
机器人技术
第 五十六 讲
主讲教师:王兴松
Robot Programming
8.1 机器人编程要求与语言类型
1.对机器人编程的要求
( 3)能够描述机器人的运动
例,移至 goal1,在移至 goal2,然后经过 via1到
goal3。
VAL-Ⅱ 语言,AL语言(机械手 garm)
move goal1 move garm to goal1;
move goal2 move garm to goal2;
move vial move garm to goal3 via via1;
move goal3
Robot Programming
8.1 机器人编程要求与语言类型
1.对机器人编程的要求
( 4)允许用户规定执行流程
包括实验,转移,循环,调用子程序以及中断。
多台计算机的并行处理。
使用某种传感器来监控不同的过程。
( 5)要有良好的编程环境
◆在线修改和立即重新启动。
◆传感器的输出和程序追踪。
◆仿真。
Robot Programming
8.1 机器人编程要求与语言类型
1.对机器人编程的要求
( 6)需要人机接口和综合传感信号
人机间进行信息交换,及时处理故障。
可根据传感器信号来控制程序的流程。
三类传感器:
◆位置检测
◆力觉和触觉
◆视觉
Robot Programming
8.1 机器人编程要求与语言类型
2.机器人编程语言的类型
( 1)动作级(以 VAL为代表)
以机器人的运动作为描述中心,每一命令对应
一个动作。
优点,语句简单,易于编程。
缺点,不能进行复杂计算,不能接受复杂传感
信号。
◆关节级,给出机器人个关节位移的时间序列。
◆终端执行器级,给出终端执行器的位姿和辅助
机能的时间序列。
Robot Programming
8.1 机器人编程要求与语言类型
2.机器人编程语言的类型
( 2)对象级( AML,AUTOPASS)
以描述物体间的关系为中心的语言。
特点:
◆运动控制
◆处理传感器信息
◆通信和数字运算
◆具有和好的扩展性
利用知识库和数据库进行仿真。
Robot Programming
8.1 机器人编程要求与语言类型
2.机器人编程语言的类型
( 3)任务级(普渡大学,RCCL)
对工作任务所要达到的饿目标直接下命令。
Robot Programming
8.1 机器人编程要求与语言类型
2.机器人编程语言的类型
( 4)决定编程语言具有不同设计特点的因素
语言模式 语言形式
几何学数据形式 旋转矩阵的规定与表示
控制结构 控制多个机械手的能力
控制模式 运动形式
信号线 传感器接口
支援模块 调试性能
Robot Programming
8.2 机器人语言系统的结构
1.机器人语言系统的结构
机器人语言操作系统的
三个基本的操作状态:
◆监控状态
◆编辑状态
◆执行状态
Robot Programming
8.2 机器人语言系统的结构
2.机器人编程语言的基本功能
( 1)运算
解析几何运算的计算工具包括
◆机械手解答及逆解答
◆坐标运算和位置表示
◆矢量运算
( 2)决策
根据传感器输入信息作出决策。
条件转移指令形式:
符号检验 关系检验 布尔检验
逻辑检验 集合检验
Robot Programming
8.2 机器人语言系统的结构
2.机器人编程语言的基本功能
( 3)通讯
机器人提供信息:
信号灯 字符显示设备 图形显示设备
语言合成器及音响设备
人对机器人, 说话,,
按钮 键盘 光标及光笔 光学字符阅读机
远距离操纵主控装置
其他;语音输入输出。
Robot Programming
8.2 机器人语言系统的结构
2.机器人编程语言的基本功能
( 4)机械手运动
按提供的一组关节位置运动,或按工作空间内
的一系列位置运动。
绝对运动和相对运动。
计算机引入,提高其工作能力。
( 5)工具指令
直接控制,由某个开关或继电器触发。
采用工具功能控制器,进行复杂控制。
Robot Programming
8.2 机器人语言系统的结构
2.机器人编程语言的基本功能
( 6)传感数据处理
内体感受器
触觉传感器
距离传感器
力和力矩传感器
视觉传感器
Robot Programming
8.3 常用的机器人编程语言
1.VAL语言( 1979,美,Unimation公司)
用于 PUMA,UNIMATE2000,UNIMATE4000系列。
六种监控指令:
( 1)定义位置,姿势
( 2)程序编程
( 3)列表指令
( 4)存储指令
( 5)控制程序执行指令
( 6)系统状态控制
Robot Programming
8.3 常用的机器人编程语言
2.SIGLA语言( 70年代,意,OLIVETTI公司)
用于 直角坐标式的 SIGLA型装配机器人。
32个指令字,分为六类:
( 1)输入输出指令
( 2)逻辑指令
( 3)几何指令
( 4)调子程序指令
( 5)逻辑联锁指令
( 6)编辑指令
另有 9个控制定义字。
Robot Programming
8.3 常用的机器人编程语言
3.IML语言(日,九洲大学)
对末端执行器进行编程的动作级语言。
物体位姿有六维矢量表示。
系统指令和用户自定义指令。
其它特征:
( 1)描述往返操作可不用循环语句。
( 2)可直接在工作坐标系内使用。
( 3)可将要示教的轨迹定义成指令,加入到语言
中,可体现力。
Robot Programming
8.3 常用的机器人编程语言
4.AL语言( 70年代,美,斯坦福大学)
基于 ALGOL,和 PASCAL共用。
用于多机械手并行控制的编程。
基本功能语句:
标量 矢量 旋转 坐标系 变换
块结构形式 运动语句 手的开合
两物体结合的操作 力觉的处理功能
力的稳定性控制 同时控制多个机械手
可使用子程序及数组
可与 VAL语言进行信息交流
Robot Programming
8.4 机器人的离线编程
1.机器人离线的特点和主要内容
优点:
( 1)减少机器人非工作时间。
( 2)使编程者远离危险。
( 3)使用范围广。
( 4)便于和 CAD/CAM系统结合。
( 5)可使用高级编程语言对复杂任务进行编程。
( 6)便于修改机器人程序。
Robot Programming
8.4 机器人的离线编程
1.机器人离线的特点和主要内容
编程需考虑的内容:
( 1)机器人工作过程的知识。
( 2)机器人和工作环境三维实体模型。
( 3)机器人几何学,运动学和动力学知识。
( 4)可进行运动图形仿真。
( 5)轨迹规划和检查算法。
( 6)传感器的接口和仿真。
( 7)通讯功能。
( 8)用户接口。
另,减小仿真与实际间误差。
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
( 1)用户接口:
两个接口,用于示教编程及语言编程。
重要部分:机器人语言。
对机器人系统进行图形编辑。
( 2)机器人系统的三维构型
三种方式:结构立体几何表示。
扫描表示。
边界表示。
采用零件和工具的 CAD模型。
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
( 3)运动学计算:
包括运动学正解及运动学反解两部分。
运动学反解:
其与控制柜的联系选择,直接输入关节值。
输入笛卡儿坐标值。
与控制柜通讯是的注意点,采用公式一致。
可行解确定准则一致。
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
( 4)轨迹规划:
两种类型,自由移动。
依赖于轨迹的约束运动。
轨迹规划算法,关节空间及笛卡儿空间的差补计算。
( 5)动力学模型:
高速,重载下,防止较大误差。
三类动力学模型,数字法。
符号法。
解析法。
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
( 6)并行操作:
多台机器人的协调工作。
一台机器人与视觉系统相配合。
( 7)传感器的仿真:
主要是几何模型间干涉,相交检验问题。
触觉,接近觉及力觉传感器的仿真。
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
( 8)通讯接口:
把仿真生成的运动程序转换成各种机器人控制
柜可接受的代码。
方法一,选择较为通用的语言,然后再对该语
言加工。
方法二,用翻译系统将离线编程结果快速生成
机器人运动程序代码。
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
( 9)误差的校正:
误差原因
机器人,连杆制造误差和关节偏置变化。
结构刚度不足。
相同型号机器人的不一致性。
控制器的误差。
编程系统,数字精度。
实际世界模型数据的质量。
误差校正
一,基准点方法。精度不高。
二,传感器反馈。精度教高。
Robot Programming
8.4 机器人的离线编程
3.机器人离线编程仿真系统 HOLPSS
( 1) HOLPSS系统结构
语言处理模块
运动学及规划模块
三维构型模块
运动仿真模块
通讯模块
主控模块
传感器仿真模块
Robot Programming
8.4 机器人的离线编程
3.机器人离线编程仿真系统 HOLPSS
( 2) HOLPSS系统的功能
一,三维几何构型
基本体的构造,扫操作方法。
局部变形或集合运算。
机器人总体构型:体素构造和分级装配。
二,运动的动态仿真和动画技术
Robot Programming
8.4 机器人的离线编程
3.机器人离线编程仿真系统 HOLPSS
( 2) HOLPSS系统的功能
三,通讯及后置处理
两种通讯方式,翻译离线编程语言。
只输入有关数据。
两种传送方式,接口总线。
磁盘。
Robot Programming
8.4 机器人的离线编程
3.机器人离线编程仿真系统 HOLPSS
( 2) HOLPSS系统的功能
四,机器人作业总体布局
直接搜索。
启发式搜索。
五,碰撞和路径优化
5个自由度规定的弧焊作业。
冗余度机器人避免碰撞和回避奇异性的自动
规划。
Robot Programming
8.4 机器人的离线编程
3.机器人离线编程仿真系统 HOLPSS
( 2) HOLPSS系统的功能
六,协调运动的自动规划
工件与重力矢量在焊接中保持一定关系。
七,力控制系统的仿真
八,自动调度
九,误差和公差的自动评估
机器人技术
第 五十五 讲
主讲教师:王兴松
机器人编程
Robot Programming
8.1 机器人编程要求与语言类型
8.2 机器人语言系统结构和基本功能
8.3 常用的机器人编程语言
8.4 机器人的离线编程
Robot Programming
8.1 机器人编程要求与语言类型
任务:
检验工件有无缺陷。
销钉插入锥形孔。
销钉压入锥形孔。
检验是否压紧了。
Robot Programming
8.1 机器人编程要求与语言类型
1.对机器人编程的要求
( 1)能够建立世界模型
是描述物体三维运动的
方法。
定义相关几何体的名义
变量来建模。
模型要描述尽可能多的
有关物体和机械手的信息。
Robot Programming
8.1 机器人编程要求与语言类型
1.对机器人编程的要求
( 2)能够描述机器人的作业
描述水平决定了编程语言水平。
利用空间关系说明物体形态。
东南大学远程教育
机器人技术
第 五十六 讲
主讲教师:王兴松
Robot Programming
8.1 机器人编程要求与语言类型
1.对机器人编程的要求
( 3)能够描述机器人的运动
例,移至 goal1,在移至 goal2,然后经过 via1到
goal3。
VAL-Ⅱ 语言,AL语言(机械手 garm)
move goal1 move garm to goal1;
move goal2 move garm to goal2;
move vial move garm to goal3 via via1;
move goal3
Robot Programming
8.1 机器人编程要求与语言类型
1.对机器人编程的要求
( 4)允许用户规定执行流程
包括实验,转移,循环,调用子程序以及中断。
多台计算机的并行处理。
使用某种传感器来监控不同的过程。
( 5)要有良好的编程环境
◆在线修改和立即重新启动。
◆传感器的输出和程序追踪。
◆仿真。
Robot Programming
8.1 机器人编程要求与语言类型
1.对机器人编程的要求
( 6)需要人机接口和综合传感信号
人机间进行信息交换,及时处理故障。
可根据传感器信号来控制程序的流程。
三类传感器:
◆位置检测
◆力觉和触觉
◆视觉
Robot Programming
8.1 机器人编程要求与语言类型
2.机器人编程语言的类型
( 1)动作级(以 VAL为代表)
以机器人的运动作为描述中心,每一命令对应
一个动作。
优点,语句简单,易于编程。
缺点,不能进行复杂计算,不能接受复杂传感
信号。
◆关节级,给出机器人个关节位移的时间序列。
◆终端执行器级,给出终端执行器的位姿和辅助
机能的时间序列。
Robot Programming
8.1 机器人编程要求与语言类型
2.机器人编程语言的类型
( 2)对象级( AML,AUTOPASS)
以描述物体间的关系为中心的语言。
特点:
◆运动控制
◆处理传感器信息
◆通信和数字运算
◆具有和好的扩展性
利用知识库和数据库进行仿真。
Robot Programming
8.1 机器人编程要求与语言类型
2.机器人编程语言的类型
( 3)任务级(普渡大学,RCCL)
对工作任务所要达到的饿目标直接下命令。
Robot Programming
8.1 机器人编程要求与语言类型
2.机器人编程语言的类型
( 4)决定编程语言具有不同设计特点的因素
语言模式 语言形式
几何学数据形式 旋转矩阵的规定与表示
控制结构 控制多个机械手的能力
控制模式 运动形式
信号线 传感器接口
支援模块 调试性能
Robot Programming
8.2 机器人语言系统的结构
1.机器人语言系统的结构
机器人语言操作系统的
三个基本的操作状态:
◆监控状态
◆编辑状态
◆执行状态
Robot Programming
8.2 机器人语言系统的结构
2.机器人编程语言的基本功能
( 1)运算
解析几何运算的计算工具包括
◆机械手解答及逆解答
◆坐标运算和位置表示
◆矢量运算
( 2)决策
根据传感器输入信息作出决策。
条件转移指令形式:
符号检验 关系检验 布尔检验
逻辑检验 集合检验
Robot Programming
8.2 机器人语言系统的结构
2.机器人编程语言的基本功能
( 3)通讯
机器人提供信息:
信号灯 字符显示设备 图形显示设备
语言合成器及音响设备
人对机器人, 说话,,
按钮 键盘 光标及光笔 光学字符阅读机
远距离操纵主控装置
其他;语音输入输出。
Robot Programming
8.2 机器人语言系统的结构
2.机器人编程语言的基本功能
( 4)机械手运动
按提供的一组关节位置运动,或按工作空间内
的一系列位置运动。
绝对运动和相对运动。
计算机引入,提高其工作能力。
( 5)工具指令
直接控制,由某个开关或继电器触发。
采用工具功能控制器,进行复杂控制。
Robot Programming
8.2 机器人语言系统的结构
2.机器人编程语言的基本功能
( 6)传感数据处理
内体感受器
触觉传感器
距离传感器
力和力矩传感器
视觉传感器
Robot Programming
8.3 常用的机器人编程语言
1.VAL语言( 1979,美,Unimation公司)
用于 PUMA,UNIMATE2000,UNIMATE4000系列。
六种监控指令:
( 1)定义位置,姿势
( 2)程序编程
( 3)列表指令
( 4)存储指令
( 5)控制程序执行指令
( 6)系统状态控制
Robot Programming
8.3 常用的机器人编程语言
2.SIGLA语言( 70年代,意,OLIVETTI公司)
用于 直角坐标式的 SIGLA型装配机器人。
32个指令字,分为六类:
( 1)输入输出指令
( 2)逻辑指令
( 3)几何指令
( 4)调子程序指令
( 5)逻辑联锁指令
( 6)编辑指令
另有 9个控制定义字。
Robot Programming
8.3 常用的机器人编程语言
3.IML语言(日,九洲大学)
对末端执行器进行编程的动作级语言。
物体位姿有六维矢量表示。
系统指令和用户自定义指令。
其它特征:
( 1)描述往返操作可不用循环语句。
( 2)可直接在工作坐标系内使用。
( 3)可将要示教的轨迹定义成指令,加入到语言
中,可体现力。
Robot Programming
8.3 常用的机器人编程语言
4.AL语言( 70年代,美,斯坦福大学)
基于 ALGOL,和 PASCAL共用。
用于多机械手并行控制的编程。
基本功能语句:
标量 矢量 旋转 坐标系 变换
块结构形式 运动语句 手的开合
两物体结合的操作 力觉的处理功能
力的稳定性控制 同时控制多个机械手
可使用子程序及数组
可与 VAL语言进行信息交流
Robot Programming
8.4 机器人的离线编程
1.机器人离线的特点和主要内容
优点:
( 1)减少机器人非工作时间。
( 2)使编程者远离危险。
( 3)使用范围广。
( 4)便于和 CAD/CAM系统结合。
( 5)可使用高级编程语言对复杂任务进行编程。
( 6)便于修改机器人程序。
Robot Programming
8.4 机器人的离线编程
1.机器人离线的特点和主要内容
编程需考虑的内容:
( 1)机器人工作过程的知识。
( 2)机器人和工作环境三维实体模型。
( 3)机器人几何学,运动学和动力学知识。
( 4)可进行运动图形仿真。
( 5)轨迹规划和检查算法。
( 6)传感器的接口和仿真。
( 7)通讯功能。
( 8)用户接口。
另,减小仿真与实际间误差。
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
( 1)用户接口:
两个接口,用于示教编程及语言编程。
重要部分:机器人语言。
对机器人系统进行图形编辑。
( 2)机器人系统的三维构型
三种方式:结构立体几何表示。
扫描表示。
边界表示。
采用零件和工具的 CAD模型。
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
( 3)运动学计算:
包括运动学正解及运动学反解两部分。
运动学反解:
其与控制柜的联系选择,直接输入关节值。
输入笛卡儿坐标值。
与控制柜通讯是的注意点,采用公式一致。
可行解确定准则一致。
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
( 4)轨迹规划:
两种类型,自由移动。
依赖于轨迹的约束运动。
轨迹规划算法,关节空间及笛卡儿空间的差补计算。
( 5)动力学模型:
高速,重载下,防止较大误差。
三类动力学模型,数字法。
符号法。
解析法。
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
( 6)并行操作:
多台机器人的协调工作。
一台机器人与视觉系统相配合。
( 7)传感器的仿真:
主要是几何模型间干涉,相交检验问题。
触觉,接近觉及力觉传感器的仿真。
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
( 8)通讯接口:
把仿真生成的运动程序转换成各种机器人控制
柜可接受的代码。
方法一,选择较为通用的语言,然后再对该语
言加工。
方法二,用翻译系统将离线编程结果快速生成
机器人运动程序代码。
Robot Programming
8.4 机器人的离线编程
2.机器人离线编程系统的结构
( 9)误差的校正:
误差原因
机器人,连杆制造误差和关节偏置变化。
结构刚度不足。
相同型号机器人的不一致性。
控制器的误差。
编程系统,数字精度。
实际世界模型数据的质量。
误差校正
一,基准点方法。精度不高。
二,传感器反馈。精度教高。
Robot Programming
8.4 机器人的离线编程
3.机器人离线编程仿真系统 HOLPSS
( 1) HOLPSS系统结构
语言处理模块
运动学及规划模块
三维构型模块
运动仿真模块
通讯模块
主控模块
传感器仿真模块
Robot Programming
8.4 机器人的离线编程
3.机器人离线编程仿真系统 HOLPSS
( 2) HOLPSS系统的功能
一,三维几何构型
基本体的构造,扫操作方法。
局部变形或集合运算。
机器人总体构型:体素构造和分级装配。
二,运动的动态仿真和动画技术
Robot Programming
8.4 机器人的离线编程
3.机器人离线编程仿真系统 HOLPSS
( 2) HOLPSS系统的功能
三,通讯及后置处理
两种通讯方式,翻译离线编程语言。
只输入有关数据。
两种传送方式,接口总线。
磁盘。
Robot Programming
8.4 机器人的离线编程
3.机器人离线编程仿真系统 HOLPSS
( 2) HOLPSS系统的功能
四,机器人作业总体布局
直接搜索。
启发式搜索。
五,碰撞和路径优化
5个自由度规定的弧焊作业。
冗余度机器人避免碰撞和回避奇异性的自动
规划。
Robot Programming
8.4 机器人的离线编程
3.机器人离线编程仿真系统 HOLPSS
( 2) HOLPSS系统的功能
六,协调运动的自动规划
工件与重力矢量在焊接中保持一定关系。
七,力控制系统的仿真
八,自动调度
九,误差和公差的自动评估