[ros-users] Gazebo API changed after Groovy release

Jack O'Quin jack.oquin at gmail.com
Thu Jan 31 16:44:13 UTC 2013


I remember hearing that Groovy released with gazebo 1.2, but would be
"upgrading" to 1.3 later on. I presumed that those two versions must be
compatible, so I didn't think much about it.

Now, it appears I was wrong, those versions are *not* compatible, after
all. Some of the code we are using for a class at the University of Texas
broke recently:

math::Pose pose = this->parent->GetState().GetPose();


Becomes:

math::Pose pose = this->parent->GetWorldPose();


That seems trivial on an individual basis, but it is causing trouble for
our students who are trying to complete a class assignment today. Some
installed ROS Groovy on their personal laptops. Others use departmental
machines on which Groovy was installed at the beginning of the semester.

Those using their own machines broke when recent
ros-groovy-simulator-gazebo updates were applied. Computer Science
department policy is not to apply non-security package updates in the
middle of the semester, so those machines continue working correctly.

This kind of change breaks the most basic concept of a ROS distribution:

Much like Linux distributions, they make it much easier for developers to
target a consistent set of libraries to develop and test on. Also, we are
providing patches for distributions so that developers are not forced to
switch to bleeding edge, unstable code just to incorporate important bug
fixes.[1]

[1] http://www.ros.org/wiki/Distributions#What_is_a_Distribution.3F

Package maintainers are supposed to provide *binary* (ABI) as well as
*source* (API) compatibility after a distribution is released. Those things
may only change *before* the next release becomes final. After that, only
bug fixes should be made.

Furthermore, API changes between releases should provide at least one
tick-tock release cycle, in which both the new and the (deprecated) old
versions are provided.

Gazebo is an excellent simulator, heavily used by many projects. Therefore,
it needs to be especially sensitive to these stability issues.
-- 
 joq
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20130131/b3944eef/attachment-0003.html>


More information about the ros-users mailing list