Gazebo | Ignition | Community
Ask Your Question

gerkey's profile - activity

2016-08-05 03:44:40 -0600 received badge  Nice Answer (source)
2015-11-10 17:44:41 -0600 received badge  Famous Question (source)
2015-10-31 12:30:58 -0600 marked best answer Robotic simulator install issue

(Forwarded from DRC Software Forum)

Hi , I am new to ubuntu platform . I installed ubuntu 12.10 and i tried to install the simulator . while performing the step

wget -O - | sudo apt-key add -

i am getting a error "no valid openPGP data found" . I will be grateful if any one can help me to overcome this issue . George

2015-10-31 12:30:56 -0600 marked best answer Protocol Documentation for Simulator

(Forwarded from DRC Forum)

Hi All,

I am new to Gazebo/ROS, and the DRC Simulator, and I am looking for documentation on the TCP/IP Protocol for communicating with the DRC Robot Simulator. I am assuming the SDF file is like a Rosetta Stone for the DRC Robot hardware, however, some API documentation on defined Data Inputs and Outputs, IP Address, Port number, and other details for the DRC Simulator would be super helpful. Please help!



2015-10-31 12:30:54 -0600 marked best answer Removing pinning from the hip joint

(Forwarded from DRC Forum)

Hi, I understand that balancing is still not implemented, but if I'd wish to implement it, how could I remove the pinning so that the robot would actually fall to the ground. I remember there should be some static tag in the urdf file of the robot (/usr/share/drcsim-1.0/ros/drc_robot_utils ?) but was not able to locate it. Thanks.

2015-10-31 12:30:25 -0600 marked best answer Failures when launching qualification worlds

Extracted from question 2665

When using roslaunch atlas_utils qual_task_x.launch to launch the simulator, you have to launch it 4-5 times before the simulator actually launches and runs alright. There are a number of issues that happen here.

  1. The simulator starts and gets stuck displaying no timing or anything on the window. Just a grey window.
  2. The simulator starts and then writes to the log file and never displays a window.
  3. The simulator starts and does not write to the log file, does not show a window, and yet thinks that it has fully started and is running.
2015-10-31 12:13:13 -0600 marked best answer DRC robot falls over in qualification worlds

Extracted from question 2665

When the simulator does actually launch, about 60% of the time, as soon the counter starts running and the atlas robot is initialized into the world, the atlas robot will immediately fall to the ground in a totally random direction without having received any input from the user, no input from any controller through rosrun, no input on keyboard or mouse, the atlas robot just falls in a random direction and crunches up.

2015-10-31 12:11:58 -0600 marked best answer DRC robot falls when rotating in place

Extracted from question 2665

When executing certain movement based commands, the atlas robot does not perform the same action any two times in a row even though it has been specifically told to perform the same thing it just did last simulation. For example, if you tell atlas to turn by x degrees, and then stand still, atlas might do the following:

  • Trial 1) Actually Turn X degrees and Successfully Stand Still
  • Trial 2) Actually Turn X degrees and fall to the right
  • Trial 3) Actually Turn X degrees and fall forward
  • Trial 4) Turn Y Degrees and fall backward
  • Trial 5) Turn Y Degrees and fall to the left
2015-04-10 18:43:26 -0600 received badge  Necromancer (source)
2015-01-08 16:45:29 -0600 received badge  Nice Answer (source)
2014-09-08 21:48:37 -0600 received badge  Famous Question (source)
2014-07-24 16:53:22 -0600 received badge  Famous Question (source)
2013-11-15 14:47:37 -0600 received badge  Necromancer (source)
2013-08-22 14:43:56 -0600 edited question Gazebo 1.9 symbol lookup error

I am running Gazebo 1.9.1 on Ubuntu 12.04 x64. When running gazebo as a stand alone from the command line, I get the following:

gazebo: symbol lookup error: gazebo: undefined symbol: _ZN6gazebo6common9find_fileERKSs

I have uninstalled and reinstalled gazebo, to no avail. Anyone have any insight into this issue?

2013-08-02 14:29:46 -0600 commented question libgazebo_player not found

What does ldd /usr/local/lib/ | grep "not found" give you? Any unresolved library references?

2013-08-02 14:08:44 -0600 edited question libgazebo_player not found

I have been using player/stage together with control code in c++ for a while and want to upgrade to player/gazebo. To get started I have followed the user guide.

When I run "gazebo" gazebo starts up fine, but when I run "player gazebo.cfg" I get the following error messages:

error   : Failed to load plugin libgazebo_player.
error   : libtool reports error: file not found
error   : plugin search path: /home/ulrik/Work/thirdparty/gazebo_source/test:.:/usr/local/lib/
error   : failed to load plugin: libgazebo_player
error   : failed to parse config file gazebo.cfg driver blocks

Both player (version 3.1.0) and gazebo (version 1.9) are installed in /usr/local and is located in /usr/local/lib. LD_LIBRARY_PATH is set to /usr/local/lib. I installed player before gazebo and gazebo found player when installed. (No warnings or errors when running cmake.)

Any ideas what I am doing wrong? Thanks, Ulrik

2013-07-24 17:10:12 -0600 answered a question Problem with drcsim installation

See this thread and this thread from the mailing list.

2013-07-24 10:57:29 -0600 received badge  Necromancer (source)
2013-07-23 19:50:03 -0600 answered a question Installation from source in XUbuntu 12.10 with urdf

The recommended way to build Gazebo (< 1.9.0) with URDF support is to source the ROS setup file, e.g.:

source /opt/ros/groovy/
cmake ..

I just tested that sequence with ROS Groovy and Gazebo 1.4.0 and it was able to find the URDF libraries.

But then I tried your, more minimal, approach, of setting CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH on the command line when calling cmake. That also worked for me.

So your problem might be due to CMake's caching of system requirement search results; maybe you ran cmake once without the right things installed or without the right environment configuration, and the lack of URDF support was cached then retrieved and used in your future runs, when you had everything configured correctly.

Whenever you change something (install or remove a library, or even change the way that you're invoking cmake), it's safest to delete everything in your build directory and start the build from scratch. Then you're sure that previous search results aren't still in cache.

2013-07-23 19:38:34 -0600 edited question Installation from source in XUbuntu 12.10 with urdf


I'm trying to install gazebo 1.4 on my Xubuntu 12.10 from source code

analyzing the output of "cmake .." I've noticed that URDF module can not be recognized, altough I've added the ros groovy repository to my system.

In particular, I've done the following things:

sudo sh -c 'echo "deb quantal main" > /etc/apt/sources.list./ros-latest.list'
wget -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install ros-groovy-urdfdom ros-groovy-urdfdom-headers
sudo apt-get install ros-groovy-urdf ros-groovy-urdf-interface ros-groovy-urdf-parser

and then I've run

cmake ..

and also tried

CMAKE_PREFIX_PATH=/opt/ros/groovy/ cmake -DCMAKE_MODULE_PATH=/opt/ros/groovy/share ..

I always obtain that the urdf modules are not found, altought they are installed

moreover, if I disable the "QUIT" flag in the find_package commands of SearchFroStuff.cmake I obtain the next warning:

checking for module 'urdfdom_headers'
package 'urdfdom_headers' not found
urdfdom_headers not found, urdf parser will not be built.
CMake Warning at cmake/SearchForStuff.cmake:258 (find_package):
  Found package configuration file:


  but it set urdfdom_FOUND to FALSE so package "urdfdom" is considered to be
Call Stack (most recent call first):
  CMakeLists.txt:142 (include)

(I obtain a similar output for urdfdom_headers and console_bridge

any suggestion?

thanks in advance SImone

2013-07-23 19:28:53 -0600 answered a question gazebo hanging on Precise after upgrade from Lucid

Looks like the solution was to abandon the Lucid -> Precise upgrade and do a fresh install. Perhaps something went wrong with the system libraries during the upgrade.

2013-07-23 19:25:55 -0600 answered a question Model Plugin does not load

Looks like @Chris answered his own question in the comments.

2013-07-23 19:22:01 -0600 answered a question Gazebo parse problem with Groovy

It looks like the gazebo_worlds package in ROS Groovy contains some very old .world files that use a syntax that's no longer supported. Specifically, these .world files will fail to parse:

So you should avoid using those .world files, including the .launch files that refer to them.

Note that the simulator_gazebo stack (which contains the gazebo_worlds package) has been deprecated starting in ROS Groovy and will no longer be distributed in ROS Hydro.

2013-07-23 19:14:30 -0600 answered a question Spawn_model with ROS Groovy and Gazebo version 1.9.5.

As @evilBiber suggests, spawn_model is intended to exit right after creating the model. That's probably happening too quickly for the spawn_model node to ever appear in rxgraph.

It looks to me like it's operating properly.

2013-07-23 19:08:45 -0600 edited question Spawn_model with ROS Groovy and Gazebo version 1.9.5.

I need help for using the spawn_model within the rxgraph. My launch, my urdf. My simulation. Unfortunately, spawn_model node is not created within the rxgraph.

2013-07-23 19:06:13 -0600 edited question Giving a 180 degree rotation to a robot

Hi All,

I am trying to build a robot which will stop 2 units length ahead of the obstacle and will have a 180 degree (pi radian) rotation. After the rotation it will again start moving to other obstacles. For that I am writing a Gazebo Plugin with the following OnUpdate() function

public : void OnUpdate() {

double FinalVelocity = 1.0;
double minRange;
double ReducingFactor = 10.0;
double AngularPosition;
double xPositionCurr, yPositionCurr, zPositionCurr;
double xPositionFin, yPositionFin, zPositionFin;

std::vector<double> ranges;
minRange = this->laser->GetRangeMax();

for(std::vector<double>::const_iterator it = ranges.begin(); it != ranges.end(); ++it) {

  if(*it < minRange){
     minRange = *it;
 if(minRange <= 1.0){       
   FinalVelocity = 0.0;
   this->model->SetLinearVel(math::Vector3(FinalVelocity, 0, 0));       
 else {
   double ErrorMargin  = minRange - 1.0;
   FinalVelocity = ErrorMargin / ReducingFactor;
   this->model->SetLinearVel(math::Vector3(FinalVelocity, 0, 0));
  //FinalVelocity = std::max(FinalVelocity, 0.05)

//      this->model->SetLinearVel(math::Vector3(FinalVelocity, 0, 0));
if(FinalVelocity == 0.0){
  this->left_wheel_joint_->SetForce(0, 0.9);

The model rotates continuously. How can I ensure that after 180 degree rotation the model stops and moves forward? Thanks for your kind suggestions.

Thanks and Regards, Debjit.

2013-07-23 19:04:04 -0600 answered a question CloudSim server

It is possible to deploy CloudSim itself on a local machine. We do that regularly for development and testing. See the developer instructions.

But it's not possible to deploy a Gazebo installation onto a local machine using CloudSim. That step will be done on a cloud-hosted machine.

2013-07-23 17:58:22 -0600 answered a question Error Parameter is not an int - issue loading from sdf

I can replicate the problem with Gazebo 1.5.0 in Groovy and in standalone Gazebo 1.8.6. As @AndreiHaidu suggests, retrieving it as a double is a reasonable workaround. E.g.:

int speed = (int)_sdf->GetElement("speed")->GetValueDouble();

This problem is not present (i.e., the call to retrieve the parameter as an int works) in gazebo 1.9.x with sdformat 1.4.4. So it would seem that the bug was fixed during the extraction of the SDF parser into the sdformat package.

Given the relative ease of the workaround, we're unlikely to fix this bug in older versions.

2013-07-23 17:06:38 -0600 edited question Loading ros_control_gazebo_plugin - Gazebo version 1.9.5

I have a problem with use the ros_control: No type element found for transmission. See my urdf. For get control functional what I need?

I am using this tutorial, as well as this one.

2013-07-23 16:53:27 -0600 answered a question BadDrawable error on first run of gzserver after install

The crash with a BadDrawable error usually indicates that you're running X with software rendering. And that's usually because the driver for your GPU isn't installed or failed to load. If you run glxinfo, you'll probably find a string similar to: OpenGL renderer string: Software Rasterizer in the output.

For best results, we recommend using an NVIDIA GPU along with the proprietary drivers from NVIDIA (under Ubuntu, the driver included in the nvidia-current package usually works well). Other cards and configurations also work, but NVIDIA hardware offers the best support under Linux. If you're using a laptop, you might not have many options. On a desktop, get yourself a gamer-level NVIDIA card.

In principle, Gazebo should work fine, but slowly, with software rendering. But in practice, Gazebo frequently crashes on start in the way that you've described.

2013-07-22 18:03:29 -0600 answered a question Brian's test question

answer answer answer

2013-07-22 18:03:12 -0600 asked a question Brian's test question

Not a question; just testing performance.

2013-07-22 12:52:41 -0600 answered a question Confirming graphics card choice for Gazebo

From Jesper on the mailing list:

"We have a bunch of computers with the Quadro 4000 running Gazebo, so it will work. However, it won't be as fast as a recent geforce (consumer cards tend to be faster)."

2013-07-15 16:20:45 -0600 answered a question What's the advantage of not using the global ROS callback queue in gazebo plugins?

You should be fine with the global roscpp callback queue.

I believe that we started using custom callback queues in the Gazebo plugins within the drcsim package in an effort to minimize latency in handling of incoming messages. We were specifically trying to provide a fast update loop for certain command messages used to control the Atlas robot. Even in that situation, we probably overused them, relative to the performance gains that we made.

2013-06-06 17:32:43 -0600 edited answer drcsim: keyboard_teleop hangs at line 75 self.client.wait_for_server()

Problem solved :

Your debugging hints helped quite a bit :

ubuntu@sim-37:~$ rostopic info /chatter
Type: std_msgs/String

 * /rostopic_12677_1370540962545 (
 * /rostopic_11096_1370542055112 (http://ubuntu:46317/)

 * /rostopic_15784_1370541247997 (
 * /rostopic_11085_1370542031830 (

While ros.bash on OCS did change the ROS_IP, and also ROS_MASTER_URI, it appears that we also need to change : ROS_HOSTNAME. in the OCS terminal I changed ROS_HOSTNAME for ubuntu to :, and now the OCS and sim computers communicate as expected. I will now edit the ros.bash file located in the router_OSRF_VRC_Constellation_XX directory.

2013-06-06 17:31:51 -0600 received badge  Enthusiast
2013-06-04 12:55:38 -0600 commented answer drcsim: keyboard_teleop hangs at line 75 self.client.wait_for_server()

To help debug, try, on the sim machine: `rostopic info /chatter`. It will list the known publishers, with their XMLRPC URIs. Make sure that your OCS/OCU publisher is listed with as its hostname.

2013-06-04 12:54:01 -0600 commented answer drcsim: keyboard_teleop hangs at line 75 self.client.wait_for_server()

That sounds like the `ROS_IP` environment variable is not set correctly on the OCS/OCU. That variable should be set by the router-provided `ros.bash` file to be, which means that subscribers will come find your publishers at that address. Did you source `ros.bash`? Can you check the value of `ROS_IP`?

2013-06-04 11:45:00 -0600 answered a question drcsim constellation field computer <-> OCU communication

The OpenVPN tunnel on the router ( / will forward all unicast IP traffic, including unicast UDP, on all ports. Are you trying to use multicast or broadcast UDP? That won't work across the OpenVPN tunnel.

Assuming that you're using unicast UDP, it should work on any port. Here's a simple test:

On one side (e.g., on fc1), start a netcat listener:

# Listen on port 1234 for UDP traffic
netcat -u -l 1234

On the other side (e.g., on the OCU), start a netcat talker:

# Send UDP packets to a listener on port 1234
netcat -u 1234

You should then be able to type characters into either console and see them echoed on the other side (after pressing return). If that doesn't work, try TCP, which you would do by removing the -u argument to both commands (TCP is the default).

If that doesn't work, then there's probably something wrong with the routing tables. I would start with the basics:

  • from OCU, ping
  • from OCU, ping
  • from OCU, ping
2013-06-03 22:58:33 -0600 commented answer drcsim: keyboard_teleop hangs at line 75 self.client.wait_for_server()

Sounds like something is wrong with the ROS configuration. Can you do something simpler, like running rostopic pub /chatter std_msgs/String foo on one side and rostopic echo /chatter on the other? Try it both ways.

2013-06-03 22:13:28 -0600 edited answer drcsim: keyboard_teleop hangs at line 75 self.client.wait_for_server()

This helps explain a solution, but I still see the same problem when running across machines using Cloudsim. Here is what I tried to isolate the issue: on sim machine,

$ roslaunch atlas_utils qual_task_1, 
terminal 2 $ rosrun atlas_msgs actionlib_server, 
terminal 3 $ roscd to : atlas_utils/scripts

the above works as expected, I can control atlas with keyboard telop running on sim machine, gzserver running on sim, and watch atlas using gzclient on local machine.

Now trying the same thing but running keyboard_teleop on local machine :

in ~/vrc_credentials/router_OSRF_VRC_Constellation_37$ . ros.bash
$ roscd atlas_utils/scripts
$ ./ 
 -->  [INFO] [WallTime: 1370135686.288958] [540.776000] Waiting for atlas/bdi_control

now if I Ctrl-C out of this, and then in a second local terminal window (after . ros.bash)

terminal 2  $ rosrun atlas_msgs actionlib_server  
this runs as expected on the local machine, and the actionlib server node is shut down on the sim machine as shown by: [ WARN] [1370135894.701704488, 722.701000000]: Shutdown request received.
[ WARN] [1370135894.701758224, 722.701000000]: Reason given for shutdown: [new node registered with same name]

now I try again to run on the local machine:

teminal 1 $./
I still end up waiting for the actionlib_server as shown by :
[INFO] [WallTime: 1370136073.442231] [878.275000] Waiting for atlas/bdi_control

so in conclusion, I can run keyboard teleop remotely on the sim machine as I can on my local machine, but if I split up the simulation on the sim machine, and keyboard teleop on the local machine, I am not able to get past keyboard_teleop looking for the actionlib_server testing both cases of the actionlib_server running on either the sim or the local.

2013-06-03 14:37:36 -0600 commented answer How can I open DRC simulator 2.6 without Errors?

That looks like a locale issue (error interpreting commas as decimal separators). Try setting `LANG="C"` or `LANG="en_US"`.

2013-05-30 23:18:06 -0600 commented question gazebo1.8+drcsim2.6 fails starting

What happens if you do source `/usr/share/drcsim/` and then try to run `gazebo`? What does the failure look like?