Object Following
Skills Used: Perception, YOLO, Deep Learning, PID Control, Arduino, CAD, Deep Learning
This project was for a Neuromechanics class to recreate how humans look at objects in their environment. The hope is to use this project to eventually use visual feedback to manipulate large objects with a humanoid soft robot (see these presentation slides for a more detailed look at the background).
The two main ways that humans use visual feedback for mainpulation are:
Creating predictive models for grip and load forces (ie recognizing a heavy weight vs a pencil allows us to determine the expected load forces)
Gaze continually moves to keep the object or area of interest in the center of the field of view
To perform object detection, I used Yolov8. I collected data using a ZED2 and my phone camera for a cardboard box, rolled up foam, stool, and a trash can. It worked fairly well, even in harsh sunlight. The most difficult object to detect was the stool, which makes sense because it depends on the background the most.
Using the bounding boxes that are output from the YOLO model, I can use the center as the control signal. There is a proportional controller for the pitch and yaw angles that tries to keep the center of the bounding box in the center of the image.
The proportional controller sends change in angle commands to an Arduino. The Arduino is connected to two servo motors to give the device two degrees of freedom. I used this pan and tilt model. I adjusted the model to hold a ZED2 and to interface properly with the servo motors. The basic electrical setup is shown on the left. The whole assembly is 3D printed and a few pictures are below.