<?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: Sudeeksha Chagarlamudi</title>
    <description>The latest articles on DEV Community by Sudeeksha Chagarlamudi (@sudee_sim).</description>
    <link>https://dev.to/sudee_sim</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%2Fuser%2Fprofile_image%2F3959140%2Fd7f43b53-141d-4ee1-befe-f0894fc426ef.JPG</url>
      <title>DEV Community: Sudeeksha Chagarlamudi</title>
      <link>https://dev.to/sudee_sim</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sudee_sim"/>
    <language>en</language>
    <item>
      <title>I Told a Robot to "Clean the Kitchen", and It Actually Did</title>
      <dc:creator>Sudeeksha Chagarlamudi</dc:creator>
      <pubDate>Fri, 29 May 2026 23:07:19 +0000</pubDate>
      <link>https://dev.to/sudee_sim/i-told-a-robot-to-clean-the-kitchen-and-it-actually-did-1d76</link>
      <guid>https://dev.to/sudee_sim/i-told-a-robot-to-clean-the-kitchen-and-it-actually-did-1d76</guid>
      <description>&lt;p&gt;I typed "Clean the kitchen" into a chat box. A robot turned toward the right room, drove over, swept the floor in a tidy back-and-forth pattern, and came back home, while describing what it was doing the whole way.&lt;/p&gt;

&lt;p&gt;No buttons, no coordinates, no code to write each time. Just a sentence.&lt;/p&gt;

&lt;p&gt;I built this over the last few weeks. It's called NavMind, and it's the first project I'm writing up as I learn robotics in public. Here's what it does, the one idea that makes it work, and the things that broke along the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it is, in one breath
&lt;/h2&gt;

&lt;p&gt;NavMind is a robot that lives in a simulated house. You tell it what to do in plain English, and it figures out which room you mean, drives there on its own, cleans the whole floor, and returns to base. There are six named rooms: kitchen, bedroom, study, and so on, and it handles commands like "vacuum the bedroom" or "sweep the guest room."&lt;/p&gt;

&lt;p&gt;It runs entirely on my own laptop. No cloud, no paid API, no physical robot, just a simulator and a language model running locally.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happens when you type a command
&lt;/h2&gt;

&lt;p&gt;Let's follow a single instruction all the way through.&lt;br&gt;
You type "clean the kitchen." A small chat app (built with Streamlit) takes your sentence.&lt;/p&gt;

&lt;p&gt;The language model reads it. A local model, Llama 3.2, running through Ollama on my machine, turns your loose sentence into a structured command: room = kitchen, action = clean.&lt;/p&gt;

&lt;p&gt;That command is sent to the robot's "brain." A navigation node receives it. It already knows where each room sits on a map of the house, so it converts "kitchen" into an actual location to drive to.&lt;/p&gt;

&lt;p&gt;The robot navigates there. This is handled by Nav2, the standard ROS2 navigation system. It works out where the robot currently is, plans a path to the kitchen, and follows it while avoiding furniture.&lt;/p&gt;

&lt;p&gt;It cleans the room. Once it arrives, a coverage routine walks the robot back and forth across the floor in a lawnmower pattern, a robot vacuum uses, so that the whole room gets covered, not just one spot.&lt;/p&gt;

&lt;p&gt;It narrates and returns. The whole time, the language model is writing plain-English commentary back to the chat, and when the room is done, the robot drives home.&lt;br&gt;
That's the full loop: sentence → meaning → location → drive → clean → home.&lt;/p&gt;

&lt;h2&gt;
  
  
  The parts that fought back
&lt;/h2&gt;

&lt;p&gt;Nothing about this was smooth, and the messy parts taught me the most. A few, in case they save you an evening:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It takes seven terminals to run. The simulator, the bridge, the navigation system, the UI, and a few helpers each run separately, in order. Forget one and the robot just sits there.&lt;/li&gt;
&lt;li&gt;The language model couldn't reach the robot. I run everything in WSL2 on Windows, with Ollama on the Windows side, and those two don't share a network by default. The robot literally couldn't talk to the model until I pointed it at the right internal IP address.&lt;/li&gt;
&lt;li&gt;The navigation system wouldn't "wake up." Nav2 starts in a sleeping state and has to be switched on in a specific order. Until I learned that, every command was met with a perfectly content, perfectly motionless robot.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these were glamorous. All of them were where the real learning happened.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;A few things I want to try: chaining commands together ("clean the kitchen, then the study"), smarter coverage that adapts to room shape, and a bigger local model to see if it parses instructions more reliably.&lt;/p&gt;

&lt;p&gt;The full code and setup guide are on GitHub: github.com/sudeekshach/NavMind (MIT-licensed. Take it apart however you like).&lt;/p&gt;

&lt;p&gt;This is my first write-up, so I'd genuinely love feedback on the project or the post. And if you build something on top of it, tell me what you made. 🤖&lt;/p&gt;

</description>
      <category>robotics</category>
      <category>ros2</category>
      <category>ai</category>
      <category>python</category>
    </item>
  </channel>
</rss>
