Simulation flight gives inconsistent sensor data

asked 2020-04-30 14:39:02 -0500

jean01 gravatar image

updated 2020-04-30 15:10:17 -0500

Hello everyone.

I made a short outdoors flight of 10 minutes with hector quadrotor on Ubuntu 16.04 Gazebo 7. The sensor readings and the path images are as attached. The flight was simple. I took of slowly, moved forward turned, moved forward again, turned, moved forward and landed. Only a few times I got higher or lower.

The altitude graps are taken from gps, sonar height and altimeter sensors and they show different values. Especially, field.altitude_x(gps height), range(sonar height value), field.altitude_y(altimeter height) and pressre height values are different. Some show me climbing up up and up all the time while I flew at a constant height almost all the time except short take offs and lands. The field acceleration values are very much noisy also.

Do you think this sensor grapics are consistent with the flight? Can ros create false sensor readings?

image description

edit retag flag offensive close merge delete


Can ros create false sensor readings?

I know I keep writing this, and yes it is pedantic, but it does seem worth it to repeat it once more: asking "can ROS do X?" is not a really meaningful question. Only components/nodes can exhibit behaviour. ROS is the name for a middleware + a huge set of available software components using that middleware. It's like asking: "can the road go over 100 km/h?" That doesn't make much sense, as only objects travelling along the road can do that.

In your case: you're using Gazebo as a simulator, with the hector quadrotor packages providing the models and contributing some simulation plugins. Besides that, you're probably also using gazebo_ros_pkgs which provides some of the other plugins.

Finally: you are using specific versions of those components. You already mention them (good!).

As the behaviour of especially Gazebo, but essentially ...(more)

gvdhoorn gravatar image gvdhoorn  ( 2020-05-01 03:18:07 -0500 )edit

.. only ask: "Are there known problems with virtual sensor data reported by the gazebo_ros_pkgs and hector quadrotor plugins, when running in Gazebo 7 (used with ROS Kinetic)?".

gvdhoorn gravatar image gvdhoorn  ( 2020-05-01 03:21:13 -0500 )edit

No idea if the values are reasonable but the sensors have a default drift and noise added to their outputs.
See the urdf for the gaussian and drift values

bob-ROS gravatar image bob-ROS  ( 2020-05-01 06:00:34 -0500 )edit

@gvdhoorn thank you very much for your advices. I tried to write the problem I have encountered giving as much details as I can. If there is something missing, please tell.

jean01 gravatar image jean01  ( 2020-05-01 08:46:55 -0500 )edit

@bob-ROS yes some sensors have a considerable noise. I will try to smoothen them with filters or by changing gaussian noise parameters on urdf files.

jean01 gravatar image jean01  ( 2020-05-01 08:48:13 -0500 )edit

Other than that, I recognised the altitude is measured 3 times by different sensors and they showed different results: field.altitude_x, field.range and field.altitude_y graphs above are showing different values and patterns. I can understand the first two are similar to each other but the third field.altitude_y graph, which is taken from the altimeter shows a completely inconsistent pattern than the first two. I can't explain this difference and wonder if other sensor readings would show similar behaviour.

jean01 gravatar image jean01  ( 2020-05-01 08:53:16 -0500 )edit