[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