[This project was done as part of the EEE318 Control Systems Laboratory of Level 3, Term 2 of BUET]
The project features a spidercam system with live streaming camera with a web interface. For the spidercam 3D maneuver, 2 Arduinos have been used as the microcontroller to precisely control 4 stepper motors. ESP32 camera module has been used for live streaming and an asynchronous TCP web server has been programmed into the ESP32 controller. An HTML/JavaScript based web interface has been made for wireless live stream of the camera feed.
4 strings of length l1, l2, l3, l4 are attached to 4 poles of height h. The base area has dimensions a*b. A specific value of the set {l1, l2, l3, l4} corresponds to a unique (x,y,z) coordinate of the tied point on the tip of the strings.
The relation between {l1, l2, l3, l4} and (x,y,z) can be found from 3D coordinate geometry as:
Considering the string is attached with a cylinder of radius r, to change a string length by
By rotating the stepper motor with the proper angle, each wire length can be adjusted to achieve a desired (x,y,z) coordinate.
Folder arduino1_final_concurrent holds the microcontroller code for controlling stepper motor 1,2.
Folder arduino2_final_concurrent holds the microcontroller code for controlling stepper motor 3,4.
esp_camera_stream holds the code for the live wireless camera stream system.
For implementation details and demonstration see the project paper.