Installation from Source with Native ROS 2
This guide explains how to install Ufil natively on your system using a locally installed ROS 2 environment.
Unlike the Docker-based setup, this method installs dependencies directly on your host system. It is recommended for advanced users who require full system integration.
Warning
On Ubuntu 24.04 and newer, this installation method may interfere
with other system dependencies due to limitations in the rosdep
pip installation process.
Carefully review your Python and ROS dependency setup before proceeding.
Prerequisites
Before installing Ufil, ensure the following requirements are met.
1. Install ROS 2
Ufil requires ROS 2 Jazzy or newer.
Follow the official installation guide for your distribution:
After installation, verify your ROS 2 setup:
ros2 --version
2. Source ROS 2
After installing ROS 2, source the environment:
source /opt/ros/<ros2-distro>/setup.bash
Replace <ros2-distro> with your installed distribution
(e.g., jazzy).
Note
If you are using a different shell, adapt the command accordingly:
Zsh:
source /opt/ros/<ros2-distro>/setup.zshFish:
source /opt/ros/<ros2-distro>/setup.fish
Building Ufil from Source
1. Clone the Ufil Workspace
Clone the workspace repository:
git clone <link-to-ufil-workspace-git> ufil_ws
cd ufil_ws
2. Create and Activate a Python Virtual Environment
Ufil currently relies on Python dependencies that may conflict with system-installed packages. To avoid conflicts, use a virtual environment.
# Create environment
python3 -m venv venv --system-site-packages --symlinks
# Activate environment
source venv/bin/activate
Note
The virtual environment requirement is temporary and may be removed in future releases.
3. Install Dependencies
Install all required ROS 2 and system dependencies:
make dependencies
4. Build Ufil
Build the workspace:
make
5. Verify the Installation
After building, source the workspace and verify the packages:
source install/setup.bash
ros2 pkg list | grep ufil
If Ufil packages are listed, the installation was successful.
You’re Done
Your native development environment is now ready.
You can begin developing new features, running simulations, or contributing to the Ufil ecosystem.
If you encounter issues, refer to the Troubleshooting Guide.
Helpful Commands
Debug Build
To build Ufil in debug mode:
make clean
make debug
Build Specific Components
You can build individual components:
Core functionality
make coreInroad sensing
make ssl
Clean the Workspace
To remove build artifacts:
make clean