Hi and welcome Evangelos,

i'm not sure what the revived time should be. Maybe this is a deprecated feature of the logging. The Time stamps are created in different ways. Sometimes the are set from a camera itself. sometime from the driver. I assume (without logging into the code) that the camera-firewire creates the timestamp when the driver received it.

Because of the scheduling they cannot be the same. If you are using a fixed-freqency you should consider the TimestampEstimater, it eliminates several aspects.
http://rock-robotics.org/stable/documentation/data_processing/timestamping.html

The idea of syncronizing times in rock is done by the stream-aligner.
http://rock-robotics.org/stable/documentation/data_processing/stream_aligner.html

It takes care of interpolation and synchronizing different data streams as they are typical in robotic systems.

I hope this solves all your questions, otherwise you are welcome for further questions.

Best,
Matthias

P.S. Moved this topic to rock-users...


On 08.09.2015 20:02, [email protected] wrote:
Dear ROCK devs,

I am at ESTEC/ESA and we are using ROCK on our new robot named:"HDPR". We are close to the state that we can go on the field to collect a dataset but, since I'm a fairly new user/dev, I have a question:

I am using a custom build stereo camera, with two firewire ptgrey connected on the same IEEE 1394 bus. So, using the inherent 1394 properties, the two cameras are synchronised. Now, software-wise I am using in a ruby script the "_drivers/orogen/camera_firewire_ <http://rock-robotics.org/stable/pkg/drivers/orogen/camera_firewire/index.html>" component twice for the each camera and then the "_perception/orogen/stereo_ <http://rock-robotics.org/stable/pkg/perception/orogen/stereo/index.html>" to produce the disparity like this:

Ptgrey_camera_1->camera_firewire_orogen-----|-->stereo_orogen->disparity
              |
Ptgrey_camera_2->camera_firewire_orogen-----|

A struct view of the cameras in the rock-display reveals that there is a timestamp from each camera like this:
Left PanCam:
Time: 28 Aug 2015 17:23:33.993947
Received time: 1 Jan 1970 01:00:00.0
Right PanCam:
Time: 28 Aug 2015 17:23:33.993943
Received time: 1 Jan 1970 01:00:00.0

I assume by now that "Time" means sampled time and "Received time means" time saved to disk/ram! Then we log the data in a .log file. In order to export the data to useful .png files I use the following commands: $ rock-export hdpr_perception.0.log --stream /pancam_left.frame --filename "Pancam_#TIME_0.png" $ rock-export hdpr_perception.0.log --stream /pancam_right.frame --filename "Pancam_#TIME_2.png"

_Question one:_
Even thought the images are actually synchronised (I can see it from the product), the timestamps i am getting are not the same because of the aforementioned struct properties. Is there an official way of fixing this issue and have the images reported with exactly the same timestamp, or should I create another component (or alter the stereo one) in order to "fake" the timestamps to match? Something like theROS time synchronzer <http://wiki.ros.org/message_filters#Time_Synchronizer>would be perfect.

_Question two:_
The fact is that we are using several sensors on the rover (2 Stereo, IMU, TOF, DGPS) and in the best case we would like to have them all synchronised (at some point since they've got different frequencies) or at least real-time like, i.e. to know exactly when to expect the images. Is there any "easy" (obviously, that is not easy) way to do this in ROCK, since we cannot hardware trigger all of the sensors?

Thank you for your help and your time,
Evangelos Boukas
=========================================================================

Dip.Eng | M.Sc. in E.E.|Computer Vision & Robotics Researcher | European Space Agency NPI Laboratory of Robotics and Automation | School of Engineering | Democritus University of Thrace [email protected] | http://robotics.pme.duth.gr <http://robotics.pme.duth.gr/boukas>| http://robotics.pme.duth.gr/boukas

ESA - European Space Agency
TEC-MMA - Automation and Robotics Section


ESTEC - European Space research and TEchnology Centre
Keplerlaan 1, PO Box 299
NL-2201 AZ Noordwijk, The Netherlands
[email protected] | http://www.esa.int/TEC/Robotics/
Tel. +31 71 565 5499
=========================================================================
This message and any attachments are intended for the use of the addressee or 
addressees only.
The unauthorised disclosure, use, dissemination or copying (either in whole or 
in part) of its
content is not permitted.
If you received this message in error, please notify the sender and delete it 
from your system.
Emails can be altered and their integrity cannot be guaranteed by the sender.

Please consider the environment before printing this email.


_______________________________________________
Rock-dev mailing list
[email protected]
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev


--
 --
 Matthias Goldhoorn
 Unterwasserrobotik
Standort Bremen:
 DFKI GmbH
 Robotics Innovation Center
 Robert-Hooke-Straße 5
 28359 Bremen, Germany
Phone: +49 (0)421 218-64100
 Fax:   +49 (0)421 218-64150
 E-Mail: [email protected]
Weitere Informationen: http://www.dfki.de/robotik
 -----------------------------------------------------------------------
 Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
 Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern
 Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
 (Vorsitzender) Dr. Walter Olthoff
 Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
 Amtsgericht Kaiserslautern, HRB 2313
 Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
 USt-Id.Nr.:    DE 148646973
 Steuernummer:  19/673/0060/3
 -----------------------------------------------------------------------


_______________________________________________
Rock-dev mailing list
[email protected]
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev

Reply via email to