-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Note:
- please take a moment to review current Notes and Project status
- the sidebar on the right mostly links to legacy documentation repository. Its content will be ultimately moved here; meanwhile use "back" button or keep this page in a separate tab.
This Wiki contains (or links to) instructions and other documents related to my "articubot_one" ROS2 project.
It is intended to run navigation on my Turtlebot-like robots - in Gazebo simulation or with physical robots, indoors or outdoors.
Some of the notes here deal with Desktop ("Ground Station") setup and operation, while others describe setup of on-board Raspberry Pi computers.
The Sensors section describes setup of IMUs, LIDARs, GPS, Cameras and other devices.
Don't forget to properly setup your WiFi and feed your RPi 5 properly.
We assume:
-
On the Desktop machine (Intel, AMD) - Ubuntu 24.04 64-bit desktop, ROS Jazzy desktop
-
On-board single board computer (SBC) - Raspberry Pi 5 8GB or similar, Ubuntu server 24.04 64-bit, ROS Jazzy base (access via ssh)
If you just want to run a simulation in Gazebo, or need to set up your Desktop with ROS Jazzy - see ROS2 Jazzy Setup (no robot hardware required).
An indoors "tablebot" Seggy is described here: Docs/Seggy
The outdoorsy robot Dragger (Raspberry 5, GPS) is described here: Docs/Dragger
An indoors mapper robot Plucky is described here: Docs/Plucky
Classic Turtlebot, a visitor from the ancient times, running on Raspberry 3B under ROS2 Jazzy: Docs/Create1
This section describes how to make a differential drive robot "from scratch" - out of widely available parts.
Note: Purpose and Limitations of this Project
This software is not ready for production use. It has neither been developed nor tested for a specific use case. However, the license conditions of the applicable Open Source licenses allow you to adapt the software to your needs. Before using it in a safety relevant setting, make sure that the software fulfills your requirements and adjust it according to any applicable safety standards, e.g., ISO 26262.
You are looking at the Wiki of this repository. Actual robots' code is here.
Here are the likely scenarios for your work.
-
Desktop workstation: see Docs/ROS-Jazzy (no robot hardware required).
-
Optional: Set up Raspberry on-board Raspberry Pi: see Docs/Ubuntu-RPi
-
See the #1 above, then follow the build and run instructions there for simulated Seggy, Dragger, Plucky or Turtle.
-
Bonus: ROS2 Jazzy comes with Turtlebot3 simulation, try that to see Nav2 working.
-
To browse robot's code look under ~/robot_ws/src/articubot_one - use VS Code or your favorite IDE.
-
articubot_one codebase offers a working example of indoors and outdoors (GPS) operation, use Copy/Paste
-
Fork my articubot_one repository and make your own robot in ~/robot_ws/src/articubot_one/robots folder
-
Report here: https://github.com/slgrobotics/articubot_one/issues
-
Create a Pull Request: https://github.com/slgrobotics/articubot_one/pulls
-
Join the Mailing list at https://www.hbrobotics.org/ - participate in club technical discussions
For those wondering why things are the way they are here, I came up with this list:
- I started with a clean, modern, simple navigation architecture (Articulated Robotics project by Josh Newans worked for me)
- I've got the basics running on several cheap, simple bases with unified drive interface (diffdrive_arduino)
- I keep organizing and maintaining a coherent multi-robot codebase (descriptions, config, launch files)
- I tried to understand the difference between indoor and outdoor setup and behavior
- I experimented with sensors, learn their quirks, and patch drivers when necessary (almost always)
- I strive to write readable, “cookbook-style” notes so anyone can replicate my robots (or use as base for their own)
- I try to future-proof the system by upgrading OS/ROS2 versions regularly (ROS Kilted works well)
Enjoy, and have fun! Build more robots! ;-)
Articulated Robotics (Josh Newans):
https://articulatedrobotics.xyz/category/build-a-mobile-robot-with-ros
https://www.facebook.com/ArticulatedRobotics/
https://articulatedrobotics.xyz/mobile-robot-1-project-overview/
https://articulatedrobotics.xyz/mobile-robot-13-ros2-control-real/
https://control.ros.org/jazzy/index.html
https://www.youtube.com/@ArticulatedRobotics/videos
"Automatic Addison" (Addison Sears-Collins) tutorials:
https://automaticaddison.com/tutorials/
https://automaticaddison.com/sensor-fusion-using-the-robot-localization-package-ros-2/
- Introduction
- Notes and Status
- Machine Setup
- My Robots
- Seggy (indoors)
- Dragger (outdoors, GPS)
- Turtle (Create 1)
- Plucky (retired)
- Make Your Own Robot
- Sensors
- Wheels and Actuators
- Lawnmowers (under PX4 Autopilot)
- AI and Docker
- Random Notes