[{"content":"This is the introductory post of my new project called AutoDrone (the name is hopefully WIP).\nI was never the person who sparks with ideas for side projects. I like useless funny projects made by others but I can never get myself to make one myself. I need a purpose, a reason or just a goal and a lot of problems along the way.\nI find Autonomous Systems really interesting especially UAVs/Drones that\u0026rsquo;s why I am thinking about working in the defense sector.\nDISCLAIMER: This won\u0026rsquo;t be a moral discussion about developing killing machines for private companies. Everyone has to decide for themselves if they are fine with it.\nBack to the UAVs. After talking with my friends and family about it, my brother asked me how I would know that I would like to work on these things and why I don\u0026rsquo;t just buy or build a drone myself. I don\u0026rsquo;t know about you but that seems like a really reasonable idea and I have no idea why I didn\u0026rsquo;t do that in the first place.\nSince I don\u0026rsquo;t know much about UAVs I decided to consult our new best friends, the LLMs build by OpenAI and Google about how do actually build UAV. As it turns out the \u0026ldquo;movement stack\u0026rdquo; that is the most accessible and apparently also used in production is mostly made by The Dronecode Foundation.\nThe main parts are:\n\u0026ldquo;PX4 Autopilot\u0026rdquo; as the flight controller, which is the thing that will send the right signals to the motors if you say you want to fly forwards, MAVLINK, which is the protocol used to send the command \u0026ldquo;fly forwards\u0026rdquo; to the flight controller. QGroundControl which is like the name says a ground control software where you can plan missions and control you drone and much more. Not build by the Dronecode foundation but also important are:\nROS2 (Robot Operating System) for a lot of the heavy lifting a like sensor integration, connecting of different systems, mapping, etc. I was told by an LLM that companies try to remove ROS2 from critical systems since it has to many dependencies/is a huge dependency itself. Gazebo/Issac Sim for simulations. I will use Gazebo since I don\u0026rsquo;t have a 1k NVIDIA GPU. Ultralytics YOLO Computer Vision Models for object detection. The Plan Build an autonomous drone which is able to detect a person and follow them without trying to recreate one time use drones.\nI will use the mentioned software parts above and later I will try to strip away ROS2 as much as possible but first it should work using ROS2.\nThe Hardware Current Hardware:\nHuawei Laptop with a AMD Ryzen 5800H and integrated graphics Thinkpad X1 Carbon Gen 6, Intel Core i5-8350U Obviously this is not high end hardware but it should suffice for the start.\nHardware to be bought:\nHolybro x500 v2 Developer Kit: This is a drone kit with PX4 Flight Controller which is well supported and easy to assemble. Keep in mind that my goal is not to build the actual drone but the software stack for it. NVIDIA Jetson Orin Nano Super 8GB as an onboard computer. This will handle object detection and SLAM. Intel Realsense Depth Camera D455 This comes out at around 1.700€.\nFeasibility We all know that it is feasible just take a look at companies like Helsing, Stark or Anduril. But before I buy anything I wanted to know what the actual scope of this is. So I set out on a reconnaissance mission with Opencode and ChatGPT-5.4.\nSadly ROS2 is only supported on Ubuntu 24.04 and for some odd reason Windows 10???? but I am in luck because I run NixOS and way smarter people than me have build a ROS2 overlay for nix.\nUsing this overlay we - the LLMs and myself - were able to build a functioning prototype. A simulated drone in Gazebo which has a camera and streams the images to a ROS2 topic. Then the YOLO26 model runs object detection and publishes a topic with the annotated images.\nFigure 1: Gazebo sim\nFigure 2: rqt with YOLO26 annotated video feed\nIt is also kinda able to follow the person but it is janky and the LLM just build it so it tries to keep the rectangle from YOLO26 in the middle of the screen. I actually don\u0026rsquo;t know yet what the correct logic would be but this solution definitely feels wrong.\nWhere do we go from here? Since I now have mental model of the system I want to build, I can see the problems with the vibecoded one. Link to the repository I have now started a new repo where I am building everything with as little help as possible from the LLMs. I still asks questions and let them explain stuff to me but I won\u0026rsquo;t let them write any code or run to them as soon as something doesn\u0026rsquo;t work. Why and how specifically is material for another post. Link to the new repository. Since this is a big project I cannot work on all the different domains at the same time. What I will do next:\nGet to know the YOLO models and their pre and postprocessing. Integrate it in a C++ ROS2 node and publish the annotated image. After that I\u0026rsquo;ll either look into the actual drone states and changes and behavior trees or I\u0026rsquo;ll buy the Realsense depth camera and try to understand slam and all the stuff I don\u0026rsquo;t yet know even exists.\n","permalink":"/posts/20260405t104407--autodrone-00-vibecoding-and-overlays__nix_ros2/","summary":"\u003cp\u003eThis is the introductory post of my new project called AutoDrone (the name is hopefully WIP).\u003c/p\u003e\n\u003cp\u003eI was never the person who sparks with ideas for side projects. I like useless funny projects made by others but I can never get myself to make one myself. I need a purpose, a reason or just a goal and a lot of problems along the way.\u003c/p\u003e\n\u003cp\u003eI find Autonomous Systems really interesting especially UAVs/Drones that\u0026rsquo;s why I am thinking about working in the defense sector.\u003c/p\u003e","title":"AutoDrone 00: Vibecoding and Overlays"}]