The autonomous cleaning robot is programmed to identify and collected rubbish whilst performing obstacle avoidance. The robot can perform these tasks using a Python script and a single-board computer known as a Raspberry Pi. The obstacle avoidance is achieved using an ultrasonic sensor to measure the distance to an object using sound waves, if an object is in it’s path the robot will reverse and change direction. To identify the rubbish the robot preforms object detection using a camera and OpenCV to create an RGB mask, OpenCV is a library of programming functions mainly aimed at real time computer vision. To collect the rubbish the robot has a 6DOF arm that is programmed to activate when an object is detected. The robot has also been configured to be controlled by the means of a laptop. Due to the robots highly accurate object detection it would be very effective in areas such as warehouses or a similar setting.