Blog posts

2023

Using the Viam RDK with the Mini Pupper Robot

15 minute read

Published:

Having used ROS for many years now, I’ve always been curious how other programming middlewares would work in comparison such as a new or different paradigm of structring robotic software, hardware, etc.. However, there doesn’t seem to be many alternatives. The biggest I could find was YARP which I had known about for some time but never tried (Maybe another blog post in the future!). The second closest I found was LCM which isn’t being maintained anymore. Others seem like small projects tied to their respective goal/task in mind. I did, however, stumble upon one that caught my eye by the startup Viam called simply the Robot Development Kit (RDK).

2022

Run a Custom Ubuntu OS for Mini Pupper

2 minute read

Published:

After playing with the Mini Pupper for a while, I noticed there isn’t a straight-forward guide to configuring a Ubuntu ARM desktop image for it. The following should help users set up an Ubuntu Mate installation for use with a Mini Pupper.

2020

2019

Giving a TurtleBot3 a Namespace for Multi-Robot Experiments

5 minute read

Published:

As I was working on my ICRA paper, I noticed that ROBOTIS doesn’t provided a guide on how to run multiple TurtleBot3 robots together. It is especially dangerous if you run them in the same network because they all run on the same topic names and node names, which can interfere with their individual operation. So to help run multiple TurtleBots on the same network, you need to give each robot a unique namespace. The following guide will show you how to do this for the TurtleBot3.

Setting-up the Turtlebot3 with ROS 2 on Ubuntu Server IoT 18.04

8 minute read

Published:

One of the cool things about ROS 2 is that ROS Master is finally gone. The new DDS approach allows for interesting ways of controlling multiple autonomous agents without having to rely on a centralized ROS Master running the show. For this guide, I’ll show you how to set up ROS 2 on a Turtlebot3 burger or waffle using Ubuntu Server IoT 18.04. Why use this instead of Ubuntu Mate 18.04 like the Turtlebot guide suggests? Well, I’ve run into a lot of problems during the installation and its just kind of bloated. I don’t Firefox, VLC, Thunderbird, Libreoffice etc. All I need is just a bash shell because I’m going to be writing most of the code for it on a different computer anyways. So let’s start!

Spawning Robots in Gazebo with ROS 2

7 minute read

Published:

Now that ROS 2 has done away with the old way of launching nodes (i.e. using XML .launch files), the process has become more stream-lined and versatile than ever before thanks to using Python. The new launch system can, however, be confusing to use the first time, and I’m probably going to do a deep-dive on it. For this blog post, I want to touch on something that is kind of missing from the old approach to the new one: spawning robots into Gazebo.

2018

ROS 2 with VSCode and macOS

2 minute read

Published:

VSCode is one of the most powerful code editors I have tried in a long time. While I know it using Electron as a framework has gotten some people erked at the thought, I rather enjoy the customizability afforded to it by the JavaScript/HTML/CSS backend. However, not all Electron text editors are made the same. Atom, which is a competitior to VSCode (well…maybe not anymore), relies on Electron and a very similar way of doing things, but Microsoft had the advantage of adding some of that special Intellisense code to it. VSCode is far superior when it comes to coding in C++ because Atom really can’t do it. So when I program in ROS on both my Linux and macOS rigs, I tend to just use VSCode out of ease of use, but there are always a couple issues when first setting up the system which I will address in this blog post.