Anti-Collision
While building the Anti-Collision system, we faced some challenges:
- Anomalous data
- We developed an algorithm that discards the anomalous data, and averages the filtered data from the sensors to get a more reliable distance
- We learnt that hardware isn’t perfect, especially when there’s a limit on budget
- Holding sensor array
- In order to fix the four sensors in the four directions (front, right, back and left), we designed and printed our own printed circuit board (PCB), as well as sensor mount
- The PCB ensured that the sensors stayed in their 4 directions and minimised excessive wiring
- The sensor mount (shown below) holds the sensors up to a height above the propellors, which ensures that the propellors do not affect the sensors’ readings
- The groves at the top allow the sensors to be placed snugly, further fixing the sensor array in place
- It was a challenge to design a PCB and 3D design as we were new to both Eagle and Fusion 360 respectively, and some rookie mistakes were made along the way. However, we learned to work with what we have, despite everything.
Sensor mount (screenshot of stl file)
PCB design of the sensor array
Radio Frequency
While building our remote control, we faced some challenges:
- Complex and loose wiring
- We used a Printed Circuit Board (PCB) as a platform to solder down the pins of the RF modules
- Not omnidirectional
- The RF modules had a hardware limitation in which they could only work when they are facing each other.
- We substituted them with RF modules with antenna without having to alter our software.
- Not only did this new module increase the reliability of data transmission, it also offered a greater range for RF communication. This is important as the drone can be controlled from a larger distance away from the pilot.
- Absence of multichannel writing pipe
- The RF modules have only one writing pipe, which means that data can only be transmitted through one data channel.
- To send multichannel data via one channel, we reduced that data size as much as possible by characterising the data as unsigned short integers.
Control Flow and Logic
The challenge we faced with the control and logic flow was:
- Drone momentum
- We initially believed that we would be able to program the drone to slow down, and come to a complete stop as it approaches an object
- All we had to do for this would be to limit the roll and pitch of the drone, whereby sending the neutral command would make the drone stationary
- However, we didn’t consider the momentum of the drone. Sending the neutral command would not be enough for the drone to come to stop before crashing into the object
- Therefore, once the drone passes a certain distance threshold, we programmed the drone to move to in the opposite direction of the object
- We hence learnt that we need to consider the kinematics of the drone, and used it to shape the control flow code
Drone Building and Stabilisation
Since our drone was built from scratch and did not come pre-calibrated, we encountered some problems when flying the drone:
- Stabilisation
- Equal landing gear
- A level plane is crucial for accelerometer calibration, which in turn is crucial for stable flight. In the process of finding the appropriate landing gears for our drone, we had to ensure practicality and durability. As store-bought landing gears suitable for our drone could not be found, 3 landing gear designs were 3D printed and tested in total. Ultimately, we were able to securely screw in the landing gears, giving the necessary levelness.
- Trimming
- Due to constant drifting in a particular direction, we narrowed the source of the issue down to weight distribution. We adjusted certain PID and advanced parameters as well as trimmed the remote control and flight controller through manual trimming and Mission Planner, ultimately achieving stable flight. The autotrim feature was also explored, enhancing value accuracy.
- Calibration
- While the steps to carry out are relatively rudimentary, accelerometer calibration posed a few issues such as a faulty barometer. A quick flight controller replacement as well as constant calibration whenever the drone is edited in any way gave us the needed accuracy in levelness.
- Velcro straps and zip ties were also introduced to more securely hold the flight controller and other components in place. This reduces vibrations, removing wobbling issues.
- Equal landing gear
- Drone Piloting
- As beginner pilots, we crashed the drone multiple times by accident. This was fixed by reducing throttle, roll and pitch sensitivity in Mission Planner, giving us gentler ascends and descends as well as more maneuverability.
- Initially, Stabilise flight mode was used, causing some difficulty in piloting as throttle had to be constantly adjusted by the pilot. Once Alt Hold was used instead, the drone automatically maintains current altitude, allowing the pilot to only be concerned with roll and pitch. This helped us beginner pilots massively.