[Rock-dev] set up of camera_firewire
Martin.Azkarate at esa.int
Martin.Azkarate at esa.int
Thu Jul 12 19:46:05 CEST 2012
Thanks Janosch,
Before explaining what I have done, I would like to ask you where exactly
did you find that Bumblebee documentation that explains it would identify
itself as one camera and transmit per frame two images.
So now, I followed your advice, and I used the deinterlacing function from
the libdc1394 library. [Most people in the list may want to skip the
following explanation and go the end of the email]
It was not necessary though to create a new task with two out ports
because the deinterlace function does not generate two output separate
frames but instead separates the images in one single frame (putting one
image on top of the other). It's actually the same output as in Coriander,
one single frame, with two separate images. Getting that same output as in
Coriander was my objective so far. Given that, I could use the current
deployment of the camera_firewire orogen component and make the changes
(deinterlacing) directly to the frame each time it was captured. So I
eventually narrowed it down to a call function named retrieveFrame() that
is called at the updateHook of the CameraBaseTask (subclass of
CameraTask). The retrieveFrame() is part of the
camera_firewire&camera_interface c++ library that is used by those tasks.
So once inside retrieveFrame() and after dc1394_capture_dequeue() function
is called I try to deinterlace the frame that I de-queued and then use
that new output to return it in the retrieveFrame() function. However, in
order to make that process work properly there are a few parameters that
have to be changed first such as, video format, channel data depth, frame
format, color coding,...most of them are part of the camera_base.orogen
file properties so they can be changed there or, in the cameraTask
initialisation. However the video_mode has to be changed (to Format7_3)
again in the c++ library in the CamFireWire.cpp file (where the
retrieveFrame function is). I also had to make a few more modifications to
the retrieveFrame function to make proper use of the deinterlacing
function (which I think it has at least one bug, apart from a problem of
memory allocation for the new deinterlaced frame).
Anyway, long story short, now I have customised the camera_firewire
library to make it work with a Bumblebee2 stereocamera and output two
deinteralced images in a single frame. I don't know if this can be useful
for the rock community somehow. And in case it is I don't know which would
be the best way to contribute with it. It's really a very small thing but
anyway, after all the help that I receive from this list I would be glad
to give something back.
Greetings,
Martin Azkarate
ESA - European Space Agency
Spanish Trainee, TEC-MMA - Automation and Robotics Section
ESTEC - European Space research and TEchnology Centre
Keplerlaan 1, PO Box 299
NL-2200 AG Noordwijk, The Netherlands
Martin.Azkarate at esa.int | www.esa.int
Tel +31 71 565 3480 | Mob +31 650 625 564
From:
Janosch Machowinski <Janosch.Machowinski at dfki.de>
To:
Martin.Azkarate at esa.int, Rock-Dev <rock-dev at dfki.de>
Date:
10/07/2012 19:41
Subject:
Re: [Rock-dev] set up of camera_firewire
Hi Martin,
I had a short look at the documentation of the bumblebee.
The camera will identify itself as one camera and transmit
per (firewire) frame two images. In order to use our driver
you must modify it and decode the second image.
To do so you can use the libdc1394 function
dc1394_deinterlace_stereo()
Sadly neither the camera_interface nor the camera base
class were designed with such a use case in mind.
Therefore I would suggest you create a second Task
'firewire::StereoCameraTask'
with two output ports (one for each frame).
Greetings
Janosch
On 10.07.2012 18:44, Martin.Azkarate at esa.int wrote:
Hello Janosch,
Thanks for the help again.
Using Coriander I get two camera images, one for each sensor of the
stereocam.
In the ruby script (attached) I actually start two CameraTasks, one for
each sensor, but when assigning the ID property in the deployment section
of the .orogen file (attached) I have only one ID that I can put (because
the component only detects one camera even though there are two
sensors...). So I don't know if how to get the second output without
having two different camera IDs to assign one to each Task. What I need is
to separate somehow the two outputs that are under the same device, thus
under the same camera ID. Soo far, assigning the same camera ID to both
Tasks only shows one output and the other frame stays grey with "No
Image".
Thanks a lot!
Martin Azkarate
ESA - European Space Agency
Spanish Trainee, TEC-MMA - Automation and Robotics Section
ESTEC - European Space research and TEchnology Centre
Keplerlaan 1, PO Box 299
NL-2200 AG Noordwijk, The Netherlands
Martin.Azkarate at esa.int | www.esa.int
Tel +31 71 565 3480 | Mob +31 650 625 564
From:
Janosch Machowinski <Janosch.Machowinski at dfki.de>
To:
rock-dev at dfki.de
Date:
06/07/2012 15:29
Subject:
Re: [Rock-dev] set up of camera_firewire
Sent by:
rock-dev-bounces at dfki.de
Hello Martin,
For the changes from stable to master enter the driver
directory and execute
gitk --all
In general I would recommend to have a look at the
git documentation.
Does the bumblebee output two images if you use coriander ?
Atm, the CameraTask is intended to be used with a monosensor
camera. The Design is to start one task per camera.
But it should not be a big problem to make it output
two frames from one sensor.
Greetings
Janosch
On 04.07.2012 18:57, Martin.Azkarate at esa.int wrote:
Ok!
Autoproj update, then build the package again, run the script and got it!
I get camera output now, can somebody tell what were the changes from
stable branch to master branch? (maybe pointing the functions or settings
that were modified...)
One last thing, I can only get one camera output, not two, I am using a
stereocam so I should be able to get two separate frames, right? However,
when running the camera_firewire component it shows a list of available
cameras and identifies them with a unique ID. It actually only finds one
camera so I can only assign that unique ID to one of the two cameraTasks.
If I assign that ID to both tasks I get two vizkit displays one with
camera output and the other with the No Signal message with the grey
background.
The camera_firewire component deployment actually sets two CameraTasks,
one for left camera and another one to right camera (that's why I thought
that I could use it with the stereocam) but maybe it is intended to be
used with two separate monosensor cameras like the AVT Guppy?
Thanks a lot for the help!
Martin Azkarate
ESA - European Space Agency
Spanish Trainee, TEC-MMA - Automation and Robotics Section
ESTEC - European Space research and TEchnology Centre
Keplerlaan 1, PO Box 299
NL-2200 AG Noordwijk, The Netherlands
Martin.Azkarate at esa.int | www.esa.int
Tel +31 71 565 3480 | Mob +31 650 625 564
From:
Janosch Machowinski <Janosch.Machowinski at dfki.de>
To:
rock-dev at dfki.de
Date:
04/07/2012 15:45
Subject:
Re: [Rock-dev] set up of camera_firewire
Sent by:
rock-dev-bounces at dfki.de
Hi Martin,
did you run an autoproj update prior to the autoproj build ?
If not, autoproj won't change the branch.
Janosch
On 04.07.2012 13:40, Martin.Azkarate at esa.int wrote:
Hi Janosch,
I changed the overwrites.yml file as you told, autoproj build the package
again and tried that out but I'm still getting the same error...any other
ideas?
Thanks for the help,
Martin Azkarate
ESA - European Space Agency
Spanish Trainee, TEC-MMA - Automation and Robotics Section
ESTEC - European Space research and TEchnology Centre
Keplerlaan 1, PO Box 299
NL-2200 AG Noordwijk, The Netherlands
Martin.Azkarate at esa.int | www.esa.int
Tel +31 71 565 3480 | Mob +31 650 625 564
From:
Janosch Machowinski <Janosch.Machowinski at dfki.de>
To:
rock-dev at dfki.de
Date:
04/07/2012 11:19
Subject:
Re: [Rock-dev] set up of camera_firewire
Sent by:
rock-dev-bounces at dfki.de
Hi Martin,
which branch of the driver are you using ?
As the line in the error message does not match
master I assume next or stable.
We recently fixed bugs in this driver.
Try switching (only the driver) to master.
To do so add these three lines to
autoproj/overwrites.yml :
overrides:
- drivers/camera_firewire:
branch: master
Greetings
Janosch
P.S.: We only tested this driver with a AVT guppy. For this camera it is
working stable.
On 02.07.2012 18:08, Martin.Azkarate at esa.int wrote:
Hello,
I have a Bumblebee2 camera that I am trying to use with the
camera_firewire library package and its corresponding orogen component. I
am running the following script:
An getting the following error:
--------- beginning of terminal output ----------------------
lrm at ubuntu:~/rock/drivers/orogen/camera_firewire/scripts$ ruby
camera_firewire_live.rb
Found 1 cameras:
=== begin CamInfo ===
display_name: Bumblebee2 BB2-08S2C
interface_id: 0
interface_type: InterfaceFirewire
current_ip_address: 0
current_ip_subnet: 0
part_number: 0
part_version: 0
permitted_access: 0
reachable: 0
serial_string:
unique_id: 49712223532727488
=== end CamInfo ===
Press ENTER to exit
libdc1394 error: Generic failure: in dc1394_video_set_transmission
(control.c, line 953): Could not stop ISO transmission
[20120702-11:32:28:599] [ERROR] - $PROJECT_NAME::Generic failure
(/home/lrm/rock/drivers/camera_firewire/src/CamFireWire.cpp:617 - bool
camera::CamFireWire::checkHandleError(dc1394error_t) const)
--------------------- end of terminal output -------------------
Actually the script is completely executed and a vizkit image window is
opened but without any camera output, just a grey window with the message
"no image" in the middle. So when I press enter to exit I get the
libdc1394 error output in the terminal that you can see above. I am
guessing that the error is in some setting of the libdc1394 library, I
have tried complying with the BB2 camera specs and edited a couple of
properties that should be the right ones but I still can't manage to get a
camera output. The camera works and communicates properly with the 1394
interface (checked it using Coriander). So, can anyone with experience in
cameras with firewire interface give me a hint here? I add a couple more
files in case these are helpful.
Thanks for the help,
Martin
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
Rock-dev at dfki.de
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
--
Dipl. Inf. Janosch Machowinski
SAR- & Sicherheitsrobotik
DFKI Bremen
Robotics Innovation Center
Robert-Hooke-Straße 5
28359 Bremen, Germany
Phone: +49 (0)421 178 45-6614
Fax: +49 (0)421 178 45-4150
E-Mail: robotik at dfki.de
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
Rock-dev at dfki.de
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
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
Rock-dev at dfki.de
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
--
Dipl. Inf. Janosch Machowinski
SAR- & Sicherheitsrobotik
DFKI Bremen
Robotics Innovation Center
Robert-Hooke-Straße 5
28359 Bremen, Germany
Phone: +49 (0)421 178 45-6614
Fax: +49 (0)421 178 45-4150
E-Mail: robotik at dfki.de
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
Rock-dev at dfki.de
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
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
Rock-dev at dfki.de
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
--
Dipl. Inf. Janosch Machowinski
SAR- & Sicherheitsrobotik
DFKI Bremen
Robotics Innovation Center
Robert-Hooke-Straße 5
28359 Bremen, Germany
Phone: +49 (0)421 178 45-6614
Fax: +49 (0)421 178 45-4150
E-Mail: robotik at dfki.de
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
Rock-dev at dfki.de
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
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.
--
Dipl. Inf. Janosch Machowinski
SAR- & Sicherheitsrobotik
DFKI Bremen
Robotics Innovation Center
Robert-Hooke-Straße 5
28359 Bremen, Germany
Phone: +49 (0)421 178 45-6614
Fax: +49 (0)421 178 45-4150
E-Mail: robotik at dfki.de
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
-----------------------------------------------------------------------
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/20120712/16399c1e/attachment-0001.htm
More information about the Rock-dev
mailing list