0
$\begingroup$

Rosanswers logo

When I command

roslaunch pr2_gazebo pr2_empty_world.launch

and the gazebo does not show up.

Following is log for the execution

...

 process[wide_stereo/wide_stereo_proc-7]: started with pid [26125]
Warning [parser.cc:361] Converting a deprecated SDF source[/opt/ros/groovy/stacks/simulator_gazebo/gazebo_worlds/worlds/empty.world].
Set SDF value
  Version[1.2] to Version[1.3]
  Please use the gzsdf tool to update your SDF files.
    $ gzsdf convert [sdf_file]
terminate called after throwing an instance of 'ros::InvalidNodeNameException'
  what():  Invalid node name [gazeboo/\ufffd]: node names cannot contain /
process[narrow_stereo/narrow_stereo_proc-8]: started with pid [26142]
/opt/ros/groovy/stacks/simulator_gazebo/gazebo/scripts/gazebo: line 15: 26040 Aborted                 (core dumped) `rospack find gazebo`/gazebo/bin/gzserver $final
[gazebo-1] process has died [pid 26022, exit code 134, cmd /opt/ros/groovy/stacks/simulator_gazebo/gazebo/scripts/gazebo -u /opt/ros/groovy/stacks/simulator_gazebo/gazebo_worlds/worlds/empty.world __name:=gazebo __log:=/home/user_/.ros/log/d5fc1d36-d868-11e2-bfc5-d8d385af9f16/gazebo-1.log].
log file: /home/user_/.ros/log/d5fc1d36-d868-11e2-bfc5-d8d385af9f16/gazebo-1*.log
process[narrow_stereo_textured/narrow_stereo_textured_proc-9]: started with pid [26174]
Msg Waiting for master.process[left_image_raw_relay-10]: started with pid [26192]
loading model xml from ros parameter
process[right_image_raw_relay-11]: started with pid [26221]
.[INFO] [WallTime: 1371619379.362006] [0.000000] waiting for service /gazebo/spawn_urdf_model
process[left_camera_info_relay-12]: started with pid [26245]
process[right_camera_info_relay-13]: started with pid [26273]
.process[r_forearm_cam/image_proc-14]: started with pid [26299]
process[l_forearm_cam/image_proc-15]: started with pid [26315]
.process[diag_agg-16]: started with pid [26362]
.process[pr2_dashboard_aggregator-17]: started with pid [26409]
.process[robot_pose_ekf-18]: started with pid [26450]
.process[base_hokuyo_node-19]: started with pid [26527]
..process[tilt_hokuyo_node-20]: started with pid [26624]
.process[tf2_buffer_server-21]: started with pid [26710]
[ WARN] [1371619387.629661593]: You've passed in true for auto_start for the C++ action server at [/tf2_buffer_server]. You should always pass in false to avoid race conditions.
.process[camera_synchronizer_node-22]: started with pid [26827]
.[ INFO] [1371619389.311096476]: Starting to spin camera_synchronizer at 100.000000 Hz...
[ WARN] [1371619389.415234391]: The input topic '/wide_stereo/left/image_raw' is not yet advertised
[ WARN] [1371619389.420206958]: The input topic '/wide_stereo/left/camera_info' is not yet advertised
[ WARN] [1371619389.421225552]: The input topic '/wide_stereo/right/image_raw' is not yet advertised

...

The reason for the problem is that groovy doesn't support sdf version 1.2. I found some articles in this site, but it did not help to solve the problem.

Any idea?


Following is log with gdb

roslaunch gazebo_worlds debug.launch

Version[1.2] to Version[1.3]
  Please use the gzsdf tool to update your SDF files.
    $ gzsdf convert [sdf_file]
[New Thread 0xb0f8eb40 (LWP 28463)]
[New Thread 0xb078db40 (LWP 28464)]
terminate called after throwing an instance of 'ros::InvalidNodeNameException'
  what():  Invalid node name [gazeboo/\ufffd]: node names cannot contain /

Program received signal SIGABRT, Aborted.
0xb7fdd424 in __kernel_vsyscall ()
(gdb) 
bt
#0  0xb7fdd424 in __kernel_vsyscall ()
#1  0xb76a61df in __GI_raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb76a9825 in __GI_abort () at abort.c:91
#3  0xb78ed13d in __gnu_cxx::__verbose_terminate_handler() ()
   from /usr/lib/i386-linux-gnu/libstdc++.so.6
#4  0xb78eaed3 in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#5  0xb78eaf0f in std::terminate() ()
   from /usr/lib/i386-linux-gnu/libstdc++.so.6
#6  0xb78eb05e in __cxa_throw () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#7  0xb10ad180 in ros::this_node::init(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, unsigned int) ()
   from /opt/ros/groovy/lib/libroscpp.so
#8  0xb1088120 in ros::init(std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, std::string const&, unsigned int) () from /opt/ros/groovy/lib/libroscpp.so
#9  0xb1089629 in ros::init(int&, char**, std::string const&, unsigned int) ()
   from /opt/ros/groovy/lib/libroscpp.so
#10 0xb116c21a in gazebo::GazeboRosApiPlugin::Load (this=0x861ec98, argc=6, 
    argv=0x0)
    at /tmp/buildd/ros-groovy-simulator-gazebo-1.7.12/debian/ros-groovy-simulator-gazebo/opt/ros/groovy/stacks/simulator_gazebo/gazebo/src/gazebo_ros_api_plugin---Type <return> to continue, or q <return> to quit---
.cpp:85
#11 0x0807b615 in gazebo::load(int, char**) ()
#12 0x08067ad6 in gazebo::Server::LoadImpl(boost::shared_ptr<sdf::Element>, std::string const&) ()
#13 0x08068f5b in gazebo::Server::LoadFile(std::string const&, std::string const&) ()
#14 0x0806a9ab in gazebo::Server::ParseArgs(int, char**) ()
#15 0x08063651 in main ()
(gdb) bt
#0  0xb7fdd424 in __kernel_vsyscall ()
#1  0xb76a61df in __GI_raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0xb76a9825 in __GI_abort () at abort.c:91
#3  0xb78ed13d in __gnu_cxx::__verbose_terminate_handler() ()
   from /usr/lib/i386-linux-gnu/libstdc++.so.6
#4  0xb78eaed3 in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#5  0xb78eaf0f in std::terminate() ()
   from /usr/lib/i386-linux-gnu/libstdc++.so.6
#6  0xb78eb05e in __cxa_throw () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#7  0xb10ad180 in ros::this_node::init(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, unsigned int) ()
   from /opt/ros/groovy/lib/libroscpp.so
#8  0xb1088120 in ros::init(std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&, std::string const&, unsigned int) () from /opt/ros/groovy/lib/libroscpp.so
#9  0xb1089629 in ros::init(int&, char**, std::string const&, unsigned int) ()
   from /opt/ros/groovy/lib/libroscpp.so
#10 0xb116c21a in gazebo::GazeboRosApiPlugin::Load (this=0x861ec98, argc=6, 
    argv=0x0)
    at /tmp/buildd/ros-groovy-simulator-gazebo-1.7.12/debian/ros-groovy-simulator-gazebo/opt/ros/groovy/stacks/simulator_gazebo/gazebo/src/gazebo_ros_api_plugin---Type <return> to continue, or q <return> to quit---
.cpp:85
#11 0x0807b615 in gazebo::load(int, char**) ()
#12 0x08067ad6 in gazebo::Server::LoadImpl(boost::shared_ptr<sdf::Element>, std::string const&) ()
#13 0x08068f5b in gazebo::Server::LoadFile(std::string const&, std::string const&) ()
#14 0x0806a9ab in gazebo::Server::ParseArgs(int, char**) ()
#15 0x08063651 in main ()

Originally posted by RC on ROS Answers with karma: 1 on 2013-06-18

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Is the problem not the node name? It has problems with the slashes in gazeboo/\ufffd. The sdf thing is only a warning. The combination ROS and Gazebo is at the moment very troublesome unfortunately.


Originally posted by davinci with karma: 2573 on 2013-06-18

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by RC on 2013-06-19:
Yes, it seems that there are problems in the combination.

Comment by t.pimentel on 2013-06-19:
I had the same problem you're having and had to go through the gazebo_ros_api.cpp (or something like this) code, and manually hard code the node name, because the argc argv components had a weird behavior in it.

Comment by fberger on 2014-04-25:
t.pimentel, can you elaborate on how you solved this?

Comment by t.pimentel on 2014-05-06:
I don't remember exactly any more what I did, but the call to ros::init received a pointer, like
ros::init(argc,argv, nodeName);
And this was giving a problem because the pointer wasn't well set (this inside ros gazebo API (the one that comes in default ros install)) and had a invalid name.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.