Closed osrf-migration closed 9 years ago
Original comment by Jackie K (Bitbucket: jacquelinekay).
Under review
Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).
According to conversation with JHU, transmission v2 is defined below:
If motor angle < 10
MCP angle = motor angle
PIP angle = 0
DIP angle = 0
Else
MCP angle = (motor angle – 10) * 90/(118-10)
PIP angle = (MCP angle – 10) * 69/(90-10)
DIP angle = (MCP angle – 10) * 67/(90-10)
End
Second block can be written as functions of motor angle only as
MCP angle = (motor angle – 10) * 90/(118-10)
PIP angle = (motor angle – 10 – 10*(118-10)/90) * 69/(90-10)*90/(118-10)
DIP angle = (motor angle – 10 – 10*(118-10)/90) * 67/(90-10)*90/(118-10)
However, to prevent MCP, PIP and DIP angle jump around motor angle of 10 deg, maybe the correct formulation should have been:
If motor angle < 10
MCP angle = motor angle
PIP angle = 0
DIP angle = 0
Else
MCP angle = (motor angle – 10) * 90/(118-10) + 10
PIP angle = (MCP angle – 10) * 69/(90-10)
DIP angle = (MCP angle – 10) * 67/(90-10)
End
Based on above, a 2 stage transmission is proposed.
Example transmission:
<motor id="3" name="motor_a">
<powered_motor_joint>joint_33</powered_motor_joint>
<gear_ratio>399.0</gear_ratio>
<!-- per JHU requirements, transmission is applied in 2 stages,
for powered motor joint angle less than minimum of all gearbox offsets,
multiplier1 is used. Otherwise multiplier2 is used.
For example:
minOffset = min(0.15, 0.25) = 0.15
if (joint_33 < minOffset)
joint_55 = 100.0 * joint_33
joint_66 = 0.0 * joint_33
else
joint_55 = 1.5 * (joint_33 - minOffset)
+ 100.0 * minOffset
joint_66 = 10.5 * (joint_33 - minOffset)
+ 0.0 * minOffset
-->
<gearbox>
<joint>joint_55</joint>
<offset>0.15</offset>
<multiplier1>100.0</multiplier1>
<multiplier2>1.5</multiplier2>
</gearbox>
<gearbox>
<joint>joint_66</joint>
<offset>0.25</offset>
<multiplier1>0.0</multiplier1>
<multiplier2>10.5</multiplier2>
</gearbox>
</motor>
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).
Original comment by Jackie K (Bitbucket: jacquelinekay).
Original report (archived issue) by John Hsu (Bitbucket: hsu, GitHub: hsu).
pull request #85