This repository contains instructions and other documents related to my "articubot_one" 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 docs here deal with Desktop ("Ground Station") setup and operation, while others describe setup of on-board Raspberry Pi computers.
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).
The outdoorsy robot Dragger (Raspberry 5, GPS) is described here: Docs/Dragger
An indoors mapper robot Plucky is described here (Raspberry 5): Docs/Plucky
Classic Turtlebot, a visitor from the ancient times, running on Raspberry 3B: Docs/Create1
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.
Note: you don't need to download or build anything from this repository, just browse the Docs folder.
Here are the likely scenarios for your work.
-
Desktop workstation: see Docs/ROS-Jazzy (no robot hardware required).
-
Set up Raspberry PI: see Docs/Ubuntu-RPi
-
See the #1 above, just follow the build and run instructions there for Dragger, Plucky or Turtle sims.
-
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
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
GPS - localization and navigation:
https://automaticaddison.com/sensor-fusion-using-the-robot-localization-package-ros-2/
https://docs.ros.org/en/melodic/api/robot_localization/html/integrating_gps.html
https://docs.nav2.org/tutorials/docs/navigation2_with_gps.html