Transcript My Thesis Defense ( format)
M.S. Thesis Defense Jason Anderson Electrical and Computer Engineering Dept.
Clemson University
Overview
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
Previous Approaches to Robot Control
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
Motivation for the Simulink RTK
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)
Organization of the RTK
Barrett WAM 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 Simulink Model
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
Puma 560 Control
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 Simulink Model
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
REMOVE REMOVE Subsystem in Simulink model is replaced with user developed system for testing new control scheme
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
M
1 (
q
)
G
(
q
)
C
(
q
,
q
)
q
Tools Control
Additional digital output lines on the Servo-to-Go I/O breakout can be utilized to drive tools on the end effector
Let’s watch a video!
Installation of Simulink RTK
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