This project was completed as a requirement for ENGS 147: Mechatronics; the course spanned 11 weeks in the spring of 2023. The team was composed of five students between undergraduate and PhD level.
The project had three requirements:
The team had access to any materials within a budget of USD 200. An Arduino and Raspberry Pi were provided by the university, along with: design software, additive manufacturing materials/machines, wiring, and other common workshop materials/tools.
Our team decided to divide responsibilities into four major subsystems: mechanical, electrical, controls, and positioning. Mechanical and electrical would segment the physical design of the sailboat. Controls encompasses navigation, sensing, and the control architecture. Position refers to the acquisition of the sailboat's current location.
The boat navigates to a target coordinate on wind power alone, with sculling as a no-wind backup. An Arduino drives the sail and rudder servomotors; I wrote the embedded C++ and the navigation algorithms.
Control runs on two time scales. A fast inner loop repositions the sail and rudder, while a slow outer loop re-charts the course around no-go wind directions.
Custom 3D-printed wind-speed and wind-direction sensors are mounted on the mast and wired down it to the controller. Position comes from GPS fused with dead reckoning in an extended Kalman filter.
Build photos and notes on the design iterations are being written up.
Test results and performance data are being written up.
Key takeaways and lessons learned are coming soon.