1 of 1

Our robot comprises of three major subsystems. First, images are captured through the Intel Realsense camera (Fig. 3). The Jetson Nano Orin runs the frames through inferencing and sends the outputs (coordinates of bounding boxes surrounding the trash items) to the Raspberry Pi 4 via ethernet. The Pi directs the robot to move towards the trash components and initiates the pick up mechanism (conveyor belt and roller in Fig. 2). The dc motors

for the wheels and the pick-up

mechanism are controlled by 3

L298N motor drivers, which are

powered by a 12V battery pack.

Two power banks power the

Jetson Nano Orin and the Pi (5V

driven with 3A).

Duration of Movement

Functional

3

Y

5

Y

8

Y

The Embellisher

Team E4: Ella Lee, Ritu Pathak, and Hirani Sattenapalli

18-500 Capstone Design, Spring 2024

Electrical and Computer Engineering Department

Carnegie Mellon University

System Architecture

Product Pitch

Unclean streets in urban and highly-populated areas lead to increased pollution, sanitization hazards, and public safety concerns. Governmental efforts to reduce street trash require intensive human labor and necessitate high cleaning costs. With this project, we aim to improve our global community by promoting and enforcing a pedestrian friendly environment.

​

We propose a solution that identifies garbage on sidewalks through Machine Learning (ML), fine-tuning the YOLOv7-tiny model to at least 0.95 mAP and 0.95 recall on our custom dataset. We expect our solution to navigate autonomously and pick up and collect garbage within 45s per trash item. The Embellisher is meant to avoid obstacles with a 95% success rate, and successfully collect at least 9/10 defined trash items within a defined 4ft x 12ft area. We were able to reach 0.97 mAP and 0.97 recall for the ML model, pick up trash items with an average stationary collection time of 6.1s, and collect ~90% of classified trash items.

https://course.ece.cmu.edu/~ece500/projects/s24-teame4/

System Description

System Evaluation

Conclusions & Additional Information

The motion control and pick-up subsystems were tested individually - for durability & consistency as well as functionality & speed. For movement, initial testing demonstrated unreliable behavior (wheels slipping off and robot was unable to move properly). Changing the motors (to higher torque and less RPM) and providing additional mount support significantly improved results - movement was consistent & durable during tests.

​

We manually tested the pick-up mechanism, which consists of an acrylic roller and a conveyor belt, using 20 iterations for soda cans and crumpled paper. A 100% success rate was observed when picking up the soda cans. Slight issues were observed with the crumpled paper, as the paper tended to get stuck at the edges of the roller (pick up rate of ~ 80%). It took the mechanism, on average, 6.1 seconds to collect soda cans and 2.2 seconds to collect the pieces of paper. The difference in averages was caused by the time it took for each component to be moved to the storage box.

​

​

Our implementation is split into three major components: trash detection, movement, and trash collection. We used the Intel Realsense D455 to give a constant video stream, where inference is run on each frame via the Jetson Nano Orin. When ready to move, the RPi communicates over ethernet to the Jetson Nano Orin to discover if a trash object is seen. If the ML subsystem sees trash, the RPi sends signals to move forward, else the robot will turn 45 degrees to the left. If the robot has turned 360 degrees, it will also move forward. Once the robot is in front of a trash object, it will initiate the pick-up mechanism and collect the object. The robot can also avoid obstacles using an ultrasonic proximity sensor. We provide a system diagram in Figure 1.

ethernet

Fig 4. ML Subsystem Results

Intel

RealSense Camera

Raspberry Pi 4

Jetson Nano Orin

L298N driver (Wheels)

Battery Pack (Motors)

Powerbank

LCD Display

Throughout the course of the project, we worked to build a prototype of a trash collecting robot from scratch. We learned a number of lessons over the semester, specifically how to optimally divide tasks, allocate sufficient time for building and debugging, and ensuring that the work was on schedule. In the future, we would like to integrate: a GPS module to bring the robot back home, use of solar cells to power the electronic and mechanical components, and a web app to show Embelli’s location and progress. We hope to integrate these ideas in future work to allow for true sustainability.

For the machine learning subsystem, we tested the detection of trash components, fine-tuning the YOLOv7-tiny model with a custom dataset running on the Jetson Nano Orin. We were able to achieve a mAP of 0.978 across all classes and a recall rate of 0.975 at a 0.68 confidence threshold.

Fig 1. System Diagram

Fig 3. Electrical Box

Conveyor

Belt

Roller

ML Subsystem

Motion Control Subsystem

Type of Trash Component

Average Pick Up Time (sec)

Success Rate (%)

Soda Cans

6.1

100%

Crumpled Paper

2.2

80%

DC Motor & Pulley

(x1 off screen)

Ultrasonic Sensor

(x1 off screen)

Fig 5. Motion Control & Collection Subsystem Results

Fig 2. Pick-Up and Wheels

Mecanum Wheel & DC Motor (x2 off screen)

L298N driver (Roller + Conveyor Belt)

Pick Up Subsystem

(mechanical

components)

Motion Control Subsystem

Pick Up Subsystem (electronic components)