Systems Engineering Project 1

Porting over application of ROS onto a LIMO robot to navigate around a physical plane

In this project, I embarked on an exciting journey to navigate a physical maze using the LIMO robot and the Robot Operating System (ROS). This endeavor involved leveraging advanced robotic mapping and navigation techniques, including the use of gmapping for creating a map of the maze and setting waypoints for precise navigation.

Introduction to LIMO Robot and ROS

The LIMO robot is a versatile, four-wheeled robotic platform designed for education, research, and prototyping. Its compatibility with ROS makes it an ideal tool for implementing complex robotics projects. ROS is a flexible framework for writing robot software, offering a collection of tools, libraries, and conventions to simplify the task of creating robust and scalable robot applications.

Visual representation of LIMO

Methodology

Gmapping for Maze Mapping

Gmapping is a popular ROS package that allows for the creation of a 2D occupancy grid map using data from laser range finders and odometry. The process involved:

  • Setting up the LIMO robot with a LiDAR sensor to collect environmental data.
  • Launching the gmapping node to process the sensor data and generate a map of the maze.
  • Manually driving the robot through the maze to ensure all areas were scanned and included in the map.

Waypoint setting

With a complete map of the maze, the next step was to set waypoints for navigation:

  • Identifying key points in the maze that the robot needed to navigate through.
  • Using RViz, a ROS visualization tool, to place waypoints on the map.
  • Configuring the move_base node in ROS to handle path planning and navigation to the set waypoints.

Autonomous Navigation

Once the map and waypoints were set, I focused on enabling the LIMO robot to navigate autonomously:

  • Starting the navigation stack in ROS to make use of the map and waypoints for path planning.
  • Monitoring the robot's progress in RViz to ensure it followed the planned path accurately.
  • Making necessary adjustments to the robot's parameters to optimize navigation performance.

Layout of Maze & Video Demonstration

Physical maze layout

Video Demonstration