2x VTOL QuadPlane for ROS 2 SmartRTL Development


VTOL QuadPlane for SmartRTL Development

Proposal type:

Hardware , Software , Other : _________________


See attached PDF. This proposal is to cover two aircraft for the development of SmartRTL and related ROS navigation features which include everything to fly the aircraft (PNP aircraft, battery, RC Receiver). This can be a complete test platform for many ROS 2 features that Rhys and I have yet to fly outside of SITL.

The proposal is intended to be open for Quadplane manufacturers to donate a suitable vehicle, including current partners such as @makeflyeasy. If an aircraft can be covered, then the ArduPilot foundation would just need to cover a few things like batteries, RC receiver, current sensor.

A future proposal may cover separate hardware such as gimbal, camera, 4G radio, companion computer, FPV, parachute, etc. I already have an autopilot. For now, we just want to get the SITL model designed, physical models build, flown, and tuned with an AutoPilot.

ArduPilot SmartRTL Vehicle Platform Request.pdf (765.3 KB)

Planned amount $$ (USD):

2 PNP airframes, $1500-$2000 each depending on the selected vehicle

Estimated time for completion:

8 months (Dev conference 2024)

1 Like

Hi, now Freeman 2100/2300 has been discontinued, the tilting model we found 2 problems in long term high frequency flight.

  1. The tilt servos have a high failure rate and the gears are not very effective in resisting impacts.

  2. In several positions during the tilt phase, the propeller airflow interferes with the airflow on the upper surface of the wing, the wing loses a lot of lift, and the aircraft can easily drop high (although it can be optimised by software, it is not an ideal structure).

Maybe in the future, changing to a tilting wing or other structures may solve this problem.

For now we recommend the Striver mini VTOL version, which is a 4+1 solution with very high reliability and stable performance.


That’s interesting, can you show more details on the ROS2 navigation stack (discussion, github) and more specifically on how you plan to implement the map server and the different methods of scene matching for SmartRtl?


The research work to do 3D planning was already attached.

The implementation for the terrain server is here:

And, the terrain planner/navigation is here:

ArduPlane does not include a trajectory controller (yet), and the DDS interface only supports high level goal interfaces, so that will be required to follow a generated plan.

The terrain server is ported to ROS 2, and I have an open PR to have it work off the ArduPilot terrain server. More work is needed to make the terrain support completely hands-off from a users perspective.

Once that DDS interface is written (complaint to ROS REP-147 of course), then terrain-navigation code should be launched without ties to MavLink or PX4.

The last step would be writing the code in ArduPilot to request a flight plan from the companion computer on the RTL event is triggered, and perform some safe behavior until it receives the plan. Terrain navigation uses a loiter as a safe state. Once the plan is computed offboard and received by the autopilot, it should execute the plan and fly home.

The end goal would be:

  • Use the custom build server to get a ardupilot build with DDS enabled
  • Install the terrain planner docker image on your companion computer (per a wiki)
  • Configure the parameters for both the autopilot and companion computer to match the vehicle constraints (per a wiki)
  • Input your geofence into the companion computer and ensure you have terrain data loaded (or install a 4G router onboard the vehicle)
  • Configure up the RTL feature that will query a plan from offboard (per a wiki)

@ppoirier - to add to @rfriedman comments: the ROS 2 port of the 3D planner is running in simulation for PX4. There are a few issues with the rviz markers to resolve, but the details of how to bring up the simulation are in this PR: ros2: update services and launch files to enable PX4 example by srmainwaring · Pull Request #27 · ethz-asl/terrain-navigation · GitHub

We’ve done some initial investigation to add the external nav control to AP. Both the DDS and mavlink interfaces are already available in master to support this, what is missing is the modification to the guided control logic in Plane to handle the additional velocity and acceleration setpoint data provided by the external planner.

Thanks for reply and links , I understand better what is the scope of work.
Implementing a trajectory controller for Arduplane is a great feature and testing it in challenging terrain will certainly make it valuable.

I agree with @makeflyeasy recommendation: Striver mini VTOL version, which is a 4+1 solution with very high reliability and stable performance.

1 Like

cost wise this is not a problem, just need to work out the right airframe

1 Like

Quick update on airframe choice for terrain planner testing.

I wanted a frame others could replicate if needed, and that would not go out of stock or be limited by export restrictions, but still remain reasonably priced. I’ve chosen to build a printed frame: a Titan Dynamics Cobra which is printed in Polymaker LW-PLA and then coated with approx 100g of West Epoxy which is partially absorbed into the plastic. This adds strength, abrasion resistance and waterproofing for a small weight cost.

I’m not looking for funding for this plane, but will draw up a parts list and build log if @rfriedman or others want to build similar. Airframe cost is about £250 comprising £40 for plans, £60 for LW-PLA, £150 for the carbon tubing. The remaining cost is electronics (and assembly time).

Plane has plenty of bay room for developer electronics and carrying capacity. AUW (with 2x 6S 3000 mAh batteries) about 4kg. Recommended max takeoff weight approx 6 kg, so room to expand. We also have a RF and Gazebo version of this aircraft. Currently flight testing. Will update with results.

Figure: large bay, acommodates RPi4 and MatekH743-WING v3 + ESCs

Figure: plan view, 4-in-1 ESC located aft with additional cooling; plane disassembles easily

1 Like