WO2002054329A1 - Versatile robot control system - Google Patents

Versatile robot control system Download PDF

Info

Publication number
WO2002054329A1
WO2002054329A1 PCT/US2001/049802 US0149802W WO02054329A1 WO 2002054329 A1 WO2002054329 A1 WO 2002054329A1 US 0149802 W US0149802 W US 0149802W WO 02054329 A1 WO02054329 A1 WO 02054329A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
control system
general purpose
joint
real
Prior art date
Application number
PCT/US2001/049802
Other languages
French (fr)
Inventor
John R. Lapham
Original Assignee
Robotic Workspace Technologies, Inc.
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
Application filed by Robotic Workspace Technologies, Inc. filed Critical Robotic Workspace Technologies, Inc.
Priority to CA002433503A priority Critical patent/CA2433503A1/en
Priority to EP01991483A priority patent/EP1352357A4/en
Priority to MXPA03005957A priority patent/MXPA03005957A/en
Priority to KR10-2003-7008859A priority patent/KR20030081370A/en
Priority to JP2002555354A priority patent/JP2004524171A/en
Publication of WO2002054329A1 publication Critical patent/WO2002054329A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • 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
    • B25J9/1697Vision controlled systems
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B1/00Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor
    • A61B1/00147Holding or positioning arrangements
    • A61B1/00158Holding or positioning arrangements using magnetic field
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B1/00Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor
    • A61B1/005Flexible endoscopes
    • A61B1/0051Flexible endoscopes with controlled bending of insertion part
    • A61B1/0055Constructional details of insertion parts, e.g. vertebral elements
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B1/00Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor
    • A61B1/04Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor combined with photographic or television appliances
    • A61B1/041Capsule endoscopes for imaging
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B1/00Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor
    • A61B1/31Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor for the rectum, e.g. proctoscopes, sigmoidoscopes, colonoscopes
    • 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/33242Watchdog for datacommunication, on error switch off supply to bus modules
    • 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/34Director, elements to supervisory
    • G05B2219/34047Dsp digital signal processor
    • 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/34Director, elements to supervisory
    • G05B2219/34261Windows, microsoft windows
    • 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/39001Robot, manipulator control
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/30End effector
    • Y10S901/41Tool
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/30End effector
    • Y10S901/41Tool
    • Y10S901/42Welding
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/48Counterbalance

Definitions

  • This invention relates to an apparatus and method for controlling a robot, and more particularly, to a versatile control system suitable for controlling robots of various electromechanical configurations.
  • robots generally have more joints (or axes) of motion thereby offering more degrees of freedom for positioning an end effector.
  • end effector has been adopted to cover the variety of active equipment carried by robots. Such equipment varies according to the manufacturing application, e.g. spot welding.
  • Robots generally include positioning arms with mechanical joints, actuators such as motors for causing movement about the joints, and sensors which aid in determining the position (or pose) of the robot. Although most include these core components, industrial robots new and old otherwise vary greatly in their electromechanical configurations . For example, some robots rely only on revolute,
  • Robots with a series of extending arms and revolute joints have been labeled articulating robots. Even among a given class of robots there is mechanical variation.
  • the revolute joints of articulating robots may be, for example, offset from their supporting arm - a shoulder joint, centered to the supporting arm - an elbow joint or axially aligned with the supporting arm - a wrist joint.
  • linear joints may be co-linear or orthogonal.
  • Actuators and feedback sensors are another source of the varying configurations.
  • some robots are equipped with stepper motors, others servo motors.
  • Electronic control systems are employed to control and program the actions of robots. For the necessary coordinated action between the end effector and the robot positioning, robot control systems preferably provide some level of software programming and an interface to field I/O and end effector subsystems.
  • robots are directed by a list of control instruction to move their end effector through a series of points in the robot workspace.
  • the sequence (or program) of robot instructions are preferably maintained in a non-volatile storage system (e.g. a computer file on magnetic-disk).
  • a non-volatile storage system e.g. a computer file on magnetic-disk.
  • Control systems based on standard computers are preferred because they offer robot users simplified access to manufacturing data via standard networks and I/O devices (e.g. standard floppy drives), the ability to run other software, and a competitive marketplace for replacement and expansion parts . Underlying the open systems movement is the goal of reducing robot users' long-term reliance on machine tool and robot manufacturers for system changes and maintenance.
  • a second feature sought by robot users is a common operator and programmer interface for all robots, facility (if not company) wide.
  • a common user interface for all robots reduces the need for specialized operator training on how to use the customized proprietary systems .
  • Robot control systems of the present invention provide robot control via commercially standard, general purpose computer hardware and software .
  • the control systems and methods according to the present invention are usable with robots of varying electromechanical configurations thereby allowing a common operator interface for robots from different robot manufacturers.
  • the present invention provides a control system for running or processing a program of robot instructions for robots equipped with a mechanical joint, a mechanical actuator to move the joint and a position feedback sensor.
  • the robot mechanical actuators receive an activation signal and the feedback sensor provides a position signal .
  • a control system according to the present invention includes a general purpose computer with a general purpose operating system and a real-time computer subsystem in electronic communication with the general purpose computer and operably linked to the mechanical actuator and the position feedback sensor.
  • the general purpose computer includes a program execution module to selectively start and stop processing of the program of robot instructions and to generate a plurality of robot move commands.
  • the real-time computer subsystem also includes a robot move module and a control algorithm.
  • the move module is linked to the data buffer to sequentially process the plurality of move commands and calculate a required position for the mechanical joint.
  • the control algorithm is in software communication with the robot move module to repeatedly calculate a required activation signal from the feedback signal and the required position for the mechanical joint.
  • the control system includes a robot-independent computer unit in electronic and software communications with a robot-specific controller unit.
  • the robot-independent computer unit is operably linked to the robot by an I/O interface and includes a video display and a first digital processor running an operator interface module for creating a sequence of robot move commands.
  • the robot-specific controller unit includes a second digital processor running a real-time tied operating system and a robot move module for executing the robot move commands.
  • FIGURE 6 is likewise an exemplary operator interface display screen generated in response to data stored in the configuration variable specifying a rotational joint configuration
  • FIGURE 7 is an exemplary operator interface display screen generated in response to data stored in the configuration variable specifying a linear joint. Description of the Preferred Embodiments
  • a single block or cell may indicate several individual software and/or hardware components that collectively perform the identified single function.
  • a single line may represent several individual signals or several instances of software data sharing or interconnection.
  • Robots as well as other manufacturing machines include positioning arms with mechanical joints, positioning actuators such as motors for causing movement about the joints, and position feedback sensors which provide an indication the position of some part of the robot.
  • positioning actuators such as motors for causing movement about the joints
  • position feedback sensors which provide an indication the position of some part of the robot.
  • the term "mechanical actuator” is a reference to the variety of devices used for robot motion. Exemplary robot actuators are hydraulic pistons, pneumatic pistons, servo motors, stepper motors and linear motors.
  • Control system 10 includes a general purpose computer 14 and a real-time computer subsystem 16.
  • general purpose computer is a reference to commercially standard computers which are designed for multiple applications as opposed to CPU-based electronics customized for a specific application such as device control . Examples include the well-known group of computers conventionally labeled IBM- compatible personal computers, or more simply PCs. PCs are based on complex instruction set (CISC) CPUs from Intel Corporation (INTEL), Advanced Micro Devices, Inc. (AMD) and VIA Technologies, Inc.
  • CISC complex instruction set
  • the related, evolving CPU product line from INTEL includes CPU chipsets available under the designations “80486 ® ,” “Pentium ® ,” “Pentium ® II,” “Pentium ® III.”
  • An exemplary CPU product line for general purpose computers by AMD is available under the designation “AMD-K6 ® .”
  • VIA Technologies, Inc. CPUs for general purpose computers are sold under the designation “Cyrix ® .”
  • RISC reduced instruction set
  • general purpose computer 14 operates with a general purpose operating system.
  • general purpose operating system is a reference to commercially standard operating systems such as those available from the Microsoft Corp. under the designations MS-DOS ® , Windows 95 ® , Windows 98 ® , Windows ® NT and Windows 2000 ® .
  • Other examples of general purpose operating systems include Macintosh ® (Apple Computers, Inc.), UNIX (various resellers), Open VMS ® (Compaq Computer Corporation) .
  • Installed for running on the general purpose computer are a program execution module 18, an operator interface module 20, and watchdog communication code segments 22.
  • module is a reference to a software element such as a program, subprogram, software process, subroutine, or grouping of code segments and the like.
  • the software modules of control system 10 are preferably discrete executable programs which run as discrete processes. Unless otherwise indicated, the software modules and code segments are configured to share access to a variety of software variables and constants as needed through subroutine calls, common shared memory space, and the like.
  • Program execution module 18 processes programs of robot instructions 24, which can be stored as data files as represented in FIGURE 1. From robot instruction programs 24, program execution module 18 generates robot move commands 26 for delivery to real-time computer subsystem 16. Via execution module 18, the relatively more human readable robot instructions 24 generated by a robot operator are interpreted and translated into move commands 26 for real-time computer subsystem 16.
  • program execution module 18 allows operator control of the running of robot programs 24 by selectively starting and stopping the transfer of move commands 26 to real-time computer subsystem 16 in response to prompts from the operator via operator interface module 20.
  • Operator interface module 20 is operably linked to an operator display screen 28, a keyboard and/or mouse 30, and other standard peripherals as desired.
  • display screen 28 is a touch screen which allows a robot operator to input prompts and data through both displays and keyboard/mouse 30.
  • operator interface module 20 allows robot instruction files 24 to be loaded from disk and processed (or executed) by program execution module 18 for controllably moving robot 4.
  • Operator interface module 20 generates operator screens and accepts from the operator numeric data and prompts. Numeric data entries are communicated to other program modules as necessary. Prompts by the robot operator to start and stop the running of a robot program are received by operator interface module 20 and forwarded to execution module 18.
  • operator interface 20 In addition to accepting operator inputs for loading, starting and stopping programs 24, operator interface 20 preferably includes an editor for use by an operator to generate new programs of robot instructions 25. Because the present invention provides a control system which relies upon general purpose computers such as a Windows NT PC, it is equally possible to generate robot programs on another PC such as an office PC and then transfer the file to general purpose computer 14 through standard peripherals such as disk drives or computer network connections.
  • General purpose computer 14 is electronically linked for data exchange (i.e. communication) with realtime computer subsystem 16.
  • Real-time computer subsystem 16 preferably includes a hardware, firmware and software combination designed for process control applications.
  • real-time computers provide for substantially uninterruptible execution of calculations required for a plurality of control loops with relatively fast cycle times (e.g. 0.5-2 msec).
  • the CPU computer of real-time computer subsystem 16 is preferably a DSP-based computer.
  • DSP-based control computers the systems commercially available from Delta Tau Data Systems, Inc. (Chatsworth, CA) under the designations "PMAC”, "PMAC2,” “Turbo PMAC” and "UMAC" are presently preferred.
  • Real-time computer subsystem 16 includes a robot move module 32, a move command data buffer 34, kinematic models 36, servo control algorithms 38, and watchdog intercommunication code segments 40. Real-time subsystem 16 also includes I/O hardware and software drivers to provide an operable link to the positioning related electronics of robot 4. Represented by block 42 are the hardware and software components necessary for receiving and translating robot feedback signals 44 into computer data feedback signals 46. Likewise, block 48 represents the components necessary for converting computer data setpoints 50 into actuator-appropriate activation signals 52.
  • Activation signals 52 and feedback signals 44 may be analog signals, digital signals or combinations of both depending upon the configuration of robot 4.
  • the typical motor-with-amplifier actuator calls for an analog activation signal. Newer, so-called
  • Robot move module 32 is resident in real-time computer subsystem 16 to accept move commands 26 and feedback signals 44/46 to generate the necessary activation signals 50/52.
  • Robot move module 32 relies upon kinematic models 36 and servo control algorithms 38 to translate move commands 26 required joint positions and then appropriate activation signal setpoints 50.
  • move commands 26 are expressed as changes in joint position or as changes in end-effector position.
  • Move commands based on joint position rely upon a predefined range on a one-dimensional joint axis model, for example, +90 degrees to -90 degrees for a revolute axis and 0 to 1200 millimeters (mm) for a linear joint.
  • An example of a move command based on joint position is "set joint one at 60 degrees.”
  • robot move module 32 is programmed to accept joint move commands as a function call specifying the position of all robot mechanical joints 5, 6, 7 and 8, thereby allowing only one or all joints to be moved.
  • Move commands expressed as end-effector positions rely upon a predefined, but customary, three- dimensional coordinate system for locating the end- effector.
  • a move command based on end-effector position is a call to move the end effector to a point in the end- effector's workspace.
  • robot move module 32 includes software models for translating data from feedback signals 46 into joint position. The required calculation varies according to joint type and the type feedback signal available. For example, a feedback sensor directly measuring an indication of joint position require limited translation, while a feedback sensor measuring the number of rotations of a positioning motor may require a more complex translation.
  • robot move module 32 additionally includes a kinematic model for calculating the required. position of joints 5, 6, 7 and 8, given a desired position for end effector 9. More specifically, real-time computer subsystem 16 uses kinematic model algorithms for computation of the forward and inverse kinematics of the robot .
  • Forward kinematics computation refers to the determination of end-effector position and orientation given known joint positions or actuator positions of the robot.
  • Inverse kinematics is the determination of the joint angle or actuator positions given an end-effector position.
  • FIGURE 1 The required combination of individual joint axes models and overall kinematics models is represented in FIGURE 1 by block 36.
  • Kinematic algorithms are described in other patents and the technical literature. See, for example, Chapters 3 and 4 of Craig, John J. Introduction to Robotics: Mechanics and Control, 2nd Ed. , Addison-Wesley, 1989. The specific models employed vary according to the electromechanical configuration of the robot to be controlled.
  • real-time computer subsystem 16 also includes control algorithms 38 to provide the required dynamic calculations.
  • Preferred among available closed loop servo motor control schemes is a proportional-integral-derivative (PID) with feedforward algorithm.
  • Data buffer 34 is a software variable available to programs in both general purpose computer 14 and realtime computer subsystem 16 for storing multiple move commands 26 received from program execution module 18. Although the desired storage capacity for data buffer 34 can vary, in a preferred embodiment of the present invention data buffer 34 and connected modules are preferably configured such that from 2 to 10, and more preferably from 3 to 4 , move commands are stored.
  • control system 10 provides for substantially continuous, uninterrupted control of robot 4 even in response to program execution delays in general purpose computer 14.
  • the data bus connection is symbolically represented in FIGURE 1 by reference numeral 54.
  • the ISA bus, the PCI bus, and the VME bus are exemplary standard data buses, with the ISA bus being presently preferred.
  • the computer mother board portions of general purpose computer 14 and real-time computer subsystem 16 are data bus cards.
  • bus card is a reference to printed circuit boards with electronic components and a tab with a plurality of contacts that is received in the card slots of a data bus chassis.
  • the DSP real-time computers available from Delta Tau Data Systems, Inc.
  • control system 10 includes a security (or "watchdog") communication (blocks 22 and 40) between general purpose computer 14 and realtime computer subsystem 16.
  • Flowchart FIGURE 2 shows the preferred code segments for maintaining the watchdog management.
  • a preferred watchdog scheme includes code segments operating in both general purpose computer 14 and real-time computer subsystem 16. Resident in general purpose computer 14 is a status code segment 56 and resident in the real-time computer subsystem are a timer code segment 58, a timer reset code segment 60, and a fail safe code segment 62.
  • the code segments interact with two software variables: an activity software switch (ASW) 64 for indicating whether programs in general purpose computer 14 are active and/or error free, and a timer variable (TV) 66 for storing an elapsed time indication.
  • ASW activity software switch
  • TV timer variable
  • Timer variable 66 is resident in real-time computer subsystem 16 while activity software switch 64 is shared via data bus 54 or other means.
  • Activity software switch 64 is implemented as an integer software variable with an unset position being represented by zero and a set, or active position, being represented by one.
  • Status code segment 56 optionally, but preferably, runs sequentially with program execution module 18 (box 68) and repeatedly sets activity software switch 64 to the active position (box 74) . After the completion of a run cycle of program execution module 18, status code segment 56 examines other software variables which indicate special errors (box 70) or delays in the processing of other programs (box 72) in the general purpose computer 14. Accordingly, if program execution module 18 is interrupted or if errors or other delays are detected, activity switch 64 is not set.
  • Timer code segment 58 counts down timer variable 66 according to elapsing time.
  • Timer code segment 58 is preferably a system service function of real-time computer subsystem 16 and expressed in execution cycles.
  • timer reset code segment 60 When the activity software switch is in the active position (box 76) , timer reset code segment 60 repeatedly resets the timer variable to a predetermined amount of time (box 78; preferably two seconds) and repeatedly sets the activity software switch back to the unset position (box 80) . Fail safe code segment 62 responds to an overrun of timer variable 66 (box 82) by shutting down robot 4 via activation signals 50/52 and other robot I/O.
  • code segments 56, 58, 60 and 62 provide a watchdog service which will shut down robot 4 if the operation of general purpose computer 14 is stopped or delayed for more than two seconds.
  • general purpose computer 14 is suitable for controlling robots of various electromechanical configurations.
  • general purpose computer 14 serves as a robot-independent computer unit while real-time computer subsystem 16 serves as a somewhat robot-specific controller unit, or customized interface or adapter to the robot.
  • FIGURES 3 and 4 demonstrate the challenge of working with robots of different electromechanical configurations.
  • FIGURE 3 is side view of articulating robot 4 from FIGURE 1 in slightly larger scale to reveal greater detail .
  • the arms of robot 4 are connected by a series of revolute (or rotary) joints 5, 6, 7 and 8.
  • FIGURE 4 is side view of a robot 86 which is equipped with a revolute, torso joint 87 and two linear joints 88 and 89.
  • the operator interface of the present invention includes a configuration variable for storing data specifying the electromechanical configuration of the robot and display generating code segments for each type of configuration.
  • the configuration variable is defined and/or sized to store data defining the type of robot joint, linear or revolute, and whether a specified revolute joint is windable, i.e. capable of turning more than 360 degrees.
  • FIGURES 5 through 7 provide an example of how operator interface module 20 uses the configuration variable to accommodate different types of robots.
  • a display selecting code segment 90 responds to an operator request to set limits for joint/axis 3 (box 92) .
  • Code segment 90 checks in configuration variable 94 for data specifying whether joint 3 is linear or revolute (box 96) .
  • code segment 90 selects one of two available displays for setting joint limits. For a revolute joint type, box 98 is selected and the revolute joint/axis display of FIGURE 6 is generated at screen 28. For a linear joint type, box 100 is selected and the linear joint/axis display of FIGURE 7 is generated.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Architecture (AREA)

Abstract

An impoved, versatile robot control system (10) comprises a general purpose computer (14) with a general purpose operating system in electronic communication with a real-time computer subsystem (16). The general purpose computer includes a program execution module (18) to selectively start and stop processing of a program of robot instructions (24) and to generate a plurality of robot move commands (26). The real-time computer subsystem (16) includes a move command data buffer (34) for storing the plurality of move commands (26) , a robot move module (32) linked to the data buffer (34) for sequentially processing the moves and calculating a required position for a robot mechanical joint. The real-time computer subsystem (16) also includes a dynamic control algorithm (38) in software communication with the move module (32) to repeatedly calculate a required actuator activation signal (50/52) from a robot joint position feedback signal (44/46).

Description

VERSATILE ROBOT CONTROL SYSTEM
Field of the Invention
This invention relates to an apparatus and method for controlling a robot, and more particularly, to a versatile control system suitable for controlling robots of various electromechanical configurations.
Copyright Notification
Portions of this patent application contain materials that are subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document, or the patent disclosure, as it appears in the Patent and
Trademark Office.
Background of the Invention Industrial robots and similar highly flexible machine tools gained commercial acceptance during the late 1970s. Since then, the use of industrial robots has only increased, particularly for automobile manufacturing . The guiding purpose for industrial robots is manufacturing flexibility. Robots allow assembly lines and work cells to make different articles with no or minimal manual equipment changes. The list of robot applications in manufacturing is long and ever increasing. Examples include computer vision inspection, spot and arc welding, spray painting, drilling, part placement, and adhesive application.
The boundary between robots and machine tools is not strictly defined. Compared with conventional machine tools, robots generally have more joints (or axes) of motion thereby offering more degrees of freedom for positioning an end effector. In the robotics field, the term "end effector" has been adopted to cover the variety of active equipment carried by robots. Such equipment varies according to the manufacturing application, e.g. spot welding.
Robots generally include positioning arms with mechanical joints, actuators such as motors for causing movement about the joints, and sensors which aid in determining the position (or pose) of the robot. Although most include these core components, industrial robots new and old otherwise vary greatly in their electromechanical configurations . For example, some robots rely only on revolute,
(i.e. rotary) joints, while some are equipped with combinations of linear and revolute axes. Robots with a series of extending arms and revolute joints have been labeled articulating robots. Even among a given class of robots there is mechanical variation. The revolute joints of articulating robots may be, for example, offset from their supporting arm - a shoulder joint, centered to the supporting arm - an elbow joint or axially aligned with the supporting arm - a wrist joint. Likewise, linear joints may be co-linear or orthogonal. Actuators and feedback sensors are another source of the varying configurations. For example, some robots are equipped with stepper motors, others servo motors. Electronic control systems are employed to control and program the actions of robots. For the necessary coordinated action between the end effector and the robot positioning, robot control systems preferably provide some level of software programming and an interface to field I/O and end effector subsystems.
Conventional robot control systems are collections of customized electronics that vary according to robot configuration and robot manufacturer.
In manufacturing processes, robots are directed by a list of control instruction to move their end effector through a series of points in the robot workspace. The sequence (or program) of robot instructions are preferably maintained in a non-volatile storage system (e.g. a computer file on magnetic-disk). Manufacturing companies, the robot users, through their engineers and technicians, have come to demand two important features from manufacturing control systems. First, robot users seek control systems implemented using commercially standard computers and operating systems rather than customized proprietary systems. This trend toward the use of commercially standard computer hardware and software has been labeled the "open systems movement."
Control systems based on standard computers are preferred because they offer robot users simplified access to manufacturing data via standard networks and I/O devices (e.g. standard floppy drives), the ability to run other software, and a competitive marketplace for replacement and expansion parts . Underlying the open systems movement is the goal of reducing robot users' long-term reliance on machine tool and robot manufacturers for system changes and maintenance.
A second feature sought by robot users is a common operator and programmer interface for all robots, facility (if not company) wide. A common user interface for all robots reduces the need for specialized operator training on how to use the customized proprietary systems .
With respect to the open-systems feature, efforts at delivering a robot control system based on standard, general purpose computer systems have not been fully successful because of the limitations of general purpose operating systems. Robot safety and accuracy requirements dictate that robot control systems be highly reliable, i.e. crash resistant, and tied to real-time. The multi-feature design objectives for general purpose operating systems such as Microsoft Windows NT® have yielded very complex, somewhat unreliable software platforms. Moreover, such systems cannot guarantee execution of control loops in real-time.
With respect to the common operator interface features, attempts to offer even limited standards to operator interfaces have not extended beyond a specific robot manufacturer. Notwithstanding the difficulty in getting different robot manufacturers to cooperate, the wide variety of electromechanical configurations has heretofore substantially blocked the development of robot control systems with a common operator interface.
Accordingly, it would be desirable to provide an improved robot control system that both employs commercially standard computer systems and accommodates robots of different configurations. Specifically, it would be desirable to provide the advantages of open systems and a common operator interface to robot control . Summary of the Invention
Robot control systems of the present invention provide robot control via commercially standard, general purpose computer hardware and software . The control systems and methods according to the present invention are usable with robots of varying electromechanical configurations thereby allowing a common operator interface for robots from different robot manufacturers.
The present invention provides a control system for running or processing a program of robot instructions for robots equipped with a mechanical joint, a mechanical actuator to move the joint and a position feedback sensor. The robot mechanical actuators receive an activation signal and the feedback sensor provides a position signal . A control system according to the present invention includes a general purpose computer with a general purpose operating system and a real-time computer subsystem in electronic communication with the general purpose computer and operably linked to the mechanical actuator and the position feedback sensor. The general purpose computer includes a program execution module to selectively start and stop processing of the program of robot instructions and to generate a plurality of robot move commands.
Within the real-time computer system is a move command data buffer for storing a plurality of move commands. The real-time computer subsystem also includes a robot move module and a control algorithm. The move module is linked to the data buffer to sequentially process the plurality of move commands and calculate a required position for the mechanical joint. The control algorithm is in software communication with the robot move module to repeatedly calculate a required activation signal from the feedback signal and the required position for the mechanical joint.
Another aspect of the present invention provides a robot control system suitable for controlling robots of different electromechanical configurations. The control system includes a robot-independent computer unit in electronic and software communications with a robot-specific controller unit.
The robot-independent computer unit is operably linked to the robot by an I/O interface and includes a video display and a first digital processor running an operator interface module for creating a sequence of robot move commands. The robot-specific controller unit includes a second digital processor running a real-time tied operating system and a robot move module for executing the robot move commands. ω t t H H o o σι O σι
TJ H- n H- H- TJ O ø> O ≤ φ rr K H- φ rr trJ rr Mi φ ω Ω O Hi CL H-
0 Hi 3 0 3 H( Ml H O 0) g j 0 3 tr Hi O O Φ O TJ O Φ 3 σ Φ 3 Q-, (D rr 3 rr o* φ tr TJ Φ H- Hi Φ Ω 3 φ tr Ml Ω
0 Mi (D Ml C C CD H H- TJ n 0 0 c Φ rr Ω O Mi Hi 0 H- rr Φ 3 H- CO O fD O n c 3J TJ rr CD 0 O Ml ^ CD rr 3 H- ø) rr 3 C m Hi rr IQ rr rr 3 tr c r C H- H rr * : TJ Φ Φ Hi CL, IQ rr •« H- CL
H H- d Hi H rr 0 Φ O 3 φ O M Φ Φ O \-> O C O 3 φ
0 Φ 0 n 0) H- rr 0) IQ φ CD O !D CL, o Φ Φ Φ 3 O H| Hi ø) CQ CQ l-h 3 0) rr 0) H- rr 3 Φ 3 rr H- CO H-" Ω φ TJ 0)
^. rr H- 3 O H- 0) H- rr 3 3 H- rr Mi Ω Φ rr Ω Φ rr CL Mi rr 0) m ^ H- 3 ^ O 3 ^ 3 3 τ| rr Φ 3 ^ O H- Hi Ω H- tr Hi M- H- H- tr H
P- 0 O IQ 1-5 fD 3 IQ rr O Ω CQ H Ω 3 H- rr 3 ø) 0) O co Hi φ Ω tr r- l-h O 3 O Ω 3 Ml Ω Φ Ml Ω H- rr Ω CL, 0) d - Hi IQ 3 rr 3 T CQ O Φ
Ml rr ϊ ω O σ α rr H- H- c; rr i 9 3 H- rr a Φ rr rr rr O H- O ^ rr φ 3
Φ £ JO 3 0 # H- ifl 3 ?o tr O O < O 3^ » CO H- 3^ H- 3 rr Ω Hi 0) Ml O
Hi ø) H Ω fD rr M O c CL, M φ O 0 M Φ 3 Φ M H- O Φ O Φ tr 0) ø) ^ Ω Φ H- TJ
Φ o 3 n C 3 Mi 3 CO IQ 3 3 Ω Φ CL O Ω LQ Φ
3 Φ U1 3 O fD -. 0J CO l ^ 3 rr t rr CO I-1 3 ø) tr H- CD 0) CL rr C Hi rr rr Mi sQ rr rr φ rJ Ξ H- O O ø) Ω O ø) Mi Ω CO Φ Ω Φ Hi Hi ø)
0) H- Hi C H- H- JD 3 JU H- O Mi Ml H- rr ø) Ω Ml 3 H- O T Ω Ω 0 0) rr
Φ 3 O O rr H- CQ o H- CQ h-1 H- t CO 3 rr O φ 3 O H- Hi 3 t-1 O O O 3 rr O
V TJ 3 {D 1 n Φ -. (0 ≤ CL, 3 rr Ω CO Ml 0) 3 H, Φ φ H- Hi
(D 0) fD TJ 0) h-1 fl) rr 0J O øj CD TJ tr 0) rr H- ^ CL CL CQ Ω O
Ω 3 0) fD O H- rr 0J H- H. ι-( O H- H- 0) Φ IQ H- 3 cr 3 H- rr Φ ω tr 3 CL to O CO 3 H- 3 3 O Φ f ? 3 3 O C 0) Ω 3 φ J 3
H rr H- 0) H- 3 O H- Φ 0 P. TJ tr Φ Φ ^ α Ω Hi Hi Ω O CQ 3 3 < rr
0 tr fD 3 Ξ CL rr σ α 3 o T 3 ≤ H- M O 0) Ω CL rr H- ø) Φ
3 0 TJ < H- H, 0 Φ n 3 H- rr ^ ø) TJ S' 3 ) 3 CO rr O φ rr Ω Hi Hi
Φ h-J tr rr O rr O cr Φ Mi 0 rr j H- CQ s: Ml φ H- Hi O Mi 0) H- Mi
O H- ^ rr tr fD Φ 3 Φ rr H- O IQ H- Hi Ω H- H- Ω O C O O 0) 0) tr en Mi 3 h-1 P- T rr t Φ O i n rr tr CL, 3 IQ O 3 H- Φ ø) Hi σ Ω
0) rr H- fD fD 0) Φ c ≤ o CL, 3 0) CD Hi Q c 3 3 CQ Ω t-1 Φ
3 Φ (D fD H- <! tr t-1 <! rr Φ ct. rr 3 tr t-1 ø) O H( CL, (Q 3 Mi CQ O Φ
H- TJ α, § CO 3 ø> H-1 C 0) Φ Φ Ml H CD t-1 rr H- *. 0) ø) φ H- Φ 3 3 o co O fD rr Φ CO rr 3 CD O - 0 tr rV H- rr Ω 3 rr 3 Hi 3 Ml Ml O
0) Mi CL O 0) H- rr H- rr O o Hi φ 3 P- O CL, O rr CQ φ H- 0 CL
M, H- Mi H O tr ^ O ω rr Φ s: O r O CQ O CL, rr Hi CQ Hi C
0 0 3 3 *-< 0) 3 C 3J TJ o CO 0 c 3 O 3 Φ ø) ø) Mi 0) d n H fD rr tr Φ CD t ^ 3 CL, IQ C O Φ rr Hi CQ φ o 3 O O < Φ H- <! CO o> CD TJ H- 3^ 3 rr CD rr CD Hi M H- 0) rr
3 0) o rr σ H- W- 1- 3 H- ^ IQ Mi n rr c 0) O φ tr Φ 3J Φ Φ 3 rr O TJ
Mi n tr ω 0 3 fD IQ Φ O Φ O rr Φ rr IQ C Hi ø) IQ H- Ω IQ Ω IQ H- Hi Hi
P- n (D rr rr ≤ 0 ≤ rr 3 H 3 Φ Hi rr 0) rr 3 Hi O Φ rr O H- φ Q 0 H< O CO 0 Φ Φ O i 0) -> Φ Qi 3 3 Hi ø) 3 3 Ml
C 3 rr Mi O H- 3 0 3 T Mi 0) 3 rr CO Ml 3 L Φ O IQ φ
Hi 3 ø) Ml 3 O Ml SU i n tr V O rr Ω Hi 3 Ml O Hi
0) 0 0 rr 3 φ rr O J o 0J Φ 0) Hi O ø) Φ H- Mi CL 0) rr Mi tr CL 0) 3 V 0J 0 Hi Hi 3 ø) CL, rr Ω HJ ø) tr
H- 0) fD 3 rr φ 3 TJ I-1- TJ t CL, CD Φ Ω φ H- ^ CQ rr rr
0 rr CO H C D. K CL, s: 0) TJ Ω 3 0J rr 3" ø) *
3 H- TJ I-! H- φ H- øj 3 ø) O CD CQ 3 Φ co 3 N. O rr TJ 3 Mi 3 Hi φ Hi Hi Φ H- to fD Ml O ID Φ CQ Φ » rr CL, IQ 0) Ω
SD CO τ O K. H- 3 0)
3 fD rr Φ φ rr M rr ø) O 3 φ
3 3J Φ o 3 Mi LQ 3 rr Φ Φ rr
demonstrating the role of the configuration variable in control systems according to the present invention;
FIGURE 6 is likewise an exemplary operator interface display screen generated in response to data stored in the configuration variable specifying a rotational joint configuration; and
FIGURE 7 is an exemplary operator interface display screen generated in response to data stored in the configuration variable specifying a linear joint. Description of the Preferred Embodiments
The invention disclosed herein is, of course, susceptible of embodiment in may different forms. Shown in the drawings and described herein below in detail are preferred embodiments of the invention. It is to be understood, however, that the present disclosure is an exemplification of the principles of the invention and do not limit the invention to the illustrated embodiments.
In the FIGURES, a single block or cell may indicate several individual software and/or hardware components that collectively perform the identified single function. Likewise, a single line may represent several individual signals or several instances of software data sharing or interconnection.
Robots as well as other manufacturing machines include positioning arms with mechanical joints, positioning actuators such as motors for causing movement about the joints, and position feedback sensors which provide an indication the position of some part of the robot. As used herein, the term "mechanical actuator" is a reference to the variety of devices used for robot motion. Exemplary robot actuators are hydraulic pistons, pneumatic pistons, servo motors, stepper motors and linear motors.
Referring to FIGURE 1, the elements of a control system 10 are shown with an industrial robot 4, a Cincinnati Milacron 776 robot. Robot 4 includes a series of revolute joints 5, 6, 7 and 8, corresponding servo motors and an end effector 9. Control system 10 includes a general purpose computer 14 and a real-time computer subsystem 16.
The phrase "general purpose computer, " as used herein, is a reference to commercially standard computers which are designed for multiple applications as opposed to CPU-based electronics customized for a specific application such as device control . Examples include the well-known group of computers conventionally labeled IBM- compatible personal computers, or more simply PCs. PCs are based on complex instruction set (CISC) CPUs from Intel Corporation (INTEL), Advanced Micro Devices, Inc. (AMD) and VIA Technologies, Inc. The related, evolving CPU product line from INTEL includes CPU chipsets available under the designations "80486®," "Pentium®," "Pentium® II," "Pentium® III." An exemplary CPU product line for general purpose computers by AMD is available under the designation "AMD-K6®." VIA Technologies, Inc. CPUs for general purpose computers are sold under the designation "Cyrix®."
General purpose computers based on reduced instruction set (RISC) CPUs are also well known. Examples include computers based on the Alpha® chipset available from the Compaq Computer Corporation.
As indicated in FIGURE 1, general purpose computer 14 operates with a general purpose operating system. The phrase "general purpose operating system" is a reference to commercially standard operating systems such as those available from the Microsoft Corp. under the designations MS-DOS®, Windows 95®, Windows 98®, Windows® NT and Windows 2000®. Other examples of general purpose operating systems include Macintosh® (Apple Computers, Inc.), UNIX (various resellers), Open VMS® (Compaq Computer Corporation) .
Installed for running on the general purpose computer are a program execution module 18, an operator interface module 20, and watchdog communication code segments 22. The term "module," as used herein is a reference to a software element such as a program, subprogram, software process, subroutine, or grouping of code segments and the like. The software modules of control system 10 are preferably discrete executable programs which run as discrete processes. Unless otherwise indicated, the software modules and code segments are configured to share access to a variety of software variables and constants as needed through subroutine calls, common shared memory space, and the like.
Program execution module 18 processes programs of robot instructions 24, which can be stored as data files as represented in FIGURE 1. From robot instruction programs 24, program execution module 18 generates robot move commands 26 for delivery to real-time computer subsystem 16. Via execution module 18, the relatively more human readable robot instructions 24 generated by a robot operator are interpreted and translated into move commands 26 for real-time computer subsystem 16.
As well, program execution module 18 allows operator control of the running of robot programs 24 by selectively starting and stopping the transfer of move commands 26 to real-time computer subsystem 16 in response to prompts from the operator via operator interface module 20.
Operator interface module 20 is operably linked to an operator display screen 28, a keyboard and/or mouse 30, and other standard peripherals as desired. In a preferred embodiment, display screen 28 is a touch screen which allows a robot operator to input prompts and data through both displays and keyboard/mouse 30.
With robot operator prompts and selections, operator interface module 20 allows robot instruction files 24 to be loaded from disk and processed (or executed) by program execution module 18 for controllably moving robot 4. Operator interface module 20 generates operator screens and accepts from the operator numeric data and prompts. Numeric data entries are communicated to other program modules as necessary. Prompts by the robot operator to start and stop the running of a robot program are received by operator interface module 20 and forwarded to execution module 18.
In addition to accepting operator inputs for loading, starting and stopping programs 24, operator interface 20 preferably includes an editor for use by an operator to generate new programs of robot instructions 25. Because the present invention provides a control system which relies upon general purpose computers such as a Windows NT PC, it is equally possible to generate robot programs on another PC such as an office PC and then transfer the file to general purpose computer 14 through standard peripherals such as disk drives or computer network connections. General purpose computer 14 is electronically linked for data exchange (i.e. communication) with realtime computer subsystem 16. Real-time computer subsystem 16 preferably includes a hardware, firmware and software combination designed for process control applications. As opposed to general purpose computers with general purpose operating systems, real-time computers provide for substantially uninterruptible execution of calculations required for a plurality of control loops with relatively fast cycle times (e.g. 0.5-2 msec). Because of the extensive signal processing requirements, the CPU computer of real-time computer subsystem 16 is preferably a DSP-based computer. In this category of DSP-based control computers, the systems commercially available from Delta Tau Data Systems, Inc. (Chatsworth, CA) under the designations "PMAC", "PMAC2," "Turbo PMAC" and "UMAC" are presently preferred.
Real-time computer subsystem 16 includes a robot move module 32, a move command data buffer 34, kinematic models 36, servo control algorithms 38, and watchdog intercommunication code segments 40. Real-time subsystem 16 also includes I/O hardware and software drivers to provide an operable link to the positioning related electronics of robot 4. Represented by block 42 are the hardware and software components necessary for receiving and translating robot feedback signals 44 into computer data feedback signals 46. Likewise, block 48 represents the components necessary for converting computer data setpoints 50 into actuator-appropriate activation signals 52.
Activation signals 52 and feedback signals 44 may be analog signals, digital signals or combinations of both depending upon the configuration of robot 4. For example, the typical motor-with-amplifier actuator calls for an analog activation signal. Newer, so-called
"smart" devices can be directly activated by digital signals, however. Thus, the type of signal conversion performed by I/O systems 42 and 48 varies by robot configuration . Robot move module 32 is resident in real-time computer subsystem 16 to accept move commands 26 and feedback signals 44/46 to generate the necessary activation signals 50/52. Robot move module 32 relies upon kinematic models 36 and servo control algorithms 38 to translate move commands 26 required joint positions and then appropriate activation signal setpoints 50. In a preferred embodiment of the present invention, move commands 26 are expressed as changes in joint position or as changes in end-effector position. Move commands based on joint position rely upon a predefined range on a one-dimensional joint axis model, for example, +90 degrees to -90 degrees for a revolute axis and 0 to 1200 millimeters (mm) for a linear joint. An example of a move command based on joint position is "set joint one at 60 degrees." In a preferred embodiment of the present invention, robot move module 32 is programmed to accept joint move commands as a function call specifying the position of all robot mechanical joints 5, 6, 7 and 8, thereby allowing only one or all joints to be moved.
Move commands expressed as end-effector positions rely upon a predefined, but customary, three- dimensional coordinate system for locating the end- effector. A move command based on end-effector position is a call to move the end effector to a point in the end- effector's workspace.
For joint position move commands, robot move module 32 includes software models for translating data from feedback signals 46 into joint position. The required calculation varies according to joint type and the type feedback signal available. For example, a feedback sensor directly measuring an indication of joint position require limited translation, while a feedback sensor measuring the number of rotations of a positioning motor may require a more complex translation.
To process move commands based on end-effector position, robot move module 32 additionally includes a kinematic model for calculating the required. position of joints 5, 6, 7 and 8, given a desired position for end effector 9. More specifically, real-time computer subsystem 16 uses kinematic model algorithms for computation of the forward and inverse kinematics of the robot . Forward kinematics computation refers to the determination of end-effector position and orientation given known joint positions or actuator positions of the robot. Inverse kinematics is the determination of the joint angle or actuator positions given an end-effector position.
The required combination of individual joint axes models and overall kinematics models is represented in FIGURE 1 by block 36. Kinematic algorithms are described in other patents and the technical literature. See, for example, Chapters 3 and 4 of Craig, John J. Introduction to Robotics: Mechanics and Control, 2nd Ed. , Addison-Wesley, 1989. The specific models employed vary according to the electromechanical configuration of the robot to be controlled.
Because the positioning actuator and feedback sensor combination make up a dynamic system, real-time computer subsystem 16 also includes control algorithms 38 to provide the required dynamic calculations. Preferred among available closed loop servo motor control schemes is a proportional-integral-derivative (PID) with feedforward algorithm. Data buffer 34 is a software variable available to programs in both general purpose computer 14 and realtime computer subsystem 16 for storing multiple move commands 26 received from program execution module 18. Although the desired storage capacity for data buffer 34 can vary, in a preferred embodiment of the present invention data buffer 34 and connected modules are preferably configured such that from 2 to 10, and more preferably from 3 to 4 , move commands are stored.
With move command data buffer 34, control system 10 provides for substantially continuous, uninterrupted control of robot 4 even in response to program execution delays in general purpose computer 14.
As noted above, general purpose computers running general purpose operating systems are relatively unreliable, exhibiting unpredictable control program interruption. Specific motion control of robot 4 by real-time computer subsystem 16 is not affected by unpredictable delays in operations of general purpose computer 14 because robot move module 32 can continue to draw move commands 26 from data buffer 34.
Although a variety of data transfer mechanisms are available to provide electronic and software-level communication between general purpose computer 14 and real-time computer subsystem 16, a commercially standard data bus backplane is preferred. The data bus connection is symbolically represented in FIGURE 1 by reference numeral 54. The ISA bus, the PCI bus, and the VME bus are exemplary standard data buses, with the ISA bus being presently preferred. For convenient space-saving connection to data bus 54, the computer mother board portions of general purpose computer 14 and real-time computer subsystem 16 are data bus cards. As used herein, the term "bus card" is a reference to printed circuit boards with electronic components and a tab with a plurality of contacts that is received in the card slots of a data bus chassis. The DSP real-time computers available from Delta Tau Data Systems, Inc. noted above are available as ISA data bus cards . In a preferred embodiment, control system 10 includes a security (or "watchdog") communication (blocks 22 and 40) between general purpose computer 14 and realtime computer subsystem 16. Flowchart FIGURE 2 shows the preferred code segments for maintaining the watchdog management. As illustrated, a preferred watchdog scheme includes code segments operating in both general purpose computer 14 and real-time computer subsystem 16. Resident in general purpose computer 14 is a status code segment 56 and resident in the real-time computer subsystem are a timer code segment 58, a timer reset code segment 60, and a fail safe code segment 62.
The code segments interact with two software variables: an activity software switch (ASW) 64 for indicating whether programs in general purpose computer 14 are active and/or error free, and a timer variable (TV) 66 for storing an elapsed time indication. Timer variable 66 is resident in real-time computer subsystem 16 while activity software switch 64 is shared via data bus 54 or other means. Activity software switch 64 is implemented as an integer software variable with an unset position being represented by zero and a set, or active position, being represented by one.
Status code segment 56 optionally, but preferably, runs sequentially with program execution module 18 (box 68) and repeatedly sets activity software switch 64 to the active position (box 74) . After the completion of a run cycle of program execution module 18, status code segment 56 examines other software variables which indicate special errors (box 70) or delays in the processing of other programs (box 72) in the general purpose computer 14. Accordingly, if program execution module 18 is interrupted or if errors or other delays are detected, activity switch 64 is not set.
Timer code segment 58 counts down timer variable 66 according to elapsing time. Timer code segment 58 is preferably a system service function of real-time computer subsystem 16 and expressed in execution cycles.
When the activity software switch is in the active position (box 76) , timer reset code segment 60 repeatedly resets the timer variable to a predetermined amount of time (box 78; preferably two seconds) and repeatedly sets the activity software switch back to the unset position (box 80) . Fail safe code segment 62 responds to an overrun of timer variable 66 (box 82) by shutting down robot 4 via activation signals 50/52 and other robot I/O.
Acting together, code segments 56, 58, 60 and 62, provide a watchdog service which will shut down robot 4 if the operation of general purpose computer 14 is stopped or delayed for more than two seconds.
Referring back to FIGURE 1, another feature of the present invention is that the software provided for general purpose computer 14 is suitable for controlling robots of various electromechanical configurations. According to this aspect of the invention, general purpose computer 14 serves as a robot-independent computer unit while real-time computer subsystem 16 serves as a somewhat robot-specific controller unit, or customized interface or adapter to the robot.
Important to the multi-configuration aspect of the present invention is the enhanced versatility of operator interface module 20. Viewed together, FIGURES 3 and 4 demonstrate the challenge of working with robots of different electromechanical configurations. FIGURE 3 is side view of articulating robot 4 from FIGURE 1 in slightly larger scale to reveal greater detail . The arms of robot 4 are connected by a series of revolute (or rotary) joints 5, 6, 7 and 8. In contrast, FIGURE 4 is side view of a robot 86 which is equipped with a revolute, torso joint 87 and two linear joints 88 and 89.
Assigning joint numbers from the base up, the second and third joints of robot 4 are of a different type than the second and third joints of robot 86. To overcome this difference in configuration, the operator interface of the present invention includes a configuration variable for storing data specifying the electromechanical configuration of the robot and display generating code segments for each type of configuration. In a preferred embodiment, the configuration variable is defined and/or sized to store data defining the type of robot joint, linear or revolute, and whether a specified revolute joint is windable, i.e. capable of turning more than 360 degrees. FIGURES 5 through 7 provide an example of how operator interface module 20 uses the configuration variable to accommodate different types of robots. As illustrated in FIGURE 5, a display selecting code segment 90 responds to an operator request to set limits for joint/axis 3 (box 92) . Code segment 90 checks in configuration variable 94 for data specifying whether joint 3 is linear or revolute (box 96) .
Depending upon whether the third joint of the robot to be controlled is revolute as with robot 4 or linear as with robot 86, code segment 90 selects one of two available displays for setting joint limits. For a revolute joint type, box 98 is selected and the revolute joint/axis display of FIGURE 6 is generated at screen 28. For a linear joint type, box 100 is selected and the linear joint/axis display of FIGURE 7 is generated.
The foregoing specification and drawings are to be taken as illustrative but not limiting of the present invention. Still other configurations and embodiments utilizing the spirit and scope of the present invention are possible, and will readily present themselves to those skilled in the art.

Claims

WE CLAIM :
1. A control system for processing a program of robot instructions for robots having a mechanical joint, a mechanical actuator to move the joint and a position feedback sensor, the mechanical actuator being adapted to receive an activation signal and the feedback sensor providing a position signal, the control system comprising : a general purpose computer with a general purpose operating system, said general purpose computer including a program execution module to selectively start and stop processing of the program of robot instructions and to generate a plurality of robot move commands; and a real-time computer subsystem in electronic communication with said general purpose computer and operably linked to the mechanical actuator and the position feedback sensor, a move command data buffer for storing said plurality of move commands, a robot move module linked to said data buffer to sequentially process said plurality of move commands and calculate a required position for the mechanical joint, and a control algorithm in software communication with said robot move module to repeatedly calculate a required activation signal from the feedback signal and said required position for the mechanical joint.
2. The control system according to claim 1 further comprising a watchdog intercommunication between said real-time computer subsystem and said general purpose computer for detecting faults in operation of said general purpose computer.
3. The control system according to claim 2 wherein said watchdog intercommunication includes: a timer variable for storing an elapsed time indication;
Figure imgf000020_0001
CD Ω s TJ CQ CD Hi CD TJ S CQ Hi CO TJ TJ < rr 0 tr H tr 0) φ 0 ^ 0) Φ 0 c 0 ø) ø) 3 Φ φ c μ- 0) μ- CD Φ μ- 0) Hi Hi CD H{
3 TJ Hi CL rr CL rr μ- 3 α rr TJ μ- μ-
CL c φ Φ 1 Ω rr 1 0 rr ø) ø) rr H- rr CL rr rr 3" μ- O rr rr ø) CO μ- σ
Hi Φ 3 φ 0 μ- μ- 0 ø) μ- μ- Hi φ 0
C Hi Hi 3 3 rr 3 μ- 3 3 Φ 3 Φ
CD 3 3 Φ φ 0 CL Φ φ Ω
CL O 01 μ- μ, ø) Hi CD 0 ø) 0J ø) C H- 3 rr Ω ø) CD 3 ø) Ω ø) ≤ 3 ø) 3 ø) Ω ø) rr tr CL Φ tr <! 0 0) CL Ω <; 0 μ- TJ CL 3 Ω ø) CD CL Φ 0) 3 Hi μ- rr- 0) 3 rr r c CQ 0 rr
^ CQ Hi TJ ø) C Hi μ- Hi T μ- Ω rr rr ø) ø) Hi μ- tr CD Φ < Hi μ- c μ- Φ <! μ- c 3 tr Φ ø) 3 Ω CL 3 c rr 3 ø) 0 ø) rr h-1 C TJ μ- 0) rt φ Hi rr rr μ- φ O Φ Φ tr σ Φ 3 Φ rr tr Φ Hi rr C C μ- 3 H|
. 3 H, c 0 Hi CD ω ø) ^ Hi 0 Hi CO 3 < CQ
0) φ rr Φ ø) φ rr Φ ii 0 CD μ- Ω ø) . CO Hi rr Φ ω CD φ CD Hf Ω Φ rr rr 0
Hi 1 μ- 0) C Φ CL 0 rr c CD ø) 0 rr ^ 0 CL
Φ TJ Hi 3 tr TJ Hi 0 tr Φ μ- Hi CL Φ c CL O Ω O *<: rr O rr C Φ Φ TJ CD TJ
Φ Hj CD ^ 0 CD ≤ ø) "< TJ 0 0 0) O
TJ ø) CO CQ CL μ- CD ø) CD Ω ø) Φ CD CO Hi CD Φ
Φ 0 μ- φ rr Φ rr Φ Hi TJ rr 0 Ω ø) Φ μ- rr CD CQ
Ω O CL rr Φ μ- rr Φ Hi Φ CL rr rr CQ rr £ μ- 3 rr φ rr 3 O 0 rr Φ 3 Φ μ- Φ 3 μ- ø) 3 Φ
Hi rr μ- Φ 3 μ- CO C CL φ 0 Hi CQ 3
0 Ω μ- 3 Hi CQ 3 Ξ Φ Hi CO φ 3 3 Φ rr
3 0 3 CQ 0 3 CQ μ- rr 0 Φ ^ rr rr
H- 3 Φ Hi Φ 0) rr Φ Hi CQ TJ O μ- Hi
Ω T Hi CD 3 3 CD Ω Hi 3 0 CD μ- ≤ 3 0
0> c ø) Hi rr CL ø) tr 3 Hi φ CO Φ 3 μ- Φ Hi t-1 rr < μ- Φ μ- μ- Φ 3 μ- rr CD rr «..
Φ ø) CL TJ μ- CL μ- 3 TJ rr rr rr rr Ω ø)
*<: Hi Hi Φ 3 to Φ φ μ- μ- ø) tr CL μ- ø) 0) CO ø) CL 0) μ- 0 3 l_l.
0) ø) Ω rr rr Ω μ- rr 3 3 CQ H-" tr c
H- 3 tr rr Φ ø) rr 3 ø) Φ CO -• Φ ø) CD
3 D, μ- CL μ- 3 P-, rr CQ CL < rr r φ < < CD 0 μ-1 ø) ø) μ- μ- φ to ø) *<; Φ μ- 0) C ^ μ- μ- 3 3
CL ø) Hi rr CL rr μ- 3 C 3 CQ CQ
H- φ μ- μ- ^ C rr Hi φ
< α øj O 3 μ- Φ CL 0J CO ø) CD
H- Ω 3 CD 3 CD ø) 0 CD Ω ø) 3 ø)
0) H, tr TJ 0 Ω Hi Φ μ- rr μ- μ-
Φ Φ CD Φ CD H rr rr 3 μ- C ø) CL
0) ) CD μ- Ω ø) rr μ- rr rr Ω
CQ rr μ- $. < μ- μ- CO μ- CQ rr rr
1 0) 3 μ- CL ø) Φ 3 3 ø) rr Φ μ- μ- rr ø) 3 Hi φ CQ μ- "< 3 < 3
H- h-1 CQ Φ CL Φ Φ φ
3 Hi Hi
Φ rr 0)
Figure imgf000020_0002
0
7. The control system according to claim 1 wherein said general-purpose computer and said real-time computer subsystem are electronically linked via an ISA data bus . 8. The control system according to claim 1 further comprising a data bus for receiving bus cards and wherein said real-time computer subsystem includes a first bus card with a central processing unit and said general purpose computer includes a second bus card with a central processing unit, both said first and said second bus cards being installed in said data bus.
9. The control system according to claim 1 wherein said real-time computer subsystem includes a digital signal processor (DSP) based computer. 10. The control system according to claim 1 wherein said general purpose computer is an Intel Pentium® processor based computer.
11. The control system according to claim 1 wherein said general purpose computer is a DEC/Compaq Alpha® processor based computer.
12. The control system according to claim 1 wherein said general purpose operating system is a not tied to real-time.
13. The control system according to claim 1 wherein said general purpose operating system is a member of the group consisting of a Windows-NT®, a Windows 2000®, a Windows 95®, a Windows 98®, an Open VMS®, a PC/MS DOS, and a Unix.
14. The control system according to claim 1 wherein said general purpose computer is an Intel
Pentium® processor based computer and said general purpose operating system is a Microsoft Windows NT®.
15. The control system according to claim 1 wherein the mechanical actuator is a servo motor and said control algorithm is a servo control algorithm.
16. The control system according to claim 1 wherein said robot move module includes a kinematics model for calculating a required joint position in response to a move command. 17. A versatile robot control system suitable for controlling robots of different electromechanical configurations, the control system comprising: a robot-independent computer unit including a video display and a first digital processor running an operator interface module for creating a sequence of robot move commands ; and a robot-specific controller unit operably linked to the robot and including a second digital processor running a real-time tied operating system and a robot move module for executing said robot move commands, said robot specific controller unit being in electronic communication with said robot independent computer unit.
18. The control system according to claim 17 wherein said general-purpose computer and said real-time computer subsystem are electronically linked via a standard data bus .
19. The control system according to claim 17 wherein said first digital processors runs an operator interface module including: a configuration variable for storing data specifying the electromechanical configuration of the robot ; a first code segment for generating a first operator display according to a first electromechanical configuration; a second code segment for generating a second operator display according to a second electromechanical configuration; and a third code segment for selecting said first or second code segment according to said electromechanical configura ion.
20. The control system according to claim 19 wherein said first code segment generates an operator display requesting operating limits for a revolute joint.
21. The control system according to claim 19 wherein said second code segment generates an operator display requesting operating limits for a linear joint. 22. The control system of claim 19 wherein said configuration variable is defined to store data specifying a robot joint type.
23. The control system of claim 19 wherein said configuration variable is defined to store data specifying a linear joint type.
24. The control system of claim 19 wherein said configuration variable is defined to store data specifying a revolute joint type.
25. The control system of claim 19 wherein said configuration variable is defined to store data specifying whether a robot joint is windable.
26. An operator interface module for controlling robots of different electromechanical configurations, the operator interface module comprising: a first code segment for generating a first operator display according to a first electromechanical configuration; a second code segment for generating a second operator display according to a second electromechanical configuration; and a third segment for selecting said first or second code segment according to said electromechanical configuration .
27. The operator interface according to claim 26 wherein said first code segment generates an operator display requesting operating limits for a revolute joint.
28. The operator interface according to claim 26 wherein said second code segment generates an operator display requesting operating limits for a linear joint.
29. The operator interface module of claim 26 wherein said configuration variable is defined to store data specifying a robot joint type. 30. The operator interface module of claim 26 wherein said configuration variable is defined to store data specifying a linear joint type.
31. The operator interface module of claim 26 wherein said configuration variable is configured to store data specifying a revolute joint type.
32. The operator interface module of claim 26 wherein said configuration variable is defined to store data specifying whether a robot joint is windable .
PCT/US2001/049802 2000-12-28 2001-12-20 Versatile robot control system WO2002054329A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CA002433503A CA2433503A1 (en) 2000-12-28 2001-12-20 Versatile robot control system
EP01991483A EP1352357A4 (en) 2000-12-28 2001-12-20 Versatile robot control system
MXPA03005957A MXPA03005957A (en) 2000-12-28 2001-12-20 Versatile robot control system.
KR10-2003-7008859A KR20030081370A (en) 2000-12-28 2001-12-20 Versatile robot control system
JP2002555354A JP2004524171A (en) 2000-12-28 2001-12-20 Versatile robot control system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/750,433 2000-12-28
US09/750,433 US6442451B1 (en) 2000-12-28 2000-12-28 Versatile robot control system

Publications (1)

Publication Number Publication Date
WO2002054329A1 true WO2002054329A1 (en) 2002-07-11

Family

ID=25017852

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/049802 WO2002054329A1 (en) 2000-12-28 2001-12-20 Versatile robot control system

Country Status (8)

Country Link
US (6) US6442451B1 (en)
EP (1) EP1352357A4 (en)
JP (2) JP2004524171A (en)
KR (1) KR20030081370A (en)
CN (1) CN100541504C (en)
CA (1) CA2433503A1 (en)
MX (1) MXPA03005957A (en)
WO (1) WO2002054329A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473202B2 (en) 2000-12-28 2013-06-25 C.H.I. Development Mgmt. Ltd. Xxiv, Llc Automation equipment control system
US8744625B2 (en) 2010-11-05 2014-06-03 Canon Kabushiki Kaisha Robot controlling device
CN105128010A (en) * 2015-08-07 2015-12-09 深圳市微秒控制技术有限公司 Distributed control system and method for selective compliance assembly robot arm (SCARA) robot

Families Citing this family (201)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206219A1 (en) 1995-05-30 2006-09-14 Brown David W Motion control systems and methods
US5691897A (en) * 1995-05-30 1997-11-25 Roy-G-Biv Corporation Motion control systems
US20010032278A1 (en) 1997-10-07 2001-10-18 Brown Stephen J. Remote generation and distribution of command programs for programmable devices
US6304695B1 (en) * 1999-05-17 2001-10-16 Chiaro Networks Ltd. Modulated light source
US6879862B2 (en) * 2000-02-28 2005-04-12 Roy-G-Biv Corporation Selection and control of motion data
US8032605B2 (en) 1999-10-27 2011-10-04 Roy-G-Biv Corporation Generation and distribution of motion commands over a distributed network
FR2813471B1 (en) * 2000-08-31 2002-12-20 Schneider Automation COMMUNICATION SYSTEM FOR AUTOMATED EQUIPMENT BASED ON THE SOAP PROTOCOL
US7904194B2 (en) * 2001-02-09 2011-03-08 Roy-G-Biv Corporation Event management systems and methods for motion control systems
WO2002071241A1 (en) * 2001-02-09 2002-09-12 Roy-G-Biv Corporation Event management systems and methods for the distribution of motion control commands
US6799370B2 (en) 2001-06-28 2004-10-05 Chiaro Networks Ltd. Manufacturing technique for optical fiber array
US7024261B1 (en) * 2001-12-17 2006-04-04 Tanton Chris D Modular automation apparatus
US6813023B2 (en) * 2002-01-03 2004-11-02 Chiaro Nerwork Ltd. Automatic optical inter-alignment of two linear arrangements
US20030142923A1 (en) * 2002-01-30 2003-07-31 Chiaro Networks Ltd. Fiberoptic array
ITVI20020053A1 (en) * 2002-03-22 2003-09-22 Qem Srl INTEGRATED SYSTEM FOR THE CONTROL OF THE AXES OF INDUSTRIAL MACHINERY
JP2003311665A (en) * 2002-04-17 2003-11-05 Yaskawa Electric Corp Robot system and controller
US6938111B2 (en) * 2002-04-19 2005-08-30 Siemens Aktiengesellschaft Method for operating automation control equipment applications
US6886994B2 (en) * 2002-07-18 2005-05-03 Chiaro Networks Ltd. Optical assembly and method for manufacture thereof
US20040162637A1 (en) 2002-07-25 2004-08-19 Yulun Wang Medical tele-robotic system with a master remote station with an arbitrator
US7155316B2 (en) * 2002-08-13 2006-12-26 Microbotics Corporation Microsurgical robot system
DE10242916A1 (en) * 2002-09-16 2004-03-25 Siemens Ag Automated control software writing system for loading device-independent functionality for automation devices uses properties and functions of different automation systems and a runtime framework
FR2846117B1 (en) * 2002-10-21 2008-08-22 Renault Sas METHOD AND DEVICE FOR SYNTHESIZING AN ELECTRICAL ARCHITECTURE
FR2850600B1 (en) * 2003-02-04 2006-01-13 Staubli Sa Ets MULTI-AXIS ROBOT EQUIPPED WITH A CONTROL SYSTEM
DE10314025B4 (en) * 2003-03-28 2010-04-01 Kuka Roboter Gmbh Method and device for controlling a plurality of handling devices
US6804580B1 (en) * 2003-04-03 2004-10-12 Kuka Roboter Gmbh Method and control system for controlling a plurality of robots
DE10326542B4 (en) * 2003-06-12 2016-12-08 Siemens Aktiengesellschaft Operating method and control program for a central unit of an automation system and central unit of an automation system and automation system itself
US8027349B2 (en) 2003-09-25 2011-09-27 Roy-G-Biv Corporation Database event driven motion systems
US20060064503A1 (en) 2003-09-25 2006-03-23 Brown David W Data routing systems and methods
US7180253B2 (en) * 2003-09-30 2007-02-20 Rockwell Automation Technologies, Inc. Method and system for generating multi-dimensional motion profiles
US7813836B2 (en) 2003-12-09 2010-10-12 Intouch Technologies, Inc. Protocol for a remotely controlled videoconferencing robot
SE0303384D0 (en) * 2003-12-15 2003-12-15 Abb Ab Control system, method and computer program
SE527525C2 (en) * 2003-12-22 2006-04-04 Abb As Control device, method and control system for starting or stopping an upcoming task of a robot
KR100568620B1 (en) * 2003-12-31 2006-04-07 삼성중공업 주식회사 Apparatus for queuing motion control command
CA2563909A1 (en) * 2004-04-22 2005-11-03 Albert Den Haan Open control system architecture for mobile autonomous systems
WO2005114368A1 (en) * 2004-05-20 2005-12-01 Abb Research Ltd A method and system to retrieve and display technical data for an industrial device
KR100565208B1 (en) * 2004-05-28 2006-03-30 엘지전자 주식회사 Robot control method in personal computer
FR2871363B1 (en) * 2004-06-15 2006-09-01 Medtech Sa ROBOTIZED GUIDING DEVICE FOR SURGICAL TOOL
EP1615089A1 (en) * 2004-07-09 2006-01-11 Siemens Aktiengesellschaft Automation device, method for operating an automation device, use of a co-processor and use of a personal computer comprising a co-processor
US8077963B2 (en) 2004-07-13 2011-12-13 Yulun Wang Mobile robot with a head-based movement mapping scheme
SE0402098D0 (en) * 2004-08-30 2004-08-30 Abb Ab A control system
US9110456B2 (en) * 2004-09-08 2015-08-18 Abb Research Ltd. Robotic machining with a flexible manipulator
US8000837B2 (en) 2004-10-05 2011-08-16 J&L Group International, Llc Programmable load forming system, components thereof, and methods of use
US20060085162A1 (en) * 2004-10-15 2006-04-20 Bjornson Torleif O Laboratory sample transfer apparatus with interchangeable tools
US8060251B2 (en) * 2004-12-06 2011-11-15 Honda Motor Co., Ltd. Interface for robot motion control
JP2006277120A (en) * 2005-03-28 2006-10-12 Toshiba Corp Object management device, object management method and object management program
JP2006302282A (en) * 2005-04-15 2006-11-02 Fanuc Robotics America Inc Method for optimizing robot program and robot control system
US7783406B2 (en) * 2005-09-22 2010-08-24 Reagan Inventions, Llc System for controlling speed of a vehicle
US7383100B2 (en) * 2005-09-29 2008-06-03 Honda Motor Co., Ltd. Extensible task engine framework for humanoid robots
US9198728B2 (en) 2005-09-30 2015-12-01 Intouch Technologies, Inc. Multi-camera mobile teleconferencing platform
CN101309783B (en) * 2005-11-16 2013-09-11 Abb股份有限公司 Method and device for controlling motion of an industrial robot equiped with positioning switch
US9195233B2 (en) * 2006-02-27 2015-11-24 Perrone Robotics, Inc. General purpose robotics operating system
US10331136B2 (en) 2006-02-27 2019-06-25 Perrone Robotics, Inc. General purpose robotics operating system with unmanned and autonomous vehicle extensions
US9833901B2 (en) 2006-02-27 2017-12-05 Perrone Robotics, Inc. General purpose robotics operating system with unmanned and autonomous vehicle extensions
EP3530420B1 (en) 2006-03-03 2023-09-06 Universal Robots A/S Joint for a robot
US8849679B2 (en) 2006-06-15 2014-09-30 Intouch Technologies, Inc. Remote controlled robot system that provides medical images
KR100755788B1 (en) * 2006-07-31 2007-09-05 (주)다사로봇 Robot control system using point file
WO2008127359A2 (en) * 2006-10-10 2008-10-23 University Of Wyoming An insect cell line for production of recombinant glycoproteins with sulfated complex n-glycans
JP2008188722A (en) * 2007-02-06 2008-08-21 Fanuc Ltd Robot controller
US9160783B2 (en) 2007-05-09 2015-10-13 Intouch Technologies, Inc. Robot system that operates through a network firewall
US8082064B2 (en) * 2007-08-24 2011-12-20 Elite Engineering Corporation Robotic arm and control system
WO2009038772A2 (en) 2007-09-20 2009-03-26 Evolution Robotics Transferable intelligent control device
US20090079560A1 (en) * 2007-09-26 2009-03-26 General Electric Company Remotely monitoring railroad equipment using network protocols
WO2009089337A1 (en) * 2008-01-09 2009-07-16 Illinois Tool Works Inc. Automatic weld arc monitoring system
US10875182B2 (en) 2008-03-20 2020-12-29 Teladoc Health, Inc. Remote presence system mounted to operating room hardware
US8179418B2 (en) 2008-04-14 2012-05-15 Intouch Technologies, Inc. Robotic based health care system
US8170241B2 (en) 2008-04-17 2012-05-01 Intouch Technologies, Inc. Mobile tele-presence system with a microphone system
CN101620439A (en) * 2008-06-30 2010-01-06 鸿富锦精密工业(深圳)有限公司 Motor control system
US9193065B2 (en) 2008-07-10 2015-11-24 Intouch Technologies, Inc. Docking system for a tele-presence robot
US9842192B2 (en) 2008-07-11 2017-12-12 Intouch Technologies, Inc. Tele-presence robot system with multi-cast features
US8185240B2 (en) * 2008-08-29 2012-05-22 Williams Robotics, Llc Automated apparatus for constructing assemblies of building components
US8996165B2 (en) 2008-10-21 2015-03-31 Intouch Technologies, Inc. Telepresence robot with a camera boom
US8240968B2 (en) * 2008-10-27 2012-08-14 Laibe Corporation Automated rod handling system
US8463435B2 (en) 2008-11-25 2013-06-11 Intouch Technologies, Inc. Server connectivity control for tele-presence robot
US9138891B2 (en) 2008-11-25 2015-09-22 Intouch Technologies, Inc. Server connectivity control for tele-presence robot
US8849680B2 (en) 2009-01-29 2014-09-30 Intouch Technologies, Inc. Documentation through a remote presence robot
US8295998B2 (en) * 2009-05-11 2012-10-23 General Electric Company System, method, and computer software code for distributing and managing data for use by a plurality of subsystems on a locomotive
US8897920B2 (en) 2009-04-17 2014-11-25 Intouch Technologies, Inc. Tele-presence robot system with software modularity, projector and laser pointer
CN101592951B (en) * 2009-07-02 2011-01-12 上海交通大学 Common distributed control system for humanoid robot
US8228946B2 (en) * 2009-07-29 2012-07-24 General Electric Company Method for fail-safe communication
US8384755B2 (en) 2009-08-26 2013-02-26 Intouch Technologies, Inc. Portable remote presence robot
US11399153B2 (en) 2009-08-26 2022-07-26 Teladoc Health, Inc. Portable telepresence apparatus
US8442684B2 (en) * 2009-09-22 2013-05-14 GM Global Technology Operations LLC Integrated high-speed torque control system for a robotic joint
US8260460B2 (en) * 2009-09-22 2012-09-04 GM Global Technology Operations LLC Interactive robot control system and method of use
US9962229B2 (en) 2009-10-12 2018-05-08 Corindus, Inc. System and method for navigating a guide wire
WO2011046874A1 (en) * 2009-10-12 2011-04-21 Corindus Inc. Catheter system with percutaneous device movement algorithm
US11154981B2 (en) 2010-02-04 2021-10-26 Teladoc Health, Inc. Robot user interface for telepresence robot system
US8670017B2 (en) 2010-03-04 2014-03-11 Intouch Technologies, Inc. Remote presence system including a cart that supports a robot face and an overhead camera
US10343283B2 (en) 2010-05-24 2019-07-09 Intouch Technologies, Inc. Telepresence robot system that can be accessed by a cellular phone
US10808882B2 (en) 2010-05-26 2020-10-20 Intouch Technologies, Inc. Tele-robotic system with a robot face placed on a chair
CN102934148A (en) * 2010-06-11 2013-02-13 株式会社安川电机 Service providing system and service providing method
CN101879720B (en) * 2010-07-09 2012-07-18 上海交通大学 Control system of reconfigurable modular robot
US9833293B2 (en) 2010-09-17 2017-12-05 Corindus, Inc. Robotic catheter system
US8775341B1 (en) 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
EP2453325A1 (en) 2010-11-16 2012-05-16 Universal Robots ApS Method and means for controlling a robot
US9264664B2 (en) 2010-12-03 2016-02-16 Intouch Technologies, Inc. Systems and methods for dynamic bandwidth allocation
US12093036B2 (en) 2011-01-21 2024-09-17 Teladoc Health, Inc. Telerobotic system with a dual application screen presentation
EP2668008A4 (en) 2011-01-28 2018-01-24 Intouch Technologies, Inc. Interfacing with a mobile telepresence robot
US9323250B2 (en) 2011-01-28 2016-04-26 Intouch Technologies, Inc. Time-dependent navigation of telepresence robots
KR102182874B1 (en) * 2011-02-15 2020-11-25 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 Systems for indicating a clamping prediction
CN102289217B (en) * 2011-02-25 2012-09-05 广西大学 Modular reconfigurable motion control system with axle as unit
CN102172790B (en) * 2011-03-04 2013-02-13 北京航空航天大学 Numerical control gear hobbing processing control device and processing control method for face gear
DE102011005985B4 (en) * 2011-03-23 2019-01-24 Kuka Roboter Gmbh Robot, control device for a robot and method for operating a robot
US10769739B2 (en) 2011-04-25 2020-09-08 Intouch Technologies, Inc. Systems and methods for management of information among medical providers and facilities
US20140139616A1 (en) 2012-01-27 2014-05-22 Intouch Technologies, Inc. Enhanced Diagnostics for a Telepresence Robot
US9098611B2 (en) 2012-11-26 2015-08-04 Intouch Technologies, Inc. Enhanced video interaction for a user interface of a telepresence network
US9566710B2 (en) 2011-06-02 2017-02-14 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
US9464752B2 (en) * 2011-06-15 2016-10-11 Lenovo (Singapore) Pte. Ltd. Monitor stand assembly
US8972053B2 (en) * 2011-08-30 2015-03-03 5D Robotics, Inc. Universal payload abstraction
SG10201502615QA (en) 2011-09-28 2015-05-28 Universal Robots As Calibration and programming of robots
US8836751B2 (en) 2011-11-08 2014-09-16 Intouch Technologies, Inc. Tele-presence system with a user interface that displays different communication links
CN102508445B (en) * 2011-11-16 2013-08-21 华北电力大学(保定) Intelligent algorithm processing system and method
US9035742B2 (en) 2011-12-06 2015-05-19 Microsoft Technology Licensing, Llc Electronic compensated pivot control
US9020615B2 (en) 2011-12-06 2015-04-28 Microsoft Technology Licensing, Llc Stability control system
CN103294009A (en) * 2012-03-05 2013-09-11 宝元数控精密股份有限公司 Multi-shaft controller application architecture capable of being elastically applied
CN102615647B (en) * 2012-04-09 2015-04-01 邓世海 Multi-axis movement control method of industrial robot
US8902278B2 (en) 2012-04-11 2014-12-02 Intouch Technologies, Inc. Systems and methods for visualizing and managing telepresence devices in healthcare networks
US9251313B2 (en) 2012-04-11 2016-02-02 Intouch Technologies, Inc. Systems and methods for visualizing and managing telepresence devices in healthcare networks
US9361021B2 (en) 2012-05-22 2016-06-07 Irobot Corporation Graphical user interfaces including touchpad driving interfaces for telemedicine devices
WO2013176758A1 (en) 2012-05-22 2013-11-28 Intouch Technologies, Inc. Clinical workflows utilizing autonomous and semi-autonomous telemedicine devices
US9764468B2 (en) 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
US9242372B2 (en) 2013-05-31 2016-01-26 Brain Corporation Adaptive robotic interface apparatus and methods
US9384443B2 (en) 2013-06-14 2016-07-05 Brain Corporation Robotic training apparatus and methods
US9792546B2 (en) 2013-06-14 2017-10-17 Brain Corporation Hierarchical robotic controller apparatus and methods
US9314924B1 (en) 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
US9436909B2 (en) 2013-06-19 2016-09-06 Brain Corporation Increased dynamic range artificial neuron network apparatus and methods
US9579789B2 (en) 2013-09-27 2017-02-28 Brain Corporation Apparatus and methods for training of robotic control arbitration
US9296101B2 (en) 2013-09-27 2016-03-29 Brain Corporation Robotic control arbitration apparatus and methods
US9597797B2 (en) 2013-11-01 2017-03-21 Brain Corporation Apparatus and methods for haptic training of robots
JP5971226B2 (en) * 2013-11-01 2016-08-17 株式会社安川電機 Robot system and method of manufacturing workpiece
US9463571B2 (en) 2013-11-01 2016-10-11 Brian Corporation Apparatus and methods for online training of robots
US9248569B2 (en) 2013-11-22 2016-02-02 Brain Corporation Discrepancy detection apparatus and methods for machine learning
FR3013927B1 (en) * 2013-11-22 2017-03-31 Schneider Electric Ind Sas CONTROL DEVICE COULD CONNECT TO A COMMUNICATION NETWORK CONNECTING A CONTROL INTERFACE TO AN EQUIPMENT
US9358685B2 (en) 2014-02-03 2016-06-07 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
RU2688977C2 (en) 2014-03-04 2019-05-23 Юниверсал Роботс А/С Safety system for industrial robot
US9874858B2 (en) * 2014-03-18 2018-01-23 The United States Of America As Represented By The Secretary Of The Navy Automation control system and a method in an automation control system
JP5877867B2 (en) 2014-04-25 2016-03-08 ファナック株式会社 Simulation equipment for multiple robots
US9346167B2 (en) 2014-04-29 2016-05-24 Brain Corporation Trainable convolutional network apparatus and methods for operating a robotic vehicle
BR112016025461A2 (en) 2014-05-01 2017-08-15 Jarvis Products methods for controlling a robotic carcass processing system and for processing a suspended carcass and controlled robotic carcass processing system?
CN104057396A (en) * 2014-05-22 2014-09-24 北京航空航天大学 Grinding wheel numerically-controlled finishing control device and control method special for face gear grinding
US10195746B2 (en) 2014-09-26 2019-02-05 Teradyne, Inc. Grasping gripper
US9630318B2 (en) 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
CN104360685B (en) * 2014-10-31 2017-02-22 北京特种机械研究所 Omni-directional mobile platform autonomous navigation system based on iGPS
EP3226800B1 (en) 2014-12-05 2021-10-06 Corindus, Inc. System for navigating a guide wire
CN105988409A (en) * 2015-02-11 2016-10-05 广东顺德华焯机械科技有限公司 Numerical control system based on EtherCat bus communication and soft PLC platform
US9717387B1 (en) 2015-02-26 2017-08-01 Brain Corporation Apparatus and methods for programming and training of robotic household appliances
CN104808591A (en) * 2015-02-27 2015-07-29 张锐 Robot system for glass fiber pulling and control method
TWI579668B (en) * 2015-04-22 2017-04-21 汪宏璋 No waiting robot control program system for multiplexing synchronization and control method thereof
TWI585559B (en) * 2015-04-22 2017-06-01 汪宏璋 No waiting robot control program method for multiplexing synchronization
CN105033996B (en) * 2015-05-22 2017-04-12 苏州法鲁克自动化设备有限公司 Control system based on hand-push teaching type five-shaft horizontal joint robot
US9687982B1 (en) 2015-05-27 2017-06-27 X Development Llc Adapting programming of a robot and/or control of the robot based on one or more parameters of an end effector of the robot
US10379007B2 (en) 2015-06-24 2019-08-13 Perrone Robotics, Inc. Automated robotic test system for automated driving systems
DE102015008188B3 (en) * 2015-06-25 2016-06-16 Kuka Roboter Gmbh Departure of a predetermined path with a robot
EP3111768B1 (en) * 2015-07-01 2019-03-27 Bühler GmbH Production plant for food products
US10850393B2 (en) 2015-07-08 2020-12-01 Universal Robots A/S Method for extending end user programming of an industrial robot with third party contributions
KR102235166B1 (en) 2015-09-21 2021-04-02 주식회사 레인보우로보틱스 A realtime robot system, an appratus for controlling a robot system, and a method for controlling a robot system
WO2017052061A1 (en) * 2015-09-21 2017-03-30 주식회사 레인보우 Gpos-connected real-time robot control system and real-time device control system using same
WO2017052059A1 (en) * 2015-09-21 2017-03-30 주식회사 레인보우 Real-time control system, real-time control device and system control method
CN105334806B (en) * 2015-11-21 2017-10-10 中国船舶重工集团公司第七一六研究所 Industrial robot motion control method and system based on EtherCAT buses
WO2017144078A1 (en) * 2016-02-23 2017-08-31 Abb Schweiz Ag Robot controller system and method therefor
TWI805545B (en) 2016-04-12 2023-06-21 丹麥商環球機器人公司 Method and computer program product for programming a robot by demonstration
US10241514B2 (en) 2016-05-11 2019-03-26 Brain Corporation Systems and methods for initializing a robot to autonomously travel a trained route
US9987752B2 (en) 2016-06-10 2018-06-05 Brain Corporation Systems and methods for automatic detection of spills
US10282849B2 (en) 2016-06-17 2019-05-07 Brain Corporation Systems and methods for predictive/reconstructive visual object tracker
US10016896B2 (en) 2016-06-30 2018-07-10 Brain Corporation Systems and methods for robotic behavior around moving bodies
US10078908B2 (en) 2016-08-12 2018-09-18 Elite Robotics Determination of relative positions
US10274325B2 (en) 2016-11-01 2019-04-30 Brain Corporation Systems and methods for robotic mapping
US10001780B2 (en) 2016-11-02 2018-06-19 Brain Corporation Systems and methods for dynamic route planning in autonomous navigation
US10723018B2 (en) 2016-11-28 2020-07-28 Brain Corporation Systems and methods for remote operating and/or monitoring of a robot
US10377040B2 (en) 2017-02-02 2019-08-13 Brain Corporation Systems and methods for assisting a robotic apparatus
US10852730B2 (en) 2017-02-08 2020-12-01 Brain Corporation Systems and methods for robotic mobile platforms
US10293485B2 (en) 2017-03-30 2019-05-21 Brain Corporation Systems and methods for robotic path planning
US11862302B2 (en) 2017-04-24 2024-01-02 Teladoc Health, Inc. Automated transcription and documentation of tele-health encounters
US10483007B2 (en) 2017-07-25 2019-11-19 Intouch Technologies, Inc. Modular telehealth cart with thermal imaging and touch screen user interface
CN107398902B (en) * 2017-08-02 2019-08-16 合肥中导机器人科技有限公司 Robot control method, robot control system
US11636944B2 (en) 2017-08-25 2023-04-25 Teladoc Health, Inc. Connectivity infrastructure for a telehealth platform
CN108000535A (en) * 2017-12-22 2018-05-08 安徽杰智智能科技有限公司 A kind of six-joint robot intelligent controller
CN108262742A (en) * 2018-01-24 2018-07-10 深圳市智能机器人研究院 The robot and its control method of a kind of modular construction
US10617299B2 (en) 2018-04-27 2020-04-14 Intouch Technologies, Inc. Telehealth cart that supports a removable tablet with seamless audio/video switching
US10988268B2 (en) * 2018-06-14 2021-04-27 General Electric Company System and method for performing operations on an engine
EP3812853B1 (en) * 2018-06-22 2024-01-17 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
SG11202010344QA (en) 2018-06-22 2020-11-27 Soft Servo Systems Inc Motion control program, motion control method, and motion control device
SG11202010173TA (en) * 2018-06-22 2020-11-27 Soft Servo Systems Inc Motion control program, motion control method, and motion control device
JP7417356B2 (en) * 2019-01-25 2024-01-18 株式会社ソニー・インタラクティブエンタテインメント robot control system
JP7190919B2 (en) 2019-01-25 2022-12-16 株式会社ソニー・インタラクティブエンタテインメント Image analysis system
JP2020179453A (en) * 2019-04-25 2020-11-05 セイコーエプソン株式会社 Control method for robot system and robot system
CN112336295B (en) * 2019-08-08 2024-07-05 上海安翰医疗技术有限公司 Control method and device for magnetic capsule endoscope, storage medium and electronic device
JP7437910B2 (en) * 2019-10-29 2024-02-26 株式会社東芝 Control system, control method, robot system, program, and storage medium
CN110815229A (en) * 2019-11-20 2020-02-21 浙江中烟工业有限责任公司 Stacking robot driving method and driving system
JP7444591B2 (en) * 2019-12-04 2024-03-06 ファナック株式会社 Control device
JP7448345B2 (en) * 2019-12-06 2024-03-12 ファナック株式会社 Communication control device
CN111001967B (en) * 2019-12-17 2021-09-28 苏州健雄职业技术学院 Automatic welding tracking system for U-shaped workpiece based on lightning plug controller and working method
JP2021137932A (en) * 2020-03-09 2021-09-16 株式会社日立製作所 Module system for robot
US20230219224A1 (en) * 2020-05-18 2023-07-13 Fanuc Corporation Robot control device and robot system
US11648673B2 (en) * 2020-05-26 2023-05-16 Intrinsic Innovation Llc Automated safety procedures for human intervention in robot systems
CN116113894A (en) * 2020-09-30 2023-05-12 西门子股份公司 Multi-type industrial robot control system, apparatus, method, and storage medium
CN112346405B (en) * 2020-10-13 2022-03-01 深圳市汇川技术股份有限公司 Numerical control system control method, device, numerical control system and computer storage medium
US11712804B2 (en) 2021-03-29 2023-08-01 Samsung Electronics Co., Ltd. Systems and methods for adaptive robotic motion control
US11724390B2 (en) 2021-03-29 2023-08-15 Samsung Electronics Co., Ltd. Systems and methods for automated preloading of actuators
US11731279B2 (en) 2021-04-13 2023-08-22 Samsung Electronics Co., Ltd. Systems and methods for automated tuning of robotics systems
WO2023032156A1 (en) * 2021-09-03 2023-03-09 三菱電機株式会社 Robot control system, robot control device, motion planning device, robot control program, and motion planning program
US12097619B2 (en) * 2022-09-26 2024-09-24 Fanuc Corporation Predictive control method for torque-rate control and vibration suppression

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218757A (en) * 1978-06-29 1980-08-19 Burroughs Corporation Device for automatic modification of ROM contents by a system selected variable
US4586151A (en) * 1983-09-02 1986-04-29 Zymark Corporation Self-configuring computerized robot control system
US4589063A (en) * 1983-08-04 1986-05-13 Fortune Systems Corporation Data processing system having automatic configuration
US4649514A (en) * 1983-11-30 1987-03-10 Tandy Corporation Computer revision port
US4689755A (en) * 1983-09-02 1987-08-25 Zymark Corporation Self-configuring computerized robot control system with call-back feature
US4730258A (en) * 1984-11-02 1988-03-08 Hitachi, Ltd. Method of and apparatus for controlling automated devices
US4831549A (en) * 1987-07-28 1989-05-16 Brigham Young University Device and method for correction of robot inaccuracy
US4891529A (en) * 1988-08-22 1990-01-02 View Engineering, Inc. System and method for analyzing dimensions of can tops during manufacture
US4954762A (en) * 1989-02-01 1990-09-04 Hitachi, Ltd Method and apparatus for controlling tracking path of working point of industrial robot
US5038089A (en) * 1988-03-23 1991-08-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Synchronized computational architecture for generalized bilateral control of robot arms
US5329450A (en) * 1991-05-10 1994-07-12 Shinko Electric Co., Ltd. Control method for mobile robot system
US5825981A (en) * 1996-03-11 1998-10-20 Komatsu Ltd. Robot system and robot control device

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4908556A (en) * 1986-11-20 1990-03-13 Unimation Inc. Modular robot control system
JPS63256381A (en) * 1987-04-10 1988-10-24 フアナツク株式会社 Controller for robot
US4974191A (en) * 1987-07-31 1990-11-27 Syntellect Software Inc. Adaptive natural language computer interface system
US5113346A (en) * 1990-01-26 1992-05-12 The Boeing Company Aircraft automatic landing system with engine out provisions
JPH03282703A (en) * 1990-03-30 1991-12-12 Toshiba Corp Universal robot controller
US5270627A (en) 1991-06-24 1993-12-14 Unilens Corp., U.S.A. Machine tool control system
JPH0655476A (en) * 1992-07-31 1994-03-01 Citizen Watch Co Ltd Robot instruction device
US5657429A (en) * 1992-08-10 1997-08-12 Computer Motion, Inc. Automated endoscope system optimal positioning
JPH06344279A (en) * 1993-06-07 1994-12-20 Hitachi Ltd Remote operation device and method
JPH07132474A (en) 1993-11-02 1995-05-23 Fujitsu Ltd Manipulator control device
JP2953945B2 (en) 1994-03-08 1999-09-27 日立電子サービス株式会社 Electrostatic discharge detection device
US5790407A (en) * 1994-07-08 1998-08-04 Bandit Lites Time-based control system
US5617515A (en) * 1994-07-11 1997-04-01 Dynetics, Inc. Method and apparatus for controlling and programming a robot or other moveable object
US5495410A (en) * 1994-08-12 1996-02-27 Minnesota Mining And Manufacturing Company Lead-through robot programming system
US6219032B1 (en) * 1995-12-01 2001-04-17 Immersion Corporation Method for providing force feedback to a user of an interface device based on interactions of a controlled cursor with graphical elements in a graphical user interface
JP3467139B2 (en) 1995-12-12 2003-11-17 株式会社森精機ハイテック Numerical control unit
US6699177B1 (en) * 1996-02-20 2004-03-02 Computer Motion, Inc. Method and apparatus for performing minimally invasive surgical procedures
JPH10228397A (en) * 1997-02-13 1998-08-25 Nec Eng Ltd Watchdog timer
WO1998037466A1 (en) 1997-02-19 1998-08-27 Mitsubishi Denki Kabushiki Kaisha Personal computer-incorporated numerical controller
JPH10240330A (en) 1997-02-21 1998-09-11 Hitachi Seiki Co Ltd Numerical controller
US6115650A (en) * 1997-04-30 2000-09-05 Ethicon, Inc. Robotic control system for needle sorting and feeder apparatus
JP3269004B2 (en) * 1997-05-12 2002-03-25 川崎重工業株式会社 Robot controller
JP3269003B2 (en) 1997-05-12 2002-03-25 川崎重工業株式会社 Robot controller
US6219589B1 (en) * 1997-10-22 2001-04-17 Simon Fraser University Remote manipulator with force feedback and control
US6233504B1 (en) * 1998-04-16 2001-05-15 California Institute Of Technology Tool actuation and force feedback on robot-assisted microsurgery system
US6951535B2 (en) * 2002-01-16 2005-10-04 Intuitive Surgical, Inc. Tele-medicine system that transmits an entire state of a subsystem
US6659939B2 (en) * 1998-11-20 2003-12-09 Intuitive Surgical, Inc. Cooperative minimally invasive telesurgical system
US8527094B2 (en) * 1998-11-20 2013-09-03 Intuitive Surgical Operations, Inc. Multi-user medical robotic system for collaboration or training in minimally invasive surgical procedures
US6459926B1 (en) * 1998-11-20 2002-10-01 Intuitive Surgical, Inc. Repositioning and reorientation of master/slave relationship in minimally invasive telesurgery
US6324581B1 (en) * 1999-03-03 2001-11-27 Emc Corporation File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems
US6341246B1 (en) * 1999-03-26 2002-01-22 Kuka Development Laboratories, Inc. Object oriented motion system
US6424885B1 (en) * 1999-04-07 2002-07-23 Intuitive Surgical, Inc. Camera referenced control in a minimally invasive surgical apparatus
US6707457B1 (en) * 1999-09-30 2004-03-16 Conexant Systems, Inc. Microprocessor extensions for two-dimensional graphics processing
JP2001252884A (en) * 2000-03-06 2001-09-18 Matsushita Electric Ind Co Ltd Robot, robot system, and method of controlling robot
US6442451B1 (en) * 2000-12-28 2002-08-27 Robotic Workspace Technologies, Inc. Versatile robot control system
CA2390487C (en) * 2001-06-11 2009-02-10 Robert D. Wiplinger Gear status indicator aircraft landing system
US6804585B2 (en) * 2001-06-19 2004-10-12 John Jay Humbard Flight management system and method for providing navigational reference to emergency landing locations
US6839612B2 (en) * 2001-12-07 2005-01-04 Institute Surgical, Inc. Microwrist system for surgical procedures
US7155316B2 (en) * 2002-08-13 2006-12-26 Microbotics Corporation Microsurgical robot system
WO2005057133A1 (en) * 2003-11-25 2005-06-23 Honeywell International, Inc. Perspective vertical situation display system and method
US6950731B1 (en) * 2005-01-31 2005-09-27 Cody Mac English Traffic pattern approach computer
JP3946753B2 (en) * 2005-07-25 2007-07-18 ファナック株式会社 Robot program evaluation / correction method and robot program evaluation / correction device
US8301302B2 (en) * 2008-05-08 2012-10-30 The Boeing Company Synchronous robotic operation on a structure having a confined space

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218757A (en) * 1978-06-29 1980-08-19 Burroughs Corporation Device for automatic modification of ROM contents by a system selected variable
US4589063A (en) * 1983-08-04 1986-05-13 Fortune Systems Corporation Data processing system having automatic configuration
US4586151A (en) * 1983-09-02 1986-04-29 Zymark Corporation Self-configuring computerized robot control system
US4689755A (en) * 1983-09-02 1987-08-25 Zymark Corporation Self-configuring computerized robot control system with call-back feature
US4649514A (en) * 1983-11-30 1987-03-10 Tandy Corporation Computer revision port
US4730258A (en) * 1984-11-02 1988-03-08 Hitachi, Ltd. Method of and apparatus for controlling automated devices
US4831549A (en) * 1987-07-28 1989-05-16 Brigham Young University Device and method for correction of robot inaccuracy
US5038089A (en) * 1988-03-23 1991-08-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Synchronized computational architecture for generalized bilateral control of robot arms
US4891529A (en) * 1988-08-22 1990-01-02 View Engineering, Inc. System and method for analyzing dimensions of can tops during manufacture
US4954762A (en) * 1989-02-01 1990-09-04 Hitachi, Ltd Method and apparatus for controlling tracking path of working point of industrial robot
US5329450A (en) * 1991-05-10 1994-07-12 Shinko Electric Co., Ltd. Control method for mobile robot system
US5825981A (en) * 1996-03-11 1998-10-20 Komatsu Ltd. Robot system and robot control device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP1352357A4 *
XUECAI ZHOU ET AL.: "ADVANCED ROBOTICS, 1997. ICAR '97. Proceedings., 8th International Conference On Monterey", 7 July 1997, IEEE, article "A New Robot Control System With Open Architecture", pages: 813 - 818

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473202B2 (en) 2000-12-28 2013-06-25 C.H.I. Development Mgmt. Ltd. Xxiv, Llc Automation equipment control system
US8761932B2 (en) 2000-12-28 2014-06-24 C.H.I. Development Mgmt. Ltd. Xxiv, Llc Automation equipment control system
US8744625B2 (en) 2010-11-05 2014-06-03 Canon Kabushiki Kaisha Robot controlling device
CN105128010A (en) * 2015-08-07 2015-12-09 深圳市微秒控制技术有限公司 Distributed control system and method for selective compliance assembly robot arm (SCARA) robot

Also Published As

Publication number Publication date
US6442451B1 (en) 2002-08-27
US20040153213A1 (en) 2004-08-05
JP2004524171A (en) 2004-08-12
JP2009238233A (en) 2009-10-15
US8761932B2 (en) 2014-06-24
CN100541504C (en) 2009-09-16
CA2433503A1 (en) 2002-07-11
EP1352357A1 (en) 2003-10-15
US20020087232A1 (en) 2002-07-04
US8473202B2 (en) 2013-06-25
US20050267637A1 (en) 2005-12-01
US20130282176A1 (en) 2013-10-24
US6922611B2 (en) 2005-07-26
EP1352357A4 (en) 2011-01-05
CN1484807A (en) 2004-03-24
JP5406589B2 (en) 2014-02-05
MXPA03005957A (en) 2004-10-15
KR20030081370A (en) 2003-10-17
US8050797B2 (en) 2011-11-01
US20120016521A1 (en) 2012-01-19
US6675070B2 (en) 2004-01-06
US20030050734A1 (en) 2003-03-13

Similar Documents

Publication Publication Date Title
EP1352357A1 (en) Versatile robot control system
Williams et al. Planar translational cable‐direct‐driven robots
JP5180989B2 (en) Method and apparatus for automatic control of a humanoid robot
EP3946836A1 (en) Robot arm safety system with runtime adaptable safety limits
WO2020200386A1 (en) Extendable safety system for robot system
JPS6334609A (en) Plural arms device
Obinna et al. „LabVIEW Motion Planning and Tracking of an Industrial Robotic Manipulator (KUKA KR5 arc): Design, Modelling, and Simulating the Robot’s Controller Unit,” FMTÜ-XXII
JP2003136466A (en) Control device of industrial robot
Bryfogle et al. Kinematics and control of a fully parallel force‐reflecting hand controller for manipulator teleoperation
Caccavale et al. RePLiCS: An environment for open real-time control of a dual-arm industrial robotic cell based on RTAI-Linux
Colombina et al. External servicing testbed for automation and robotics
Sabater et al. Magister-P; a 6-URS parallel haptic device with open control architecture
Macchelli et al. Space robotics: An experimental set-up based on RTAI-linux
JPH07205068A (en) Coordinate system setting method of robot
Mianowski et al. Application of the RNT Robot to Milling and Polishing
Hamilton et al. Development of the MASCOT telemanipulator control system
Jau et al. Anthropomorphic telemanipulation system in terminus control mode
Grunwald et al. Touch: The intuitive type of human and robot interaction
Leake A cartesian force reflecting teleoperation system
JPH01222315A (en) Controller for position and force of multidegree freedom work machine
JP2020157475A (en) Control device, robot system, and robot control method
Caccavale et al. An experimental set‐up for cooperative manipulation based on industrial manipulators
Tarn et al. Distributed control architecture for a sensor-driven dual arm system
Shadpey et al. Development and experimental evaluation of a robust contact force control strategy for a 7-DOF redundant manipulator
Reinhart et al. Some issues on integrating telepresence technology into industrial robotic assembly

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA CN JP KR MX

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1020037008859

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: PA/a/2003/005957

Country of ref document: MX

Ref document number: 2002555354

Country of ref document: JP

Ref document number: 2433503

Country of ref document: CA

Ref document number: 018216471

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2001991483

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2001991483

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020037008859

Country of ref document: KR