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

Expose information provided by embObjMAIS YARP device using a non-deprecated interface #851

Closed
traversaro opened this issue Jan 24, 2023 · 8 comments · Fixed by #905
Closed
Assignees

Comments

@traversaro
Copy link
Member

Is your feature request related to a problem?

I noticed that the embObjMAIS device is currently exposing its information via the IAnalogSensor YARP interface, that anyhow has been deprecated (see https://www.yarp.it/latest/group__dev__impl__deprecated.html).

Probably we could consider to expose the info via either:

  • yarp::dev::IEncoderArrays: interface that is part of the multiple analog sensor interfaces, however has the downside that you cannot expose a name for each encoder
  • yarp::dev::IAxisInfo and yarp::dev::IEncoders these interfaces are the same used to expose "regular" joint encoders, but I am not sure that the nws and nwc work fine if one implements only these interfaces and not all the rest of control-related interfaces.

The solution you would like to have available

See feature description.

Alternatives you have considered

See feature description.

Additional context

I realized this while thinking about https://github.com/orgs/robotology/discussions/609 .

@pattacini
Copy link
Member

Regarding the analog services, we would need first to understand how to upgrade them to the use of the latest NWS/NWC layers.

cc @randaz81

@pattacini
Copy link
Member

We will need to address this task as per robotology/yarp#2999 (comment).

cc @Nicogene @traversaro @randaz81

@pattacini
Copy link
Member

/remind August 28

@octo-reminder
Copy link

octo-reminder bot commented Aug 2, 2023

Reminder
Monday, August 28, 2023 10:00 AM (GMT+02:00)

@octo-reminder
Copy link

octo-reminder bot commented Aug 28, 2023

🔔 @pattacini

@Nicogene Nicogene self-assigned this Aug 31, 2023
@Nicogene Nicogene linked a pull request Sep 4, 2023 that will close this issue
@Nicogene
Copy link
Member

Nicogene commented Sep 4, 2023

Work started:

I will test it on iCubGenova11 tomorrow afternoon

@Nicogene
Copy link
Member

Nicogene commented Sep 5, 2023

Today I successfully tested these changes on iCubGenova11, I used xml such as

<device xmlns:xi="[http://www.w3.org/2001/XInclude"](http://www.w3.org/2001/XInclude%22) name="left_arm-MAS_wrapper" type="multipleanalogsensorsserver">
<param name="period">       10                         </param>
<param name="name">       /icub/left_hand/MAIS     </param>

<action phase="startup" level="5" type="attach">
<paramlist name="networks">
<elem name="leftMais"> left_arm-eb26-j12_15-mais </elem>
</paramlist>
</action>

 

        <action phase="shutdown" level="5" type="detach" />
</device>

Here is the yarp name list output:

registration name /icub/left_hand/MAIS/measures:o ip 10.0.0.2 port 10060 type tcp
registration name /icub/left_hand/MAIS/rpc:o ip 10.0.0.2 port 10061 type tcp
registration name /icub/right_hand/MAIS/measures:o ip 10.0.0.2 port 10062 type tcp
registration name /icub/right_hand/MAIS/rpc:o ip 10.0.0.2 port 10063 type tcp

and here is the output:

() () () () () () () (((240.0 169.0 255.0 254.0 255.0 255.0 255.0 255.0 255.0 255.0 255.0 251.0 255.0 255.0 255.0) 1693917439.91116189957)) () ()
() () () () () () () (((240.0 169.0 255.0 254.0 255.0 255.0 255.0 255.0 255.0 255.0 255.0 251.0 255.0 255.0 255.0) 1693917439.92129659653)) () ()
() () () () () () () (((240.0 169.0 255.0 254.0 255.0 255.0 255.0 255.0 255.0 255.0 255.0 251.0 255.0 255.0 255.0) 1693917439.93131685257)) () ()
() () () () () () () (((240.0 169.0 255.0 254.0 255.0 255.0 255.0 255.0 255.0 255.0 255.0 251.0 255.0 255.0 255.0) 1693917439.94133329391)) () ()
() () () () () () () (((240.0 169.0 255.0 254.0 255.0 255.0 255.0 255.0 255.0 255.0 255.0 250.0 255.0 255.0 255.0) 1693917439.9513463974)) () ()
() () () () () () () (((240.0 169.0 255.0 254.0 255.0 255.0 255.0 255.0 255.0 255.0 255.0 251.0 255.0 255.0 255.0) 1693917439.96143817902)) () ()
() () () () () () () (((240.0 169.0 255.0 254.0 255.0 255.0 255.0 255.0 255.0 255.0 255.0 250.0 255.0 255.0 255.0) 1693917439.9714205265)) () ()
() () () () () () () (((240.0 169.0 255.0 254.0 255.0 255.0 255.0 255.0 255.0 255.0 255.0 251.0 255.0 255.0 255.0) 1693917439.98148870468)) () ()
() () () () () () () (((240.0 169.0 255.0 254.0 255.0 255.0 255.0 255.0 255.0 255.0 255.0 251.0 255.0 255.0 255.0) 1693917439.99157309532)) () ()

Finally, I discovered and fixed a bug on how the timestamp was set, see

@pattacini
Copy link
Member

Great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants