ROS Kinetic and ROS By Example

2416 views
Skip to first unread message

Patrick Goebel

unread,
Jul 23, 2016, 9:55:43 AM7/23/16
to ros-by-...@googlegroups.com
Dear ROS Fans,

Some of you may be wondering about using the ROS By Example books with Ubuntu 16.04LTS and ROS Kinetic.  While there should not be very many API changes to the rbx1 and rbx2 code itself, a number of third-party ROS packages have not yet been released into Kinetic such as ros-kinetic-arbotix and ros-kinetic-dynamixel-motor for controlling Dynamixels.  Other missing ROS packages include ros-kinect-pocketsphinx for speech recognition, ros-kinectic-usbcam for webcam video processing, and ros-kinetic-hokuyo-node for those of you with a Hokuyo laser scanner.  One critical non-ROS package that is not currently available for Ubuntu 16.04 is gstreamer0.10-pocketsphinx.  For Volume 2, missing packages include ros-kinetic-rosbridge-suite, ros-kinetic-mjpeg-server, ros-kinetic-moveit-fullros-kinetic-moveit-python, ros-kinetic-kobuki-gazebo-plugins, ros-kinetic-kobuki-gazebo, ros-kinetic-grasping-msgs, and ros-kinetic-smach-viewer.

For these reasons, my personal recommendation is to use the ROS By Example books with ROS Indigo (or even Hydro).  While you can certainly try compiling the packages listed above from source, I do not have plans to create a Kinetic branch of the rbx1 and rbx2 repositories until these other packages have been released into Kinetic.

--patrick
-- 
The Pi Robot Project
http://www.pirobot.org/wordpress

Mohammad Salamah

unread,
Jul 25, 2016, 10:24:52 AM7/25/16
to ros-by-...@googlegroups.com
Dear Patrick

Thanks for updating, and I agree with you, ROS Indigo have long support



--
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.



--

Mohammad O. Salameh

Teaching Robotics Science for new generations

IEEE Member - Robotics and Automation Society

http://robotouch.blogspot.com/

ChrisL8

unread,
May 22, 2017, 2:03:26 PM5/22/17
to ros-by-example
Do you have any update on this now?

I'm not really pushing for you to run out and update your book, more just wondering if you have tinkered with Kinetic recently and have any advice on what is still missing?

Patrick Goebel

unread,
May 26, 2017, 8:37:35 AM5/26/17
to ros-by-...@googlegroups.com
Hi ChrisL8,

I wish I could give you an answer. I'm currently working more than full
time in a university robotics lab and have very little time to
experiment with ROS Kinetic. Virtually every robot we work with still
uses Indigo since it does the job and there is little motivation to migrate.

If others on the list are using the RBX code with ROS Kinetic and had to
make adjustments, please consider posting your findings to the list and
I will begin to compile a migration guide.

Thanks!
patrick

Burt Bicksler

unread,
Jun 15, 2017, 2:37:19 PM6/15/17
to ros-by-example

I'd recently installed Linux Mint 18.1 to test some issues I was having with Java based apps on Mint 17.1.  I'm running Indigo on Mint 17.1 and it is working fine with the ROS by example code, as well as vision code that I derived from the rbx1 vision examples.

I've been trying to get Kinetic to work and play well.   I was able to resolve the gstreamer issue without too much pain and have my voice command processing working as well as motion.  But opencv is giving me fits.  None of the example code, or my derived code, works.  No crashes but it appears that the raw image topic data is not getting processed for some as yet unknown reason.  I can use rostopic to echo the topic and see the data streaming from the usb_cam just fine.
Non-ROS camshift test code in C++ AND Python works, but NADA from the ROS code.
I am also able to launch the usb_cam driver and use rosrun image_view image_view image:=/camera/rgb/image_raw and that works just fine.

But any of the example code that subscribes to the input_rgb_image ( /camera/rgb/image_raw) does not appear to work, and the subscribed callback function is not getting called.  There is some other Python related strangeness that I'm seeing as well related to the sub-classed image processing function, so I'm trying to sort that out.

I can, of course, revert to Indigo and Mint 17.1 but there are a bunch of other applications that I have on Mint 18.1 that I hate having to drop back to the older versions on Mint 17.1

Since I haven't seen any other discussion about Kinetic here so far, I'm assuming that no one else has done much with it and the ROS by example code yet.

I may see if I can rework the working Python camshift code that I found and integrate with ROS to see if that will process the raw data topic.

If I can work though the issues with vision I'll put together a list of what I had to do to get things working, as well as the code I did to get pocketsphinx working.

Burt Bicksler

unread,
Jun 16, 2017, 5:24:14 PM6/16/17
to ros-by-example
I have some more details on the problem I was having with OpenCV and ROS Kinetic.  And a potential work around/change to the example code

With Indigo and Open CV 3.1.0 things work working with the derived code with the named OpenCV windows being created in the object's __init__() method.  There was no issue with accessing those windows from within the callback function so the image frames were updated.

With Kinetic and Open CV 3.2.0-dev that was installed with ROS things are not so rosy.

The imshow() call would never return, and of course the window was not updated.

Until I can determine a better approach what I found was that if I moved the creation of the named windows to the callback method then things worked as expected again.

So I set a flag in __init__ and test the flag in the callback.  If the flag is set then I create the window(s) and perform associated initialization, then clear the flag so the window creation only happens once.  So far that looks like it resolved the issue, at least as far as getting the frame data to be drawn in the window(s).

I need to update my original test code to see if there are any other related issues, but if anyone else is trying to get the example vision code working and hitting the issue with imshow() not returning or drawing the window you might want to try this at least as a workaround.

My best guess that the latest ROS or OpenCV doesn't like accessing OpenCV windows related stuff from different threads, and the callback is happening on a different thread from the object in the ROS by example sample code.

I need to do some more testing, and if all goes well I'll write up what I did for pocketsphinx as well as dealing with the vision related issue(s).

Burt

Burt Bicksler

unread,
Jun 16, 2017, 6:42:00 PM6/16/17
to ros-by-example
OK, to get things fully working I had to also add a flag in the rbx1_vision/nodes/camshift.py for creating the windows. for Histogram, Parameters, and Backproject.  Then move the creation and setup of those windows and the trackbar sliders into the process_image() method in camshift.py, clearing the flag after the windows are created.

Once I did that (along with the similar change in ros2opencv2.py) then things appear to be fully working with Kinetic.

In my derived code that does color recognition (and speaks the color that the robot head sees) there is a minor issue with some text that I had added to the Histogram window where the bottom of the text is getting clipped off, so I need to track that down.

But the core functionality is now working again running on Kinetic.  I need to do some testing back with Indigo to see if I can use the same version of the code there or if I will need two versions, or some conditionals to make it work for both Indigo and Kinetic.

Again, after some more testing and making the corresponding changes to my object tracking code I'll write a formal list of changes for pocketsphinx with GStreamer 1.0 and these changes for OpenCV on Kinetic ROS.

Patrick Goebel

unread,
Jun 21, 2017, 8:54:40 AM6/21/17
to ros-by-...@googlegroups.com
Hi Burt,

Many thanks for taking the time to post your work with ROS Kinetic and the RBX code.  I'll take a look in more detail as soon as I get a chance.

--patrick

Alex

unread,
Jul 24, 2019, 5:04:35 AM7/24/19
to ros-by-example
Hi Patrick , 

Any update on the release of the book for kinetic. I guess most packages for kinetic are in stable mode so would be great if you can provide the diff file to convert provided you have time in hand. 
Thanks

To unsubscribe from this group and stop receiving emails from it, send an email to ros-by-...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages