New to ROS and ROS by example

226 views
Skip to first unread message

Burt Bicksler

unread,
Apr 25, 2017, 8:14:18 PM4/25/17
to ros-by-example
I've been getting familiar with ROS, and have written my own Arduino node code for driving 5 servos in a humanoid head based on Inmoov.

I have some simple tracking working after adapting one of the OpenCV sample programs for CamShift, and now am working on getting familiar with ROS's Robot Vision.

Bought both vol1 and vol2 of ROS by example (Indigo) and that has been quite helpful.

I did hit a couple of speed bumps and thought I'd ask here.

1 - Following the examples in Chapter 10 of vol 1 I'm using the Bosch camera driver as suggested.  The first problem I hit was that the driver doesn't appear to work with the inexpensive webcams that I'm using for the eyes.
Note that the OpenCV demo programs as well as MyRobotLab can see and work with those cameras just fine, as can Skype, etc.  But I get an error about the frame not containing JPEG or something to that effect.  I switched to a Microsoft Life Cam that I have and that does work with the Bosch driver but there is an issue with that as well. 

2 - The Microsoft LifeCam works well with the driver, but when I was trying to look at the data_skip option when I bring up rqt_reconfigure I do not see the driver in the left panel under camera.  There are three things under camera/rgb/image_raw:
a - compressed, b - compressedDepth and c - theora  but nothing with the data_skip option.

3 - I had problems with several of the demos, probably due to having OpenCV 3 installed.  I've been able to fix those issues but interestingly the fourth demo I tried already had some of the changes in place so I only had to do import cv2 as cv and it worked with no other changes.

So for issue 1, are there any suggestions about what would be a better choice for the driver for the cameras I have mounted in the head?  Since they work fine with OpenCV directly and with other applications on the system perhaps the libuvc_camera driver would be a better choice, but I thought I'd check.  Worst case I can pull the guts out of the LifeCam and replace the inexpensive cam in one of the eyes.

For issue 2, is it just something with the Bosch driver and the LifeCam that is causing the missing driver configuration, or did I miss something else?

In any case ROS by example looks great and even with the speed bumps I'm making good progress.

Burt

Patrick Goebel

unread,
Apr 27, 2017, 9:13:57 AM4/27/17
to ros-by-...@googlegroups.com

Hi Burt,

Just an FYI that the ROS By Example code was written and tested against ROS Indigo, OpenCV 2.4 and Ubuntu 14.04.  So if you are using ROS Kinetic, Ubuntu 16.04 or OpenCV 3, you are likely going to run into trouble.

For issue 1, I would post your problem to answers.ros.org with the exact error messages you are getting together with your setup (version of Ubuntu, ROS and OpenCV).  Alternatively, post an issue on the usb_cam Github at https://github.com/bosch-ros-pkg/usb_cam/issues.  Note that the usb_cam Wiki page does not yet indicate Kinetic support if that is what you are using.

Yes, you might try libuvc_camera but I see support only up to ROS Indigo so again you might run into trouble if you are using Kinetic.

Regarding issue 2, support for a dynamically configurable data_skip parameter depends on the camera driver.  The OpenNI and Freenect drivers include this parameter for depth cameras but the usb_cam driver appears not to.

Hope that helps!

--patrick

-- 
The Pi Robot Project
http://www.pirobot.org/wordpress
--
You received this message because you are subscribed to the Google Groups "ros-by-example" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-by-exampl...@googlegroups.com.
Visit this group at https://groups.google.com/group/ros-by-example.
For more options, visit https://groups.google.com/d/optout.

Burt Bicksler

unread,
Apr 27, 2017, 3:37:08 PM4/27/17
to ros-by-example
Thanks,

I'm currently using Indigo, so for right now it wouldn't be an issue to use the libuvc_camera driver, but I'll probably ask on github so see if there are any suggestions, and I'll take a look at the usb_cam code as well, haven't had a chance to do that.  It may be fairly easy to get the driver to recognize my other camera since it works very well natively.

I've worked though most of the issues with the example code.  I have one with the CamShift example that I have to figure out, but other than that so far I have all the others working well, including speech recognition and synthesis.

I'll try my Kinect as well when I get a chance, but that is a little big for the head:)  Eventually the Kinect will be mounted in the body.

Burt

Patrick Goebel

unread,
May 2, 2017, 8:26:51 AM5/2/17
to ros-by-...@googlegroups.com

Hi Burt,

Thanks for the clarification on the version of ROS you are using.  BTW, was there a specific reason you are using OpenCV 3 instead of 2.4?

--patrick

Burt Bicksler

unread,
May 19, 2017, 4:54:22 PM5/19/17
to ros-by-example
Hadn't been checking on the group for a while as I've been working on object tracking, color recognition and speech recognition and synth.

I was using OpenCV3 since  thought it would be a good idea to use the latest version.  The changes to get camshift example were pretty simple.

I have tracking working quite well now for pan and tilt, So things are working well at this point.

Thanks,
Burt

Patrick Goebel

unread,
May 20, 2017, 9:00:57 AM5/20/17
to ros-by-...@googlegroups.com

Hi Burt,

Thanks for the feedback.  Good to know you were able to get things working without too much trouble.

--patrick

Reply all
Reply to author
Forward
0 new messages