Robotics StackExchange | Archived questions

Problem of running UWSim on ROS Kinetic

Hello! I am a new ROS user here so apologies in advance if I am asking some really obvious questions. Currently running ROS Kinetic version 1.12.14 (according to 'rosversion roscpp') on Ubuntu 16.04 LTS.

I am currently working on a research for tracking algorithms and would require an underwater simulator as proof-of-concept for the findings. I am currently trying the UWSim simulator based on the UWSim pages: http://wiki.ros.org/uwsim, as well as: http://www.irs.uji.es/uwsim/wiki/index.php?title=Installing_UWSim. I followed the Full Source-based installation and was able to run the simulator without any problems for around 1 week.

However, this week when I tried to run the simulator again, at first it was giving me a 'Segmentation fault' error similar to the problems shown in the following thread: https://answers.ros.org/question/188460/problem-in-running-uwsim/, even though the ~/.uwsim/data/ directory already existed.

I then tried to redownload the data necessary, only to then be met with the an symbol lookup/undefined symbol error, similar in nature to the problems shown here:

Specifically, for my case the following was shown in my terminal when I tried running 'rosrun uwsim uwsim':

nick-sadjoli@NS-ntu-u16:~$ rosrun uwsim uwsim

Starting UWSim...
Loading SimulatedDevices plugin: 'DredgeToolFactory'
Loading SimulatedDevices plugin: 'ForceSensor
Factory'
Loading SimulatedDevices plugin: 'SimDevEchoFactory'
. Setting localized world: 2.6e-05s
Loading URDF robot...
· robot/GIRONA500/g500March11.osg: 1.08919s
· robot/ARM5E/ARM5E
part0.osg: 0.032455s
· : 1.7e-05s
· robot/ARM5E/ARM5Epart1.osg: 0.030447s
· robot/ARM5E/ARM5E
part2.osg: 0.04838s
· robot/ARM5E/ARM5Epart3.osg: 0.170885s
· robot/ARM5E/ARM5E
part4base.osg: 0.156168s
· robot/ARM5E/ARM5E
part4jaw1.osg: 0.024855s
· : 1e-06s
· robot/ARM5E/ARM5E
part4jaw2.osg: 0.025362s
· Linking links...Robot successfully loaded. Total time: 0.010511s
1.5884s
/home/nick-sadjoli/catkin
wsuwsim/installisolated/lib/uwsim/uwsimbinary: symbol lookup error: /home/nick-
sadjoli/catkin
wsuwsim/installisolated/lib/libuwsim.so: undefined symbol:
ZN10kdlparser12treeFromFileERKNSt7_cxx1112basicstringIcSt11char_traitsIcESaIcEEERN3KDL4TreeE

I have tried the solution shown from the previous post (in my case that means making sure ros-kinetic-robot-state-publisher is updated), however rosdep already confirmed that I have installed the latest robot-state-publisher and the problem has not been resolved. I have also tried re-installing the entire ROS package with no success.

Has anyone else that has used UWSim on ROS Kinetic for underwater robotic projects ever encounter this issue as well? If so, I would appreciate any kind of help that you can give me for this simulator.

Also, any alternatives to UWSim or Gazebo for underwater environment that is easier to develop would be greatly appreciated.

Thank you and looking forward to your help and replies!

Asked by Nick_68 on 2018-12-11 08:58:44 UTC

Comments

If you've built uuwsim from source, I would recommend to try and clean out your workspace and building again. There is currently only a best-effort ABI compatibility check for many pkgs, so ABI breakages can happen. Rebuilding your workspace should fix those.

But it could also be a different issue.

Asked by gvdhoorn on 2018-12-11 15:20:32 UTC

As to alternatives: have you looked at uuvsimulator?

Asked by gvdhoorn on 2018-12-11 15:21:08 UTC

Hello @gvdhoorn! Thank you for the replies!

I have actually tried to rebuild the uwsim in a new catkin workspace entirely (i.e. making new catkin directory and reinstalling all .rosinstall packages). However it still was giving me the errors. What other types of issue can it be if I may know?

Asked by Nick_68 on 2018-12-11 22:14:56 UTC

I've also tried out the uuvsimulator however it seems to not able to model an underwater environment very accurately. From what I tried, the ocean environment models seem to just hollow boxes with lighting manipulation and a buoyancy script, which I think isn't ideal for simulating FLS behaviour

Asked by Nick_68 on 2018-12-11 22:21:19 UTC

To be clear, what I need is the capability of simulating controllable turbid underwater environments, as well as a working imaging sonar. I have found a paper that simulated a FLS within Gazebo but it didn't test it within uuvsimulator. Is there any features from uuvsimulator that can help?

Asked by Nick_68 on 2018-12-11 22:23:58 UTC

I am also interested in this topic. In fact, I would like to render the ocean using osgocean, while the hydrodynamics takes place on uuv_simulator.

Asked by Rômulo Cerqueira on 2018-12-13 14:01:18 UTC

I'm not actually a user of any of this, just thought I'd suggest something that I've seen being used by others.

As to the undefined symbol problem: it could be that some bitrot has occurred and UWSim needs to be updated to use newer versions of its dependencies.

After demangling the symbol, ..

Asked by gvdhoorn on 2018-12-14 09:51:41 UTC

.. we see this:

kdl_parser::treeFromFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, KDL::Tree&)

KDL has recently seen some changes, so that may be a cause.

It could also be that UWSim is not linking correctly against KDL.

But again: I don't know.

Asked by gvdhoorn on 2018-12-14 09:52:16 UTC

Hello, sorry for late reply, as I was working on a year-end report for the project. Unfortunately I am not that familiar with KDL myself, so thanks for bringing this up for me.

Asked by Nick_68 on 2018-12-18 12:42:36 UTC

@gvdhoorn Also, the issue right now has been fixed by totally reinstalling my Ubuntu 16 installation, so I haven't encountered any kind of this issue. If I encounter it again I will try look into the KDL stuff and reply to this comment again.

Asked by Nick_68 on 2018-12-18 12:44:18 UTC

@romulo-cerqueira I have actually taken a look at your paper regarding the simulation of FLS sonar and would like to ask you some questions myself. PM-ing you for more details on the project.

Asked by Nick_68 on 2018-12-18 12:47:13 UTC

Answers