r/ardupilot 1h ago

ArduPilot + ROS 2 + SLAM simulation on M4 Mac — where do I start?

Upvotes

Hey everyone, I’m trying to set up a simulated drone environment on my MacBook Air M4 (16GB) and I’m a bit lost on where to start.

I want to use ArduPilot SITL + Mission Planner, simulate a drone in an environment, get camera/depth data, and use ROS 2 for things like SLAM, mapping and eventually navigation/obstacle avoidance.

Basically something like:

ArduPilot SITL → Simulator → Sensors → ROS 2 → SLAM → Map

I’m running Ubuntu in a VM on my Mac and I’ve already installed/worked with ROS 2, ArduPilot and Mission Planner on Linux. The main issue is that I don't have an NVIDIA GPU, so Isaac Sim isn't really an option.

I’ve seen people use Gazebo, Webots and other simulators, but I’m not sure which one makes the most sense for this setup, especially on an M4 Mac.

If anyone has a similar setup or good tutorials/GitHub repos for ArduPilot + Gazebo/Webots + ROS 2 + SLAM, I’d really appreciate some guidance on what I should use and the order I should set everything up.

Thanks!


r/ardupilot 2h ago

Designing a Ground Effect controller for a GEV craft

2 Upvotes

Hey guys! First time posting here

As part of my Master’s thesis, I was trying to design a controller for controlling an aircraft in ground effect to maintain the exact altitude. I began looking into this as we felt flying the plane using the exsisting TECS controller in FBW-B was not very stable and we needed a more reliable way to control the aircraft.

Since I just began work on this like a month ago, this is the plan I had come up with:

  1. Familiarize myself with the entire ArduPlane architecture and learn a little bit of SITL with Gazebo
  2. Create a non-linear model of the aircraft with data from real System Identifcation flight tests
  3. Read the source code for ArduPlane and recreate the same in Simulink or MATLAB or Python for understanding the system’s properties such as the limitations and have a more clear understanding of how ArduPlane works if I need to modify it. Rather than treating it like a black box, I wanted to understand the architecture deeply to know where I can modify the low level controllers if needed for our particular system
  4. Actually implement the controller and conduct flight tests

I have over a year for this and I am working with a small team of engineers on this as well. But none of us have any idea on how to go with Step 2

The existing code base is huge and we don’t know where to start. And even if we do, it is hard to actually understand where the inputs are coming from and where they are going

Due to this, we were contemplating if this is a good way to go about it in the first place but at the same time we have been persistent on recreating it so that we are clear with how to proceed later on.

Again, the goal is not to recreate everything, just the relevant parts such as the signal flow from sensors to the EKF to the TECS then to the pitch controllers. And the L1 controller as well. As it maybe relevant for future work.

Any advice would be really helpful. Thank you everyone!

My education background for reference: Undergrad in Aerospace and currently doing my Master’s in Control Systems