-
Notifications
You must be signed in to change notification settings - Fork 196
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
ControlBoardCouplingHandler: a device for publishing phyisical joints quantities in under-actuated system #3085
Conversation
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would update the release notes by adding a file in |
src/devices/controlBoardCouplingHandler/ControlBoardCouplingHandler.h
Outdated
Show resolved
Hide resolved
src/devices/controlBoardCouplingHandler/ControlBoardCouplingHandler.h
Outdated
Show resolved
Hide resolved
Name is ok for me. IEncodersTimed and IAxisInfo interfaces are ok. For the implementation, remember to use the new parser generator #3081, I'm already going to replace all manual implementation in all devices in yarp 3.10 #3084 |
My idea was to get the actuated axis quantities via the private attributes interfaces and perform the transformations for getting the physical joints quantities (positions, velocities, accelerations) but I am open to other possibilities |
Hi @randaz81, I was trying to use this nice new feature, but if I got it correctly it does support only these types of params:
How can we handle the vector/lists ? I generated the parser and then I change by hand using the vectors/lists? cc @elandini84 |
Ah ok the vectors will be added in: See: |
1ebd2f3
to
16a76f7
Compare
An important update on this, I managed to finish the first working version of In the end I sorted out that this device just needs the
Here are the xml files I used for testing on ergoCub hand V1_1 (in simulation) <?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_hand-coupling_handler" type="controlBoardCouplingHandler">
<param name="coupling_device"> couplingXCubHandMk5 </param>
<param name="jointNames"> l_thumb_add l_thumb_prox l_thumb_dist l_index_add l_index_prox l_index_dist l_middle_prox l_middle_dist l_ring_prox l_ring_dist l_pinkie_prox l_pinkie_dist </param>
<group name="LIMITS">
<param name="jntVelMax"> 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 </param>
<param name="jntPosMax"> 100.0 90.0 101.4 15.0 90.0 103.1 90.0 103.1 90.0 103.1 90.0 98.7 </param>
<param name="jntPosMin"> -100.0 -90.0 -101.4 -15.0 -90.0 -103.1 -90.0 -103.1 -90.0 -103.1 -90.0 -98.7 </param>
</group>
<group name="COUPLING">
<param name="actuatedAxesNames"> l_thumb_add l_thumb_oc l_index_add l_index_oc l_middle_oc l_ring_pinky_oc </param>
<param name="actuatedAxesPosMin"> 0.0 0.0 0.0 0.0 0.0 0.0 </param>
<param name="actuatedAxesPosMax"> 100.0 90.0 15.0 90.0 90.0 90.0 </param>
</group>
<group name="COUPLING_PARAMS">
<param name="L0x"> -0.0050 -0.0050 -0.0050 -0.0050 -0.0050 </param>
<param name="L0y"> 0.0040 0.0040 0.0040 0.0040 0.0040 </param>
<param name="q2bias"> -173.35 -173.35 -173.35 -173.35 -170.53 </param>
<param name="q1off"> 2.45 2.15 2.15 2.15 2.46 </param>
<param name="k"> 0.03415 0.03913 0.03913 0.03913 0.03418 </param>
<param name="d"> 0.03503 0.04003 0.04003 0.04003 0.03503 </param>
<param name="l"> 0.00604 0.00604 0.00604 0.00604 0.00608 </param>
<param name="b"> 0.00640 0.00640 0.00640 0.00640 0.00640 </param>
</group>
<action phase="startup" level="10" type="attach">
<param name="device"> left_hand_hardware_device </param>
</action>
<action phase="shutdown" level="15" type="detach" />
</device>
<?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_hand-mc_nws_yarp" type="controlBoard_nws_yarp">
<param name="name"> ${portprefix}/left_hand </param>
<param name="period">0.01</param>
<action phase="startup" level="10" type="attach">
<param name="device"> left_hand-coupling_handler </param>
</action>
<action phase="shutdown" level="15" type="detach" />
</device>
fyi @PeterBowman @mebbaid @traversaro @randaz81 @maggia80 @pattacini @PasMarra @martinaxgloria |
|
To all readers, please note that the example .xml shown in #3085 (comment) is using a deprecated format and it should not be considered a good example to take inspiration from. All lists of parameters MUST be always parenthisized i.e.: THIS IS AN INVALID LINE: the old format is currently supported because of yarp bug which might be fixed in a future release! In this specific example, |
f3ee24a
to
f74bfe6
Compare
This is a first draft of the device that will expose the publishing phyisical joints quantities in under-actuated system using the new
IJointCoupling
interface.This PR is super draft, it just compiles, I opened the PR for agreeing w/ @traversaro @randaz81 @elandini84 on:
Please ignore both the
test
folder (that has been copied fromcontrolBoardRemapper
) and the implementation in the .cpp, I will write it once we agree on the points above.cc @pattacini