Skip to content

Latest commit

 

History

History
92 lines (58 loc) · 4.14 KB

README.md

File metadata and controls

92 lines (58 loc) · 4.14 KB

Autonomous Mobile Robot using ROS (noetic) on Ubuntu 20.04

This project focuses on the development of an Autonomous Mobile Robot using ROS (noetic), running on Ubuntu 20.04. The robot is designed to navigate within a simulated hospital environment. The project is divided into three main packages: robot_description, robot_gazebo, and robot_navigation.

Click to watch video

Packages Overview

This package contains the xacro files for defining the robot's components, properties, and gazebo plugins. These files are essential for describing the robot's physical characteristics and behavior within the simulation environment.

The robot_gazebo package utilizes the AWS Robotics provided hospital world simulation environment (aws-robomaker-hospital-world) to spawn the robot described in robot_description within Gazebo. This package also includes launch files for setting up and configuring the simulation environment.

In the robot_navigation package, several ROS navigation packages are utilized to enable autonomous navigation for the robot within the hospital environment. The process involves:

  1. Mapping: Using slam_gmapping to generate a map of the hospital environment.
  2. Localization: Implementing AMCL (Adaptive Monte Carlo Localization) for accurate localization of the robot within the mapped environment.
  3. Navigation: Employing move_base package for path planning and execution, enabling the robot to navigate autonomously to predefined goals.

Navigation Parameter Tuning

To ensure optimal navigation performance, various navigation parameters have been tuned. These include:

  • costmap_common_params: Parameters governing the configuration of costmaps used for navigation.
  • dwa_local_planner_params: Parameters specific to the DWA (Dynamic Window Approach) local planner.
  • global_costmap_params: Parameters related to the global costmap configuration.
  • global_planner_params: Parameters for configuring the global planner used by move_base.
  • local_costmap_params: Parameters specific to the local costmap configuration.
  • move_base_params: Overall parameters governing the behavior of move_base, including recovery behaviors and controller settings.

Installation and Usage

To utilize this project, follow these steps:

Note: The building process may take some time to download models for AWS World.

  1. Clone the repository:
git clone https://github.com/your_username/your_project.git
  1. Navigate to the cloned directory and build the packages:
cd your_project
catkin_make
  1. Source the setup file:
source devel/setup.bash
  1. Launch simulation environment:
roslaunch robot_gazebo nomeer_robot.launch
  1. Launch slam_gmapping to create map:
roslaunch robot_navigation slam_gmapping.launch
  1. Launch amcl for localization:
roslaunch robot_navigation amcl.launch
  1. Launch the navigation stack:
roslaunch robot_navigation navigation.launch

Contributing

Contributions to this project are welcome! To contribute, please fork the repository, make your changes, and submit a pull request.

License

This project is licensed under the MIT License.