Repository Summary
Description | |
Checkout URI | https://github.com/zhivkopetrov/robotics_v1.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-11-04 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
robo_cleaner_common | 1.0.0 |
robo_cleaner_gui | 2.0.0 |
robo_cleaner_interfaces | 1.0.0 |
robo_collector_common | 1.0.0 |
robo_collector_controller | 2.0.0 |
robo_collector_gui | 2.0.0 |
robo_collector_interfaces | 1.0.0 |
robo_common | 1.0.0 |
robo_miner_common | 1.0.0 |
robo_miner_gui | 2.0.0 |
robo_miner_interfaces | 1.0.0 |
ur_control_bloom | 2.0.0 |
ur_control_common | 1.0.0 |
ur_control_gui | 2.0.0 |
urscript_bridge | 2.0.0 |
urscript_common | 1.0.0 |
urscript_interfaces | 1.0.0 |
README
robotics_v1
An educational C++20 Robot Operating System 2 (ROS2) Jazzy Jalisco workspace
This is the official repository for the Robotics Accelerator course, created by me and powered by Ocado Technology.
- More on the training - Robotics Accelerator page / Official Video
The project utilizes a personal 2D game_engine set of libraries and highly configurable thread-per-component module architecture.
- More on the game_engine - refer to its documentation
The workspace contains several interesting, competitive, visual games with their respective ROS2 interfaces
- Robo Collector - focused on learning ROS2 topics
- Robo Miner - focused on learning ROS2 services
- Robo Cleaner - focused on learning ROS2 actions
- UR Dev - focused on learning UR robotic motions through URScript
You’re reading the documentation for the latest version of ROS2 - Jazzy Jalisco.
An older, but still supported, version of ROS 2 - Humble Hawksbill, available under the humble branch.
An older, but End-of-Life ROS2 version - Foxy Fitzroy is still supported by this repo, available under the foxy branch.
Build Status
ROS2 Distro | Jazzy Jalisco | Humble Hawksbill | Foxy Fitzroy |
---|---|---|---|
Branch | |||
Build Status |
|
|
|
OS version | Ubuntu 24.04 LTS | Ubuntu 22.04 LTS | Ubuntu 20.04 LTS |
Documentation |
Previews
ur_control_gui + Rviz2 + UR ros driver 2
robo_collector_gui + robo_collector_controller
Supported Platforms & Compilers
- Linux
- g++ (9.3 and above)
- Tested up to g++ 12.1
- clang++ (10 and above)
- Tested up to clang++ 14.0
- g++ (9.3 and above)
- Windows
- MSVC++ (14.20 and above) Visual Studio 2019
- Tested up to 17.30 Visual Studio 2022
- Note: enable Linux Bash Shell support under Windows to utilise the preset build scripts
- Note2: although the game-engine is fully MSVC++ compatible, I haven’t tested actual ROS2 functionalities on Windows
- MSVC++ (14.20 and above) Visual Studio 2019
Project automated installation
All dependencies in the project could be conveniently installed via preset install scripts. For manual installation refer to ‘Dependencies’ and ‘Third party libs’ sections below.
Please note that ROS2 installation could be quite bulky. For reference, a fresh Ubuntu 22.04 docker image with all compilers, tools, libs and ROS2 installed is close to 7GB. That number could be reduced, but it’s not a focus for this repository.
Host usage
# Warning, the script will install dependencies directly on your host
sudo ./scripts/assisted_install/full_install_on_host.sh
Once the installation phase finishes, for convinience, you can add manual steps to your bashrc. This way each time you open a NEW terminal session, they will be populated for you.
echo "export LANG=en_US.UTF-8" >> ~/.bashrc
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
echo "source source /usr/share/colcon_cd/function/colcon_cd-argcomplete.bash" >> ~/.bashrc
Docker support
- Requires Docker Engine (18.09.1 and above)
File truncated at 100 lines see the full file