Lodes Project2 - University of Missouri

advertisement
MATLAB Robot Simulator
Adam Lodes
University of Missouri
December 6th, 2010
Introduction
• Code a simulator that can model any robot
• Given the DH parameters, model and animate the
robot
• Allows for the user to visualize joints and
movements of any robot
• Use Puma3D by Walla Walla Washington as an
example simulator
Problem Statement
• The DH parameters are a set of 4 parameters
that describe any link of a robot.
• Each robot can be adequately described by
the set of DH parameters for each link
• From any DH table, the simulator can
construct a model for the robot, and animate
each joint.
Approach
• Assumption is to model the robot from only the DH
parameters.
– No link data available
– No end-affecter data available
• Aim is to model any robot, regardless of joint configuration
• Aim is to animate each joint independently
• Build simulator in MATLAB
• Use the Puma3D simulator written by Walla Walla
Washington
Coding Order and Approach
• GUI management (uicontrol, uitable)
– Enter the DH table
• Construct individual links from cylinders and rectangles
(patch objects)
• Construct all the links from the entered DH table
– Test many different robots
• Animate each link with tester code
– Apply to all links independently
– Test with many different robots
•
•
•
•
Add control GUIs for the animation
Add extra functions (Home, Random Move)
Add an end-affecter
Add GUI support for loading different Robots
Results
• Able to model any DH table
• Pre-made DH tables:
– Tester
– Scara
– Example from Class
– Puma 560
– Puma 260
GUI 0
GUI 1
GUI 2
GUI 3 (The Robot)
Tester Robot
• Random DH table I made up to build the code
150
100
Z
50
0
-50
-100
-150
-150
-100
-100
-50
-50
0
0
50
50
100
100
150
150
X
Y
SCARA Robot
150
100
Z
50
0
-50
-100
-150
-150
-100
-100
-50
-50
0
0
50
50
100
100
150
150
X
Class Example Robot
150
100
Z
50
0
-50
-100
-150
-150
-100
-100
-50
-50
0
0
50
50
100
100
150
150
X
Y
Puma 560
150
100
Z
50
0
-50
-100
-150
-150
-100
-100
-50
-50
0
0
50
50
100
100
150
150
X
Y
Puma 260
150
100
Z
50
0
-50
-100
-150
-150
-100
-100
-50
-50
0
0
50
50
100
100
150
150
X
Y
Limitations
• I built the simulator with MATLAB student version R2009a.
– uitable does not work in 2007 and earlier
• No link data: draw just a cylinder or a box with dimensions based
on d and a parameters
• No end-affecter data, made a default
• No base data, made a default
• Scale can be adjusted
• Multiple button presses during an animation usually cause errors
Possible Future Work
• Make more compatible with previous MATLAB
versions
• Add on an end affecter ‘trail’ as in Puma3D
simulator
• Add on more parameters: range of motion for
each joint. (default values for now)
• Stabilize the program for multiple button presses
Conclusion
• Lodes Robot Simulator is an excellent tool to
visualize the construction and animation of
any robot
• Robots were adequately modeled and
animated
Download