GithubHelp home page GithubHelp logo

arpit7714 / low-cost-autonomous-vehicle-for-inventory-movement-in-warehouses Goto Github PK

View Code? Open in Web Editor NEW

This project forked from khansaadbinhasan/low-cost-autonomous-vehicle-for-inventory-movement-in-warehouses

0.0 1.0 0.0 55.32 MB

The code we wrote for our major project

License: MIT License

C++ 60.00% Python 4.19% Shell 0.12% Processing 0.56% C 34.05% Makefile 1.09%

low-cost-autonomous-vehicle-for-inventory-movement-in-warehouses's Introduction

Low-Cost Autonomous Vehicle for Inventory Movement in Warehouses

Project Objectives

Automation can help Warehouses become more efficient, productive, robust, and cost-effective. A variety of Autonomous Robots are used in large warehouses which can be expensive. We intend to build cost-effective Autonomous Robots for small and medium scale Warehouses with reasonable accuracy.

Our Model

The robot is monitored by the camera, which sends the stream to the workstation. Using the procedure described below, the workstation sends a command(UP, DOWN, LEFT, RIGHT) to the rpi via a TCP connection. The rpi then sends this command to the Arduino. The Arduino then sends a message to motor drivers accordingly. IMUs and Wheel Encoders are attached to the robot, which sends data to the rpi via an I2C connection. The Arduino is also connected to two servo motors mounted at the front and back. Two ultrasonic sensors are also connected to the servos. This arrangement can be used for backup and collision avoidance.

The Source and Destination are provided by the user in the environment visible to the camera. A path is made from source to destination using the A-star Algorithm. A colored marker is placed on the robot which is used to estimate the robot’s location and the heading. A line is drawn from the yellow to the purple marker which gives the Heading. The decision to move the next step is taken using the heading of the robot, the robot’s current location, and the next coordinate in the path to follow.

Evaluation Parameters

  • Cost and Accuracy: There is a trade-off between the accuracy of the robot and the cost required to build it.
  • Scalability: Using an overhead camera for tracking, robots can easily be scaled up, to track and guide multiple robots.
  • Backup system: Redundancy should be available that could be used in case of any failure with the primary system.
  • Path Following and Reaching Destination: To track the deviation while the robot is traversing the estimated path and check whether the robot can reach the destination or not.

Evaluating Model

We Evaluate the results on the success rate of the robot in reaching the destination and the deviation in the path to reach the destination. We have considered that if the distance between the robot and destination is less than 20cm or 100px, then the robot is on the destination point. We draw the path that the robot should move on and the path that the robot moved on. We compare these paths to measure how close the robot was to the destination. The computed path is shown in orange color and the actual path traversed by the robot is shown using the blue color.

Out of 10 times, The robot was able to reach the destination 6 times. Hence, the accuracy of our model should be close to 60%. The robot is built with cheap hardware which is easily available making our robot very affordable. The robot also uses an overhead camera which facilitates greater scalability

About this repository

  • rsc contains images and other files used for aid in building the model and documenting the work.

  • src contains the source code of the project consisting of three folders:

    • Arduino contains the code to be uploaded to Arduino. Arduino further contains three folders:

      • Misc Codes contains code that was used to learn about libraries. Most of these are taken from tutorials easily found online. It also contains code that is no longer used in the robot but was used for testing at some point. It contains code to get data from ultrasonic sensors, move servos, move motors, etc.
      • libs contain the libraries that were used in the Arduino Project.
      • Important contains the code that was at some point used in the project and still holds importance. It can be used to test various parts of the robot. For example- to move the robot, rotate ultrasonic sensors, etc.
    • Workstation contains two folders:

      • Important contains the final code that was used in the workstation.
      • Misc Codes contains code that was used to learn about modules and to test the robot. Some of the code was previously used.
    • rpi contains two folders:

      • Important contains the final code that was used in the raspberry pi.
      • Misc Codes contains code that was used to learn about modules and to test the robot. Some of the code was previously used.
  • Upload Major-Project/src/Arduino/important/MotionWithRotatingHCSR04/MotionWithRotatingHCSR04.ino to Arduino UNO.

  • Upload src/rpi/Important/master.py to raspberry pi and run it. This would wait for a connection to the address specified in the code.

  • Connect a camera to the workstation and place it so that the robot is clearly visible.

  • Run Major-Project/src/Workstation/Important/Obstacle Detection and Path Planning/main2.py, you may want to configure the IP address and port in parameters.py as well.

  • A window will appear showing the stream from the camera. Double-click on the window at the starting point of the robot and the destination. Press Esc. Now a path appears and the robot starts moving toward the destination. The robot should move as shown in this video

Conclusion and Further work

We have built a cheap and fairly accurate robot. It is versatile and can work in varied environments. Given the backup system and an overhead camera, the robot is fairly secure and scalable.​ The scope of the work can be enhanced in the future by employing novel ways of increasing accuracy with little changes in cost.​

More Information

  • Please see my Project Report for more detailed information about this project.
  • A paper was also published in PDGC 2020 titled "Low-Cost Autonomous Vehicle for Inventory Movement in Warehouses" You can Find it here. Please cite as F. Alam, K. S. Bin Hasan and A. Varshney, "Low-Cost Autonomous Vehicle for Inventory Movement in Warehouses," 2020 Sixth International Conference on Parallel, Distributed and Grid Computing (PDGC), Waknaghat, India, 2020, pp. 400-405, doi: 10.1109/PDGC50313.2020.9315762.
  • Please refer to this playlist to learn more about the robot.
  • You can also find the presentation for the paper

low-cost-autonomous-vehicle-for-inventory-movement-in-warehouses's People

Contributors

arpit7714 avatar khansaadbinhasan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.