Home

Accessing sensors for control of a humanoid robot

image

Contents

1. 1 2 xy wz 2 xz wy R wxy z e 2xy wz Uw z 1 20z wx 2 xz wy Aw x Aw 7 1 This gives us the following relation for the components of the unit quaternion w zr 1 1 x 5 Ry Ry WR Ry R33 1 1 I Send Ra JR R4 R l 1 m Se Ro Rz R R l1 Bachelor Final Project Accessing sensors for control of a humanoid robot 13 3 Flexiforce Pressure sensors This chapter discusses the Flexiforce sensor used to determine the CoP of the robot This chapter consists of an overview of the sensor the theoretical model of the sensor the measurement setup used in the experiments a section discussing the data collected during the experiments the implementation of the theoretical model and a section about the software developed to run the sensors As humanoid robots are inherently instable dynamical systems it is virtually impossible to navigate them along a desired trajectory by merely giving the trajectory as input to the controller Doing so would result in deviations from the desired trajectory due to for instance disturbances from the environment and modeling errors These could seriously degrade the robots dynamic stability causing it to tip over if no sensor feedback would be used As detailed in section 2 2 the dynamic stability can be represented by the ZMP The ZMP can be determined by measuring the CoP at the feet By measuring this CoP and using a negative feedback loop to correct the
2. 5 Q S G R o S S 0 S The linear accelerations are also measured with respect to the senor axes and can be transformed to the world frame using either three of the orientation representations 4 3 Mti communication software Appendix H provides the source code for running the Xsens sensor from a Linux system The code provides options for the different ways to represent the orientation as well as the option to include accelerations and angular velocities The software requires the user to specify which of the output options it must display before running it For instance to obtain the output in unit quaternions while also displaying the linear accelerations run the following command from the console run xsens dev ttyUSB quat acc on gyro off Here the first argument dev ttyusBe tells the software where to find the sensor the second argument specifies the use of unit quaternions as the representation of orientation To use Euler angles or rotation matrixes as output type euler or matrix respectively The acc on off gyro on off arguments can be used to display the acceleration of angular velocities of the sensor The software writes its output to the file data which makeup is as follows sample nr orientation acc x acc y acc z gyro x gyro y gyro z Bachelor Final Project Accessing sensors for control of a humanoid robot 26 Orientation consists of 3 to 9 columns of data dependent on which output is chosen using Eu
3. DalasanalySis LLL 29 5 Conclusion and Recommendations eessssss 29 APPENAIXES a E 30 A Flexiforce manufacturer data ccccccseeeseeeeeeeeeeeeeeeeeeeaaaeees 30 B Matlab file for model fitting sessssesesessss 31 C Measurement data sessi 33 B Jovtest SOUICE code ee 34 E PFoODOUTITWOEB eo ia tdeo di tiet oia tomba avr od baut 35 F Xsens manufacturer data seseessssseeeeeeenereenee 36 G Guide to working with Flexiforce essseeeeeeeses 38 Hi Xserns Source eoder anne uude 39 SOLITOS een een ee 40 Bachelor Final Project Accessing sensors for control of a humanoid robot List of Symbols Symbol Description Unit Acceleration vector m s Z Local gravity vector m s m Mass kg n Normal vector p Pressure Force N H Unit quaternion M Moment in point O due to pressure forces Nm R Rotation matrix R Resulting pressure force IN R Reference resistor Q R Sensor resistance Q S Rate of change matrix Ui Analog voltage drop over R V Up Digital voltage drop over R V Reference Voltage V d Roll 0 Pitch y Yaw O Angular velocities rad s Bachelor Final Project Accessing sensors for control of a humanoid robot 1 Introduction Section Dynamics and Control of the Eindhoven University of Technology is active in the Dutch r
4. TUlip Because of it s incidence with the zero tipping moment point ZMP the center of pressure can be used as an indicator of dynamic stability for a walking bipedal humanoid Because of its definition the CoP is only defined when there is contact between the feet and the ground i e pressure forces are present However since contact with the ground is the exact definition of walking the CoP is a perfectly relevant as an equilibrium criterion in walking bipeds Expression for the Center of Pressure The center of pressure as defined above can be calculated as stipulated in Forces Acting on a Biped Hobot Center of Pressure Zero Moment Point 1 follows Here O and P are points on the sole of the foot and 7 the unit vector normal to the support surface The sum of all pressure forces on the sole of the feet is given by R pleas Ja R Therefore the moment in pointO as a result of the sum of the forces in P is Me oP oss Point C is the position of the CoP Because of the definition of the center of pressure at point p the moment of pressure becomes zero Thus one can express the moment in point O as M OCxR And therefore OC can be expressed as OC 7 n aio R Bachelor Final Project Accessing sensors for control of a humanoid robot Incidence of the Zero tipping moment point and the CoP The ZMP is the point on the ground where the tipping moment due to the gravity working on the robot and the inertia for
5. gait or in other words an anthropomorphic walking gait When moving in such a way the robot will move from one dynamically unstable posture to the next one using its weight to move forward In order to keep the robot from falling down during its walking cycle feedback is needed to give the controller information about the current state of the robot i e its orientation with respect to the world frame and the force present on the feet Figure 2 1 shows a drawing of TUlip including the position of the Xsens and Flexiforce sensors Four Flexiforce sensors are mounted at the corners of the feet and the Xsens Module is mounted on the robot s right shoulder The Xsens sensor interfaces with the controller via a serial RS 232 serial port and the Flexiforce sensors interface with the controller via a USB hub In the following chapter more information will be given on interfacing these sensors with the controller Xsens Mti Sensor Flexiforce Sensors Figure 2 1 Tulip with sensor positions Bachelor Final Project Accessing sensors for control of a humanoid robot TUlip s controller consists of a PC running a Linux operating system as such all software and code contained in this report is designed to run on a Linux system 2 2 Center of Pressure and Zero Moment Point The center of pressure CoP is defined as the point where the moment resultant of a field of pressures forces is zero in this case the pressure forces present on the feet of
6. specifications the sensor s gyroscopes are able to accurately track the orientation for 10 20 seconds maximum This reduces the time over which the assumption holds true significantly When experiencing significant accelerations over a large amount of time i e 10 to 20 seconds the accuracy of the measurements will degrade depending on the amount of acceleration however once the average accelerations are zero again the sensor will stabilize Significant accelerations over such a time period are virtually none existent in anthropomorphic behaviour as such this assumption is perfectly valid in this situation Figure 4 2 Xsens with sensor frame of reference Fig 4 2 shows the definition of the sensor s reference frame X these vectors are also inscribed on the sensor itself to avoid confusion 4 2 Xsens Orientation representations The Xsens Mti Motion tracker can output it s orientation in three different ways Euler angles rotation matrix and as a unit quaternion Xo Rx The rotation matrix R as given by the sensor transforms a vector in the sensor frame to a vector in the world frame The same relation using quaternions is Bachelor Final Project Accessing sensors for control of a humanoid robot Xo ES Hx H Furthermore the sensor is capable of measuring its angular velocities and linear accelerations The angular velocities G supplied by the sensor are measured around the sensor axes S RR 0 sS S S S S 0 S
7. the folder Footware sources and type make all e Two hex files will be generated leftfoot hex and rightfoot hex which need to be programmed into the corresponding feet Attach a serial cable to the board s COMO 5 wire serialport using the cable with on one end a 8 pin micromatch and on the other end two db9 female connectors A standard 1 1 serial cable no crosslink or Serial USB cable can be used e Check which local comport is connected Windows hardware setup e Startup Flashmagic set the following settings FlashMagic settings Local COM i e COM3 Baudrate 38400 Device LPC2148 Interface None ISP Freq 12 MHz e Hit start Bachelor Final Project Accessing sensors for control of a humanoid robot 36 Doing measurements on TUlip The Joytest software is currently installed on TUlip Logging on and executing the command joytest4 will start the measurement If the joytest software is not installed on TUlip copy and paste the file joytest4 located on the CD ROM into on of TUlip s directories While taking calibration measurements make sure the entire path of the force goes through the sensing area as explained in section 3 3 Bachelor Final Project Accessing sensors for control of a humanoid robot 37 G Xsens Mti manufacturer data Attidude and Heading Static accuracy roll pitch 0 5 deg Static accuracy heading 1 deg Dynamic accuracy 2 deg RMS Angular resolutio
8. 3e B 97 8993 y 212 2146 x 2 6869 Appendix B provides MATLAB code which can be used to calculate these parameters The output voltage U is supplied by the PCB as a 16 bit integer U in the range 32768 32768 To use the relations above the analog voltage must first be reconstructed by using the following relation Bachelor Final Project Accessing sensors for control of a humanoid robot 22 U 2 216 U ul Ve Using the relations between the output voltage and force the x and y coordinates of the CoP can be reconstructed as follows x SE A o 2 ee eae 2 Enn J 20 F R FE FR 2 where and w are the length and width of the feet respectively Because the CoP does not require the absolute force instead it uses the distribution of all the forces on the supporting surface it is possible to eliminate a from the equations Without the linearization becomes unnecessary however this holds true only if all four sensors are equal Since all measurements where made using only the two rightmost sensors on the right foot it is not possible to say if they all behave the same more testing is required to determine the behaviour of all sensors 3 6 Information regarding the Flexiforce software As specified before the Flexiforce PCB interfaces with the main controller via an USB port as a joystick The software needed to run it consists of two parts a part running on the controller and the other part r
9. Accessing sensors for control of a humanoid robot G J T Verstralen DC 2010 027 Research project report Coach dr D Kostic MSc Supervisor prof dr H Nijmeijer Technische Universiteit Eindhoven Department Mechanical Engineering Dynamics and Control Technology Group Eindhoven April 2010 Preface In the near future humanoid robots are expected to become a common sight in our everyday lives Anticipating this development the section Dynamics and Control at the faculty of Mechanical Engineering in Eindhoven is developing a humanoid robot named TUlip for competing in the humanoid soccer league as well as research purposes One of the greatest challenges in the field of humanoid robotics is the implementation of an anthropomorphic or dynamic walking gait Since humanoid robots are complex dynamical systems it is next to impossible to achieve this without the use of feedback control This report deals with the sensors used to collect the data needed to provide the feedback to TUlip s motion controller and supplies the software developed to use them The measurements made by the sensors can then be used to determine the Center of Pressure the point in which the moment due to the sum of all pressure forces equals zero When determined the location of this point can be used as an indication of stability to provide feedback to the motion controller helping it to achieve a more stable walking gait Bachelor Final Project Accessing s
10. CoP when it is not in a stable position it is possible to improve the walking stability of the robot 3 1 Overview of the Flexiforce sensor The sensors used to measure the CoP are four Flexiforce sensors mounted on the corner of both of TUlip s feet see fig 3 2 These 4 sensors are connected to a circuit board connected to TUlip s controller using USB a BS GE TQ ES n Figure 3 1 Flexiforce sensors mounted on Tulip s foot Bachelor Final Project Accessing sensors for control of a humanoid robot 14 The Flexiforce sensors are composed of a thin circuit printed on a flexible film The sensors are resistive based the application of a force to the active sensing area of the sensor results in a change in the resistance of the sensing element in inverse proportion to the force applied fig 3 2 shows a schematic of one of the sensors Figure 4 2 Flexiforce sensor The sensors used are of the type Sensor A201 25 which operates in the force range through 0 to 25lbs or approximately 0 to 11 kilograms appendix A contains further manufacturer specifications of the sensor The sensor acts as a variable resistor in an electrical circuit When the sensor is unloaded its resistance is very high greater than 5 Meg ohm when a force is applied to the sensor the resistance decreases Connecting an ohmmeter to the outer two pins of the sensor connector and applying a force to the sensing area one can read the change in resistance Fig 3 3 sho
11. ay as in the actual application the same pad or puck used in the feed to transfer the load is also used in the measurement setup A scale is used to read the force present on the sensor In order to help center and stabilize the weight on sensor a stand can be used to support it as long as the stand does not direct forces through the scale except for the forces going through the sensor the scale can still be used to determine the load on the sensors The scale used is a BULLTRONICS scale with a range of 0 to 30 kg and an accuracy of 2 gram When using the scale to do measurements make sure the weight is centered on the plateau to avoid deviations due to uneven loading Bachelor Final Project Accessing sensors for control of a humanoid robot 18 3 4 Flexiforce measurement data Fig 3 7 shows the data collected during the experiments and the model from section 3 2 fitted to it It can be seen in the plot that measurements were made in the range of 0 to 2 5 kilograms which is also the typical range of operation on TUlip As can be seen the measurement data conform quite nicely to the theoretical model Voltage V D 2 4 6 8 10 12 Force Kg Figure 3 7 Measurement data fitted to model Also in the figure it can be seen that the measurements at 1 25 kg are missing this is because around that weight the sensor output stops varying and remains on 1 65 V despite variations in force The output value of 1 65V corresponds to th
12. c datasum 1 Dr 2 Dr Analog voltage V least squares model fit f sum Ua Vcc datasum 2 200 x R datasum 2 200 2 Bachelor Final Project Accessing sensors for control of a humanoid robot 32 C Measurement data Flexiforce measurement data is included on the CD ROM Bachelor Final Project Accessing sensors for control of a humanoid robot 33 D Joytest source code Joytest source code is included on the CD ROM Bachelor Final Project Accessing sensors for control of a humanoid robot 34 E Foot Firmware The Foot Firmware is included on the CD ROM Bachelor Final Project Accessing sensors for control of a humanoid robot 35 F Guide to working with Flexiforce Updating the firmware from the Dutch RoboCup wiki 4 Foot firmware can be found on the CD ROM or alternatively from https robocup 3xo eu ROBOCUP 3TU ROBOCUP2008 Tulip trunk software FootWare Though now guarantee can be given that the firmware is compatible with the software supplied with this report A simple manual e get Winarm from http www siwawi arubi uni kl de avr projects arm projects Zwinarm e Unzip for example to C Winarm e add C WinARM bin C WinARM utils bin to your system path e get Flashmagic from http www flashmagictool com download html amp d FlashMagic exe e Open the footware pnproj in Programmers Notepad go to Tools make all e Or alternatively go with a command line tool to
13. ces present equals zero Its incidence with the CoP can be proven as follows The resultant of all forces working on the robot equals the inertia force R R mg 2 m And the moment around a point Q equals Mo R xQP R xQF mg x QG max QG Now we define M as the moment resultant of the contact force on the feet and M as the moment resultant of the gravity and inertia forces Ms R xQP R xQF M5 mg m x QG From this it follows that M M 0 Now we place the point Q on the plane of the support surfaces so that the moment in Q as a result of the friction force equals zero Now we obtain the following relation P G Mo M 0 Since in the CoP the moment as a result of the pressure forces M 5 equals zero this means that in the CoP the moment resultant of the gravity and inertia forces equals zero thus the ZMP and CoP coincide 2 3 Representations of 3D orientation A rigid body s position can be described in space by three Cartesian coordinates x y z however such a body will still be able to rotate around the point fixed by those parameters To complete describe both position and orientation of a rigid Bachelor Final Project Accessing sensors for control of a humanoid robot body a minimum of 6 coordinates are needed three for position and three for orientation The orientation can be described in a number of different ways however only three of these will be discussed in this paper Euler angles
14. desired trajectory Figure 1 1 TUlip Bachelor Final Project Accessing sensors for control of a humanoid robot The objectives of this assignment are to calibrate where needed and gain access to both Xsens and Flexiforce readings apply the zero moment point theory to the Flexiforce readings by determining the center of pressure for the feet and to provide the code necessary to run the sensors on TUlip This reports structure consists of an overview of TUlip some theory regarding different ways to describe 3D orientation and the Center of Pressure Zero Moment Point The next chapter contains an overview of the Flexiforce sensors as well as a way to access its output and calculate the CoP using this output The 4 chapter of the report will deal with the Xsens orientation tracker To round out the report there will be a conclusion and recommendations about the sensors Bachelor Final Project Accessing sensors for control of a humanoid robot 2 General overview of TUlip and basic principles In this chapter a general overview of TUlip will be given as well the basic theory of the centre of pressure and zero moment point the chapter will then continue with the theory behind three different ways to represent rotations Euler angles rotation matrixes and unit quaternions 2 1 Overview of TUlip TUlip as shown in Figure 1 1 is a bipedal humanoid robot weighing in at approximately 18 kilogram It is designed to move using a dynamic walking
15. e digital output value of 0 it seems that is an error in either the firmware or the PCB however we ve not been able to pinpoint the problem Fig 3 8 shows the plot of one set of data obtained from a single measurement using a weight of 2 kilograms Bachelor Final Project Accessing sensors for control of a humanoid robot 19 Sensor output 50 100 150 200 250 Time s Figure 3 8 Flexiforce measurement 2kg It shows the moment of impact at around t 2 sec and then a number of spikes After the weight is stabilized on the sensor at t 12 sec the sensor starts to converge to a final value This behaviour may prove to be problematic if the sensors on the feet don t come in contact with the ground at the same time the varying readings of the sensor may manifest itself as a wander of the CoP coordinates around its actual position Moreover the range over which the measurements converge is not constant instead there seems to be a linear relationship between the force present on the sensor and the time it takes to stabilize Because the load applied to the sensors while the robot is walking is not static over time it is not trivial to compensate this behaviour however testing the sensors while the robot is walking will be necessary to determine if filtering will be needed or that the wander remains within acceptable levels Bachelor Final Project Accessing sensors for control of a humanoid robot 20 Sensor O
16. e rotation matrices or rotation quaternions to describe the rotation These two ways to represent the orientation of a body do not suffer from this singularity 2 5 Rotation Matrix A rotation matrix is an orthogonal matrix with a determinant equal to 1 R R det R 1 Rotation matrixes derive their name from their ability to rotate a vector in 3D space They can be used to rotate vectors from one frame to another Since rotation matrixes do not suffer from the singularities associated with Euler angles while giving an easy way to compute rotations they re commonly used to describe rotations Consider the reference frame X and another orthonormal frame X with the same origin O Now we can define a matrix which transforms the unit vector of the original frame of reference into the rotated one R X X Now take a point Pin the space It can be described from the reference frame X as p pX n P2 pi Yo p Xo X d q X d d q Y q x Z Since both p and p describe the same point it is possible to write Bachelor Final Project Accessing sensors for control of a humanoid robot 11 T _ T p 54 X substituting for x gives us pn q R X and PH HH RH g R this gives us the rotation matrix R and the transformation from qto p p Rg Since the rotation matrix is orthogonal the inverse transformation can easily be obtained R p q 2 6 Unit quaternion A third way to describe rotations in 3D space is the u
17. earity Error lt 3 Repeatability lt 2 5 of full scale conditioned sensor 80 force applied Hysteresis lt 4 5 of full scale conditioned sensor 80 force applied Drift lt 5 per logarithmic time scale constant load of 90 sensor rating Response Time lt 5 microseconds Operating Temperatures 15 F to 140 F 9 C to 60 C Force Range 0 25 Ibs 110 N Temperature Sensitivity Bachelor Final Project Accessing sensors for control of a humanoid robot Output variance up to 0 2 per degree F approximately 0 36 per degree C 30 B Matlab file for model fitting 9 0 0 0 O 0 O O O O O O O O O 0 O o u 4 4 o modelfit fits the model contained in the m file model m to the 5 o o loaded data KJ 95 55 55 5 55 55 05 5 55 5 55 5 75 5 5 5 6 6 6 6 6 6 6 6 6 56 66 5 0 50 56 56 5 0 50 5 0 5 6 5 0 5 6 5 0 5 0 5 0 5 0 5 0 50 5 0 55 56 load data2 load test data converts loaded data to one array and converts the data s unit to kg test data Sensor Output g datasum data0200 data0300 data0400 data0500 data0600 data0700 data0800 data0900 datal000 datal500 datal750 data2000 data2250 data2500 test data kg datasum 2 datasum 2 1000 find aplha wich correlates with the minimum of model x 9 alpha fminsearch G x model x 1 Correction factor alpha Model parameters Ud datasum 1 Sensor ou
18. ensors for control of a humanoid robot Index Listof SyMD O Ae 4 1 IHTFOQUUCHON P 5 2 General overview of Tulip and basic principles 7 2 1 Overview of TUlip 2 2 Center of Pressure and Zero Moment Point 8 2 3 Representations of 3D orientation ssueueueuuuuus 9 2 d Euler Angles ned cti oe ee aan sn 10 2 5 ROTATION MatriX nen 11 ZO Dni Outer aces vie iet ppl Yoon PRIME ee Cres idus 12 2 7 Conversion formulae between rotation representations 13 3 Flexiforce Pressure sensors ccce cec eeeeeeeee nennen 14 3 1 Overview the Flexiforce sensors uuessnsssennneennnnnnneneneennennen 14 3 2 Theoretical model of the sensor ssssssesssse 16 3 3 Measurement setup for Flexiforce seeeueesuuusus 17 3 4 Flexiforce measurement data sseesesssesesss 19 3 5 Implementation of the theoretical model and the CoP 21 3 6 Information regarding the Flexiforce software 23 4 Xsens Mti Sensor Motion Tracker sesees 24 4 1 Overview of Xsens Mti Motion Tracker 24 4 2 Xsens Orientation representations 44244444444 ennnen 25 4 3 Mti communication software uununeneeeeesnnnenennenennnnnenenennne nn 26 4 4
19. lds true for changes to the posture of the robot in general The combination of the footsensors joint sensors and the Mti sensor provides all the feedback to TUlip Motion Control for controlling the robot s movement 4 1 Overview of Xsens Mti Motion Tracker The Mti sensor contains gyroscopes accelerometers and magnetometers to estimate its orientation with respect to the world frame 3 The Mti sensor estimates its 3D orientation with respect to the world frame by using the measurements of the accelerometers and magnetometers to compensate for the slowly increasing drift errors from integrating the angular velocities of the gyroscopes The sensors accelerometers measure the gravitational acceleration as well as accelerations due to movement A filter is used to stabilize the data using the Bachelor Final Project Accessing sensors for control of a humanoid robot 24 assumption that the average acceleration with respect to the world frame during some period of time is equal to zero It s critical for the sensor s performance that this assumption holds true If for instance the average acceleration is not equal to zero for 20 30 seconds the sensor s calculated orientation starts to deviate increasingly from the actual acceleration However for most applications including a human like walking gait this assumption holds true The reason being the amount of time over which the acceleration is averaged since according to the manufacturer s
20. ler angles as the output mode the makeup of orientation becomes roll pitch yaw Using the rotation matrixes it becomes R11 R21 R31 R12 R22 R32 R13 R23 R33 Ry Ry R R R Ry Ry R Ry Ry Finally using the unit quaternion mode the output becomes WXYZ 4 4 Data analysis Fig 4 3 shows a measurement of its orientation made with the Xsens Mti sensor using the Euler angles as its output 0 05 T T T T T T Yaw Roll Pitch 0 05 4 0 15 4 Euler angles rad 02r 4 O 3F d 0 35 l 1 1 1 1 L L 5 10 15 20 25 30 35 40 sample time s Figure 4 3 Xsens static measurement As can be seen in the picture above during the first 5 to 10 seconds the sensor is operational it is still attempting to account for the gyroscope error It is also interesting to see that all angles aren t equal to zero but instead have a small Bachelor Final Project Accessing sensors for control of a humanoid robot 27 offset even when the sensor is completely steady This is however easily explained by the fact that the sensor itself is not aligned with its casing but has an offset of a few degrees This offset can however be easily adjusted for when the sensor is mounted in its final position on the robot Power Frequency m 1 10 10 10 10 Frequency Hz Figure 4 4 PSD estimate of Xsens output data Figure 4 4 shows the power spectrum density estimate of one of the static measureme
21. n 0 05 deg Dynamic range Pitch 90 deg Roll Heading t 180 deg Maximum update rate Onboard processing 120 Hz External processing 512 Hz Interfacing Digital interface RS 232 RS 485 RS 422 and USB Operating voltage 4 5 30V Power consumption Interface options i o Maximum Operational limits 350 mW SyncOut AnaloglIn Syncin Ambient temperature operating range 20 60 C Specified performance operating range 0 55 C 1 in homogeneous magnetic environment under condition of a stabilized Xsens sensor fusion algorithm 10 standard deviation of zero mean angular random walk non condensing environment Bachelor Final Project Accessing sensors for control of a humanoid robot 38 H Xsens source code Xsens Source code is included on the CD ROM Bachelor Final Project Accessing sensors for control of a humanoid robot 39 l Sources 1 2 3 4 Philippe Sardain and Guy Bessonnet Forces Acting on a Biped Robot Center of Pressure Zero Moment Point 2004 Tekscan Flexiforce User manual 2009 Xsens MTi and MTx User Manual and Technical Documentation 2009 http wiki dutchrobocup com Footsensors Bachelor Final Project Accessing sensors for control of a humanoid robot 40
22. ned using the sensors 3 3 Measurement setup for the Flexiforce sensors Fig 3 5 shows the contact area of the sensor the entire silver area is treated as al single contact point for this reason it is important that the load is distributed equally and consistently and doesn t touch the sensor outside the silver contact area contact area Figure 3 5 Flexiforce sensor and contact area Bachelor Final Project Accessing sensors for control of a humanoid robot Pads are used to make sure that the path of the force goes entirely through the sensing area and is not supported by the area outside of the active area These pads may not touch any of the edges of the sensing area or these edges may support some of the load and give an erroneous reading Fig 3 6 contains a diagram showing the load path through the sensor and the pads ceo cy F Figure 3 6 Load path Flexiforce sensors and pads Flexiforce only reads forces perpendicular to the sensor plane ignoring the shear forces However shear force can reduce the life of the sensor because of this the shear forces are directed to the frame of the feet instead of the sensor In order to calibrate the sensor measurements the sensors output voltage must be measured while applying a known force to the sensor By doing this for a range of different forces it is possible to obtain the relation between the force and the output voltage Since it s important to load the sensor the same w
23. nit quaternion the quaternions constitute a number system that extends the complex numbers to four dimensions in the same way that complex numbers extends the set of real numbers to 2 dimensions Unit quaternions can be used to uniquely describe the orientation of a rigid body in 3D space A unit quaternion can be interpreted as a rotation around a unit vector n by an angle 9 H es in H H Written in vector format this gives us 9 1 H w x y z w cos 2 te ran y z Yo sn 3 Zo The inverse of His called the complex conjugate and can be calculated as follows Bachelor Final Project Accessing sensors for control of a humanoid robot H w x y z H Now take the two vectors p and q from the preceding section now the quaternion H transforms q to p according to the following relation p HqH since the product of H with its inverse equals one the following relation can be obtained for the inverse transformation H pH q 2 7 Conversion formulae between rotation representations The quaternions and Euler angles can be converted to a rotation matrix and vice versa This section contains the relations between these three representations The Rotation matrix can be written in terms of the Euler angles c 9 c 0 c g s O s y s g c v c g s O c v s g s v R 9 0 w O s g s O s y c f s v s g s O c y c 9 sCy s 0 c 0 s y c 0 s y And in the components of the unit quaternion 2 w x
24. nts made with the Mti sensor it displays the power of a signal over a range of frequencies As we are dealing with a static measurement any peaks in the higher frequency range would indicate unwanted noise which would need to be filtered However it can be seen in the picture that there is no high frequency content and the sensor is thus giving a clean representation of the orientation Bachelor Final Project Accessing sensors for control of a humanoid robot 28 5 Conclusion and Recommendations With the project having run its course its now possible to draw conclusions based on the results obtained The goal of this project was to calibrate where needed and gain access to both Xsens and Flexiforce readings apply the zero moment point theory to the Flexiforce readings by determining the center of pressure for the feet and to provide the code necessary to run the sensors on TUlip These objectives have all been accomplished with both the Xsens and Flexiforce sensor both operational and capable of running from TUlip and calibration of the Flexiforce sensors has been done While the Flexiforce sensors are now functional some problems persist the possible wander of the CoP measurements because of the sensor s initial drift as well as the need to perform measurements on all sensors to check if there are large deviations in behaviour between them or if they all behave roughly the same Furthermore tests to check if the CoP meas
25. obotics initiative which should contribute new generations of robots including humanoids The section participates in the international robotics competition RoboCup In particular the section competes in the TeenSize humanoid league with a biped humanoid robot named Tulip figure 1 1 In the context of the RoboCup competition TUlip is expected to perform goalkeeping task and be able to locate a ball dribble with it and shoot the ball towards the goal In order for the robot to complete these tasks successfully it needs to be able to walk on even terrain while maintaining stability i e not to fall on the ground Since the robot is an instable dynamical system the movements must be achieved by means of feedback position and force control In order to maintain stability the controller needs actual information regarding the state of the robot As of the writing of this report only the positions and force in the robots joints are used for robot control For a natural and dynamic walking gait the controller needs information about the coordinates of the robots body relative to the world coordinate frame as well as information regarding the pressures at the feet Four Tekscan Flexiforce sensors are available at each foot for measuring the pressures present An Xsens Mti sensor is available for measuring the orientation of the robot in 3D Together these sensors will be used to correct the robots posture and help the controller steer it along the
26. rotation matrices and orientation quaternions The orientation are described here relative to X the world frame X is defined as a right handed orthonormal frame of reference where the x axis corresponds with the local magnetic north and the z axis as the vector in opposition of the gravity vector Local vertical Local Magnetic North Figure 2 2 World frame Xo 2 4 Euler Angles Euler angles are a way to represent the orientation of an object with respect to a frame of reference using three independent angles v 0 y These three angles represent the spatial orientation of the rotated frame X as a composition of rotations around the three axes of an orthogonal reference frame X The definition used for the Euler angles used in this report is equivalent to the roll pitch yaw angles used in many aerospace applications The rotation sequence to rotate from the X frame to the X frame is Bachelor Final Project Accessing sensors for control of a humanoid robot 10 Right handed rotation o Roll about x defined from 180 180 Right handed rotation 9 Pitch about y defined from 90 90 Right handed rotation y Yaw about z defined from 180 180 Due to the way the Euler angles are defined a singularity occurs in the when the pitch approaches 90 In this situation Roll and Yaw are not uniquely defined which may result in unpredictable behavior of the controller to avoid this situation you can us
27. tput Vec 3 3 voltage to sensor V Rr 77e3 reference resistor Ohm Dr 32767 half of ADC range 15 bit y 0 0 01 20 load range 0 20 kg SAnalog voltage as a function of sensor load V Ua Vcc Ud Dr 2 Dr Uc Vcc y 200 alpha Rr y 200 Find the values A B to linearize the upper end of the model H solve 3 3 alp 77000 y 0 200 3 3 y 0 200 alp 77000 y 0 200 2 y 3 3 3 3 alp 77000 y 0 200 3 3 y 0 200 alp 77000 y 0 200 2 11 3 3 3 y 0 200 alp 77000 y 0 200 y Bachelor Final Project Accessing sensors for control of a humanoid robot 31 x subs H alpha A Vcc alpha Rr x 200 Vcc x 200 alpha Rr x 200 2 B 33 A 11 3 oo plot the results figure plot datasum 2 Ua old on lot y Uc Lot y A ytB r h P P Determine Parameters Alpha 9 81 alpha Beta 9 81 A Gamma B 9 81 A x Vcc x 200 alpha Rr x 200 function f model x model x fits data x to a model of the from x A y y B Load data and define parameters load data2 datasum data0200 data0300 data0400 data0500 data0600 data0700 data0800 data090 0 datal1000 datal1500 data1750 data2000 data2250 data2500 datasum 2 datasum 2 1000 Dr 32767 Halve digital output range Vcc 3 3 Reference voltage V Rf 77e3 Reference Resistor R Ua Vc
28. uns from the PCB itself Both the controller s code and the firmware are provided in the Appendixes In order to use the sensor the joytest appendix D software needs to be built and run from a Linux machine while the footsensor itself needs to be running the correct firmware The firmware used to collect the data in the report is supplied in appendix F A guide to updating the firmware and using the software to take measurements with the footsensors can be found in appendix E Bachelor Final Project Accessing sensors for control of a humanoid robot 23 4 Xsens Mti Sensor Motion Tracker This chapter will give an overview of the Xsens Mti sensor information and source code to communicate with the device from a Linux system as well as an analysis of the measurements obtained with the sensor The Xsens Mti sensor is a small device capable of measuring 3D orientation data through the use of 3D gyroscopes accelerometers and magnetometers at a maximum frequency of 120 Hz The Mti sensor will be used to provide orientation feedback to TUlip to help it maintain proper posture Mounted on the right shoulder of TUlip it will be able to help track the torsos movements Fig 4 1 shows the Xsens Mti sensor Figure 5 1 Xsens Mti sensor It s important to realize that using the data obtained with the Mti sensor to change the orientation of the torso by use of a negative feedback for example instantaneously chance the CoP ZMP of the system this ho
29. urements are accurate can be done by placing the foot on the ground making sure that there are no external forces working on the feet and then applying a single point load somewhere on the feet The position of this point load is the actual CoP and should coincide with the calculated CoP Finally the problem of the sensors lacking any sensitivity around 1 to 1 5 kilograms must be investigated The Xsens Mti orientation tracker however provides a very clean signal and does not require any calibration or filtering next to the internal filtering provided by the manufacturer Important recommendations are to conduct experiments to find out what the accuracy is of the CoP measurements and to investigate the necessity of individual calibration of the Flexiforce sensors both of these experiments were not done over the course of this project due to unavailability of Tulip as well as time constraints Finally both the sensors output will have to be integrated into the motion control of TUlip to enable it to walk properly However the implementation of the results obtained falls outside of the scope of this project Bachelor Final Project Accessing sensors for control of a humanoid robot Appendixes A Flexiforce manufacturer data A201 25 Model Physical Properties Thickness 0 008 203mm Width 0 55 14mm Sensing Area 0 375 diameter 9 53mm Connector 3 pin male square pin Typical Performance Lin
30. utput N ce 50 100 150 200 250 300 350 400 Time s Figure 3 9 Four consecutive Flexiforce measurements Fig 3 9 shows four consecutive measurements with a weight of 500 grams The standard deviation here is 0 052 kg which holds more or less true for the entire range Though it is difficult to say anything about the required accuracy without knowledge of the control strategy which is still being worked on as of writing of this report preliminary testing indicates that the sensors are able to provide meaningful information about the CoP 3 5 Implementation of the theoretical model and the CoP Fig 3 10 shows the model used to reconstruct the force from the voltage measurements It differs from the model discussed in section 3 2 in the way it handles the measurements in the higher ranges i e more than five kilograms Instead of using the theoretical model this part of the sensors range is linearized to avoid the code returning unrealistically high values when output voltage nears 3 3 V Bachelor Final Project Accessing sensors for control of a humanoid robot 21 Voltage V 6 Force kg Figure 3 10 The entire model can now be described by the following functions au R Vo F 0 2 forU 0 x U4 V cc F U y for U x 3 3 with a P y x parameters obtainable from processing the measurements Values obtained from the data gathered are displayed below and visualized in fig 3 10 a 8 586
31. ws part of the circuit used to measure the resistance of the Flexiforce sensor Bachelor Final Project Accessing sensors for control of a humanoid robot 15 Figure 3 3 Flexiforce voltage divider Here the voltage drop over the resistor R is measured because this circuit works as a voltage divider one can use the voltage drop over the reference resistor to determine the resistance of the sensor and thus the force applied to the sensor 3 2 Theoretical model of the sensor According to the schematic in fig 3 3 it s possible to express the voltage drop Here R is a reference resistor over which the voltage drop is measured and R is the resistance of the Flexiforce sensor J5 to J8 in the figure Since the force applied to the sensors surface should be linear to its conductance 1 R according to the manufacturer 2 see fig 3 4 it is possible to calculate the force present on the sensor if voltage drop over the reference resistor is know Resistance Conductance Force Figure 3 4 Conductance amp Resistance Bachelor Final Project Accessing sensors for control of a humanoid robot 16 The formulae above give the relation between the force on the sensor and the corresponding output voltage It is possible to rewrite these so that the force is expressed as a function of the output voltage The value of alpha can be obtained experimentally by fitting this model to a set of measurement data obtai

Download Pdf Manuals

image

Related Search

Related Contents

Instructions for ALL worksheets  Tiller ENES SV5C400788  Bogen CAM8 Musical Instrument User Manual  Livre du professeur métiers de la mer  D KERN HFM - KERN & SOHN  HP StorageWorks 700ux (aa962a)  Descargar  Installation: Industrial ETHERNET Switch MICE MS20 - e  Motorola 3.1.3 Network Router User Manual  Für DM-5 - Olympus  

Copyright © All rights reserved.
Failed to retrieve file