Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions iCubGenova08/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
set(appname iCubGenova08)

file(GLOB xml ${CMAKE_CURRENT_SOURCE_DIR}/*.xml)
file(GLOB ini ${CMAKE_CURRENT_SOURCE_DIR}/*.ini)

yarp_install(FILES ${xml} DESTINATION ${ICUBCONTRIB_ROBOTS_INSTALL_DIR}/${appname})
yarp_install(FILES ${ini} DESTINATION ${ICUBCONTRIB_ROBOTS_INSTALL_DIR}/${appname})
yarp_install(DIRECTORY calibrators DESTINATION ${ICUBCONTRIB_ROBOTS_INSTALL_DIR}/${appname})
yarp_install(DIRECTORY cartesian DESTINATION ${ICUBCONTRIB_ROBOTS_INSTALL_DIR}/${appname})
yarp_install(DIRECTORY wrappers DESTINATION ${ICUBCONTRIB_ROBOTS_INSTALL_DIR}/${appname})
yarp_install(DIRECTORY hardware DESTINATION ${ICUBCONTRIB_ROBOTS_INSTALL_DIR}/${appname})
yarp_install(DIRECTORY camera DESTINATION ${ICUBCONTRIB_ROBOTS_INSTALL_DIR}/${appname})
yarp_install(DIRECTORY estimators DESTINATION ${ICUBCONTRIB_ROBOTS_INSTALL_DIR}/${appname})
26 changes: 26 additions & 0 deletions iCubGenova08/L_R_arm.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE robot PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">

<robot name="iCubGenova08" build="1">

<devices>

<!-- LEFT ARM -->
<xi:include href="hardware/motorControl/left_arm-eb1-j0_3-mc.xml" />
<xi:include href="hardware/motorControl/left_arm-eb24-j4_7-mc.xml" />
<xi:include href="hardware/motorControl/left_arm-eb25-j8_11-mc.xml" />
<xi:include href="hardware/motorControl/left_arm-eb26-j12_15-mc.xml" />
<xi:include href="wrappers/motorControl/left_arm-mc_wrapper.xml" />

<!-- RIGHT ARM -->
<xi:include href="hardware/motorControl/right_arm-eb3-j0_3-mc.xml" />
<xi:include href="hardware/motorControl/right_arm-eb27-j4_7-mc.xml" />
<xi:include href="hardware/motorControl/right_arm-eb28-j8_11-mc.xml" />
<xi:include href="hardware/motorControl/right_arm-eb29-j12_15-mc.xml" />
<xi:include href="wrappers/motorControl/right_arm-mc_wrapper.xml" />

<!-- CALIBRATORS -->
<xi:include href="calibrators/left_arm-calib.xml" />
<xi:include href="calibrators/right_arm-calib.xml" />
</devices>
</robot>
61 changes: 61 additions & 0 deletions iCubGenova08/calibrators/face-calib.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE devices PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">


<device xmlns:xi="http://www.w3.org/2001/XInclude" name="face-calibrator" type="parametricCalibratorEth">

<xi:include href="../general.xml" />

<group name="GENERAL">
<param name="joints"> 1 </param> <!-- the number of joints of the robot part -->
<param name="deviceName"> FaceV3_Calibrator </param> <!-- this name is used for high-level debug -->
</group>

<group name="HOME">
<param name="positionHome"> 0 </param>
<param name="velocityHome"> 10 </param>
</group>

<!-- joint logical number 0 -->
<!-- joint name eyelids -->
<group name="CALIBRATION">
<param name="calibrationType"> 12 </param>
<!-- The value of the raw encoder needs to be with sign -->
<param name="calibration1"> -2700 </param>
<param name="calibration2"> 0 </param>
<param name="calibration3"> 0 </param>

<param name="calibration4"> 0 </param>
<param name="calibration5"> 0 </param>

<param name="calibrationZero"> 0 </param>
<param name="calibrationDelta"> 0 </param>

<param name="startupPosition"> 0 </param>
<param name="startupVelocity"> 10 </param>
<param name="startupMaxPwm"> 3360 </param>
<param name="startupPosThreshold"> 90 </param>
</group>

<!-- calibration of eyelids where Gearbox_E2J is != 1:
1. in general.xml we set useRawEncoderData = true [as for any type3 calib].
2. retrieve the encoder reading of joint placed in zero position [as for any type3 calib].
3. for computation of calibration3 param use the standard excel formula [as for any type3 calib].
4. for calibrationZero (and VERY IMPORTANT: value of zero in execl formula) use a correction factor of 1/Gearbox_E2J.
As an example, to move away from zero crossing use zero = (+/-) 180 / Gearbox_E2J, where the sign is the same as the encoder reading.

-->
<param name="CALIB_ORDER"> (0) </param> <!-- we can calibrate all joints in parallel (for now not the jaw yet)-->

<action phase="startup" level="10" type="calibrate">
<param name="target">face-mc_wrapper</param>
</action>

<action phase="interrupt1" level="1" type="park">
<param name="target">face-mc_wrapper</param>
</action>

<action phase="interrupt3" level="1" type="abort" />

</device>

50 changes: 50 additions & 0 deletions iCubGenova08/calibrators/head-calib.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE devices PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">


<device xmlns:xi="http://www.w3.org/2001/XInclude" name="head-calibrator" type="parametricCalibratorEth">

<xi:include href="../general.xml" />

<group name="GENERAL">
<param name="joints"> 6 </param> <!-- the number of joints of the robot part -->
<param name="deviceName"> HeadV3_Calibrator </param> <!-- this name is used for high-level debug -->
</group>

<group name="HOME">
<param name="positionHome"> 0 0 0 0 0 0 </param>
<param name="velocityHome"> 10 10 10 10 10 10 </param>
</group>

<!-- joint logical number 0 1 2 3 4 5 -->
<!-- joint name neck-pitch neck-roll neck-yaw eyes-tilt eyes-vers eyes-verg --> <!-- j4 is right-eye, j5 is left-eye -->
<group name="CALIBRATION">
<param name="calibrationType"> 12 12 12 12 5 5 </param>
<param name="calibration1"> 55503 37311 16271 11871 3000 3000 </param>
<param name="calibration2"> 0 0 0 0 8192 8192 </param>
<param name="calibration3"> 0 0 0 0 0 0 </param>
<param name="calibration4"> 0 0 0 0 0 0 </param>
<param name="calibration5"> 0 0 0 0 0 0 </param>
<param name="calibrationZero"> 0 0 0 0 0 0 </param>
<param name="calibrationDelta"> -3.2 0.3 -1.8 -7.8 2.29 -5.885 </param>

<param name="startupPosition"> 0 0 0 0 0 0 </param>
<param name="startupVelocity"> 10 10 20 20 20 20 </param>
<param name="startupMaxPwm"> 3000 3000 3000 3000 0 0 </param>
<param name="startupPosThreshold"> 90 90 2 2 2 2 </param>
</group>

<param name="CALIB_ORDER"> (0 1 2) (3) (4 5) </param>

<action phase="startup" level="10" type="calibrate">
<param name="target">head-mc_wrapper</param>
</action>

<action phase="interrupt1" level="1" type="park">
<param name="target">head-mc_wrapper</param>
</action>

<action phase="interrupt3" level="1" type="abort" />

</device>

49 changes: 49 additions & 0 deletions iCubGenova08/calibrators/left_arm-calib.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE devices PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">


<device xmlns:xi="http://www.w3.org/2001/XInclude" name="left_arm-calibrator" type="parametricCalibratorEth">
<xi:include href="../general.xml" />

<group name="GENERAL">
<param name="joints">16</param> <!-- the number of joints of the robot part -->
<param name="deviceName"> Left_Arm_Calibrator </param>
</group>
<!-- joint logical number 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -->
<group name="HOME">
<param name="positionHome"> -30 30 0 45 0 0 0 35 65 0 0 0 0 0 0 0 </param>
<param name="velocityHome"> 10 10 10 10 30 30 30 60 30 30 30 30 30 30 30 30 </param>
</group>

<group name="CALIBRATION">
<param name="calibrationType"> 12 12 12 12 5 12 12 7 7 6 6 6 6 6 6 6 </param>
<param name="calibration1"> 42367 21119 17775 35999 -1500 385 52879 0 0 0 0 0 0 0 0 0 </param>
<param name="calibration2"> 0 0 0 0 16384 0 0 0 0 9102 9102 9102 9102 9102 9102 10000 </param>
<param name="calibration3"> 0 0 0 0 0 0 0 0 0 -1 1 -1 1 -1 1 1 </param>
<param name="calibration4"> 0 0 0 0 0 0 0 2803 600 247 506 255 493 255 510 750 </param>
<param name="calibration5"> 0 0 0 0 0 0 0 2970 3770 5 7 0 46 40 0 102 </param>
<param name="calibrationZero"> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 </param>
<param name="calibrationDelta"> 0.4 -8.15 -1.56 0.96 0 2.9 -3.4 0 0 0 0 0 0 0 0 0 </param>

<param name="startupPosition"> -35 30 0 50 0 0 0 15 30 0 0 0 0 0 0 0 </param>
<param name="startupVelocity"> 10 10 10 10 30 30 30 100 100 100 100 100 100 100 100 100 </param>
<param name="startupMaxPwm"> 2000 2000 2000 2000 2000 0 0 0 0 0 0 0 0 0 0 0 </param>
<param name="startupPosThreshold"> 2 2 2 2 90 90 90 90 90 90 90 90 90 90 90 90 </param>
</group>

<param name="CALIB_ORDER">(0 1 2 3) (4) (5 6 7) (8 9 11 13) (10 12 14 15) </param>

<action phase="startup" level="10" type="calibrate">
<param name="target">left_arm-mc_wrapper</param>
</action>

<action phase="interrupt1" level="1" type="park">
<param name="target">left_arm-mc_wrapper</param>
</action>

<action phase="interrupt3" level="1" type="abort" />

</device>



50 changes: 50 additions & 0 deletions iCubGenova08/calibrators/left_leg-calib.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE devices PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">


<device xmlns:xi="http://www.w3.org/2001/XInclude" name="left_leg-calibrator" type="parametricCalibratorEth">
<xi:include href="../general.xml" />

<group name="GENERAL">
<param name="joints"> 6 </param> <!-- the number of joints of the robot part -->
<param name="deviceName"> Left_Leg_Calibrator </param>
</group>

<group name="HOME">
<param name="positionHome"> 0.00 10.00 0.00 0.00 0.00 0.00 </param>
<param name="velocityHome"> 10.00 10.00 10.00 10.00 10.00 10.00 </param>
</group>


<group name="CALIBRATION">
<param name="calibrationType"> 12 12 12 12 12 12 </param>
<param name="calibration1"> 223 6239 57663 36031 63375 63535 </param>
<param name="calibration2"> 0 0 0 0 0 0 </param>
<param name="calibration3"> 0 0 0 0 0 0 </param>

<param name="calibration4"> 0 0 0 0 0 0 </param>
<param name="calibration5"> 0 0 0 0 0 0 </param>
<param name="calibrationZero"> 0 0 0 0 0 0 </param>
<param name="calibrationDelta"> -0.5 0.5 -2.3 -1.5 -1 -0.2 </param>


<param name="startupPosition"> 0 5 0 0 0 0 </param>
<param name="startupVelocity"> 5 5 10 10 10 10 </param>
<param name="startupMaxPwm"> 1200 1200 1200 1200 1500 1500 </param>
<param name="startupPosThreshold"> 2 2 2 2 2 2 </param>
</group>

<param name="CALIB_ORDER"> (0 1 2 3 4 5) </param>

<action phase="startup" level="10" type="calibrate">
<param name="target">left_leg-mc_wrapper</param>
</action>

<action phase="interrupt1" level="1" type="park">
<param name="target">left_leg-mc_wrapper</param>
</action>

<action phase="interrupt3" level="1" type="abort" />

</device>

49 changes: 49 additions & 0 deletions iCubGenova08/calibrators/right_arm-calib.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE devices PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">


<device xmlns:xi="http://www.w3.org/2001/XInclude" name="right_arm-calibrator" type="parametricCalibratorEth">
<xi:include href="../general.xml" />

<group name="GENERAL">
<param name="joints">16</param> <!-- the number of joints of the robot part -->
<param name="deviceName"> Right_Arm_Calibrator </param>
</group>
<!-- joint logical number 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -->
<group name="HOME">
<param name="positionHome"> -30 30 0 45 0 0 0 35 65 0 0 0 0 0 0 0 </param>
<param name="velocityHome"> 10 10 10 10 30 30 30 60 30 30 30 30 30 30 30 30 </param>
</group>


<group name="CALIBRATION">
<param name="calibrationType"> 12 12 12 12 5 12 12 7 7 6 6 6 6 6 6 6 </param>
<param name="calibration1"> 15487 35839 24287 31807 1500 59151 57071 0 0 0 0 0 0 0 0 0 </param>
<param name="calibration2"> 0 0 0 0 16384 0 0 0 0 9102 9102 9102 9102 9102 9102 10000 </param>
<param name="calibration3"> 0 0 0 0 0 0 0 0 0 -1 1 -1 1 -1 1 1 </param>
<param name="calibration4"> 0 0 0 0 0 0 0 2770 1030 255 510 255 510 248 510 764 </param>
<param name="calibration5"> 0 0 0 0 0 0 0 3065 3146 29 0 0 11 16 0 150 </param>
<param name="calibrationZero"> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 </param>
<param name="calibrationDelta"> -0.7 -1.47 0 -6.95 0 -4.5 -8.4 0 0 0 0 0 0 0 0 0 </param>

<param name="startupPosition"> -35 30 0 50 0 0 0 25 30 0 0 0 0 0 0 0 </param>
<param name="startupVelocity"> 10 10 10 10 30 30 30 60 100 100 100 100 100 100 100 100 </param>
<param name="startupMaxPwm"> 2000 2000 2000 2000 1500 0 0 0 0 0 0 0 0 0 0 0 </param>
<param name="startupPosThreshold"> 2 2 2 2 90 90 90 90 90 90 90 90 90 90 90 90 </param>
</group>


<param name="CALIB_ORDER">(0 1 2 3) (4) (5 6 7) (8 9 11 13) (10 12 14 15) </param>

<action phase="startup" level="10" type="calibrate">
<param name="target">right_arm-mc_wrapper</param>
</action>

<action phase="interrupt1" level="1" type="park">
<param name="target">right_arm-mc_wrapper</param>
</action>

<action phase="interrupt3" level="1" type="abort" />

</device>

Loading