Robotics Project 4

timestamp : Wed Sep 17 14:45:31 PHT 2008

general problem specification : microntroller controlled pick and place operation.

project specifications :

Using a Z8 microcontroller (or another readily available microcontroller)
and a RVM1 interface unit, perform pick and place of single object.
The object will be moved from coordinates (380, 0, 0) mm to coordinates (0, 380, 115) mm.

The manipulator motion will be controlled using the Z8 microntroller.
The Z8 microntroller board will be able to drive the RVM1 manipulator motors
and sample the encoder and limit switch outputs using the RVM1 interface box.
The Z8 microcontroller may be programmed using C.

Control of the manipulator will be performed by driving the RVM1 joint motors
using a PWM signal from the Z8 microcontroller.  Position feedback is achieved
by monitoring the signals from the encoders and the limit switches.

information on the Z8 microcontroller board :

Information on the Z8 Encore microcontroller evaluation board as well as
relevant software are available in the lab.  Please read the documents
throughly.  A simulator is included in the Zilog Development Studio (ZDS) package.
Knowledge of C programming is required.  I/O pins of the Z8 Encore are available
through standard header pins.

information on the RVM1 interface box :

The "box" interfaces a controller (such as the Z8 Encore) with the RVM1
manipulator.  The "box" provides motor drivers for the RVM1 motors and
signal conditioning for the signals from the encoders and limit switches.

The "box" has three main ports, namely the PWM motor drive input port,
encoder output port, and current sense port.

The PWM motor drive input port is a DB-15 female connector
with the following pin assignments.

 1 - joint 1 input A (cw, toward joint 1 limit switch)
 2 - joint 1 input B (ccw, away from joint 1 limit switch)
 3 - joint 2 input A (link 2 up)
 4 - joint 2 input B (link 2 down)
 5 - joint 3 input A (link 3 up)
 6 - joint 3 input B (link 3 down)
 7 - joint 4 input A (link 4 up)
 8 - joint 4 input B (link 4 down)
 9 - joint 5 input A (ccw, away from joint 5 limit switch)
10 - joint 5 input B (cw, toward joint 5 limit switch)
11 - gripper input A (close)
12 - gripper input B (open)
13 - joint 2 unlock
14 - joint 3 unlock
15 - GND

Each joint has 2 corresponding inputs (A and B) for speed and  direction control.
These inputs should be driven by PWM signals at TTL levels.   The unlock inputs
are also TTL level and active high.

The encoder output port is a DB-25 female connector
with the following pin assignments.

joint 1 encoder A, B, Z signals and limit switch - pins 1, 2, 3, 4, respectively.
joint 2 encoder A, B, Z signals and limit switch - pins  5, 6, 7,8, respectively.
joint 3 encoder A, B, Z signals and limit switch - pins  9, 10, 11, 12, respectively.
joint 4 encoder A, B, Z signals and limit switch - pins  13, 14, 15, 16, respectively.
joint 5 encoder A, B, Z signals and limit switch - pins  17, 18, 19, 20, respectively.
GND - pin 25

These signals are TTL level.  Limit switch signals are active high.
Pins 21, 22, 23, 24 are always asserted when the "box" is on.

The current sense port is a DB-9 female connector
with the following pin assignments.

1 - joint 1 current sense
2 - joint 2 current sense
3 - GND
4 - joint 3 current sense
5 - joint 4 current sense
6 -  GND
7 - joint 5 current sense
8 - gripper current sense
9 - GND
10 - GND

The Z8 microcontroller evaluation board and the RVM1 interface box will be provided
by the lab.   Connections between the Z8 board and the interface box can be achieved
using a ribbon cable, ribbon cable connector, and DB-25 and DB-15 male connectors.

project output :

You will first need to construct a connector-cable between the Z8 microntoller board
and the RVM1 interface box.  You will most likely need two ribbon cable connectors,
ribbon cable, DB-25 and DB-15 male connectors.  It is up to you to determine
which Z8 Encore I/O port(s)/pin(s) you will use for the project.

C program (and relevant files) that will be compiled and then loaded to the
Z8 microntroller  through the ZDS software installed in a PC.

tips and hints :

To control the speed of the motors, use PWM signals of appropriate duty cycle.
Selecting input A or input B determines the motor direction.
Start out with low duty cycles until you are confident with what you are doing.
Use a maximum of 20% duty for joint 1, 50% for joint 2,  30% for joint 3, and 25% for
joint 4 and 5, and 10% for the gripper.

You need to unlock joint 2 or joint 3 before moving them.

The encoders are optical incremental quadrature encoders.  You need to reference the
readings to an absolute position.  These are what the limit switches are for.

Refer to the following for the motor reduction ratios and encoder resolutions.
 
item J1 J2 J3 J4 J5 unit
reduction ratio 100 165.3 110 180 110 ---
encoder resolution 200 200 200 96 96 pulses/rotation

additional requirements / information :

Assume that the coordinates will be given.  you may compile this with your code.
All coordinates are reference as shown in manipulator.jpg.
The object is a cylinder with diameter = 31 mm and height = 37 mm.
The C program and project files should be compatible with the
supplied ZDS software.

There is definitely more information that you need to know that may not be here.
Ask if unsure.

as usual :

10 minute report Q&A
 complete docs
 3 weeks for submission and demonstration.
 verify your solution, consult me
 hands on the second week