Preface

I would like to start by saying this is most definitely a project that is going to take some time to create.

Where do we begin?

I going to start this what i’d like to call a mega project; with some definitions of course!

What exactly is SLAM?

SLAM (Simultaneous localization and mapping) is the Mother of all Robotics Algorithms in my opinion. This project will give me all the tools I need to:

  1. Do well in my degree.
  2. Give me a fantastic project to put on my CV.
  3. Allow me to learn the ROS framework and POSE.

Getting ROS2 setup

As a mac user installing anything graphically intensive is usually a pain and guess what? ROS2 is so hard to install on mac!!!!!!

My first approach: A Docker Container

Guess what? The desktop GUI image was not compiled for ARM64 so that didn’t work as expected!

Second Approach: Install naitively on mac

It worked!!! Just kidding I got RVIZ and Gazebo running but the tool to compile xacro files did not work! So I needed to find another solution

Third Approach: Ubuntu Virtual Machine

Obviously this would work right? It does, but initially I had made a Ubuntu 22.04 install and well ROS2 no longer supports it so… I needed to make a 24.02 install which meant I finally was able to install everything on my mac!

Up and Running: Now What?

Time to learn ROS2! The first thing to understand about ROS2 is that it uses a Publisher Subscriber model for each node which is really great for multi-computer and when creating mult-threaded programs.