[Rock-dev] set up of camera_firewire

Alexander Duda Alexander.Duda at dfki.de
Thu Jul 12 23:28:10 CEST 2012


Am 12.07.2012 um 20:09 schrieb Janosch Machowinski:

> Hi Martin,
> I found the documentation here :
> http://www.ptgrey.com/support/downloads/documents/Bumblebee2 Getting Started Manual.pdf
> In the section stereo Image formats
> 
> The problem with one 'image' containing two images is that our
> stereo pipeline is not able to process them. We always expect 
> two separate frames. Therefore my proposal to create a custom
> function on the firewire driver like 
> 'getInterlacedStereoImage(base::Frame &right, base::Frame &left)'
> and use this function later on in a special task to output the two 
> images in the 'expected' format. 

One possible way to integrate this type of camera into the current software stack would be to output both frames (left and right) after each other. The camera would basically running with a virtual frequency twice the one configured by the user. This would assure that no fundamental changes are needed to the camera interface (I guess only some new attributes). Later on to match the left and right frame one could simply chain up another orogen component matching the frames and outputs them as framepair (this is how we do it with two cameras).

If you want to integrate the camera into the rock software stack do not hesitate to ask for any help. 

Greets
Alex  

> 
> It would be nice if you could push your current driver version 
> on a separate branch or mail us a patch set.
> Greetings
>     Janosch
> 
> 
> 
> On 12.07.2012 19:46, Martin.Azkarate at esa.int wrote:
>> 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.
> 
> 
> -- 
>  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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.dfki.de/pipermail/rock-dev/attachments/20120712/63388195/attachment-0001.htm 


More information about the Rock-dev mailing list