Bradley University

Department of Electrical and Computer Engineering

Functional Description: Controlling a Robotic Arm with VHDL and VLSI

Team: Kimberly Hayes and Daniel Sierra

Faculty Advisor: Dr. Vinod Prasad

 

Project Description

The Rhino Robotic XR-2 Arm is a mechanical robot arm with six individual servo motors. Each motor controls a different movement of the arm. The arm can be moved by controlling each motor individually using analog voltages. However, it would be more user friendly to control the arm movement via a joystick or some other form of user interface. The project will be to use a user interface to input the control to move the robotic arm. See the system block diagram below.

 

 

 

 

 

 

 

 

 

 


Figure 1: Overall System Block Diagram

 

User Interface

The user will have two ways in which to control the movement of the arm. The main way will be using a Wingman joystick to move the arm. Moving the joystick across the x or y-axis will activate a certain sequence of motors to move the robot arm. The second method of movement would use the joystick buttons to execute a predefined routine such as returning to a set position or performing a task. For example, the trigger button will stop the motors from moving.

 

Altera Board

The Altera UP2 Board with a field programmable gate array (FPGA) will be used. A programmed FPGA will contain the verilog hardware description language (VHDL) code which will correlate the inputs to the robotic arm movement. The inputs will not just include the user interface, but also the rotary encoder information from each motor. The user interface will be the desired movement and the encoder information which is in Gray code, will tell what position the motor is in. The code will then need to determine how much the motor will need to move and control it with a pulse width modulated signal.

 

Drive Components

The motors are driven with voltage ranges of +/-12 and +/-24 volts. Since the Altera Board outputs voltages are 0 to 5 volts, drive components will need to change the voltage levels. The drive circuitry will also control the direction of the motor. All external circuitry will first be built with external hardware to test. When the circuitry is finalized it will then be built in VLSI.

 

Robotic Arm

The Rhino Robotic XR-2 Arm will be the controlled arm. As stated before, there are six servo motors that control the movement of the arm. The figure below shows the different motors and where each joint is located. The table just below that has the designated letter assignment and the position.

 

                                                                             

 

Figure 2: Rhino XR-2 Robotic Arm with Joint Names

 

 

Motor Letter

Motor Joint

Motor A

Grip Close

Motor B

Grip Turn

Motor C

Wrist

Motor D

Elbow

Motor E

Shoulder

Motor F

Waist

 

Table 1: Motor name and position assignments

 

Each motor will have its own control signal. This signal is provided from the FPGA through the drive components. With each movement the motor makes it has a rotary encoder to read the position off of a disk attached to the motor. This position information is sent back to the FPGA so it knows how much farther the motor needs to be turned or if the motor has turned too far.