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