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