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