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

ergoCubSN000 - new conf folder #343

Merged
merged 2 commits into from
Mar 2, 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 @@ -68,4 +68,5 @@
<xi:include href="./iCubZagreb01/icub_all.xml" />
<xi:include href="./iCubPrague01/icub_all.xml" />
<xi:include href="./iCubValparaiso01/icub_all.xml" />
<xi:include href="./ergoCubSN000/ergocub_all.xml" />
</robot_database >
15 changes: 15 additions & 0 deletions ergoCubSN000/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
set(appname ergoCubSN000)

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 estimators 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 sensors DESTINATION ${ICUBCONTRIB_ROBOTS_INSTALL_DIR}/${appname})
yarp_install(DIRECTORY telemetry DESTINATION ${ICUBCONTRIB_ROBOTS_INSTALL_DIR}/${appname})
61 changes: 61 additions & 0 deletions ergoCubSN000/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"> -2800 </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_remapper</param>
</action>

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

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

</device>

52 changes: 52 additions & 0 deletions ergoCubSN000/calibrators/head-calib.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<?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 -->
<group name="CALIBRATION">
<param name="calibrationType"> 12 12 12 12 5 5 </param>
<param name="calibration1"> 19567 53471 4175 770 2000 2000 </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 0.0 0.0 0.0 </param>
<param name="calibrationDelta"> 0.0 0.0 0.0 0.0 0.0 6.5 </param>

<param name="startupPosition"> 0.0 0.0 0.0 0.0 0.0 0.0 </param>
<param name="startupVelocity"> 10 10 20.0 20.0 20.0 20.0 </param>
<param name="startupMaxPwm"> 1000 1000 1000 1000 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_remapper</param>
</action>

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

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

</device>

50 changes: 50 additions & 0 deletions ergoCubSN000/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>

<group name="HOME">
<param name="positionHome"> 5 30 0 10 0 0 0 35 15 65 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"> -54795 22399 44679 53215 -1500 -8335 10671 0 0 0 0 0 0 0 0 0 </param> -->
<param name="calibration1"> -54795 19668 44679 53215 -1500 -8335 10671 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 2045 448 240 484 243 483 255 480 725 </param>
<param name="calibration5"> 0 0 0 0 0 0 0 2140 2712 0 9 15 8 20 45 125 </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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 </param>

<param name="startupPosition"> -35 30 0 45 0 0 0 25 45 0 0 0 0 0 0 0 </param>
<param name="startupVelocity"> 10.0 10.0 10.0 10.0 30 30 30 60 100 100 100 100 100 100 100 100 </param>
<param name="startupMaxPwm"> 8000 8000 8000 8000 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"> (1) (0) (2) (3) (4) (5 6) (7) (8 9) (11 13) (10 12 14 15)</param> <!-- removed joint 14 -->
<!-- <param name="CALIB_ORDER">(1) (0) (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_remapper</param>
</action>

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

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

</device>



46 changes: 46 additions & 0 deletions ergoCubSN000/calibrators/left_leg-calib.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?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 5.00 0.00 -5.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"> 10 10 10 10 10 10 </param>
<param name="calibration1"> -4500 4500 -2500 -4000 2500 -2000 </param>
<param name="calibration2"> 0.0 0.0 0 0 0 0 </param>
<param name="calibration3"> 0.0 0.0 0 0 0 0 </param>
<param name="calibration4"> 0.0 0.0 0 0 0 0 </param>
<param name="calibration5"> 0.0 0.0 0 0 0 0 </param>
<param name="calibrationZero"> 93.0 119.90 80.761 5.817 -47.060 25.823 </param>
<param name="calibrationDelta"> 0 0 0 0 0 0 </param>

<param name="startupPosition"> 90 20 0 -70 0 0 </param>
<param name="startupVelocity"> 10.0 10.0 10.0 10 10 10 </param>
<param name="startupMaxPwm"> 12000 8000 3000 8000 4000 3000 </param>
<param name="startupPosThreshold"> 2 2 2 2 2 2 </param>
</group>

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

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

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

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

</device>
49 changes: 49 additions & 0 deletions ergoCubSN000/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"> 5 30 0 10 0 0 0 35 15 65 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"> 6576 -12866 -4585 -47529 1500 36903 -12703 0 0 0 0 0 0 0 0 0 </param> -->
<param name="calibration1"> 6576 -12912 -883 -47529 1500 36903 -12703 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 2510 1470 255 510 255 510 200 510 748 </param>
<param name="calibration5"> 0 0 0 0 0 0 0 2670 2350 22 40 18 30 10 30 120 </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 0 -5.8 0 0 -5.5 -4 10 0 0 0 0 0 0 0 0 </param>

<param name="startupPosition"> -35 30 0 45 0 0 15 25 45 10 0 0 0 0 0 0 </param>
<param name="startupVelocity"> 10.0 10.0 10.0 10.0 30 30 30 60 100 100 100 100 100 100 100 100 </param>
<param name="startupMaxPwm"> 8000 8000 8000 8000 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"> (1) (0) (2) (3) (4) (5 6) (7) (8 9) (11 13) (10 12 14 15) </param-->
<param name="CALIB_ORDER"> (1) (0) (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_remapper</param>
</action>

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

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

</device>

Loading