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

Introduce the Signal block #39

Open
GiulioRomualdi opened this issue Apr 23, 2020 · 2 comments
Open

Introduce the Signal block #39

GiulioRomualdi opened this issue Apr 23, 2020 · 2 comments

Comments

@GiulioRomualdi
Copy link
Member

GiulioRomualdi commented Apr 23, 2020

I noticed that every time I need to read the data from a yarp port, I always need the following ingredients

yarp::os::BufferedPort<T> port; 
U data; /**< Vector containing the data. */
std::unique_ptr<Smoother> smoother; 
std::mutex mutex // <---- Useful if we are going to introduce threads in the final application 

Where the Smoother is an optional class that smooths the data. In general, it is a low pass filter or a minimum jerk trajectory generator.

Last but not least, a signal may be streamed not only through a yarp port. For instance, the signal may arrive from a file (i.e. @prashanthr05 dataset for testing the estimation)

We can try to abstract the concept of the signal and introduce an interface for streaming data through the network/logfile.

A possible idea is to adapt what @xEnVrE did in robots-io.

@GiulioRomualdi GiulioRomualdi changed the title Introduce a Signal block Introduce the Signal block Apr 23, 2020
@traversaro
Copy link
Collaborator

For reference, this is also similar to the YARPRead block available in WB-Toolbox:

@traversaro
Copy link
Collaborator

Also Drake's LCM systems are related (they also include a system to playback logs):

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

No branches or pull requests

2 participants