uuv_simulator icon indicating copy to clipboard operation
uuv_simulator copied to clipboard

noetic compatible

Open my-name-is-D opened this issue 2 years ago • 8 comments

Those are the changes required to make uuv_simulator runs with noetic. I am not to credit for most of those changes, you can find them if you search well somewhere in the Issues list. However it does not make it easy for users so that's why it can at least be found in the requested pull.

Those change might makes this version not compatible with older ros distro. That has to be verified. Also, there may be still some sensors that are not adapted, i remember having realised some more changes afterward, but I'm not sure if it was to make it work with our drone or because of noetic incompatibilities. Don't hesitate to open an issue or to improve this pull if it happens.

my-name-is-D avatar Jul 09 '21 14:07 my-name-is-D

Testing with this PR, seeing that there are issues with installing the dependencies, specifically when running rosdep install --from-paths src --ignore-src --rosdistro=noetic -yr there is an issue that comes up relating to the installation of python-scipy, which is not a package available on Ubuntu 20.04. Might need to adjust the package,xml for the files that require this dependency, along with porting the scripts that use this dependency to python3.

onurbagoren avatar Sep 13 '21 14:09 onurbagoren

@my-name-is-D Thanks for the fix. Could you please adjust the dependency to python3-scipy? It would be nice to merge this update

Itamare4 avatar Dec 14 '21 08:12 Itamare4

I hope this get merged soon

technoo0 avatar Dec 19 '21 17:12 technoo0

sorry about the delay. I can't do the changes for still a while.

In the meantime, you meant to add : <depend>python-scipy</depend> in the package.xml, right?

though: "along with porting the scripts that use this dependency to python3" I didn't spot scipy import in the scripts. Could you give me a lead on when it's used there?

my-name-is-D avatar Dec 21 '21 09:12 my-name-is-D

sorry about the delay. I can't do the changes for still a while.

In the meantime, you meant to add : python-scipy in the package.xml, right?

though: "along with porting the scripts that use this dependency to python3" I didn't spot scipy import in the scripts. Could you give me a lead on when it's used there?

@my-name-is-D You can do like @ngxingyu did in the PR https://github.com/my-name-is-D/uuv_simulator/pull/1 to your repo.

Another change I think is necessary is that in files: uuv_control/uuv_control_utils/scripts/trajectory_marker_publisher.py and uuv_control/uuv_trajectory_control/scripts/rov_mb_fl_controller.py you changed the shebangs to python 3. The recommendation is to do like this: https://wiki.ros.org/UsingPython3/SourceCodeChanges#Changing_shebangs

Also, you should not remove uuv_simulator package. And you need to signoff your commits as stated in: https://github.com/ngxingyu/uuv_simulator/blob/ec7c1d4624b1b750f63cceebec2e1c65d82b4658/CONTRIBUTING.md#sign-your-work

I think the result should be a combination of the 3 commits:

  • https://github.com/Rezenders/uuv_simulator/commit/ec7c1d4624b1b750f63cceebec2e1c65d82b4658
  • https://github.com/Rezenders/uuv_simulator/commit/583afe3e0f30318751bbfcd5a585ea13b62cdbc8
  • https://github.com/Rezenders/uuv_simulator/commit/bac0a8d32980105fed546939099f43f567767c0b

Rezenders avatar Mar 09 '22 12:03 Rezenders

I've cloned the repo and added the changes from Rezender's commits, however am getting a failure to make due to uuv_gazebo_plugins being unable to find Protobuf. Have tried removing and re-installing libprotobuf-dev and protobuf-compiler, installing protobuf from Google's source github repositories, without success.

Tracing the callback leads to find_package(Protobuf REQUIRED) as the cause, with the specific error message being: "Could NOT find Protobuf (missing: Protobuf_INCLUDE_DIR)"

I can't distinguish whether this is simply my not having installed protobuf correctly somehow on my machine (probably this...), or Noetic and Protobuf don't like each other, or just something not updated in uuvsim. I don't recall having any protobuf related issues with melodic...

Edit: Worked around this issue by doing a fresh re-install of Ubuntu 20 and protobuf from source with Google's instructions in their github repository. However Gazebo 11 still throwing a lot of errors upon catkin_make about incompatible protocol buffer headers.

pes-ethanp avatar Mar 18 '22 20:03 pes-ethanp

Edit to my previous comment is not being saved for some reason, so copy pasting what I had typed here as a new one.. Uninstalled the source installation of protobuf, did a reinstall of noetic (and along with it libprotobuf-dev, protobuf-compiler, etc). That fixed the protobuf issues. Had a typo (my fault) in the changes I made to BuoyantObject.hh from the commits in this PR that caused "template placeholder type must be followed by a simple declarator-id" errors. After that, compilation got terminated with a few objects with fatal error: Killed signal terminated program cc1plus during catkin_make. I just re-ran catkin_make and it finished with no issues.

pes-ethanp avatar Mar 22 '22 16:03 pes-ethanp

hi, when will be merged?

Cavalletta98 avatar Jan 25 '23 09:01 Cavalletta98