<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dimensional</title>
    <description>The latest articles on DEV Community by Dimensional (@dimensional).</description>
    <link>https://dev.to/dimensional</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F13328%2F219eff29-aa5b-40ab-a8f5-da13d0145ad6.png</url>
      <title>DEV Community: Dimensional</title>
      <link>https://dev.to/dimensional</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dimensional"/>
    <language>en</language>
    <item>
      <title>We gave actual claws to Openclaw agent and it flies a drone now</title>
      <dc:creator>Swastika Yadav</dc:creator>
      <pubDate>Mon, 11 May 2026 18:32:32 +0000</pubDate>
      <link>https://dev.to/dimensional/we-gave-actual-claws-to-openclaw-agent-and-it-flies-a-drone-now-bf1</link>
      <guid>https://dev.to/dimensional/we-gave-actual-claws-to-openclaw-agent-and-it-flies-a-drone-now-bf1</guid>
      <description>&lt;p&gt;A few weeks back, we posted a short demo of a drone following a car in peak SF traffic, controlled entirely by an Openclaw agent through a single natural language prompt. It pulled 617K views and 305 developers showed up in the replies asking for early access. Half the quote tweets were calling it the most exciting thing they'd seen in robotics all year, the other half were genuinely concerned about the surveillance implications. Both reactions told us the same thing, this hit a nerve because people could immediately picture what they'd build with it.&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-2028645216505549168-887" src="https://platform.twitter.com/embed/Tweet.html?id=2028645216505549168"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-2028645216505549168-887');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2028645216505549168&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;So we wrote a detailed breakdown of how Openclaw goes from a sentence to a drone tracking a car in real time.&lt;/p&gt;

&lt;p&gt;TL;DR: Openclaw agents can now control drones via Mavlink on Dimensional. One natural language query and the agent handles perception, tracking, and drone flight control autonomously. The same agent that ran on a humanoid yesterday flew a drone today. Fully &lt;a href="http://github.com/dimensionalOS/dimos" rel="noopener noreferrer"&gt;open source&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We gave our Openclaw agent access to a drone through Dimensional, our open-source agentic OS for physical space. 40 lines runfile. No flight controller code. No Mavlink scripting. Just one sentence:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Follow the next white car that comes through the intersection."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The drone took off, the agent started reading the camera feed, waited for a white car to appear, and followed it autonomously. Every decision about when to launch, what to track, and how to pursue was made by the agent. We just typed a sentence and ran a short runfile we call a &lt;code&gt;blueprint&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz12rhjigwk62s08lk8sf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz12rhjigwk62s08lk8sf.png" alt="Agent controlling a drone on Dimensionalos.com" width="800" height="481"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How Openclaw actually flies a drone
&lt;/h2&gt;

&lt;p&gt;The key design decision is that the Openclaw agent doesn't know it's flying a drone. It sees typed streams: &lt;code&gt;Out[Image]&lt;/code&gt; for camera data, &lt;code&gt;In[Twist]&lt;/code&gt; for velocity commands, &lt;code&gt;Out[PoseStamped]&lt;/code&gt; for position. It reasons about what it sees and issues commands against whatever interface Dimensional gives it, regardless of whether those streams are coming from rotors or legs or wheels.&lt;/p&gt;

&lt;p&gt;So when you type &lt;em&gt;&lt;strong&gt;"follow the next white car,"&lt;/strong&gt;&lt;/em&gt; the agent starts running YOLO detection on the live camera feed, classifying vehicles frame by frame. Nothing happens yet. It's watching the intersection, waiting. The moment a white car enters the frame, the agent recognizes it and hands off to the &lt;code&gt;drone_visual_servoing_controller&lt;/code&gt;, which computes the pixel offset between the car's bounding box and the camera center, converts that into velocity commands, and feeds them to the flight controller. From there the &lt;code&gt;MavlinkConnection&lt;/code&gt; takes over and translates everything into protocol commands over UDP port 14550.&lt;/p&gt;

&lt;p&gt;Three clean layers doing three different jobs: the agent decides what to follow, the &lt;code&gt;drone_tracking_module&lt;/code&gt; figures out how to follow it, and Mavlink handles the actual flying.&lt;/p&gt;

&lt;p&gt;The Mavlink layer underneath handles everything about actual flight including rotor speeds, altitude holds, and GPS waypoints. That's 920 lines of guardrailed, low-level control logic sitting between the agent and the hardware, and the agent never touches any of it. What the agent does is call skills like &lt;code&gt;person_follow or gps_nav_skill&lt;/code&gt; through the &lt;code&gt;@skill&lt;/code&gt; decorator, which exposes regular Python methods as tools the LLM can discover and invoke while it's reasoning. The agent decides what needs to happen, the flight controller figures out how to make it happen, and those two systems run at completely different speeds without stepping on each other.&lt;/p&gt;

&lt;p&gt;This is also how we solve the latency question that kept coming up in the replies. Agent reasoning at LLM speed and real-time flight control don't need to run at the same frequency, they just need a clean interface between them. Dimensional is that interface. The agent isn't waiting on the flight controller and the flight controller isn't waiting on the agent.&lt;/p&gt;

&lt;p&gt;You also don't need a physical drone to start building with any of this. The repo ships with &lt;code&gt;FakeMavlinkConnection&lt;/code&gt; and a full replay system that feeds recorded flight telemetry back to your agent with real timing preserved. Build and test the entire workflow on your laptop, then plug in hardware when you're ready to fly.&lt;/p&gt;

&lt;p&gt;You can run the full agentic drone workflow against recorded flight data with one command:&lt;br&gt;
&lt;code&gt;dimos --replay run drone-agentic&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Same agent, different robots
&lt;/h2&gt;

&lt;p&gt;The day before we flew the drone, this same Openclaw agent was running on a Unitree G1 humanoid. The day after, a quadruped. Three platforms in three days. Zero rewrites.&lt;br&gt;
This works because the same typed streams the agent was reading from the drone work identically on a humanoid or quadruped. Build the agent workflow once, swap the hardware connection module, and everything carries over. The agent doesn't know or care what body it's in.&lt;br&gt;
We spent months building a custom, pip-installable transport layer to make this possible. That transport layer is how we already cover 80% of robots including Unitree, DeepRobotics, Agibot, Galaxea, AgileX and most drone platforms. It's the reason we could ship on a humanoid one day and a drone the next, and the reason any developer building on Dimensional gets that same iteration speed.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;curl -fsSL https://raw.githubusercontent.com/dimensionalOS/dimos/main/scripts/install.sh | bash&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;One install. Pick your hardware. Write your prompt.&lt;/p&gt;

&lt;h2&gt;
  
  
  The agent remembers what it sees with Spatial Memory
&lt;/h2&gt;

&lt;p&gt;Following a car is one instruction, one flight. For agents to actually be deployed in physical space they need to remember what they've seen over hours and days, not just react frame by frame.&lt;/p&gt;

&lt;p&gt;We're building Spatial Memory to solve this, it gives agents a persistent world model they can query across space and time. The drone runs on a monocular camera but robots on Dimensional with depth sensors or lidar can plug into the same memory system and agents can query this across seven dimensions: object, room, semantic, geometric, time, image, and point cloud. This is what turns a single-instruction drone into a persistent system that understands your space.&lt;/p&gt;

&lt;h2&gt;
  
  
  Developers are already building for real world
&lt;/h2&gt;

&lt;p&gt;We also set this up at our own office as a proof of concept. If outdoor cameras detect someone loitering, an Openclaw agent deploys a drone to investigate. All cameras, drones, and robots operate in one shared world frame, building spatial memory together as a fleet. We are working on making it production ready soon.&lt;/p&gt;

&lt;p&gt;The depth perception comes from monocular depth estimation, so you don’t need expensive sensor arrays to get started. A standard camera feed is enough to build a working spatial model. OpenClaw can now understand physical space and temporality, and it integrates with any lidar, stereo, or RGB camera you throw at it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsuomtskfqmp4x60yyhn2.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsuomtskfqmp4x60yyhn2.webp" alt="Dimensional" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When we &lt;a href="//github.com/dimensionalOS/dimos"&gt;open-sourced the full stack&lt;/a&gt;, Dimensional hit 3 trending on GitHub within 72 hours. A developer built a Telegram bot controlling a Unitree Go2 in 180 lines of Python. Hackathon teams built ROSClaw, bridging every ROS robot to Openclaw agents. Companies are already shipping inspection drones and warehouse automation on the same stack.&lt;/p&gt;

&lt;p&gt;Join our &lt;a href="http://discord.gg/dimos" rel="noopener noreferrer"&gt;Discord&lt;/a&gt;, share what you build and hang out with fellow builders!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>robotics</category>
      <category>opensource</category>
      <category>openclaw</category>
    </item>
  </channel>
</rss>
