Modular robotic camera control platform
Development of a modular software platform for controlling the robo-camera.
The robo-camera consists of a cylindrical coordinate system manipulator, an Arduino UNO control board, and an OV7670 camera with an Arduino NANO control board.
Both control boards are connected to the computer via the USB interface using the Serial protocol.
The idea is to develop a platform (API) that allows you to abstract from the data exchange protocols between the plugin and the robo-camera, the plugin implements some functionality, for example: manual control of the robo-camera, searching for a face in the image and following it, etc.
Program functionality:
- Responsive and adaptive modern design;
- functional connection / disconnection from the robo-camera and handling of all related errors;
- the system automatically loads all available plugins from the file system and displays them;
- implemented floating camera widget that allows you to see the image on any selected plugin;
- connection setup and plugin activation/deactivation.
Implemented built-in plugins:
- manual control of the robo-camera, control is carried out using the keyboard;
- control using machine vision, finding a face in the image and following it.
Stack:
- Gtk4 and components Adwaita, Gio, GDK, GObject, GLib;
-Python3;
- OpenCV, PySerial, logging, Cairo, numpy;
- CSS;
- Linux, PyCharm, Gnome Builder, Cambalache, Glade.
#Gtk #Python3 #usb #OpenCV #NumPy #css #Pycharm #desktop #linux
The robo-camera consists of a cylindrical coordinate system manipulator, an Arduino UNO control board, and an OV7670 camera with an Arduino NANO control board.
Both control boards are connected to the computer via the USB interface using the Serial protocol.
The idea is to develop a platform (API) that allows you to abstract from the data exchange protocols between the plugin and the robo-camera, the plugin implements some functionality, for example: manual control of the robo-camera, searching for a face in the image and following it, etc.
Program functionality:
- Responsive and adaptive modern design;
- functional connection / disconnection from the robo-camera and handling of all related errors;
- the system automatically loads all available plugins from the file system and displays them;
- implemented floating camera widget that allows you to see the image on any selected plugin;
- connection setup and plugin activation/deactivation.
Implemented built-in plugins:
- manual control of the robo-camera, control is carried out using the keyboard;
- control using machine vision, finding a face in the image and following it.
Stack:
- Gtk4 and components Adwaita, Gio, GDK, GObject, GLib;
-Python3;
- OpenCV, PySerial, logging, Cairo, numpy;
- CSS;
- Linux, PyCharm, Gnome Builder, Cambalache, Glade.
#Gtk #Python3 #usb #OpenCV #NumPy #css #Pycharm #desktop #linux