CN112703092A - 交互系统的备份跟踪 - Google Patents

交互系统的备份跟踪 Download PDF

Info

Publication number
CN112703092A
CN112703092A CN201980060671.8A CN201980060671A CN112703092A CN 112703092 A CN112703092 A CN 112703092A CN 201980060671 A CN201980060671 A CN 201980060671A CN 112703092 A CN112703092 A CN 112703092A
Authority
CN
China
Prior art keywords
robot base
end effector
robot
path
base
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980060671.8A
Other languages
English (en)
Inventor
马克·约瑟夫·皮瓦茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fastbrick IP Pty Ltd
Original Assignee
Fastbrick IP Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2018902557A external-priority patent/AU2018902557A0/en
Application filed by Fastbrick IP Pty Ltd filed Critical Fastbrick IP Pty Ltd
Publication of CN112703092A publication Critical patent/CN112703092A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1635Programme controls characterised by the control loop flexible-arm control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66CCRANES; LOAD-ENGAGING ELEMENTS OR DEVICES FOR CRANES, CAPSTANS, WINCHES, OR TACKLES
    • B66C13/00Other constructional features or details
    • B66C13/18Control systems or devices
    • B66C13/48Automatic control of crane drives for producing a single or repeated working cycle; Programme control
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/66Tracking systems using electromagnetic waves other than radio waves
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
    • G05D1/0282Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal generated in a local control room
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66CCRANES; LOAD-ENGAGING ELEMENTS OR DEVICES FOR CRANES, CAPSTANS, WINCHES, OR TACKLES
    • B66C13/00Other constructional features or details
    • B66C13/18Control systems or devices
    • B66C13/22Control systems or devices for electric drives
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66CCRANES; LOAD-ENGAGING ELEMENTS OR DEVICES FOR CRANES, CAPSTANS, WINCHES, OR TACKLES
    • B66C23/00Cranes comprising essentially a beam, boom, or triangular structure acting as a cantilever and mounted for translatory of swinging movements in vertical or horizontal planes or a combination of such movements, e.g. jib-cranes, derricks, tower cranes
    • B66C23/18Cranes comprising essentially a beam, boom, or triangular structure acting as a cantilever and mounted for translatory of swinging movements in vertical or horizontal planes or a combination of such movements, e.g. jib-cranes, derricks, tower cranes specially adapted for use in particular purposes
    • B66C23/36Cranes comprising essentially a beam, boom, or triangular structure acting as a cantilever and mounted for translatory of swinging movements in vertical or horizontal planes or a combination of such movements, e.g. jib-cranes, derricks, tower cranes specially adapted for use in particular purposes mounted on road or rail vehicles; Manually-movable jib-cranes for use in workshops; Floating cranes
    • B66C23/42Cranes comprising essentially a beam, boom, or triangular structure acting as a cantilever and mounted for translatory of swinging movements in vertical or horizontal planes or a combination of such movements, e.g. jib-cranes, derricks, tower cranes specially adapted for use in particular purposes mounted on road or rail vehicles; Manually-movable jib-cranes for use in workshops; Floating cranes with jibs of adjustable configuration, e.g. foldable
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04GSCAFFOLDING; FORMS; SHUTTERING; BUILDING IMPLEMENTS OR AIDS, OR THEIR USE; HANDLING BUILDING MATERIALS ON THE SITE; REPAIRING, BREAKING-UP OR OTHER WORK ON EXISTING BUILDINGS
    • E04G21/00Preparing, conveying, or working-up building materials or building elements in situ; Other devices or measures for constructional work
    • E04G21/14Conveying or assembling building elements
    • E04G21/16Tools or apparatus
    • E04G21/22Tools or apparatus for setting building elements with mortar, e.g. bricklaying machines
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33099Computer numerical control [CNC]; Software control [SWC]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37275Laser, interferometer
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37288Tracking lasers follow object, reflection gives 3-D position
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37388Acceleration or deceleration, inertial measurement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39172Vehicle, coordination between manipulator arm and its moving vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40269Naturally compliant robot arm
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40298Manipulator on vehicle, wheels, mobile
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40513Planning of vehicle and of its manipulator arm
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40519Motion, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40629Manipulation planning, consider manipulation task, path, grasping
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42318Using two, more, redundant measurements or scales to detect bad function
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42329Defective measurement, sensor failure
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45063Pick and place manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45086Brick laying, masonry robot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0248Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

一种用于在物理环境内执行交互的系统,该系统包括:机器人底座,其相对于环境进行移动;机器人臂,其安装到机器人底座,该机器人臂包括安装在其上的末端执行器;第一跟踪系统,其测量机器人底座定位;第二跟踪系统,其测量机器人底座的移动;以及,控制系统,其使用机器人底座定位来至少部分地控制机器人臂以沿着末端执行器路径移动末端执行器,其中控制系统:至少部分地使用来自第一跟踪系统的信号来确定机器人底座定位;并且,在第一跟踪系统发生故障的情况下:使用来自第二跟踪系统的信号确定机器人底座定位;并且,控制机器人臂以降低的末端执行器速率沿着末端执行器路径移动末端执行器。

Description

交互系统的备份跟踪
优先权文件
本申请要求来自于2018年7月16日提交的标题为“BACKUP TRACKING FOR ANINTERACTION SYSTEM”的第2018902557号澳大利亚临时申请的优先权,该临时申请的内容据此通过引用以其整体并入。
发明背景
本发明涉及用于在物理环境内执行交互的系统和方法,并且在一个特定示例中,涉及结合用于跟踪机器人底座与环境之间的相对移动的备份跟踪系统的系统和方法。
现有技术的描述
在本说明书中对任何现有的出版物(或来源于其的信息)或对已知的任何事物的提及不被视为并且不应被视为对现有的出版物(或来源于其的信息)或已知的事物形成本说明书所涉及的奋斗领域中的公知常识的一部分的承认或认可或任何形式的暗示。
已知提供了其中安装在移动机器人底座上的机器人臂用于在物理环境内执行交互的系统。例如,WO 2007/076581描述了一种用于由多个砖块建造建筑物的自动砌砖系统,其包括设置有砌砖和粘合剂施加头的机器人、测量系统和向机器人提供控制数据以在预定位置处铺设砖块的控制器。测量系统实时测量头部的定位,并为控制器产生定位数据。控制器基于定位数据和头部的预定或预编程定位之间的比较产生控制数据,以针对建造中的建筑物在预定定位处铺设砖块。控制器可以控制机器人以逐层(course by course)方式建造建筑物,其中砖块顺序地铺设在它们相应的预定定位处,并且其中在为下一层铺设砖块之前,为整个建筑物铺设完整一层的砖块。
WO 2007/076581中描述的布置在解决与长吊臂由于重力、风、末端执行器的运动和吊臂的运动而偏转相关联的问题方面取得了很大进展。然而,即使采用WO 2007/076581中描述的布置,特别是当与机器人的底座和末端执行器的距离增加时,末端执行器的定位误差仍然会发生。
本发明的概述
在一个宽泛的形式中,本发明的一个方面寻求提供一种用于在物理环境内执行交互的系统,该系统包括:机器人底座,该机器人底座相对于环境进行移动;机器人臂,该机器人臂安装到机器人底座,该机器人臂包括安装在其上的末端执行器;第一跟踪系统,该第一跟踪系统测量指示机器人底座相对于环境的定位的机器人底座定位;第二跟踪系统,该第二跟踪系统测量机器人底座的移动;以及控制系统,该控制系统使用机器人底座定位来至少部分地控制机器人臂以沿着末端执行器路径移动末端执行器,并且其中,控制系统:至少部分地使用来自第一跟踪系统的信号来确定机器人底座定位;并且,在第一跟踪系统发生故障的情况下:使用来自第二跟踪系统的信号确定机器人底座定位;并且,控制机器人臂以降低的末端执行器速率(speed)沿着末端执行器路径移动末端执行器。
在一个实施例中,该系统包括机器人底座致动器,该机器人底座致动器相对于环境移动机器人底座,并且其中,控制系统使用机器人底座定位来至少部分地控制机器人底座致动器以沿着机器人底座路径移动机器人底座,并且其中,在第一跟踪系统发生故障的情况下:使用来自第二跟踪系统的信号来确定机器人底座定位;并且,控制机器人底座致动器以降低的机器人底座速率沿着机器人底座路径移动机器人底座。
在一个实施例中,控制系统基于以下项中的至少一项来检测第一跟踪系统的故障:来自第一跟踪系统的信号丢失;来自第一跟踪系统的误差信号;以及基于经测量的机器人底座定位和预期的或先前的机器人底座定位之间的差的机器人底座偏差是否超过阈值。
在一个实施例中,在第一跟踪系统发生故障的情况下,控制系统执行以下项中的至少一项:逐渐降低机器人底座速率;在预定时间段之后停止机器人底座的移动;逐渐降低末端执行器速率;并且在预定时间段之后停止末端执行器的移动。
在一个实施例中,在第一跟踪系统发生故障的情况下,控制系统使用来自第二跟踪系统的信号来控制第一跟踪系统,以试图恢复第一跟踪系统。
在一个实施例中,末端执行器根据末端执行器路径速度(velociy)分布图沿着末端执行器路径移动,并且其中控制系统通过缩放末端执行器路径速度分布图来降低末端执行器速率。
在一个实施例中,机器人底座根据机器人底座路径速度分布图沿着机器人底座路径移动,并且其中,控制系统通过缩放机器人底座路径速度分布图来降低机器人底座速率。
在一个实施例中,第一跟踪系统包括:跟踪底座,其包括多个跟踪头部,每个跟踪头部具有:辐射源,该辐射源被布置成向目标发送辐射束;底座传感器,该底座传感器感测反射的辐射;以及,底座跟踪系统,其:跟踪目标的定位;控制跟踪器头部的定向以跟随目标;并且使用角度传感器确定头部的定向;目标系统,该目标系统包括安装到机器人底座的多个目标,每个目标包括反射器,该反射器将辐射束反射到各自的跟踪头部的底座传感器;其中,第一跟踪系统根据来自传感器的信号确定机器人底座的定位。
在一个实施例中,第一跟踪系统包括:跟踪底座,该跟踪底座包括跟踪器头部,该跟踪器头部具有:辐射源,该辐射源被布置成向目标发送辐射束;底座传感器,该底座传感器感测反射的辐射;以及,底座跟踪系统,其:跟踪目标的定位;控制跟踪器头部的定向以跟随目标;以及,使用角度传感器确定头部的定向;以及,目标,该目标包括:目标传感器,该目标传感器感测辐射束;以及目标跟踪系统,其:跟踪目标底座的定位;控制目标的定向以跟随跟踪器头部;以及,使用角度传感器确定目标的定向;以及,跟踪器处理系统,该跟踪器处理系统根据来自传感器的信号确定跟踪器底座和目标的相对定位。
在一个实施例中,控制系统:计算延伸到末端执行器目的地的末端执行器路径;基于末端执行器路径生成机器人控制信号;以及,将机器人控制信号施加到机器人臂,以使末端执行器根据末端执行器路径移动。
在一个实施例中,控制系统:使用来自第一跟踪系统的信号确定当前机器人底座定位;以及,基于末端执行器路径和当前机器人底座定位生成机器人控制信号。
在一个实施例中,控制系统计算在以下至少一个中的末端执行器路径:环境坐标系;和机器人底座坐标系。
在一个实施例中,控制系统重复地:基于机器人底座定位和预期的机器人底座定位计算机器人底座偏差;基于机器人底座偏差计算校正,该校正指示路径修改;以及,根据校正生成控制信号。
在一个实施例中,控制系统:使用当前机器人底座定位和末端执行器路径计算机器人臂运动学;以及,基于末端执行器路径和所计算的机器人臂运动学生成机器人控制信号。
在一个实施例中,当前机器人底座定位指示机器人臂运动学的原点,并且机器人底座定位是在环境坐标系中确定的,从而允许机器人臂在环境坐标系中被控制。
在一个实施例中,控制系统重复地:基于当前机器人底座定位计算末端执行器路径;以及,基于末端执行器路径生成机器人控制信号。
在一个实施例中,控制系统至少部分地使用基准机器人底座定位来计算末端执行器路径,基准机器人底座定位指示以下项中的至少一项:当前机器人底座定位;基于机器人底座从当前机器人底座定位开始的移动的预测的机器人底座定位;基于机器人底座沿着机器人底座路径的移动的预测的机器人底座定位;以及,在末端执行器到达末端执行器目的地时的预想的机器人底座定位。
在一个实施例中,控制系统执行以下操作:确定相对于机器人底座偏移并且至少部分地根据末端执行器定位来定义的虚拟机器人底座定位;并且,使用虚拟机器人底座定位来执行以下项中的至少一项:计算机器人底座路径;以及生成机器人底座致动器控制信号。
在一个实施例中,虚拟机器人底座定位与基准末端执行器定位一致,基准末端执行器定位是以下中至少一个:操作定位,其指示在环境中执行交互时末端执行器的定位;操作前定位,其指示在环境中开始交互之前末端执行器的定位;和默认定位,其指示在环境中执行交互之后末端执行器的定位。
在一个实施例中,第一跟踪系统测量指示被安装在机器人底座上的目标的定位的目标定位,并且控制系统通过将目标定位变换成虚拟机器人底座定位来使用目标定位确定虚拟机器人底座定位。
在一个实施例中,控制系统执行以下操作:获取多个末端执行器目的地的指示;至少部分地使用来自第一跟踪系统的信号确定机器人底座定位;根据末端执行器目的地计算从机器人底座定位延伸的机器人底座路径,机器人底座路径被配置为允许机器人底座根据定义的机器人底座路径速度分布图沿着机器人底座路径的连续移动;基于机器人底座路径生成机器人底座控制信号;和,将机器人底座控制信号施加到机器人底座致动器,以使机器人底座根据机器人底座路径速度分布图沿着机器人底座路径移动。
在一个实施例中,至少包括以下之一:机器人底座路径不包括任何间断;而且,机器人底座路径速度分布图不包括任何不连续的速度变化。
在一个实施例中,控制系统执行以下操作:定义交互窗口;和至少部分地使用交互窗口来确定机器人底座路径。
在一个实施例中,控制系统执行以下操作:监测末端执行器交互;和,根据监测的结果,选择性地修改机器人底座控制信号,以使机器人底座以低于机器人底座路径速度分布图的机器人底座速度移动。
在一个实施例中,机器人底座路径包括与每个末端执行器目的地相关联的交互窗口,并且其中,当机器人底座进入交互窗口时,控制系统执行以下操作:控制机器人臂以开始进行交互和末端执行器沿着末端执行器路径到末端执行器目的地的移动中的至少一项;以及,通过确定在机器人底座接近交互窗口的出口时交互是否将完成来监测交互;以及,逐渐降低机器人底座速度,以确保在机器人底座到达交互窗口的出口时交互完成。
在一个实施例中,机器人底座是静态的,以及环境相对于机器人底座移动。
在一个实施例中,控制系统考虑以下中的至少一项来生成机器人控制信号:末端执行器速度分布图;机器人动力学;以及,机器人运动学。
在一个实施例中,控制系统包括计算机数控系统。
在一个实施例中,控制系统执行以下项中的至少一项:针对控制系统的处理周期重复步骤;针对控制系统的连续处理周期重复步骤;以及,基于第一跟踪系统和第二跟踪系统中的至少一个的刷新速率重复步骤。
在一个实施例中,机器人底座包括被安装到吊臂的头部。
在一个实施例中,吊臂附接到交通工具。
在一个实施例中,系统用于以下中的至少一项:在环境中定位物体或材料;从环境中取回物体或材料;以及,修改在环境中的物体或材料。
在一个实施例中,环境是以下中的至少一项:建筑工地;施工现场;以及,交通工具。
在一个实施例中,第二跟踪系统是以下项中的至少一项:惯性跟踪系统;和惯性测量单元(IMU)。
在一个宽泛的形式中,本发明的一个方面寻求提供一种用于使用系统在物理环境内执行交互的方法,该系统包括:机器人底座,该机器人底座相对于环境进行移动;机器人臂,该机器人臂安装到机器人底座,该机器人臂包括安装在其上的末端执行器;第一跟踪系统,该第一跟踪系统测量指示机器人底座相对于环境的定位的机器人底座定位;第二跟踪系统,该第二跟踪系统测量机器人底座的移动;以及控制系统,该控制系统使用机器人底座定位来至少部分地控制机器人臂以沿着末端执行器路径移动末端执行器,并且其中,该方法包括,在控制系统中:至少部分地使用来自第一跟踪系统的信号来确定机器人底座定位;以及,在第一跟踪系统发生故障的情况下:使用来自第二跟踪系统的信号来确定机器人底座定位;以及,控制机器人臂以降低的末端执行器速率沿着末端执行器路径移动末端执行器。
在一个宽泛的形式中,本发明的一个方面寻求提供一种包括计算机可执行代码的计算机程序产品,当该计算机可执行代码由适当编程的控制系统执行时,使控制系统控制用于在物理环境内执行交互的系统,该系统包括:机器人底座,该机器人底座相对于环境进行移动;机器人臂,该机器人臂安装到机器人底座,该机器人臂包括安装在其上的末端执行器;第一跟踪系统,该第一跟踪系统测量指示机器人底座相对于环境的定位的机器人底座定位;以及,第二跟踪系统,该第二跟踪系统测量机器人底座的移动,并且其中,控制系统使用机器人底座定位来至少部分地控制机器人臂以沿着末端执行器路径移动末端执行器,并且其中,控制系统:至少部分地使用来自第一跟踪系统的信号来确定机器人底座定位;以及,在第一跟踪系统发生故障的情况下:使用来自第二跟踪系统的信号来确定机器人底座定位;以及,控制机器人臂以降低的末端执行器速率沿着末端执行器路径移动末端执行器。应当理解,本发明的宽泛形式及其各自的特征可以结合使用和/或独立使用,并且对单独的宽泛形式的提及并不旨在进行限制。
附图简述
现在将参考附图来描述本发明的各个示例和实施例,在附图中:-
图1A是示出用于在物理环境内执行交互的系统的第一示例的示意图;
图1B是用于在物理环境内执行交互的系统的第二示例的示意图;
图1C是图1B的系统的示意性平面视图;
图2是用于图1A至图1C中的系统的控制系统的示例的示意图;
图3是用于执行物理交互的过程的示例的流程图;
图4是机器人底座跟踪过程的示例的流程图;
图5A是示出图4的机器人底座跟踪过程的示例的示意图;
图5B是示出图4的机器人底座跟踪过程的示例的示意性平面视图;
图6是用于计算机器人底座路径的过程的示例的流程图;
图7A至图7G是示出用于计算机器人底座路径的过程的示例的示意图;
图8A至图8E是示出在交互窗口中执行的交互的示例的示意图;
图9是用于根据计算的机器人底座路径控制机器人底座移动的过程的示例的流程图;
图10是用于控制机器人臂以提供末端执行器稳定的过程的第一示例的流程图;
图11A和图11B是示出图10中的提供处于静止定位的末端执行器的控制过程的示例的示意图;
图11C和图11D是示出图10中的使末端执行器沿着末端执行器路径移动的控制过程的示例的示意图;
图11E和图11F是示出图10中的使机器人底座沿着机器人底座路径以及使末端执行器沿着末端执行器路径移动的控制过程的示例的示意图;
图12是用于控制机器人臂以提供末端执行器稳定的过程的第二示例的流程图;
图13A至图13C是示出图12中的提供处于静止定位的末端执行器的控制过程的示例的示意图;
图14是用于控制机器人臂以提供末端执行器稳定的过程的第三示例的流程图;
图15A和图15B是示出图14中的提供处于静止定位的末端执行器的控制过程的示例的示意图;
图15C和图15D是示出图14中的使末端执行器沿着末端执行器路径移动的控制过程的示例的示意图;
图15E和图15F是示出图14中的使机器人底座沿着机器人底座路径移动以及使末端执行器沿着末端执行器路径移动的控制过程的示例的示意图;
图16A至图16C是末端执行器和机器人底座的控制过程的特定示例的流程图;
图17是跟踪系统故障控制过程的示例的流程图;
图18是跟踪系统故障检测过程的示例的流程图;
图19是根据第一实施例的本发明的实现方式的示意图;
图20是根据第二实施例的本发明的实现方式的示意图;
图21是根据本发明的实施例的用于交互以控制在吊臂的末端上的末端执行器的定位的跟踪器系统的视图;
图22是根据本发明的实施例的用于交互以控制在吊臂的末端上的末端执行器的定位的跟踪器系统的视图;
图23是示出当末端执行器的稳定性在基于地面的第一状态和基于机器的第二状态之间切换时运动的衰减的实现方式的曲线图;
图24是示出显示了基于机器的第二状态操作的实施例的操作的视图;
图25是示出图24中的实施例的操作切换到基于地面的第一状态操作的视图;
图26是示出实施例的使用的顶视图,该实施例是合并本发明的控制系统的用于沿着高速公路/快车道建造隔音墙的移动砌砖机;
图27是示出具有被安装到石油钻机上的机器人臂的用于从遭受海洋涌浪中的运动的船只转移物品的吊臂的使用的侧视图;以及
图28是在图27中示出的实施例的细节的视图;以及
图29是示出具有被安装到石油钻机上的机器人臂的用于从遭受海洋涌浪中的运动的补给船只转移物品的吊臂的使用的视图。
优选实施例的详细描述
以下描述解释了用于在环境内执行交互的许多不同系统和方法。出于说明的目的,以下定义适用于通篇使用的术语。
术语“交互”旨在指在环境内发生的任何物理交互,并且包括与环境发生的物理交互或在环境上发生的物理交互。示例交互可以包括将材料或物体放置在环境内、从环境中移除材料或物体、移动环境内的材料或物体、修改、操纵或以其他方式与环境内的材料或物体接合、修改、操纵或以其他方式与环境接合等。从下面的描述中,交互的另外示例将变得明显,并且将认识到,这些技术可以扩展到广泛的不同交互,并且指定的示例不旨在进行限制。此外,在一些示例中,交互可以包括一个或更多个不同的步骤。例如,当砌砖时,交互可以包括以下步骤:从砖块供应机构取回砖块以及然后将砖块放置在环境中。
术语“环境”是用来指在其内或其上执行交互的任何位置、区块、区域或体积。环境的类型和性质将根据优选的实现方式而变化,并且环境可以是离散的物理环境和/或可以是逻辑物理环境,仅仅因为其是发生交互所在的体积而从周围环境中描绘出来。环境的非限制性示例包括建筑物或施工现场、交通工具的部件,例如轮船甲板或卡车的装载托盘、工厂、装载现场、地面工作区域等,并且下面将更详细地描述另外的示例。
机器人臂是可编程机械操纵器。在本说明书中,机器人臂包括多轴关节臂、并联运动学机器人(例如Stewart平台、Delta机器人)、球形几何机器人、笛卡尔机器人(具有直线运动的正交轴机器人)等。
吊臂是长形支撑结构,例如具有或不具有杆或铲斗、具有或不具有伸缩元件的回转吊臂、伸缩吊臂、伸缩铰接式吊臂。示例包括起重机吊臂、推土机吊臂、卡车起重机吊臂,其都具有或都不具有线缆支撑的或线缆加固的元件。吊臂还可以包括高架门架(overheadgantry)结构或悬臂门架(cantilevered gantry)或受控拉伸桁架(吊臂可以不是吊臂,而是多线缆支撑的并联运动学起重机(见PAR系统,拉伸桁架-Chernobyl起重机))或可在空间中平移定位的其他可移动臂。
末端执行器是被设计成与环境交互的在机器人臂的末端处的设备。末端执行器可以包括夹持器、喷嘴、喷砂器、喷枪、扳手、磁铁、焊炬、割炬、锯、铣刀、镂铣刀(routercutter)、液压剪机、激光器、铆接工具等等,并且对这些示例的提及并非旨在进行限制。
TCP是工具中心点的缩写。这是在末端执行器(或工具)上的位置,末端执行器的定位和定向定义了受控物体的坐标。它通常位于运动学链的远端处。运动学链指在机器人臂的底座和末端执行器之间的连杆及它们的关节的链。
CNC是计算机数控的缩写,用于通过计算机/处理器/微控制器执行的预先编程的机器控制命令的序列来实现机器的自动化。
在CNC控制系统内的坐标变换的应用通常被执行,以允许按照方便的坐标系编程。它也被执行以允许当工件被夹持在CNC加工中心上的虎钳或夹具中时对工件定位误差的校正。
这些坐标变换通常在静态意义上被应用,以考虑静态坐标转换(shift)或校正静态误差。
机器人和CNC机器按照方便的笛卡尔坐标系被编程,且使用运动学变换来将笛卡尔坐标转换为关节定位,以移动机器人或CNC机器的姿势。
实时地测量靠近TCP的机器人臂末端执行器的定位提高了机器人的准确度。这在用于探测和钻孔的机器人上的静态末端执行器上被执行。这通过以下的多步骤过程来实现:移动到所编程的定位、进行定位测量、计算校正向量、将补偿向量添加到所编程的定位以及然后将TCP移动到新定位。这个过程不是硬实时地完成的,且依赖于静态机器人臂姿势。
现在将参考图1A至图1C和图2描述用于在物理环境内执行交互的系统的示例。
在图1A的示例中,系统100包括机器人组件110,机器人组件110包括机器人底座111、机器人臂112和末端执行器113。机器人组件110相对于环境E定位,在该示例中,环境E被示为2D平面,但是在实践中可以是任何配置的3D体积。在使用中,末端执行器113用于在环境E内执行交互,例如执行砌砖、物体操纵等。
系统100还包括跟踪系统120,其能够跟踪机器人组件的移动,并且在一个特定示例中,跟踪机器人底座相对于环境的移动。在一个示例中,跟踪系统包括通常相对于环境E静态定位的跟踪器底座121和安装在机器人底座111上的跟踪器目标122,允许确定机器人底座111相对于环境E的定位。在其它布置中,末端执行器113的移动可以代替机器人底座111或者除了机器人底座111之外被跟踪。此外,跟踪器底座可以定位在机器人组件110上,以便与其一起移动,并且跟踪器目标可以相对于环境E静态定位。
在一个示例中,跟踪系统120包括跟踪底座121,该跟踪底座121包括跟踪器头部和底座传感器,该跟踪器头部具有被布置成向目标122发送辐射束的辐射源,该底座传感器感测反射的辐射。提供了跟踪目标122的定位并控制跟踪器头部的定向以跟随目标122的底座跟踪系统。在一个示例中,目标122包括感测辐射束的目标传感器和对跟踪底座的定位进行跟踪并且控制目标的定向以跟随跟踪器头部(即,主动目标)的目标跟踪系统。在其它示例中,目标122是确实跟随跟踪器头部的被动仪器。在跟踪器头部中设置角度传感器,该角度传感器确定头部的定向(例如,仰角和方位角)。可选地,也在目标中设置角度传感器,该角度传感器确定目标的定向。处理系统根据来自传感器的信号确定目标相对于跟踪器底座的定位,特别是使用来自角度传感器的信号来确定跟踪器和目标之间的相对角度,同时可以使用辐射束的飞行时间来确定物理间隔,从而允许确定目标相对于跟踪底座的定位。在另一示例中,辐射可以被极化,以便允许确定目标相对于跟踪底座的侧倾角(roll angle)。
尽管示出了包括跟踪器头部和目标的单个跟踪系统120,但是这不是必需的,并且在其它示例中,可以提供多个跟踪系统和/或目标,这将在下面更详细地描述。在一些示例中,跟踪系统可以包括定位在机器人组件上的跟踪器头部,该跟踪器头部被配置成跟踪位于环境中的一个或更多个目标。
在一个特定的示例中,跟踪系统是激光跟踪系统,并且示例布置由API(Radian和OT2可选地与STS(智能跟踪传感器))、Leica(AT960和可选的Tmac)和Faro制造。这些系统以300Hz、或1kHz或2kHz(取决于装备)测量定位,并且依赖于感测布置的组合(包括激光跟踪、使用2D相机的视觉系统、加速度计数据(例如来自倾斜传感器或INS(惯性导航系统)的加速度计数据)),并且可以用于对定位进行精确测量,其中从激光跟踪器和可选的主动目标获得的数据等同于主动目标相对于环境E的定位和可选的定向。由于这样的系统是已知的并且是商业上可获得的,因此将不再进一步详细描述这样的系统。
还将认识到,其他定位/移动传感器(例如惯性测量单元(IMU))也可以被结合到系统中,这将在下面更详细地描述。
在实践中,在上述示例中,机器人底座111相对于环境E进行移动。移动的性质将根据优选的实施方式而变化。例如,机器人底座111可以安装在轨道、轮子或类似物上,允许其在环境E内移动。
提供与跟踪系统120和机器人组件110通信的控制系统130,允许基于从跟踪系统接收的信号来控制机器人组件。控制系统通常包括一个或更多个控制处理器131和一个或更多个存储器132。为了便于说明,其余的描述将参考一个处理设备和一个存储器,但是将认识到,可以使用多个处理设备和/或存储器,其中对单数的提及包含复数布置。在使用中,存储器存储通常以应用软件或固件的形式的控制指令,软件或固件由处理器131执行,允许来自跟踪系统120和机器人组件110的信号被解释并被用于控制机器人组件110以允许交互被执行。
图2中更详细地示出了控制系统130的示例。
在该示例中,控制系统230耦合到机器人臂控制器210、跟踪系统控制器220和吊臂控制器240。这通常经由合适的通信网络来执行,该合适的通信网络包括有线网络或无线网络,并且更通常是以太网(Ethernet)或以太网络(Ethercat network)。机器人臂控制器210耦合到机器人臂致动器211和末端执行器致动器212,它们能够分别控制机器人臂112和末端执行器113的定位。跟踪系统控制器220耦合到跟踪头221和目标222,允许跟踪系统被控制,以及跟踪头部221和目标222的相对定位被确定并返回到控制系统230。吊臂控制器240通常耦合到吊臂致动器241、242,吊臂致动器241、242可用于定位吊臂并因此定位机器人底座。还可以提供第二跟踪系统225,其包括传感器226,例如惯性传感器,可选地耦合到控制器或处理器。要理解的是,在实践中,机器人臂、末端执行器和吊臂将具有多个致动器(例如伺服电机、液压缸等),以实现它们相应的轴(即关节)的移动,并且对单个致动器的提及并非旨在进行限制。
机器人臂控制器210、跟踪系统控制器220、第二跟踪系统225和吊臂控制器240中的每一者通常包括电子处理设备,其与存储的指令一起操作,并且操作来解释由控制系统230提供的命令,并且针对相应的致动器和/或跟踪系统生成控制信号和/或从传感器接收信号,并且向控制系统230提供相关数据。电子处理设备可以包括任何电子处理设备,例如微处理器、微芯片处理器、逻辑门配置、可选地与实现逻辑(例如FPGA(现场可编程门阵列))相关联的固件、或者任何其他电子设备、系统或布置。将要认识到,机器人臂控制器210、跟踪系统控制器220和吊臂控制器240通常分别形成吊臂组件、机器人组件和跟踪系统的一部分。因为这些系统的操作在本领域中将会被理解,所以将不再详细描述这些。
控制系统230通常包括电子处理设备231、存储器232、输入/输出设备233和接口234,它们可用于将控制系统230连接到机器人臂控制器210、跟踪系统控制器220和吊臂控制器240。尽管示出了单个外部接口,但这仅仅是出于示例的目的,并且实际上可以提供使用各种方法(例如以太网、串行、USB、无线等)的多个接口。
在使用中,处理设备231执行存储在存储器232中的应用软件形式的指令,以允许所需的过程被执行。应用软件可以包括一个或更多个软件模块,并且可以在合适的执行环境(例如操作系统环境等)中被执行。
因此,将要认识到,控制系统230可以由任何合适的处理系统(例如合适编程的PC、计算机服务器等)形成。在一个特定示例中,控制系统230是标准处理系统,例如基于英特尔架构的处理系统,其执行存储在非易失性(例如硬盘)存储装置上的软件应用,但是这不是必需的。然而,还将理解的是,处理系统可以是任何电子处理设备,例如微处理器、微芯片处理器、逻辑门配置、可选地与实现逻辑(例如FPGA(现场可编程门阵列))相关联的固件、或者任何其他电子设备、系统或布置。
还将认识到,上述布置仅是出于说明的目的,并且在实践中可以使用广泛的不同系统和相关联的控制配置。例如,将认识到,控制器和/或控制系统之间处理的分布可以根据优选实现方式而变化。
出于以下示例的目的,将参考相对于环境E静止的环境坐标系ECS和相对于机器人底座111静止的机器人底座坐标系RBCS。此外,一些示例将参考机器人底座致动器坐标系BACS,该机器人底座致动器坐标系BACS是用于控制机器人底座的移动(例如控制吊臂组件的移动)的坐标系。
在实践中,在上述示例中,机器人底座111相对于环境E进行移动。移动的性质将根据优选的实施方式而变化。例如,机器人底座111可以是静止的,而环境E是移动的。这方面的一个很好的示例是,当机器人臂被设置在码头上并且试图与船的甲板上存在的物体交互时,船的甲板经历相对于码头的移动。然而,将要认识到,类似的相对移动将在一系列不同的情况下出现。
替代地,在图1B所示的示例中,机器人底座111由机器人底座致动器140支撑,该机器人底座致动器140可用于移动机器人底座。在这个示例中,机器人底座致动器是吊臂组件的形式,其包括吊臂底座141、吊臂142和杆143。吊臂通常是可控的,允许机器人底座的定位和/或定向被调整。可用的移动类型将根据优选的实现方式而变化。例如,吊臂底座141可以被安装在交通工具上,允许其被定位并可选地被旋转到期望的定位和定向。吊臂142和杆143可以是伸缩布置,包括多个伸缩吊臂或杆构件,允许吊臂或杆的长度被调整。此外,吊臂底座141和吊臂142之间以及吊臂142和杆143之间的角度可以例如使用液压致动器被控制,允许机器人底座111以相对于环境E的期望定位被设置。这样的操作通常在机器人底座致动器坐标系BACS中执行,尽管这不是必需的,这将从剩余的描述中变得明显。
WO 2018/009981中描述了这种形式的砌砖系统的示例,其内容通过交叉引用被并入本文。然而,将认识到,这样的布置不限于砌砖,而是也可以用于其他形式的交互。
根据实现方式,吊臂组件可以具有显著的长度,因此例如在建造应用的情况下,吊臂可能需要延伸横跨施工现场,并且可以具有几十米的长度。在这样的情况下,吊臂通常承受各种载荷,包括由吊臂和/或机器人臂的移动、风载荷、机械振动等产生的力,这些力又会在吊臂的末端诱发振动或其他移动,进而导致机器人底座相对于环境移动。这种移动通常将被称为无意移动。另外,如上所述,可以通过主动地移动吊臂而使机器人底座以受控方式移动,并且这种移动通常将被称为有意移动。
在任何情况下,将认识到,在上述两个示例中,机器人底座相对于环境移动,因而机器人底座坐标系RBCS相对于环境坐标系ECS移动,这显著地复杂化了为了在环境内执行交互的控制过程、且特别是使末端执行器被精确定位的能力。在这点上,在正常机器人应用中,末端执行器在机器人底座坐标系RBCS中被控制,同时末端执行器需要在环境坐标系ECS中被定位,并且由于移动导致两个坐标系相对于彼此移动,这使得很难精确定位末端执行器。
现在将参照图3描述用于在环境E内执行交互的过程的示例。
出于以下解释的目的,将提及术语“目的地”。该术语旨在指末端执行器113将被设置的定位和可选的定向(其组合称为姿势),或者作为执行交互的一部分,或者是其他方式。例如,目的地可以对应于环境内将要发生交互的位置。然而,这不是必需的,替代地,目的地可以对应于末端执行器应该经过的任何定位,其实际上定义了通向最终目的地的多个目的地。例如,交互可以包括末端执行器移动的序列,它们可选地形成不同步骤的一部分,以及术语目的地可以指形成不同步骤的一部分的任何定位。因此,术语目的地应被解释为指末端执行器将被定位的任何特定点,并且在一些示例中,目的地可以是(例如当执行其他过程时)末端执行器将被保持一段时间的静态点,而在其他情况下,目的地可以是暂时的并且对应于末端执行器将遍历的路径上的点。
在该示例中,在步骤300处,一个或更多个目的地定位被确定。实现这一步骤的方式将根据优选实现方式而变化。在一个示例中,目的地可以从数据库或其他数据存储装置中检索,从另一处理系统接收,基于来自传感器的信号或用户输入命令等来确定。例如,末端执行器目的地可以从规划图(plan)(例如建筑物的建造规划图)中导出,在这种情况下,规划图可以被检索并且目的地可以从该规划图中导出。在这点上,建造规划图可以识别为了建造建筑物物体(例如砖块)要被放置的定位。在本示例中,可以简单地从规划图中检索目的地定位。
然而,这不是必需的,并且替代地,目的地定位可能需要以其他方式被确定。例如,可能必需从环境中取回物体,在这种情况下,末端执行器的目的地对应于物体定位。在该示例中,物体定位可能事先是不知道的,在这种情况下,物体的定位可能需要例如使用基于相机的视觉系统或其他定位化(localisation)系统来检测,允许被检测到的定位被使用以便定义目的地定位。在这点上,物体可以是静止的或移动的,这意味着尽管目的地相对于环境坐标系ECS通常是静止的,但是在一些示例中,目的地可以是移动的。
还将认识到,目的地可以以其他适当的方式被确定,并且上述示例并不旨在进行约束。
在步骤310处,可选地,允许机器人底座111移动的机器人底座路径被规划。例如,在机器人底座111静止或已经被定位的情况下,可能不需要机器人底座路径。然而,将要认识到,机器人底座路径可以用于将机器人底座111移动到环境E内的或相对于环境E的不同定位,以便允许末端执行器113更方便地被设置在各自的目的地处。计算底座路径的方式将根据优选实现方式而变化,并且下面将更详细地描述示例。
在步骤320处,末端执行器路径被规划以将末端执行器113移动到目的地。末端执行器路径通常是基于机器人底座111相对于环境E的所规划的或理想的定位来规划的,例如考虑机器人底座111沿着机器人底座路径的移动。末端执行器路径可以从末端执行器113的预期先前定位(例如在先前交互或其他步骤完成之处)延伸,或者可以基于当前末端执行器定位实时计算。将认识到,在目的地是基于当前定位的情况下,末端执行器路径可以是零长度的零(null)路径,其中这用于相对于环境E静态地定位末端执行器113的目的。
在步骤330处,例如通过控制吊臂组件140或另一种形式的机器人底座致动器,机器人底座111可选地基于机器人底座路径移动。该过程通常在机器人底座致动器坐标系BACS中被执行,但是这不是必需的,并且机器人底座路径规划和/或对机器人底座移动的控制可以在其它坐标系中被执行。在该过程期间和/或之后,在步骤340处,执行末端执行器移动的开始,使得末端执行器开始沿着末端执行器路径移动,假设这是需要的。该过程通常在机器人底座坐标系RBCS中被执行,但是这不是必需的,并且末端执行器路径规划和/或控制可以在其它坐标系中被执行。
当末端执行器113的移动被执行时,或者相反如果末端执行器113相对于环境E保持在静止定位处,则在步骤350处使用跟踪系统120来监测机器人底座的移动,以连续检测机器人底座111相对于环境E的定位。这用于在步骤360处例如通过调整机器人臂的姿势来调整末端执行器移动,以确保到达目的地定位。
在这点上,机器人底座可能由于环境的变动或由于吊臂的振动或风载荷等导致的机器人底座的意外移动而相对于环境E进行无意移动。这样的运动意味着,例如由于机器人底座111偏离计算出的机器人底座路径,机器人底座可能不会被设置在相对于环境的预期的或理想的定位中。在该示例中,通过监测机器人底座111的移动,可以校正这样的移动,确保末端执行器沿着末端执行器路径正确移动到目的地定位。
因此,在一个示例中,机器人底座致动器用于提供粗略定位系统,而机器人臂提供精细定位系统,以允许末端执行器相对于环境被精确定位。操作由控制系统控制,该控制系统使用跟踪系统实时测量机器人底座的定位和可选地测量机器人底座的定向,机器人底座的测量的定位(和定向)被用于计算偏移,该偏移作为定位变换被添加到精细定位机构的相对定位,使得末端执行器相对于环境被正确定位。因此,可以使用较大且相对较轻且柔性的结构来近似定位快速且精确的精细定位机构,该精细定位机构可以实时地被精确控制,允许末端执行器以精确且快速的运动相对于环境移动。
这种操作形式被申请人称为动态稳定技术(DST),并在包括US-8,166,727、WO2009/026641、WO2009/026642、WO2018/009981和WO2018/009986在内的在先出版物中进行了描述,这些出版物的内容通过交叉引用并入本文。
还将认识到,DST也可以用于考虑机器人底座的有意移动,例如考虑在执行交互时机器人底座111可能正在遍历机器人路径的事实。
现在将进一步详细描述上述系统的多个不同方面的示例。根据优选的实现方式,系统的这些不同方面可以独立使用或者可以结合使用。由此将认识到的是,对单独方面的提及不应被认为是限制性的,并且根据优选实现方式和使用系统的场景,这些方面可以以任意数量的不同组合被使用。
在一个方面,提供了用于控制机器人底座的过程,以及现在将参考图4更详细地描述这一过程的示例。
出于该示例的目的,假设机器人底座可以使用机器人底座致动器来相对于环境移动。致动器的性质和执行方式可以根据优选实现方式而变化。在一个示例中,机器人底座致动器可以是类似于以上参考图1B和图1C所述的吊臂组件140。然而,可以提供任何形式的机器人底座致动器,并且这可以包括具有安装在交通工具上的机器人底座的交通工具,或者可以包括使用起重机或用于将机器人组件悬挂在工作环境上方的其他类似布置,或者可以包括使用例如包括轮子或轨道等的自供电机器人底座。
在该示例中,在步骤400处,控制系统获取相对于环境坐标系ECS定义的末端执行器目的地的指示。如前所述,末端执行器目的地可以以任何方式被确定,并且这可以包括基于从相对于环境定位物体的视觉系统接收的信号从规划中检索目的地等等。
在步骤410处,至少部分使用来自跟踪系统120的信号来确定跟踪目标定位。跟踪目标定位表示目标122相对于跟踪底座121以及因此相对于环境E的定位。因此,目标定位表示目标122在环境坐标系ECS中的定位。
在步骤420处,控制系统确定虚拟机器人底座定位。虚拟机器人底座定位偏离实际物理机器人底座,并且至少部分地根据末端执行器定位来定义。这方面的一个示例在图5A中被示出,图5A示出了类似于以上关于图1B所述的系统,其中通过增加了400的类似参考数字表示类似部件。
在该示例中,机器人底座511使用吊臂组件540定位,吊臂组件540具有吊臂底座541以及吊臂542和杆543。机器人底座511具有被安装在其上的跟踪器522,跟踪器522的定位使用相对于环境E设置的跟踪底座521来跟踪。在该示例中,机器人臂512被示为设置在基准定位处,其中末端执行器513设置在相对于机器人底座的基准定位处。
末端执行器基准定位可以任意定义,但是通常基于以下中的一个或更多个:指示在环境中执行交互时末端执行器513的定位的操作定位、指示在环境中开始交互之前末端执行器513的定位的操作前定位或者指示在环境中执行交互之后末端执行器513的定位的默认定位。因此,基准定位是末端执行器的典型定位,其在执行交互之前、期间或之后的某个点处被使用。
在步骤430处,控制系统(未示出)使用虚拟机器人底座定位和末端执行器目的地来计算从当前机器人底座虚拟定位延伸到末端执行器目的地的机器人底座路径。
在这点上,跟踪器目标522的定位在机器人底座致动器坐标系BACS中借助于机器人底座致动器运动学且特别是吊臂运动学以及跟踪器目标522在机器人底座511上的已知位置而是已知的。因此,由于跟踪器目标522的定位在环境坐标系ECS和机器人底座致动器坐标系BACS中是已知的,所以这可以用于允许几何变换来在这些坐标系之间变换其它定位。
此外,在该示例中,跟踪器目标522偏离基准末端执行器位置,并因此从基准机器人底座定位偏移了Z1和X1。将认识到,也可以应用其他偏移,例如,Y轴偏移以及旋转偏移也可能存在,但是为了清楚起见,在该示例中未示出。因此,这允许虚拟机器人底座定位在不同的坐标系中已知。
在步骤440处,控制系统基于计算的路径生成机器人底座控制信号,并在步骤450处使用这些信号例如通过控制吊臂组件540来移动机器人底座。
将认识到,由于控制通常在机器人底座致动器坐标系BACS中被执行,因此机器人底座路径通常在机器人底座致动器坐标系BACS中计算,在这种情况下,控制系统使用目标定位来计算在环境坐标系ECS和机器人底座致动器坐标系BACS之间的变换。具体而言,这涉及将末端执行器目的地变换成机器人底座致动器坐标系BACS,允许在机器人底座致动器坐标系BACS中计算机器人底座路径。然而,将认识到,这不是必需的,且可选地路径可以在环境坐标系ECS中被计算。
在任何情况下,在上述示例中,控制系统有效地创建虚拟机器人底座定位,该虚拟机器人底座定位是机器人底座的虚拟定位,其偏离机器人底座的物理位置,并且与末端执行器的基准定位一致。然后,当使用机器人底座致动器控制机器人底座的移动时控制系统使用该虚拟机器人底座定位,这可以有利于允许机器人底座更容易被定位,以便允许交互被执行。
例如,当计算机器人底座路径时,控制系统可以仅获取末端执行器目的地,并且然后使用该目的地以及跟踪目标定位来定义机器人底座路径,使得机器人底座遍历环境到达适于执行交互的定位。具体地,这可用于将末端执行器与末端执行器目的地对准,从而降低末端执行器路径的复杂性和对末端执行器的显著控制的需要。
这方面的一个有用示例在图5B中示出,图5B示出了一个示例,其中机器人底座致动器是被安装在充当吊臂底座的交通工具541上的吊臂组件。在这点上,当需要在环境E内执行交互时,交通工具541可以位于相对于环境E的任何点。在这种情况下,为了将末端执行器定位在目的地551处,机器人底座511必须设置在与目的地551物理偏移(偏移量为O)的定位。然而,该偏移量O根据交通工具541的定位而变化,并且必须在机器人底座致动器坐标系BACS中被计算,这可能是计算复杂的。然而,通过使用与末端执行器513对准的虚拟机器人底座定位来控制机器人底座致动器,这根据需要自动将末端执行器513与末端执行器目的地551对准,而不管交通工具相对于环境的定位如何。
因此,利用虚拟机器人底座定位来控制机器人底座511的定位意味着机器人底座511可以简单地移动,从而根据需要自动偏离目的地551。这意味着,不管机器人致动器底座且特别是吊臂底座541的初始定位如何,机器人底座511都被控制成使得末端执行器513有效地自动对准目的地。
附加地和/或替代地,这可以有助于路径规划。例如,使用与末端执行器513对准的虚拟机器人底座定位来进行对机器人底座的移动的路径规划和/或跟踪可以帮助避免末端执行器513与环境或其中提供的物体或材料的碰撞。
如所述,虚拟机器人底座定位通常被定义为与基准末端执行器定位(例如,操作定位、操作前定位或默认的操作后定位)一致。将认识到,所选择的特定末端执行器定位将根据优选实现方式而变化,并且也可以使用其他末端执行器定位。
在当前示例中,机器人底座包括被安装到吊臂上的头部,吊臂又由来自吊臂致动器底座的吊臂致动器控制。在一个特定示例中,吊臂底座附接到交通工具,虚拟机器人底座定位偏离机器人底座并且至少部分地根据末端执行器定位来进行限定,以允许交通工具被设置在相对于环境的不同定位中。
虽然以上示例集中于机器人底座定位,但将要认识到,这也可以考虑定向,在这种情况下,机器人底座姿势将被计算为虚拟机器人底座姿势,虚拟机器人底座姿势相对于机器人底座物理偏移,并且与末端执行器姿势对准。
在一个方面,提供了一种用于规划机器人底座路径的过程,以及现在将参考图6更详细地描述该过程的示例。
在该示例中,在步骤600处,N个接下来的末端执行器目的地被确定。如前所讨论,这可以以任何适当的方式实现,例如从规划中检索末端执行器目的地、检测环境中的物体等。所选择的末端执行器目的地的数量将根据优选实现方式以及所执行的交互和规划的性质而变化,但是典型地,这将至少为5个,且更典型地至少为10个,并且在一个优选的示例中大约为20个。
在步骤605处控制系统获取跟踪系统信号,并在步骤610处使用这些信号来确定当前机器人底座定位。如前所述,机器人底座定位可以是偏离物理机器人底座的虚拟机器人底座定位,例如,以将其与末端执行器位置对准。
在步骤615处,计算机器人底座路径,这通常是在机器人底座致动器坐标系BACS中被执行的,如前一示例中所述。在该示例中,机器人底座路径被配置成允许机器人底座根据机器人底座速度分布图沿着机器人底座路径基本上连续地移动,机器人底座速度分布图定义了机器人底座沿着路径的速度。
一旦规划好,机器人底座路径可以在步骤620处通过基于机器人底座路径生成机器人底座控制信号来被执行,这些控制信号被施加到机器人底座致动器,例如吊臂组件,以使机器人底座511移动。
可选地,在步骤625处,例如通过使末端执行器到达目的地来确定交互是否完成,并且如果没有完成则继续机器人底座路径的执行。否则,一旦交互完成,过程返回到步骤600,以允许确定接下来的N个末端执行器目的地,使得路径随着到达末端执行器目的地而不断被更新。
因此,上述布置通过检查接下来的N个目的地并基于这些目的地计算路径来计算机器人底座路径。考虑多个目的地而不仅仅是下一个直接目的地,允许路径被规划成避免移动的速率和/或方向的突然变化,允许沿着路径长度基本连续的移动。
特别地,路径可以被计算成使得路径形状和速度分布图被仔细控制成最小化机器人底座速度的变化,这又可以用于避免不连续,例如阶梯式或急剧的速度变化。突然的速度变化(例如增加或降低机器人底座移动的速率,或者改变移动的方向)可以在机器人底座致动器内诱导(例如吊臂组件的吊臂)振动。这又会导致机器人底座的更大的无意移动,包括更多的移动和/或更大幅度的移动,使得DST更难以校正机器人底座的移动并更难以确保末端执行器被设置在正确的定位处。
为了最小化速度变化(包括速率和/或方向变化)的幅度,可以使用许多不同的方法。在一个示例中,机器人底座路径是弯曲的和/或被配置为允许机器人底座在执行交互的同时逐渐移动,使得机器人底座不必停止。
现在将参照图7A至图7G更详细地描述用于计算机器人底座路径的过程的示例。
在这点上,如上所述,多个目的地被获取,相对于图7A中的环境E示出了五个末端执行器目的地751.1、751.2、751.3、751.4、751.5的示例。将要认识到,仅示出了五个末端执行器目的地用于说明,并且实际上可以检查更多的末端执行器。接下来,控制系统计算连接末端执行器目的地751.1、751.2、751.3、751.4、751.5的路径段753.1、753.2、753.3、753.4,这些路径段通常是直接在末端执行器目的地751.1、751.2、751.3、751.4、751.5之间延伸的直线形式,如图7B所示。
连接的路径段753.1、753.2、753.3、753.4随后经历平滑以生成机器人底座路径,以及图7C中示出了这种情况的示例,其中相邻路径段之间的过渡且特别是路径的直线段成角度连接的点是弯曲的。
然而,将要认识到,这代表了非常基本的平滑方法,并且可以使用更积极的平滑方法,例如通过将路径偏离原始直线路径段,并且这种方法的示例在图7D中被示出。
在图7D的示例中,注意,路径被约束为穿过末端执行器目的地751.1、751.2、751.3、751.4、751.5中的每一个。然而,这不是必需的,且可选地,路径可以被约束成使得它总是在末端执行器目的地751.1、751.2、751.3、751.4、751.5的设定距离内通过。在一个示例中,如图7E所示,这是通过与连接末端执行器目的地751.1、751.2、751.3、751.4、751.5的直线路径段753.1、753.2、753.3、753.4相距设定距离来界定边界754而实现的,其中所产生路径被约束为位于边界754内。边界754的设定距离的幅度可以基于机器人臂的运动学来定义,假设机器人底座且特别是虚拟机器人底座遵循定义的机器人底座路径,执行该操作以确保末端执行器能够成功地到达相应的目的地。
因此,在该示例中,机器人底座路径在每个目的地的设定距离内通过和/或在连接相邻目的地的直线的设定距离内被提供。
作为上述方法的一部分,控制系统可以针对多个路径段中的每一个路径段计算机器人底座路径速度,且然后对机器人底座路径速度执行平滑,以生成机器人底座速度分布图,特别是使得速度沿着路径逐渐变化,从而需要最小量的加速度。例如,如果两个末端执行器目的地定位得很近,例如末端执行器目的地751.2、751.3,那么这可能需要路径段753.2具有比周围路径的机器人底座路径速度更低的机器人底座路径速度。
在一个示例中,考虑末端执行器路径长度、与末端执行器路径相关联的末端执行器速度分布图、机器人运动学和/或动力学以及机器人执行器运动学和/或动力学来执行机器人底座路径的计算。例如,通常将考虑末端执行器的到达范围(reach)来计算路径,使得路径在目的地的到达范围内,从而在假设机器人底座遵循机器人底座路径的情况下确保机器人臂能够执行交互。类似地,这也将考虑机器人底座致动器的动力学和运动学,以确保致动器能够实现机器人底座路径。
将要认识到,在上述示例中,该过程是在假设使用与末端执行器对准的虚拟机器人底座定位的情况下描述的,类似于以上参考图4、图5A和图5B所描述的情况。如果不使用这种布置,则需要引入偏移量来计算相对于末端执行器目的地的期望机器人底座定位。
图7G中示出了这种情况的示例,其中偏移量758.1、758.2、758.3、758.4、758.5被添加到末端执行器目的地751.1、751.2、751.3、751.4、751.5,以表示机器人底座111相对于末端执行器113的物理偏移量。这导致多个机器人底座目的地757.1、757.2、757.3、757.4、757.5,这些目的地随后可以用于计算机器人底座路径759,并且将要认识到,尽管机器人底座目的地757.1、757.2、757.3、757.4、757.5相对于末端执行器目的地751.1、751.2、751.3、751.4、751.5来执行计算,但是这可以以与上述类似的方式来被执行。
在该示例中,机器人底座致动器围绕轴线A旋转,这意味着每个偏移量758.1、758.2、758.3、758.4、758.5在具有相同长度的同时将处于不同的定向,且因此对于每个末端执行器目的地是唯一的。这进一步突出了在计算机器人底座路径时使用上述虚拟机器人底座定位的好处。无论如何,将要认识到,机器人底座路径可以以其他方式使用与上面关于末端执行器目的地和虚拟机器人底座定位的使用概述的技术类似的技术来进行计算,且因此这将不再详细描述。
路径规划也可以考虑交互依赖关系。在这点上,交互通常具有依赖关系,因此,例如,铺设特定的砖块可能需要首先铺设一个或更多个相邻的砖块。在这种情况下,控制系统通常检索交互依赖关系,交互依赖关系通常被定义为交互规划的一部分,例如建造规划,且然后根据交互依赖关系计算机器人底座路径,例如以确保在满足依赖关系要求之前不执行交互。
附加地和/或替代地,路径规划可以考虑指示执行交互的时间的交互时间,该交互时间然后被用于计算机器人底座路径速度分布图,并且可选地定义交互窗口,该交互窗口然后可以被用于动态地控制机器人底座。在这点上,交互窗口通常对应于围绕末端执行器目的地或机器人底座目的地的环境的区域,其中可以设置虚拟机器人底座,同时仍然允许交互被执行,且因此这允许机器人底座在其遍历机器人底座路径时的速度例如根据交互的完成状态来被控制。
这将参考图8A至图8E更详细地描述这种情况的示例。出于该示例的目的,将参考虚拟机器人底座定位进行解释,其中交互窗口是基于末端执行器定位来计算的,但是将要认识到,该技术同样适用于不使用相对于机器人底座目的地定义的虚拟机器人底座和/或交互窗口的布置。
在该示例中,示出了具有机器人底座811、机器人臂812和末端执行器813的机器人组件。交互窗口852是相对于末端执行器目的地851定义的。在机器人底座811接近交互窗口852时,末端执行器开始移动,使得末端执行器开始沿着末端执行器路径朝向目的地851移动,如图8B所示。当机器人底座811经过目的地851时,末端执行器则可以执行如图8C所示的交互,交互如图8D所示结束,并且当机器人底座移动经过交互窗口时,末端执行器返回到原始定位,如图8E所示。
交互窗口通常基于交互时间和速度来确定,使得执行交互(例如拾取物体或放置物体)所需的时间对应于以所定义的机器人底座路径速度分布遍历交互窗口所花费的时间。
在一个特定示例中,基于围绕目的地的设定距离来定义交互窗口,该设定距离是例如基于机器人臂运动学和/或动力学(例如末端执行器的到达范围和或速度)而导出的。图7F示出了这种情况的示例。在该示例中,围绕目的地751.1、751.2、751.3、751.4、751.5提供了多个交互窗口752.1、752.2、752.3、752.4、752.5。
在该特定实例中,目的地751.2、751.3足够靠近地在一起,使得交互窗口752.2、752.3将重叠,这意味着接下来的交互将需要在先前的交互结束之前开始。考虑到这一点,每个窗口的范围被减小以允许窗口在相邻目的地751.2、751.3之间的中间点处邻接。将认识到,在这种情况下,窗口比针对其它目的地的窗口短,且因此,与其它交互窗口相比,将需要减小机器人底座路径速度分布图,以允许在交互窗口752.2、752.3内执行交互。
然而,作为对此的替代,可以改变目的地顺序,例如通过从路径中省略目的地751.3,且然后在稍后的时间点返回以在该目的地处执行交互。这是否发生将在某种程度上取决于这是否可行,且特别是这可能取决于交互依赖关系,如上所述。
由于已经定义了交互窗口,然后可以使用这些窗口以便控制机器人底座811和末端执行器813的移动,且特别是确保交互完成而不需要离散的速度变化。例如,控制系统可以监测末端执行器交互以确定完成状态,并且根据监测的结果选择性地修改机器人底座控制信号以使机器人底座以不同的速度移动。
在一个特定示例中,当机器人底座路径包括与每个末端执行器目的地相关联的交互窗口时,随着机器人底座进入交互窗口,控制系统可以控制机器人臂开始交互和/或末端执行器沿着末端执行器路径到末端执行器目的地的移动。然后,控制系统可以通过确定在机器人底座接近交互窗口的出口时交互是否将完成来监测交互,可选地逐渐降低机器人底座速度以确保在机器人底座到达交互窗口的出口时交互完成。
在一个示例中,交互包括多个步骤,并且其中,控制系统通过监测步骤的完成来监测交互。作为该过程的一部分,控制系统确定用于下一步骤的末端执行器路径,且然后生成控制信号以移动末端执行器,从而完成该步骤。
现在将参照图9更详细地描述使用上述路径规划布置的控制过程的示例。
在这种情况下,在步骤900处,计算机器人底座路径。这是使用上面参照图6描述的方法来执行的,且因此将不再详细描述。
在步骤905处,使用来自跟踪系统的信号来确定当前机器人底座定位,在步骤910处,控制系统使用该定位来确定是否已经到达交互窗口。如果没有到达交互窗口,则机器人底座的移动在步骤915处继续,步骤905至915继续,直到在步骤920处到达交互窗口为止。
此后,与交互窗口相关联的交互开始。在这点上,交互通常包括一系列步骤,并且可以包括将末端执行器移动到末端执行器目的地,且然后将末端执行器返回到起始定位、原定位或基准定位。例如,在砌砖的情况下,交互可以包括从安装在吊臂和/或机器人底座上的提交机构(presentation mechanism)收集砖块,在返回末端执行器以允许收集下一个砖块之前,将末端执行器和砖块移动到环境中的目的地以允许砖块被铺设。
在步骤925处,根据需要检索和/或计算与下一步骤相关联的末端执行器路径,在步骤930处,控制系统确定交互是否按计划进行。如果没有按计划进行,则在步骤935处修改机器人底座速率,使得机器人底座逐渐减慢到低于机器人底座路径速度分布图中定义的速度。这可以以任何方式实现,但是在一个示例中,这是通过基于与交互窗口的入口和/或出口的接近度而逐渐缩放速度来实现的。
在步骤940处,末端执行器813和机器人底座811被移动,在步骤945处,控制系统确定该步骤是否已经完成。如果没有完成,则重复步骤930至945,直到步骤完成为止。
一旦该步骤已经完成,控制系统确定是否所有步骤都已经完成,且如果没有,则继续选择下一步骤,否则返回步骤900以计算新的机器人底座路径。
因此,上述布置用于计算避免方向或速率的不连续和/或突然或急剧变化的路径,从而最小化机器人底座的无意移动(例如不希望的振动或其他移动)。附加地和/或可选地,上述方法使用交互窗口来控制在环境内执行交互的过程期间的机器人底座速率。在这点上,基于执行交互所花费的时间,交互窗口与路径速度分布图一起被定义,使得交互可以在不偏离速度分布图的情况下被执行。在操作中,交互的完成被监测,如果交互进行得落后于计划,则机器人底座沿着机器人底座路径的移动逐渐减慢。这样做是为了确保交互可以在机器人底座退出交互窗口之前被执行。
如前所述,末端执行器的移动通常被控制为考虑到机器人底座的移动,并且特别是对机器人底座的移动进行校正,从而使得末端执行器能够在环境坐标系ECS内被精确控制,而与环境和机器人底座之间的相对移动无关。因此,这种DST动态地调节末端执行器,以便考虑机器人底座的移动,这可以用于例如保持末端执行器静止或沿着或根据环境内的定义的路径移动,而与机器人底座的移动无关。
动态稳定技术可以利用不同的方法来实现,且现在将描述三个示例机制,这些示例机制在下文中被称为动态补偿、动态坐标系和动态路径规划。
动态补偿通过生成路径校正并在生成控制机器人臂的控制信号时应用路径校正来进行操作,使得臂跟随修改后的路径,从而将末端执行器带回到原始规划路径。
动态坐标系通过在跟踪机器人底座的移动的移动坐标系中计算机器人臂运动学来操作,使得末端执行器总是在环境坐标系ECS中具有校正的定位。这通常包括转换(shifting)机器人臂运动学的原点,以确保末端执行器被正确定位。
动态路径规划包括在机器人底座和环境相对于彼此移动时重新计算末端执行器路径,使得新路径确保末端执行器始终向末端执行器目的地前进。
因此,在一个方面,提供了用于执行动态补偿的过程,并且现在将参考图10并参考图1B和图1C的系统来描述该过程的示例。
在该示例中,在步骤1000处,控制系统130获取末端执行器目的地,如将认识到的,这可以使用上述技术来实现。
在步骤1010处,基准机器人底座定位由控制系统130确定,其中这通常是相对于环境坐标系ECS被执行的。基准机器人底座定位可以是当前定位和/或可以是未来时间点处的定位,并且因此可以表示当末端执行器要执行交互(例如将物体定位在环境内)时的预期定位。
然后,在步骤1020处,控制系统130计算末端执行器路径,该路径延伸到末端执行器目的地。该过程可以至少部分地使用基准机器人底座定位来被执行,以便考虑从当前机器人底座定位到基准机器人底座定位的任何移动和/或在机器人底座坐标系RBCS和环境坐标系ECS之间的变换(如果这需要的话)。例如,末端执行器路径通常在机器人底座坐标系RBCS中被计算,因为这允许用于机器人臂的控制信号更容易映射到移动,这意味着末端执行器目的地从环境坐标系ECS变换到机器人底座坐标系RBCS。这是基于当机器人底座定位于基准机器人底座定位时坐标系的相对定位来被执行的,考虑到机器人底座坐标系RBCS和环境坐标系ECS的相对定位将随着机器人底座111沿着机器人底座路径移动而变化。然而,这并不是必需的,且可选地,当前末端执行器定位可以被转移到环境坐标系ECS中,允许在环境坐标系ECS中计算末端执行器路径。
在计算了路径之后,在步骤1030处,使用来自跟踪系统的信号来确定当前机器人底座定位。这用于在步骤1040处计算指示路径修改的校正。校正的性质和对此进行计算的方式将根据优选实现方式而变化,但是在一个示例中,这是表示如基于机器人底座的移动所确定的当前末端执行器定位相对于末端执行器路径的偏差的向量形式。例如,如果机器人底座111经历远离预期机器人底座定位的移动,这将导致末端执行器113远离末端执行器路径的等效移动,这将需要被校正以便确保末端执行器继续穿过该路径。
在步骤1050处,控制系统130基于末端执行器路径和校正生成机器人控制信号,在步骤1060处,这些机器人控制信号被施加到机器人臂,以使得末端执行器113根据末端执行器路径和校正移动,使得末端执行器移动回到末端执行器路径,并继续朝向目的地。然后,根据需要重复步骤1030至1060,直到末端执行器到达目的地为止。
因此,上述技术通过如下方式来操作:基于当前测量的机器人底座定位与期望的机器人底座定位的偏差计算校正,在生成机器人控制信号时使用该校正从而校正末端执行器的定位。在一个示例中,机器人底座以较慢的动态响应移动,而末端执行器以较快的动态响应移动,使得末端执行器的移动可以被用于校正机器人底座远离预期的机器人底座定位的移动。
现在将参考图11A至图11F描述多个不同的示例场景,以更清楚地解释在多个不同场景中动态补偿的操作。这些示例示出了附接到机器人臂1112的末端执行器1113,机器人臂1112又附接到机器人底座(为了清楚起见未示出)。以下示例将说明仅在二个维度中操作的动态补偿机制,但是将认识到,这可以延伸到六个自由度,并且仅参考二个维度并不旨在进行限制。
在图11A和图11B的示例中,末端执行器目的地与当前末端执行器定位一致,这意味着计算的末端执行器路径实际上是具有零路径长度的零路径。将使用这样的布置以便在环境E内保持静态末端执行器定位。
在该示例中,例如由吊臂的振动、风载荷等引起的机器人底座的无意移动1161使机器人臂1112移动,且从而移动末端执行器1113。结果,末端执行器1113现在偏离目的地1151。在这种情况下,基于移动1161计算校正,这生成路径校正,在这种情况下有效地创建新路径1162,新路径1162使得机器人臂移动末端执行器并抵消无意移动1161,从而将末端执行器返回到目的地1151。在这点上,机器人臂的姿势将根据机器人底座的无意移动而改变,以便实现路径校正并将末端执行器1113带回目的地1151。
在图11C和图11D的示例中,末端执行器1113沿着末端执行器路径1155行进到目的地1151。在这种情况下,当机器人臂同时沿着箭头1163所示的路径移动时,会发生无意移动1161。在这种情况下,计算校正以使末端执行器根据箭头1162移动,这与沿着路径1164的下一次移动结合在一起,产生净移动1165,净移动1165将末端执行器1113返回到原始路径1155。
图11E和图11F所示的另一个示例包括沿着末端执行器路径1155移动末端执行器,以及同时沿着机器人底座路径1153移动机器人底座。在这种情况下,基准机器人底座定位在图11E中以虚线示出,其基于当末端执行器1113到达末端执行器目的地1151时的预期的机器人底座定位。在这种情况下,从基准机器人底座定位,末端执行器路径1155垂直向下到目的地1151,并且净路径(net path)1156由末端执行器路径1155和机器人底座路径1153的组合形成,导致从当前末端执行器定位到目的地1151的净末端执行器移动(net endeffector movement)。
在这种情况下,如1163所示,当机器人底座和末端执行器1113沿着净路径移动时,如1161所示出现无意移动。在这种情况下,计算校正1162,其与下一路径移动1164结合,导致末端执行器沿着路径1165移动,返回到原始净路径1156。
因此,将认识到,上述过程操作以校正末端执行器的至少无意移动,从而即使末端执行器在机器人底座坐标系RBCS中被控制,也将末端执行器1113保持在环境坐标系ECS内的期望定位处,或者按照环境坐标系ECS内的期望路径行进。
如上所述,在一个优选示例中,控制系统130在机器人底座坐标系RBCS中计算末端执行器路径,而末端执行器目的地通常在环境坐标系ECS中被定义。这涉及使控制系统130通过将末端执行器目的地从环境坐标系ECS变换到机器人底座坐标系RBCS、至少部分地使用基准机器人底座定位来确定变换的末端执行器目的地。控制系统130然后可以在机器人底座坐标系RBCS中计算延伸到变换的末端执行器目的地的末端执行器路径。然而,将认识到,这不是必需的,并且可选地,路径计算可以在环境坐标系ECS中被执行。
在一个示例中,控制系统确定末端执行器定位,并且然后使用末端执行器定位计算末端执行器路径,使得末端执行器路径从末端执行器定位延伸到末端执行器目的地。末端执行器定位通常在机器人底座坐标系中使用机器人臂运动学来确定。在一个示例中,末端执行器定位是当前定位,但是可选地,末端执行器定位可以是当机器人底座到达基准机器人底座定位时的预期定位,在这种情况下,末端执行器定位可以通过基于基准机器人底座定位变换当前末端执行器定位来确定。
该校正通常指示末端执行器与末端执行器路径的偏差,这又基于机器人底座与预期定位的偏差。因此,控制系统基于当前机器人底座定位和预期的机器人底座定位来计算机器人底座偏差,并且然后基于机器人底座偏差计算校正。预期的机器人底座定位可以基于基准机器人底座定位或者基于机器人底座路径的遍历来预期机器人底座处于的定位。附加地,在末端执行器在环境中保持静止的情况下,预期的机器人底座定位可以基于初始或先前的机器人底座定位。
基准机器人底座定位被用于允许末端执行器路径的计算考虑到机器人底座被预期在末端执行器移动开始和到达目的地之间移动。因此,虽然基准机器人底座定位可以是当前或初始机器人底座定位,但是更典型地,基准机器人底座定位是基于机器人底座沿着机器人底座路径的移动的预测的机器人底座定位。具体地,基准机器人底座定位优选地是当末端执行器到达末端执行器目的地时的预想的机器人底座定位。因此,将认识到,基准机器人底座定位可以基于到达目的地时机器人底座的预期定位来计算,使得末端执行器在机器人底座坐标系RBCS中沿着从当前定位到末端执行器目的地的直接路径移动。
当基准机器人底座定位基于交互期间的定位时,补偿只需要考虑机器人底座远离延伸到基准机器人底座定位的机器人底座路径的无意移动。但是将认识到,这并不是必需的,且可选地,校正可以考虑无意移动和有意移动。例如,可以基于初始机器人底座定位来计算末端执行器路径,利用末端执行器路径来补偿沿着机器人底座路径的移动。
在某些情况下,可能希望的是不使用DST来控制末端执行器的定位。这种情况的示例仅在末端执行器与在机器人底座坐标系RBCS内的物体交互(例如从被安装在机器人底座上的传送机构取回物体)时发生。在这种情况下,由于物体和末端执行器都随机器人底座移动,因此这不需要DST处于活动状态。
因此,可能需要激活和去激活DST机构,例如,当末端执行器从在机器人底座坐标系RBCS中收集物体转换到将物体放置在环境E中时激活DST。由于机器人底座路径可能已经在被计算的末端执行器路径和被激活的DST之间进行了显著的移动,因此完全激活补偿机构可导致大的校正被计算,这可能由于机器人臂动力学而不实际。
因此,在一个示例中,控制系统130基于当前末端执行器定位与末端执行器目的地的相对距离来缩放校正。特别地,缩放可以用来有效地转换DST的开和关。虽然可以使用任何形式的缩放,但是控制系统通常使用S形曲线缩放校正,以逐步应用校正。随着末端执行器接近目的地,这将逐渐启用校正并降低缩放比例的增加速率,从而减少大的末端执行器校正。
在一个特定示例中,控制系统130在分别在机器人底座坐标系RBCS和环境坐标系ECS中定义的第一末端执行器目的地和第二末端执行器目的地之间移动末端执行器113,其中控制系统基于当前末端执行器定位与第一末端执行器目的地和第二末端执行器目的地的相对距离缩放校正。因此,当末端执行器靠近第一末端执行器目的地时,不执行校正,而当末端执行器靠近第二末端执行器目的地时,执行完全校正。
在上面的示例中,提到了机器人底座和末端执行器的定位。然而,将认识到,DST也可以应用于末端执行器的定向,这意味着实际上上述过程是基于末端执行器和机器人底座的姿势来实现的,并且末端执行器目的地是末端执行器姿势的形式。
在该特定示例中,控制系统确定相对于机器人底座坐标系的末端执行器姿势,使用环境坐标系中的末端执行器姿势和基准机器人底座姿势计算末端执行器路径,使用来自跟踪系统的信号确定当前机器人底座姿势,并基于当前机器人底座姿势计算校正。在该示例中,校正通常是指示六个自由度中的每一个自由度的移动的向量的形式。然后,控制系统控制末端执行器姿势,从而在所有六个自由度上提供校正。
虽然上述示例集中于机器人底座移动的场景,但是将认识到,这不是必需的,并且当机器人底座静止并且环境相对于机器人底座移动时,可以实现相同的技术。
在一个方面,提供了一种使用动态坐标系的过程,且现在将参考图12来描述这一过程的示例。
在该示例中,在步骤1200处,控制系统130使用与上述类似的技术获取末端执行器目的地。在步骤1210处,控制系统130确定基准机器人底座定位,该基准机器人底座定位通常在环境坐标系ECS中被确定,并且该基准机器人底座定位也可以对应于当前定位、预期发生交互的定位等。在步骤1220处,至少部分使用基准机器人底座定位来确定延伸到末端执行器目的地的末端执行器路径。
将认识到,上述步骤1200至1220通常类似于前面参照图10描述的等效步骤。然而,在该示例中,虽然末端执行器路径可以在机器人底座坐标系RBCS中被计算,但是更典型地,这是在环境坐标系ECS中使用基准机器人底座定位来执行的。
在步骤1230处,控制系统130使用来自跟踪系统120的信号确定当前机器人底座定位。这用于在步骤1240处计算机器人臂运动学,使得运动学考虑当前机器人定位,并且更典型地考虑与预期的机器人底座定位的偏差。具体地,在一个示例中,机器人底座定位被用作机器人臂运动学的原点,使得当机器人底座在环境坐标系内移动时,这允许机器人臂运动学的原点被更新,允许机器人臂在环境坐标系中被控制。
在步骤1250处,基于末端执行器路径和计算的机器人臂运动学生成控制信号,允许控制系统在步骤1260处将控制信号施加到机器人臂,从而导致机器人臂移动。然后,可以根据需要重复步骤1230至1260,例如直到到达末端执行器目的地为止。
因此,与计算指示末端执行器与规划路径的偏离的路径校正的先前示例相反,上述示例通过修改机器人臂运动学来操作。在一个特定示例中,这是通过以下方式来实现的:基于机器人底座从预期的机器人底座定位的移动来转换机器人臂运动链的原点,使得原点转换反映机器人底座的移动。然后,这修改了对机器人臂的定位,使得机器人臂在相对于环境坐标系ECS移动的动态坐标系中被控制,并且使得末端执行器能够保持在末端执行器路径上。这样做的好处是避免了计算路径校正的需要,且从而降低了执行DST的计算复杂性。
然而,与此无关,机器人底座以较慢的动态响应移动,而机器人臂以及因此的末端执行器以较快的动态响应移动,使得机器人臂的移动可以用于校正机器人底座远离预期的机器人底座定位的移动,使得末端执行器可以保持在期望的定位。
现在将参考图13A至图13C描述具体的示例校正,图13A至图13C示出了附接到从机器人底座1311延伸的机器人臂1312的末端执行器1313。以下示例示出了仅在二个维度中操作的动态坐标系机构,但是将认识到,这可以延伸到六个自由度,并且仅参考二个维度并不旨在进行限制。
在该示例中,末端执行器相对于环境坐标系ECS保持在静止定位处,且因此基于具有有效零路径长度的零路径来控制计算的末端执行器路径。因此,如图13A所示,末端执行器1313最初被设置成与目的地1351一致。
如图13B所示,机器人底座进行无意移动,移动了箭头1361所示的距离,使得机器人底座现在偏离原始机器人底座坐标系RBCS。这产生了修改的机器人底座坐标系RBCS’,其可以作为运动学的原点的转换而被应用于机器人臂运动学,导致机器人臂运动学被重新计算,使得末端执行器如图13C所示移动,从而将末端执行器与目的地1351对准。
因此,对于具有零路径长度的末端执行器路径,所计算的机器人臂运动学将末端执行器返回到末端执行器目的地,从而在环境坐标系内保持末端执行器静止。特别地,当机器人臂的运动链的原点在环境坐标系中动态地转换时,末端执行器目的地被用于更新对于末端执行器保持静止所需的反向运动学(即,对于机器人臂的每个连杆的关节角度),从而补偿机器人臂的移动原点。
将认识到,当使末端执行器1313沿着路径穿过时和/或当移动机器人底座1311时,可以应用类似的技术,且因此这将不再详细描述。然而,将认识到,对于具有非零路径长度的末端执行器路径,计算出的机器人臂运动学将末端执行器返回到末端执行器路径。在这点上,在机器人臂的运动链的原点转换时,控制系统确定在末端执行器路径上的期望的末端执行器定位,并计算在该路径上实现期望的末端执行器定位所需的反向运动学。在该示例中,机器人臂的运动链的动态原点和末端执行器目的地(其可以是沿着末端执行器路径的最终目的地或路径点)都在环境坐标系中被表达,这简化了对系统的控制。
在一个示例中,控制系统确定末端执行器定位,并且然后使用末端执行器定位计算末端执行器路径,使得末端执行器路径从末端执行器定位延伸到末端执行器目的地。
如上所述,末端执行器定位通常基于环境坐标系中的机器人底座定位使用机器人臂运动学来确定,允许在环境坐标系ECS中直接计算末端执行器路径,并且通过基于机器人底座的移动使机器人臂运动学的原点转换来在环境坐标系ECS中执行控制。
在另一个示例中,在环境坐标系中确定末端执行器目的地(即期望的末端执行器定位),且然后应用变换将期望的末端执行器定位变换到机器人底座坐标系RBCS中。这是可实现的,因为机器人底座坐标系RBCS的原点由跟踪系统测量,并以环境坐标进行表示。在该示例中,然后可以通过计算将末端执行器移动到期望的末端执行器定位(其可以是沿着末端执行器路径的路径点或最终目的地)所需的反向运动学,在机器人底座坐标系RBCS中实现控制。
在一个示例中,末端执行器定位是当前定位,但是可选地,末端执行器定位可以是当机器人底座到达基准机器人底座定位时的预期定位,在这种情况下,末端执行器定位可以通过基于基准机器人底座定位变换当前末端执行器定位来确定。
典型地,控制系统通过基于当前机器人底座定位计算机器人底座移动来操作,且然后使用机器人底座移动来修改机器人臂运动学。该移动通常是基于延伸到机器人底座基准定位的机器人底座路径从初始或预期的机器人底座定位开始的移动。如在前面的示例中,基准机器人底座定位可以取决于当前机器人底座定位、基于机器人底座相对于当前机器人底座定位的移动的预测的机器人底座定位、基于机器人底座沿着机器人底座路径的移动的预测的机器人底座定位或者当末端执行器到达末端执行器目的地时的预想的机器人底座定位。
与前面的示例一样,虽然只提到了定位,但是这些技术可适用于定位和定向。因此,末端执行器目的地通常包括末端执行器姿势,跟踪系统测量机器人底座姿势,以及控制系统使用来自跟踪系统的信号确定当前机器人底座姿势,并基于机器人底座姿势计算机器人臂运动学。在这种情况下,控制系统可以确定末端执行器姿势,并计算从末端执行器姿势延伸到末端执行器目的地的末端执行器路径。因此,将认识到,上述技术可以校正姿势的变化以及仅调整定位。
虽然上述示例集中于机器人底座移动的场景,但是将认识到,这不是必需的,并且当机器人底座静止并且环境相对于机器人底座移动时,可以实现相同的技术。此外,虽然描述仅集中于对无意移动的校正,但是将认识到,该布置也可以补偿机器人底座的有意移动。
在一个方面,提供了一种用于执行动态路径规划的过程,并且现在将参考图14描述这一过程的示例。
在本示例中,基于机器人底座定位的移动,根据需要重新计算末端执行器路径。为了实现这一点,在步骤1400处,控制系统130获取末端执行器目的地。
在步骤1410处,机器人底座定位由控制系统130确定。然后,在步骤1420处计算末端执行器路径,该路径从末端执行器定位延伸到末端执行器目的地。该路径通常在机器人底座坐标系RBCS中计算,这是通过使用机器人底座定位将末端执行器目的地变换到机器人底座坐标系RBCS中来实现的,但是可选地,路径可以在环境坐标系ECS中计算。
在步骤1430处,生成机器人控制信号,在步骤1440处,这些机器人控制信号被施加到机器人臂以使机器人臂移动。然后,根据需要重复步骤1410至1440,使得基于机器人底座定位不断地重新计算末端执行器路径,例如考虑机器人底座定位与机器人底座路径的偏差,从而将末端执行器朝向目的地移动。
现在将参考图15A至图15F描述许多不同的示例场景,图15A至图15F示出了附接到机器人臂1512的末端执行器1513,机器人臂1512又附接到机器人底座(为了清楚起见未示出)。以下示例将说明仅在二个维度中操作的动态路径规划机制,但是将认识到,这可以延伸到六个自由度,并且仅参考二个维度并不旨在进行限制。
在图15A所示的示例中,末端执行器路径具有零长度,从而保持相对于环境的静态末端执行器定位。因此,末端执行器1513最初与目的地1551对准。机器人底座的无意移动引入偏移量1561,这导致在步骤1430处计算新路径1562,这将末端执行器1513返回到目的地1551。
在图15C和图15D的示例中,末端执行器1513沿着末端执行器路径1555移动到目的地1551。在这种情况下,当末端执行器沿着路径1563移动时,无意移动产生偏移量1561。这导致计算将末端执行器返回到目的地1551的新路径1565。
图15E和图15F中示出了另一个示例,其包括沿着末端执行器路径1555移动末端执行器,同时沿着机器人底座路径1553移动机器人底座。在这种情况下,基准机器人底座定位在图15E中以虚线示出,使得末端执行器路径1555最初被计算为从基准机器人底座定位垂直向下到目的地1551。由末端执行器路径1555和机器人底座路径1553的组合形成的净路径1556导致末端执行器从当前末端执行器定位移动到目的地1551。
在这种情况下,如1563所示,当机器人底座和末端执行器沿着净路径移动时,产生了如1561所示的无意移动。在这种情况下,根据更新的基准机器人底座定位计算新路径1565,当基准机器人底座定位与机器人底座移动结合时,产生新的净路径1565。
将认识到,尽管上述技术需要不断地重新计算路径,这通常比先前描述的DST布置计算成本更高,但这可以有好处。例如,末端执行器穿过的路径倾向于以更直接的方式朝向目的地行进,这可以产生降低的路径校正次数和/或减少的路径距离。附加地或可选地,通过减少所需的校正次数,这避免了末端执行器路径围绕目标路径摆动以校正机器人底座的移动,这可以减少方向上急剧变化的需要,这反过来有助于确保路径在机器人动力学的约束范围内,且因此可以更容易地被实现。
如上所述,在一个示例中,末端执行器目的地通常相对于环境坐标系定义,在这种情况下,控制系统通过至少部分地使用机器人底座定位将末端执行器目的地从环境坐标系ECS变换到机器人底座坐标系RBCS来计算变换的末端执行器目的地。然后,可以在机器人底座坐标系中计算延伸到变换的末端执行器目的地的末端执行器路径。然而,可选地,路径计算可以在环境坐标系ECS中被执行。
在一个示例中,控制系统确定末端执行器定位,并且然后使用末端执行器定位计算末端执行器路径,使得末端执行器路径从末端执行器定位延伸到末端执行器目的地。末端执行器定位通常在机器人底座坐标系中使用机器人臂运动学来确定。
将认识到,当前机器人底座定位可以考虑机器人底座沿着机器人底座路径的移动。因此,在这种情况下,末端执行器路径将基于基准机器人底座定位来计算,以考虑机器人底座沿着机器人底座路径的移动,其中末端执行器路径基于机器人底座定位与机器人底座路径的偏差来计算。
如在前面的示例中,机器人底座以较慢的动态响应移动,而末端执行器以较快的动态响应移动,使得末端执行器的移动可以用于校正机器人底座远离预期的机器人底座定位的移动。
虽然以上仅参考定位进行了描述,但是将认识到,这些技术也可适用于定位和定向。因此,在一个示例中,末端执行器目的地包括末端执行器姿势,并且跟踪系统测量机器人底座姿势。在该示例中,控制系统使用来自跟踪系统的信号确定机器人底座姿势,并基于当前底座姿势计算末端执行器路径。在一个特定示例中,控制系统确定相对于机器人底座坐标系的末端执行器姿势,并使用来自跟踪系统的信号确定当前机器人底座姿势,使用这两者来计算末端执行器路径。
虽然上述示例集中于机器人底座移动的场景,但是将认识到,这不是必需的,并且当机器人底座静止并且环境相对于机器人底座移动时,可以实现相同的技术。
在上述示例中,机器人臂致动器以快速动态响应移动,以补偿机器人底座的移动或定位误差,以便精确定位和稳定机器人臂的末端执行器。除了这种补偿之外,在一些示例中,控制系统还监测机器人底座的定位,并以慢速动态响应来控制机器人底座致动器,以使机器人底座朝向其预期的或理想的定位移动。这种附加的校正可以减少机器人臂致动器所需的补偿量,并且对于将机器人臂保持在其工作范围内以便将末端执行器定位在其目的地特别有用。虽然机器人底座致动器和机器人臂的动态补偿可以一起实现,但是这不是必需的,并且一项可以在没有另一项的情况下执行。
在一个示例中,控制系统包括计算机数控(CNC)系统。在这点上,CNC系统可以形成为独立模块,被实现为软件、固件、硬件或其组合。在该实例中,附加的功能可以由其他模块来计算。例如,系统可以实现与CNC模块对接的DST模块,以允许系统被控制。例如,DST模块可以计算校正或机器人臂运动学原点转换,将此提供给CNC模块以允许机器人臂被控制。
在以上所有示例中,尤其是在实现DST时,重复这些步骤以不断更新或校正机器人底座的移动。对于控制系统的处理周期,尤其是控制系统的连续处理周期,这通常是重复的。因此,可以为控制系统的每个时钟周期计算新的校正、机器人臂运动学原点转换或新的路径。在另一示例中,这也基于跟踪系统的刷新率来执行,使得每次跟踪系统更新机器人底座定位时都计算新的校正等。由此可以理解,在一个优选示例中,控制系统的处理周期和跟踪系统的刷新率具有相同的频率,且甚至更优选地是时间同步的。
控制信号通常在考虑末端执行器速度分布、机器人动力学和/或机器人运动学的情况下被生成。这样做是为了确保机器人臂能够执行必要运动。例如,计算出的末端执行器路径可超过机器人臂的能力,例如需要不可行的移动变化,或者需要以实际上无法实现的速率移动。在该实例中,可以重新计算路径以确保其可以被执行。
在一个示例中,这可以通过执行对应于原始规划移动的移动来实现,但是所执行的移动在幅度上被限制为可行的移动。在该实例中,如果需要进一步的移动,这可以在连续处理周期中被实现。
现在将参照图16A至图16C描述使用动态补偿执行DST的总体控制方法的示例。出于这个示例的目的,假设该系统类似于上面参照图1B和图1C描述的系统,其中机器人臂被安装在吊臂上。
在该示例中,在步骤1600处机器人底座路径被检索。将认识到,这可以包括例如使用上面参照图6描述的过程计算机器人底座路径。
在步骤1602处,获取跟踪系统信号,这些跟踪系统信号被用于在步骤1604处确定当前机器人底座姿势。特别地,这将基于跟踪目标姿势进行计算,并使用几何变换来变换为当前的机器人底座姿势。如前所述,在优选布置中,机器人底座姿势优选地是虚拟机器人底座姿势,其相对于机器人底座物理偏移,并与末端执行器对准。
在步骤1606处,确定是否到达交互窗口,如果未到达交互窗口,则过程前进到步骤1630。否则,假设已经到达交互窗口,则在步骤1608处选择下一步骤,其中在步骤1610处例如使用图10的步骤1000至1030计算和/或检索末端执行器路径。
在步骤1612处,确定是否需要稳定,如果不需要稳定,例如如果该步骤包括从安装在机器人底座上的输送机构取回物体,则过程进行到步骤1624。
否则,在步骤1614处,基于根据机器人底座路径计算的在当前机器人底座姿势和预期的机器人底座姿势之间的偏差来计算机器人底座姿势偏差。然后,在步骤1616处,基于末端执行器与末端执行器目的地的接近度,确定缩放因子。在步骤1618处,机器人底座偏差用于计算向量形式的校正,该向量包括关于六个自由度中每一个自由度的偏移并表示机器人底座姿势与预期的机器人底座姿势的偏移。然后,根据缩放因子对校正进行缩放。
在步骤1620处,使用末端执行器路径和经缩放的校正来计算机器人运动学变换,在步骤1622处,对机器人运动学变换进行评估以确保动力学是可行的。在这点上,校正可能需要机器人臂经历超出机器人臂的能力的移动,例如需要过快的移动。如果该移动是不可行的,则可以例如通过基于机器人臂动力学来限制产生的校正幅度而重新计算或修改该移动。在一个示例中,这是通过返回到步骤1618以重新计算校正来实现的。然而,这不是必需的,并且在一个示例中,在步骤1624处,可以基于机器人臂动力学生成控制信号,以在控制系统的下一个处理周期之前简单地实现最大可能程度的校正。因此,如果校正需要10mm的末端执行器移动,但是在由控制器实现的下一个处理周期之前只能实现5mm的移动,那么将实现5mm的移动。
此时,控制系统130可以在步骤1626处确定交互是否按计划进行,如果没有按计划进行,则控制系统130在步骤1628处修改吊臂速率,例如减慢吊臂的移动。无论吊臂速率是否被修改,在步骤1630处,控制系统130都生成所产生的吊臂控制信号。
然后,在步骤1632处,控制信号被施加到相应的致动器,从而移动吊臂和末端执行器。在步骤1634处获取跟踪系统信号,在步骤1636处,随着末端执行器和机器人底座的移动,跟踪系统信号被用于确定当前底座姿势。
在步骤1638处,评估该步骤是否完成,如果没有完成,则过程返回到步骤1612以再次确定是否需要稳定。否则,在步骤1640处确定是否所有步骤都完成,如果没有,则过程返回到步骤1608以选择下一步骤。否则,过程返回到1606,以确定是否已经到达下一个交互窗口。
将认识到,通过遵循上述顺序,这允许吊臂沿着吊臂路径逐渐移动,其中通过执行一系列步骤来执行交互,每个步骤包括确定末端执行器路径,其中末端执行器沿着末端执行器路径移动到目的地。
虽然图16A至图16C的示例聚焦于动态补偿的使用,但是将认识到,类似的方法可以用于针对DST的动态坐标系和动态路径规划方法。
在一个方面,提供了备份跟踪过程,现在将参考图17描述这一过程的示例。
特别地,使用备份跟踪过程以防跟踪系统120发生故障。在这种情况下,该装置通常包括类似于上述跟踪系统120的第一跟踪系统,其测量相对于环境坐标系ECS的机器人底座定位。还提供了第二跟踪系统,其例如使用安装在机器人底座111上的惯性测量单元(IMU)226来测量机器人底座的移动,惯性测量单元226可以通过相应的IMU控制器或处理器与控制系统130通信。这种IMU是众所周知的,且因此将不再详细描述。虽然IMU是优选的,但是还可以使用其它惯性传感器(包括加速度计、陀螺仪、倾角仪、磁力计等的组合)。
在这种布置中,第一跟踪系统通常仅在正常工作时被使用,第二跟踪系统在第一跟踪系统发生故障时用作备用系统。在这点上,故障可能由于多种原因中的任何一种原因而出现,并且可能包括通信故障、处理故障,或者在激光跟踪系统的情况下可能包括跟踪光束(例如激光束)的遮挡。
在该过程中,在步骤1700处,控制系统130从第一跟踪系统接收信号,这些信号在步骤1710处被用于检测故障。这可以根据故障的性质以任何合适的方式实现,且下面将更详细地描述这种情况的示例。
如果第一跟踪系统没有发生故障,则控制系统130在步骤1720处计算机器人底座定位和/或姿势,其中机器人底座和末端执行器在步骤1730和1740处可选地移动。此后,过程返回到步骤1700,允许该过程被重复。因此,在这种情况下,将认识到,如果第一跟踪系统没有发生故障,那么操作基本上如前所述。
然而,在步骤1710处检测到跟踪系统故障的情况下,在步骤1750处控制系统130获取来自第二跟踪系统的信号,这些信号在步骤1760处被用于确定机器人底座定位和/或姿势。实际上,来自第二跟踪系统的信号通常是指示机器人底座的移动的移动信号,这些移动信号与机器人底座的最后已知位置一起使用,以确定当前机器人底座定位。
在步骤1770处,根据移动是否需要遵循机器人底座路径,机器人臂可选地被移动。在发生移动的情况下,这通常是以低于原始机器人底座路径速度分布图的降低的速率的。类似地,在步骤1780处,可以通过移动机器人臂来移动末端执行器,与末端执行器路径速度分布图相比,这再次以降低的速率被执行。
此后,过程返回到步骤1700,控制系统130试图确定来自第一跟踪系统的信号,以确定其是否正常工作,从而允许该过程被重复。
因此,上述系统使用第一绝对定位跟踪系统,但是在绝对定位跟踪系统发生故障的情况下,恢复使用第二移动跟踪系统,例如惯性制导系统。由于这种惯性系统通常不那么精确,并且随着时间推移会漂移,所以通常更慢地移动机器人底座和/或机器人臂,以降低碰撞风险,并且允许惯性系统尽可能精确地操作。
现在将参照图18描述用于检测故障的过程的示例。
在这个示例中,在步骤1800处,控制系统130试图从第一跟踪系统获取信号。如果不能获取信号,则在步骤1810处检测到故障,并且过程前进到步骤1870。如果检测到信号,则在步骤1820处评估这些信号以确定这些信号是否是错误信号,如果是,则检测到故障,并且过程前进到步骤1870。
否则,在步骤1830处,控制系统继续确定机器人底座定位。然后将该定位与先前的机器人底座定位进行比较,以确定定位变化是否超过阈值,该阈值对应于可行的移动量。例如,如果自上次定位测量以来的移动程度超过阈值,则这可能指示至少一次测量结果不准确,且因此,在步骤1870处检测到故障。否则未检测到故障,并且第一跟踪系统可用于确定机器人底座的定位。
在第一跟踪系统发生故障的情况下,控制系统130通常逐渐降低机器人底座速率,并在预定时间段后停止机器人底座的移动。类似地,控制系统通常逐渐降低末端执行器速率,并在预定时间段后停止末端执行器的移动。因此,机器人臂和机器人底座的速率可以在随后的处理周期迭代中逐渐降低,使得机器人臂和/或机器人底座在设定的时间段后停止,从而进一步防止任何碰撞。这可以以任何合适的方式实现,但是通常涉及缩放末端执行器路径速度分布图和/或机器人底座路径速度分布图。在第一跟踪系统再次开始正确操作的情况下,速率可以在随后的处理迭代中逐渐增加,从而逐渐将末端执行器和机器人底座返回到它们的预期速度,从而避免速度的急剧转变,速度的急剧转变反过来会在机器人致动器中引起振动,导致机器人底座的无意移动。
除了使用来自第二跟踪系统的信号来控制机器人臂和/或机器人底座致动器之外,控制系统还可以使用来自第二跟踪系统的信号来控制第一跟踪系统,以尝试恢复第一跟踪系统的操作。例如,如果跟踪系统通过跟踪头部和目标的相互定位识别来操作,那么当第一跟踪系统不操作时,如果机器人底座移动超过设定距离,则跟踪头部和目标会变得不同步。因此,来自惯性感测系统的信号可用于引导跟踪头部和目标,允许重新建立联系,而不必要求机器人臂停止。在替代示例中,第一跟踪系统可以包括相机,该相机可以帮助在视觉上定位目标,以便在信号丢失的情况下(例如,当跟踪器和目标之间的激光束中断时)锁定回到目标上。
现在将描述另一个具体示例。特别地,在该示例中,本发明的控制系统和方法已由发明人结合自动砌砖机进行了开发。对于砌砖机的更详细的描述,参考作为国际专利申请PCT/AU2017/050731的主题的、标题为“Brick/Block Laying Machine Incorporated in aVehicle”的专利说明书,其内容通过交叉引用被并入本文。
自动砌砖机的示例如图19至图25所示。
在这个示例中,自动砌砖机1911围绕卡车1913形式的交通工具建造,并具有支撑一般以1915指示的伸缩铰接吊臂组件的底座,该伸缩铰接吊臂组件包括长伸缩吊臂1917和伸缩杆1919。安装到杆1919的远端1921的是铺设头部1923形式的末端执行器,铺设头部1923支撑六轴机器人臂1925,该六轴机器人臂1925移动另一末端执行器1927以操纵砖块1929。机器人臂1925具有机器人底座1931,并且被安装在机器人底座1931上方的是6自由度(6DOF)高数据速率定位传感器形式的第一目标1933,其向控制系统提供相对于固定地面基准1935的6DOF定位坐标。在紧接在末端执行器1927上方的、机器人臂1925的末端上安装的是6自由度(6DOF)高数据速率定位传感器形式的可选第二目标1937,其向控制系统提供相对于固定地面基准1935的6DOF定位坐标。然而,将认识到,末端执行器定位可以基于机器人底座定位和机器人臂运动学来被确定,从而消除了对第二定位传感器1937的需要。
在杆组件1919的远端(吊臂1915的远端)处围绕枢转水平轴1938(参照交通工具1913的状态是水平的,假设交通工具处于稳定水平没有任何扭转)支撑头部1923。
在一般实施例中,交通工具1913支撑吊臂1915,吊臂1915支撑机器人臂1925,机器人臂25支撑末端执行器1927。可选地,在吊臂1915和机器人臂1925之间可以省略头部1923,但是考虑到由末端执行器1927执行的任务(特别是将粘合剂应用于砌砖应用),包括头部1923是更实际的。
交通工具1913可以静止停放或在支撑腿1939上被托起。作为替代方案,交通工具1913可以采用第一CNC通道进行编程以沿着路径移动,或者可以沿着路径被手动地驱动。在这种情况下,可以提供6自由度(6DOF)高数据速率定位传感器形式的另一第三目标1941,其也向控制系统提供相对于固定地面基准1935的6DOF定位坐标。然而,将认识到,交通工具定位可以基于机器人底座定位和吊臂运动学来确定,从而消除了对定位传感器1941的需要。在交通工具以这种方式遍历路径的情况下,可能需要相同类型的固定地面基准1935中的多个固定地面基准。可选地,在另一实施例中,可以利用低数据速率和低准确度的定位传感器(诸如GPS),但是高数据速率是优选的。
为了更快的数据处理,有多个地面基准1935a、1935b、1935c可能是合乎需要的,每个地面基准专用于它们相应的传感器1933、1937和1941,如图20所示。
吊臂1915采用第二CNC通道编程,以将吊臂的(位于顶端处的)末端执行器的TCP移动到所需坐标。
机器人臂1925采用第三CNC通道编程,以移动它的末端执行器1927的TCP来执行任务。
可选地,末端执行器1927可以包括用于非常准确的工作的精细动态补偿机制。这种系统可以包括检流计振镜(galvo mirror),以与用于激光切割、雕刻或3D增材激光熔化制造的高功率激光器一起使用。末端执行器采用第四CNC通道编程,以移动精细动态补偿机制的TCP。
参考图22,示出了一个实施例的细节。针对从卡车形式的吊臂底座1913支撑的吊臂1915提供控制系统。吊臂1915具有头部1923,头部1923围绕在杆组件1919的远端处的水平枢转轴1938安装。机器人臂1925通过机器人底座1931安装到头部1923。包括用于拾取砖的夹持器的末端执行器1927被安装,以用于到机器人臂1927的末端的俯仰横滚和偏航移动。
该控制系统包括与液压油缸1945和1947(以及在卡车车身内的旋转机构,未示出)形式的吊臂致动器连接的吊臂控制器,以相对于交通工具1913移动吊臂1915,以将头部1923和因此的机器人底座1931定位到经编程的位置。控制系统还包括与机器人臂致动器连接的机器人臂控制器,以将所述末端执行器定位在经编程的定位和定向处。跟踪器系统具有固定地面基准1935a,以跟踪第一目标1933的定位,其定位成与机器人底座1931相邻一偏移量。跟踪器系统具有固定地面基准1935b,以跟踪以与末端执行器1927的TCP相距TCP偏移量定位的两个第二目标1949中的一个(以可见的为准)的定位和定向。跟踪器系统跟踪第一目标1933的定位,并将数据馈送到所述吊臂控制器,以用慢速动态响应来操作所述吊臂致动器,以将所述第一目标1933动态地定位成接近所述偏移量,以将所述机器人底座1931定位成接近所述经编程的位置,使得末端执行器1927在执行工作所需的定位的范围内。由于目标1949与末端执行器1927一起移动,并且末端执行器可以以六个自由度移动,因此跟踪器系统以六个自由度跟踪所述第二目标的定位和定向并且将数据馈送到机器人臂控制器,以用快速动态响应来操作所述机器人臂致动器(包括末端执行器),以将所述第二目标动态地定位和定向到离所述经编程的定位和定向的所述TCP偏移量。
控制系统可以可控地在第一状态和第二状态之间切换机器人臂控制器的控制,在第一状态中机器人臂控制器对从跟踪器系统获得的定位反馈数据做出响应,在第二状态中依赖于以机器人底座(和因此的吊臂的远端)为基准的预先校准的定位数据。末端执行器1927相对于机器人底座1931的移动由图23中的轨迹2351表示,轨迹2351示出了由于吊臂上的动态结构效应、风偏转或交通工具移动引起的偏差,并且对于机器人臂的第二状态定位以2353指示。当在第一状态和第二状态之间切换时,所述机器人臂控制器控制机器人臂的移动以通过由轨迹2355指示的、在第一状态和第二状态之间的转变来使机器人臂的移动衰减或平稳,从而避免机器人臂和所述末端执行器的突然移动。这种突然移动可被反馈给吊臂,使吊臂经历反应移动。
在第一和第二状态之间的切换应付需要末端执行器相对于机器结构和随后的地面交替地被控制的应用,例如从机器的一部分拾取砖块且然后相对于地面在墙上铺设砖块。
图24示出了末端执行器1927从吊臂的末端拾取砖块。在该配置中,控制系统处于第二状态,并且跟踪器系统仅需要跟踪第一目标1933。图25示出了将要铺设砖块的末端执行器1927。在该配置中,控制系统处于第一状态,并且跟踪器系统必须跟踪第一目标1933和第二目标1937。控制系统在大约一秒的时段内以缓慢的方式从第二状态转变到第一状态(反之亦然),以衰减末端执行器的移动。
如果补偿被立即开启或关闭,则补偿机器人的姿势将必须立即改变,这给吊臂很大的力和干扰。为了克服这个问题,补偿被过渡开启或关闭或被衰减是必要的,使得补偿量在一段时间(通常0.2至0.5秒(或对于大型机器,高达10秒,或者对于小型机器,也许低至毫秒量级,直到0.1秒))内逐渐增加或减少到所需的量。使用动态底座坐标系,有必要通过在一段时间内将底座坐标系从其经编程的定位移动到实际定位来实现转变效应。检查将被应用的补偿量在补偿机器人的工作范围内是很重要的。
这通过检查机器人的姿势在工作包络面内来完成。(如果计算出的待施加的补偿量将使末端执行器在其工作范围之外移动,或者超过机器人臂的跃度(jerk)、加速度或速度的动态极限),如果动态底座坐标系的实际定位和定向将机器人置于在其轴行程的工作范围之外的姿势或者TCP在机器人臂的工作包络面之外的,或者超过末端执行器的跃度、加速度或速度的动态极限,则底座动态坐标系从经编程的位置到实际位置的移位量(或补偿量的应用)可以按比例缩小,或者运动可以被保持,直到系统返回到其工作范围内和/或警告可以在控制器内被发出。
动态补偿转变通过如果补偿开启则递增或如果补偿关闭则递减来工作,转变因子在0和1的值之间,因此,S曲线在期望的时间段内倾斜,于是对于每个控制周期:
·测量顶端跟踪器的实际6dof坐标。计算精细机器人的底座的实际坐标系的6DOF坐标
·如果转变因子是1,则使用精细机器人的底座的实际坐标系作为动态坐标系。
·如果转变因子不是1,则:
·通过考虑吊臂顶端的经编程的定位并将运动学变换添加到精细机器人的底座,确定精细机器人的底座的坐标系的经编程的定位。
·如果转变因子是0,则使用坐标系的经编程的定位作为动态坐标系。
·如果转变因子在0和1之间,则:
·计算精细机器人的底座的从经编程的坐标系到实际坐标系的6DOF增量向量。
·将6DOF向量按转变因子进行缩放,以给出经缩放的向量
·将经缩放的向量添加到坐标系的经编程的定位,以给出动态坐标系。
·检查姿势和动力学,以确保精细机器人在它的工作范围内。转到警告、保持或按比例缩放算法。
·如果转变因子小于1,则优选地使用S曲线公式来递增转变因子。
优选地,所述机器包括安装到所述头部的跟踪器部件,其中所述头部具有带有所述末端执行器的所述机器人臂组件,并且所述机器使用跟踪器系统来测量跟踪器部件的定位和定向,并且使用所述测量结果来计算对于所述机器人臂组件的底座坐标系的定位和定向。机器人臂末端执行器TCP被编程为在固定于头部的坐标系(相当于上面的机器人底座坐标系RBCS)或固定于工件、固定于地面的坐标系(相当于上面的环境坐标系ECS)中执行任务。编程可以在头部坐标系或工件坐标系之间变动,这在一个示例中通过转变来执行,这将在下面解释。
转变到动态底座坐标系涉及以渐进且受控的方式将动态底座坐标系从理论上完美的定位和定向移动到(通过测量固定到头部的跟踪器部件的定位和定向获得的)实际定位和定向。
从动态底座坐标系转变包括以渐进且受控的方式将动态底座坐标系从(通过测量固定到头部的跟踪器部件的定位和定向获得的)实际定位和定向移动到编程的(即,理论上的)完美的定位和定向。
对这种布置的最简洁的数学方法是使吊臂TCP、顶端跟踪器中心点和机器人臂的底座的动态坐标系重合且对齐。以这种方式,在吊臂CNC通道中建立的运动学变换使吊臂的TCP与顶端跟踪器中心点重合。机器人臂CNC通道的运动变换使机器人臂的动态底座坐标系与顶端跟踪器重合。
本领域中的技术人员将认识到,吊臂TCP可以在不同于头部底座动态坐标系的且不同于顶端跟踪器中心点的定位处,并且数学变换可以用于计算机器人臂底座动态坐标系的理论上完美的定位。这是比上面对重合吊臂TCP、顶端跟踪器CP和机器人臂底座动态坐标系概述的解决方案更复杂且更不简洁的解决方案。
控制系统使用动态坐标系偏移量或多个动态坐标系偏移量来按照地面坐标系实时地转换机器人臂的底座坐标系。然后,控制系统使用运动学变换来计算所需的关节定位(角关节或线性关节),以在地面坐标系中而不是在机器人底座坐标系中将末端执行器定位在经编程的定位处。
对于大面积任务,可能必须相对于地面移动交通工具。交通工具相对于地面的移动可以自动被控制,或者可以在预先计算的指导方针内被手动控制。在任何情况下,机器底座的位置都是由轮子或轨道、链条或铁轨或腿和脚引导的,且可能不是很准确。在这种情况下,使用多级控制系统,第一级近似地定位交通工具,第二级将吊臂定位到期望的顶端位置并以缓慢速率校正由于交通工具定位和定向以及吊臂偏转引起的任何误差,并且第三级测量第三级机器人臂底座坐标系的定位和定向,且然后精确地定位并补偿,以相对于地面坐标系稳定和引导末端执行器。测量和控制的级的数量可以扩展到任意多个控制系统、动态坐标系和测量系统。对于稳定性来说,控制的带宽和运动系统的机械响应速率从交通工具到末端执行器的增加是重要的。
在一些情况下,必须相对于移动物体而不是地面来使末端执行器稳定。假设相对于移动物体坐标系来测量交通工具坐标系和顶端跟踪器坐标系的相对定位(反之亦然),与交通工具相比,移动物体可以被视为类似于地面,除了它不是惯性固定坐标系以外。在这种情况下,优选地,对惯性固定坐标系(例如地球或INS,尽管是缓慢旋转的坐标系)进行测量也使运动动态极限能够被观察到。
该控制系统可用于诸如自动化砌砖、精密采矿、机器加工、机器人装配、喷漆和3D打印的任务。它特别适用于对基础设施管道的自动挖沟、铁路和公路施工、自动管道铺设以及用于建造长墙(诸如高速公路声墙)。
本发明可应用于用于下列应用的机载或海上设备:诸如疏浚、海堤施工、油田和风力涡轮机维修、船员转移、过驳(ship to ship transfer)或空对空转移或加油或直升机电力线维修或直升机集材。
本发明适用于多个运动链和多个动态坐标系。本发明对相对于地面使附接到在移动机器上的吊臂的末端执行器稳定是特别有用的。当机器移动时,机器的加速度将动态力传递给吊臂,且吊臂开始以其固有频率振荡。假设在吊臂的末端处的补偿机器人具有比吊臂运动的振幅更大的振幅以及比吊臂(和交通工具)的固有频率快得多的响应,则补偿机器人可以校正由于从交通工具行程的反弹而引起的吊臂运动。补偿机器人没有很大的运动范围,因此必须也校正吊臂的姿势,以使补偿机器人保持在它的可用运动范围内。
补偿机器人的启动将动态力传递给吊臂,其又进一步激励吊臂。为了最小化吊臂的急拉运动,吊臂是刚性的且没有机械游隙(mechanical play)和侧隙(backlash)是合乎需要的。
对于(可选的)移动交通工具平稳地行驶是合乎需要的,因此它在其上移动的地面被分级(graded)是合乎需要的,并且交通工具具有悬架是合乎需要的。理想地,悬架是自调平的。可选地,交通工具可以安装有可控的推土板,使得它在地面上行驶之前使地面变平。可选地,末端执行器可以是推土板或铲斗,并且机器可以在继续前进到它自己的路径之前对它自己的路径进行分级和调平。
为了最小化机器和吊臂的急拉运动,机器的交通工具的控制系统被用来小心地控制运动。优选地,当需要稳定的末端执行器操作时,可以设置操作模式。交通工具和吊臂运动优选地是跃度、加速度和速度受限的。在电动液压控制系统中,控制电气引导系统以限制可用的控制输入。在伺服电气系统中,伺服动力学优选地被CNC通道和轴配置限制。优选地,利用全CNC路径规划,而不是设定点或点对点运动控制。全CNC路径规划器计算对于每个控制周期(通常是每ms)的路径点。优选地,它计算路径以优化定位、速度、加速度和跃度。点对点控制只将设定点改变到期望的终点,使得大的控制反馈误差值被创建,并且反馈控制回路命令运动结束错误。
交通工具定位和定向的测量可以根据6DOF顶端跟踪器的测量结果被反算(使用吊臂的反向运动链,其当然不考虑吊臂的偏转或振动,除非它例如由加速度计测量,但是通常使顶端跟踪器运动被重度过滤,以使运动的振动分量平稳)。优选地,交通工具定位和定向由安装到机器的交通工具上的或者安装到交通工具附近的机器的一部分(诸如在挖掘机上的驾驶室)上的定位跟踪设备提供。交通工具跟踪设备可具有相对低的数据速率和低准确度(诸如GPS或全站仪)目标,但是最好的性能将使用准确的传感器系统(诸如激光跟踪器和智能跟踪传感器)来实现。
吊臂的运动在明显小于它的固有频率(1%至10%或10%至20%或30%至50%或50%至99%)的带宽处被控制,以便缓慢补偿吊臂运动误差和偏转以及底座运动误差或移动。吊臂的受控运动旨在校正吊臂的顶端的定位,但不一定校正吊臂顶端定向。吊臂控制和响应可具有0.1至1Hz、或1Hz至10Hz或10Hz至30Hz的带宽。末端执行器补偿机器人必须具有高固有频率(相对于吊臂和底座)和快速动态响应。补偿机器人以6DOF进行补偿和稳定。顶端跟踪器的测量系统必须具有高数据速率,优选地处于与末端执行器控制系统相同的伺服回路控制速率,最小值为250Hz,且优选地为1000Hz或更高(也许为10kHz)。如果数据速率显著更低,则动态坐标系定位和定向(最终导致补偿输入)具有阶跃变化,其当系统对致动器力输入做出响应时可能引起结构振动。如果阶跃变化被过滤以提供平稳变化,则延迟和运动滞后被引入,并且末端执行器定位是不准确的且可能相对于地面振荡。
动态坐标系的链和具有补偿吊臂链和机器人补偿末端执行器的机器在需要在大工作体积上的精细定位和运动控制的许多应用中是有用的。
下面给出了一些示例应用:
船转移
船(ship)至船、或船至石油钻机、或船至天然气钻机、或船至风力涡轮机的货物、液体或人员的转移是本发明的控制系统的潜在应用。已知使船只(vessel)稳定用于定位保持。也已知用陀螺仪或推进器使船只横滚稳定。已知用推进器使船只偏航(yaw)稳定。还已知向工作设备(例如吊臂)提供升沉、俯仰(pitch)、横滚和偏航补偿。
然而,已知对于在汹涌海面状况中的长吊臂,现有的补偿方法有局限。粗略的吊臂定位和精细的末端执行器定位或者甚至精细定位的额外阶段将在更大的海面状况和更恶劣的天气下实现更安全的转移、挂钩、断开和操作。
例如,图27和图28示出了安装在FPSO 2759(浮式、生产、储存和卸载船)上的吊臂2715,该吊臂2715将LNG转移到LNG油轮2757。吊臂2715具有精细定位臂2725,其可以靠近或连接到油轮。跟踪器2735a、2735b测量吊臂顶端2733和精细定位臂的顶端2737的相对定位。如果精细定位臂与油轮2757连接或接合,则控制系统切换到被动模式(即没有主动控制),使得精细定位臂现在充当悬架系统,以吸收在吊臂顶端和油轮之间的相对移动。
参考图29,如所示,由在供应船只2963的甲板上的Stewart平台2971相对于石油或天然气钻机2965或FPSO(浮动生产储存和卸载船)以六个自由度稳定的平台将使用在钻机或FPSO上的现有起重机来实现货物和人员的更安全转移。钻机2965上的跟踪器2967跟踪在船只2963上的目标2969,而在船只上的跟踪器2935a跟踪在吊臂2915的末端处的目标2933。该数据在必要时通过无线电链路被馈送到与钻机上的吊臂的底座定位在一起的控制系统,以如所讨论的那样控制吊臂2915和末端执行器2927,并且还可以被反馈以帮助控制在船只2963的甲板上的Stewart平台2971。这为操纵大的和昂贵的物品提供特别显著的操作优势。目前,当海面状况达到极限时,转移必须停止。
对于需要或希望在所有天气条件下将东西从一艘船只转移到另一艘船只或者从一艘船只转移到固定对象的石油化学产品、可再生能源和军事操作者(以及其他人),这可能有很大的好处。
长建筑物
长结构(例如高速公路的隔音墙)可以用砌砖机来建造,如图26所示。按照传统的布置,必须从一个位置建造,然后周期性地重新定位,并且从下一个固定位置建造。能够从爬行机建造将是有利的。这将减少重新定位损失的时间,并将实现具有更短吊臂的更小更紧凑的机器。带有短吊臂2615的履带式机器2613将是理想的。提供了多个固定地面基准2635以便于此。
长挖沟
用于基础设施(例如地下管线和地下电缆)的长沟槽可以用已知的(例如由DitchWitch或Vermeer制造的)连续挖沟机挖掘,或者对于更大横截面的沟槽用(例如由Caterpillar、Volvo、John Deere、Komatsu和其他制造的)挖掘机挖掘。对于许多应用(例如对于污水管道),沟槽和管道的精确坡度和位置很重要。对于许多应用(例如在城市中),知道精确定位很重要,以避免损坏现有的基础设施,例如管道、电缆、地基以及地下列车和公路隧道。当前的系统允许对挖掘进行某种控制,并向操作者提供挖掘深度或铲斗定位的反馈。在当前系统中,机器的底座(轨道)必须是固定的。
所描述的动态控制系统允许精确挖掘到目前其他方法无法实现的公差。此外,它允许预先编程的挖掘,以用于完全自主的操作。此外,它允许从连续移动的机器(例如沿着所提议的沟槽的路径爬行的履带式挖掘机)精确挖掘。
地面修整
已知使用平地机、推土机、装载机、挖掘平整机或自动刮板机来用推土板或铲斗使泥土或混凝土表面平滑。机器的固有设计将实现比它移动过的表面更平坦的表面,因为机器的几何结构提供平滑作用。已知使用自动控制将铲斗或推土板保持于预定的水平、坡度或轮廓可实现更准确和更快的结果。推土板或铲斗围绕横滚轴自动向上或向下移动或倾斜,以保持激光平面水平或坡度,或与由GPS或全站仪(total station)测量作为基准的轮廓相匹配。这些已知的控制系统具有低带宽,并且机器实现准确的结果,因为机器的固有设计将实现比它在上面行驶的表面更平坦的表面,即使没有机器引导。
本发明允许更复杂的机器布置(例如(经修改的)挖掘机)装配有多轴控制的推土板或铲斗,以用完全可编程的方式实现非常复杂的土方作业。
采矿
已知对采矿使用自动卡车。
挖掘机和正铲挖土机目前由机器操作员操作。该技术通过按照矿井坐标对底座移动(轨道底座)和挖掘程序进行预先编程来实现挖掘机和正铲挖土机的自主控制。
疏浚
安装在驳船上的挖掘机用于疏浚。疏浚通道深度、宽度、剖面和位置对航运安全极为重要。疏浚是昂贵的,因此使移动的废土的量最小化是有利的。疏浚越精确,越少的废土需要被移除。
驳船是漂浮的,因此当挖掘机移动时,驳船俯仰且横滚且移动。以6dof实时地测量驳船定位和定向使铲斗定位能够(经由测量挖掘机的姿势的已知传感器)被精确地计算、或者甚至被控制到一组预先编程的挖掘位置。
高架工作平台
已知使用各种高架工作平台(EWP),例如吊臂升降机或剪式升降机或由诸如JLG、Snorkel和Genie的制造商制造的垂直伸缩升降机。已知非常高的吊臂升降机以大的幅度摇摆,且使工作变得困难、危险或不可能。摇摆是吊臂升降机可工作的高度的限制因素。已知在平台上升的情况下驱动吊臂升降机或EWP引起摇摆,并使平台变得不舒适或危险。本发明提供了获得稳定平台的手段,使得当平台或EWP移动时,平台相对于地面或期望的轨迹是稳定的。
缆索悬挂式机器人
已知在由处于拉伸的缆索悬挂的平台上支撑机器人,缆索由高架门架或塔支撑(见PAR系统-张拉桁架和Chernobyl起重机以及拆除机器人)。绳索可以支撑高载荷,但结构具有低刚度。横向刚度非常低。通过将跟踪部件添加到悬挂的平台以提供机器人臂的底座的6DOF定位,机器人和末端执行器的定位的精度将大大提高。这将使这样的系统能够完成精确的工作,而不是它目前被用来完成的相对不精确的拆除工作。
非常精确的应用
这种系统可以包括检流计振镜,其与高功率激光器一起使用以用于激光切割、激光雕刻或3D增材激光熔化制造。
将认识到,还设想广泛的其他用途。例如,该系统可用于执行多层和/或高层建筑物的建造。在这点上,在建造期间,机器人底座可以由建筑物支撑或远离建筑物,该系统被用于补偿机器人底座相对于建筑物的移动,该移动可能是由建筑物的风荷载和/或用于支撑机器人底座的支撑系统引起的。
该系统还可以与上面提到的那些交通工具之外的广泛的其他交通工具(例如空间飞行器)一起使用。在该示例中,机器人底座可以安装在空间飞行器上,允许其用于执行与另一交通工具的交互(例如促进对接、卫星反演等)或者与其他物体的交互(例如与小行星或类似物体的交互)。
在一个示例中,该系统使用具有定位设备、测量系统和控制通道的级联系统。在一个实施例中,大范围的不准确总运动系统引导支撑大面积粗定位吊臂的交通工具,该粗定位吊臂然后支撑小动态补偿和精细定位机器人,该机器人然后又支撑甚至更精细的动态补偿和定位机构。
在一个示例中,该系统描述了移动机器和稳定末端执行器的动态坐标系和方法。在优选实施例中,提供了使补偿转变为开启和关闭或衰减转变的方法,使得移动末端执行器的机器人臂可以按照头部坐标系和地面或工作坐标系交替地工作。
将运动学变换编码为独立的软件是有利的。这意味着CNC内核不必被修改来适应不同的运动链。通过使用动态坐标系作为末端执行器机器人运动链的基础,末端执行器可以按照工作坐标系被编程,且进行所有正常CNC坐标转换和变换,诸如对于工作坐标的偏移和坐标系旋转。
对于机器人臂的运动链的底座的动态坐标系,补偿量的概念是抽象的。如果机器人臂的运动链的底座在它的编程位置处,则没有补偿量,且机器人臂将处于第一姿势。如果底座在它的实际位置处且机器人臂处于第一姿势,则末端执行器将在错误位置处(且在错误定向上),差异是补偿量。
在一个示例中,提供了一种用于由臂底座支撑的臂的控制系统,所述臂具有从其安装的末端执行器,所述末端执行器具有由另一臂底座支撑的另一臂,且所述另一臂具有安装在其上的另一末端执行器,所述臂通过与臂致动器连接的臂控制器相对于所述臂底座可移动以将所述末端执行器定位到经编程的位置,所述另一臂通过与另一臂致动器连接的另一臂控制器可移动以将所述另一末端执行器定位在经编程的定位处;所述控制系统具有跟踪器系统,以跟踪定位在邻近所述另一臂底座或末端执行器的一偏移量的第一目标的定位,并且跟踪以与所述另一末端执行器相距TCP偏移量定位的第二目标的定位和定向;其中,所述跟踪器系统跟踪所述第一目标的定位,并将数据馈送到所述臂控制器,以用慢速动态响应来操作所述臂致动器,以将所述第一目标动态地定位成接近所述偏移量,以将所述另一臂底座定位成接近所述经编程的位置,并且所述跟踪器系统跟踪所述第二目标的定位和定向,并将数据馈送到所述另一臂控制器以用快速动态响应来操作所述另一臂致动器,以将所述第二目标动态地定位并可选地定向到离所述经编程的定位和可选地定向的所述TCP偏移量。TCP偏移量可以由定位和可选地定向数据定义。在慢速动态响应和快速动态响应之间的差异与臂和另一臂的潜在惯性成反比。在另一臂比该臂小得多的情况下,该另一臂将具有较小的潜在惯性,并且可以用相对快速的动态响应来移动。
在一个示例中,所述第二目标以与所述另一末端执行器相距所述TCP偏移量来定位,以便随着所述另一末端执行器的移动和姿势来移动。在这种情况下,TCP偏移量由定位和定向数据定义,并且所述跟踪器系统测量所述第二目标的定位和定向。
通过“接近”所述经编程的位置,另一臂底座被移动得足够近,使得另一末端执行器在它的编程任务的范围内,即,另一臂可以将另一末端执行器移动到一个定位,以便可以完成另一末端执行器将要执行的任务。通过动态地定位以及动态地定位和定向,应该理解,当另一臂底座的定位由于偏转而变化时,它的定位(和在适用情况下的定向,见下文)经常处于检查状态,且由臂致动器以慢速动态响应来调整,并且另一末端执行器的定位和定向也经常处于检查状态,且由另一臂致动器以快速动态响应来调整。
在一个示例中,所述另一臂底座靠近所述臂的远端、远离所述臂底座被安装。
在一个示例中,所述另一臂底座和所述第一目标安装在被安装到臂的远端的头部上。
在一个示例中,所述头部枢转地安装到臂的远端。
在一个示例中,所述头部绕水平轴枢转地安装到臂的远端。
在一个示例中,所述跟踪器系统跟踪所述第一目标的定位和定向,并且将数据馈送到所述臂控制器,以用慢速动态响应操作所述臂致动器,以将所述第一目标定位并定向成接近所述偏移量,以将所述另一臂底座定位成接近所述经编程的位置。
在头部枢转地安装到臂的远端的情况下,头部的姿态(poise)可以由与臂控制器分离的控制器控制,在这种情况下,臂控制器只需要操作臂致动器来沿着三个正交轴定位第一目标。然而,对于头部的姿态的控制可以集成到臂控制器中,在这种情况下,可以跟踪第一目标的定位和定向。
在头部绕多轴机构枢转地安装到臂的远端的情况下,可以以六个自由度跟踪第一目标的定位和定向。可以以六个自由度跟踪第二目标的定位和定向。
在一个示例中,所述跟踪器系统包括用于所述第一目标和所述第二目标的单独目标跟踪设备。
在一个示例中,所述另一臂控制器可以可控地在第一状态和第二状态之间切换,在第一状态中所述另一臂控制器对从所述跟踪器系统得到的定位反馈数据做出响应,而在第二状态中以另一臂底座(以及因此,臂的远端)为基准的预先校准的定位数据被依赖,并且当在所述第一状态和所述第二状态之间切换时,所述另一臂控制器控制所述另一臂的移动,以衰减另一臂的移动,从而避免所述另一臂和所述另一末端执行器的突然移动。这种突然移动可被反馈给臂,使臂经历反应移动。
在一个示例中,所述臂底座设置有移动装置,以相对于地面移动所述臂底座。移动装置可以选自包含或未包含运移作用(locomotion)的轮式运输工具或者自供电的环形履带。移动装置可以包含自调平以使臂底座调平。
在一个示例中,所述臂底座安装在主动悬架系统上,并且所述臂底座包含用于所述跟踪器系统的第三目标,所述主动悬架系统具有与悬架致动器连接的悬架控制器,以响应于来自读取所述第三目标的定位和定向的所述跟踪器系统的数据来控制所述臂底座的定位和定向。
可选地,所述臂底座安装到具有比在主动悬架系统上的所述臂更大的惯性的物体上,并且所述臂底座包含用于所述跟踪器系统的第三目标;所述主动悬架系统具有与悬架致动器连接的悬架控制器,以响应于来自读取所述第三目标的定位和定向的所述跟踪器系统的数据来控制所述臂底座相对于所述物体的定位和定向,所述悬架致动器以比所述臂控制器操作所述臂致动器更慢的动态响应来控制所述臂底座的定位。
在另一个示例中,提供了一种用于由吊臂底座支撑的吊臂的控制系统,所述吊臂具有通过从其机器人底座安装的机器人臂,所述机器人臂具有末端执行器,所述吊臂通过与吊臂致动器连接的吊臂控制器相对于所述吊臂底座可移动以将所述机器人底座定位到经编程的位置,所述机器人臂通过与机器人臂致动器连接的机器人臂控制器可移动以将所述末端执行器定位在经编程的定位和定向处;所述控制系统具有跟踪器系统,以跟踪定位在靠近所述机器人底座一偏移量的第一目标的定位,并且跟踪以与所述末端执行器TCP相距TCP偏移量定位的第二目标的定位和定向;其中,所述跟踪器系统跟踪所述第一目标的定位,并将数据馈送到所述吊臂控制器,以用慢速动态响应来操作所述吊臂致动器,以将所述第一目标动态地定位成接近所述偏移量,以将所述机器人底座定位成接近所述经编程的位置,并且所述跟踪器系统跟踪所述第二目标的定位和定向,并将数据馈送到所述机器人臂控制器,以用快速动态响应来操作所述机器人臂致动器,从而将所述第二目标动态地定位和定向成离所述经编程的定位和定向所述TCP偏移量。TCP偏移量可以由定位和定向数据定义。
在一个示例中,所述第二目标以相对于所述末端执行器TCP的所述TCP偏移量来定位,以便随着所述末端执行器的移动和姿势而移动。
通过“接近”所述经编程的位置,机器人底座被移动得足够近,使得末端执行器在它的编程任务的范围内,即,机器人臂可以将末端执行器移动到一个位置,以便可以完成末端执行器将要执行的任务。通过动态地定位以及动态地定位和定向,应该理解,当机器人底座的定位由于偏转而变化时,它的定位(以及在适用情况下的定向,见下文)一直处于检查状态,且由吊臂致动器以慢速动态响应来调整,并且末端执行器的定位和定向也一直处于检查状态,且由机器人臂致动器以快速动态响应来调整。
在一个示例中,所述机器人底座被安装成靠近所述吊臂的远端、远离所述吊臂底座。
在一个示例中,所述机器人底座和所述第一目标安装在被安装到吊臂的远端的头部上。
在一个示例中,所述头部枢转地安装到吊臂的远端。
在一个示例中,所述头部绕水平轴枢转地安装到吊臂的远端。
在一个示例中,所述跟踪器系统跟踪所述第一目标的定位和定向,并且将数据馈送到所述吊臂控制器,以用慢速动态响应来操作所述吊臂致动器,以将所述第一目标定位和定向成接近所述偏移量,以将所述机器人底座定位成接近所述经编程的位置。
在头部枢转地安装到吊臂的远端的情况下,头部的姿态可以由与吊臂控制器分离的控制器控制,在这种情况下,吊臂控制器只需要操作吊臂致动器,以沿着三个正交轴定位第一目标。然而,对于头部的姿态的控制可以被集成到吊臂控制器中,在这种情况下,第一目标的定位和定向可以被跟踪。
在头部绕多轴机构枢转地安装到吊臂的远端的情况下,可以以六个自由度来跟踪第一目标的定位和定向。可以以六个自由度跟踪第二目标的定位和定向。
在一个示例中,所述跟踪器系统包括用于所述第一目标和所述第二目标的单独目标跟踪设备。
在一个示例中,所述机器人臂控制器可以可控地在第一状态和第二状态之间切换,在第一状态中所述机器人臂控制器对从所述跟踪器系统得到的定位反馈数据做出响应,而在第二状态中以机器人底座(和因此,吊臂的远端)为基准的预先校准的定位数据被依赖,并且当在所述第一状态和所述第二状态之间切换时,所述机器人臂控制器控制所述机器人臂的移动,以衰减机器人臂的移动,从而避免所述机器人臂和所述末端执行器的突然移动。这种突然移动可被反馈给吊臂,使吊臂经历反应移动。
在一个示例中,所述吊臂底座设置有移动装置,以相对于地面移动所述吊臂底座。该移动装置可以是从包含或未包含运移作用的轮式运输工具或自供电的环形履带中选出的交通工具。该移动装置可以包含自调平以使吊臂底座调平。这种自调平应该移动吊臂底座,以使吊臂底座和因此的吊臂稳定,抵抗在由交通工具遍历的地面中的波动引起的吊臂底座的定位和方向的变化。
在一个示例中,所述吊臂底座被安装在主动悬架系统上,并且所述吊臂底座包含用于所述跟踪器系统的第三目标,所述主动悬架系统具有与悬架致动器连接的悬架控制器,以响应于来自读取所述第三目标的定位和定向的所述跟踪器系统的数据,来控制所述吊臂底座的定位和定向。
可选地,所述吊臂底座安装到具有比在主动悬架系统上的所述吊臂更大的惯性的物体上,并且所述吊臂底座包含用于所述跟踪器系统的第三目标;所述主动悬架系统具有与悬架致动器连接的悬架控制器,以响应于来自读取所述第三目标的定位和定向的所述跟踪器系统的数据来控制所述吊臂底座相对于所述物体的定位和定向,所述悬架致动器以比所述吊臂控制器操作所述吊臂致动器更快的动态响应来控制所述吊臂底座的定位。
控制系统可以包括在机器上的不同定位处的多个跟踪器部件,使得跟踪器(或多个跟踪器)具有到由机器所支撑的一个或更多个跟踪器部件的视线。
在一个示例中,机器的控制系统包括评估视线的算法,以便可以选择在特定姿势下在跟踪器和跟踪器部件之间的最佳视线。最佳视线的标准包括:最准确的定位和定向解决方案(其可取决于跟踪器或其传感器的姿势)、跟踪器或传感器的视场、到末端执行器的距离(越近越好)、在经编程的路径或关键操作期间始终保持视线。
在一个示例中,所述机器包括在所述机器人臂上或在所述末端执行器上支撑的另一跟踪器部件,并且所述机器使用另一跟踪器系统来测量另一跟踪器部件的定位,并且向机器人臂组件施加另一补偿移动,以校正在所编程的另一跟踪器部件定位和所测量的另一跟踪器部件定位之间的变化。
吊臂底座可以是交通工具,其可以包括在交通工具上的定位处的跟踪器部件或者在交通工具上的各种定位处的多个跟踪器部件。跟踪器部件(多个跟踪器部件)可用于确定交通工具相对于工作空间坐标系的定位和定向。跟踪器部件(多个跟踪器部件)可用于确定用于移动交通工具的交通工具的定位和定向。跟踪器系统可以包括多个地面基准,以在交通工具沿着路径前进时跟踪跟踪器目标。
以上所述的布置可以在大尺寸的工作空间上实现高程度的动态运动质量和定位公差。这导致位于长吊臂或塔的末端处或在长缆索桁架上支撑的末端执行器的运动更加平稳。本发明的布置可以使由移动交通工具支撑的长吊臂或塔所支撑的末端执行器的运动平稳。
申请人技术的进一步细节在以下专利出版物和共同未决申请中被描述:US8166727、PCT/AU2008/001274、PCT/AU2008/001275、PCT/AU2017/050731、PCT/AU2017/050730、PCT/AU2017/050728、PCT/AU2017/050739、PCT/AU2017/050738、PCT/AU2018/050698、AU2017902625、AU2017903310、AU2017903312、AU2017904002和AU2017904110,这些文件的内容通过交叉引用被并入本文。
在整个本说明书和随附的权利要求中,除非上下文另有要求,否则措辞“包括(comprise)”以及变型例如“包括(comprises)”或“包括(comprising)”,将被理解为暗示包括陈述的整体或整体的组或步骤但不排除任何其它的整体或整体的组。如本文所用且除非另有说明,术语“大约”是指±20%。
本领域的技术人员将认识到,多种变型和修改将变得明显。对本领域的技术人员变得明显的所有的这样的变型和修改应当被认为落在本发明在描述之前宽泛地表现的精神和范围内。

Claims (38)

1.一种用于在物理环境内执行交互的系统,所述系统包括:
a)机器人底座,所述机器人底座相对于所述环境进行移动;
b)机器人臂,所述机器人臂安装到所述机器人底座,所述机器人臂包括安装在所述机器人臂上的末端执行器;
c)第一跟踪系统,所述第一跟踪系统测量指示所述机器人底座相对于所述环境的定位的机器人底座定位;
d)第二跟踪系统,所述第二跟踪系统测量所述机器人底座的移动;以及,
e)控制系统,所述控制系统使用机器人底座定位来至少部分地控制所述机器人臂以沿着末端执行器路径移动所述末端执行器,并且其中,所述控制系统:
i)至少部分地使用来自所述第一跟踪系统的信号确定所述机器人底座定位;和,
ii)在所述第一跟踪系统发生故障的情况下:
(1)使用来自所述第二跟踪系统的信号确定机器人底座定位;和,
(2)控制所述机器人臂以降低的末端执行器速率沿着所述末端执行器路径移动所述末端执行器。
2.根据权利要求1所述的系统,其中,所述系统包括机器人底座致动器,所述机器人底座致动器相对于所述环境移动所述机器人底座,并且其中,所述控制系统使用所述机器人底座定位来至少部分地控制所述机器人底座致动器以沿着机器人底座路径移动所述机器人底座,并且其中,在所述第一跟踪系统发生故障的情况下:
a)使用来自所述第二跟踪系统的信号确定所述机器人底座定位;和,
b)控制所述机器人底座致动器以降低的机器人底座速率沿着所述机器人底座路径移动所述机器人底座。
3.根据权利要求1或权利要求2所述的系统,其中,所述控制系统基于以下项中的至少一项来检测所述第一跟踪系统的故障:
a)来自所述第一跟踪系统的信号的丢失;
b)来自所述第一跟踪系统的误差信号;以及,
c)基于所测量的机器人底座定位和预期的或先前的机器人底座定位之间的差的机器人底座偏差是否超过阈值。
4.根据权利要求1至3中的任一项所述的系统,其中,在所述第一跟踪系统发生故障的情况下,所述控制系统执行以下项中的至少一项:
a)逐渐降低机器人底座速率;
b)在预定时间段之后停止所述机器人底座的移动;
c)逐渐降低所述末端执行器速率;以及,
d)在预定时间段之后停止所述末端执行器的移动。
5.根据权利要求1至4中的任一项所述的系统,其中,在所述第一跟踪系统发生故障的情况下,所述控制系统使用来自所述第二跟踪系统的信号来控制所述第一跟踪系统,以试图恢复所述第一跟踪系统。
6.根据权利要求1至5中的任一项所述的系统,其中,所述末端执行器根据末端执行器路径速度分布图沿着末端执行器路径移动,并且其中,所述控制系统通过缩放所述末端执行器路径速度分布图来降低所述末端执行器速率。
7.根据权利要求1至6中的任一项所述的系统,其中,所述机器人底座根据机器人底座路径速度分布图沿着机器人底座路径移动,并且其中,所述控制系统通过缩放所述机器人底座路径速度分布图来降低机器人底座速率。
8.根据权利要求1至7中的任一项所述的系统,其中,所述第一跟踪系统包括:
a)跟踪底座,所述跟踪底座包括多个跟踪头部,每个跟踪头部具有:
i)辐射源,所述辐射源被布置成向目标发送辐射束;
ii)底座传感器,所述底座传感器感测反射的辐射;以及,
iii)底座跟踪系统,所述底座跟踪系统:
(1)跟踪所述目标的定位;
(2)控制所述跟踪器头部的定向以跟随所述目标;以及,
(3)使用角度传感器确定所述头部的定向;
b)目标系统,所述目标系统包括安装到所述机器人底座的多个目标,每个目标包括将所述辐射束反射到各自的跟踪头部的所述底座传感器的反射器;
其中,所述第一跟踪系统根据来自所述传感器的信号确定所述机器人底座的所述定位。
9.根据权利要求1至7中的任一项所述的系统,其中,所述第一跟踪系统包括:
a)跟踪底座,所述跟踪底座包括跟踪器头部,所述跟踪器头部具有:
i)辐射源,所述辐射源被布置成向目标发送辐射束;
ii)底座传感器,所述底座传感器感测反射的辐射;以及,
iii)底座跟踪系统,所述底座跟踪系统:
(1)跟踪所述目标的定位;
(2)控制所述跟踪器头部的定向以跟随所述目标;以及,
(3)使用角度传感器确定所述头部的定向;以及,
b)目标,所述目标包括:
i)目标传感器,所述目标传感器感测所述辐射束;以及,
ii)目标跟踪系统,所述目标跟踪系统:
(1)跟踪所述跟踪底座的定位;
(2)控制所述目标的定向以跟随所述跟踪器头部;和,
(3)使用角度传感器确定所述目标的定向;以及,
c)跟踪器处理系统,所述跟踪器处理系统根据来自所述传感器的信号确定所述跟踪器底座和目标的相对定位。
10.根据权利要求1至9中的任一项所述的系统,其中,所述控制系统:
a)计算延伸到末端执行器目的地的末端执行器路径;
b)基于所述末端执行器路径生成机器人控制信号;和,
c)将所述机器人控制信号施加到所述机器人臂,以使所述末端执行器根据所述末端执行器路径移动。
11.根据权利要求10所述的系统,其中,所述控制系统:
a)使用来自所述第一跟踪系统的信号确定当前机器人底座定位;和,
b)基于所述末端执行器路径和所述当前机器人底座定位生成机器人控制信号。
12.根据权利要求10或权利要求11所述的系统,其中,所述控制系统在以下项中的至少一项中计算所述末端执行器路径:
a)环境坐标系;和,
b)机器人底座坐标系。
13.根据权利要求10至12中的任一项所述的系统,其中,所述控制系统重复地:
a)基于所述机器人底座定位和预期的机器人底座定位计算机器人底座偏差;
b)基于所述机器人底座偏差计算校正,所述校正指示路径修改;和,
c)根据所述校正生成控制信号。
14.根据权利要求10至12中的任一项所述的系统,其中,所述控制系统:
a)使用当前机器人底座定位和所述末端执行器路径计算机器人臂运动学;和,
b)基于所述末端执行器路径和所计算的机器人臂运动学来生成机器人控制信号。
15.根据权利要求14所述的系统,其中,所述当前机器人底座定位指示所述机器人臂运动学的原点,并且所述机器人底座定位在环境坐标系中确定,从而允许所述机器人臂在所述环境坐标系中被控制。
16.根据权利要求10至12中的任一项所述的系统,其中,所述控制系统重复地:
a)基于所述当前机器人底座定位计算所述末端执行器路径;和,
b)基于所述末端执行器路径生成机器人控制信号。
17.根据权利要求10至16中的任一项所述的系统,其中,所述控制系统至少部分地使用基准机器人底座定位来计算所述末端执行器路径,所述基准机器人底座定位指示以下项中的至少一项:
a)当前机器人底座定位;
b)基于所述机器人底座从当前机器人底座定位开始的移动的预测的机器人底座定位;
c)基于所述机器人底座沿着机器人底座路径的移动的预测的机器人底座定位;以及,
d)在所述末端执行器到达所述末端执行器目的地时的预想的机器人底座定位。
18.根据权利要求1至17中的任一项所述的系统,其中,所述控制系统:
a)确定相对于所述机器人底座偏移的并且至少部分地根据末端执行器定位来定义的虚拟机器人底座定位;和,
b)使用所述虚拟机器人底座定位来执行以下项中的至少一项:
i)计算机器人底座路径;和,
ii)生成机器人底座致动器控制信号。
19.根据权利要求18所述的系统,其中,所述虚拟机器人底座定位与基准末端执行器定位一致,所述基准末端执行器定位是以下项中的至少一项:
a)操作定位,所述操作定位指示当在所述环境中执行交互时所述末端执行器的定位;
b)操作前定位,所述操作前定位指示在所述环境中开始交互之前所述末端执行器的定位;和,
c)默认定位,所述默认定位指示在所述环境中执行交互之后所述末端执行器的定位。
20.根据权利要求18或权利要求19所述的系统,其中,所述第一跟踪系统测量指示安装在所述机器人底座上的目标的定位的目标定位,并且所述控制系统通过将所述目标定位变换成所述虚拟机器人底座定位来使用所述目标定位确定所述虚拟机器人底座定位。
21.根据权利要求1至20中的任一项所述的系统,其中,所述控制系统:
a)获取多个末端执行器目的地的指示;
b)至少部分地使用来自所述第一跟踪系统的信号来确定机器人底座定位;
c)根据所述末端执行器目的地计算从所述机器人底座定位延伸的机器人底座路径,所述机器人底座路径被配置成允许所述机器人底座根据定义的机器人底座路径速度分布图沿着所述机器人底座路径的连续移动;
d)基于所述机器人底座路径生成机器人底座控制信号;以及,
e)将所述机器人底座控制信号施加到所述机器人底座致动器,以使所述机器人底座根据所述机器人底座路径速度分布图沿着所述机器人底座路径移动。
22.根据权利要求21所述的系统,其中,以下项中的至少一项成立:
a)所述机器人底座路径不包括任何间断;和,
b)机器人底座路径速度分布图不包括任何间断的速度变化。
23.根据权利要求21或权利要求22所述的系统,其中,所述控制系统:
a)定义交互窗口;和,
b)至少部分地使用所述交互窗口确定所述机器人底座路径。
24.根据权利要求21至23中的任一项所述的系统,其中,所述控制系统:
a)监测末端执行器交互;和,
b)根据所述监测的结果,选择性地修改所述机器人底座控制信号,以使所述机器人底座以低于所述机器人底座路径速度分布图的机器人底座速度移动。
25.根据权利要求21至24中的任一项所述的系统,其中,所述机器人底座路径包括与每个末端执行器目的地相关联的交互窗口,并且其中,当所述机器人底座进入交互窗口时,所述控制系统:
a)控制所述机器人臂以开始以下项中的至少一项:
i)交互;和,
ii)将所述末端执行器沿着末端执行器路径移动到所述末端执行器目的地;以及,
b)通过确定在所述机器人底座接近交互窗口的出口时交互是否将完成来监测所述交互;以及,
c)逐渐降低所述机器人底座速度,以确保在所述机器人底座到达所述交互窗口的出口时所述交互完成。
26.根据权利要求1至17中的任一项所述的系统,其中,所述机器人底座是静止的,并且所述环境相对于所述机器人底座移动。
27.根据权利要求1至26中的任一项所述的系统,其中,所述控制系统考虑以下项中的至少一项来生成所述机器人控制信号:
a)末端执行器速度分布图;
b)机器人动力学;以及,
c)机器人运动学。
28.根据权利要求1至27中的任一项所述的系统,其中,所述控制系统包括计算机数控系统。
29.根据权利要求1至28中的任一项所述的系统,其中,所述控制系统执行以下项中的至少一项:
a)针对所述控制系统的处理周期重复步骤;
b)针对所述控制系统的连续处理周期重复步骤;以及,
c)基于所述第一跟踪系统和所述第二跟踪系统中的至少一个的刷新速率重复步骤。
30.根据权利要求1至29中的任一项所述的系统,其中,所述机器人底座包括安装到吊臂的头部。
31.根据权利要求30所述的系统,其中,所述吊臂附接到交通工具。
32.根据权利要求1至31中的任一项所述的系统,其中,所述系统用于以下项中的至少一项:
a)在所述环境中定位物体或材料;
b)从所述环境中取回物体或材料;以及,
c)在所述环境中修改物体或材料。
33.根据权利要求1至32中的任一项所述的系统,其中,所述环境是以下项中的至少一项:
a)建筑场地;
b)施工场地;以及,
c)交通工具。
34.根据权利要求1至32中的任一项所述的系统,其中,所述第二跟踪系统是以下项中的至少一项:
a)惯性跟踪系统;以及,
b)惯性测量单元(IMU)。
35.一种用于使用系统在物理环境内执行交互的方法,所述系统包括:
a)机器人底座,所述机器人底座相对于所述环境进行移动;
b)机器人臂,所述机器人臂安装到所述机器人底座,所述机器人臂包括安装在所述机器人臂上的末端执行器;
c)第一跟踪系统,所述第一跟踪系统测量指示所述机器人底座相对于所述环境的定位的机器人底座定位;
d)第二跟踪系统,所述第二跟踪系统测量所述机器人底座的移动,以及;
e)控制系统,所述控制系统使用机器人底座定位来至少部分地控制所述机器人臂以沿着末端执行器路径移动所述末端执行器,并且其中,所述方法包括在所述控制系统中:
i)至少部分地使用来自所述第一跟踪系统的信号确定所述机器人底座定位;和,
ii)在所述第一跟踪系统发生故障的情况下:
(1)使用来自所述第二跟踪系统的信号确定机器人底座定位;和,
(2)控制所述机器人臂以降低的末端执行器速率沿着所述末端执行器路径移动所述末端执行器。
36.根据权利要求35所述的方法,其中,所述方法使用根据权利要求1至34中的任一项所述的系统执行。
37.一种计算机程序产品,所述计算机程序产品包括计算机可执行代码,当所述计算机可执行代码由适当编程的控制系统执行时,使所述控制系统控制用于在物理环境内执行交互的系统,所述系统包括:
a)机器人底座,所述机器人底座相对于所述环境进行移动;
b)机器人臂,所述机器人臂安装到所述机器人底座,所述机器人臂包括安装在所述机器人臂上的末端执行器;
c)第一跟踪系统,所述第一跟踪系统测量指示所述机器人底座相对于所述环境的定位的机器人底座定位;和,
d)第二跟踪系统,所述第二跟踪系统测量所述机器人底座的移动,并且其中,所述控制系统使用机器人底座定位来至少部分地控制所述机器人臂以沿着末端执行器路径移动所述末端执行器,并且其中,所述控制系统:
i)至少部分地使用来自所述第一跟踪系统的信号确定所述机器人底座定位;和,
ii)在所述第一跟踪系统发生故障的情况下:
(1)使用来自所述第二跟踪系统的信号确定机器人底座定位;和,
(2)控制所述机器人臂以降低的末端执行器速率沿着所述末端执行器路径移动所述末端执行器。
38.根据权利要求37所述的计算机程序产品,其中,所述计算机程序产品用于使所述控制系统控制根据权利要求1至34中的任一项所述的系统。
CN201980060671.8A 2018-07-16 2019-07-16 交互系统的备份跟踪 Pending CN112703092A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2018902557 2018-07-16
AU2018902557A AU2018902557A0 (en) 2018-07-16 Backup tracking for an interaction system
PCT/AU2019/050743 WO2020014737A1 (en) 2018-07-16 2019-07-16 Backup tracking for an interaction system

Publications (1)

Publication Number Publication Date
CN112703092A true CN112703092A (zh) 2021-04-23

Family

ID=69163960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980060671.8A Pending CN112703092A (zh) 2018-07-16 2019-07-16 交互系统的备份跟踪

Country Status (5)

Country Link
US (1) US20210370509A1 (zh)
EP (1) EP3823797A4 (zh)
CN (1) CN112703092A (zh)
AU (1) AU2019305681A1 (zh)
WO (1) WO2020014737A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114918937A (zh) * 2022-05-20 2022-08-19 埃夫特智能装备股份有限公司 一种基于位置传感技术的喷涂枪及其机器人便捷编程装置
CN117531948A (zh) * 2024-01-10 2024-02-09 南京航空航天大学 人机协作铆接系统及协作铆接方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2017294796B2 (en) 2016-07-15 2019-05-30 Fastbrick Ip Pty Ltd Brick/block laying machine incorporated in a vehicle
AU2018295572B2 (en) 2017-07-05 2022-09-29 Fastbrick Ip Pty Ltd Real time position and orientation tracker
EP3669138B1 (en) 2017-08-17 2023-05-24 Fastbrick IP Pty Ltd Laser tracker with improved roll angle measurement
CN111213098B (zh) 2017-08-17 2024-03-15 快砖知识产权私人有限公司 用于交互系统的通信系统
CN109678055A (zh) * 2018-11-07 2019-04-26 上海图森未来人工智能科技有限公司 移动吊装设备控制系统及方法、服务器、移动吊装设备
EP3881153B1 (en) 2018-11-14 2023-11-29 Fastbrick IP Pty Ltd Position and orientation tracking system
WO2020128905A1 (en) * 2018-12-19 2020-06-25 3M Innovative Properties Company Automated surface preparation system
JP7368135B2 (ja) * 2019-07-31 2023-10-24 ファナック株式会社 複数の可動部を有する物品搬送システム
CN110559083B (zh) * 2019-09-10 2020-08-25 深圳市精锋医疗科技有限公司 手术机器人及其末端器械的控制方法、控制装置
AU2021258902A1 (en) * 2020-04-22 2022-12-15 Fastbrick Ip Pty Ltd Block transfer apparatus and improved clamping assembly for use therewith
US11945123B2 (en) 2020-04-28 2024-04-02 Altec Industries, Inc. Head mounted display for remote operation of machinery
US20220193903A1 (en) * 2020-12-18 2022-06-23 The Boeing Company End effector compensation of a robotic system
DE102021212542B3 (de) * 2021-11-08 2022-12-22 Volkswagen Aktiengesellschaft Verfahren zum Betreiben eines mehrachsigen Roboters und Roboter
WO2023156517A1 (en) * 2022-02-17 2023-08-24 Inrotech A/S Mobile welding robot with remote center of motion
WO2024000033A1 (en) * 2022-06-30 2024-01-04 Fastbrick Ip Pty Ltd Construction material delivery
US11660750B1 (en) * 2022-07-28 2023-05-30 Altec Industries, Inc. Autonomous and semi-autonomous control of aerial robotic systems
US20240054116A1 (en) * 2022-08-10 2024-02-15 Wilder Systems Inc. Database for a coordinate system of an aircraft

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120377A1 (en) * 2001-12-26 2003-06-26 Lockheed Martin Corporation Machine for performing machining operations on a workpiece and method of controlling same
JP2003266345A (ja) * 2002-03-18 2003-09-24 Sony Corp 経路計画装置、経路計画方法及び経路計画プログラム並びに移動型ロボット装置
CN1745987A (zh) * 2004-09-10 2006-03-15 中国科学院自动化研究所 一种移动机械手控制系统
CN1846181A (zh) * 2003-06-20 2006-10-11 美国发那科机器人有限公司 多个机械手的跟踪和镜像微动
CN104108098A (zh) * 2013-04-18 2014-10-22 株式会社安川电机 移动机器人、移动机器人的定位系统及定位方法
CN107111307A (zh) * 2014-11-11 2017-08-29 X开发有限责任公司 在环境中动态维持机器人装置的机群的地图以便于机器人动作
US9757859B1 (en) * 2016-01-21 2017-09-12 X Development Llc Tooltip stabilization
CN107253192A (zh) * 2017-05-24 2017-10-17 湖北众与和智能装备科技有限公司 一种基于Kinect的无标定人机交互控制系统及方法
US20170329321A1 (en) * 2015-03-04 2017-11-16 Abb Ag Safety control system and method of operation of a safety control system
WO2017198299A1 (en) * 2016-05-19 2017-11-23 Abb Schweiz Ag Method of simulating a robotic system
CN107618030A (zh) * 2016-07-16 2018-01-23 深圳市得意自动化科技有限公司 基于视觉的机器人动态跟踪抓取方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2007203730B2 (en) 2005-12-30 2012-09-27 Fastbrick Ip Pty Ltd An automated brick laying system for constructing a building from a plurality of bricks
EP2244865A4 (en) 2007-08-28 2013-08-28 Goldwing Nominees Pty Ltd SYSTEM AND METHOD FOR PRECISELY REAL-TIME CONTROL OF THE POSITION AND ORIENTATION OF TOOLS
DE502009000624D1 (de) * 2008-12-17 2011-06-16 Kuka Lab Gmbh Verfahren zum abfahren einer vorgegebenen bahn durch einen manipulator, sowie steuervorrichtung zur
US9902071B2 (en) * 2015-12-18 2018-02-27 General Electric Company Control system and method for brake bleeding
US10059003B1 (en) * 2016-01-28 2018-08-28 X Development Llc Multi-resolution localization system
AU2017294796B2 (en) * 2016-07-15 2019-05-30 Fastbrick Ip Pty Ltd Brick/block laying machine incorporated in a vehicle
EP3554774A1 (en) * 2016-12-16 2019-10-23 Mako Surgical Corp. Techniques for detecting errors or loss of accuracy in a surgical robotic system
US10162058B2 (en) * 2016-12-23 2018-12-25 X Development Llc Detecting sensor orientation characteristics using marker-based localization
US10870996B2 (en) * 2017-03-31 2020-12-22 Canvas Construction, Inc. Automated insulation application system and method
US10247542B2 (en) * 2017-08-09 2019-04-02 Leica Geosystems Ag Handheld measuring aid with a 3-axis joint connection and a spherical encoder
US10437252B1 (en) * 2017-09-08 2019-10-08 Perceptln Shenzhen Limited High-precision multi-layer visual and semantic map for autonomous driving
JP6633584B2 (ja) * 2017-10-02 2020-01-22 ファナック株式会社 ロボットシステム
US11187793B1 (en) * 2018-03-02 2021-11-30 Direct Current Capital LLC Method for temporally calibrating sensor streams in an autonomous vehicle

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120377A1 (en) * 2001-12-26 2003-06-26 Lockheed Martin Corporation Machine for performing machining operations on a workpiece and method of controlling same
JP2003266345A (ja) * 2002-03-18 2003-09-24 Sony Corp 経路計画装置、経路計画方法及び経路計画プログラム並びに移動型ロボット装置
CN1846181A (zh) * 2003-06-20 2006-10-11 美国发那科机器人有限公司 多个机械手的跟踪和镜像微动
CN1745987A (zh) * 2004-09-10 2006-03-15 中国科学院自动化研究所 一种移动机械手控制系统
CN104108098A (zh) * 2013-04-18 2014-10-22 株式会社安川电机 移动机器人、移动机器人的定位系统及定位方法
CN107111307A (zh) * 2014-11-11 2017-08-29 X开发有限责任公司 在环境中动态维持机器人装置的机群的地图以便于机器人动作
US20170329321A1 (en) * 2015-03-04 2017-11-16 Abb Ag Safety control system and method of operation of a safety control system
US9757859B1 (en) * 2016-01-21 2017-09-12 X Development Llc Tooltip stabilization
WO2017198299A1 (en) * 2016-05-19 2017-11-23 Abb Schweiz Ag Method of simulating a robotic system
CN107618030A (zh) * 2016-07-16 2018-01-23 深圳市得意自动化科技有限公司 基于视觉的机器人动态跟踪抓取方法及系统
CN107253192A (zh) * 2017-05-24 2017-10-17 湖北众与和智能装备科技有限公司 一种基于Kinect的无标定人机交互控制系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J. R. DIAZ POSADA; U. SCHNEIDER; S. PIDAN; M. GERAVAND; P. STELZER;: "High accurate robotic drilling with external sensor and compliance model-based compensation", A. VERL 2016 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA), pages 3901 - 3907 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114918937A (zh) * 2022-05-20 2022-08-19 埃夫特智能装备股份有限公司 一种基于位置传感技术的喷涂枪及其机器人便捷编程装置
CN117531948A (zh) * 2024-01-10 2024-02-09 南京航空航天大学 人机协作铆接系统及协作铆接方法
CN117531948B (zh) * 2024-01-10 2024-04-05 南京航空航天大学 人机协作铆接系统及协作铆接方法

Also Published As

Publication number Publication date
AU2019305681A1 (en) 2021-02-04
US20210370509A1 (en) 2021-12-02
EP3823797A4 (en) 2022-04-06
WO2020014737A1 (en) 2020-01-23
EP3823797A1 (en) 2021-05-26

Similar Documents

Publication Publication Date Title
CN111052014B (zh) 用于末端执行器控制的动态路径
US20210370509A1 (en) Backup tracking for an interaction system
CN112689552A (zh) 主动阻尼系统
CN109715349B (zh) 安装在柔性臂上的机器人臂的动态补偿

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination