元末的英文译语怎么说-兼职财务


2023年3月31日发(作者:quintus什么意思)

河北建筑工程学院

毕业设计(论文)外文资料翻译

系别:机械工程系

专业:机械电子工程

班级:机电(本)091

姓名:王董

学号:2009322114

外文出处:《TheInternationalJournal

ofRoboticsResearch》

附件:1、外文原文;2、外文资料翻译译文。

指导教师评语:

签字:

年月日

注:请将该封面与附件装订成册。

机器人机械手

控制在Unix下

RCCL:一个机器人

控制“C”程序库

文森特海沃德*

计算机科学与

工程机械科学实验室

LIMSI-CNRSBP30

91406奥赛可戴斯

法国

理查德P保罗

计算机和信息科学部门

宾夕法尼亚大学

宾夕法尼亚州的费城19104

摘要

在本文中,我们提出一个通用机械手控制系统。该系统是运行在Unix操作系

统下。机械手程序写在“C”语言并且利用原始函数包含在一个数据库的原始函

--------------------------------------------------------------------

这个工作已经部分地支持拨款亚拉程序(Robotique时候等Avanc6e)的法国国家科学研究中

心、法国。这种材料也是基于工作支持的国家科学基金资助下没有。MEA-81119884。任何

意见,结果,结论,或建议表达这个刊物是作者的,不一定反映了美国国家科学基金会的观点。

*文森特海沃德目前计算机视觉和机器人

实验室,工程系,麦吉尔

大学,Montr6al,Qu6bec、加拿大H3A2a7。

国际期刊的机器人研究

5卷4号,1986年冬。

1986年美国麻省理工学院

数包。机械手控制是集成在以相同的方式输入输出的语言。该系统包括一个世界

modeler和通过两组原始功能的轨迹发生器。该系统的结构化世界modeler是专

为一个简单的集成的传感器。论文的第一部分回顾了系统的功能性组织,经历的

世界建模、轨迹生成、力控制和同步。第二部分描述了实际的机器人编程的例子。

1.介绍

十多年来,机器人机械手的控制和发展专用的机器人编程语言(保罗1977;穆杰

塔巴和高盛1981;泰勒,萨默斯,迈耶斯1982)联系在一起。这些语言的目标是提

供一个合适的框架表达的机器人任务,因为它被认为是可编程的机器人在

传统的自动化的主要优势(Nitzan和罗森1976;洛萨诺佩雷斯1983)。机器人在

他们自己的和必须集成在制造业系统中可以不再被视为单独的装置。因此,机器

人语言已经成为越来越强大的为了处理机器人的工作环境和其余的生产控制之

间的相互作用的系统。机器人编程系统也进化到实现了在几个方面的工业自动化

进展,如遥感、机器感知和控制。

大部分的现有机器人编程系统基于围绕一个特殊的语言(禧玛诺,格石客,

和斯伯丁1983年,泰勒1983年)的机器人控制器设计。语言上的机器人控制的基础

是必须处理的复杂的实时控制臂和它的末端执行器,世界建模、感觉反馈,

和通用输入输出。语言也必须实现或能够处理人机和机器对机器的通信。基于这

些需求,机器人编程语言已经进化到一个扩展性的点,高级计算机语言。在任务级

机器人编程的研究表明机器人控制原语的需要已经作为任务规划系统或离线编

程系统的目标。这些原语往往不是最合适的和灵活的方式提供传统的机器人编程

语言。

在本文中,我们描述一个不同的机器人编程方法。我们想要避免创建一个专门

的语言,因为先进的计算机科学提供了广泛使用和高效地使用语言。我们选择了

“C”语言(克尼汉1978)和集成机器人控制的语言以同样的方式作为集成的

通用输入输出。“C”语言很适合这个的目的,因为它能够处理底层细节。服务通

常由操作系统提供(如,I/O、内存管理)被揭露这个“C”程序员通过子程序调

用相反原语的语言。在类似帕斯卡的语言中,这些服务是反映在语言的语法上;

因此,扩展语言往往需要修订它的语法。其他语言比如ADA或Modula可能提供了

对于手头的项目所需的灵活性,但这些语言没有被足够广泛使用在项目开始的时

候。

RCCL是一个独立的,它的子程序包为机器人程序提供一个合适的环境规划。工

具提供了运动轨迹生成调度和控制,从而使传感器易于集成。机器人控制原始

功能都写在“C”并且包括在一个数据库。机器人应用程序可以直接在“C”开发

而不必修改编译器。子程序包的RCCL构建在一个称为手臂接口的低级机器

人控制包(简要描述了在2.1节)。附录介绍了,一直到Unix内核提供了实时控

制的补充。

RCCL的初步实践表明可以从三年级下册古诗 模块化、系统和应用程序开发和可移植性等方

法获得许多好处。该系统已经在设计时考虑了以下目标:

可移植性。系统写在用于一些机器的便携式语言“C”中;RCCL第一次实现

在Unix下的VAX小型机。然而,该系统已经被移植和适应其他机器不仅仅是Vax,

可以运行在其他操作系统。(例如,见高思民[1986])。

机械手的独立。手臂的依赖性,如运动学和物理能力的手臂,已经被分离出来并可

以轻松的修改。目前实现的数据库可通过宏观编译产生两种不同的机械臂。机器

人程序是笛卡尔编程作为允许独立于任何特定的机械手。依赖关系,如工作信封,

扫描,达到,和运动配置,无法避免在机械手水平编程。

世界建模。该系统完全实现了结构化的职位描述在PAL制式的语言介绍(高濑,

保罗,和贝尔格1979)的一些扩展。

笛卡儿的编程。位置描述在笛卡儿空间。任意坐标系可以被编程为沿直线轨迹或

沿任意轨迹相对于基本运动方案。

传感器集成。这一点是系统设计最主要的问题。我们利用传感器集成世界模型是

否可以同步或异步地修改的自然处理想法。在任何情况下,用户已经完全控制同

步,无论程序流程需要同步手臂动作,或手臂动作需要同步程序流程。

力控制。在一个月内,一个简单柔顺运动控制技术已经被开发出来并且集成在系

统中。

2.概述

该系统是建立在一个轨迹发生器和一个世界建模器。轨迹发生器是一个利

用位置规范世界描述的模型来计算关节位置或转矩设置指向一个固定的采样率

中断-驱动过程。从用户的观点看,轨迹发生器的行为像一个后台进程。机器人程

序,或用户的的过程,类似于轨迹发生器的异步问题运动要求执行分时下的Unix

进程。运动要求进入队列和轨迹发生器对第一个先出的方式处理。

世界模型由一组在动态数据结构中实现的其次变换方程组成。这些方程,或

封闭的运动链的结构描述,参与任务描述对象和特征的相对位置。

一个运动的要求实际上就是系统修改世界模型的要求,所以位置方程得到了

验证。为处理传感器集成,随时间变化的世界建模,和通信,几种变化已经被定

义。只要有必要,用户的过程与实际的手臂动作或其他外部事件是同步的。同步

处理是用户编写的函数指定为背景的运动要求或连接到一个功能描述部分进行

改造的。任何轨迹段都可以在一个给定的瞬间打断。根据任意的事件或条件提供

了控在调度的动作。同步输入是通过在与臂本身的状态或轨迹发生器的状态的采

样率更新全局变量设置。最后,世界模型可以在一个有条件的运动完成隐式更新。

在状态检测中得到的信息就这样直接列入世界模型。

总之,我们已经从轨迹生成的控制臂的实时控制的动态数据结构来分开了世

界建模问题。控制臂和轨迹的生成控制被视为一个高优先级的后台进程。第二部

分更详细的解释了该系统的功能组织。

2.1.低级功能和臂接口

两个人间正道是沧桑后半句 机械手可以运行在RCCL控制下:一个彪马600和一个斯坦福机械臂。在

这两种情况下,一个来自尤尼梅申的工业机器人控制器用来控制机器人的关节。

通常用于运行VAL代码的控制器的LSI-11处理器,这个处理器运行在一个简单

的建立了伺服编码和实时臂接口之间的通信的设备驱动程序系统中。机械臂接口

和其余的软件运行在VAX小型机里。轨迹发生器指定位置或电流/转矩设定点的

伺服过程。

臂接口是一个允许用户来实现实时程序在VAX计算机控制机械手的函数

包。作为两个任务并行执行使用该系统所写的程序:一个提供了高层指令,通过

执行采样率和规划任务或用户的过程来控制任务或后台进程。这些任务被安排在

一个两级层次。他以高优先级控制水平执行在一个没有可中断的上下文,而计划

任务执行在一个传统、分时上下文。这两个层次和机器人通过预定义的数据结构

交流。一个称为how的“C”结构包含机械臂的信息描述状态,而结构称为chg用

于控制机械臂。全球结构how只能通过应用程序来获得机器人的状态信息的读

取,而关节水平指令可以通过在全球结构设置适当的域指定chg。水平与其他使

用共享内存进行通信。为了实现这些功能有必要在Unix下狎昵用户操作系统的

接口。这些都在附录中有所描述。

层次之间的通信已被发现可分为以下几类(劳埃德1985):

“弗拉姆”计划层的指令。命令及相关参数被发送到从规划层面的控制水平,无

论是通过全局变量或通过运动队列。

反馈控制水平。信息的控制水平的计算机被放置在一个全球的地方,它可以在规

划层面上的自由裁量权采样。

同步性。任务同步他们的活动,通过全球标志的设置。

这些交流活动可能会好和腿式车辆的分层控制系统设计者描述的比较(施

万等人.1985):

异步通信和数据丢失。

同步通信,不会丢失数据。

同步或异步通信,可能会丢失数据。

最后,一组映射函数允许用户在物理单位(毫米,弧度,牛顿米)的程序而

不是编码器计数和电动机电流。当关节扭矩测量或指定,库仑摩擦条件被自动删

除或添加。机械臂的细节在海沃德1983a和劳埃德1985有详细描述。机器人程

序使用实际RCCL功能可以访问所有功能机械臂接口。

2.2.世界模型

RCCL世界模型是一组封闭的运动链的几何情况。每一种情况对应一个齐次变

换方程(保罗1981)。这些方程是根据链接的数据结构的直接实现。方程动态地

创建和销毁。在功能上,世界模型描述的坐标帧链的相对位置。这些转换可以在

程序文本中明确指定的值;读取文件;异步或同步地从传感器读数,在任务执行

过程中的计算,或其他来源的信息(参见图1)。

世界模型保证用户可以再笛卡尔坐标中命令机器人。它是来自PAL的机器人

编程系统(高濑,保罗,和贝尔格1979)。它的基本组成部分是一个44帧的

变换矩阵,描述了一个帧相对于另一个的位置和方向。这些矩阵具有其次方程的

一些特性。

让A的变换描述框架F2相对于F1的位置,B的变换描述框架F3相对于F2。

乘积AB也是一个变换和描述了F3相对于F1的位置。框架转换就是这样很容易

的组成的,逆变换是在低计算成本获得,也是一个变换.例如,介绍了F1与

F2的位置。转换可以被解释为相对于另一个帧的描述,或作为一个转型的第一

帧执行。微分变换是用来表示的广义力,差分运动,以及在不同的帧中的速度。

转换不仅会使高效的计算机实现,而且也有强大的数学工具的实现。出于这个原

因,他们一直在传统上使用的臂的运动学,动力学,计算机视觉,计算机图形学

上操纵。

为了说明我们的讨论,我们将从艾尔系统用户手册(Mujtaba和高盛1981)中

借一个简单的任务例子。这个任务包括桌面,一个机器人,和两个街区。这个任务

是掌握和移动第一块,然后掌握和堆栈第二块是第一块的顶部。数据2a和2b

显示了六个中间状态必要来描述这个任务。美国方面表示帧转换和巧合。为

了简单起见,没有提到轨迹生成和碰撞避免。

2.2.1.描述使用断言的

AL语言和其他语言(例如。,Latombe和梅尔1981)模型与AFFIX声明的

几何关系:

AFFIXf1TOf2ATtrans

在这种变换式定义的位置相对于F1F2。这种关系是对称的:每当f1或f2动

作,其他框架也动作。与affixment,一种情况是建模为一棵树,帧对应的节点或

叶,和转换对应的链接,如图。2A和2B。状态更改请求的通过MOVE陈述:

MOVEf2TOf3

MOVE的执行语句涉及步进穿过一个affixment树来确定移动架臂和轨迹,导致f2

和f3的一致。当运动时,所有的帧的位置固定在活动架更新。

这个任务是由以下示意图来说明:

MOVEarmTOblock1_grasp

GRASP

AFFIXblocklTOarm

MOVEblock1ITOfinal_place

RELEASE

UNFIXblocklFROMarm

MOVEarmTOblock2_grasp

GRASP

AFFIXblock2TOarm

MOVEblock2TOblockl_top

RELEASE

UNFIXblock2FROMarm

MOVEarmTOpark

2.2.2描述和位置方程

在RCCL系统中,框架的概念明确不存在。相反,在职位描述时所有涉及到的

转换是明确的。通过它们的相互关系框架是独特定义的,同时只有框架涉及一个

位置的描述。例如,考虑任务的状态2,如图2。下面的图是通过建立一个联系

blockl_grasp框架和框架的世界:

机械臂,块1,掌握1是转换。消除框架,此图的等价表征是一个转换方程:

ARM=BLOCK1GGRASP1。

遵从这个原则,六个中间状态的任务可以被描述在任期为六贴上方程:

(park)ARM=PARK

(get_block1)ARM=BLOCK1GRASP1

(place_block1)ARM=FINAL_PLACEGRASP1

(get_block2)ARM=BLOCK2GRASP2

(stack_block2)ARM=FINAL_PLACETOP1GRASP2

(park)ARM=PARK

计算机表示这些方程的是直截了当的,他们的解决方案是简单的变换的手臂,

不管他们的复杂性。一旦这些方程被指定进系统,粗略地程序描述如下:

MOVE(get_block1)

CLOSE

MOVE(place_block1)

OPEN

MOVE(get_block2)

CLOSE

MOVE(stack_block2)

OPEN

MOVE(park)

位置方程

如上所示,RCCL系统只使用转换来描述机器人的工作空间。位置方程反映了

任务的空间结构独立于控制流。不需要追踪关系流的程序,因为这个信息包含在

布局的方程。通过添加条件方程式,用户可以细化描述而不改变程序的结构。

我们现在考虑的结构方程经常遇到。一个框架是先被分配到最后环节的机械手。

我们称描述关于机械手最后一个环节的转换为T6转换。当机械手需要移动到一些

已知POS位置,还描述了关于机械手的基地,位置方程是:

T6=POS(1)

然而,我们可能希望,指定一个特定的框架描述了关于最后一个环节的链接

的机械手(例如,最南端的一个钳子)必须达到给定的位置。这个方程可以被修改

T6E=POS(2)

现在我们想要描述抓住一个躺在一张桌子的销的位置。我们写为:

BT6E=TPPG(3)

在这个方程式中,变换是:

B是机器人就任意参考系基地的位置。

T6是机械手就其基础的最后一个环节的位置。

E是控制框架关于机械手的最后环节的位置。

T是桌子就任意参考系的位置。

P是栓相对桌子的位置。

PG是栓抓住的位置。

如果栓是被插入到孔的装配,我们定义两个转换:

AS是组件相对于该表的位置。

H是相对于装配孔的位置。

相应的方程是:

BT6E=TASHPG.(4)

一个任务描述包括许多这些方程。该系统计算这些方程的轨迹是非常满意

的。一个运动从一个位置到下一个位置是由系统生成通过含蓄地插入额外的转换

方程。这种DRIVE(s)转变代表一个旋转关于将驱动机器人从一个状态到下一个状

态的轴和直线的转化。旋转和转化是线性依赖于一个标量变量s。DRIVE(s)变换

是由用户选定框架控制插入方程右边的位置。位置方程可以按如下写:

11116=TRPE

(5)

22226=TRPE

(6)

……=…

i6=iiiTRPE

(7)

\'iPs

描述控制框架,

\'iRs

\'iPs

左边的转换表达式,

\'iEs

\'iPs右边的变换表达式。为了表达运动从一个位置到下一个位置,我们写第

一个转换表达式按照目的地的位置

1111

26=TRPE

(8)

(9)

在运动,位置方程被评为

(10)

(11)

(12)

当s=1时获得目标位置,这样

(13)

在RCCL,转换的构成条件的位置方程实际上可分为以下类别:

常数转换是用来表示的几何特性和对象的关系,执行过程中保持不变的轨

迹。这是基本的类型被发现在大多数其他机器人编程系统中。常数转换是通过实

际的轨迹计算由系统内部透明,以减少计算负荷。

在整个执行过程中变量转换可被用户读写。由此产生的轨迹会立即反映更改

这些转换。为了获得有意义的结果程序员是那么负责提供小的平滑变化。更改可

以异步发生,和这种转换的类型通常是当感官信息不能有效的得到采样率用于跟

踪应用程序。这是一个通信与数据丢失的例子。

持有转换可以由用户进程在任意瞬间修改。当一个运动涉及一个请求发布的

转换,系统制造它的一个副本。然后副本成为运动要求的一部分。当位置信息不

能在一个可预测的时间内得到这些转换就会发现他们的应用程序。它们允许用户

进程来执行输入输出操作在转换数据库中,例如,没有必要停止的手臂。这是一个

沟通没有数据丢失的例子。

功能定义的转换是附加到一个“C”的函数。在计算相应的轨迹,功能评估在

采样率和预计将计算值的转换。如果值是函数的一些参数(例如,时间),一个得到

参数化轨迹。如果值函数的传感器读数,得到同步感觉反馈控制臂。应用程序所

限制的执行时间函数,它必须适当的分配CPU时间槽。然而,跟踪和其他活动路径

修正方法很容易实现。

位置方程可能包括的任何组合转换类型。3.4节,传感器集成,将展示使用这

些转换。

2.3轨迹生成

系统的处理两种类型的RCCL轨迹。在这两种情况下,机械手被控制移动到一

个转换方程描述的目标位置,但两种模式生成的中间点不同。在联合模式中,对于

每一个运动的要求,最后的机械手位置是通过Eq计算的.(7)。相应的接头设置点

的关系式与运动学逆解的手臂。中间设置点线性内插在关节空间。这种类型的运

动导致有效的轨迹,但控制框架的路径并不总是容易预测。其他类型的运动,或笛

卡儿模式,采用Eq。(10)计算机械手位置的采样率。节理组分再次得到的逆运动

学。控制框架的路径,然后确定DRIVE(s)的参数变换。这些路径生成技术是被保

罗(1981)描述。

每条路径之间的平滑过渡段提供了一个插值,四次多项式。因为位置方程可

能包含任意参数转换、不可预知的速度变化和可能发生在过渡的开始。不连续的,

自然也会发生当控制切换关节内插到笛卡尔路径生成,反之亦然。这些病例是由

添加一个三阶多项式的四次转变。斜率的多项式是等于测量额外的速度开始过

渡。边坡设置为零结束时的过渡。一个重要的特点是它的容量轨迹发生器启动过

渡在任意瞬间。

2.4力控制

这个RCCL系统允许用户编写程序的机械手,因此它产生力和力矩以及选定的

方向左右。然后说的机械手执行顺序的动作。这个功能我提出两个运动规范和控

制的手臂的问题。从手腕力传感器反馈信号的力控制器已经被雷伯特和克雷格

(1981)和索尔兹伯里(1980)实施使用。由于实际的原因,我们已实现了一个保罗

和禧玛诺(1976)兼容的运动方案的版本。力规范被表达在控制框架。兼容的运动

是配对获得机械手的关节与每个程序兼容的方向。对于每个方向,关节最适合提

供所需的力量或扭矩力或扭矩选择和控制,而不是伺服系统的位置。量的联合力

量或扭矩施加所需的力量或扭矩是通过调换后的雅可比矩阵和抵消重力补偿条

款(保罗19981):

(14)

是向量的力量哄骗的拼音 或扭矩应用到关节。

S是一个选择向量由0和1的(关节对应0元素是伺服的位置)。

JR

是雅可比矩阵,计算在框架R。

CRT是函数映射中表示框架C到框架R。

Fc是所需的力和扭矩表示在控制框架C。

R是一个雅可比矩阵计算的框架。

G是从动力学获得的重力补偿项。

我们使用李纳德(1981)计算雅可比矩阵的方法。矩阵是计算在链接四个坐标,

因为它会导致最大的简单机械手臂像彪马或斯坦福的手臂。

为了简单起见,我们使用这种力量控制方案,虽然这只是一个近似的非选择

性贡献忽略的中秋节 关节。在我们的安装,斯坦福的手臂控制器修改关节转矩控制(费舍

尔1981;Luh,费舍尔,保罗1983)和质量好的兼容的动作可以证明。这只美洲狮的

机器人控制器可以驱动关节电机电流规格。一个方法的关节磨表达舍不得离别的句子 损有关,电流,它考

虑了库仑摩擦效应,是由张(1983)实现的。尽管该方法对于彪马机器人缺乏准确

性,兼容的行为也可以被证明为实验如插入销子插入孔和宽松的公差。

为选定的机械手关节运动造成不精确匹配兼容的方向,任何运动沿着这些方

向左右引起不必要的动作以及正交方向左右。这些影响是通过计算补偿的运动。

基本的位置方程在兼容的运动再次修改

(15)

遵守变换计算的条款通过转换关节的兼容的微分运动回笛卡尔空间使用雅

可比矩阵。变换的服从重置为身份在被更新之前。取消不必要的动作是每次新的

解:

(16)

(17)

(18)

(19)

ej

是从所需的接头位置

dj

和观察接头位置

oj

联合误差向量计算。

eXR是笛卡儿的位置误差计算的框架R的雅可比矩阵表示。

eXC

是笛卡尔误差在控制框架。

RCM是一个函数映射力量和扭矩表示从框架R到框架C。

△是一个构建了一个微分变换从我欲乘风归去 又恐琼楼玉宇 微分运动矢量函数。

2.6同步

在普通的机器人编程语言,MOVE语句是含蓄地与手臂动作同步。然而,在最好

的情况下,选择是由用户来决定程序是否流动,在一个MOVE的声明中,必须进行的

时候,相应的运动开始或当它即将终止。

为我们想要提供一个RCCL较大数量的普遍性,因为我们是强调系统集成。随

着运动请求和相关的位置方程完全描述所需的动作,一般排队机制和一组已经实

现的同步原语,以牺牲更大的编程的复杂性。几个动作请求可以在编程之前,让用

户进程可以执行同步计算。当程序流动取决于一些外部的信息来源同步变得必要,

如传感器和运动终止条件,或当变量转换被用来引起增量修改机械手位置。

没有提供一个动态管理的运动队列,因为诗鬼诗圣诗仙诗魔是谁 我们觉得这样一个设施将成为有用

的只有当在线,没有冲突,寻路算法变得实用。

3.介绍机器人编程与RCCL

在本节中,我们将展示一些机器人编程的方面与RCCL和给的原始功能的味

道。

3.1位置描述

一组RCCL功能允许用户动态地创建转换。基本的要求是

t=newtrans(name,type);

t是一个指向创建的转换,名字是一个字符串使用的系统来保持跟踪程序执

行,和类型指定所需的类型的转换。将创建的身份转换。然而,一个家庭的电话,

同时创建和初始化转换。例如,

t=gentr_rot(name,px,py,pz,v,a);

创建一个名字的转换的命名,它是由一个翻译部分px,py,pz和旋转角的一个在向

量v。类似的功能提供了处理欧拉角,“辊距和偏转”角度等。当然,用户可以编

写自己的函数。下面的语句创建一个位置方程:

p=makeposition(name,1hs,EQ,rhs,TL,t);

p是一个指向新创建的位置方程。参数名称也用于生成程序执行的痕迹。Ihs和rhs

的参数是指针的列表以前创建的转换。列表Ihs必须包含系统定义的指针t6到T6

变换。参数t必须属于Ihs或rhs列表和指定控制框架。例如,方程R

T6E=C0将被创建通过

p=makeposition(“p”,r,t6,e,EQ,c,o,TL,e);

假设控制框架描述ransform指出e对机械手的最后环节他。

一个用户,一个位置显示为一个“C”结构,可以被视为一个职位描述符:

Structposition{

char*name;

intcode;

flotscal;

eventend;};

在这入口代码设置在运动终止到这个位置来反应终止的原因。公司价值变化从0

到1,当执行的运动。这是用于生成参数化运动或同步用户进程在某个中间点的运

动轨迹段。最后,输入端是一个事件计数,是暗示终止时的相应的运动。

3.2运动规范

move(p)

引起的动请求被传送到轨迹发生器。当所有以前的请求进行处理,系统促动臂因

此位置方程通过p来指出状态和残余存在,如果没有其他的请求等待。这种效应是

只要队列为空通过定期补发过去的运动要求。如果最后的位置方程包含功能定义

转换,他们将继续被评估。这是可取的,如果机器人追踪一个移动的坐标框架。如

果绝对需要停止,系统提供了一个内置的位置方程,总是反映当前手臂的位置。

当设置一些运动参数,,影响所有后续动作直到重置为另一个值:

setval(tv,rv):指定平移和旋转速度。

setmode(m):运动模式,笛卡儿或接头。

setconf(c):请求一个臂配置变化。

sample(s):改变采样周期。

另一组的参数会影响一个后来的议案:

setime(ta,ts):指定旅行持续时间ts,过渡时间ta。

eva1fn(fn):指定函数的fn,在运动期间,后台运行。

distance(spec,values):指定小翻译或轮调,在受控制的框架中,表示为

修饰符的目标位置的任意组合。

1imit(spec,va1ues):指定力和力矩限制值沿着或围绕选定的方向。相

同的功能用于指定最大差异运动。

comp1y(dirs,va1ues):原因手臂进入积极遵守模式时开始下一项议案,

并施加力量或直到重置在torques的位置伺服模式。

1ock(dirs):重置的手臂在位置伺服模式下沿着或围绕选定的

方向。

update(trans,equa):运动结束时计算的等式中的变换跨值。

这一组功能有助于建立议案请求数据包包含生成一项议案所需的所有信息。

上面列出的函数只能填写条目“C”的结构。这些函数的选择是有点任意的并

能够提供这种议案请求数据包的任何程序可以同样地控制机械手臂。

3.3同步

同步是通过两个基本机制实现的:(1)用户进程中止;(2)议案中断。两个基

元可以用于同步程序流:

waitfor(事件)

waitas(述语)

宏观事件暂停程序执行,直到指定的事件发生。由轨迹发生器或由用户设置

的背景功能都已终止事件计数。他们是由用户的前台进程等待。宏观述语多次计

算它的参数,直到它产生一个非零的值,并允许程序执行继续。

使用位置描述符中的密封和结束字段会导致不同的编码组合。例如,让p0、

pl、p2、p3描述一个正方形的四个角。让左右平方,导致同步处理开始p0

机械手移动每次移动的机械臂:

for(i=0;i<4;++i){

move(p0);

move(p1);

move(p2);

move(p3);

}

waitfor(p0->end);

printf(“startingfirstsquaren”);

Waitfor(p0->end)

printf(“startingsecondsquaren”);

<,

考虑抓对序列中的三个步骤的执行情况。首先,该工具被移到由翻译工具帧

沿z轴负的最终位置定义方法位置。然后,该工具被移动到最终位置。在最后一

步中,手臂被停在以400毫秒为单位的最后位置并且夹持器在中间的这段时间

关闭后停止。

p->end-0;/*resetcount~*/

dfstance(“dz”,-10.);/*backup10mm*/

move(p);/*moveapproach*/

move(p);/*movefinal*/

setime(0,400);/*during400ms*/

move(p);/*staythere*/

waitfor(p->end)/*waitformotion*/

waitfor(p->end)/*completion*/

waitas(p->scal>.5)/*waithalftime*/

CLOSE/*closehand*/

下面的示例利用程序异步方面的议案以获得存储在数据库中的位置。访问的

时间是不可预测的。函数gettr直到不得获取的值返回。虽然gettr的响应时

间是随机的没有必要停止机械臂:

loc=newtrans(“LOC”,,hold);

p=makeposition

(“P”,t6,e,EQ,ref,loc,TL,e);

while(gettr(loc)!=NO){

move(p);

}

机器人将等待新的数据,如果它可以执行动作快gettr可以提供的值。如

果这不是这种情况的议案队列溢出则需要受到阻止。该程序略有修改,利用全局

变量的要求保持通过系统反映观察到的请求数。

while(gettr(loc)!=NO){

waitas(nbrequest

move(p);

}

接下来,我们来说明如何可以对外部事件中断请求。下面的程序会导致机械

手臂移动到某个位置,当用户点击时,它占据停止在终端的位置。在同一位置方

程中,原始更新记录在这项议案被中断的时间位置。我们应引入两个更多的系统

变量:nextmove和completed。每当它设置为一个非零值,并且其值存储在相

应的位置描述符的代码字段时,变量nextmove中断一项议案。完成该变量是议

案队列变为空时发出信号的事件。

update(loc,p);

move(p);

printf

(“hittostopthearmn”);

getchar();

nextmove=YES;

waitfor(completed)

if(p->code!=YES)

printf(“‘P’

whenwashitn”);

3.4传感器集成

传感器用来在运行时修改机器人的行为,并且它在时间和空间处理具有不确

定性。有各种各样的传感器和可能要收集的信息。RCCL基元是既不关注特定,

也不能与所获得的性质的传感器,也顺便说一下,它是对资料的处理。对基元的

机器人的感官信息的有效利用提供了手段。

3.4.1.活动路径校正

活动路径校正被通过从传感器的读数同步更新功能上定义的转拭目以待 换。下一个示

例演示了这种技术如何接近传感器。传感器固定在机械手的最后一个环节,控制

框架沿z轴的距离。沿同一方向进行了更正。机械手的设计是为了将移近表面。

这种类型是运动的在概念上类似于兼容的议案,因为沿z运动的是表面的几何

形状。功能转换被用来使臂速度沿z轴是成正比的位置。我们假定在采样率,

以反映传感器读数来更新全局变量传感器。

/*User’sprocess:*/..

,..

,

’-

sens=n乡音无改鬓毛衰的衰什么意思 ewtrans(“SENS”,sensfn);

p1=makeposition

(“P1”,z,t6,e,EQ,table,TL,e);

p2=makeposition

(“P2”,z,t6,e,EQ,table,disp,TL,e);

...

distance(“dz”,10.);/*causesovershoot*/

evalfn(mon);

move(p1);

move(p2);

...

/*Backgroundfunctions:*/

mon()

{

if(sensor>OFFSET)

nextmove=YES;

}

sensfn(t)

TRSF_PTRt;

{

t->p.z+=(sensor-OFFSET)*gain;

}

3.4.2.武力控制示例

我们现在来说明如何在被编程彪马机械手活动的法规遵从模式下打开一个

曲柄。控制的帧设置为保持与该句柄的固定关系。这是与两个旋转轴轴同等程度

但相反方向的两个功能定义转换得到的。由于变换手柄,旋转轴抵消句柄的长度。

在受控制的框架中,两个兼容的方向,表示不需要此任务(保罗1981年)。在

以下示例中,该句柄的维度被认为是已知但轴的位置将通过教函数,其中,还包

括在库中教。教函数执行在RCCL基元,具有相同的调用约定和作为更新原始相

同目的的概念:

/*User’sprocess:*/’

rotpx=newtrans(“ROTPX”,pxfn);

rotnx=newtrans(“ROTNX”,nxfn);

handle=gentr_trsl(“HANDLE”,...

get=makeposition(“GET”,

z,t6,e,EQ,shaft,handle,TL,e);

turn=makeposition(“TURN”,

z,t6,e,EQ,shaft,rotpx,

handle,rotnx,TL,e);

move(get);

teach(shaft,get);

CLOSE

comply(“fxfz”,0.,0.);

update(handle,get);

turns=4;/*4turns*/

setime(200,4000*turns);/*4secperturn*/

move(turn);

waitfor(turn->end);

OPEN

lock(“fxfz”);

distance(“dx”,-50.);

move(get);/*depart*/

...

/*Backgroundfunctionattachedtothefunctionaltransforms:*/

pxfn(t)

TRSF_PTRt;

{

rot(t,xunit,turn->scal*360*turns);

}

nxffn(t)

TRSF_PTRt;

{

rot(t,yunit,-turn->scal*360*turns);

}

4.结论

机器人机械手控制范围内的一体化“C”编程语言一直是作为执行我图书馆

的职能,以相同的方式是输入输出。机器人任务描述分成两个部分:世界模型

和调度的议案。职位说明中用图形表示实现封闭运动链。这些链的元素都可能参

数化时间和传感器读数的齐次变换。议案要求允许用户指定所需的位置,以及力

和距离的修饰符。通过原始更新,随着所做的动作中获得的信息的位置可能重返

世界模型中。

RCCL是一个功能强大的编程系统,并可作为扩展所需,因为编程是在“C”

在Unix系统下。例如,一个版本的系统将生成离线轨迹文件适合图形显示,而

不是运行机械手。

我们正在考虑使用解释语言,如Lisp,作为一个基础,发展以互动的方式

和使用RCCL作为底层的实时控制系统中的机器人程序。此外,如果需要进行专

门的语言,软件包LEX和YACC(1980年约翰逊),可用在Unix上,提供了一个

合适的环境,用于快速创建这些语言。

机器人的编程需要一定程度的语言适合表达运动算法。我们认为,语言,如

Pascal和“C”是以适当的程度。在这些语言中表示的机器人运动算法不是简单

的事实反映了算法的复杂性,也不是语言的复杂性。简单的应用程序机器人包都

可以,当然,编写RCCL中,并将具有的所有属性的用户友好性,加以限制。最

后,我们发现系统有用的研究工具,因为新算法可以在控件层次结构的任何级别

进行测试。系统当前正在被传输到大量的小机器,目前支持的研究项目的数量。

5.确认

我们要感谢对此项目作出贡献的下列人员:比尔费希尔、张宏、娟娟

和乔治戈布尔。我们还要感谢那些帮助我们的arm接口部分的人,约翰劳

埃德,他审阅了本文件的较早草案的评论。

附录

这一节中的材料基于劳埃德(1985年)。VAX/Unix体系结构所需的标准软件,

作出一些修改。这些是:

-VAX是虚拟内存的机器。程序段可以是目前无论是在快速内存,或在辅助

存储上进行分页。因为在内核模式中同时提升的优先级别执行时控制级别的软

件,所有的代码和它所引用的数据必须驻留在快速内存中。已为此目的拟定了一

个特殊的锁定机制和链接的过程。

-地址翻译临时在中断允许控制进程和规划进程来访问共享的内存区域的

时间发生了改变。

-A与VAX系统上运行在内核模式下的职能有关的特定问题是该运行时,

检测到硬件错误会导致系统崩溃。因为它假定操作系统是很大程度上自由的漏

洞,不要出现的任何错误应该导致系统崩溃。被修改,以便用户函数执行,同时

会出现一个标志,指示他们到内核的存在。硬件错误发生在这段时间因此被视为

属于管制程序,和他们而不会导致系统崩溃,导致被发送到控件程序Unix错误

信号。

引用

费雪.D.W.1981。机器人机械手和数字控制器,以纳入这两个力和定位控件的修

改。硕士论文,普渡大学电子工程系。

海沃德.1983a.机器人实时用户的手册。TR-EE83-42。西拉斐特,工业:普

渡大学电子工程系。

海沃德.1.0版用户手册。TR-EE83-46。西拉斐特,工业:普渡

大学电子工程系

约翰逊.C.S.1980(8月)。与U庾信文章老更成 nix操作系统的语言的开发工具。计算机,第

16-21页。

克尼汉.B.W.和里奇,D.M.,\"C程序设计语言\"普伦蒂斯-霍尔,1980年。

科斯曼.D.1986。适应高级别机器人工业机器人的控制环境。工程学硕士论文,

麦吉尔大学电气工程系。塞缪尔.J.C.和梅耶,E.1981(东京)。LM:控制装配

机器人高级语言。工业:机器人。

劳埃德.J.1985。机器人控制开发环境的执行情况。工程学硕士论文,麦吉尔大

学电气工程系。

洛扎诺-佩雷斯,T.1983。机器人编程。处理器IEEE71(7),第821-841页。

伯勋.J.Y.S.、费雪、W.D.和保罗.R.P.1983。关节力矩控制的工业机器人的

直接反馈。IEEE变压器自动化。门禁机交流-28(2)。

穆杰塔巴.S.与高盛,钢筋1981年。AL用户的手册。目标344,斯坦福大学,

加州:斯坦福大学人工智能实验室。

尼赞.D.与罗森,C.A.1976。可编程的工业自动化。IEEE变压器工时C-25(12)。

1259年70。

保罗.体育1977(3月)。波:一种基于模型的机械手控制语言。工业:机器

人4(1):10-17。

保罗.R.P.1979。机械手控制路径。IEEE变压器制式男子,网络。SMC-9(11):

702-711。

保罗.R.P.和禧玛诺,B.1976(旧金山)。法规遵从性和控制。处理器联合conf.

自动化。门禁机,第679-699页。

保罗.R.机器人:数学、编程和控制。麻省理工学院出版社,1981年。

莱伯特.M.H.和克雷格,J.J.1981。混合位置/力控制的机器人。转移ASMEJ.

质控。制式,画框尺寸w,门禁机103:126-133。

雷纳.M.1981(10月,东京)。机器人机械手的几何和运动学模型:计算雅可比

矩阵和它的逆。处理器11int.幻彩。工业。机器人,第757-763页。

索尔兹伯里.J.K.1980(阿尔布克尔克、.)。主动刚度控制机械手在笛卡

尔坐标。处理器19conf.决定和门禁机1:95-100

施万K.中,南工业大学1985(圣路易斯,密苏里州)。创业板:操作系统基

元的机器人和实时控制系统。机器人和自动化,第807-813页。

禧玛诺、B.E.、哥萨克、C.C.和斯波尔丁,C.H.1983。VAL-II:编程语言和

控制系统的机器人。1983ISRR,新罕布什尔州布雷顿森林

高濑.K.保罗,E.J.1979(芝加哥)。机器人编程和教学结构化的方法。

IEEECOMPSAC。第273-278页。

R.H.1983泰勒。综合的机器人系统体系结构。报告RC-9824。约克城号航母

高地,纽约州:IBM研究中心。第57-63页。

泰勒R.H.萨默斯,P、梅尔.J.1982。AML:制造语言。Int.J.机器人res.1(3)。

张.H.1983。彪马机械手的简化动力学的测定。技术代表西拉斐特,工业:普渡

大学,电子工程系。

更多推荐

rccl是什么意思l在线翻译读音例句