Back to Projects

Robotics: Autonomous Navigation and Odometry

View Report

What

This project focuses on exploring key concepts in robotics, specifically within the ROS 2 (Robot Operating System 2) framework. The core objective was to implement and demonstrate fundamental robotic functionalities: Simultaneous Localization and Mapping (SLAM), autonomous navigation using Nav2, calculating and publishing robot odometry, and custom path planning.

The project involved setting up a simulation environment using Gazebo and Rviz, creating custom ROS 2 packages, and developing Python nodes to interact with the simulated robot. A significant aspect was addressing environmental limitations by utilizing a UEF server for smooth operation of the simulation tools.


How

Environment Setup
  • Initial attempts with WSL/Docker and virtual machines faced performance issues
  • Resolved by transitioning to a UEF server for fluid simulation experience
ROS 2 Fundamentals
  • Demonstrated understanding of the ROS 2 publisher-subscriber model
  • Listed available topics and echoed data from the Lidar scanner (/scan)
  • Confirmed obstacle detection capabilities
SLAM and Navigation Demo
  • Subscribed to the /map topic in Rviz for real-time map visualization
  • Utilized Nav2 stack for autonomous navigation
  • Implemented "Nav2 Goals" for guided robot navigation
Custom ROS 2 Package and Odometry
  • Created new ROS 2 package using Turtle Nest tool
  • Developed OdometryPublisher node for wheel velocity-based calculations
  • Visualized robot's traversed path and position in Rviz
Custom Path Planning
  • Modified nav2_params.yaml for custom path planning integration
  • Implemented straight-line path planning in dedicated Python node

Results

  • Achieved stable, high-performance simulation environment on UEF server
  • Demonstrated proficiency in ROS 2 concepts and implementation
  • Successfully implemented SLAM and autonomous navigation
  • Developed and analyzed wheel odometry calculations
  • Identified limitations and proposed solutions for real-world scenarios
  • Integrated custom path planning algorithm with Nav2 framework
  • Gained insights into robotics development challenges and sensor fusion importance
View Report