Unable to roslaunch a robot and the specified world in gazebo.
I have been working on a project where I had developed a small robot in gazebo. I have been trying to control the robot with a custom python based ros plugin. When I tried to launch the file using the command "roslaunch spider_gazebo spider_world.launch" where spider_gazebo is the catkin package that contains the world launch file. I have been having several errors like ,
Reading symbols from gzserver...(no debugging symbols found)...done.
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[ INFO] [1561716326.657107032]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1561716326.658858219]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[New Thread 0x7fffccb24700 (LWP 5412)]
[New Thread 0x7fffcc323700 (LWP 5413)]
[New Thread 0x7fffc7b22700 (LWP 5414)]
[New Thread 0x7fffc5321700 (LWP 5415)]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[New Thread 0x7fffc0a13700 (LWP 5418)]
[New Thread 0x7fffc0212700 (LWP 5419)]
[New Thread 0x7fffbfa11700 (LWP 5422)]
[New Thread 0x7fffb7fff700 (LWP 5423)]
[New Thread 0x7fffbf210700 (LWP 5424)]
[New Thread 0x7fffbea0f700 (LWP 5436)]
[New Thread 0x7fffbe20e700 (LWP 5437)]
[New Thread 0x7fffbda0d700 (LWP 5438)]
[New Thread 0x7fffbd20c700 (LWP 5439)]
[New Thread 0x7fffbca0b700 (LWP 5440)]
[New Thread 0x7fffb77fe700 (LWP 5441)]
[New Thread 0x7fffb6ffd700 (LWP 5442)]
and this keeps continuing. when I checked the terminal, these are the nodes that are created
gazebo (gazebo_ros/debug)
gazebo_gui (gazebo_ros/gzclient)
rob_st_pub (robot_state_publisher/robot_state_publisher)
urdf_spawner (gazebo_ros/spawn_model)
/spider/
controller_spawnner (controller_manager/spawner)
along with that all the joint parameters and robot_description were also loaded. But later after that the above error keeps repeating and when i tried to kill the process with ctrl+c, I get the following error before closing the gazebo server.
[urdf_spawner-4] killing on exit
[rob_st_pub-6] killing on exit
[gazebo_gui-3] killing on exit
[gazebo-2] killing on exit
Quit
(gdb) Service call failed: unable to connect to service: [Errno 4] Interrupted system call
[gazebo-2] escalating to SIGTERM
Exception ignored in: <gdb.GdbOutputFile object at 0x7f9b14bd6eb8>
Traceback (most recent call last):
File "/usr/share/gdb/python/gdb/__init__.py", line 43, in flush
def flush(self):
KeyboardInterrupt
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
can anyone please help me what this gdb service failure is ? as mentioned the plugin i wrote is in python and I haven't even run it. I though first I could launch the robot in gazebo and then in another terminal I can do ROS_MASTER_URI and then launch the control file along with the plugin. but I have been having this error when launching the robot in gazebo itself. can anyone help me point out in the right direction. Thank you
update: I have tried to check the parameter server and all the joints were loaded and i tried to ...
gdb is a debugger tool. Are you running gazebo with the Debug flag to true?
yea, I have made the debug flag true in my launch file. I did so hoping that if there are any errors I would know their certain cause. Should the debug flag be turned to false ?
I have changed the debug flag to false and now the gazebo simulation environment is opening but the model is not being spawnned. I get the following error /home/microbot/catkin_ws/src/gazebo_ros/scripts/spawn_model": not in executable format: File format not recognized
I would suggest, if you have not already done it, to turn on the
verbose
flag of the gazebo launcher to true. That will provide more information probably. Also, try to make the files in spawn model folder executable, bychmod +x filename1 filename2 etc.
Thanks for sugestion. I have tried to launch with verbose flag true and fro that I came to know that Spawn status: model sucessfully spawnned. but I get error when gazebo_ros_control plugin is trying to fetch model URDF in parameter (/robot_description) and it kept on waiting and then later the error show up as gzserver: symbol lookup error followed by error code
gzserver: symbol lookup error: /home/microbot/catkin_ws/devel/lib/libgazebo_ros_control.so: undefined symbol: _ZN4urdf5Model10initStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE [gazebo-2] process has died [pid 18918, exit code 127, cmd /home/microbot/catkin_ws/src/gazebo_ros/scripts/gzserver --verbose -e ode /home/microbot/catkin_ws/src/spider/spider_gazebo/worlds/spider.world __name:=gazebo __log:=/home/microbot/.ros/log/013ddbe8-9d74-11e9-8cf3-2c6e85b13edd/gazebo-2.log]. log file: /home/microbot/.ros/log/013ddbe8-9d74-11e9-8cf3-2c6e85b13edd/gazebo-2*.log
maybe your urdf model is not linked with gazebo_ros_control plugin as it is pointing about to the "undefined symbol"