-
Notifications
You must be signed in to change notification settings - Fork 70
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
adding embObjFTsensor
support to ETH robots using strain2
#287
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot @davidetome 👍🏻
I've removed the pointer to an internal issue.
Could you only better clarify the port name change below by making one example?
Changes in all above new wrapper files the yarp port name (i.e. from /icub//left_leg/analog:o to /icub//left_leg)
Finally, I would ask @traversaro for a review as well.
Also, it's difficult to see from the change list if you have addressed XML template files like those in the folder |
I followed the yarp name format already done in iCubGenova04, w/ the new device the port created will be for example |
No, I modified only robots folders as I understood was required |
Yes please as I bet we will be generating wrong files again in the future if we won't fix them up. |
I modified the The |
The changes proposed with this PR has been successfully tested on iCubGenova09 🤖 @S-Dafarra you may want to give a look at it too. |
@traversaro @S-Dafarra, any objections? |
Unfortunately I can't review until tomorrow. However as long as the old analogServer wrappers are still there (as they are used by wbd) for me it is good to go, I can do further comments after the merge. |
No rush @traversaro ! We can wait. |
My main concerns were also related to the back-compatibility. If we can switch from the two configurations easily after some time, then it's a go for me. |
I'm afraid this is not the case. However, @traversaro will give us more hints on this PR later on.
@S-Dafarra we don't aim to maintain multiple configurations for all the robots. |
If this is the case, I don't feel comfortable in pushing these changes for all robots, to be honest. From what I understood, this is basically the situation:
I guess the situation is not as bad, so please correct me 😁 |
Hi @S-Dafarra
|
Anyway, if we need to restore the old analog:o ports alongside the newest ones to address the WBD problem, this may somehow help in terms of back-compatibility too. |
Even though we are using our fork, I am still concerned about having potentially breaking changes upstream. In my opinion, any major change should be absorbed soon. Otherwise, this might be blocking for any future change and potentially be very problematic when we are close to a release. In the previous comments, it was mentioned that these changes would have taken effect only after including them in the We could leave this duplication for some time, and then delete the old files in the next release, in a sort of "deprecation" pattern. Does it make sense? |
This would be very reasonable, but I can see there are modifications to the Let me however call for @davidetome 's help on this. Given #287 (comment), we'd very likely need to have replications for those files either way. The latter should bring us back to the |
Not sure to clearly understand your doubts, but just to clarify, since the new |
Ok cool @davidetome
Ports are correctly opened up but still the FT data are published through a new device driver. Thus, @S-Dafarra 's concern number 1 ( At any rate, let's wait until @traversaro chimes in. |
I feel quite a bit of pressure of resolving the discussion at this point. :D
Actually the For this reason, I think that merging this PR is quite safe. I think it would be also safe to enable the new wrappers on the top of the old ones, a bit like @Nicogene did back when he migrated all the IMUs of iCub to use the new MAS interfaces. To be continued. |
Cool 👍🏻
We might aim to update all the robots at this point with a pair of subsequent PR's:
This needs to be tested anyway and can be done later.
Interesting! So we can publish everything through the current @davidetome you may do that once back next week. |
Yes. However, I wonder if we could think a bit what is the best way of doing so. By its nature, the MultipleAnalogSensors wrappers have been designed to expose multiple sensors, so the user did not need to know before hand al the ports of each sensor that was available (that can be quicky becoming unfesible) but would just connect to a small number of devices (such as one for part, or one for part for type of sensor) and get all the available sensors. This would also simplify documetation, as we do not need to document explicitly the port of each sensor. From that point of view, we may want to have a fewer number of wrappers when using MAS infrastructure as opposed to the old single-sensor wrappers. However, keeping multiple sensor measurments in the same wrapper has also downsides, so we may need to discuss what's the tradeoff we may want on this. |
The main downside I can see now is that if we don't publish At any rate, lots of stuff to cook that may be conveniently addressed with upcoming work so that we can keep this PR light. 👉🏻 The thing we should decide here is whether we modify the PR in order to expose I vote for this 👍🏻 Only then, we could deal with the outstanding points:
|
Ok, the only thing that I am a bit afraid is that we rush it trough and then we have two legacy behaviour to support, |
I think we're forced to still publish For what concerns In this latter respect, we're free to choose the best strategy for us. Maybe, we could target with this strategy @S-Dafarra 's needs and help his group incrementally shift to the new paradigm. To this end, what would be your thoughts @traversaro @S-Dafarra ? Perhaps, we could already do the big jump and go for the multi-sensors approach? |
Yes, there is no doubt on this. I was simple afraid that we added single-sensor |
Just to understand, the blocking point right now would be that WBD would not work anymore, right? Even if we merge this, what would be the plan? Also, what is the point of merging this knowing already that something will break? Can we try to avoid this to happen, eventually from the WBD side? |
If you are referring to the |
Hi @S-Dafarra The idea is now to add more ports since the beginning from within the |
Sorry, I misunderstood. I thought we were going toward the choice of not supporting them. Regarding the single sensor vs multisensor strategy choice, at the moment I don't have a strong opinion. What would be the pros and cons of the two approaches? Let me drop in the discussion also @prashanthr05 given his expertise on these devices |
Well, the mono-sensor approach with the new wrappers is actually already a legacy; that's the reason why we're heading to a multi-sensors approach. See discussion from #287 (comment) onward. |
I believe this PR stems from the conversation that we (@traversaro @fjandrad) had in I believe WBD will work fine.
The mono-sensor approach will result in too many configurations files (for starters) but it's the most intuitve to understand the MAS architecture in the beginning, I suppose (atleast, in my case). |
embObjFTsensor
support to all robots using strain2
Quick update. The use of the multi-sensors approach needs to be configured, thus we decided to postpone these new ports with a different PR. However, we could enable the new device |
Just tested on |
Can you try to change the type from strain2 in strain in robots-configuration/experimentalSetups/singleETHboard/hardware/FT/left_arm-eb1-j0_3-strain.xml Line 19 in 47ac9ec
|
@traversaro , sorry, what do you mean? |
I edited the original message with a new reference on the line that should be changed, see robots-configuration/experimentalSetups/singleETHboard/hardware/FT/left_arm-eb1-j0_3-strain.xml Line 19 in 47ac9ec
|
After a F2F update w/ @traversaro and @davidetome, we decided to merge the PR as it is and postpone the changes we discussed later. |
embObjFTsensor
support to all robots using strain2embObjFTsensor
support to ETH robots using strain2
This PR is intended to add support for the
embObjFTsensor
for all robots usingstrain2
.In particular :
embObjStrain
device toembObjFTsensor
in all files underhardware/FT
folders of the robots usingstrain2
wrappers/FT
folders calling them*_multipleSens.xml
analogServer
tomultipleanalogsensorsserver
/icub//left_leg/analog:o
to/icub//left_leg
)icub_all.xml
(or the file used byyarprobotinterface
) has to be modified including the new wrappersThe script I made is the following (it excludes
iCubGenova04
andiRonCub-Mk1
since the mods were already done)cc @maggia80 @marcoaccame