Inspiration

RoboVision was inspired by a need in our robotics team to track a goal. We realized this could have an actual use in professional fields and decided to start programming it.

What it does

RoboVision is a vision-tracking algorithm that is very customizable. It is able to latch on to any object and pan with it, provided with sufficient hardware. For our testing we are using a Logitech webcam on a gimbal. It is able to pan with an object and track it in a 270-degree field of view.

How we built it

We made RoboVision by using an existing chassis we had, and we attached a webcam on a gimbal to it. The gimbal is mostly 3D printed using custom-designed parts and two small servos. These control yaw and pitch to move the webcam.

Challenges we ran into

We had a difficult time getting our dev environment setup. We also had to switch between IntelliJ IDEA and Android Studio. This gave us less time to test the prototype and make adjustments. We also had to make the gimbal and attach the webcam, both of which were time extensive.

Accomplishments that we're proud of

This was our first time using the OpenCV library in code. Even though the library is documented, because of the size, it was not sufficient for our use case. We have spent a lot of time getting that working by itself. Additionally, we were able to build a modular chassis that can be repurposed very quickly for many different use cases, as well as designing a gimbal to house a camera.

What we learned

By doing this project, we learned that it is difficult to work in a real-life environment. When you are in a closed and controlled environment, you know exactly what to expect and exactly what could go wrong. In this environment, we had no idea what would happen with the physical construction as well as the software implementation of our vision tracking system.

What's next for RoboVision

We hope to evolve RoboVision to be a complete vision tracking system, capable of tracking pretty much anything. We could also improve RoboVision by adding sensors to track distance or other metrics that could be useful when tracking objects. We also hope to get a 360-degree camera made in some fashion and implement RoboVision onto it.

Built With

Share this project:

Updates