[ros-users] Digital Camera 1394 in ROS?

Radu Bogdan Rusu rusu at willowgarage.com
Wed Mar 10 16:45:39 UTC 2010

Patrick, is your SR4k driver different than the one that I wrote some time ago ? 
(http://www.ros.org/browse/details.php?name=swissranger) If so, I would like to merge/deprecate that, provided that you 
will release yours as open source.

Patrick Beeson wrote:
> FYI,
> I have my own ROS node that combines cameradc1394 with the Player 1394 
> driver.  It works very reliably and depends on nothing but sensor_msgs 
> (I have to say that I do not like having to download the kitchen sink 
> just to get a simple hardware driver working, which is why I have my own 
> versions of Swissranger 4K driver, 1394 camera, etc.).
> Jack has been using it, along with a visualization tool I forked from 
> somewhere.  I think I'll work with Jack to get this added to his ROS 
> repository, or start my own (I'm assuming a reliable Swissranger 4000 
> driver would be of desire to someone out there).  But, I should go ahead 
> and make it start using the image_transport package.  So, it'll probably 
> be a few weeks before this shows up in the ROS package browse.
> Jack O'Quin wrote:
>> On Wed, Mar 10, 2010 at 9:29 AM, Rosen Diankov <rosen.diankov at gmail.com> wrote:
>>> I'm sorry you've been having so many problems with cameradc1394,
>>> perhaps we can come up with a solution that will work well for you.
>> Thanks, Rosen.
>> I do not mean to come across as harshly critical of cameradc1394. I
>> appreciate the work that has gone into it, and want to make it more
>> accessible to users. We are trying to get undergraduates working
>> productively with ROS vision components. Many of them are unfamiliar
>> with both ROS and Linux. They will have a lot more trouble getting
>> this working than I did.
>>> - You say it seems to work but not easy to install? Typing 'rosmake
>>> cameradc1394'  should make and install everything for you, so are you
>>> having trouble compiling things?
>> I did get it to work. It just took me a couple of hours. See below...
>>> - i think the libdc1394v2 package is for systems that do not have
>>> libdc1394 version 2 installed, otherwise the library itself should be
>>> stable.
>> On a recent boxturtle ROS install, the rosmake will fail because
>> cameradc1394 depends on libdc1394v2, which is no longer being
>> distributed. So, users either have to edit your manifest.xml to remove
>> that dependency (which is still needed on Ubuntu Hardy), or they have
>> to find and install the SVN repository for the
>> camera_drivers_experimental package (doable, but not trivial).
>>> - cameradc1394 links the the ROS image libraries in order to
>>> serialize/convert the message correctly, display the image, and
>>> undistort it (radial distortion). You can disable the display
>>> dynamically, so the the only other place where opencv would be used is
>>> for undistortion and sending messages. Fortunately, both of these are
>>> not that heavy on computation, so your system should handle it.
>> I am not particularly worried about computational overhead. It's more
>> a question of system design and consistency.
>> The other ROS camera drivers do not depend on opencv2. There are
>> higher-level packages, such as image_view for that sort of function.
>> I'd prefer a simple DC1394 driver that behaves like the other ROS
>> camera packages. That way people can work consistently with all those
>> devices.
>>> - i'm pretty sure the svn checkout command on sourceforge points to
>>> the correct code:
>>> svn co https://cmu-ros-pkg.svn.sourceforge.net/svnroot/cmu-ros-pkg cmu-ros-pkg
>>> The 'trunk' folder might be making things a little confusing for you,
>>> therefore i recommend:
>>> svn co https://cmu-ros-pkg.svn.sourceforge.net/svnroot/cmu-ros-pkg/trunk
>>> cmu-ros-pkg
>> As you say, that is the correct URL for checkout. This error is
>> currently not important, because you have no other branches (so far).
>> But, you would not want users accidentally checking out *all* the
>> branches instead of just the mainline version. When there is a stable
>> version, they should check out branches/latest, instead, I suppose.
>>> - There is a link on the ros.org camera_drivers webpage
>>> (http://www.ros.org/wiki/camera_drivers) into the correct wiki
>>> location where the cameradc1394 webpage is stored. I'm not sure why
>>> you feel it is hard to locate.....
>> It would be easier to find under http://ros.org/wiki/cameradc1394
>> (which does not exist). It was hard to find because the SourceForge
>> page for cmu-ros-pkg does not point to it. I did eventually find a
>> pointer to it at the bottom of http://ros.org/wiki/libdc1394v2 (which
>> does exist).
>>> - the README in the top source directory was old and contained nothing
>>> useful, i just deleted it
>> Good idea, thanks.
>>> - I think you are the first person that has expressed dissatisfaction
>>> with the way cameradc1394 is structured (no code reviews, etc), I've
>>> tried to stick with the camera API willowgarage publishes as much as
>>> possible. In the past year, it has been hard to keep up with it due to
>>> many changes, but we're actively maintaining cameradc1394. For
>>> example, I just noticed that the API requires a "set_camera_info" and
>>> "request_image" services, which we will add as soon as we have time.
>> I fully understand the difficulty of tracking rapidly changing
>> interfaces in a complex system. That is why I favor better integration
>> into the ROS development process.  I believe a design review would
>> have identified the inconsistencies between cameradc1394 and the other
>> ROS camera drivers.
>> A good review might have caught the set_camera_info change, as well. I
>> have so far been unable to display 1394 camera images with rviz. That
>> may be the reason.
>>> If it makes a big difference for your team that the cameradc1394
>>> resided on WillowGarage's servers rather than sourceforge's, then I'm
>>> sure WillowGarage would be happy to host it.
>> I expect they would. I don't see the repo location as a problem right
>> now (as long as the checkout URL is correct and up to date).
>> I believe including good documentation into the ros.org wiki would
>> make the package much more accessible to beginning users. I am willing
>> to assist, if you feel that would be helpful. I don't know much about
>> digital cameras, but I do know how to edit the wiki. :-)
>> Regards,
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users

| Radu Bogdan Rusu | http://rbrusu.com/

More information about the ros-users mailing list