Versatile robot control system
First 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 a position signal and said required position for the mechanical joint.
10 Assignments
0 Petitions
Accused Products
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.
-
Citations
32 Claims
-
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 a position signal and said required position for the mechanical joint. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
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.
- , a Windows 2000®
-
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®
.
- 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. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
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. - View Dependent Claims (27, 28, 29, 30, 31, 32)
-
Specification