|
| 1 | +<?xml version="1.0" encoding="UTF-8" ?> |
| 2 | +<!DOCTYPE devices PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd"> |
| 3 | + |
| 4 | + |
| 5 | + <device xmlns:xi="http://www.w3.org/2001/XInclude" name="face-calibrator" type="parametricCalibratorEth"> |
| 6 | + |
| 7 | + <xi:include href="../general.xml" /> |
| 8 | + |
| 9 | + <group name="GENERAL"> |
| 10 | + <param name="joints"> 1 </param> <!-- the number of joints of the robot part --> |
| 11 | + <param name="deviceName"> FaceV3_Calibrator </param> <!-- this name is used for high-level debug --> |
| 12 | + </group> |
| 13 | + |
| 14 | + <group name="HOME"> |
| 15 | + <param name="positionHome"> 0 </param> |
| 16 | + <param name="velocityHome"> 10 </param> |
| 17 | + </group> |
| 18 | + |
| 19 | + <!-- joint logical number 0 --> |
| 20 | + <!-- joint name eyelids --> |
| 21 | + <group name="CALIBRATION"> |
| 22 | + <param name="calibrationType"> 12 </param> |
| 23 | + <!-- The value of the raw encoder needs to be with sign --> |
| 24 | + <param name="calibration1"> -3110 </param> |
| 25 | + <param name="calibration2"> 0 </param> |
| 26 | + <param name="calibration3"> 0 </param> |
| 27 | + |
| 28 | + <param name="calibration4"> 0 </param> |
| 29 | + <param name="calibration5"> 0 </param> |
| 30 | + |
| 31 | + <param name="calibrationZero"> 0 </param> |
| 32 | + <param name="calibrationDelta"> 0 </param> |
| 33 | + |
| 34 | + <param name="startupPosition"> 0 </param> |
| 35 | + <param name="startupVelocity"> 10 </param> |
| 36 | + <param name="startupMaxPwm"> 3360 </param> |
| 37 | + <param name="startupPosThreshold"> 90 </param> |
| 38 | + </group> |
| 39 | + |
| 40 | + <!-- calibration of eyelids where Gearbox_E2J is != 1: |
| 41 | + 1. in general.xml we set useRawEncoderData = true [as for any type3 calib]. |
| 42 | + 2. retrieve the encoder reading of joint placed in zero position [as for any type3 calib]. |
| 43 | + 3. for computation of calibration3 param use the standard excel formula [as for any type3 calib]. |
| 44 | + 4. for calibrationZero (and VERY IMPORTANT: value of zero in execl formula) use a correction factor of 1/Gearbox_E2J. |
| 45 | + As an example, to move away from zero crossing use zero = (+/-) 180 / Gearbox_E2J, where the sign is the same as the encoder reading. |
| 46 | +
|
| 47 | + --> |
| 48 | + <param name="CALIB_ORDER"> (0) </param> <!-- we can calibrate all joints in parallel (for now not the jaw yet)--> |
| 49 | + |
| 50 | + <action phase="startup" level="10" type="calibrate"> |
| 51 | + <param name="target">face-mc_wrapper</param> |
| 52 | + </action> |
| 53 | + |
| 54 | + <action phase="interrupt1" level="1" type="park"> |
| 55 | + <param name="target">face-mc_wrapper</param> |
| 56 | + </action> |
| 57 | + |
| 58 | + <action phase="interrupt3" level="1" type="abort" /> |
| 59 | + |
| 60 | + </device> |
| 61 | + |
0 commit comments