Robotics Project 2

general problem specification : RVM1 manipulator end-effector writing EEE on a specified area.

project specifications :

Create a simple C program (or octave script) that will generate the necessary joint angle commands to achieve the
desired end-effector motion.  This is a forward / inverse kinematics exercise.
The motion commands to the robot should be limited to joint angle commands.

program input : coordinates of the two upper corners of a rectangle (in mm).
   All coordinates are reference as shown in manipulator.jpg.
program output : can the trajectory based on the inputs be achieved by the manipulator?
   write the manipulator commands to a file (text format).
   assume that the manipulator will be starting from a default configuration where the
   manipulator is in a horizontal position and aligned with the y-axis.

command format :   MJ dq1,dq2,dq3,dq4,dq5
   dq1, ..., dq5 are joint angle increments in degrees.

sample file contents :

MJ 1,2,3,4,5
MJ 1.1,2.2,3.3,4,5

remarks :.
   the first MJ command should move the manipulator from the default configuration
   to the initial joint angle positions corresponding to the initial end-effector position.
   joint angle increments should at most only have one decimal place.

details of the task:

1. The two upper corners of a 140 mm x 50 mm rectangle will be given.
The rectangle defined will be the writing area.
2. You need to write 3 uppercase E's, 10 mm apart and using up the
entire writing area. See eee_write.jpg for details.
3. The writing surface is at z = 210 mm. The tool is a pen extending 117 mm from the last link
and can slide to a height of 60 mm to 80 mm. See surface_pen.jpg for details.

actual motion :

The following motion should be followed when the commands are executed.

1.  align the manipulator with the +y-axis (use OG command)
2.  move the end-effector to the initial position and orientation such that it is
       ready to recieve the pen.
3.  pause for 5 seconds (using TI 50), close the gripper (use GC) and pause for another 1 second (TI 10).
4.  execute the necessary motion.

Your code should look something like the following.

# align with +y-axis
OG
# move to initial position and orientation
MJ ...
MJ ...
...
MJ ...
# pause for 5 seconds, close the gripper, pause for 1 second
TI 50
GC
TI 10
# move to the final position (and orientation)
MJ ...
MJ ...
...
MJ ...

additional requirements / information :

C program (ANSI C) that can be compiled using gcc (on a linux machine) or Octave script.
10 minute report Q&A
 complete docs
 2 weeks for submission and demonstration.
 verify your solution, consult me
 hands on after first week