0
$\begingroup$

Rosanswers logo

Hi everybody,

I am developing an autonomous indoor quadrotor. For the moment everything was simulated on Gazebo and worked well. Now I want to push everything on a real drone and make use of both a Pixhawk and the px4flow to get good low level control. These components were not included into the simulation.

My system relies on either hector_mapping or AMCL for the localization (depending on the situation I use on or the other...).

I am experimenting the connection between the px4 boards and ROS via Mavros. The topics are published but I don't really understand how to bridge mavros with my localization algorithms so that I can get an improved localization taking into account all the data available...

Here is my question! I guess I should use so Kalman filters to fuse all the information (optical flow from px4flow, IMU for Pixhawk, height for Pixhawk and 2D coordinates from localization - hector_slam or AMCL). Is there an available node for that? How do I need to use it?

Thanks for your help!


Originally posted by quentin on ROS Answers with karma: 123 on 2016-02-17

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Here are two options that come to mind:

  • Leaving Px4 alone and running fusion just on the ROS side. robot_localization is probably the easiest and best documented sensor fusion approach for ROS currently. This way, there are two "loosely coupled" state estimates and you'd send commands to the PX4 based on your "ROS-side" state estimate without updating the internal PX4 estimator.
  • There are also other approaches like the ethzasl_sensor_fusion approach that were developed with MAVs in mind. See this page on the pixhawk wiki for extensive information. If you manage to send a pose estimate on the topics described there to the PX4, things should work. I'm not sure in how far there is support for partial pose estimates however (e.g. a 2D subset of pose information generated from the two approaches you use). As the internal state estimate of the PX4 is updated here, there probably is a somewhat higher risk of messing up.

Originally posted by Stefan Kohlbrecher with karma: 24361 on 2016-02-17

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by quentin on 2016-02-17:
Thanks for your answer. I also think that it is safer for me to keep PX4 untouched. I am going to try that and update on the first solution.

Additional question: do you know if mavros can publish Odometry msgs (in mavros/global_position/local topic) if no GPS are used? Could be useful for ekf...

Comment by quentin on 2016-03-08:
I implemented your first suggestion. I posted my architecture in this post for some feedback. Thanks for your help.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.