260 likes | 548 Views
M.S. Thesis Defense Jason Anderson Electrical and Computer Engineering Dept. Clemson University. Previous Approaches for Robot Control Software Motivation Organization of the RTK Barrett WAM Simulink Model Barrett WAM Operating Modes Puma 560 Simulink Model
E N D
M.S. Thesis Defense Jason Anderson Electrical and Computer Engineering Dept. Clemson University
Previous Approaches for Robot Control Software Motivation Organization of the RTK Barrett WAM Simulink Model Barrett WAM Operating Modes Puma 560 Simulink Model Puma 560 Control and GUI Highlights Video Clips of RTK Installation of RTK Conclusions Overview
Robot Control Languages Proprietary software provided by the vendor High-level programming languages like C The RCCL Programming Environment ARCL Robot Programming Environment Object-Oriented Approaches Qmotor Robotic Toolkit (QRTK) Other Approaches OpenRob MATROB Previous Approaches to Robot Control
All previous approaches require a certain level of programming skill MATLAB is well recognized as a leading computation and data-plotting engine used commonly in the research environment SIMULINK provides a GUI that can be utilized for analysis using simple drag and drop operations for model compilation RTW is a software tool that processes the user-developed SIMULINK block diagrams and generates C code that can be executed in real-time via the Real-Time Windows Target (RTWT) Motivation for the Simulink RTK
Features • Calibration • Set Encoders • Zero Gravity / Teach Pendant • Joint Space Control • Cartesian Control • Position Blending • External Trajectory Control • Pseudo-Simulator • Soft Stop Damping • 3D Display of WAM Barrett WAM RTK
Calibration • Move each joint of WAM to joint limits • Calculate “zero encoder” position based on joint limit readings • Move WAM to “zero encoder” position
Zero Gravity / Teach Pendant Calculate Parameters • Move WAM to 3 configurations • Measure average torques needed to maintain position • Calculate params based on torques Teach Pendant • Calculate torques needed to resist gravity based on joint position • Can “learn” position for Learn/Blend mode
Position Control Joint Control Smooth trajectory between initial and final desired positions based on joint space trajectory generator Cartesian Control • Implementation of nonlinear adaptive controller to compute torques needed to move the end effector to desired position (orientation not considered) • Utilizes forward kinematics, manipulator Jacobian, pseudo-inverse of Jacobian
Learn / Blend Positions Learned Positions Move WAM to previously learned positions via joint space control Blender • Generated trajectory through multiple learned positions for smooth motion • Trajectory divided into transition phase and constant velocity phase
External Trajectory Control • Execute user-developed trajectory generator M-files from MATLAB command field • Desired position values are written directly to Simulink model (not real-time) and thus filter is used to smooth motion • Joint space PD control to compute joint torques
Soft Stop Damping An alternative to E-STOP to slowly bring arm to resting position
Simulator & Display GUI Display • Used to preview position in joint space control • Can follow motion of WAM in semi- real time (limited by MATLAB graphics update function execution time) Pseudo-Simulator • Nonlinear dynamic model of WAM is unknown • Joint position is determined by double integration of joint torque (a simplification of Lagrange’s equation of motion)
Setup GUI • Allows user to set all system variables and save to a configuration file • User may load configuration file from previous operation • Mass Parameters must be read from scope in Simulink model
Features • Calibration • Zero Gravity / Teach Pendant • Joint Space Control • Position Blending • Test Mode for research of new control strategies • Simulator • 3D Display of WAM • Tools Control (for end-effector) Puma 560 Control
Motion Control Calibration Estimates position via potentiometers and moves Puma to nearest index pulse and computes joint position Joint Control Joint space PD control to compute torques User can edit PD gains online Zero Gravity Joint positions applied to set of equations to compute joint torque to resist gravity User can learn positions as in Barrett RTK Blender Same function as in Barrett RTK
Test Mode Subsystem in Simulink model is replaced with user-developed system for testing new control scheme REMOVE REMOVE
Simulator & Display Function of Display screen is identical to the Barrett RTK Positions can be previewed and motion can be viewed on 3D model or joint plot while arm is in motion Simulator is driven by a nonlinear dynamic model being computed in real-time in the Simulink model
Tools Control Additional digital output lines on the Servo-to-Go I/O breakout can be utilized to drive tools on the end effector
Conclusions • The Simulink RTK is a collection of MATLAB m-files, MATLAB toolboxes, and Simulink block diagrams that can be utilized in conjunction with RTW and RTWT to control and simulate the Puma 560 or Barrett WAM from a standard PC operating under the Windows 98 OS • The advantages of the SRTK are: • Real-time execution • User-friendly GUI • Basic framework provided to allows the user the freedom of targeting the specific application or interest • Easy modification of the underlying Simulink block diagram • Additional hardware can be easily be incorporated in any level of operation