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

Integrate most of Leap Motion's capabilities into the acquisition device #202

Open
PeterBowman opened this issue Feb 8, 2019 · 3 comments

Comments

@PeterBowman
Copy link
Member

Our current implementation of the LeapMotionSensor device extracts palm center data only, exposed in a 6-value bottle conveniently wrapped and published by YARP's analogServer. The Leap Motion API goes far beyond that, therefore I'd like to exploit its capabilities.

After finding out that the old OpenNI/NiTE skeleton device was removed (robotology/yarp#690) and no standard YARP skeleton interface is available (however, mind the yarp::sig::Skeleton proposal mentioned at robotology/assistive-rehab#2 (comment)), we noticed that yarp::dev::IFrameTransform may suit our needs. All necessary identifiers (e.g. "distal bone of the index finger of the left hand") could be encoded into a std::string which is then fed into this interface's methods as an input frame id. Also, base-to-finger frames can be obtained in this manner without resorting to other APIs.

@PeterBowman
Copy link
Member Author

The server/client YARP device implementation of frame transform stuff (BTW compatible with ROS, hence it might have been designed in this way for such reason) doesn't follow the usual network wrapper + client device architecture. Instead, it forces a client-server-client communication as explained in robotology/yarp#1958. I'm prone to reuse the frame transform interfaces (either the current or the proposed one), not having to design my own, heavily Leap-specific class. At best, we'll have this new architecture available in YARP 3.2. Marking as blocked for now.

@PeterBowman
Copy link
Member Author

At best, we'll have this new architecture available in YARP 3.2.

Sadly, YARP folks rejected that PR. For future reference: robotology/yarp@b15ec0f...1f13091 (I also forked the branch, just in case: PeterBowman/yarp@b15ec0f...1f13091).

@PeterBowman
Copy link
Member Author

PeterBowman commented Jun 15, 2021

It looks like it is being revived for YARP 3.5 or later: robotology/yarp#2611, robotology/yarp#2626.

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

No branches or pull requests

2 participants