Giter Club home page Giter Club logo

underwater_simulation's Introduction

UWSim-NET: UWSim with Network Simulator

Build Status

The new version of UWSim intregates a Network Simulator to be used along with the dccomms API. This simulator uses the NS3 libraries and the AquaSimNG as a NS3 module. The documentation related to simulate communications is a work in progress and will be included in the Wiki as soon as we can (please, be patience).

Wiki

http://www.irs.uji.es/uwsim/wiki/index.php?title=Main_Page

Citations

  • Prats, M.; Perez, J.; Fernandez, J.J.; Sanz, P.J., "An open source tool for simulation and supervision of underwater intervention missions", 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 2577-2582, 7-12 Oct. 2012
  • Centelles, D.; Soriano-Asensi, A.; Martí, J.V.; Marín, R.; Sanz, P.J. Underwater Wireless Communications for Cooperative Robotics with UWSim-NET. Appl. Sci. 2019, 9, 3526.

Issues

Exception GeographicLib::GeographicErr when starting uwsim

If you are getting the following error output when executing rosrun uwsim uwsim:

 ...
 data/objects/gun.osg
 Starting UWSim...
 Loading SimulatedDevices plugin: 'AcousticCommsDevice_Factory'
 Loading SimulatedDevices plugin: 'CustomCommsDevice_Factory'
 Loading SimulatedDevices plugin: 'DredgeTool_Factory'
 Loading SimulatedDevices plugin: 'ForceSensor_Factory'
 Loading SimulatedDevices plugin: 'SimDev_Echo_Factory'
  . Setting localized world: 7.1e-05s
 terminate called after throwing an instance of 'GeographicLib::GeographicErr'
  what():  File not readable /usr/share/GeographicLib/geoids/egm96-5.pgm
 /opt/ros/melodic/lib/uwsim/uwsim: line 23:  1452 Aborted                 (core dumped) rosrun uwsim uwsim_binary --dataPath ~/.uwsim/data $@

Run the following commands to fix it:

  wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
  chmod u+x install_geographiclib_datasets.sh
  sudo ./install_geographiclib_datasets.sh

underwater_simulation's People

Contributors

130s avatar bmagyar avatar davidfornas avatar dcentelles avatar lopsided98 avatar marioprats avatar miquelmassot avatar perezsolerj avatar tut-yury avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

underwater_simulation's Issues

Package ros-kinetic-uwsim doesn't exist

Hello,

When trying to get the package through sudo apt-get install ros-kinetic-uwsim , it directly does not exist. The ones that exist are the following:
ros-kinetic-uwsim-bullet
ros-kinetic-uwsim-osgbullet
ros-kinetic-uwsim-osgocean
ros-kinetic-uwsim-osgworks

Any solution to this?

/home/ccs/catkin_uwsimulation/install_isolated/lib/libosg_markers.so: undefined reference to `osg::Geometry::setColorArray

when i run the command "catkin_make_isolated --install",i meet these error:
/home/ccs/catkin_uwsimulation/install_isolated/lib/libosg_markers.so: undefined reference to `osg::Geometry::setColorArray(osg::Array*)'
collect2: error: ld returned 1 exit status
CMakeFiles/osg_interactive_markers_demo.dir/build.make:134: recipe for target '/home/ccs/catkin_uwsimulation/devel_isolated/osg_interactive_markers/lib/osg_interactive_markers/osg_interactive_markers_demo' failed
make[2]: *** [/home/ccs/catkin_uwsimulation/devel_isolated/osg_interactive_markers/lib/osg_interactive_markers/osg_interactive_markers_demo] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/osg_interactive_markers_demo.dir/all' failed
make[1]: *** [CMakeFiles/osg_interactive_markers_demo.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
<== Failed to process package 'osg_interactive_markers':
Command '['/home/ccs/catkin_uwsimulation/install_isolated/env.sh', 'make', '-j2']' returned non-zero exit status 2
this trouble me a long time, can you help me?

cannot install uwsim in ubuntu 14 ros indigo

Hi, I choose the way of Source-based installation in Groovy and later distributions to install uwsim, and I have git clone all the source files, In my workspace, I compile source code using
rosdep install --from-paths src --ignore-src --rosdistro groovy -y' ' catkin_make_isolated --install

the error occurs in the uwsim/src/ROSInterface.cpp.o, the reason is the robot_state_publisher :publishFixedTransforms(const std::string& tf_prefix) in ROSInterface.cpp is not agreed with the opt/ros/indigo/share/robot_state_publisher.

When using ‘sudo apt-get install ros-indigo-robot-state-publisher‘, the build of uwsim fails again.
there are six source packages to be catkin_make-ed, only underwater_simlation can not be build successfully.
The problem is still in the robot_state_publisher. Thus, how should I configure robot_state_pulisher in ros to help catkin_make the underwater_simulation package. Thank you.

[kinetic-devel] Build has never succeeded on ROS buildfarm

(Maybe) since its release into ROS Kinetic ros/rosdistro#13689, I'm afraid uwsim might have never been built on buildfarm. At least AFAI see, the last 30 trials all failed (link to Jenkins for 64bit, for 32b).

Looking at its build log, e.g. this, I found a lot of errors happening around libxml++-2.6, e.g.:

23:41:46 /usr/include/libxml++-2.6/libxml++/exceptions/validity_error.h:36:19: error: expected ‘;’ at end of member declaration
23:41:46    ~validity_error() noexcept override;
23:41:46                    ^
23:41:46 /usr/include/libxml++-2.6/libxml++/exceptions/validity_error.h:36:21: error: ‘noexcept’ does not name a type
23:41:46    ~validity_error() noexcept override;
23:41:46                      ^
23:41:46 /usr/include/libxml++-2.6/libxml++/exceptions/validity_error.h:36:21: note: C++11 ‘noexcept’ only available with -std=c++11 or -std=gnu++11
23:41:46 /usr/include/libxml++-2.6/libxml++/exceptions/validity_error.h:38:16: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11
23:41:46    void Raise() const override;
23:41:46                 ^
23:41:46 /usr/include/libxml++-2.6/libxml++/exceptions/validity_error.h:39:22: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11
:
23:41:46 /usr/include/libxml++-2.6/libxml++/schema.h:48:40: error: ‘nullptr’ was not declared in this scope

groovy-devel and hydro-devel are way behind master

Both devel branches were created in April and lack all the changes/fixes introduced later. Just started working on UWSim on hydro and ubuntu 13.04 and had to change quite a lot of configs to make it compile (UWSim still doesn't compile currently with link error).
Are there any plans on merging/rebasing groovy-devel and hydro-devel branches with master?

TF frames should be generated for sensors

Right now, it is necessary to edit the URDF to have proper TF frames for sensors. Also, using the Girona500 example, TF prefixes are added after the fact, making "hardcoding" TF frames in the xml difficult.

It would be great if uwsim could check if a referenced TF frame in the sensor definition exists already, and generate one (with the configured pose and parent frame) if it does not, while respecting the naming conventions (i.e. include the prefix as well). Maybe a warning should be issued if the frame does exist, but does not have the same pose relative to the frame mentioned in the relativeTo tag.

Ocean surface physics

Hey,
I'm trying to use uwsim for simulation of a surface vessel. Is there any way to configure the scene to make the vessel react to the waves? I have enablePhysics=1, but there are no visible effects like buoyancy. Is this something that has already been implemented or will it be a useful feature for uwsim?

Running UWSim from a server

As we all know, uwsim is not lightweight in terms of graphics and cpu process, so I intended to run it on a server machine instead of on my own laptop to free up cpu and graphics.
However, when I run uwsim through ssh it's not possible, here's the output:

$ rosrun uwsim uwsim
Starting UWSim...
Loading SimulatedDevices plugin: 'SimDev_Echo_Factory'
  . Setting localized world: 0.00118s
Loading URDF robot... 
  · robot/GIRONA500/g500_March11.osg: 1.2619s
  · robot/ARM5E/ARM5E_part0.osg: 0.042751s
  · robot/ARM5E/ARM5E_part1.osg: 0.042831s
  · robot/ARM5E/ARM5E_part2.osg: 0.058096s
  · robot/ARM5E/ARM5E_part3.osg: 0.215907s
  · robot/ARM5E/ARM5E_part4_base.osg: 0.199131s
  · robot/ARM5E/ARM5E_part4_jaw1.osg: 0.038184s
  · robot/ARM5E/ARM5E_part4_jaw2.osg: 0.037616s
  · Linking links...Robot successfully loaded. Total time: 0.000758s
1.8975s
[ INFO] [1389865946.737459232]: Loaded tree, 7 segments, 6 joints
Xlib:  extension "NV-GLX" missing on display "localhost:10.0".
[ INFO] [1389865948.735544463]: ROSOdomToPAT subscriber on topic /dataNavigator
[ INFO] [1389865948.739279321]: ArmToROSJointState publisher on topic /uwsim/joint_state
[ INFO] [1389865948.739430484]: ROSJointStateToArm subscriber on topic /uwsim/joint_state_command
[ INFO] [1389865948.739592863]: VirtualCameraToROSImage publisher on topic /uwsim/camera1_info
[ INFO] [1389865948.764002390]: ROSTwistToPAT subscriber on topic /g500/twist
[ INFO] [1389865948.764154058]: RangeSensorToROSRange publisher on topic /uwsim/g500/range
[ INFO] [1389865948.764229583]: ROSPoseToPAT subscriber on topic /g500/pose
[ INFO] [1389865948.764365247]: GPSSensor publisher on topic g500/gps
[ INFO] [1389865948.764415839]: VirtualCameraToROSImage publisher on topic /uwsim/rangecamera_info
[ INFO] [1389865948.764517263]: DVLSensor publisher on topic g500/dvl
[ INFO] [1389865948.766239231]: Imu publisher on topic g500/imu
[ INFO] [1389865948.766329930]: PressureSensor publisher on topic g500/pressure
[ INFO] [1389865948.790178842]:  MultibeamSensorToROS publisher on topic g500/multibeam
[ INFO] [1389865948.790325608]: SimDev_Echo_ROSPublisher on topic g500/echo1
[ INFO] [1389865948.790573663]: SimDev_Echo_ROSPublisher on topic g500/echo2
[ INFO] [1389865948.883851279]: contactSensorToROS publisher on topic g500/contactSensor
[xcb] Too much data requested from _XRead
[xcb] This is most likely caused by a broken X extension library
[xcb] Aborting, sorry about that.
uwsim_binary: ../../src/xcb_io.c:736: _XRead: Assertion `!xcb_xlib_too_much_data_requested' failed.
/home/ros/hydro/src/uib-ros/underwater_simulation/uwsim/src/uwsim: line 22:  2453 Aborted                 (core dumped) rosrun uwsim uwsim_binary --dataPath ~/.uwsim/data $@

is this problem related with ssh and X-forwarding or it's uwsim related? Have you tried running uwsim remotely?

White Underwater

Hi, thank you for developing this simulator!

Environment: Ubuntu 18.04 LTS
ROS: ROS Melodic
Install method: sudo apt-get install ros-melodic-uwsim

I'm wondering if anyone has this issue.

When I am out of the water, the screen is normal.
normal

However, when I enter the water, my screen turns completely white.
white

I have tried all of the keyboard shortcuts on the wiki but to no avail.

However, in scene ship.xml, I was able to toggle 'b' and look underwater, but the same method does not work in ship_wreck.xml.

I am very puzzled about this, and I would immensely appreciate any tips or pointers of something that I'm missing.

Install on Ubuntu 18 LTS with ROS melodic

I'm trying to install uwsim on Ubuntu 18 LTS with the rosdistro = melodic.
I started with:
wstool init src

I edited the .rosinstall file as mentioned in the wiki and ran:
wstool update
It downloaded a lot but I got some errors as well which look like they are distro dependend. Rerunning the command gives me the following errors.

[src/uwsim_osgocean] Updating /home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_osgocean
WARNING [vcstools] Command failed: 'git checkout melodic-devel'
run at: '/home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_osgocean'
errcode: 1:
error: pathspec 'melodic-devel' did not match any file(s) known to git.
[/vcstools]
[src/uwsim_osgworks] Updating /home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_osgworks
WARNING [vcstools] Command failed: 'git checkout melodic-devel'
run at: '/home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_osgworks'
errcode: 1:
error: pathspec 'melodic-devel' did not match any file(s) known to git.
[/vcstools]
[src/uwsim_bullet] Updating /home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_bullet
WARNING [vcstools] Command failed: 'git checkout melodic-devel'
run at: '/home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_bullet'
errcode: 1:
error: pathspec 'melodic-devel' did not match any file(s) known to git.
[/vcstools]
[src/uwsim_osgbullet] Updating /home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_osgbullet
WARNING [vcstools] Command failed: 'git checkout melodic-devel'
run at: '/home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_osgbullet'
errcode: 1:
error: pathspec 'melodic-devel' did not match any file(s) known to git.
[/vcstools]
[src/underwater_simulation] Updating /home/cooper/Programme/WaterGlider/catkin_ws/src/src/underwater_simulation
WARNING [vcstools] Command failed: 'git checkout melodic-devel'
run at: '/home/cooper/Programme/WaterGlider/catkin_ws/src/src/underwater_simulation'
errcode: 1:
error: pathspec 'melodic-devel' did not match any file(s) known to git.
[/vcstools]
Exception caught during install: Error processing 'src/uwsim_osgocean' : [src/uwsim_osgocean] Update Failed of /home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_osgocean
Error processing 'src/uwsim_osgworks' : [src/uwsim_osgworks] Update Failed of /home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_osgworks
Error processing 'src/uwsim_bullet' : [src/uwsim_bullet] Update Failed of /home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_bullet
Error processing 'src/uwsim_osgbullet' : [src/uwsim_osgbullet] Update Failed of /home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_osgbullet
Error processing 'src/underwater_simulation' : [src/underwater_simulation] Update Failed of /home/cooper/Programme/WaterGlider/catkin_ws/src/src/underwater_simulation

ERROR in config: Error processing 'src/uwsim_osgocean' : [src/uwsim_osgocean] Update Failed of /home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_osgocean
Error processing 'src/uwsim_osgworks' : [src/uwsim_osgworks] Update Failed of /home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_osgworks
Error processing 'src/uwsim_bullet' : [src/uwsim_bullet] Update Failed of /home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_bullet
Error processing 'src/uwsim_osgbullet' : [src/uwsim_osgbullet] Update Failed of /home/cooper/Programme/WaterGlider/catkin_ws/src/src/uwsim_osgbullet
Error processing 'src/underwater_simulation' : [src/underwater_simulation] Update Failed of /home/cooper/Programme/WaterGlider/catkin_ws/src/src/underwater_simulation

After that I tried to continue anyway. Which is stupid probably.

I ran:
rosdep install --from-paths src --ignore-src --rosdistro melodic -y -r
Getting this error besides lots of installed dependecies.

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
uwsim_osgocean: No definition of [catkin] for OS version [artful]
underwater_vehicle_dynamics: No definition of [tf_conversions] for OS version [artful]
underwater_sensor_msgs: No definition of [visualization_msgs] for OS version [artful]
uwsim_bullet: No definition of [catkin] for OS version [artful]
uwsim: Cannot locate rosdep definition for [xacro]
uwsim_osgbullet: No definition of [uwsim_osgworks] for OS version [artful]
uwsim_osgworks: No definition of [catkin] for OS version [artful]
Continuing to install resolvable dependencies...
#All required rosdeps installed successfully

and then:
catkin_make_isolated
This installs 6 packages but fails to install uwsim with the error:

CMake Error at CMakeLists.txt:24 (find_package):
By not providing "Findosg_markers.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"osg_markers", but CMake did not find one.

Could not find a package configuration file provided by "osg_markers" with
any of the following names:

osg_markersConfig.cmake
osg_markers-config.cmake

Add the installation prefix of "osg_markers" to CMAKE_PREFIX_PATH or set
"osg_markers_DIR" to a directory containing one of the above files. If
"osg_markers" provides a separate development package or SDK, be sure it
has been installed.

-- Configuring incomplete, errors occurred!
See also "/home/cooper/Programme/WaterGlider/catkin_ws/build_isolated/uwsim/CMakeFiles/CMakeOutput.log".
See also "/home/cooper/Programme/WaterGlider/catkin_ws/build_isolated/uwsim/CMakeFiles/CMakeError.log".
<== Failed to process package 'uwsim':
Command '['/home/cooper/Programme/WaterGlider/catkin_ws/devel_isolated/uwsim_osgbullet/env.sh', 'cmake', '/home/cooper/Programme/WaterGlider/catkin_ws/src/src/underwater_simulation/uwsim', '-DCATKIN_DEVEL_PREFIX=/home/cooper/Programme/WaterGlider/catkin_ws/devel_isolated/uwsim', '-DCMAKE_INSTALL_PREFIX=/home/cooper/Programme/WaterGlider/catkin_ws/install_isolated', '-G', 'Unix Makefiles']' returned non-zero exit status 1

Reproduce this error by running:
==> cd /home/cooper/Programme/WaterGlider/catkin_ws/build_isolated/uwsim && /home/cooper/Programme/WaterGlider/catkin_ws/devel_isolated/uwsim_osgbullet/env.sh cmake /home/cooper/Programme/WaterGlider/catkin_ws/src/src/underwater_simulation/uwsim -DCATKIN_DEVEL_PREFIX=/home/cooper/Programme/WaterGlider/catkin_ws/devel_isolated/uwsim -DCMAKE_INSTALL_PREFIX=/home/cooper/Programme/WaterGlider/catkin_ws/install_isolated -G 'Unix Makefiles'

Command failed, exiting.

Is it possible to install uwsim with ros=melodic or is it impossible right now?
Thanks in advance!

Lukas

New structure for XML parsing - Vehicle sensors - ROSInterfaces

The current class structure for XML parsing is quite simple. It is very tedious to add a new sensor, since a lot of files need to be modified (ConfigXMLParser, SimulatedIAUV, SceneBuilder, ROSInterfaces). It would be nice to have a clear interface for new sensors that automatically parses the XML, add the objects to the scene and creates the ROS interfaces.

A developer could then implement that interface for easily adding new sensors.

Clean ConfigXMLParser

We should review and clean this interface, making sure appropriate data structures are used and avoiding redundant function arguments. Consider refactoring into the new plugin interface.

Path for textures

When a model has a texture, it seems that the texture file has to be stored inside UWSim/data/textures for it to be loaded. This prevents users from having external folders with models and textures.
Should check where OSG looks for textures, and add to the standard path those defined by the user with the --dataPath option

Needs Readme

Hi,

How do I build it and what dependencies are required?

Structured Light Projector in Kinetic

I have been trying to make a simulation of laser projection with ROS Kinetic and UWsim. But whenever I use the plugin for in my scene, the brightness of the whole scene goes super low and there is no sign of the projection. Any ideas?

UWSim with ROS Indigo - in-water camera view is very 'noisey'

Hi,

I have built UWSim and ROS Indigo from source. However when I run UWSim without using --disableShader the camera view looks terrible under the water. Outside the water it looks fine.

With --disableShader the surface of the water looks solid and the water appears invisible.

I wonder if anyone else has had any similar issues.

Build error looking for kdl_parser

After merge of #25, the Travis build is failing at this point:

/home/travis/ros/ws_uwsim/src/underwater_simulation/uwsim/src/ROSInterface.cpp: In constructor ‘WorldToROSTF::WorldToROSTF(osg::Group*, std::vector<boost::shared_ptr<SimulatedIAUV> >, std::string, unsigned int, int)’:
/home/travis/ros/ws_uwsim/src/underwater_simulation/uwsim/src/ROSInterface.cpp:982:12: error: ‘kdl_parser’ has not been declared

Probably a missing dependency to kdl_parser o missing include. @davidfornas

Only one structured light projector works simultaneously

Due to the shaders implementation of this sensor only one structured light projector can work in each scene. In order to make more than one working at the same time array uniforms are required in the shaders so it can project multiple textures on the scene.

Depending on the GLSL version this could be done in different ways as array support for textures was introduced in GLSL 1.3 and modified in GLSL 4.00: http://stackoverflow.com/questions/12030711/glsl-array-of-textures-of-differing-size . Implementation should work in different versions, or at least don't break the current features in them.

UWSim build error

Following the installation procedure stated in http://www.irs.uji.es/uwsim/wiki/index.php?title=Installing_UWSim the following error message apears when requested to rosmake UWSim
{-------------------------------------------------------------------------------
[rosbuild] Building package UWSim
[rosbuild] Including /opt/ros/fuerte/share/roscpp/rosbuild/roscpp.cmake
[rosbuild] Including /opt/ros/fuerte/share/rospy/rosbuild/rospy.cmake
[rosbuild] Including /opt/ros/fuerte/stacks/client_rosjava_jni/rosjava_jni/cmake/rosjava.cmake
[rosbuild] Including /opt/ros/fuerte/share/roslisp/rosbuild/roslisp.cmake
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hash/src/underwater_simulation/UWSim
[ 0%] Built target rospack_genmsg_libexe
[ 0%] Built target rosbuild_precompile
Scanning dependencies of target uwsim
[ 2%] Building CXX object CMakeFiles/uwsim.dir/src/SimulatedIAUV.o
In file included from /home/hash/src/underwater_simulation/UWSim/src/ROSInterface.h:29:0,
from /home/hash/src/underwater_simulation/UWSim/src/SceneBuilder.h:21,
from /home/hash/src/underwater_simulation/UWSim/src/SimulatedIAUV.cpp:13:
/home/hash/src/underwater_simulation/UWSim/src/BulletPhysics.h:20:38: fatal error: osgbDynamics/MotionState.h: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/uwsim.dir/src/SimulatedIAUV.o] Error 1
make[1]: *** [CMakeFiles/uwsim.dir/all] Error 2
-------------------------------------------------------------------------------}

Allow different names and multiple interfaces in device manager

Device manager links interface and device classes using the XML tag names. Furthermore it only allows interfaces with the name "{DEVICENAME}ROS". Although this check is fine as it forbids attaching interfaces to the wrong device we shouldn't trust an XML name for it because it lacks freedom to choose interface/device names and it makes impossible linking multiple interface types to the same device (or multiple devices to the same interface), as it happens with old devices such as cameras.

So I would suggest to add an attribute to each XML interface stating the valid interfaces for it and create it as default value in the DTD.

Documentation of camera parameters

Hi, could you please document the specific meaning of the camera parameters used by the virtual cameras please? I.e. the definition of each of the following: fx, fy, x0, y0, f, n, and k.

Lighting/shadows under water

Hi guys,
I am trying to simulate a dive inside a shipwreck, in real life it should be dark inside the ship with light coming form outside through holes (I use another model of a shipwreck, with actual hull).
In UWSim, however, darkness (using fog) depends only on distance from camera. If camera is inside the hull and the ship is 100 meters deep, it is still as bright as if it had no roof and a surface level...
Is there anything I can tweak in the world file, blend/ive file or in the code to make lighting/shadows work (better)?

~/.uwsim/data download fails

Attempting to run on Ubuntu 16 with ROS Kinetic. Was able to build using release candidates and underwater_simulation repo.

Finally trying to rosrun uwsim uwsim and receiving the error:

`` --2019-07-17 18:37:47-- http://www.irs.uji.es/uwsim/files/data.tgz
Resolving www.irs.uji.es (www.irs.uji.es)... 150.128.97.138
Connecting to www.irs.uji.es (www.irs.uji.es)|150.128.97.138|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2019-07-17 18:37:47 ERROR 404: Not Found.

Starting UWSim...
Loading SimulatedDevices plugin: 'DredgeTool_Factory'
Loading SimulatedDevices plugin: 'ForceSensor_Factory'
Loading SimulatedDevices plugin: 'SimDev_Echo_Factory'
. Setting localized world: 7.8e-05s
Loading URDF robot...
· robot/GIRONA500/g500_March11.osg: Error retrieving file robot/GIRONA500/g500_March11.osg Check URDF file or set your data path with the --dataPath option.
terminate called after throwing an instance of 'pluginlib::LibraryUnloadException'
what(): According to the loaded plugin descriptions the class ForceSensor_Factory with base class type uwsim::SimulatedDeviceFactory does not exist. Declared types are DredgeTool_Factory ForceSensor_Factory SimDev_Echo_Factory
/home/jdulle/catkin_ws/install_isolated/lib/uwsim/uwsim: line 23: 17680 Aborted (core dumped) rosrun uwsim uwsim_binary --dataPath ~/.uwsim/data $@
''

My guess is that http://www.irs.uji.es/uwsim/files/data.tgz no longer exists, so the following error is caused by not having the ~/.uwsim/data file.

Is there a work around for this?

Thanks!

Incomplete stereo image rendering

Hi there,

we've noticed a strange issue in UWSim when running with stereo cameras. Sometimes you can see that an image has not been fully updated to the current frame. That can be seen as an image, half of it belonging to the current frame, half of it to the previous. A jump can be clearly seen in the image.

Please find attached one example, ran with cirs_stereo.xml. This issue has been noticed both in computers with bumblebee and without it.

Left image:
left000003
Right image:
right000003

I can't say if this has happened before. If it had, I didn't notice.

Allow Building xml scenes using xacro

Scenes files are getting too big to mantain and most of the blocks are copy-pasted to other scenes making difficult to achieve consistency. We could use xacro http://wiki.ros.org/xacro to compose scenes at build time from functional blocks such as girona500 vehicle, stereo camera, multibeam or black box.

This way we could create configuration blocks for sensors, vehicles etc easier to mantain and change.

ocean surface renders at low frequency

It's only me or do you also see ocean surface 'jumps' once per second or so?
I've been seeing this since quite a long time, but not sure since when exactly...

Follow a code style

As UWSim grows we should start paying more attention to code style and rules. Since UWSim is strongly integrated with ROS, I suggest adopting the ROS coding style:

http://wiki.ros.org/CppStyleGuide

If you use an IDE, in the following link you can find some style templates you can use:

http://wiki.ros.org/IDEs

I'm planning to auto-format all the existing files according to the ROS style. Please tell me when you think is a good moment. Changing the style may cause a lot of problems for merges, so let's do it when you are in sync with this repository and without pending pull requests.

Problems about range snesor

I think ,in default Tank Scene with G500, the virtual range sensor is mounted to Part0 with pitch -1.57 rad. So it is pointing down to measure the distance between ROV and the floor. But when I try to use range sensor as a forward looking sonar, I change the pitch to 0. However, the data from topic doesn't change at all. It seems that it still feedback the distance between ROV and floor. I wonder how to use range sonar as FLS?

Compiling failure: Can't find osg_utils.h and marker_base.h

I'm trying to install the uwsim-package which needs visualization_osg.
Ubuntu 16.04 LTS and ros-kinetic.
I created the .rosinstall file as described and got all the files from the repositories but now I'm having issues with some header files which exist but are not in the right place according to the compiler.

All in all I want to install uwsim which needs the following packages:
~~ traversing 11 packages in topological order:
~~ - osg_markers
~~ - osg_utils
~~ - osg_interactive_markers
~~ - underwater_sensor_msgs
~~ - underwater_vehicle_dynamics
~~ - uwsim_bullet (plain cmake)
~~ - uwsim_osgocean (plain cmake)
~~ - uwsim_osgworks (plain cmake)
~~ - uwsim_osgbullet (plain cmake)
~~ - uwsim
~~ - visualization_osg

When I run catkin_make_isolated, while compiling osg_interactive_markers I get the following error:

[ 37%] Building CXX object CMakeFiles/osg_interactive_markers.dir/src/interactive_marker.cpp.o
[ 50%] Building CXX object CMakeFiles/osg_interactive_markers.dir/src/interactive_marker_display.cpp.o
/home/ros/Programme/WaterGlider/Workspace/src/src/visualization_osg/osg_interactive_markers/src/interactive_marker.cpp:32:33: fatal error: osg_utils/osg_utils.h: No such file or directory
compilation terminated.
CMakeFiles/osg_interactive_markers.dir/build.make:110: recipe for target 'CMakeFiles/osg_interactive_markers.dir/src/interactive_marker.cpp.o' failed
make[2]: *** [CMakeFiles/osg_interactive_markers.dir/src/interactive_marker.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/ros/Programme/WaterGlider/Workspace/src/src/visualization_osg/osg_interactive_markers/src/interactive_marker_control.cpp:32:0:
/home/ros/Programme/WaterGlider/Workspace/src/src/visualization_osg/osg_interactive_markers/include/osg_interactive_markers/interactive_marker_control.h:39:37: fatal error: osg_markers/marker_base.h: No such file or directory
compilation terminated.
CMakeFiles/osg_interactive_markers.dir/build.make:134: recipe for target 'CMakeFiles/osg_interactive_markers.dir/src/interactive_marker_control.cpp.o' failed
make[2]: *** [CMakeFiles/osg_interactive_markers.dir/src/interactive_marker_control.cpp.o] Error 1
In file included from /home/ros/Programme/WaterGlider/Workspace/src/src/visualization_osg/osg_interactive_markers/include/osg_interactive_markers/interactive_marker.h:35:0,
from /home/ros/Programme/WaterGlider/Workspace/src/src/visualization_osg/osg_interactive_markers/include/osg_interactive_markers/interactive_marker_display.h:35,
from /home/ros/Programme/WaterGlider/Workspace/src/src/visualization_osg/osg_interactive_markers/src/interactive_marker_display.cpp:32:
/home/ros/Programme/WaterGlider/Workspace/src/src/visualization_osg/osg_interactive_markers/include/osg_interactive_markers/interactive_marker_control.h:39:37: fatal error: osg_markers/marker_base.h: No such file or directory
compilation terminated.
CMakeFiles/osg_interactive_markers.dir/build.make:86: recipe for target 'CMakeFiles/osg_interactive_markers.dir/src/interactive_marker_display.cpp.o' failed
make[2]: *** [CMakeFiles/osg_interactive_markers.dir/src/interactive_marker_display.cpp.o] Error 1
CMakeFiles/Makefile2:153: recipe for target 'CMakeFiles/osg_interactive_markers.dir/all' failed
make[1]: *** [CMakeFiles/osg_interactive_markers.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
<== Failed to process package 'osg_interactive_markers':
Command '['/home/ros/Programme/WaterGlider/Workspace/devel_isolated/osg_utils/env.sh', 'make', '-j4', '-l4']' returned non-zero exit status 2

Reproduce this error by running:
==> cd /home/ros/Programme/WaterGlider/Workspace/build_isolated/osg_interactive_markers && /home/ros/Programme/WaterGlider/Workspace/devel_isolated/osg_utils/env.sh make -j4 -l4

Command failed, exiting.

I could remove these errors with moving osg_utils/osg_utils.h and osg_markers/marker_base.h around. But then I had reference issues, about some functions.
Not sure what is wrong here.

I tried sourcing the three different setup.bash files I could find:
workspace/devel_isolated/osg_interactive_markers/setup.bash
workspace/devel_isolated/osg_markers/setup.bash
workspace/devel_isolated/osg_utils/setup.bash

ROS2 roadmap

Hello,

Is there any plans to support ROS2 Foxy?

Thanks.

Build error linking travis

Travis build fail when linking libuwsim.so

Linking CXX shared library /home/travis/ros/ws_uwsim/devel/lib/libuwsim.so
/usr/bin/ld: cannot find -lorocos-kdl

No Ocean Floor Physics

I am trying to create an ocean floor that interacts with the ROV. I have tried a number of things (including putting in another object that acts as a bottom, and making the floor kinematic). None of these have resulted in a seafloor that my ROV interacts with (more than passing right through it). The floor is either fixed but does not interact or interacts but falls infinitely under gravity. I was wondering how the floor was created in the cirs file, and how I might go about creating a solid, fixed object to make a seafloor?

Thank you in advance

Multi robots support

Hello,
Do you plan to add a multirobot option ? I don't see any clue in the wiki.

Thanks & Great job BTW

UWSim Updated for ROS Melodic

You can either install from the repositories or build UWSim for ROS Melodic. The wiki pages to build, install and run uwsim has also been updated.

http://www.irs.uji.es/uwsim/wiki/index.php?title=Installing_UWSim

After installing/compiling you must run the following commands before the first run to avoid an exception of type 'GeographicLib::GeographicErr':

wget 
https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
chmod u+x install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh

RangeCameraToPCL error

I am trying to use RangeCameraToPCL Ros Interface for my project. I added a code section for this in my scene.xml file.
<RangeCameraToPCL> <cameraName>rangeImage</cameraName> <topic>/uwsim/rangepcd</topic> <rate>10</rate> </RangeCameraToPCL>
When tried to run the simulator as usual, I am facing an error which is shown below

Validity error:
File /home/vipul/Vipul/uwsim_ws/src/underwater_simulation/uwsim/data/scenes/custom_scene.xml, line 464, column 19 (error):
Element rosInterfaces content does not follow the DTD, expecting (ROSOdomToPAT* , PATToROSOdom* , WorldToROSTF* , ArmToROSJointState* , ROSJointStateToArm* , VirtualCameraToROSImage* , ROSImageToHUD* , ROSTwistToPAT* , RangeSensorToROSRange* , ROSPoseToPAT* , ImuToROSImu* , PressureSensorToROS* , GPSSensorToROS* , DVLSensorToROS* , RangeImageSensorToROSImage* , multibeamSensorToLaserScan* , SimulatedDeviceROS* , contactSensorToROS* , echoROS* , ForceSensorROS* , ROSPointCloudLoader* , RangeCameraToPCL* , CustomCommsDeviceROS* , AcousticCommsDeviceROS*), got (ROSOdomToPAT WorldToROSTF ArmToROSJointState ROSJointStateToArm VirtualCameraToROSImage ROSTwistToPAT RangeCameraToPCL ROSPoseToPAT RangeImageSensorToROSImage )
Please check your XML file
terminate called after throwing an instance of 'pluginlib::LibraryUnloadException'
what(): According to the loaded plugin descriptions the class CustomCommsDevice_Factory with base class type uwsim::SimulatedDeviceFactory does not exist. Declared types are AcousticCommsDevice_Factory CustomCommsDevice_Factory DredgeTool_Factory ForceSensor_Factory SimDev_Echo_Factory
/home/vipul/Vipul/uwsim_ws/src/underwater_simulation/uwsim/src/uwsim: line 23: 20203 Aborted (core dumped) rosrun uwsim uwsim_binary --dataPath ~/.uwsim/data $@

Could not find executable named uwsim_binary

[KINETIC]

When trying to run:
$ rosrun uwsim uwsim

It dowloads the files but it says:

Starting UWSim...
[rosrun] Couldn't find executable named uwsim_binary below /home/daniel/catkin_ws/src/underwater_simulation/uwsim

I followed the full installation from sources step by step.

I tried to just copy the file it requests under the location where it looks for it, but has not worked. Then it says:

Starting UWSim...
Loading SimulatedDevices plugin: 'DredgeTool_Factory'
terminate called after throwing an instance of 'pluginlib::LibraryLoadException'
what(): Could not find library corresponding to plugin DredgeTool_Factory. Make sure the plugin description XML file has the correct name of the library and that the library actually exists.
/home/daniel/catkin_ws/src/underwater_simulation/uwsim/src/uwsim: line 23: 29256 Aborted (core dumped) rosrun uwsim uwsim_binary --dataPath ~/.uwsim/data $@

Any thoughts?
Thank you.

error: ‘class osg::Geometry’ has no member named ‘suitableForOptimization’ if (_geometry->suitableForOptimization())

Hi,when i run the command "catkin_make_isolated --install", i meet these following mistakes:

/home/ccs/catkin_uwsim/src/uwsim_osgworks/include/osgwTools/Export.h:41:27: note: in definition of macro ‘osgwDEPRECATED’
#define osgwDEPRECATED(x) x attribute ((deprecated))
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/ShortEdgeOp.cpp: In member function ‘void osgwTools::ShortEdgeCollapse::setGeometry(osg::Geometry*)’:
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/ShortEdgeOp.cpp:1710:20: error: ‘class osg::Geometry’ has no member named ‘suitableForOptimization’
if (_geometry->suitableForOptimization())
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/ShortEdgeOp.cpp:1714:20: error: ‘class osg::Geometry’ has no member named ‘copyToAndOptimize’
_geometry->copyToAndOptimize(_geometry);
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceOp.cpp: In member function ‘virtual osg::Geometry
osgwTools::TangentSpaceOp::operator()(osg::Geometry&)’:
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceOp.cpp:76:14: error: ‘class osg::Geometry’ has no member named ‘setVertexAttribData’
geom.setVertexAttribData( _normalIndex,
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceOp.cpp:77:13: error: ‘ArrayData’ is not a member of ‘osg::Geometry’
osg::Geometry::ArrayData( ptr.get(), osg::Geometry::BIND_PER_VERTEX ) );
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceOp.cpp:83:14: error: ‘class osg::Geometry’ has no member named ‘setVertexAttribData’
geom.setVertexAttribData( _tangentIndex,
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceOp.cpp:84:13: error: ‘ArrayData’ is not a member of ‘osg::Geometry’
osg::Geometry::ArrayData( ptr.get(), osg::Geometry::BIND_PER_VERTEX ) );
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceOp.cpp:90:14: error: ‘class osg::Geometry’ has no member named ‘setVertexAttribData’
geom.setVertexAttribData( _binormalIndex,
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceOp.cpp:91:13: error: ‘ArrayData’ is not a member of ‘osg::Geometry’
osg::Geometry::ArrayData( ptr.get(), osg::Geometry::BIND_PER_VERTEX ) );
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/MeshOptimizers.cpp: In member function ‘void osgUtil::{anonymous}::GeometryArrayGatherer::add(osg::Array*, osg::Geometry::AttributeBinding)’:
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/MeshOptimizers.cpp:115:29: error: ‘BIND_PER_PRIMITIVE’ is not a member of ‘osg::Geometry’
else if (binding == osg::Geometry::BIND_PER_PRIMITIVE)
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/MeshOptimizers.cpp: In member function ‘void osgUtil::IndexMeshVisitor::makeMesh(osg::Geometry&)’:
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/MeshOptimizers.cpp:262:38: error: ‘BIND_PER_PRIMITIVE’ is not a member of ‘osg::Geometry’
if (geom.getNormalBinding()==osg::Geometry::BIND_PER_PRIMITIVE ||
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/MeshOptimizers.cpp:265:33: error: ‘BIND_PER_PRIMITIVE’ is not a member of ‘osg::Geometry’
if (geom.getColorBinding()==osg::Geometry::BIND_PER_PRIMITIVE ||
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/MeshOptimizers.cpp:268:42: error: ‘BIND_PER_PRIMITIVE’ is not a member of ‘osg::Geometry’
if (geom.getSecondaryColorBinding()==osg::Geometry::BIND_PER_PRIMITIVE ||
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/MeshOptimizers.cpp:271:36: error: ‘BIND_PER_PRIMITIVE’ is not a member of ‘osg::Geometry’
if (geom.getFogCoordBinding()==osg::Geometry::BIND_PER_PRIMITIVE ||
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/MeshOptimizers.cpp:311:14: error: ‘class osg::Geometry’ has no member named ‘suitableForOptimization’
if (geom.suitableForOptimization())
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/MeshOptimizers.cpp:315:14: error: ‘class osg::Geometry’ has no member named ‘copyToAndOptimize’
geom.copyToAndOptimize(geom);
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceGeneratorDouble.cpp: In member function ‘void osgwTools::TangentSpaceGeneratorDouble::generate(osg::Geometry*, int)’:
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceGeneratorDouble.cpp:51:14: error: ‘class osg::Geometry’ has no member named ‘suitableForOptimization’
if (geo->suitableForOptimization())
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceGeneratorDouble.cpp:55:14: error: ‘class osg::Geometry’ has no member named ‘copyToAndOptimize’
geo->copyToAndOptimize(geo);
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceGeneratorDouble.cpp:66:14: error: ‘class osg::Geometry’ has no member named ‘getVertexIndices’
if (geo->getVertexIndices() == NULL) {
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceGeneratorDouble.cpp:71:41: error: ‘class osg::Geometry’ has no member named ‘getVertexIndices’
unsigned int index_count = geo->getVertexIndices()->getNumElements();
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceGeneratorDouble.cpp:161:14: error: ‘class osg::Geometry’ has no member named ‘getVertexIndices’
if (geo->getVertexIndices() != NULL) {
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/TangentSpaceGeneratorDouble.cpp:162:29: error: ‘class osg::Geometry’ has no member named ‘getVertexIndices’
attrib_count = geo->getVertexIndices()->getNumElements();
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/CountsVisitor.cpp: In member function ‘void osgwTools::CountsVisitor::apply(osg::Drawable
)’:
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/CountsVisitor.cpp:284:20: error: ‘class osg::Geometry’ has no member named ‘areFastPathsUsed’
if (!geom->areFastPathsUsed())
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/DecimatorOp.cpp: In member function ‘void osgwTools::HalfEdgeCollapse::setGeometry(osg::Geometry*)’:
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/DecimatorOp.cpp:1475:20: error: ‘class osg::Geometry’ has no member named ‘suitableForOptimization’
if (_geometry->suitableForOptimization())
^
/home/ccs/catkin_uwsim/src/uwsim_osgworks/src/osgwTools/DecimatorOp.cpp:1479:20: error: ‘class osg::Geometry’ has no member named ‘copyToAndOptimize’
_geometry->copyToAndOptimize(*_geometry);
^
src/osgwTools/CMakeFiles/osgwTools.dir/build.make:950: recipe for target 'src/osgwTools/CMakeFiles/osgwTools.dir/TangentSpaceOp.cpp.o' failed
make[2]: *** [src/osgwTools/CMakeFiles/osgwTools.dir/TangentSpaceOp.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
src/osgwTools/CMakeFiles/osgwTools.dir/build.make:830: recipe for target 'src/osgwTools/CMakeFiles/osgwTools.dir/ShortEdgeOp.cpp.o' failed
make[2]: *** [src/osgwTools/CMakeFiles/osgwTools.dir/ShortEdgeOp.cpp.o] Error 1
src/osgwTools/CMakeFiles/osgwTools.dir/build.make:206: recipe for target 'src/osgwTools/CMakeFiles/osgwTools.dir/CountsVisitor.cpp.o' failed
make[2]: *** [src/osgwTools/CMakeFiles/osgwTools.dir/CountsVisitor.cpp.o] Error 1
src/osgwTools/CMakeFiles/osgwTools.dir/build.make:926: recipe for target 'src/osgwTools/CMakeFiles/osgwTools.dir/TangentSpaceGeneratorDouble.cpp.o' failed
make[2]: *** [src/osgwTools/CMakeFiles/osgwTools.dir/TangentSpaceGeneratorDouble.cpp.o] Error 1
src/osgwTools/CMakeFiles/osgwTools.dir/build.make:230: recipe for target 'src/osgwTools/CMakeFiles/osgwTools.dir/DecimatorOp.cpp.o' failed
make[2]: *** [src/osgwTools/CMakeFiles/osgwTools.dir/DecimatorOp.cpp.o] Error 1
src/osgwTools/CMakeFiles/osgwTools.dir/build.make:422: recipe for target 'src/osgwTools/CMakeFiles/osgwTools.dir/MeshOptimizers.cpp.o' failed
make[2]: *** [src/osgwTools/CMakeFiles/osgwTools.dir/MeshOptimizers.cpp.o] Error 1
CMakeFiles/Makefile2:280: recipe for target 'src/osgwTools/CMakeFiles/osgwTools.dir/all' failed
make[1]: *** [src/osgwTools/CMakeFiles/osgwTools.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
<== Failed to process package 'uwsim_osgworks':
Command '['/home/ccs/catkin_uwsim/install_isolated/env.sh', 'make', '-j']' returned non-zero exit status 2

Reproduce this error by running:
==> cd /home/ccs/catkin_uwsim/build_isolated/uwsim_osgworks && /home/ccs/catkin_uwsim/install_isolated/env.sh make -j

My environment is ubuntu16.04 with ros-kinetic,how can i solve this problem?thank you very much!

UWSim does not read JointState name fields

This can cause joint commands to be mixed up and applied to the wrong transform group in the scene graph.

Problematic code in ROSInterface.cpp is shown below:-

void ROSJointStateToArm::createSubscriber(ros::NodeHandle &nh) {
  ROS_INFO("ROSJointStateToArm subscriber on topic %s",topic.c_str());
  sub_ = nh.subscribe<sensor_msgs::JointState>(topic, 10, &ROSJointStateToArm::processData, this);
}

void ROSJointStateToArm::processData(const sensor_msgs::JointState::ConstPtr& js) {
  //Receive request from client
  if (js->position.size()!=0) {
    //position command
    std::vector<double> position=js->position;
    arm->urdf->setJointPosition(position);
  } else if (js->velocity.size()!=0) {
    //velocity command
    std::vector<double> velocity=js->velocity;
    arm->urdf->setJointVelocity(velocity);
  }
}

Changes in scenes or shaders need compilation

As the new way to build the simulator if you change something in scenes or shaders, this won't be active unless you compile the whole package. The real files are on install/share/uwsim and if you change that ones then building overwrites them...

Is there a way to fix this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.