libLedPlugin.so throws undefined symbol error [ndefined symbol: _ZN6gazebo16FlashLightPlugin4LoadEN5boost10shared_ptrINS_7physics5ModelEEESt10shared_ptrIN3sdf7ElementEE]
Hello Community, Im trying to use the libLedPlugin in an simulation for an underwater docking scenario using the uuv simulator. After running into this Plugin in the gazebo tutorials i searched it on my local system but could find it on my local system. There was no libLedPlugin.so or .hh/.cc file on my system. Same with FlashLightPlugin. I indeed have several working plugins installed, BlinkVisualPlugin for example.
I couldnt find the olugins anywhere so I decided to compile them myself with the code from (https://github.com/osrf/gazebo/tree/gazebo9) and by following this tutorial (http://gazebosim.org/tutorials/?tut=plugins_hello_world).
Which worked great for the FashLightPlugin for example, but even though libLedPlugin.so is also compiled, it throws following error when starting a simulation using the plugin: [Err] [Plugin.hh:180] Failed to load plugin /home/lukas/catkin_ws/src/gazebo_models/deepleng/plugins/libLedPlugin.so: /home/lukas/catkin_ws/src/gazebo_models/deepleng/plugins/libLedPlugin.so: undefined symbol: _ZN6gazebo16FlashLightPlugin4LoadEN5boost10shared_ptrINS_7physics5ModelEEESt10shared_ptrIN3sdf7ElementEE
Im using ubuntu 18.04, ros melodic and gazebo 9. gazebo 9 was installed with ros automatically i think. When compiling the code i always used the gazebo9 branch from the repository.
I would be very thankful if someone could tell me how to get the plugin working in some way! Thanks in advance!
<?xml version="1.0" ?>
<!--
Origin close to the Trondheim Biological Station, in Trondheim, Norway
-->
<spherical_coordinates>
<latitude_deg>63.435952</latitude_deg>
<longitude_deg>10.357983</longitude_deg>
</spherical_coordinates>
<!-- Global light source -->
<light type="directional" name="sun1">
<pose>50 0 150 0 0 0</pose>
<diffuse>1 1 1 1</diffuse>
<specular>.1 .1 .1 1</specular>
<direction>0.3 0.3 -1</direction>
<cast_shadows>false</cast_shadows>
</light>
<!-- Global light source -->
<light type="directional" name="sun_diffuse">
<pose>-50 0 -150 0 0 0</pose>
<diffuse>0.6 0.6 0.6 1</diffuse>
<specular>0 0 0 1</specular>
<direction>-0.3 -0.3 -1</direction>
<cast_shadows>false</cast_shadows>
</light>
<model name="markergreen">
<pose>1 1 -9 0 0 0</pose>
<static>true</static>
<link name="marker">
<visual name="led">
<transparency>1</transparency>
<geometry>
<sphere>
<radius>0.015</radius>
</sphere>
<!--<box>
<size>1 1 1</size>
</box>-->
</geometry>
<!--<material>
<emissive>0 1 0 1</emissive>
<specular>0 1 0 1</specular>
<diffuse>0 1 0 1</diffuse>
</material>-->
<plugin name="blink" filename="libBlinkVisualPlugin.so">
<!-- First RGBA color, each number from 0 to 1. Defaults to red. -->
<color_a>0 1 0 1</color_a>
<!-- Second RGBA color. Defaults to black. -->
<color_b>0 1 0 1</color_b>
<!-- Period in seconds. Defaults to 1 s. -->
<period>1</period>
<!-- True to use wall time, false to use sim time.
Defaults to false. -->
<use_wall_time>false</use_wall_time>
</plugin>
</visual>
<light name="under" type="spot">
<pose>0 0 -1 0 3.14 0</pose>
<specular>1 1 1 1</specular>
<diffuse>1 1 1 1</diffuse>
<attenuation>
<range>1.5</range>
<constant>1</constant>
</attenuation>
<spot>
<inner_angle>
0.015
</inner_angle>
</spot>
</light>
<light name="over" type="spot">
<pose>0 0 1 0 0 0</pose>
<specular>1 1 1 1</specular>
<diffuse>1 1 1 1</diffuse>
<attenuation>
<range>1.5</range>
<constant>1</constant>
</attenuation>
<spot>
<inner_angle>
0.015
</inner_angle>
</spot>
</light>
<light name="left" type="spot">
<pose>0 -1 0 0 1.57 4.71</pose>
<specular>1 1 1 1</specular>
<diffuse>1 1 1 1</diffuse>
<attenuation>
<range>1.5</range>
<constant>1</constant>
</attenuation>
<spot>
<inner_angle>
0.015
</inner_angle>
</spot>
</light>
<light name="right" type="spot">
<pose>0 1 0 0 1.57 1.57</pose>
<specular>1 1 1 1</specular>
<diffuse>1 1 1 1</diffuse>
<attenuation>
<range>1.5</range>
<constant>1</constant>
</attenuation>
<spot>
<inner_angle>
0.015
</inner_angle>
</spot>
</light>
<light name="front" type="spot">
<pose>1 0 0 0 1.57 0</pose>
<specular>1 1 1 1</specular>
<diffuse>1 1 1 1</diffuse>
<attenuation>
<range>1.5</range>
<constant>1</constant>
</attenuation>
<spot>
<inner_angle>
0.015
</inner_angle>
</spot>
</light>
<light name="back" type="spot">
<pose>-1 0 0 0 1.57 3.14</pose>
<specular>1 1 1 1</specular>
<diffuse>1 1 1 1</diffuse>
<attenuation>
<range>1.5</range>
<constant>1</constant>
</attenuation>
<spot>
<inner_angle>
0.015
</inner_angle>
</spot>
</light>
</link>
<plugin name='light_control' filename='libLedPlugin.so'>
<enable>true</enable>
<light>
<id>marker/under</id>
<duration>0.5</duration>
<interval>0.5</interval>
</light>
</plugin>
</model>
<!-- Bounding box with sea surface -->
<include>
<uri>model://sea_bottom</uri>
<pose>0 0 -80 0 0 0</pose>
</include>
<include>
<uri>model://sea_surface</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<plugin name="underwater_current_plugin" filename="libuuv_underwater_current_ros_plugin.so">
<namespace>hydrodynamics</namespace>
<constant_current>
<topic>current_velocity</topic>
<velocity>
<mean>0</mean>
<min>0</min>
<max>5</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</velocity>
<horizontal_angle>
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</horizontal_angle>
<vertical_angle>
<mean>0</mean>
<min>-3.141592653589793238</min>
<max>3.141592653589793238</max>
<mu>0.0</mu>
<noiseAmp>0.0</noiseAmp>
</vertical_angle>
</constant_current>
</plugin>
<plugin name="sc_interface" filename="libuuv_sc_ros_interface_plugin.so"/>
<gui fullscreen='0'>
<camera name='user_camera'>
<pose frame=''>34.6042 32.2383 -20.6633 0 0.528384 1.41245</pose>
<view_controller>orbit</view_controller>
<projection_type>perspective</projection_type>
</camera>
</gui>
Asked by Gwaihir on 2020-07-06 05:12:36 UTC
Comments