Welcome new user! You can search existing questions and answers without registering, but please register to post new questions and receive answers. Note that due to large amounts of spam attempts, your first three posts will be manually moderated, so please be patient.
We have moved to a new forum at http://jevois.usc.edu, please check it out. The forum at jevois.org/qa will not allow new user registrations but is maintained alive for its useful past questions and answers.
Welcome to JeVois Tech Zone, where you can ask questions and receive answers from other members of the community.

Request for comments: standardized serial messages

0 votes
I am trying to add standardized helper functions to the jevois::Module base class to assist people in issuing serial messages in a standardized format. The goal is to enhance inter-operability between different machine vision modules and Arduino code that will get messages from these modules. For example, your Arduino code should be the same if your machine vision module is a color-based object tracker, SURF-based object detector, or ArUco marker detector.

What do you all think of this draft proposal:

http://jevois.org/doc/UserSerialStyle.html

One obvious thing we could do is eliminate the "D" character in the messages (so, issue T1 instead of T1D) but that would break previous Arduino code. So I am leaning towards keeping the (superfluous) "D".

Any other suggestions?
asked Jun 30, 2017 in User questions by JeVois (46,580 points)

2 Answers

0 votes

On 2D Location Messages, in order to track Tags, we we would need the TAG ID as well, or Multiple Tags ID and the associated Location-Size


For 3D, Ros conformance is essential, and more specifically, being able to pass command to Flight Controller through Mavros would be great: http://wiki.ros.org/mavros_extras

4.7 vision_pose_estimate

Sent VISION_POSITION_ESTIMATE to FCU from PoseStamped topic.


Funny , I just wrote a request on how to use the 2D parameters... so I would be please to beta test ;-)

answered Jul 1, 2017 by patrickpoirier (360 points)
edited Jul 1, 2017 by patrickpoirier
Thanks! Yes, we have an ID field that is used in all except terse modes

For compat with PoseStamped we would then issue a 3d point plus a quaternion for the 3d detailed messages. But will that quaternion ever be non-unit (ie not just a rotation) or are we just wasting a DOF and making the message 1 number longer than it needs to be?
Using a Tag as a reference you can generate a full Posestamped message.
http://wiki.ros.org/ar_sys
can you please check what we just pushed into GitHub: In jevois::Module, we output the 3D messages, including a point and a quaternion.

In DemoArUco of jevoisbase we now send those 3D messages when the 'dopose' parameter is true. Location information seems ok and quite accurate but I need to check the quaternion, it may need some flipping of axes.
Sure
I will give it a try and report back.... oups my ubuntu is 14.04
Building a VM
Well, 2 years later ... LOL !!
I tried the 6 DoF pose with RVIZ and I get a ''illformed quaternion'' error

https://github.com/jevois/jevoisbase/blob/master/src/Components/ArUco/ArUco.C#L151
0 votes
I'd say take the opportunity to make breaking changes now to clean up redundant things, because you won't really be able to do it later. It's still pretty early in the jevois lifecycle, so there's not much unmaintained public third-party code out there yet.
answered Jul 2, 2017 by pelrun (2,330 points)
Yes, upon further reflection I think you are right. Will update as soon as we are back from 4th of july holiday here.
...