<?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>Reece Holland</title>
    <link>https://reeceholland.github.io/</link>
    <description>Recent content 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/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>
    <item>
      <title>About</title>
      <link>https://reeceholland.github.io/about/</link>
      <pubDate>Sat, 28 Jun 2025 07:56:04 +0800</pubDate>
      <guid>https://reeceholland.github.io/about/</guid>
      <description>&lt;h2 id=&#34;about-me&#34;&gt;About Me&lt;/h2&gt;
&lt;p&gt;Hey there! I’m a software engineer with a passion for robotics and a knack for seeing both the forest and the trees. I love diving into complex systems, not just to understand how all the pieces fit together, but also to explore the unexpected connections between them. Whether it’s motors, control loops, or middleware, I’m always trying to see how it all clicks — and more importantly, how to make it better.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
