Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add iCubGenova11 #399

Merged
merged 8 commits into from
Dec 12, 2022
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
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