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

Board amc: test project for streaming AEA3 values #444

Merged
merged 2 commits into from
Dec 12, 2023

Conversation

marcoaccame
Copy link
Contributor

This PR adds some features useful for testing the reading of AEA values on the amc board.

Dedicated test project that sends reading to a socket

At first there is a dedicated test project that reads AEA3 values at a 1 ms rate and transmits them over a UDP socket to address 10.0.1.104:6666.

The socket can be read simply by opening a shell on address 10.0.1.1.104 and digiting

$ netcat -u 10.0.1.99 -p 6666 6666

and we can save the log with:

$ netcat -u 10.0.1.99 -p 6666 6666 > file.aea3.dat

Using the amc with yarprobotinterface

The amc application can be used on the robot to move the wrist and also send AEA3 values for debug.
There are two methods.

Log of AEA3 values via dedicated socket

If the amc is is compiled with macro DEBUG_AEA3_stream_over_theBackdoor defined then it sends the AEA3 values via a dedicated socket to 10.0.1.104:6666. Then one can get the values with netcat or any other reader.

Streaming of the AEA3 values to the StateExt:0 port

If the amc is is compiled with macro DEBUG_AEA3_stream_over_TORQUE defined then it sends the AEA3 values to yarprobotinterface using the eOmc_joint_status_t::core.measures.meas_torque field that is not used for the wrist.
Then one can read the values directly with yarp read or much better with telemetry. See here.

…ither DEBUG_AEA3_stream_over_TORQUE or DEBUG_AEA3_stream_over_theBackdoor
@valegagge
Copy link
Member

Hi,
I'm just writing here a note about how to interpret the raw data published on the yarp port:

the raw value is transformed by embObjMotionControl here, dividing the value by 10^6 as you can see from the initialization of the _measureConverter object. Please see here and here

I guess that the same transformation will be applied in the TelemetryDeviceDriver since it calls the interface function GetTorque.

cc @marcoaccame @simeonedussoni

@marcoaccame marcoaccame merged commit 7aba0a9 into robotology:devel Dec 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants