[Rock-dev] ROCK loging and dataset creation.
Evangelos.Boukas at esa.int
Evangelos.Boukas at esa.int
Tue Sep 8 20:02:39 CEST 2015
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" component twice for the each camera and
then the "perception/orogen/stereo" 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 the ROS time synchronzer
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
evanbouk at pme.duth.gr | http://robotics.pme.duth.gr |
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
Evangelos.Boukas at esa.int | 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.dfki.de/pipermail/rock-dev/attachments/20150908/79b7b1bb/attachment-0001.htm
More information about the Rock-dev
mailing list