Home
URK`s Operation & Design Manual
Contents
1. 12 FIGURE 197 INDIVIDUAL RACK a Sec evene 13 FIGURE POWERBOX LAYOU ot ieee 13 FIGURE 21 POWER SUPPLY AND AMPLIFIER WIRING 000 002 14 FIGURE 23 PWM SIGNAL EXAMPLE 15 FIGURE 24 DIPSWITCH RECOMMENDED SETTING sccceccsccssccsccssccsccsscsscescessescesseseucs 15 FIGURE 25 PICTURE OF AMP S POTS amp 02 0000 0 0 16 FIGURE 26 PWM AMP CALIBRATION 444040000000 16 FIGURE 77 DSPACE LOGO out tet temas 17 FIGURE 28 INITIAL LOADING SCREEN IN 000700000000 17 FIGURE 29 SOFTWARE OVERVIEW TABLE ede PRI eM 18 FIGURE CEASSICCONEIBOL LOOP due cba od ett 19 FIGURE 31 ROBOT CONTROL LOOP IN 1 0 000 00 19 FIGURE 32 GAIN BLOCK CONVERSION sees 20 EIGURE 23 SIN V KINBEMATICS BLOC con setate 20 FIGURE 34 2 LINK DRAWING ete o ouo ope e eot pat eene uin 20 FIGURE WORKSPACE BLOCK dut een du VE 21 FIGURE 36 S FUNCTION BUILDER 0000 0 0 0 0 0000000 22 FIGURE 57 5 BUNGTION BLOCK dite
2. 22 GRAVITY COMPENSATION DRM EE ML A Ero 25 oymbolicoMath 26 NE IL EDU 27 ROBOTICS 2 2 2020 0 0 0 0 0 3 28 JASON S LOGO MAKER 30 TABLE OF FIGURES 31 APPENDD 33 ENCODER MOUNTING PLATE 33 URKE CONTROL DESK LAYOUT URK LAY 34 URK SIMULINK 34 N c T Q Q 4 fs URK Robotics Manual Background The URK Utah Robotics Kit was created with the purpose of being an instructional robot With this in mind the design and operation 1 relatively straightforward and simple This paper is comprised of general information and resources as well as specific supplemental information that is added to benefit the user Examples and drawings were created as a quick easy reference for general sensors along with pertinent aspects of the Detailed schematics or diagrams of hardware that are included were done for documentation purposes This Operating amp Design Manual is not intended for use as a sole resource but an aid in equipping the user with information and documentation to overview the design and ut
3. c 2 gt gt om gt 26 URK Robotics Manual Control desk Control Desk is a package that provides a quick and easy way to interface with your model in real time Rather that changing values in the Simulink model or connecting an input to an oscilloscope Control Desk can quickly help a user to make their system extraordinary Once a model has been created and built Control Desk will allow importing and exporting information quickly It is recommended the tutorial be explored Here is a quick overview of the options First compile your model in Simulink Real time interface Ctrl b for build Then open Control Desk At the bottom there 15 the tool window It will automatically load your program if it was previously built Every block in the control is listed by the block name Clicking on the block name gives typically to options value out Start or open a layout then simply drag a virtual instrument on to the layout window If the instrument 1 an input device like a knob or pushbutton then drag the word value from the tree 1n the tool window onto the instrument For output devices like a Gauge or LED drag the word out into the instrument The last step is to enable your new instruments this 1s done by hitting the animation mode button on the top of the screen Virtual Instruments Selector A quick tutorial is also located at
4. add etse due eid 227 FIGURE 38 S FUNCTION BUILDER BLOCK DOUBLE CLICKED een 22 FIGURE 39 MATLAB amp C CODE COMPARISON EXAMPLE cccsccssccssccsscesscesccesccesceescenss 23 FIGURE 40 FIRST CODE LINES OF YOUR FILE NAME 1 4 24 FIGURE 41 FIRST LINK GRAVITY CONSIDERATION 25 FIGURE 42 SECOND LINK GRAVITY CONSIDERATION 2 0 2 1 0 25 FIGURE 43 GRAVITY COMPENSATION IN SYMBOLIC 26 FIGURE MODE BUTTON toe cr ub ace cius 27 FIGURE 27 31 URK Robotics Manual FIGURE 46 MATLAB CODE FOR DRAWING 0 0 00 0 1 enr 28 FIGURE 47 MATLAB CODE FOR DRAWING ROBOT WITH PATH INTO MOVIE FILE 29 FICURE AS URK PATA POINTS C HECK i 30 FIGURE 49 PATH CONTINUOUS CHECK 30 FIGURE 50 ANIMATION PICTURE eee eR 00 00 0000 30 32 URK Robotics Manual Appendix Encoder Mounting Plate Created by Jason Stulp Drawn in Pro e plate prt Listed as 8512 in Prof Machine Shop Mechanical Engineering University of Utah nc BEI MOD5540 Heds 5540 Tooling Pin not in original bid can
5. lt 2 5 un 2 Connector Rail Front Panel Figure 20 Power Box Layout 13 URK Robotics Manual Power Supply and Amplifier Wiring Diagram 12V 12V 1 E GND TNI LIQUIDS 123456 1234 DC Output Hitachi Power Supply CS 8120 8 5503 1 2 AC Input 3 E gt Focus 5 Black Motion Controls Curr Integrator 2 LIE Brush Type Voltage Feedback 1 co PWM Servo Amplifier Ref IN 4 Ref IN 5 Motor 1 Motor 2 Power GND 3 Power GND 4 WM High Voltage Front Panel of Box Figure 21 Power Supply and Amplifier Wiring Diagram 14 5 lt Tuus gt gt I 2 c URK Robotics Manual Pulse Width Modulator The amplifier is Pulse Width Modulator Servo Amplifier Rather than outputting the voltage from 0 to 24 volt DC it puts out a pulse of 24 volts and modulates the width of the pulse 24 V 20 24 E 12 V lt 5 3 5 N 24 e 4V OV Period Figure 23 PWM Signal Example The frequency is fast enough that the motor and averaging multi meters see the equivalent voltage This design allows the amplifier to be more consistent since the design is only for 24 volts rather than an infinite range The PWM Amplifier has its own feedback control loop to sust
6. The second recommended ways 15 the leave the motors off when controller is turned on and manually move the robot until the indexes are found The motors can then be turned on with out a jerking motion 10 URK Robotics Manual Motors The motors used to put URK into motion are all DC motors with brushes The motors currently used do not have specifications available for the specific model in use Brushless or AC motors should not be used unless the power amplifiers are changed Joints 1 amp 2 use the same motor with different gearing Joints 3 4 amp 5 consist of smaller motors with attached gear reducers supplied by the manufacturer motor s mounting design 15 straightforward and is not discussed in depth overall design of the robot allows a motor to be replaced quickly and easily without having to count teeth on the sprocket or belt This setup allows position control even with the belt stretching since it 1s all determined from the joint as opposed to attaching the encoder or potentiometer directly to the motor The position read from the motor which is commonly done allows the sensor to go through the same gear reduction as the motor This potentially increases resolution as well as guaranteeing stability Most motors sold today have an available complete kit having an encoder mounted directly on it Figure 16 Motor Drive DOF 2 Optional location for Encoder 11 Motors URK Robotics Manual Pow
7. Figure 12 shows an incremental encoder mounted on the wrist The model of encoder shown BEI has been discontinued similar encoder is the HEDS 5540 mounting plate 15 design to accept both encoders URK Robotics Manual Either pots or encoders can be used on the Below 1 chart summarizing pros and cons of each sensor Position Sensor Comparison Summary Incremental Encoder Cost Low cost Fh pher Intermediate Incremental Limited Typically Less than Must be counted in Incremental software Requires Power Can operate off of Can operate off of Power Source controller power controller power Figure 15 Position Sensor Comparisons Table Potentiometer Absolute Encoder Encoders The recommended sensor of the URK 1s the incremental encoder With its resistance to noise power provided through the dSPACE control board connection and imbedded counter it 1 the best choice as long as an efficient and safe way to find the index is used A mount design that fits both HEDS and BEI encoders is attached the Appendix dSPACE has blocks that help create search algorithms to find the index Besides coding a homing program there are two easy ways to find the index The first 15 the manually rotate the index by loosening the setscrew and rotating the disc to approximately the same location of start up The index will not be far and will reset once the robot moves with out a lot of jerk
8. X que Ys 25 qum Le lt lt length out Box Ren close all Ye xS DLOE urkm One ploto Vsy xe sys 7 getframe end movie2avi M robjs model quality 100 fps 45 Figure 47 MATLAB Code For Drawing Robot with Path into a Movie File gt lt al LT un QO gt 29 URK Robotics Manual Jason s Logo Maker This example of position control can be viewed at www eng utah edu stulp where pictures video and program files are readily available as well as a copy of this manual The following steps will run the U of U Logo Maker 1 Run Logo m in MATLAB Sub functions rotatePts m and pathgen m required It will produce the following plots 10 20 5 1 i 20 i 10 Figure 48 Path Points Check Figure 49 URK Path Continuous Check 2 Hit any key The plots are cleared and animation 1s started using the Robotics Toolbox 1 1 l 0 5 10 p m Ad 20 Y X Figure 50 URK Animation Picture 3 Open the Simulink model Urk mdl 4 Build Model Ctrl b 5 Run Control Desk open Layout Urk lay 6 Enable animation mode turn on gravity amp wrist hit go 30 Logo Maker URK Robotics Manual Table of Figures IIS E E ENIM 3
9. AnimatedNeedle http eewww eng ohio state edu passino dSPA CEtutorial doc pdf vade E 1 Where these figure are accredited 1 3 Display Frame Gauge InvisibleS witch 573 Knob Animation Mode 4 Message Test Mode 2 MultiStateLE D NurnericInput 28 rr uttan Figure 44 Mode Buttons ET PushButton od RadicB utton ob Slider The biggest problem with getting control desk to work is remembering to change mode When Control Desk is animated the input instruments default to the Simulink model 2 When instrument used to alter values it will not change original value viewed the the model Custom Instruments Figure 45 Virtual Instruments 27 Control Desk URK Robotics Manual Robotics Toolbox Robotics Toolbox provides many functions that are useful in robotics such as kinematics dynamics and trajectory generation The Toolbox 1 useful for simulation as well as analyzing results from experiments with real robots The toolbox provides functions for manipulating data types such as vectors homogeneous transformations and unit quaternions which are necessary to represent 3 dimensional position and orientation It also has facilities to graphically display the pose of any robot see figure given just the Denavit and Hartenberg parameters The robot 1
10. be omitted 165 C E Tooling Pin 094 8 Hexagon Flat Countersink Screw SCALES cle ROU Se IPED FLATE SSI ZES FA 1 an Jason Stulp 8012 870 85 2 4 2 03 33 Appendix URK Robotics Manual Control Desk Layout Urk lay MM URK t1 t2 t3 Pu CIT ke 1 gt 1 po p PLE ptit Sun Sene 63 Pd cn inan Tarai DHe ez Wrist 14 45 CREER en Encader 1 1 E PEIWGDAL Ha Ci ire oii m kx Gaia antai 1 PON T PETMHOBA Wa INDEX C2 Encoder 2 4 tre ee dalia POE C2 TE
11. 5 drawn as a series of line segments linking the origins of the link reference frames Robotics Toolbox The Toolbox was created and 15 maintained by Peter I Corke It 15 available to every one and can be downloaded at the web address http www cat csiro au cmst staff pic robot In the case of the URK the modified DH Parameters can be easily inserted into to an M file 5 alpha A theta D R P Li link 0 0 0 01 L2 link 1 2 0 0 0 0 pi 2 modrfied L3 link 0 12 0 UT L4 link 0 9 5 0 nodrrired 3 L5 1 2 0 0 1 modrfried 16 link 0 i 0 Ol modiried urkm robot 11 L2 L3 14 L5 16 URK plot urkm Figure 46 MATLAB Code for Drawing Robot out 1s the name of the array that contains the points of the path previously generated in the M file logo m Using the robotics toolbox to draw the robot and animate it for the path it allows the user to develop programs offline before getting to the robot The following program does two things It creates the path where the robot in defector has been not where it is going It then captures each individual frame to create a movie robjs_model This 15 time consuming compare to just watching the simulation in MATLAB but it allows programs to be very clear and played on any media player 28 gt lt un gt 26 URK Robotics Manual
12. PIGURE send SIEM FLOW eden ceded 4 FIGURE 3 S DEGREES FREEDOM ree ene eee t eer eae eee av E recreo swa a 5 FIGURE URK PICTURE toa d roe adivit oto te eae 5 FIGURE 5 CONNECTION SCHEMATIC 6 6 FIGURE 7 FIOW APOE WORKS iu a iue 6 UREK S IDOL MM 7 FIGURE 9 8 BIT ABSOLUTE ENCODER DISC eod re eb re tr 9 FIGURE 10 INCREMENTAL ENCODER 5 1 2 2 4 9 FIGURE 11 INCREMENTAL ENCODER 58 2 00 0 000000000 9 FIGURE 12 ENCODER MOUNTED ON 5 040 0000000000 9 FIGURE 13 INCREMENTAL ENCODER EXPOSED 0 trenes 9 FIGURE 14 URK S ENCODER PIN OUT 9 FIGURE 15 POSITION SENSOR COMPARISONS 10 FIGURE 16 MOTOR DRIVE DOF 2 5 41 5 arcos odes aeta 11 PIGURE 17 POWEREZNMP BOX 12 FIGURE 16 BOX FRONT PANEL LABELING
13. R cphi 2 2142 L1 2 L242 2 L1 sqrt R 24 z1 2 phi acos cphi if theta2 gt 0 thetal beta phi p1 2 else thetal beta phi pi 2 end thetab atan2 x1 y1 y O thetab y 1 thetal y 2 theta2 C code Syntax used in S function double x1 yl z1 L1 L2 c2 52 double theta2 beta cphi sphi phi thetal thetab 1 yl zl u 2 L1 12 0 L2 10 0 G sqrt x1 x1 yl yl sqrt G G 2 zl zl LI LI L2 L2 2 L1 L2 52 sqrt 1 c2 c2 S Function theta2 atan2 s2 c2 beta atan2 z1 R cphi R R 71 71 LI LI L2 L2 2 L1 sqrt R R z1 z1 phi acos cphi if theta2 gt 0 thetal beta phi 1 5708 else thetal beta phi 1 5708 thetab atan2 x1 y1 y O thetab y 1 thetal y 2 theta2 Figure 39 MATLAB amp C Code Comparison Example 23 URK Robotics Manual Once all the information is in the builder it will create the following files jsinv9 c jsinv9 dll Jsinv9 tlc jsinv9_wrapper c Where jsinv9 is the name of the S Function dSPACE gives detailed information on all of these however the important one to point out is that the jsinv9_wrapper c 1s the file that is and has to be compiled every time model is compiled and sent to the control board This file is easily changed by editing the code in the file rather than building another S Function f
14. Utah Robotic Operating amp Design Manual With Intersecting Two Degree Wrist Jason Stulp Candidate for Master s of Engineering Advisor Dr Sanford Meek Mechanical Engineering University of Utah July 1 2003 URK Robotics Manual Table Of Contents TABLE OF 222222221 0 eren rere renean ern enenass 2 BACKGROUND m 3 YAH O18 4 MECHANICAL 5 POSITION SENSING eee eee 6 75 61 22 21219 1011 TP 6 bE EM E 8 MOTOR errs EE 11 POWER SUPPLY 7 AMPLIPIBE dene tubes sui desit ubl 12 Power Supply and Amplifier Wiring Diagram eee nnne 14 Pulse Walhi Modul 15 DSPACE CONTROLS 17 SOFTWARE BREAKDOWN OVERVIEW cccsceccsceccececcececescecscecescececescecescecescscesescusescess 18 ANGLES CALCULATION ecole eae sae dh eta ao eee oak 20 Gain BIOCK ENGIN DIC 20 CARTESIAN COORDINATES INVERSE KINEMATICS 0600000 20 Workspace Variable 27
15. ain its output despite the moving arm creating huge current changes The recommended settings for the Dipswitch are as follows Test Offset 4 LEE Vel Integrator 3 EST On Curr Integrator 2 Voltage Feedback 1 EST Figure 24 Dipswitch Recommended Setting 15 URK Robotics Manual There are also 4 multi turn potentiometers for calibration and adjustment 100 S pax 1 Multiple oNTROL REF IN GAIN Turn Pots TEST OFF FSE TEST OFFSE tL INTEGRATOR CURR INTEGRAT VOLTAGE FEEDB Dipswitch Figure 25 Picture of Amp s Pots amp Dipswitch Each amplifier should be calibrated and balance with each other Here is the recommended calibration order PWM Amp Calibration How to Calibrate Desired Calibration Dip Switches See figure 25 See figure 24 Jump ref and V ref Read voltage between Set to zero Motor amp Motor Jump ref and ref Third Ref In Gain Pot Read voltage between Set to zero Motor amp Motor Set to 2 5 Second Adjust Offset Pot Or the same for all Channels Jump V ref and V ref Fourth Loop Gain Pot Read voltage between Motor amp Motor Figure 26 PWM Amp Calibration Table This allows the motors to all operate the same on each channel otherwise each channel has to be assigned to a specific part of the robot Having an offset voltage can result in noise generation within t
16. ck diagrams and same little box the corner State flow state diagrams on of the Simulink model dSPACE hardware Virtual control panel for Real Allows the creation of time Interface gauges switches and a user friendly interface with the controller Control Desktop Figure 29 Software Overview Table 18 URK Robotics Manual It 15 highly recommended that the tutorials and help sections of all the software be explored This manual points out a few things that help expedite the implementation and operation by giving partial examples of multiple methods of quickly taking the calculations and equations into controlling the robot The first step 16 setting up the controller with a simple loop in Simulink Classic Loop Diagram l Error Desired Figure 30 Classic Control Loop Rearranged for Simulink Actual Error dSPACE Desired Figure 31 Robot Control Loop in Simulink The actual position loop model for joint 1 2 amp 3 are attached the Appendix 19 URK Robotics Manual For position control of the URK there are three things that should be added to the model Joint angles Cartesian coordinates and gravity compensation These three items are chosen as examples to show ways of implementing desired values into the controller Angles Calculations In the potentiometer section of the manual there is discussion on how the angle 15 translated into voltage For the control loop voltage ha
17. ecommended setting Simulation tine Start time atop time Solver options Fixed step size any numeric value Advanced page current recommended setting Block reduction Figure 28 Initial Loading Screen in MATLAB 17 lol xl dSPACE URK Robotics Manual Software Breakdown Overview NM Manufacture s Description Specific to URK MATLAB is an intuitive Generates path code and language and a technical computational models as computing environment It well as running specific provides core mathematics and toolboxes advanced graphical tools for data analysis visualization and MATLAB algorithm and application development With more than 600 mathematical statistical and engineering functions engineers and scientists rely on the MATLAB environment for their technical computing needs Simulink is a simulation and Uses analog computer prototyping environment for symbolic language to create modeling simulating and control programming analyzing real world dynamic systems Simulink provides a block diagram interface that 1s built on the core MATLAB numeric graphics and programming functionality One of over 300 third party Compiles Simulink model products completely compatible into C and runs on the with MATLAB and Simulink dSPACE board to real dSPACE Simulink Real Time Interface Automatic implementation of world operation It s the Simulink blo
18. er Supply Amplifier To operate the motors there needs to be a power supply and amplifier Below 15 the box created for use with the URK It consists of six individual amplifiers allowing control of six individual degrees of freedom The figure below gives the output of the box The right side of the power box is not specifically discussed It can be and has been configured for other projects and equipment beside URK Channels 5 amp 6 do not have connections installed for 5 12 and 24 volt applications This is because channels 5 6 share the same power supply so it would be the last choice for drawing additional voltage connections Pis th Figure 17 Power Amp Box 5V 12V 12V 24V GND Front Panel Female BNC Motor Motor V Ref V Ref 00000000 00000000 00000000 1 2 3 4 5 6 Channels Figure 18 Box Front Panel Labeling 12 E lt 2 un 2 A URK Robotics Manual PWM Amp Power Supply The box consists of racks that slide out vertically with individual power supplies and Pulse Width Modulator Amplifiers PWM will be discussed in a later section uH LE d Figure 19 Individual Rack The figure below consists of a top view layout of the racks of the wiring not shown connects to a Din Rail on the left side and then runs to the connections on the front panel x
19. he motor This 1s similar to the tone heard for cordless drills at low speeds 16 E lt 2 un 2 A URK Robotics Manual dSPACE FUP dSPACE Controls Figure 27 dSPACE Logo The center of control is the dSPACE control board model DS1103 The following information is a quick overview of control ideas methods and hints that were used in the past project with straightforward position control The first step is starting up MATLAB which will load dSPACE programs In order to do this MATLAB Simulink Real time Interface and Control Desktop have to be installed with access to licenses either on the computer or via the network Starting MATLAB will load everything except for Control Desktop The following figure 1s a screen shot of everything properly loaded at startup The parameters should also be noted the start time is zero and end time for simulation is infinity Edit View Web Window Help Configuring Software for MATLAB 6 1 0 450 11103 Real Time Interface to Simulink 14 Sep 2001 okay Daa IMULINE ControlDesk to Simulink Interface 30 Jan 2001 okay IHLIB MIRACE HMATLAB dSPALE Interface Libraries 14 5 2001 okay configuration okay Some Simulink default parameters are unsuitable for use with RTI It is recommended to change these defaults in the Simulink Preferences dialog solver page current r
20. ilization of the It is recommended to use the following sources for in depth information J J Craig Introduction to Robotics 274 ed Addison Wesley Publishing Company 1989 M W 5 amp M Vidyasagar Robot Dynamics and Control John Wiley amp Sons 1989 Websites MATLAB www mathworks com products matlab Simulink www mathworks com products simulink DSPACE www dspaceinc com Robotic Toolbox www cat csiro au cmst staff pic robot URK Project www eng utah edu stulp Figure 1 URK Background URK Robotics Manual System Overview The figure on the right 1s composed of the system setup Each component will be discussed in more detail later in this manual The flow begins with a computer program for the robot which is uploaded to the control board The control board runs in real time and communicates requested information to the computer The output signal from the board is amplified to the motors on the robotic arm The position of the arm is determined by the signal of a potentiometer or encoder on the specific joint that 15 input back to the control board to recalculate the output to the motors Interface dSPACE Control Board Power Supply amp Amplifier eoooeoeeooQ 00000000 eoooeoeooQ eoooeoeooQ Motors Potentiometers Encoders Figure 2 System Flow o gt 0 gt e 0 Un gt URK Robotics Manual Mechanical Desig
21. lso supports discrete and continuous states The states mustbe aftype real Optionally the S Function Builder block will generate TLC file to he used with Real Time Workshop for code generation a functian settings Input port width Number of discrete states Output port width Discrete states IC Number of parameters Number of continuous states sample time inherited Continuous states IC Discrete sample time value i Cancel Help Figure 38 S Function Builder Block Double Clicked 27 URK Robotics Manual For jsinv9 there are no additional libraries tab 2 continuous derivatives tab 4 discrete updates tab 5 or build info tab 6 For the outputs tab 3 the code written in C code is pasted into the window provided after clicking the tab S functions will only accept C code not M files because of this there 15 an example of an M file translated into C code since the syntax is different This example is implementation of the previously determined inverse kinematics The input 15 listed as where its width can vary it just has to be the same as the Simulink model path connected to it The output is an array called specified in the same manner MATLAB Syntax 2 u 0 yl u l 71 10 L1 12 0 L2 10 0 G sqrt x1 2 y 2 sqrt G 2 C2 R 2 4 71 22 220 J 25 s T2 52 sqrt 1 c2 2 theta2 atan2 s2 c2 beta atan2 z1
22. n The URK 15 an articulated robot arm consisting of three revolute joints RRR For this paper it has been configured with a two degree intersecting wrist to give it a total of five degrees of freedom For ease of geometry the wrist is designed with an offset that allows the calculation of position to be simplified by having all the joints residing in the same plane The following figure shows the joint name assignments Thetas DOFs 2 through 4 are all located in a plane that rotates about theta DOF 1 The dashed lines represent axes of rotation 7 c Figure 4 URK Picture c of N O y e e den gt URK Robotics Manual Position Sensing There are two different types of sensors to determine position of the robot potentiometers and encoders The URK uses both Potentiometers Potentiometers or pots translate the position angle between the two links into voltage The URK uses a single turn wire wound resistor pot The pot has three connections as shown in figure 5 by the standard schematic un e gt e am CW SCHEMATIC Figure 5 Connection Schematic Figure 6 Pot Assembly The recommended setup for the connections uses a 5 volt power supply Typical pots use ground and a specific voltage Turning the pot proportionally gives a voltage in between 5 and 5 In the case it is easer to use 5 volt connections making the center
23. nk model being compiled with the values The yellow bocks in the figure below read in the workspace values previously generated the M file Variables X Y amp Z Workspace Variable Example Workspace 21 Figure 35 Workspace Blocks One problem with this method 1s that the values have to be known prior to compiling and cannot be computed or changed after compiling To solve for new values code has to be resident in the controller This requires either an S function or symbolic math in Simulink 21 dSPACE URK Robotics Manual S Function Example The S function is implemented by generating one through the S function Builder block S Function Builder Figure 36 S Function Builder Block The Builder block does not have to be connected to any paths the S function block 15 what calls the specific program Figure 37 S Function Block For the inverse kinematics block jsinv9 there are three coordinates translated to three degrees of freedom joints where both the input and output port widths are 3 4 S Function Builder Urk S Function Builder E on ol x Parameters o Tunction name isinva Build amp S function parameters 1 Initialization S Function Description The Function Builder block creates wrapper C S function with ane input one output and variable number of vector parameters You can use this block to enter your own code ar import legacy C code This black a
24. of the range zero volts This simplifies relating the angle degrees as positive or negative Link 2 Link 1 Link 2 Pot Location Pot Location Wound Resistor Armature Wiper Figure 7 How a Pot Works URK Robotics Manual When using pots there are a few considerations to point out pot will give the angle immediately when turned on requiring no indexing or homing There is no need to adjust them once they are set The major concern with pots is noise With the armature sliding across wound resistor the signal results in spikes Noisy power supplies as well as unshielded wire environment noise also distort the signal contributing to the problem The pots on the URK in the figure below are manufactured by Spectrol which are no longer available Vishay Inc acquired Spectrol in 2000 having similar potentiometers but not an exact match There are rebuild kits available that consist of new wound resistor and armature rather than fully replacing the entire assembly un O B c The easiest way to adjust pots or trim them 15 to loosen three setscrews casing and rotate the pot to the desired position of 3 Setscrews Spectrol Potentiometer Figure 8 URK s DOF 3 URK Robotics Manual Encoders There are two types of encoders incremental and absolute Absolute encoders consist of a disc that has individual rows that give a unique out
25. put code They are similar to pots by having the advantage of giving the position without any calibration The disadvantage 15 that they are typically more expensive than incremental less resolution and have many more connections on the robot 25 2256 steps revolution 360 256 1 49 precision 10 wire connections Encoders Figure 9 8 bit Absolute Encoder Disc Incremental Encoders are more simple having only three rows of information A B and Index It operates by using a quadrature format where is 90 out of phase from A 54 1 Increments Figure 10 Incremental Encoder Signal Having both an A amp B channel the direction of rotation is determined Using quadrature format a step 1s then divided into quarter steps The incremental encoder for the URK consists 500 increments giving it a actual resolution of 2000 steps The index gives a home position since unlike absolute incremental encoders are unable to know their true position until the index 1 found In the URK s case when power 15 supplied to the encoders it starts at zero URK Robotics Manual Index Home Position 500 steps revolution 360 500 4 18 precision 5 wire connections Encoders Figure 12 Encoder Mounted on Wrist Figure 13 Incremental Encoder Exposed 5 F gt GROLIND INDEX CHANNEL 5VDC CHANNEL B Figure 14 URK s Encoder Pin out
26. rom scratch Below is the beginning of the your file name _wrapper c which shows the locations that can be edited THIS FILE GENERATED S FUNCTION BUILDER BASIC 1 0 This file 15 a wrapper S function produced by the S Function Builder which only recognizes certain fields Changes made outside these fields will be lost the next time the block 15 used to load edit and resave this file This file will be overwritten by the S function Builder block If you want to edit this file by hand you must change it only in the area defined as o09690 SFUNWIZ wrapper XXXXX Changes BEGIN Your Changes go here o9690 SFUNWIZ wrapper XXXXXX Changes END For better compatibility with the Real Time Workshop the wrapper S function technique 1 used This 1s discussed in the Real Time Workshop User s Manual in the Chapter titled Wrapper S functions Created Sun Apr 13 02 53 06 2003 Figure 40 First Code Lines of your file name wrapper c 24 S Function URK Robotics Manual Another aspect of controlling the robot besides going to a desired angle or coordinate 15 to compensate for gravity on the robot This example will use defining the arithmetic symbolically rather than using M files or S functions Gravity Compensation The diagram represents two links of a robot arm equivalent to the URK This 1s a simple wa
27. s to be translated into angle This is simply done by putting the conversion into a gain block Gain Block Example Volts Degrees Figure 32 Gain Block Conversion In the case of the URK controller model in Simulink the desired values are simply the angle in degrees or radians depending on the conversion Cartesian Coordinates Inverse Kinematics Since robots think in joints angles 0 and humans think in Cartesian Coordinates x y z the next step 1s to determine the translation between the two the inverse kinematics of the robot dSPACE Inverse Kinematics X Y Z Figure 33 Inv Kinematics Block Inverse Kinematics Geometric Method getting the equations Link 2 Figure 34 2 Link Drawing 20 URK Robotics Manual This 1 solved using Law of Cosines Where C2 is C2 072 4p w 2 B272 J 251 Dh2 5 sqrt x 2 y 2 Theta2 atan c2 sqrt 1 272 180 1 phy 2 2 L1 2 27 72 27217394 Beta atan z R For 2 gt 0 Ihetal Beta Phi For Theta2 0 Ihetal Beta Phi With the equations determined the joints can be determined by solving for each solution from the given coordinates MATLAB can solve each of these solutions in a table and import them into the workspace by referencing the variable with a workspace block For this to work the MATLAB code file m 1 ran followed by the Simuli
28. y of countering gravity Is with an equivalent opposite voltage Figure 41 First Link Gravity Consideration Via amp resultants from the force of gravity acting on the arm amp Vig theoretically zero for calibration purposes Rotating the arm from one position to the other is equivalent to taking the sine of the voltage ci Solving For V2 gt 2 V5A sin 042 05 Q gt Solving For V S _ SS Figure 42 Second Link Gravity Consideration To accomplish this there are constants that need to be known to properly calculate without determining actual mass and mass locations sin 01 sin 01 0 Vip Vr Vg Vg 25 URK Robotics Manual To implement this into the controller the previous equations were written symbolically into a single block that is expanded below Symbolic Math Example 7 Comp Ex 7 E 3 x Edit View Simulation Format Tools Help are Rb St Se Bt gt gt extemal Figure 43 Gravity Compensation in Symbolic Model The current angle in voltage 1s input into the block with a resulting voltage output to compensate for gravity Similar to an S Function which allows on board calculations the symbolic form 1 easier to access than debugging and changing your C code It does however get quite messy if it is more complicated than just a two link robot
Download Pdf Manuals
Related Search
Related Contents
idee jardin piscine on se couvre pour l`hiver Samsung MM-C330 Manuel de l'utilisateur SSM-21P 型 イモビアダプター(C307) spectro-guide 45/0 gloss specro-guide sphere gloss RC 6045 REMOTE CONTROL 取扱説明書 Je veux que vous sachiez ! Actebis Exsys EX-41052 - 2S Universal PCI Serial card Copyright © All rights reserved.
Failed to retrieve file