ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Hector_Quadrotor Gazebo - Quadrotor x/y position does not update

asked 2012-08-14 08:24:07 -0500

sethrylan gravatar image

updated 2012-08-29 10:50:20 -0500

With the latest update to the Gazebo package in the ros-fuerte-simulator-gazebo (=1.6.12-s1344941353~precise), the indoor_slam_gazebo.launch and outdoor_flight_gazebo.launch in hector_quadrotor_demo cannot be controlled on the x or y axis with the /cmd_vel topic. Previously, publishing linear x/y twist messages on this topic would correctly command the model to move. However, the z-axis linear twist still works as expected.

We are using the fuerte branch: http://tu-darmstadt-ros-pkg.googlecode.com/svn/branches/fuerte on Ubuntu 12.04.

Most of the error messages are not very helpful. The indoor_slam_gazebo.launch does produce the message:


Warning [parser.cc:348] Gazebo SDF has no gazebo element
Warning [parser.cc:291] DEPRECATED GAZEBO MODEL FILE
On July 1st, 2012, this formate will no longer by supported
Convert your files using the gzsdf command line tool
You have been warned!

This question also references a possible issue with the URDF files, but gzsdf is not included in the gazebo tools (/opt/ros/fuerte/stacks/simulator_gazebo/gazebo_tools/).

The indoor_slam_gazebo.launch also starts in paused mode now, when it previously started in play mode.

Answer: Using the older version of gazebo (ros-fuerte-simulator-gazebo=1.6.10-s1342505104~precise) fixes this problem.

Edit: This issue is resovled as of revision 521 on the Fuerte branch.

edit retag flag offensive close merge delete

Comments

1

I am using the current version 1.6.12-s1344271816~precise of ros-fuerte-simulator-gazebo and cannot reproduce your problem.Could you upgrade to this version and try again? Also make sure that the axes are configured correctly in the hector_quadrotor_teleop launch file for the case you use teleop.

Johannes Meyer gravatar image Johannes Meyer  ( 2012-08-14 22:49:57 -0500 )edit
1

Thanks. I've updated to current, but we are publishing to /cmd_vel from a custom controller node rather than using the hector_quadrotor_teleop package. I can even manually publish the Twist messages, but the odometry data from Gazebo remains 0 on the x and y axis; the z-axis does behave as expected.

sethrylan gravatar image sethrylan  ( 2012-08-15 09:53:16 -0500 )edit

regarding gzsdf, I ticketed myself (https://code.ros.org/trac/ros-pkg/ticket/5544) Can someone try 1.6.14 and see if problem still persists?

hsu gravatar image hsu  ( 2012-08-29 14:14:40 -0500 )edit

"rosrun gazebo gzsdf help" fails with Error [SystemPaths.cc:237] cannot load file [sdf/gazebo.sdf]in GAZEBO_RESOURCE_PATH in ros-fuerte-simulator-gazebo 1.6.14. Is there a mechanism to set this environment variable in ROS-based installations?

Johannes Meyer gravatar image Johannes Meyer  ( 2012-09-05 04:55:02 -0500 )edit

Same dynamics for me with 1.6.14 (from debs). It also appears that while the velocity_command_. does change, the force and torque does not get updated. This maybe related to inertia for the body being zero but I'll have to wait until the next coding window to explore this.

SL Remy gravatar image SL Remy  ( 2012-09-05 05:57:40 -0500 )edit

to run gzsdf in ros based environments, source [path to simulator_gazebo]/gazebo/setup.bash

hsu gravatar image hsu  ( 2012-09-05 13:57:01 -0500 )edit

@trinighost where are you finding that "the force and torque does not get updated"?

hsu gravatar image hsu  ( 2012-09-05 14:33:14 -0500 )edit

I added ROS_INFO_NAMED("quadrotor_simple_controller", "Force: [%g %g %g], Torque: [%g %g %g]", force.x, force.y, force.z, torque.x, torque.y, torque.z); to GazeboQuadrotorSimpleController::Update() which is in quadrotor_simple_controller.cpp

SL Remy gravatar image SL Remy  ( 2012-09-06 03:14:13 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
2

answered 2012-09-06 04:44:18 -0500

There was a bug in the simple_controller_plugin urdf file in the fuerte branch as a consequence of moving the plugin to the hector_quadrotor_controller package and merging some updates from the electric branch in /trunk. It was introduced in r522 on Aug 30 and should be fixed in r558 from Sep 5.

As Gazebo 1.0 does not parse plugin parameters in subtags (one for each PID controller involved) anymore, the control parameter tags have been renamed during the conversion to fuerte. As the default value for all control parameters is zero, the quadrotor does not move if the parameters could not be parsed correctly.

As this question was asked on Aug 14 I did not consider this issue to be the reason for the original problem. However, the effect seems to be nearly the same. On the other hand, if all control parameters are zero, this should affect all axes and not only the x and y.

Please check if your problem still exists with the latest revision from the repo. I am sorry for the inconvenience.

Note: The hector_quadrotor_demo package was moved to a new stack hector_quadrotor_apps to avoid a dependency of hector_quadrotor to the hector_slam stack in preparation of the release in the ROS package repositories. Although not really related, it might lead to some confusion if only the hector_quadrotor stack has been checked out.

edit flag offensive delete link more

Comments

Seems like more noise has been added to the model, but it is working.

SL Remy gravatar image SL Remy  ( 2012-09-06 11:32:05 -0500 )edit

Question Tools

Stats

Asked: 2012-08-14 08:24:07 -0500

Seen: 1,051 times

Last updated: Oct 30 '12