One of the key features of CATNAV is its advanced vision system. The robot is equipped with a set of cameras that allow it to detect and recognize objects and navigate through the environment with precision. This enables CATNAV to quickly and accurately identify targets and perform tasks with a high degree of accuracy. Another key feature of our robot is its mobility. CATNAV is equipped with an advanced locomotion system using odometers that enable it to move quickly and smoothly across the Arena. These features of CATNAV allows it to operate autonomously. With its advanced computer vision system and sophisticated movement tracking CATNAV can perform tasks with a high degree of accuracy and precision.
The computer vision system used is OpenCV. OpenCV, or Open Source Computer Vision, is a free and open-source library of programming functions mainly aimed at real-time computer vision. One of the core functionalities of OpenCV is its ability to detect and track objects in a video frame by frame. The process of object detection and tracking in OpenCV can be broken down into several steps.
First, OpenCV takes in the incoming frame data and converts it into an image and applies color thresholding.
Color thresholding is a technique used to isolate specific colors in an image. OpenCV then looks at different hue values and isolates those that correspond to the object of interest. The resulting image is then blurred to remove noise. Blurring might seem counterintuitive, but there is often a lot of noise in images that can interfere with edge detection. By blurring the image, OpenCV is removing any high-frequency noise that might be present in the image.
OpenCV performs further morphological operations to remove noise from both within the object's contour and the surrounding environment. These operations are designed to minimize false positives by removing any additional noise that might be present in the image.
Next, OpenCV performs contour detection and calculates the centroid of each contour. OpenCV uses the centroids to track the object as it moves through the frame. Finally, OpenCV identifies the object with the largest centroid per area which is used by CATNAV to to track.
Integrating the various components of CATNAV requires a lot of data and power connections and the robotics team recognized the importance of a custom PCB design in order to make assembly of the various components easier. The final design requirement included specific electrical connections to prevent power lines from being connected to data lines or connecting those lines backwards. the PCB also needed to handle the high current requirements of the Motor Controllers.
To achieve our custom PCB design, we used EasyEDA, an online PCB design tool, to create the schematics and layout for our PCB. We then used PCBWay, a PCB printing service, to manufacture the final product. This process allowed us to customize our PCB to meet the unique requirements of our project.
Our initial design was a small business card sized PCB that provided six 5 or 12 volt and GND connections(version 1.0). This design allowed us to test the capabilities of our PCB before moving on to a more complex design. We knew that we needed to ensure that the traces on the PCB were wide enough to handle the high current that our components required. Specifically, we needed the PCB to handle a sustained current of 12 amps and a peak current of 30 amps, so a minor change was made to the trace width and pattern(version 1.1).
The final design(version 2.0) was a little larger than a smart phone allowing for the integration and independent control of seven different motors, a mount for a DC buck converter, and multiple 5 volt and 12 volt rail connections.
The most notable feature of CATNAV are of course the articulating ears. This was a last minute addition to add some charm and uniqueness to the robot, it also inspired the name CATNAV. The movement of the ears will correspond to different functions that the robot is performing, giving the ear movement a practical function as well.
Starting Image
Hue Space
Color Detection
Noise Reduction and morphology
Final Result and Target
PCB Version 1.1
PCB Version 2
PCB Version 2