Kyle Ikuma presented on his SPRE project involving the PX4 Vision Dev Kit and development of an environmental flow vector (EFV) sensor array. He designed hardware including a power distribution system, EFV sensor PCB, and 3D printed sensor mounting chassis. The sensor array was tested in a wind tunnel mounted on a custom fixture and flown on a drone. The presentation covered the project goals, hardware components, CAD designs, manufacturing challenges, and preliminary flight test results.
2. Projects
PX4 Vision Dev Kit Setup/Testing
FlowDrone hardware design, PCB design for EFV
sensor integration
3. What is PX4 Vision?
The PX4 Vision Autonomy Development
Kit is a robust and inexpensive kit
for enabling computer vision
development on autonomous vehicles.
The kit contains a near-ready-to-fly
carbon-fiber quadcopter equipped with
a Pixhawk 4 flight controller, a UP
Core companion computer (4GB memory &
64GB eMMC), and a Occipital Structure
Core depth camera sensor.
4. Core Components
● Pixhawk 4 FC
● PMW3901 optical
flow sensor
● TOF Infrared
distance sensor
● Structure Core
depth camera
● UP Core computer
● Pixhawk4 GPS
5. ● Almost ready-to-fly drone
with vision hardware
installed
● Install and bind R/C
receiver, ensure companion
computer and flight
controller are set up
● Will perform test flight
on-campus
PX4 Vision Dev Kit
13. PCB Schematic; V1 (4 sensors mounted on chassis)
Connected by header pins:
Fastened in place by (TBD):
- interlocking mast edges (teeth)
- Rubber bands for tension
Not pictured: Mast version with doubled
hight (also ordered)
Mast Chassis
15. V1 Sensor Mounting
Future additions/design goals:
- Secure the sensors to the board
- Currently the header pins are the only
attachment points between the sensors and
the base
- Fasten sensors to each other to ensure alignment
- Longer PCBs may be subject to
deformation/vibration
- Header pins have some “wiggle room” -
mitigate this
18. Full CAD Assembly
- Layout of sensors, boards, components, etc. to prevent
any interference in assembly
- Simulation
- Further down the line:
- Add densities/weights to corresponding parts
- Mass/inertial properties, possibly output to .urdf
files for ROS simulation
- CFD/Flow simulation around propellers &
sensors
19. CAD Sensor Mounting (Version 2)
Design changes:
- Corrected errors with previous board
- Mirrored sensor pattern across vert. axis
- Added gain resistor mounting holes to AD623
op-amp
- Added hole in PCB for sensor
- Interlocking mechanism
- aligns sensors with each other, increases
rigidity
- Proposed securing mechanism (next slide)
- Low-pressure “cavity” due to four walls may cause
unexpected aerodynamic issues
20. Securing the sensors to the board:
- Proposed solution: square “clamp” attachment
- “overengineered” -Hultmark, 2021
- Probably will end up using rubber bands or other janky solution
21. Manufacturing the EFV Sensor Slot in DipTrace
- Test the manufacturing capabilities of OSH Park
- Test 1: NC drill file; specify 4x 0.6mm holes
- Holes over the real sensor location
- Test 2: rectangular board outline cutout
- Placed on separate location on board away from all other
components
- Will there be differences? Which one is more reliable?
- Inner radius of the (presumably) milled board outline?
- Results:
- 4x hole looked like a single drill point; presumably because drill bit
did not have any board material to catch onto past the first hole
- Rectangular hole was not manufactured at all
- For all V2 sensors, Nate used a drill press & widened the holes
24. ● Designed in EAGLE
○ Can specify milled slot (teal)
○ OSH Park has documentation and
support on its website on how to specify
slots/other PCB features in EAGLE
○ Fusion 360 integration/link: changing
EAGLE project will update 3D design in
Fusion
○ Overall good decision to switch over
● Only ‘half’ tab and pocket towards the
bottom of the board
● Top part of mast separated to prevent
any weird “cavity” effects of V2, if any
PCB V3 + Chassis
25. PCB V3
● Issue: sensors measure magnitude of flow; no way to
know the direction of flow through sensor
● Flow from backside of PCB on the opposite sensors
as wind direction might cause issues in calculating
wind direction
● Proposal: X-brace
○ How can we prevent airflow passing between/through
sensors from reading through the wrong/unintended
sensors?
○ Dual purpose: stabilizes PCBs against each other and
should provide a guarantee on wind direction
calculations, since the only sensors reading any wind
velocity would be those facing the wind
○ “Compartmentalizes” airflow between sensors,
prevents airflow from perturbing other sensors in the
array
27. Chassis V2
● New chassis:
○ 4 mounting holes for stability
○ Sensor array shifted to center of chassis board
○ Changed custom top plate and wind tunnel test fixture to
reflect changes in mounting hole pattern
○ To do: common ground between I2
C and power source
● 3D printed carrying case
○ Keeps dust/particles off sensing elements
○ Prevents PCBs from moving around too much
28. Hardware Test
● Circuit successfully reading EFV voltages into
Raspberry Pi, sensitive to wind
● Tower is quite sturdy (filed edges interlock)
● 1 working EFV (challenges with sterile storage /
transportation of the sensors)
● SEAS Magazine interview + flight photos
29. Flight Test
Sensor on
Props on
Takeoff
Forward -> Backward
Forward -> Backward
Hovering Landing
Props Off
Hovering