Gazebo | Ignition | Community
Ask Your Question

dcconner's profile - activity

2017-10-28 11:23:48 -0500 edited answer ball falling through ground instead of laying on ground plane

I'm using the following: <?xml version="1.0"?> <robot xmlns:xacro=""> <x

2017-10-28 11:23:48 -0500 received badge  Associate Editor (source)
2017-10-28 11:16:44 -0500 answered a question ball falling through ground instead of laying on ground plane

I'm using the following urdf now, and it appears to work fine: <robot xmlns:xacro=""&g

2017-03-30 01:38:48 -0500 received badge  Famous Question (source)
2017-03-13 10:14:05 -0500 received badge  Notable Question (source)
2017-03-12 12:59:45 -0500 received badge  Popular Question (source)
2017-03-09 12:30:25 -0500 received badge  Enthusiast
2017-03-07 19:38:34 -0500 asked a question Enabling gazebo_ros_control plugin changes physics response of entire body

I'm using the Nao simulation (https:/ with Kinetic and Gazebo 7.

The default launch spawns the robot in the air. The simulation runs slower than real time, but the robot takes almost 30 seconds of simulation time to fall less than 0.2 meters.

If I comment out the invocation of the gazebo_ros_control plugin from the xacro file, then the robot falls to the ground quickly as expected. This slow falling of the main body happens whether I enable any controllers or not.

Any ideas what is causing this issue?

image description (Note the timestamp on image when the robot first touched down.)

Originally the default installation would fall slowly backwards, as shown in the attached image. I fixed the falling backwards by updating some of the dynamics parameters in the urdf, but I have not been able to determine the slow falling.

2017-03-07 19:20:08 -0500 commented answer gazebo bumper plugin wont give me any data ?
2017-03-07 19:16:18 -0500 commented question Problems while parsing <gazebo> URDF elements with Gazebo7 and ROS Jade

2017-03-07 19:15:47 -0500 commented answer Gazebo contact sensor added to a robot link in urdf file is not working as expected?

Thank you! This is ugly, but fixed my issue. Mods - Can this be fixed?

2017-03-07 18:52:31 -0500 commented question gazebo bumper plugin wont give me any data ?

Did you solve this problem? I'm seeing the exact issue with Kinetic Gazebo 7. I tried adding "_collision" tags in the urdf, to no avail.

2016-12-19 21:49:28 -0500 answered a question Gazebo 5 (Jade deb) velocity motor issue

Looking back at my code; it seems that I fixed this by modifying parameters as above comment and then modifying my custom gazebo_ros_create.cpp plugin to change joints_[LEFT]->SetMaxForce(0, torque_) to joints_[LEFT]->SetEffortLimit(0, torque_)

RIGHT similarly

2016-12-19 21:41:51 -0500 commented question Force/Torque sensing with ZMP calculation

The "tutorial" was one of the early drcsim tutorials. May not be available at this point

2016-12-19 21:40:48 -0500 commented question Force/Torque sensing with ZMP calculation

The "tutorial" would have been one of the early tutorials published as part of the drcsim development. Given the rapid pace of development,and subsequent revisions, I doubt that particular tutorial is still available.

2016-06-10 05:26:51 -0500 received badge  Famous Question (source)
2016-06-10 05:26:51 -0500 received badge  Notable Question (source)
2016-04-19 10:14:12 -0500 received badge  Popular Question (source)
2016-04-13 16:48:49 -0500 asked a question ball falling through ground instead of laying on ground plane

This should be easy, but I'm missing something obvious.

I'm trying to create a urdf file for a ball that that I can launch multiple times at different locations through roslaunch.

<node name="ball_1" pkg="gazebo_ros" type="spawn_model" args="-file $(find my_model/urdf/ball.urdf -urdf -x -1.2192 -y 2.56032 -z 0.0254 -s 0.0254 -c "green" -model ball_1" />

My attempt at urdf is :

image description

I first tried without the gazebo tag, but in either case the ball gets added to the gazebo simulation, but then it is not visible . I can select the model "ball_1" in Gazebo, but the pose continues to go negative as if it fell through the ground plane.

The robot model is working as expected.

I'm running ROS jade under Ubuntu 14.04 with a separate gazebo5 install

2016-03-16 07:46:20 -0500 received badge  Famous Question (source)
2016-02-18 03:49:23 -0500 received badge  Notable Question (source)
2016-02-11 17:01:20 -0500 commented question New ros-jade-desktop-full install didn't setup up the /usr/share/gazebo folder
2016-02-11 16:53:57 -0500 asked a question New ros-jade-desktop-full install didn't setup up the /usr/share/gazebo folder

Normally, after an install of ros-jade-desktop-full, the gazebo 5.0 package is setup to run properly.

I tried to set up a new computer this afternoon, and it is giving me an error because there is not /usr/share/gazebo library.

I know this was working a couple of weeks ago. Has there been a change to debs that busted this?

2016-02-04 17:07:52 -0500 commented answer Some contacts not detected

I tried this with my plugin (update of the gazebo_ros_create.cpp from Turtlebot) with Jade (Gazebo 5.1) and I still can't get this to work. I can see contacts in Gazebo, but the filter topic is always empty. std::string topic = mgr->CreateFilter(base_geom_name_, base_geom_name_); contact_sub_ = gazebo_node_->Subscribe(topic, &GazeboRosCreate::OnContact, this); where base_geom_name_ is the name of the collision object in the base link

2016-02-02 16:54:22 -0500 commented question Gazebo 5 (Jade deb) velocity motor issue

also needed to set step size to 0.001 and update to 1000 to get system to run properlyl

2016-02-02 16:22:36 -0500 commented question Gazebo 5 (Jade deb) velocity motor issue

Fixed my movement issue by fixing the mu parameters to 100000, and large Kp,Kd which relate to contact forces and damping of body, and not any sort of controller. I removed the setMaxForce as suggested above. I suspect the mu = 1.0 from original model was causing penetration of ground plane and locking the wheels. Apparently SetVelocity still works as before inspite of other comments. Leaving this open due to issues with inconsistencies found during my debugging of other issue.

2016-02-01 09:08:29 -0500 received badge  Popular Question (source)
2016-01-31 11:34:09 -0500 answered a question How to stop a robot from going out of its joint limits? You need to set the hard limits in the urdf file, and make sure the joint is not set to continuous.

It sounds like you only have "safety limits" set, or the limits for the ros_controller set and not the physical limits.

See this example from

Note the difference between lower/upper hard limits of revolute joint, and the soft_*_limits.

 <joint name="back_bkx" type="revolute">
<origin rpy="0 0 0" xyz="0 0 0.05"/>
<axis xyz="1 0 0"/>
<parent link="mtorso"/>
<child link="utorso"/>
<dynamics damping="0.1" friction="0"/>
<limit effort="300" lower="-0.523599" upper="0.523599" velocity="12"/>
<safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.5236" soft_upper_limit="10.5236"/>


2016-01-29 12:31:46 -0500 commented answer How to accelerate a simulated robot and get the same result as when I use real time factor?

When you say "take 0.1 seconds to move", do you mean 0.1 wall clock. Then this should be working, If you mean 0.1 simulation, then you need to increase velocity command that is being integrated. If you are sending the commands programaticaly then you can use the /clock to get the simulation time (not wall time) and trigger your events off of simulation time. Use the ros::Time sleep functions instead of your OS sleep

2016-01-28 23:18:24 -0500 answered a question How to accelerate a simulated robot and get the same result as when I use real time factor?

Unless your plugin timed out after 1 second of simulation time, the model will continue to act on the last command.
It is integrating on the old command for more simulation time.

I suspect that rostopic pub is using wall clock and not simulation time to determine how fast it updates.

If you publish your updates faster, I suspect that will fix your issue. The other issue will be delay.

The communications can't go faster, so if there is a delay between your detection of an event and processing time and comms time for your updated topic, running faster simulation time, will increase the apparent delay in getting the updated signal.

2016-01-28 22:34:21 -0500 commented question Gazebo 5 (Jade deb) velocity motor issue

I found this link , which says to remove setMaxForce, but still used setVelocity. This got the wheels spinning, but not behaving properly.

2016-01-28 22:01:39 -0500 asked a question Gazebo 5 (Jade deb) velocity motor issue

Ubuntu 14.04 ROS Jade I'm trying to update the a iRobot Create model based on the Turtlebot, which hasn't been updated since Hydro. The plugin was using the setVelocity(0,wheel_speed) command, but the robot wasn't moving. As best I can tell this was broken when Coulomb friction added.

The standard answer from similar tickets (see question 8371) seems to be to now use:

joint_steering_->SetParam ( "vel", 0, applied_steering_speed );

as shown in

When I try this (and the "fmax"), I get

[Wrn] [] The 'vel' parameter is deprecated to enable Coulomb joint friction with the 'friction' parameter
[Wrn] [] The 'fmax' parameter is deprecated to enable Coulomb joint friction with the 'friction' parameter
[Err] [] SetParam(fmax) boost any_cast error:boost::bad_any_cast: failed conversion using boost::any_cast

And the wheels still do not turn. A rostopic echo shows the joint velocity of ~8 rad/s, but the joint position is not moving (it vibrates with joint position moving in 4th decimal place)

Any pointers appreciated.

2015-11-08 10:17:43 -0500 marked best answer DRCSIM: Time sync and coordination

Cross posted to forums.

Can we get an ntp/ptp server operating on the simulation computer that the field and OCS computers can sync to? Can we add wall clock to the API clock message?

Together, these will allow us to keep track of the delay between time stamped messages and the time on receiving computer.

On the actual system it would make more sense to have the robot sync to the OCS (assuming it has GPS/internet time server connection), but may be simpler to have the simulation cloud provide service here.

2015-10-31 12:31:05 -0500 marked best answer libbullet error installing drcsim-2.2

I have openrave installed, which uses libbullet-2.81

When I try to install drcsim-2.2 I get the following errors

Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)

I tried again:

Groovy$sudo apt-get install drcsim
Reading package lists... Done
Building dependency tree       
Reading state information... Done
drcsim is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 gazebo : Depends: libbullet but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Groovy$sudo apt-get -f install 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 9 not upgraded.
3 not fully installed or removed.
Need to get 0 B/906 kB of archives.
After this operation, 2,289 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
(Reading database ... 340839 files and directories currently installed.)
Unpacking libbullet (from .../libbullet_2.81-1ppa1~precise_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/libbullet_2.81-1ppa1~precise_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/', which is also in package libbullet2.80 2.80.2-ubuntu1~precise1
Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)


2015-10-31 12:31:04 -0500 marked best answer Is there catkin support for atlas_msgs and osrf_msgs?

I tried to build a catkin package that depends on atlas_msgs and osrf_msgs.

I get the following error:

CMake Error at /opt/ros/groovy/share/catkin/cmake/catkinConfig.cmake:71 (find_package):
  Could not find a configuration file for package atlas_msgs.

  Set atlas_msgs_DIR to the directory containing a CMake configuration file
  for atlas_msgs.  The file will have one of the following names:


I looked in the bitbucket groovy branch of drcsim, but don't see those files there either.

We are developing in groovy, and would like to catkinize where we can. Is there a recommended approach?

2015-10-31 12:31:00 -0500 marked best answer DRCSIM: new API and update rate

Thanks for publishing the preliminary API

With regard to the control inputs (subscriptions).

What is the fastest update rate that can be published and received by Gazebo for drcsim?

What is the control loop update rate in simulation time?

What is the expected physics simulation time step?

One can imagine running physics simulation at 0.001 s time step, but simulating a 200 Hz controller at 0.005 second time step (that is control output only updated every 5th simulation time step).

If the physics is only run at 0.005 s, then there is no point designing a controller that depends on 500 hz update rate.

Can you give us guidance on plans and expectations regarding the above questions? This will constrain the control methods that can be used.

2015-10-31 12:30:53 -0500 marked best answer What is the proper drcsim-1.1 setup for the moving joints by animation tutorial

In going through the tutorials again, I've noticed that the wiki is not up to date for the controller changes to drcsim-1.1. Specifically, the drc_robot_position_controller.launch must be used in place of drc_robot.launch for earlier tutorials. (I made note of this on the first tutorial wiki.)

I tried the tutorial, but it does not appear to work either.

I haven't been able to back out the changes to world that would have changed the plugin behavior yet; has anyone gotten this to work with the drcsim-1.1 release?

2015-10-31 12:30:22 -0500 marked best answer DRCSIM: When will pelvis height control work with STAND and MANIPULATE modes of BDI Sim interface?

Using latest drcsim-nightly build, the system is using Sim Interface 1.0.8.

When will the next version be released? (I see 1.1.0 is in testing)

When will the use_desired pelvis_height control start working? (It does not seem to impact MANIPULATE in the current release.)

2015-10-31 12:30:21 -0500 marked best answer When will drcsim-nightly switch to 2.4 release?

I presume that 2.4 is the latest official release. Why is the nightly build still installing 2.3?

I thought nightly was supposed to be the most up to date.

2015-10-31 12:30:20 -0500 marked best answer DRCSIM: Which ROS versions will be supported?

The current drcsim uses ROS Fuerte for the controllers and basic interfaces, but uses the standalone Gazebo system.

The anticipated release of ROS Groovy has major changes to the representations and build systems, while Fuerte does not have all of the new updated packages.

Which versions will be supported in drcsim going forward? What is the timetable for Groovy support if applicable?

2015-10-31 12:30:17 -0500 marked best answer Is there a change log for DRCSIM 2.7.0 (and updated roadmap)?

Where can I find a change log for drcsim 2.7.0?

Related: Can you update the roadmap on the wiki?

2015-10-31 12:30:17 -0500 marked best answer drcsim: how do we reset BDI sim_interface error after fall and resume stand?

If the robot falls, the behavior_feedback sets an error code and prevents the robot from entering anything other than USER mode.

Do we need to do anything other than return the robot to standing posture to resume BDI's MANIPULATION/STAND controls?

2015-10-31 12:29:09 -0500 marked best answer Can you help me make sense of force sensor data when walking (or fix error)?

Regarding the screen captures below. The system was running the 5step demo of the BDI walking (1/3 ms, 90 iters), and we captured the data. The first image shows a single step from touch down of left until after touchdown of right, which occurs between 557.6 and 557.8 seconds.

The second image shows a close up of the right foot touch down range. The position, both foot elevation and hip/knee joint data is smooth; the effort data is noisy as expected. My concern is with the force data from the force/torque sensor.

I'm curious about the initial spike (magenta) in r_foot force/z shown in upper left plot of the second (zoomed) image. This occurs after the left foot force has dropped to nearly zero (our robot is almost running!). After this right foot spike, the left foot force shooting up to almost twice the weight of single support, and then decays.

The second magenta spike seems to coincide with the actual touch down of the right foot. I can't make sense of the data between 557.5+0.16--> 0.19 in the second figure.

Is this a limitation of simulation physics engine?

Will this be cleaned up with next release?

Is this somehow expected behavior?

image description image description

2015-10-31 12:26:16 -0500 marked best answer drcsim: keyboard_teleop hangs at line 75 self.client.wait_for_server()

The keyboard_teleop walking demo works on some machines, and on others it hangs at line 75


I tried sudo apt-get remove and reinstall drcsim-nightly but that didn't solve the issue.

Anyone else seen this? Is there some dependency that must be installed separately?

I was told this can indicate that the actionlib server didn't start properly; the log file shows:

rospy.client][INFO] 2013-05-01 18:01:31,018: init_node, name[/walking_client], pid[7581]
[xmlrpc][INFO] 2013-05-01 18:01:31,018: XML-RPC server binding to
[xmlrpc][INFO] 2013-05-01 18:01:31,018: Started XML-RPC server [http://computer:57220/]
[rospy.init][INFO] 2013-05-01 18:01:31,018: ROS Slave URI: [http://computer:57220/]
[rospy.impl.masterslave][INFO] 2013-05-01 18:01:31,018: _ready: http://computer:57220/
[xmlrpc][INFO] 2013-05-01 18:01:31,019: xml rpc node: starting XML-RPC server
[rospy.registration][INFO] 2013-05-01 18:01:31,019: Registering with master node http://localhost:11311
[rospy.init][INFO] 2013-05-01 18:01:31,119: registered with master
[rospy.rosout][INFO] 2013-05-01 18:01:31,119: initializing /rosout core topic
[rospy.rosout][INFO] 2013-05-01 18:01:31,122: connected to core topic /rosout
[rospy.simtime][INFO] 2013-05-01 18:01:31,124: initializing /clock core topic
[rospy.simtime][INFO] 2013-05-01 18:01:31,126: connected to core topic /clock
[rospy.internal][INFO] 2013-05-01 18:01:31,137: topic[/clock] adding connection to [http://computer:56967/], count 0
[rosout][INFO] 2013-05-01 18:01:31,143: Waiting for atlas/bdi_control
[rospy.internal][INFO] 2013-05-01 18:01:31,254: topic[/atlas/mode] adding connection to [/gazebo], count 0
[rospy.internal][INFO] 2013-05-01 18:01:31,353: topic[/rosout] adding connection to [/rosout], count 0
[rospy.internal][INFO] 2013-05-01 18:01:31,354: topic[/atlas/control_mode] adding connection to [/gazebo], count 0

That's the output of the walking_client.log; the only message on screen is the "Waiting for atlas/bdi_control" message