0
$\begingroup$

Rosanswers logo

I'm working on a controller for a quadcopter. Currently I have 9-DOF IMU data and localization data (just x-y-z). The onboard controller already has an algorithm (DCM) for calculating orientation. However the localization operates at a max frequency of 4Hz or so. Would the robot_pose_ekf package be suitable for fusing the IMU data with this on a quadcopter platform? I performed a brief literature search and it doesn't appear this has been done before with this package, but I have no reason to believe it would not work.


Originally posted by mrtc on ROS Answers with karma: 112 on 2012-03-01

Post score: 2


Original comments

Comment by tom on 2012-03-07:
I think it would be best if you described the design problem you're facing in more detail, ie what particular hardware are you using (I'm assuming ArduPilot Mega, right?) and what exactly are you trying to achieve. Would you like to create a quadcopter based SLAM solution, or hold pos indoors? etc

Comment by mrtc on 2012-03-07:
Thanks for the reply Tom. The platform is actually a modified version of AeroQuad (similar in several ways to ArduPilot). For the time being I'm trying to perform position holding indoors. I'm also using the starmac-ros-pkg to provide some of the functionality.

Comment by tom on 2012-03-09:
And how exactly is the localization achieved?

Comment by mrtc on 2012-03-09:
Localization is achieved with an indoor ultrasonic-based triangulation system.

Comment by tom on 2012-03-14:
You'll definitely have to republish IMU data as an IMU topic. DCM doesn't give you information about measurement uncertainties (error covariance), which might be a problem. I remember once trying to achieve what you're doing, but failed for some reason (don't remember exactly, sorry). Good luck.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

The robot pose ekf takes in (partial) pose measurements, so you won't be able to directly feed in the IMU accelerations and angular velocities (how did you get to 9 DOF?), but you can feed in the orientation of the IMU.


Originally posted by Wim with karma: 2915 on 2012-03-07

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by mjcarroll on 2012-03-07:
In the hobby market, it seems that 9DOF is the phrase used for 3 rate gyros + 3 linear accels + 3 magnetometers.

Comment by mrtc on 2012-03-07:
mjcarroll's correct, I should have specified.

Comment by mrtc on 2012-03-07:
The orientation updates much faster (40 Hz or so) than the localization system (4 Hz) but I guess robot_pose_ekf would still be inappropriate for this purpose.

Comment by Wim on 2012-03-12:
The robot pose ekf indeed only provides a 'best estimate'. See this answer for more details: http://answers.ros.org/question/29228/robot_pose_ekf-ignoring-imu_data

$\endgroup$

Your Answer

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