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.
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