US20020087232A1 - Versatile robot control system - Google Patents

Versatile robot control system Download PDF

Info

Publication number
US20020087232A1
US20020087232A1 US09/750,433 US75043300A US2002087232A1 US 20020087232 A1 US20020087232 A1 US 20020087232A1 US 75043300 A US75043300 A US 75043300A US 2002087232 A1 US2002087232 A1 US 2002087232A1
Authority
US
United States
Prior art keywords
robot
control system
general purpose
real
code segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US09/750,433
Other versions
US6442451B1 (en
Inventor
John Lapham
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intellectual Ventures II LLC
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US09/750,433 priority Critical patent/US6442451B1/en
Assigned to ROBOTIC WORKSPACE TECHNOLOGIES, INC. reassignment ROBOTIC WORKSPACE TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LAPHAM, JOHN R.
Priority to MXPA03005957A priority patent/MXPA03005957A/en
Priority to EP01991483A priority patent/EP1352357A4/en
Priority to CNB018216471A priority patent/CN100541504C/en
Priority to CA002433503A priority patent/CA2433503A1/en
Priority to KR10-2003-7008859A priority patent/KR20030081370A/en
Priority to PCT/US2001/049802 priority patent/WO2002054329A1/en
Priority to JP2002555354A priority patent/JP2004524171A/en
Publication of US20020087232A1 publication Critical patent/US20020087232A1/en
Priority to US10/227,660 priority patent/US6675070B2/en
Publication of US6442451B1 publication Critical patent/US6442451B1/en
Application granted granted Critical
Priority to US10/749,048 priority patent/US6922611B2/en
Assigned to FIFTH THIRD BANK reassignment FIFTH THIRD BANK SECURITY AGREEMENT Assignors: ROBOTIC WORKSPACE TECHNOLOGIES, INC.
Priority to US11/190,145 priority patent/US8050797B2/en
Assigned to YA GLOBAL INVESTMENTS, LP reassignment YA GLOBAL INVESTMENTS, LP SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INNOVA ROBOTICS AND AUTOMATION INC., PARENT COMPANY, ROBOTIC WORKSPACE TECHNOLOGIES, INC., A SUBSIDIARY OF THE PARENT COMPANY
Assigned to ROBOTIC WORKSPACE TECHNOLOGIES, INC reassignment ROBOTIC WORKSPACE TECHNOLOGIES, INC RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: FIFTH THIRD BANK
Assigned to COROWARE, INC. reassignment COROWARE, INC. NUNC PRO TUNC ASSIGNMENT (SEE DOCUMENT FOR DETAILS). Assignors: ROBOTIC WORKSPACE TECHNOLOGIES, INC.
Assigned to ROBOTIC WORKSPACE TECHNOLOGIES, INC reassignment ROBOTIC WORKSPACE TECHNOLOGIES, INC RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: FRANKLIN CAPITAL CORP
Priority to JP2009116149A priority patent/JP5406589B2/en
Assigned to ROBOTIC WORKSPACE TECHNOLOGIES, INC., COROWARE, INC. (F/K/A INNOVA ROBOTICS AND AUTOMATION, INC.) reassignment ROBOTIC WORKSPACE TECHNOLOGIES, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: YA GLOBAL INVESTMENTS, L.P.
Assigned to C.H.I. DEVELOPMENT MGMT. LTD. XXIV, LLC reassignment C.H.I. DEVELOPMENT MGMT. LTD. XXIV, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: COROWARE, INC.
Priority to US13/244,085 priority patent/US8473202B2/en
Priority to US13/921,171 priority patent/US8761932B2/en
Assigned to CALLAHAN CELLULAR L.L.C. reassignment CALLAHAN CELLULAR L.L.C. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: C.H.I. DEVELOPMENT MGMT. LTD. XXIV, LLC
Assigned to INTELLECTUAL VENTURES II LLC reassignment INTELLECTUAL VENTURES II LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CALLAHAN CELLULAR L.L.C.
Adjusted expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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 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.
  • 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.
  • 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. For example, some robots are equipped with stepper motors, others servo motors.
  • Robot 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.
  • 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).
  • 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.
  • standard networks and I/O devices e.g. standard floppy drives
  • 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 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.
  • 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.
  • the operator interface module preferably includes a configuration variable for storing data defining 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 the first or second code segment according to the electromechanical configuration.
  • FIG. 1 is schematic block diagram illustrating the software programs, computer hardware and robot connections of a robot control system according to the present invention
  • FIG. 2 is simplified flowchart of a preferred embodiment of software and method steps for providing the watchdog intercommunication between the general purpose computer and the real-time computer subsystem;
  • FIG. 3 is a side elevation view of an articulating industrial robot illustrating another type of robot configuration controllable by embodiments of the present invention
  • FIG. 4 is a side elevation view of an industrial robot equipped with linear joints and illustrating one of the many types of robot configurations controllable by embodiments of the present invention
  • FIG. 5 is a simplified flow chart of preferred software and method steps for accommodating robots of different electromechanical configurations and demonstrating the role of the configuration variable in control systems according to the present invention
  • FIG. 6 is likewise an exemplary operator interface display screen generated in response to data stored in the configuration variable specifying a rotational joint configuration
  • FIG. 7 is an exemplary operator interface display screen generated in response to data stored in the configuration variable specifying a linear joint.
  • 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).
  • a program execution module 18 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 FIG. 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 computers such as a Windows NT PC
  • General purpose computer 14 is electronically linked for data exchange (i.e. communication) with real-time 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, Calif.) 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 .
  • 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 “smart” devices can be directly activated by digital signals, however.
  • 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 .
  • 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 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 .
  • 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.
  • FIG. 1 The required combination of individual joint axes models and overall kinematics models is represented in FIG. 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 real-time computer subsystem 16 for storing multiple move commands 26 received from program execution module 18 .
  • 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 .
  • 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.
  • control system 10 includes a security (or “watchdog”) communication (blocks 22 and 40 ) between general purpose computer 14 and real-time computer subsystem 16 .
  • Flowchart FIG. 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.
  • FIGS. 3 and 4 demonstrate the challenge of working with robots of different electromechanical configurations.
  • FIG. 3 is side view of articulating robot 4 from FIG. 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 .
  • FIG. 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.
  • FIGS. 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 FIG. 6 is generated at screen 28 . For a linear joint type, box 100 is selected and the linear joint/axis display of FIG. 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 improved, versatile robot control system comprises a general purpose computer with a general purpose operating system in electronic communication with a real-time computer subsystem. The general purpose computer includes a program execution module to selectively start and stop processing of a program of robot instructions and to generate a plurality of robot move commands. The real-time computer subsystem includes a move command data buffer for storing the plurality of move commands, a robot move module linked to the data buffer for sequentially processing the moves and calculating a required position for a robot mechanical joint. The real-time computer subsystem also includes a dynamic control algorithm in software communication with the move module to repeatedly calculate a required actuator activation signal from a robot joint position feedback signal.

Description

    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. [0001]
  • 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. [0002]
  • 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. [0003]
  • 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. [0004]
  • 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. [0005]
  • 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. [0006]
  • 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. [0007]
  • 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. [0008]
  • 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. [0009]
  • 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). [0010]
  • 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.”[0011]
  • 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. [0012]
  • 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. [0013]
  • 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. [0014]
  • 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. [0015]
  • 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. [0016]
  • 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. [0017]
  • 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. [0018]
  • 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. [0019]
  • 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. [0020]
  • 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. [0021]
  • 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. [0022]
  • The operator interface module preferably includes a configuration variable for storing data defining 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 the first or second code segment according to the electromechanical configuration.[0023]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • In the accompanying drawings that form part of the specification, and in which like numerals are employed to designate like parts throughout the same, [0024]
  • FIG. 1 is schematic block diagram illustrating the software programs, computer hardware and robot connections of a robot control system according to the present invention; [0025]
  • FIG. 2 is simplified flowchart of a preferred embodiment of software and method steps for providing the watchdog intercommunication between the general purpose computer and the real-time computer subsystem; [0026]
  • FIG. 3 is a side elevation view of an articulating industrial robot illustrating another type of robot configuration controllable by embodiments of the present invention; [0027]
  • FIG. 4 is a side elevation view of an industrial robot equipped with linear joints and illustrating one of the many types of robot configurations controllable by embodiments of the present invention; [0028]
  • FIG. 5 is a simplified flow chart of preferred software and method steps for accommodating robots of different electromechanical configurations and demonstrating the role of the configuration variable in control systems according to the present invention; [0029]
  • FIG. 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 [0030]
  • FIG. 7 is an exemplary operator interface display screen generated in response to data stored in the configuration variable specifying a linear joint.[0031]
  • 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. [0032]
  • 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. [0033]
  • 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. [0034]
  • Referring to FIG. 1, the elements of a [0035] 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®.”[0036]
  • 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. [0037]
  • As indicated in FIG. 1, [0038] 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 [0039] 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.
  • [0040] Program execution module 18 processes programs of robot instructions 24, which can be stored as data files as represented in FIG. 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, [0041] 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.
  • [0042] 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, [0043] 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 [0044] 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.
  • [0045] General purpose computer 14 is electronically linked for data exchange (i.e. communication) with real-time 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-[0046] 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, Calif.) under the designations “PMAC”, “PMAC2,” “Turbo PMAC” and “UMAC” are presently preferred.
  • Real-[0047] 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 [0048] 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.
  • [0049] 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, [0050] 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. [0051]
  • For joint position move commands, [0052] 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, [0053] 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-[0054] 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 FIG. 1 by [0055] 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-[0056] 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.
  • [0057] Data buffer 34 is a software variable available to programs in both general purpose computer 14 and real-time 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 [0058] 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 [0059] 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 [0060] 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 FIG. 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 [0061] 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, [0062] control system 10 includes a security (or “watchdog”) communication (blocks 22 and 40) between general purpose computer 14 and real-time computer subsystem 16. Flowchart FIG. 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) [0063] 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.
  • [0064] 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.
  • [0065] 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 [0066] 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, [0067] 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 FIG. 1, another feature of the present invention is that the software provided for [0068] 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 [0069] operator interface module 20. Viewed together, FIGS. 3 and 4 demonstrate the challenge of working with robots of different electromechanical configurations. FIG. 3 is side view of articulating robot 4 from FIG. 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, FIG. 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 [0070] 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. [0071]
  • FIGS. 5 through 7 provide an example of how [0072] operator interface module 20 uses the configuration variable to accommodate different types of robots. As illustrated in FIG. 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 [0073] 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 FIG. 6 is generated at screen 28. For a linear joint type, box 100 is selected and the linear joint/axis display of FIG. 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. [0074]

Claims (32)

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;
a timer code segment for adjusting said timer variable according to passing time;
an activity software switch having an active position and an unset position;
a status code segment installed in said general purpose computer for repeatedly setting said activity software switch to said active position;
a timer reset code segment installed in said real-time computer subsystem for repeatedly resetting said timer variable to a predetermined amount of time when said activity software switch is in said active position and repeatedly setting said activity software switch to said unset position; and
a fail safe code segment installed in said real-time computer subsystem for repeatedly inspecting said timer variable and setting said activation signal to shut down the robot if said timer variable reaches a predetermined value.
4. The control system according to claim 3 wherein said activity software switch is implemented as an integer software variable with said unset position being represented by zero and said active position being represented by one.
5. 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 bus card with a central processing unit, said bus card being installed in said data bus.
6. The control system according to claim 1 wherein said general-purpose computer and said real-time computer subsystem are electronically linked via a standard data bus.
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 configuration.
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.
US09/750,433 2000-12-28 2000-12-28 Versatile robot control system Expired - Lifetime US6442451B1 (en)

Priority Applications (14)

Application Number Priority Date Filing Date Title
US09/750,433 US6442451B1 (en) 2000-12-28 2000-12-28 Versatile robot control system
MXPA03005957A MXPA03005957A (en) 2000-12-28 2001-12-20 Versatile robot control system.
EP01991483A EP1352357A4 (en) 2000-12-28 2001-12-20 Versatile robot control system
CNB018216471A CN100541504C (en) 2000-12-28 2001-12-20 Versatile robot control system
CA002433503A CA2433503A1 (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
PCT/US2001/049802 WO2002054329A1 (en) 2000-12-28 2001-12-20 Versatile robot control system
JP2002555354A JP2004524171A (en) 2000-12-28 2001-12-20 Versatile robot control system
US10/227,660 US6675070B2 (en) 2000-12-28 2002-08-26 Automation equipment control system
US10/749,048 US6922611B2 (en) 2000-12-28 2003-12-30 Automation equipment control system
US11/190,145 US8050797B2 (en) 2000-12-28 2005-07-26 Automation equipment control system
JP2009116149A JP5406589B2 (en) 2000-12-28 2009-05-13 Versatile robot control system
US13/244,085 US8473202B2 (en) 2000-12-28 2011-09-23 Automation equipment control system
US13/921,171 US8761932B2 (en) 2000-12-28 2013-06-18 Automation equipment control system

Applications Claiming Priority (1)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/227,660 Continuation-In-Part US6675070B2 (en) 2000-12-28 2002-08-26 Automation equipment control system

Publications (2)

Publication Number Publication Date
US20020087232A1 true US20020087232A1 (en) 2002-07-04
US6442451B1 US6442451B1 (en) 2002-08-27

Family

ID=25017852

Family Applications (6)

Application Number Title Priority Date Filing Date
US09/750,433 Expired - Lifetime US6442451B1 (en) 2000-12-28 2000-12-28 Versatile robot control system
US10/227,660 Expired - Lifetime US6675070B2 (en) 2000-12-28 2002-08-26 Automation equipment control system
US10/749,048 Expired - Lifetime US6922611B2 (en) 2000-12-28 2003-12-30 Automation equipment control system
US11/190,145 Expired - Fee Related US8050797B2 (en) 2000-12-28 2005-07-26 Automation equipment control system
US13/244,085 Expired - Lifetime US8473202B2 (en) 2000-12-28 2011-09-23 Automation equipment control system
US13/921,171 Expired - Fee Related US8761932B2 (en) 2000-12-28 2013-06-18 Automation equipment control system

Family Applications After (5)

Application Number Title Priority Date Filing Date
US10/227,660 Expired - Lifetime US6675070B2 (en) 2000-12-28 2002-08-26 Automation equipment control system
US10/749,048 Expired - Lifetime US6922611B2 (en) 2000-12-28 2003-12-30 Automation equipment control system
US11/190,145 Expired - Fee Related US8050797B2 (en) 2000-12-28 2005-07-26 Automation equipment control system
US13/244,085 Expired - Lifetime US8473202B2 (en) 2000-12-28 2011-09-23 Automation equipment control system
US13/921,171 Expired - Fee Related US8761932B2 (en) 2000-12-28 2013-06-18 Automation equipment 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 (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050209734A1 (en) * 2002-04-17 2005-09-22 Michiharu Tanaka Robot system and controller
EP1738232A1 (en) * 2004-04-22 2007-01-03 Frontline Robotics Open control system architecture for mobile autonomous systems
US8000837B2 (en) 2004-10-05 2011-08-16 J&L Group International, Llc Programmable load forming system, components thereof, and methods of use
CN102289217A (en) * 2011-02-25 2011-12-21 广西大学 Modular reconfigurable motion control system with axle as unit
CN102508445A (en) * 2011-11-16 2012-06-20 华北电力大学(保定) Intelligent algorithm processing system and method
CN102689307A (en) * 2011-03-23 2012-09-26 库卡实验仪器有限公司 Robot, control device for a robot and method for operating a robot
CN103294009A (en) * 2012-03-05 2013-09-11 宝元数控精密股份有限公司 Multi-shaft controller application architecture capable of being elastically applied
CN104808591A (en) * 2015-02-27 2015-07-29 张锐 Robot system for glass fiber pulling and control method
US20160346861A1 (en) * 2008-01-09 2016-12-01 Illinois Tool Works Inc. Automatic Weld Arc Monitoring System
CN108262742A (en) * 2018-01-24 2018-07-10 深圳市智能机器人研究院 The robot and its control method of a kind of modular construction
US20190022856A1 (en) * 2016-02-23 2019-01-24 Abb Schweiz Ag Robot Controller System And Method Therefor
CN111001967A (en) * 2019-12-17 2020-04-14 苏州健雄职业技术学院 Automatic welding tracking system for U-shaped workpiece based on lightning plug controller and working method
CN112346405A (en) * 2020-10-13 2021-02-09 深圳市汇川技术股份有限公司 Numerical control system control method, device, numerical control system and computer storage medium
US10988268B2 (en) * 2018-06-14 2021-04-27 General Electric Company System and method for performing operations on an engine
US20210122044A1 (en) * 2019-10-29 2021-04-29 Kabushiki Kaisha Toshiba Control system, control method, robot system, and storage medium
EP3812855A4 (en) * 2018-06-22 2022-01-05 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
EP3812853A4 (en) * 2018-06-22 2022-01-05 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
US20220080599A1 (en) * 2019-01-25 2022-03-17 Sony Interactive Entertainment Inc. Robot controlling system
US11300939B2 (en) 2018-06-22 2022-04-12 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
US11576561B2 (en) * 2019-08-08 2023-02-14 Ankon Medical Technologies (Shanghai) Co., Ltd. Control method, control device, storage medium, and electronic device for magnetic capsule
US20230219224A1 (en) * 2020-05-18 2023-07-13 Fanuc Corporation Robot control device and robot system
US12103162B2 (en) 2019-01-25 2024-10-01 Sony Interactive Entertainment Inc. Robotic device having an image analysis system

Families Citing this family (182)

* 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
US6442451B1 (en) * 2000-12-28 2002-08-27 Robotic Workspace Technologies, Inc. Versatile robot control system
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
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
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
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
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
JP5743495B2 (en) 2010-11-05 2015-07-01 キヤノン株式会社 Robot controller
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
CN102172790B (en) * 2011-03-04 2013-02-13 北京航空航天大学 Numerical control gear hobbing processing control device and processing control method for face gear
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
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
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
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
CN105128010B (en) * 2015-08-07 2017-12-29 深圳市微秒控制技术有限公司 A kind of robot distributed control system of SCARA and its control method
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
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
US10617299B2 (en) 2018-04-27 2020-04-14 Intouch Technologies, Inc. Telehealth cart that supports a removable tablet with seamless audio/video switching
JP2020179453A (en) * 2019-04-25 2020-11-05 セイコーエプソン株式会社 Control method for robot system and robot system
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
JP2021137932A (en) * 2020-03-09 2021-09-16 株式会社日立製作所 Module system for robot
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
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

Family Cites Families (55)

* 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
US4689755A (en) * 1983-09-02 1987-08-25 Zymark Corporation Self-configuring computerized robot control system with call-back feature
US4586151A (en) * 1983-09-02 1986-04-29 Zymark Corporation Self-configuring computerized robot control system
US4649514A (en) * 1983-11-30 1987-03-10 Tandy Corporation Computer revision port
JPS61110204A (en) * 1984-11-02 1986-05-28 Hitachi Ltd Controlling method of automated device
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
US4831549A (en) * 1987-07-28 1989-05-16 Brigham Young University Device and method for correction of robot inaccuracy
US4974191A (en) * 1987-07-31 1990-11-27 Syntellect Software Inc. Adaptive natural language computer interface system
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
JP2786225B2 (en) * 1989-02-01 1998-08-13 株式会社日立製作所 Industrial robot control method and apparatus
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
JP2884816B2 (en) * 1991-05-10 1999-04-19 神鋼電機株式会社 Control method in mobile robot system
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
JPH09244730A (en) * 1996-03-11 1997-09-19 Komatsu Ltd Robot system and controller for robot
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

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050209734A1 (en) * 2002-04-17 2005-09-22 Michiharu Tanaka Robot system and controller
EP1738232A1 (en) * 2004-04-22 2007-01-03 Frontline Robotics Open control system architecture for mobile autonomous systems
EP1738232A4 (en) * 2004-04-22 2009-10-21 Frontline Robotics Open control system architecture for mobile autonomous systems
US8000837B2 (en) 2004-10-05 2011-08-16 J&L Group International, Llc Programmable load forming system, components thereof, and methods of use
US20160346861A1 (en) * 2008-01-09 2016-12-01 Illinois Tool Works Inc. Automatic Weld Arc Monitoring System
US11045892B2 (en) * 2008-01-09 2021-06-29 Illinois Tool Works Inc. Automatic weld arc monitoring system
CN102289217A (en) * 2011-02-25 2011-12-21 广西大学 Modular reconfigurable motion control system with axle as unit
CN102689307A (en) * 2011-03-23 2012-09-26 库卡实验仪器有限公司 Robot, control device for a robot and method for operating a robot
CN102508445A (en) * 2011-11-16 2012-06-20 华北电力大学(保定) Intelligent algorithm processing system and method
CN103294009A (en) * 2012-03-05 2013-09-11 宝元数控精密股份有限公司 Multi-shaft controller application architecture capable of being elastically applied
CN104808591A (en) * 2015-02-27 2015-07-29 张锐 Robot system for glass fiber pulling and control method
US20190022856A1 (en) * 2016-02-23 2019-01-24 Abb Schweiz Ag Robot Controller System And Method Therefor
US10894318B2 (en) * 2016-02-23 2021-01-19 Abb Schweiz Ag Robot controller system and method therefor
CN108262742A (en) * 2018-01-24 2018-07-10 深圳市智能机器人研究院 The robot and its control method of a kind of modular construction
US10988268B2 (en) * 2018-06-14 2021-04-27 General Electric Company System and method for performing operations on an engine
IL279689B (en) * 2018-06-22 2022-09-01 Soft Servo Systems Inc Motion control program, motion control method, and motion control device
IL279691B2 (en) * 2018-06-22 2023-02-01 Soft Servo Systems Inc Motion control program, motion control method, and motion control device
EP3812855A4 (en) * 2018-06-22 2022-01-05 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
EP3812853A4 (en) * 2018-06-22 2022-01-05 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
US11300939B2 (en) 2018-06-22 2022-04-12 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
US11314217B2 (en) 2018-06-22 2022-04-26 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
US11392103B2 (en) * 2018-06-22 2022-07-19 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
IL279691B (en) * 2018-06-22 2022-10-01 Soft Servo Systems Inc Motion control program, motion control method, and motion control device
US12103162B2 (en) 2019-01-25 2024-10-01 Sony Interactive Entertainment Inc. Robotic device having an image analysis system
US20220080599A1 (en) * 2019-01-25 2022-03-17 Sony Interactive Entertainment Inc. Robot controlling system
US11576561B2 (en) * 2019-08-08 2023-02-14 Ankon Medical Technologies (Shanghai) Co., Ltd. Control method, control device, storage medium, and electronic device for magnetic capsule
US11660753B2 (en) * 2019-10-29 2023-05-30 Kabushiki Kaisha Toshiba Control system, control method, robot system, and storage medium
US20210122044A1 (en) * 2019-10-29 2021-04-29 Kabushiki Kaisha Toshiba Control system, control method, robot system, and storage medium
US12115678B2 (en) * 2019-10-29 2024-10-15 Kabushiki Kaisha Toshiba Control system, control method, robot system, and storage medium
CN111001967A (en) * 2019-12-17 2020-04-14 苏州健雄职业技术学院 Automatic welding tracking system for U-shaped workpiece based on lightning plug controller and working method
US20230219224A1 (en) * 2020-05-18 2023-07-13 Fanuc Corporation Robot control device and robot system
CN112346405A (en) * 2020-10-13 2021-02-09 深圳市汇川技术股份有限公司 Numerical control system control method, device, numerical control system and computer storage medium

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
US8473202B2 (en) 2013-06-25
US20050267637A1 (en) 2005-12-01
US20130282176A1 (en) 2013-10-24
WO2002054329A1 (en) 2002-07-11
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
US6442451B1 (en) Versatile robot control system
JP5025641B2 (en) Kinematic singularity compensation system and method
US20220184810A1 (en) Robot arm safety system with runtime adaptable safety limits
JP2001525734A (en) Method and apparatus for directly commanding automatic machines
JPH09265313A (en) Speed arithmetic device for robot and speed arithmetic method for robot
CN112720460B (en) Robot control method, device, computer readable storage medium and robot
JP6904759B2 (en) Robot movement speed control device and method
US20220161433A1 (en) Extendable safety system for robot system
EP0353305A1 (en) Industrial robot capable of automatically changing operating conditions depending on its attitude of installation
JP2003136466A (en) Control device of industrial robot
WO2009020600A1 (en) Force controlled robots
CN108475051B (en) Method and system for aligning a tool during programming of an industrial robot
CN113474130B (en) Method and system for executing preset tasks by using robot
Colombina et al. External servicing testbed for automation and robotics
WO2024161517A1 (en) Numerical control device and numerical control system
CN117644507B (en) Cooperative robot motion method, apparatus and storage medium
JPS63239511A (en) Robot system
JPH07205068A (en) Coordinate system setting method of robot
JP2024063926A (en) Robot system and robot system setting method
Mianowski et al. Application of the RNT Robot to Milling and Polishing
JP2020040185A (en) Robot arm, robot device using robot arm, control method of robot arm, control program, and recording medium
Adam et al. High level programming and control of a manufacturing system
Hamilton et al. Development of the MASCOT telemanipulator control system
Sanders et al. A. SYNOPSIS

Legal Events

Date Code Title Description
AS Assignment

Owner name: ROBOTIC WORKSPACE TECHNOLOGIES, INC., FLORIDA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LAPHAM, JOHN R.;REEL/FRAME:011746/0392

Effective date: 20010326

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: FIFTH THIRD BANK, FLORIDA

Free format text: SECURITY AGREEMENT;ASSIGNOR:ROBOTIC WORKSPACE TECHNOLOGIES, INC.;REEL/FRAME:015562/0395

Effective date: 20030722

REMI Maintenance fee reminder mailed
FPAY Fee payment

Year of fee payment: 4

SULP Surcharge for late payment
AS Assignment

Owner name: YA GLOBAL INVESTMENTS, LP, NEW JERSEY

Free format text: SECURITY INTEREST;ASSIGNORS:INNOVA ROBOTICS AND AUTOMATION INC., PARENT COMPANY;ROBOTIC WORKSPACE TECHNOLOGIES, INC., A SUBSIDIARY OF THE PARENT COMPANY;REEL/FRAME:020156/0603

Effective date: 20071029

AS Assignment

Owner name: ROBOTIC WORKSPACE TECHNOLOGIES, INC, WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:FIFTH THIRD BANK;REEL/FRAME:021824/0471

Effective date: 20081112

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPP Fee payment procedure

Free format text: PAT HOLDER NO LONGER CLAIMS SMALL ENTITY STATUS, ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: STOL); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: COROWARE, INC., WASHINGTON

Free format text: NUNC PRO TUNC ASSIGNMENT;ASSIGNOR:ROBOTIC WORKSPACE TECHNOLOGIES, INC.;REEL/FRAME:022043/0252

Effective date: 20081105

AS Assignment

Owner name: ROBOTIC WORKSPACE TECHNOLOGIES, INC, WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:FRANKLIN CAPITAL CORP;REEL/FRAME:022052/0825

Effective date: 20081201

AS Assignment

Owner name: ROBOTIC WORKSPACE TECHNOLOGIES, INC., WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:YA GLOBAL INVESTMENTS, L.P.;REEL/FRAME:023079/0835

Effective date: 20090101

Owner name: COROWARE, INC. (F/K/A INNOVA ROBOTICS AND AUTOMATI

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:YA GLOBAL INVESTMENTS, L.P.;REEL/FRAME:023079/0835

Effective date: 20090101

AS Assignment

Owner name: C.H.I. DEVELOPMENT MGMT. LTD. XXIV, LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:COROWARE, INC.;REEL/FRAME:023107/0664

Effective date: 20090813

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: CALLAHAN CELLULAR L.L.C., DELAWARE

Free format text: MERGER;ASSIGNOR:C.H.I. DEVELOPMENT MGMT. LTD. XXIV, LLC;REEL/FRAME:037220/0104

Effective date: 20150827

AS Assignment

Owner name: INTELLECTUAL VENTURES II LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CALLAHAN CELLULAR L.L.C.;REEL/FRAME:045176/0187

Effective date: 20180222