VOXL2 PX4 HITL with VIO
-
Hello community,
I am using VOXL2 with SDK 1.1.3 on my custom drone. I was going through the instructions for VOXL2 HITL with 1.14 PX4 version on this link and I found HITL VIO to be missing which was present in previous SDK 0.9.5. Is there a feasibility of this feature coming into docker based environment as mentioned in the instructions? My intent is to test GPS + VIO fusion. If this needs modified gazebo world with some plugins for sending fake VIO data that should do the job. Please let me know. -
Hello community,
I am using VOXL2 with SDK 1.1.3 on my custom drone. I was going through the instructions for VOXL2 HITL with 1.14 PX4 version on this link and I found HITL VIO to be missing which was present in previous SDK 0.9.5. Is there a feasibility of this feature coming into docker based environment as mentioned in the instructions? My intent is to test GPS + VIO fusion. If this needs modified gazebo world with some plugins for sending fake VIO data that should do the job. Please let me know.@Aaky Yes, we are currently in beta testing phase of new 1.2.0 release which has what you are looking for. The newest voxl-px4 has command line options to tell it which types of position data to use. See: https://github.com/modalai/px4-firmware/blob/11ef78868ffcc8bf4fbe13f48488a0a46e7f9ae3/boards/modalai/voxl2-slpi/src/drivers/dsp_hitl/dsp_hitl.cpp#L292 for the 3 options.
-mwill include magnetometer data,-gwill include gps data, and-owill include odometry data. So, for no GPS / Mag and VIO only just supply the-ooption. To start using this on SDK 1.1.3 you will need an updated voxl-px4 (http://voxl-packages.modalai.com/dists/qrb5165/staging/binary-arm64/voxl-px4_1.14.0-2.0.68_arm64.deb) and an updated libfc-sensor (http://voxl-packages.modalai.com/dists/qrb5165/staging/binary-arm64/libfc-sensor_1.0.5_arm64.deb). Also, without GPS / MAG you need to set the PX4 parameters SYS_HAS_GPS and SYS_HAS_MAG to 0 and the parameter EKF2_MAG_TYPE to 5. -
Hello community,
I am using VOXL2 with SDK 1.1.3 on my custom drone. I was going through the instructions for VOXL2 HITL with 1.14 PX4 version on this link and I found HITL VIO to be missing which was present in previous SDK 0.9.5. Is there a feasibility of this feature coming into docker based environment as mentioned in the instructions? My intent is to test GPS + VIO fusion. If this needs modified gazebo world with some plugins for sending fake VIO data that should do the job. Please let me know.@Aaky We have modified gazebo. Our project is here: https://github.com/modalai/PX4-SITL_gazebo-classic/tree/voxl-dev. It includes our modifications and Docker build file. This will send the data for VIO. When you say "fake" VIO data, what do you mean? Are you trying to simulate a VIO "blowup"? BTW: HITL is a great way to test GPS + VIO fusion.
-
@Aaky We have modified gazebo. Our project is here: https://github.com/modalai/PX4-SITL_gazebo-classic/tree/voxl-dev. It includes our modifications and Docker build file. This will send the data for VIO. When you say "fake" VIO data, what do you mean? Are you trying to simulate a VIO "blowup"? BTW: HITL is a great way to test GPS + VIO fusion.
@Eric-Katzfey Thanks Eric for precise explanation. It definitely helps alot.
Yes I want to blowup VIO midflight and check EKF reaction and flight stability (Instead of taking hit on my hardware). For this I might need some modification in gazebo plugin file which is sending VIO data to VOXL?
So the commandline options -o , -g etc will directly start receiving data from gazebo or do we need to enable something on gazebo world file as well? Like for VIO some plugin would be essential? I worked on SDK 0.9.5 where gazebo had plugin for sending VIO data to VOXL2 in HITL mode. -
@Eric-Katzfey Thanks Eric for precise explanation. It definitely helps alot.
Yes I want to blowup VIO midflight and check EKF reaction and flight stability (Instead of taking hit on my hardware). For this I might need some modification in gazebo plugin file which is sending VIO data to VOXL?
So the commandline options -o , -g etc will directly start receiving data from gazebo or do we need to enable something on gazebo world file as well? Like for VIO some plugin would be essential? I worked on SDK 0.9.5 where gazebo had plugin for sending VIO data to VOXL2 in HITL mode.@Aaky Yes, that is why I pointed you to our repo for gazebo where we have everything setup properly. For VIO blowup I generally do that in the dsp_hitl driver in PX4 instead of in Gazebo. This is all just test code and not part of our release though. But you can add a new command to dsp_hitl to start a blow-up (quality goes to zero) and another to stop it. And while in a blowup you can provide fake odometry data. This fake odometry data will send the drone on a distinctive path such that you will be able to tell if it is following the bad data or if it drops it and picks up gps.
-
@Aaky Yes, that is why I pointed you to our repo for gazebo where we have everything setup properly. For VIO blowup I generally do that in the dsp_hitl driver in PX4 instead of in Gazebo. This is all just test code and not part of our release though. But you can add a new command to dsp_hitl to start a blow-up (quality goes to zero) and another to stop it. And while in a blowup you can provide fake odometry data. This fake odometry data will send the drone on a distinctive path such that you will be able to tell if it is following the bad data or if it drops it and picks up gps.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login