<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Simulation on Mahdi Sarfarazi</title>
    <link>https://mahdisf.ir/tags/simulation/</link>
    <description>Recent content in Simulation on Mahdi Sarfarazi</description>
    <image>
      <title>Mahdi Sarfarazi</title>
      <url>https://mahdisf.ir/images/social-card.png</url>
      <link>https://mahdisf.ir/images/social-card.png</link>
    </image>
    <generator>Hugo</generator>
    <language>en-US</language>
    <lastBuildDate>Mon, 01 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://mahdisf.ir/tags/simulation/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>LLM-powered robotic task planning</title>
      <link>https://mahdisf.ir/projects/llm-powered-robotic-task-planning/</link>
      <pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://mahdisf.ir/projects/llm-powered-robotic-task-planning/</guid>
      <description>Personal experiment: translating natural-language instructions into ROS2 actions for a simulated robotic arm in Gazebo, using the Gemini API.</description>
      <content:encoded><![CDATA[<p>This is a personal experiment in connecting a language model to a robot safely. The model proposes a plan, and ROS2 executes it on a simulated arm.</p>
<p><img alt="Diagram: a natural-language instruction goes to an LLM planner, which produces ROS2 actions for a simulated arm in Gazebo." loading="lazy" src="/projects/llm-powered-robotic-task-planning/architecture.svg"></p>
<h2 id="what-it-does">What it does</h2>
<p>It takes an instruction in plain language and uses the Gemini API to turn it into a sequence of ROS2 actions, which then run on a simulated robotic arm in Gazebo.</p>
<h2 id="status-and-limits">Status and limits</h2>
<p>This is an early-stage experiment. It has no formal evaluation yet, and the code is not public. I&rsquo;ll update this page with a repository, the supported task set and results when there is something worth measuring.</p>
<p>The same question drives <a href="/projects/vigenx-agentic-video-editor/">ViGenX</a>: how to let a language model plan while keeping execution verifiable.</p>
]]></content:encoded>
    </item>
    <item>
      <title>ROS2 Simulation and System Log</title>
      <link>https://mahdisf.ir/logs/robotics-simulation-log/</link>
      <pubDate>Sat, 18 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://mahdisf.ir/logs/robotics-simulation-log/</guid>
      <description>A short log entry covering ROS2 simulation updates and system observations.</description>
      <content:encoded><![CDATA[<p>Today I tested the ROS2 planning stack in Gazebo with a simulated manipulator. The robot completed the pick-and-place behavior, but the controller still needs a tighter feedback loop for fine-grained placement.</p>
<ul>
<li>Added a new <code>lifecycle</code> node for state management.</li>
<li>Logged delay spikes from the joint trajectory action.</li>
<li>Verified collision boundaries in the simulator.</li>
</ul>
]]></content:encoded>
    </item>
  </channel>
</rss>
