Error launching gazebo with custom config/comp_config.yaml

Hi,

I am customizing the .yaml file inside config folder. Here my config file:

arm:
  type: ur10
sensors:
#  break_beam_1:
#    type: break_beam
#    pose:
#      xyz: [1.6, 2.25, 0.91]
#      rpy: [0, 0, 'pi']
#  proximity_sensor_1:
#    type: proximity_sensor
#    pose:
#      xyz: [0.9, 2.6, 0.914]
#      rpy: [0, 0, 0]
  logical_camera_1:
    type: logical_camera
    pose:
      xyz: [-0.3, 0.15, 1.92]
      rpy: [0, 'pi/2', 0]
#  logical_camera_2:
#    type: logical_camera
#    pose:
#      xyz: [1.6, 2.25, 1.92]
#      rpy: [0, 'pi/2', 0]
#  laser_profiler_1:
#    type: laser_profiler
#    pose:
#      xyz: [1.21, 4, 1.64]
#      rpy: ['-pi', 'pi/2', 'pi/2']

I only want to have one camera or at least 2 and the arm for now but I am having problems launching gazebo.

This is what I am having:

[ INFO] [1485780266.491014687]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1485780266.491853663]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[INFO] [WallTime: 1485780266.508732] [0.000000] Loading model xml from ros parameter
[INFO] [WallTime: 1485780266.514374] [0.000000] Waiting for service /gazebo/spawn_urdf_model
[INFO] [WallTime: 1485780268.627435] [0.000000] Calling service /gazebo/spawn_urdf_model
gzserver: symbol lookup error: /opt/ros/indigo/lib/libROSLogicalCameraPlugin.so: undefined symbol: _ZN2tf20TransformBroadcasterC1Ev
Service call failed: transport error completing service call: unable to receive data from sender, check sender's logs for details
[INFO] [WallTime: 1485780268.639078] [0.000000] Waiting for service /gazebo/set_model_configuration
[INFO] [WallTime: 1485780268.640444] [0.000000] temporary hack to **fix** the -J joint position option (issue #93), sleeping for 1 second to avoid race condition.
================================================================================REQUIRED process [gazebo-4] has died!
process has died [pid 16150, exit code 127, cmd /opt/ros/indigo/lib/gazebo_ros/gzserver -u -e ode -r --record_path=/home/jlamperez/.ariac/log/gazebo /tmp/ariac/gear.world joint_states:=ariac/joint_states __name:=gazebo __log:=/home/jlamperez/.ros/log/d4c89eec-e6e9-11e6-b7d1-5404a68aab23/gazebo-4.log].
log file: /home/jlamperez/.ros/log/d4c89eec-e6e9-11e6-b7d1-5404a68aab23/gazebo-4*.log
Initiating shutdown!
================================================================================
[arm_controller_spawner-10] killing on exit
[joint_state_controller_spawner-9] killing on exit
Traceback (most recent call last):
  File "/opt/ros/indigo/lib/controller_manager/controller_manager", line 63, in <module>
    controller_manager_interface.load_controller(c)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/controller_manager/controller_manager_interface.py", line 64, in load_controller
    rospy.wait_for_service('controller_manager/load_controller')
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 149, in wait_for_service
[fake_joint_calibration-8] killing on exit
    time.sleep(0.3)
KeyboardInterrupt

However, if I uncomment the laser_profiler sensor lines, gazebo launches correctly.

Is there a minimum number of sensors in config file or it is necessary to set the laser_profiler?

Regards

It would seem Gazebo can’t load libROSLogicalCameraPlugin.so successfully, as it can’t resolve a symbol (tf::TransformBroadcaster::TransformBroadcaster()).

It could be that the library that is used for the laser_profiler sensors provides that symbol, which is why it works in the case where you keep those enabled.

Sounds like we’re forgetting to link a library into libROSLogicalCameraPlugin.so here.

Thank you for pointing this out @jlamperez - there is no minimum number of sensors in the config file, and it is not necessary to use the laser profiler.

@gavanderhoorn and @gerkey are right and this was a bug. It has been fixed now: you should see the change once you update your ARIAC software, either with sudo apt-get update && sudo apt-get upgrade ariac or pulling from master if you are building from source.

Thank you all works perfect!

Regards