Skip to content

abdelfatah-chaib/SmartNav-ROS2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmartNav: Smart White Cane Simulation

Project Overview

The SmartNav project is a robotic simulation platform designed to model and test a smart white cane for visually impaired individuals. Developed using ROS 2 and Gazebo, the system integrates the physical simulation of a user equipped with an instrumented cane (LiDAR sensor) and real-time perception algorithms for obstacle detection and alerting.

System Architecture

The workspace is structured around three main ROS 2 packages:

  • smartnav_description: Kinematic and visual definition of the system (URDF/XACRO files).
  • smartnav_gazebo: 3D simulation environment, physics management, and obstacle instantiation.
  • smartnav_core: Algorithmic nodes (Python) dedicated to sensor data processing and control logic.

Technical Stack and Tools

  • Robotics Framework: ROS 2 (Jazzy Jalisco)
  • 3D Simulator: Gazebo (Harmonic)
  • Visualization Tool: RViz2
  • Programming Languages: Python 3 (Algorithms), XML/XACRO (Modeling)
  • Build System: colcon
  • Version Control: Git

Prerequisites and Dependencies

  • Operating System: Ubuntu 24.04 LTS
  • ROS 2 Jazzy (Desktop installation recommended)
  • Standard ROS 2 tools: python3-colcon-common-extensions, python3-rosdep

Installation

  1. Initialize the workspace and clone the repository:
mkdir -p ~/smartnav_ws/src
cd ~/smartnav_ws/src
git clone <https://github.com/abdelfatah-chaib/SmartNav-ROS2> .
  1. Update and install system dependencies via rosdep:
cd ~/smartnav_ws
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src -r -y
  1. Build the project:
cd ~/smartnav_ws
colcon build --symlink-install
  1. Source the environment:
source install/setup.bash

Usage and Execution

Running the full system requires launching the simulation environment and the processing nodes in parallel. Open separate terminals and run source install/setup.bash in each terminal before executing the commands.

Terminal 1: Launch the physical simulation (Gazebo) and visualization interface (RViz2)

ros2 launch smartnav_core start_simulation.launch.py

Terminal 2: Activate the perception module (LiDAR data analysis)

ros2 run smartnav_core obstacle_detector

Terminal 3: Activate the mobility scenarios (movement and testing)

ros2 run smartnav_core patrol

Repository Structure

The source code follows the standard architecture of a ROS 2 workspace:

src/
├── smartnav_core/          # Perception and mobility nodes (Python)
├── smartnav_description/   # 3D models (URDF/XACRO) and RViz configurations
├── smartnav_gazebo/        # World files (.world) and Gazebo launch files
└── README.md               # Main documentation

About

A ROS 2 and Gazebo simulation platform of a smart white cane for the visually impaired, featuring real-time LiDAR-based obstacle detection and alerting algorithms.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors