[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.
![](https://private-user-images.githubusercontent.com/69526008/279602280-44209f62-56f1-4b10-a64d-5a62f8ad0d2e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDE2NjMsIm5iZiI6MTcyNTk0MTM2MywicGF0aCI6Ii82OTUyNjAwOC8yNzk2MDIyODAtNDQyMDlmNjItNTZmMS00YjEwLWE2NGQtNWE2MmY4YWQwZDJlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTEwVDA0MDkyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM4NWUyYmQ5ODY3YzY0Y2E2NzdhMmUxNjZkYWYzNmQyNmFjNjcxNGJmMTgzZDE3NWI5NmM2ZjBkNzY1NTQ1ZDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.sHwNer6xZK5vLlNhWlMrEoMBJeBgNafEL6wHA5vp9A8)
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.