Skip to content

Commit

Permalink
Add iCubGenova11 (#399)
Browse files Browse the repository at this point in the history
Co-authored-by: icub <icub@iit.it>
Co-authored-by: Ugo Pattacini <ugo.pattacini@iit.it>
  • Loading branch information
3 people authored Dec 12, 2022
1 parent 175f3d4 commit 8d51951
Show file tree
Hide file tree
Showing 201 changed files with 9,777 additions and 0 deletions.
1 change: 1 addition & 0 deletions all_robots.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
<xi:include href="./iCubGenova08/icub_all.xml" />
<xi:include href="./iCubGenova09/icub_all.xml" />
<xi:include href="./iCubGenova10/icub_all.xml" />
<xi:include href="./iCubGenova11/icub_all.xml" />
<xi:include href="./iCubWaterloo01/icub_all.xml" />
<xi:include href="./iCubZagreb01/icub_all.xml" />
<xi:include href="./iCubPrague01/icub_all.xml" />
Expand Down
13 changes: 13 additions & 0 deletions iCubGenova11/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
set(appname iCubGenova11)

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})
61 changes: 61 additions & 0 deletions iCubGenova11/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"> -3110 </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 iCubGenova11/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"> 52543 64079 33231 52175 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"> 0 0 0 0 -6 0 </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 iCubGenova11/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"> 58559 22639 48830 51983 -1500 450 11679 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 3170 1780 255 511 255 491 255 494 900 </param>
<param name="calibration5"> 0 0 0 0 0 0 0 3295 3000 0 18 0 18 0 11 210 </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 -8.601 -10.521 -2.7 0 0 0 0 0 0 0 0 0 0 0 0 </param>

<param name="startupPosition"> -35 30 0 50 0 0 0 40 50 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"> 3000 3000 3000 3000 3000 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>
<!-- <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 iCubGenova11/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"> 38495 51327 24111 -50223 -37320 38287 </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 0 0 0 0 0 </param>


<param name="startupPosition"> 0 10 0 0 0 0 </param>
<param name="startupVelocity"> 5 5 10 10 10 10 </param>
<param name="startupMaxPwm"> 2500 2500 2500 2500 2500 2500 </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>

50 changes: 50 additions & 0 deletions iCubGenova11/calibrators/right_arm-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="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"> 35535 33135 24960 25983 1500 11700 55950 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 2640 2880 241 475 255 510 255 510 900 </param>
<param name="calibration5"> 0 0 0 0 0 0 0 2870 3450 40 6 0 23 0 0 197 </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 -8.601 -8.281 0 0 0 0 0 0 0 0 0 0 0 0 0 </param>

<param name="startupPosition"> -35 30 0 50 0 0 0 40 50 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"> 3000 3000 3000 3000 3000 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>
<!-- <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

0 comments on commit 8d51951

Please sign in to comment.