Blog posts

2025

Building a Robust WiFi Relay with Wireless Router

4 minute read

Published:

This dev note summarizes how I configured a wireless relay system using the Teltonika RUT951 wireless router to support robot swarm communication via network and two types of RTK GPS correction workflows:

Disk Configuration for Jetson Orin (JetPack 6.2)

2 minute read

Published:

When deploying Jetson Orin–based robotic systems with JetPack 6.2, storage configuration often requires additional manual setup beyond a standard Ubuntu installation. In practice, systems commonly rely on both portable SSDs for data transfer and NVMe M.2 SSDs for high-throughput data logging and long-term storage. This note records a minimal and reproducible disk configuration workflow for Jetson Orin, focusing on enabling exFAT support for removable drives and configuring persistent mounts for NVMe SSDs in a robotics deployment context.

NTRIP and Local NTRIP via eduroam

5 minute read

Published:

High-precision GNSS positioning in robotic systems often relies on RTK corrections delivered through NTRIP. In many academic or campus environments, however, dedicated cellular modems or open local networks are not always available, and the only stable wireless infrastructure may be an enterprise Wi-Fi network such as eduroam. This post documents a practical workflow for running both standard NTRIP and local NTRIP over eduroam using Emlid Reach GNSS receivers. The focus is on non-GUI devices, authentication constraints imposed by enterprise Wi-Fi, and the configuration details required to make base and rover communication work reliably in real deployments. The goal is to provide a reproducible reference for robotics and swarm navigation setups that operate within university-managed networks.

How to use Nav2 GPS Waypoint Follower with ROS2 Humble

5 minute read

Published:

For those who is interested in using Nav2 for GPS based navigation, this is a good official tutorial. However, if you are using ROS2 Humble with Ubuntu 22.04, the GitHub repo for Humble cannot be used for the GPS Waypoint Follower Demo because the logic that the behavior tree is established in Humble is different from the later version. The maintainer of Nav2 had removed the GPS Waypoint Follower workspace in the branch of Humble in the repo, so we cannot use the script provided by the Nav2 team.

Basic Network Communication and Modes

8 minute read

Published:

In multi-robot systems and distributed robotic platforms, reliable network communication is a foundational component that directly affects system scalability, coordination efficiency, and robustness. Practical deployments often involve a combination of routers, switches, wireless links, and multiple network modes, each serving different roles within the overall architecture. This post provides a concise overview of common router operation modes, the concept of uplinking, and how these networking principles are applied in a real-world robot swarm communication setup. The focus is on building an intuitive understanding of data flow, network boundaries, and design trade-offs, rather than on protocol-level theory, making it suitable for robotics researchers and engineers who need to design or debug distributed robotic networks.

2024

Isaac Sim Beginner Tutorial and First Setup

2 minute read

Published:

Isaac Sim is a physics-based robotics simulation platform built on NVIDIA Omniverse, and is widely used for robotics research, synthetic data generation, and digital twin development. This post serves as a beginner-oriented tutorial and setup note for Isaac Sim, focusing on the initial installation process, common environment issues on Linux, and essential components required for a functional workflow. The goal is not to reproduce official documentation, but to provide a practical, experience-driven guide that helps new users get Isaac Sim running smoothly and avoid common pitfalls during first-time setup.

2023

Python Environment for ROS2 and Anaconda

5 minute read

Published:

I prioritize robotics over AI, as I find robotics more engaging. This preference leads me to install ROS/ROS2 before Anaconda whenever setting up a new Ubuntu system. For those working in both robotics and AI, it’s common to have ROS/ROS2 and Anaconda on the same device. However, this setup can lead to a tricky environment issue: ROS 2 Humble supports Python 3.10 by default, whereas Anaconda often defaults to Python 3.11. This mismatch can create compatibility problems.