The COVID-19 pandemic accelerated an expansion of e-commerce. With the sudden growth of e-commerce, courier companies are struggling to keep up with demand. Amid this pandemic, there has been an emphasis on minimizing the spread of the virus through contactless delivery. To solve this problem we decided to create a delivery robot.
What it does
Azimorph is a navigation robot that acts both as parcel delivery and collection robot. Users can place the parcel they want to deliver on the robot and set the destination address. The robot will then use a combination of camera vision, GPS, IMU, and odometry to navigate through its environment.
How I built it
The robot was built by hacking a plastic trolley container. Our team drilled holes and used a cable tie to mount the motors, wheels, caster wheels, and sensors.
The robot consists of an Arduino and a motor driver to control the motor. The motors have encoders on them to give the robot position. GPS and IMU are used to give a more accurate position of the robot. Lastly, a webcam was attached to allow the robot to see.
Our team developed the system on ROS melodic. The robot position is determined by the EKF, the EFK uses odometry generated by the encoders, GPS, and IMU data to give an estimated position of the robot. The estimated position of the robot is passed to the GPS waypoint navigation package. The package will calculate generate a path from the current location to the waypoint. The robot controller will take the path and move accordingly.
Challenges we ran into
The main challenge we faced was integrating the different modules together. During the development process, we split the work by each doing a separate module. When it was time to merge, there were issues in the dependencies and interrogation of the software. We managed to solve the problem by merging one module at a time and slowly troubleshooting.
Accomplishments that I'm proud of
We are very proud to have created a mobile robot that can move from one point to another using GPS in less than 24 hours. This was not an easy task as we have to build the robot and program it together.
What we learned
From this project, we learned a lot about robotics development, from the higher-level planning to the low-level motor speed control. We learned how to develop using ROS and to use git to work together.
What's next for Azimorph
The next stop for Azimorph is to create an app for users to use our delivery robot