pal-robotics / pal_hardware_gazebo

2 stars 5 forks source link

Melodic support #2

Open wxmerkt opened 5 years ago

wxmerkt commented 5 years ago

Hi guys, Gazebo 9 changed the API for ignition quite a bit - do you currently have any plans or timeline to add support for melodic?

Cheers, Wolfgang

v-lopez commented 5 years ago

We have plans, but I'm afraid they have not materialized into a deadline yet.

We'll be happy to review Pull Requests related to this, but I'm not sure when we'll able to spend development time on this. Hopefully before/during summer.

wxmerkt commented 5 years ago

Thank you for the swift response - I have started porting it to Melodic. The main issue appears related to gazebo_ros_control - is PAL still working with its fork or returning to the mainstream one? E.g., the RwResPtr and rw_resources_ are no longer available, mutex_ got deprecated in Jade.

v-lopez commented 5 years ago

I'm not the most adequate person to answer you about this, but the people who are, are not available at this time.

As far as I know, we're working with ROS Control maintainers on adding to ROS control the capabilities we need, so we can return to mainstream via a ROSIN project: http://rosin-project.eu/ftp/ros-control

Work is in progress here: https://github.com/pal-robotics-forks/ros_control2

wxmerkt commented 5 years ago

Thank you - I am not sure this fully answers it. ros_control2 does not include what I am referring to; the difference between the now archived gazebo_ros_control fork and upstream gazebo_ros_control is e.g. in the availability of mutex_, rw_resources_, RwResPtr etc. - which have been removed from upstream in newer releases but are required/used by pal_hardware_gazebo. This is what led me to enquire whether a custom gazebo_ros_control would be required? If you had any insights into which non-upstream projects/forks are required to run that would be fantastic!

v-lopez commented 5 years ago

For melodic I am not aware of any that will work.

What I meant, was that we forked ROS control to implement a behavior that was not there. I guess we forked gazebo_ros_control to be compatible with our forked ROS control.

If we manage to go back to upstream ros_control, probably there will be no need to have a separate gazebo_ros_control, or if we require some other changes, we'll be able to push them to the official repo.

Also ignore the archived one, you should always use https://github.com/pal-robotics-forks/gazebo_ros_pkgs with our robots.

wxmerkt commented 5 years ago

Thank you for the feedback and details, I will try again with the gazebo_ros_pkgs fork.

v-lopez commented 5 years ago

We'll do a small iteration on this, to see if we can get a melodic compatible version working by the end of next week.

This iteration will still use our custom ros control forks and similar packages, since changing ros control is a more long term solution.

We'll keep you updated.

wxmerkt commented 5 years ago

Thank you, this would be wonderful - once you know whether this works, could you provide a rosinstall file or a list of required packages/forks?

v-lopez commented 5 years ago

Of course!

Our target outcome is having our TIAGo Tutorials working with melodic, so if all goes well, we'll have a melodic-devel branch of tiago_tutorials with the corresponding rosinstall.

v-lopez commented 5 years ago

Here you can find an updated rosinstall file for melodic: https://github.com/pal-robotics/tiago_tutorials/blob/kinetic-devel/tiago_public-melodic.rosinstall

This repository and all others that were necessary have been made compatible with melodic, either on kinetic-devel branch or on melodic-devel branch when a non backward compatible change was needed.

wxmerkt commented 5 years ago

Thank you Victor - I will check it out!