Integration of px4, px4flow with AMCL localization for quadrotor
Hi everybody,
Following previous questions (1, 2), I would like to ask you if this architecture looks smart and efficient. My goal is to perform autonomous indoor navigation for quadrotor based on AMCL localization. I have been facing some troubles to set up my tf tree and my different odometry and pose informations. The proposed solution is as follow:
The TF tree:
base_link -> base_stabilized: I use the IMU information returned by mavros in the hector_imu_attitude_to_tf node
base_stabilized -> base_footprint: I simply subscribe to the altitude topic of mavros and publish the z translation. I still have some reliability problems as the barometer is not really accurate. I might try to use the sonar height combined with the IMU information. To be continued
base_footprint -> odom: I use robot_localization. It is working in 2d mode. It combines the IMU and the optical flow. To use the mavros_msgs/OpticalFlowRad in robot_localization, I use make use of optflow_odometry. At the end of the day, robot_localization is also publishing my 2D odom.
odom -> map: I use another EKF, again robot_localization, to fuse my 2D odom with my SLAM position.
For the moment, everything looks good, except the base_stabilized -> base_footprint. This problem does not affect the system. Do you think my solution is a good one, compared to the use of a single mavros usage? Am I creating to much computing and processing requirements or maybe inducing errors?
Looks reasonable, though I'm curious how well the EKF in
two_d_mode
withamcl
will work when the LIDAR (?) scans are going to vary with roll and pitch.I believe that hector_imu_attitute_to_tf is supposed to correct for the pitch and roll.
Yes exactly Icehawk101.
For the moment the system looks quite stable. I am also trying to develop another tree, making use of amcl instead of the slam localization. Documented comparison are to be done!
Are you using AMCL for 2D localization and then just adding the height to the transform?
Yes exactly Icehawk101
Have you tried this with AMCL yet?