[Rock-dev] set up of camera_firewire

Janosch Machowinski Janosch.Machowinski at dfki.de
Thu Jul 12 20:09:28 CEST 2012


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.

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_ 
> <mailto: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_ <mailto: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>_ 
> <mailto:Janosch.Machowinski at dfki.de>
> To:	_rock-dev at dfki.de_ <mailto: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_ <mailto: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_ 
> <mailto: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_ <mailto: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>_ 
> <mailto:Janosch.Machowinski at dfki.de>
> To:	_rock-dev at dfki.de_ <mailto: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_ <mailto: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_ 
> <mailto: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_ <mailto: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>_ 
> <mailto:Janosch.Machowinski at dfki.de>
> To:	_rock-dev at dfki.de_ <mailto: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_ <mailto: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_ 
> <mailto: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_ <mailto: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_ <mailto: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_ <mailto: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_ <mailto: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_ <mailto: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_ <mailto: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_ <mailto: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_ <mailto: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_ <mailto: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_ <mailto: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
  -----------------------------------------------------------------------

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://www.dfki.de/pipermail/rock-dev/attachments/20120712/82af193e/attachment-0001.htm 


More information about the Rock-dev mailing list