Real Time Robot Control System Software Description

2D Real-Time Motion Control Software

Real Time Robot Motion Control

Conventional industrial robots are programmed to operate independently of human interaction in batch operations. In batch operations, an industrial robot executes a fixed prewritten program to perform some operation such as machining, welding, and painting. The batch mode is similar to what (Computerized Numerical Control) CNC machines do to make parts using “G-code” as a prewritten program.

Real-time motion control enables a robot to be trained to perform operations such as painting the exterior of a house or performing surgeries without relying upon prewritten programs. The user controls a virtual robot on the computer screen using a pointer in computer space (such as a mouse) or physical space (such as a 3D laser distance meter). The actual robot follows the virtual robot’s operations.


Figure 1 Flexbot Real-Time Motion Control System

Flexbot is a sub-scale experimental real-time robot motion control system under development. Flexbot introduces a “virtual reality” motion control technique. The user interacts with a “virtual” robot on the computer screen: 1) a virtual robot trains the user to maneuver the robot geometry in various modes 2) the virtual robot predicts how the actual robot will operate before physical motion occurs. In the appropriate software mode, the actual robot follows the virtual robot motions from the computer memory.

Flexbot is comprised of computer software, sub-scale robot hardware, and servo drive electronics. The virtual robot motion (i.e. motion that is expected) and the predicted robot motion (the hardware motion in physical space) are compared on the screen.

Flexbot’s software can be used in the classroom to train students in control theory (such as proportional, integral, and derivative (PID) gain settings) and to beta test real-time robot motion control methodologies under development. Both activities help instructors to teach the engineering design process to students.

The Lego Mindstorms education products and MATLAB hardware in the loop (HIL)- Simulink development systems offer similar, but incomplete tools to implement the real-time robot motion control system. Demo software for the real-time robot motion control software that is discussed in this paper can be found at this link: Virtual Robot Demo


How to Manipulate the Virtual Robot Geometrical Positions

The Flexbot is a sub-scale prototype jointed-arm PC-controlled robot. Each of the Flexbot’s drive motors is stationary to reduce the inertia of the arm’s moving parts. The arm has two degrees of freedom in movement. The Flexbot is designed to demonstrate a virtual reality motion control technique under development. A mouse is used to control a virtual robot on a PC’s computer screen. The virtual robot’s position in the computer’s memory is used to control the motions of the Flexbot hardware. The user points to a desired location on the screen. The virtual robot follows. In the appropriate software mode, the real sub-scale robot hardware follows the virtual robot by converting the digital information to analog commands.

2D Real-Time Motion Control Software

Flexbot Software Operation Procedures (Screen Mode)

The Flexbot’s graphical user interface (GUI) software has five modes of motion control:

  1. Sequential Joint
  2. Cartesian coordinates
  3. Polar coordinates
  4. Dual Axis Motion Control
  5. Absolute Position

Select the particular motion mode from the pull-down menu in the upper left-hand corner of the window. The Trajectory Mode dialog box on the upper right-hand side of the window displays the selected Trajectory Mode. The default Trajectory Mode is “Sequential Joint Motion Control”.


Procedures for Each Control Mode:

  1. Sequential Joint Motion Control (each joint is moved in sequence)

    • a. Humerus or Shoulder Joint
    • b. Radius or Elbow Joint
  2. Cartesian Coordinate Motion Control

    • a. X-axis motion
    • b. Y-Axis motion
  3. Polar Coordinate Motion Control

    • a. Angular motion
    • b. Radial motion
  4. Dual Axis Motion Control

    • a. With mouse cursor button placed anywhere on the screen, press and hold the left mouse button. Move mouse cursor up, down, left, and right
  5. Absolute Position Motion Control

    • a. With mouse cursor button placed anywhere on the screen, press and hold the left mouse button. Move mouse cursor up, down, left, and right. End point of virtual robot sticks to mouse cursor.

3D Real Time Robot Control System Software

A YouTube video gives an overview of 3D Real-time operations at the following link: 3D Real-Time Video Overview Demo software of the 3D real-time robot control system for a typical six-degree of freedom robot can be found at this link: 6DOF Robot Software.

How to Control the Virtual Robot’s Hardware (2D mode)

Figure 4 Flexbot Angular Position and Velocity Feedback Electronics

The robot real-time hardware includes a controller, controller optimization parameter adjustments, a servo amplifier, motor electrical and mechanical time constants, motor angular position and angular velocity feedback, and motor gear box. Figure 4 shows the Flexbot angular position and velocity feedback electronics. The Flexbot instrumentation in Figure 4 includes high-resolution encoders with quadrature decoders to keep track of angular positions.

Arm Movement Mechanism

The Flexbot has two primary structural members: 1) the humerus 2) and the radius. The humerus attaches to the shoulder joint (the main shaft mounted on the pillow blocks). The radius attaches at the elbow joint (the outermost pulley that is mounted at the opposite end of the humerus). There are three belts that are mounted to the main shaft. The topmost belt rotates the humerus member. The bottom two belts rotate the radius member using an idler pulley on the main shaft as an intermediate step.


Flexbot’s Mechanical Limits of Rotation

The concepts introduced in this version of a real-time robot control system are protected by US Patent No. 9,044,857.