Skip to content

Commit c5818cb

Browse files
authored
Full configuration file for test bench arm setup calib type6 FAP (#449)
1 parent ff21f2c commit c5818cb

File tree

16 files changed

+594
-0
lines changed

16 files changed

+594
-0
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<!DOCTYPE devices PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">
3+
4+
5+
<device xmlns:xi="http://www.w3.org/2001/XInclude" name="left_arm-calibrator" type="parametricCalibratorEth">
6+
<xi:include href="../general.xml" />
7+
8+
<group name="GENERAL">
9+
<param name="joints">3</param> <!-- the number of joints of the robot part -->
10+
<param name="deviceName"> Left_Arm_Calibrator </param>
11+
</group>
12+
13+
14+
<group name="HOME">
15+
<param name="positionHome"> 30.00 30.00 30.00 </param>
16+
<param name="velocityHome"> 40.00 40.00 40.00 </param>
17+
</group>
18+
19+
<!-- For calibration type 6 the calibration values define what follows:
20+
calibration1: not used - keep at 0
21+
calibration2: speed during calibration in icubdeg/s
22+
calibration3: 1 or -1 depending if set as target vmax or vmin, respectively
23+
calibration4: vmin
24+
calibration5: vmax in icubdegree -> icubdeg = deg * (2^16 / 360)
25+
-->
26+
<group name="CALIBRATION">
27+
<param name="calibrationType"> 6 6 6 </param>
28+
<param name="calibration1"> 0 0 0 </param>
29+
<param name="calibration2"> 9102 9102 9102 </param>
30+
<param name="calibration3"> 1 1 1 </param>
31+
<param name="calibration4"> 0 0 0 </param>
32+
<param name="calibration5"> 11833 14564 14564 </param>
33+
<param name="calibrationZero"> 0 0 0 </param>
34+
<param name="calibrationDelta"> 0 0 0 </param>
35+
<param name="startupPosition"> 0.0 0.0 0.0 </param>
36+
<param name="startupVelocity"> 0.0 0.0 0.0 </param>
37+
<param name="startupMaxPwm"> 0 0 0 </param>
38+
<param name="startupPosThreshold"> 0 0 0 </param>
39+
</group>
40+
41+
<!-- motor's encoder of joint 7 can't read -->
42+
<param name="CALIB_ORDER"> (2) (1) (0)</param>
43+
44+
<action phase="startup" level="10" type="calibrate">
45+
<param name="target">left_arm-mc_remapper</param>
46+
</action>
47+
48+
<action phase="interrupt1" level="1" type="park">
49+
<param name="target">left_arm-mc_remapper</param>
50+
</action>
51+
52+
<action phase="interrupt3" level="1" type="abort" />
53+
54+
</device>
55+
56+
57+
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[DRIVERS]
2+
ETH "eth"
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<!DOCTYPE params PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">
3+
4+
<params xmlns:xi="http://www.w3.org/2001/XInclude" robot="ergoCubSN000" build="1">
5+
6+
<group name="GENERAL">
7+
<param name="skipCalibration"> true </param>
8+
<param name="useRawEncoderData"> false </param>
9+
<param name="useLimitedPWM"> false </param>
10+
<param name="verbose"> false </param>
11+
</group>
12+
</params>
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<!DOCTYPE devices PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">
3+
4+
<device xmlns:xi="http://www.w3.org/2001/XInclude" name="left_hand-pos4" type="embObjPOS">
5+
<xi:include href="../../general.xml" />
6+
<xi:include href="../../hardware/electronics/left_arm-eb23-j7_10-eln.xml" />
7+
8+
<group name="SERVICE">
9+
10+
<param name="type"> eomn_serv_AS_pos </param>
11+
12+
<group name="PROPERTIES">
13+
14+
<group name="CANBOARDS">
15+
<param name="type"> eobrd_mtb4fap </param>
16+
17+
<group name="PROTOCOL">
18+
<param name="major"> 2 </param>
19+
<param name="minor"> 0 </param>
20+
</group>
21+
<group name="FIRMWARE">
22+
<param name="major"> 1 </param>
23+
<param name="minor"> 1 </param>
24+
<param name="build"> 0 </param>
25+
</group>
26+
</group>
27+
28+
<group name="SENSORS">
29+
30+
<param name="location"> CAN1:2 CAN1:2 CAN1:2 </param>
31+
32+
<!-- common to all analog services -->
33+
<param name="id"> id_fapAA id_fapBB id_fapCC </param>
34+
<param name="type"> eoas_pos_angle eoas_pos_angle eoas_pos_angle </param>
35+
<param name="port"> POS:hand_thumb_oc POS:hand_index_oc POS:hand_middle_oc </param> <!-- According to convention, the full order is: POS:hand_thumb_oc POS:hand_index_oc POS:hand_middle_oc POS:hand_ring_pinky_oc -->
36+
37+
<param name="boardType"> mtb4fap mtb4fap mtb4fap </param>
38+
<param name="connector"> CONN:J3_SDA3 CONN:J3_SDA1 CONN:J3_SDA2 </param> <!-- J2 does not work because of sw bug even if it is compliant with the serigraphy, keep J3-->
39+
40+
<group name="CALIBRATION">
41+
<!-- it is not mandatory. if not present, sensors have defaults: TYPE:decideg, ROT:zero, 0.0, false -->
42+
<param name="type"> TYPE:decideg TYPE:decideg TYPE:decideg </param>
43+
<param name="rotation"> ROT:zero ROT:zero ROT:plus180 </param>
44+
<param name="offset"> 0 -166.2 -124.7 </param>
45+
<param name="invertDirection"> false false false </param>
46+
</group>
47+
48+
</group>
49+
50+
</group>
51+
52+
<group name="SETTINGS">
53+
<param name="acquisitionRate"> 50 </param> <!-- milliseconds -->
54+
<param name="enabledSensors"> id_fapAA id_fapBB id_fapCC</param>
55+
</group>
56+
57+
</group>
58+
59+
</device>
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<!DOCTYPE params PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">
3+
4+
<params xmlns:xi="http://www.w3.org/2001/XInclude" robot="ergoCubSN000" build="1">
5+
6+
<xi:include href="./pc104.xml" />
7+
8+
<group name="ETH_BOARD">
9+
10+
<group name="ETH_BOARD_PROPERTIES">
11+
<param name="IpAddress"> 10.0.1.1 </param>
12+
<param name="IpPort"> 12345 </param>
13+
<param name="Type"> mc4plus </param>
14+
<param name="maxSizeRXpacket"> 768 </param>
15+
<param name="maxSizeROP"> 384 </param>
16+
</group>
17+
18+
<group name="ETH_BOARD_SETTINGS">
19+
<param name="Name"> "left_arm-eb23-j7_10" </param>
20+
<group name="RUNNINGMODE">
21+
<param name="period"> 1000 </param>
22+
<param name="maxTimeOfRXactivity"> 400 </param>
23+
<param name="maxTimeOfDOactivity"> 300 </param>
24+
<param name="maxTimeOfTXactivity"> 300 </param>
25+
<param name="TXrateOfRegularROPs"> 5 </param>
26+
</group>
27+
</group>
28+
29+
<group name="ETH_BOARD_ACTIONS">
30+
<group name="MONITOR_ITS_PRESENCE">
31+
<param name="enabled"> true </param>
32+
<param name="timeout"> 0.020 </param>
33+
<param name="periodOfMissingReport"> 60.0 </param>
34+
</group>
35+
</group>
36+
37+
</group>
38+
39+
</params>
40+
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<!DOCTYPE params PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">
3+
4+
<params xmlns:xi="http://www.w3.org/2001/XInclude" robot="ergoCubSN000" build="1">
5+
6+
<group name="PC104">
7+
<param name="PC104IpAddress"> 10.0.1.104 </param>
8+
<param name="PC104IpPort"> 12345 </param>
9+
<param name="PC104TXrate"> 1 </param>
10+
<param name="PC104RXrate"> 5 </param>
11+
</group>
12+
13+
<group name="DEBUG">
14+
<param name="embBoardsConnected"> 1 </param>
15+
</group>
16+
17+
</params>
18+
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<!DOCTYPE params PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">
3+
4+
<params xmlns:xi="http://www.w3.org/2001/XInclude" robot="ergoCubSN000" build="1">
5+
<group name="GENERAL">
6+
<param name="MotioncontrolVersion"> 6 </param>
7+
<param name="Joints"> 3 </param>
8+
9+
<!-- joint number in sub-part 0 1 2 3 -->
10+
<!-- joint name -->
11+
<param name="AxisMap"> 0 1 2 </param>
12+
<param name="AxisName"> "l_thumb_oc" "l_index_oc" "l_middle_oc" </param>
13+
<param name="AxisType"> "revolute" "revolute" "revolute" </param>
14+
<param name="Encoder"> 182.044 182.044 182.044 </param>
15+
<param name="fullscalePWM"> 3360 3360 3360 </param>
16+
<param name="ampsToSensor"> 1000.0 1000.0 1000.0 </param>
17+
<param name="Gearbox_M2J"> 16 159 159 </param> <!-- real value: 159 - await PR to solve this problem -->
18+
<param name="Gearbox_E2J"> 1 1 1 </param>
19+
<param name="useMotorSpeedFbk"> 0 0 0 </param>
20+
<param name="MotorType"> "DC" "DC" "DC" </param>
21+
<!-- NOTE: Keep attention to these details: it should be noted that on this setup encoder on the thumb is not registering the index, encoder on the middle has issue with ticks reading-->
22+
<param name="Verbose"> 0 </param>
23+
</group>
24+
25+
<group name="LIMITS">
26+
<param name="hardwareJntPosMax"> 90 90 90 </param>
27+
<param name="hardwareJntPosMin"> 0 0 0 </param>
28+
<param name="rotorPosMin"> 0 -28000 -2000 </param>
29+
<param name="rotorPosMax"> 0 3500 28000 </param>
30+
</group>
31+
32+
<group name="COUPLINGS">
33+
34+
<param name ="matrixJ2M">
35+
1.000 0.000 0.000 0.000
36+
0.000 1.000 0.000 0.000
37+
0.000 0.000 1.000 0.000
38+
0.000 0.000 0.000 1.000
39+
</param>
40+
41+
<param name ="matrixM2J">
42+
1.000 0.000 0.000 0.000
43+
0.000 1.000 0.000 0.000
44+
0.000 0.000 1.000 0.000
45+
0.000 0.000 0.000 1.000
46+
</param>
47+
48+
<param name ="matrixE2J">
49+
1.000 0.000 0.000 0.000 0.000 0.000
50+
0.000 1.000 0.000 0.000 0.000 0.000
51+
0.000 0.000 1.000 0.000 0.000 0.000
52+
0.000 0.000 0.000 1.000 0.000 0.000
53+
</param>
54+
55+
</group>
56+
57+
<group name="JOINTSET_CFG">
58+
<param name= "numberofsets"> 3 </param>
59+
<group name="JOINTSET_0">
60+
<param name="listofjoints"> 0 </param>
61+
<param name="constraint"> none </param>
62+
<param name="param1"> 0 </param>
63+
<param name="param2"> 0 </param>
64+
</group>
65+
<group name="JOINTSET_1">
66+
<param name="listofjoints"> 1 </param>
67+
<param name="constraint"> none </param>
68+
<param name="param1"> 0 </param>
69+
<param name="param2"> 0 </param>
70+
</group>
71+
<group name="JOINTSET_2">
72+
<param name="listofjoints"> 2 </param>
73+
<param name="constraint"> none </param>
74+
<param name="param1"> 0 </param>
75+
<param name="param2"> 0 </param>
76+
</group>
77+
</group>
78+
79+
</params>
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
<!DOCTYPE devices PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd">
3+
4+
5+
6+
<device xmlns:xi="http://www.w3.org/2001/XInclude" name="left_arm-eb23-j7_10-mc" type="embObjMotionControl">
7+
8+
<xi:include href="../../general.xml" />
9+
<xi:include href="../electronics/left_arm-eb23-j7_10-eln.xml" />
10+
<xi:include href="../mechanicals/left_arm-eb23-j7_10-mec.xml" />
11+
<xi:include href="../motorControl/left_arm-eb23-j7_10-mc_service.xml" />
12+
13+
<!-- joint number 0 1 2 3 -->
14+
<!-- joint name hand_thumb_oc hand_index_oc hand_middle_oc hand_ring_pinky_oc -->
15+
<group name="LIMITS">
16+
<param name="jntPosMin"> 4 4 4 </param>
17+
<param name="jntPosMax"> 72 85 85 </param>
18+
<param name="jntVelMax"> 1000 1000 1000 </param>
19+
<param name="motorOverloadCurrents"> 2000 2000 2000 </param>
20+
<param name="motorNominalCurrents"> 700 700 700 </param>
21+
<param name="motorPeakCurrents"> 1500 1500 1500 </param>
22+
<param name="motorPwmLimit"> 3360 3360 3360 </param>
23+
</group>
24+
25+
<group name="TIMEOUTS">
26+
<param name="velocity"> 100 100 100 </param>
27+
</group>
28+
29+
<group name="IMPEDANCE">
30+
<param name="stiffness"> 0.0 0.0 0.0 </param>
31+
<param name="damping"> 0.0 0.0 0.0 </param>
32+
</group>
33+
34+
<group name="CONTROLS">
35+
<param name="positionControl"> POS_PID_DEFAULT POS_PID_DEFAULT POS_PID_DEFAULT </param>
36+
<param name="velocityControl"> POS_PID_DEFAULT POS_PID_DEFAULT POS_PID_DEFAULT </param>
37+
<param name="mixedControl"> POS_PID_DEFAULT POS_PID_DEFAULT POS_PID_DEFAULT </param>
38+
<param name="torqueControl"> none none none </param>
39+
<param name="currentPid"> none none none </param>
40+
<param name="speedPid"> none none none </param>
41+
</group>
42+
43+
44+
<!-- default position PID: begin -->
45+
46+
<group name="POS_PID_DEFAULT">
47+
<param name="controlLaw"> minjerk </param>
48+
<param name="outputType"> pwm </param>
49+
<param name="fbkControlUnits"> metric_units </param>
50+
<param name="outputControlUnits"> machine_units </param>
51+
<param name="kp"> +30 +30 -30 </param>
52+
<param name="kd"> 0 0 0 </param>
53+
<param name="ki"> +10 +10 -10 </param>
54+
<param name="maxOutput"> 3360 3360 3360 </param>
55+
<param name="maxInt"> 1000 1000 1000 </param>
56+
<param name="stictionUp"> 0 0 0 </param>
57+
<param name="stictionDown"> 0 0 0 </param>
58+
<param name="kff"> 0 0 0 </param>
59+
</group>
60+
61+
<!-- default position PID: end -->
62+
63+
64+
<!-- other default PIDs: begin -->
65+
<!-- other default PIDs: end -->
66+
67+
68+
<!-- custom PIDs: begin -->
69+
<!-- custom PIDs: end -->
70+
71+
</device>
72+
73+
74+

0 commit comments

Comments
 (0)