<?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>Posts on Reece Holland</title>
    <link>https://reeceholland.github.io/posts/</link>
    <description>Recent content in Posts on Reece Holland</description>
    <generator>Hugo -- 0.148.1</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 26 Jul 2025 05:14:38 +0800</lastBuildDate>
    <atom:link href="https://reeceholland.github.io/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Teensy 4.1</title>
      <link>https://reeceholland.github.io/posts/teensy-4.1/</link>
      <pubDate>Sat, 26 Jul 2025 05:14:38 +0800</pubDate>
      <guid>https://reeceholland.github.io/posts/teensy-4.1/</guid>
      <description>&lt;h1 id=&#34;moving-to-micro-ros-with-teensy-41&#34;&gt;Moving to micro-ROS with Teensy 4.1&lt;/h1&gt;
&lt;h2 id=&#34;why-switch&#34;&gt;Why Switch?&lt;/h2&gt;
&lt;p&gt;After working with the Arduino Mega for the rover’s low-level control, I wanted something that could handle more direct ROS integration. The Teensy 4.1 brings more processing power and plenty of headroom for future features. With micro-ROS, the microcontroller is no longer just a “dumb” serial device—it becomes a true ROS 2 node, making everything from feedback to firmware updates much more seamless.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hardware Interface</title>
      <link>https://reeceholland.github.io/posts/hardware-interface/</link>
      <pubDate>Thu, 24 Jul 2025 05:52:43 +0800</pubDate>
      <guid>https://reeceholland.github.io/posts/hardware-interface/</guid>
      <description>&lt;h1 id=&#34;developing-a-custom-ros-2-hardware-interface-for-the-rugged-rover&#34;&gt;Developing a Custom ROS 2 Hardware Interface for the Rugged Rover&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;Over the past few weeks, I’ve been working on integrating a custom hardware interface for the rugged wheeled rover platform we&amp;rsquo;re building. This post highlights the development process of the ROS 2 hardware interface, the decision to upgrade to a Teensy 4.1 microcontroller, and the ongoing challenges with PID tuning.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;hardware-interface-with-ros2_control&#34;&gt;Hardware Interface with &lt;code&gt;ros2_control&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;The robot uses a differential drive setup controlled via a Sabertooth 2x12 motor driver. To interface this with ROS 2, I created a custom package: &lt;code&gt;rugged_rover_hardware_interfaces&lt;/code&gt;, following the &lt;code&gt;ros2_control&lt;/code&gt; system interface pattern.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ROS 2 Motor Control Progress Log — Week in Review</title>
      <link>https://reeceholland.github.io/posts/ros2-motor-control-progress/</link>
      <pubDate>Thu, 17 Jul 2025 06:20:21 +0800</pubDate>
      <guid>https://reeceholland.github.io/posts/ros2-motor-control-progress/</guid>
      <description>From hardware setup to working ROS 2 integration, PID tuning, and automated testing — a full update on my rover’s motor control progress.</description>
    </item>
    <item>
      <title>Rugger Rover Introduction</title>
      <link>https://reeceholland.github.io/posts/rugger-rover-introduction/</link>
      <pubDate>Mon, 30 Jun 2025 14:54:16 +0800</pubDate>
      <guid>https://reeceholland.github.io/posts/rugger-rover-introduction/</guid>
      <description>&lt;p&gt;Some time ago, after a late night experimenting with ROS 2 simulated robots, I decided to bite the bullet and invest in some actual hardware. After searching for appropriate hardware I settled on the Lynxmotion - A4WD3 Rugged Wheeled Rover pictured below &lt;img alt=&#34;rugger wheeled rover&#34; loading=&#34;lazy&#34; src=&#34;https://reeceholland.github.io/images/lynxmotion-a4wd3-wheeled-rover.webp&#34;&gt;
The platforms were selected for their rugged design, the all-wheel drive configuration, and their modular chassis — making them ideal for outdoor navigation experiments and hardware prototyping. The A4WD3 features four independently driven wheels, gear motors with encoders, a spacious internal bay for electronics, and aluminum construction tough enough to handle dirt paths, grass, and gravel without issue.
After unboxing and assembling the rover, I began planning how to turn it into a fully autonomous mobile robot. I had already been working with ROS 2 in simulation using Gazebo and RViz, and I wanted a real-world platform to test navigation stacks, SLAM, and sensor integration. Here&amp;rsquo;s the stack I decided on:&lt;/p&gt;</description>
    </item>
    <item>
      <title>And Im Live</title>
      <link>https://reeceholland.github.io/posts/and-im-live/</link>
      <pubDate>Sat, 28 Jun 2025 07:57:52 +0800</pubDate>
      <guid>https://reeceholland.github.io/posts/and-im-live/</guid>
      <description>&lt;p&gt;Well I have set up my Github Pages site where I plan to document my development of three Lynxmotion Rugger Wheeled Rovers.&lt;/p&gt;
&lt;p&gt;More to come!!&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
