Skip to content

maitreya1698/shamazon_robot

Repository files navigation

Shamazon_Warehouse_Robot

License

Overview

The project demonstrates a delivery robot with autonomous capabilities, static, and dynamic obstacle avoidance. The robot will navigate to a conveyor belt to receive a package and will navigate through a map to deliver it between departments inside a warehouse with multiple levels, the robot can use elevator gazebo plugin to communicate, know the state and location of the elevator, and upon reaching the desired level/ floor, update the map. Finally, on reaching the goal the package will be delivered by the robot’s conveyor belt.

During the development the following assumptions are made:

  • Package collection and delivery locations are known.
  • Map has been generated and is known to the robot.
  • Robot drive configuration - 4 wheel differential drive.
  • Robot carries only 1 package at a time.
  • Package dimensions are fixed.

Project Technologies:

Deliverables

  • Project: A simulation of Autonomous Warehouse Robot to deliver packages.
  • Dynamic/Static obstacle avoidance.
  • UML Diagrams.
  • Developer level documentation.
  • Additon of Coveralls for code coverage and Travis for package build check.

Risk and Mitigations

  • Odometry error: Can use sensor fusion algorithms from multiple sensors for odometry data.
  • A package might fall off due to sudden jerks, so robot velocity and acceleration will be constrained.

Architecture:

The following shows the activity diagram for our proposed schema :
ad

UML Diagrams:

Agile Iterative Process (AIP)

The general idea is to split the development of the software into sequences of repeated cycles (iterations).
Following is the link to sheet that contains the detailed entries of the product backlog, iteration backlog, and work log- link

Sprint Planning and Review

The purpose of sprint planning is to define what can be delivered in the sprint and how that work will be achieved.
Following is the link to doc for sprint planning and review - link

Dependencies

  • Ubuntu 18.04
  • ROS Melodic

Building and Running the package

  1. Clone the Shamazon Robot Package in src folder of your workspace:
    cd ~/<your_ws>/src
    git clone https://github.com/maitreya1698/shamazon_robot.git
  2. Two additional repos need to be cloned into the src folder of workspace:
    cd ~/<your_ws>/src
    git clone https://github.com/Prat33k-dev/multimap_server_msgs
    git clone https://github.com/Prat33k-dev/multimap_server
  3. Install ROS dependencies:
    cd ~/<your_ws>
    rosdep install --from-paths src --ignore-src -r -y
  4. Building and running the package:
    cd ~/<your_ws>
    catkin_make
    source devel/setup.bash
    roslaunch shamazon_robot gazebo.launch
  5. To start simulation node (In another terminal) :
    cd ~/<your_ws>
    source devel/setup.bash
    rosrun shamazon_robot shamazon_robot

Simulation Result

result

Running Tests

cd ~/<your_ws>
catkin_make
source devel/setup.bash
catkin_make run_tests_shamazon_robot

Cppcheck and Cpp lint

  • The Output txt files will be saved under results folder

For cppcheck

sh run_check.sh 

For cpplint

sh run_cpplint.sh 

Authors

License

The 3-Clause BSD License

Copyright (c) 2021 Pratik Bhujbal, Mohammed Maaruf Vazifdar, Maitreya Kulkarni.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published