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
1 change: 1 addition & 0 deletions all_robots.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,5 @@
<xi:include href="./iCubGenova08/icub_all.xml" />
<xi:include href="./iCubWaterloo01/icub_all.xml" />
<xi:include href="./iCubZagreb01/icub_all.xml" />
<xi:include href="./iCubPrague01/icub_all.xml" />
</robot_database >
13 changes: 13 additions & 0 deletions iCubPrague01/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
set(appname iCubPrague01)

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})
64 changes: 64 additions & 0 deletions iCubPrague01/calib_all_joints.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?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="iCubPrague01" portprefix="icub" build="1">

<devices>

<!-- HEAD -->
<xi:include href="./hardware/motorControl/head-eb20-j0_1-mc.xml" />
<xi:include href="./hardware/motorControl/head-eb21-j2_5-mc.xml" />
<xi:include href="./wrappers/motorControl/head-mc_wrapper.xml" />

<!-- FACE -->
<xi:include href="./hardware/motorControl/face-eb22-j0-mc.xml" />
<xi:include href="./wrappers/motorControl/face-mc_wrapper.xml" />

<!-- 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" />

<!-- ANALOG SENSOR MAIS -->
<xi:include href="wrappers/MAIS/left_arm-mais_wrapper.xml" />
<xi:include href="wrappers/MAIS/right_arm-mais_wrapper.xml" />
<xi:include href="hardware/MAIS/left_arm-eb26-j12_15-mais.xml" />
<xi:include href="hardware/MAIS/right_arm-eb29-j12_15-mais.xml" />


<!-- TORSO -->
<xi:include href="hardware/motorControl/torso-eb5-j0_2-mc.xml" />
<xi:include href="wrappers/motorControl/torso-mc_wrapper.xml" />


<!-- LEFT LEG -->
<xi:include href="hardware/motorControl/left_leg-eb6-j0_3-mc.xml" />
<xi:include href="hardware/motorControl/left_leg-eb7-j4_5-mc.xml" />
<xi:include href="wrappers/motorControl/left_leg-mc_wrapper.xml" />

<!-- RIGHT LEG -->
<xi:include href="hardware/motorControl/right_leg-eb8-j0_3-mc.xml" />
<xi:include href="hardware/motorControl/right_leg-eb9-j4_5-mc.xml" />
<xi:include href="wrappers/motorControl/right_leg-mc_wrapper.xml" />


<!-- CALIBRATORS -->
<xi:include href="calibrators/left_arm-calib.xml" />
<xi:include href="calibrators/right_arm-calib.xml" />
<xi:include href="calibrators/head-calib.xml" />
<xi:include href="calibrators/left_leg-calib.xml" />
<xi:include href="calibrators/right_leg-calib.xml" />
<xi:include href="calibrators/torso-calib.xml" />
<xi:include href="calibrators/face-calib.xml" />

</devices>
</robot>
25 changes: 25 additions & 0 deletions iCubPrague01/calib_head.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?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="iCubPrague01" build="1">

<params>
<xi:include href="hardware/electronics/pc104.xml" />
</params>

<devices>

<!-- HEAD -->
<xi:include href="./hardware/motorControl/head-eb20-j0_1-mc.xml" />
<xi:include href="./hardware/motorControl/head-eb21-j2_5-mc.xml" />
<xi:include href="./wrappers/motorControl/head-mc_wrapper.xml" />

<!-- FACE -->
<xi:include href="./hardware/motorControl/face-eb22-j0-mc.xml" />
<xi:include href="./wrappers/motorControl/face-mc_wrapper.xml" />


<xi:include href="calibrators/head-calib.xml" />
<xi:include href="calibrators/face-calib.xml" />
</devices>
</robot>
34 changes: 34 additions & 0 deletions iCubPrague01/calib_lowerbody.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?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="iCubPrague01" portprefix="icub" build="1">
<params>
<xi:include href="hardware/electronics/pc104.xml" />
</params>

<devices>


<!-- TORSO -->
<xi:include href="hardware/motorControl/torso-eb5-j0_2-mc.xml" />
<xi:include href="wrappers/motorControl/torso-mc_wrapper.xml" />


<!-- LEFT LEG -->
<xi:include href="hardware/motorControl/left_leg-eb6-j0_3-mc.xml" />
<xi:include href="hardware/motorControl/left_leg-eb7-j4_5-mc.xml" />
<xi:include href="wrappers/motorControl/left_leg-mc_wrapper.xml" />

<!-- RIGHT LEG -->
<xi:include href="hardware/motorControl/right_leg-eb8-j0_3-mc.xml" />
<xi:include href="hardware/motorControl/right_leg-eb9-j4_5-mc.xml" />
<xi:include href="wrappers/motorControl/right_leg-mc_wrapper.xml" />


<!-- CALIBRATORS -->
<xi:include href="calibrators/left_leg-calib.xml" />
<xi:include href="calibrators/right_leg-calib.xml" />
<xi:include href="calibrators/torso-calib.xml" />

</devices>
</robot>
22 changes: 22 additions & 0 deletions iCubPrague01/calib_torso.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?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="iCubPrague01" portprefix="icub" build="1">
<params>
<xi:include href="hardware/electronics/pc104.xml" />
</params>

<devices>


<!-- TORSO -->
<xi:include href="hardware/motorControl/torso-eb5-j0_2-mc.xml" />
<xi:include href="wrappers/motorControl/torso-mc_wrapper.xml" />



<!-- CALIBRATORS -->
<xi:include href="calibrators/torso-calib.xml" />

</devices>
</robot>
48 changes: 48 additions & 0 deletions iCubPrague01/calib_upperbody.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?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="iCubPrague01" portprefix="icub" build="1">
<params>
<xi:include href="hardware/electronics/pc104.xml" />
</params>

<devices>


<!-- HEAD -->
<xi:include href="./hardware/motorControl/head-eb20-j0_1-mc.xml" />
<xi:include href="./hardware/motorControl/head-eb21-j2_5-mc.xml" />
<xi:include href="./wrappers/motorControl/head-mc_wrapper.xml" />

<!-- FACE -->
<xi:include href="./hardware/motorControl/face-eb22-j0-mc.xml" />
<xi:include href="./wrappers/motorControl/face-mc_wrapper.xml" />

<!-- 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" />

<!-- ANALOG SENSOR MAIS -->
<xi:include href="wrappers/MAIS/left_arm-mais_wrapper.xml" />
<xi:include href="wrappers/MAIS/right_arm-mais_wrapper.xml" />
<xi:include href="hardware/MAIS/left_arm-eb26-j12_15-mais.xml" />
<xi:include href="hardware/MAIS/right_arm-eb29-j12_15-mais.xml" />

<!-- CALIBRATORS -->
<xi:include href="calibrators/left_arm-calib.xml" />
<xi:include href="calibrators/right_arm-calib.xml" />
<xi:include href="calibrators/head-calib.xml" />
<xi:include href="calibrators/face-calib.xml" />

</devices>
</robot>
61 changes: 61 additions & 0 deletions iCubPrague01/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"> 282 </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 iCubPrague01/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"> 64975 45999 13119 47103 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 -3.6 -3.6 </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>

50 changes: 50 additions & 0 deletions iCubPrague01/calibrators/left_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="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"> 42767 4880 32415 58031 -1500 37087 45583 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 2500 670 251 474 236 486 255 464 748 </param>
<param name="calibration5"> 0 0 0 0 0 0 0 2860 4312 0 0 0 37 9 2 90 </param>
<param name="calibrationZero"> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 </param>
<param name="calibrationDelta"> -3.13 5.29 -8.28 -1.75 0 0 0 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>



Loading