2021-07-16 Architecture Meeting
MECH
CV system is asynchronous - could go as fast as we want
would be better to have a slower speed, stabler flight
Autonomy level: identify targets on the ground and land appropriately, identify ground targets and move there - pick up and taxi is tele-op
Sensors: lidar
Lidar - mount next to camera so it will move with sensor - $1000 so might go with a different one https://www.robotshop.com/ca/en/leddartech-vu-8-channel-lidar-module-99-3-fov-spi-interface.html#shopping-cart-estimate-box
Camera - don’t need a goPro, drone cameras would need to be good resolution cameras
stick with one camera
Gimbal needs to mainly pitch
Could have 1 camera pointing forward and 1 on the gimbal pointing
Video streams should never be merged for CV
Just needs to looks forward and looks down, could be a taildragger
Cabin space
Boards could be in the wings but we want to make them easily interchangeable
Easy electrical connections
DB9 connectors are good
PPM decodor? - same thing as over CAN
Fly for 30-40 min
Max 3kg airframe
Need lots of cabin space for electrical board
FIRMWARE
Mech
How fast do we want to go?
15 m/s or 54 km/h
Srinjay says that the CV system doesnt care what speed the plane is, in theory. If you go too fast, youll miss the target and need to fly back.
Dhruv says controlled slower flight
How autonomous will this plane be?
Srinjay says be able to identify targets on the ground by itself and taxi to target
Dhruv says that everything but picking up and taxiing to take off will be auto
Sensors? Locations for sensors?
Srinjay says camera and Lidar
Mount it next to the camera so that it can be moved with the camera. Leddartech vu 8 channel lidar module
https://www.robotshop.com/ca/en/leddartech-vu-8-channel-lidar-module-99-3-fov-spi-interface.html#shopping-cart-estimate-box 1k dollars apparently
Gordon: I'm worked with an array of these: TFMini Plus - Micro LiDAR Module
Lidar is used for distance calculation
Multiple cameras on gimbal
CV doesnt care about gimbal location as long as it can look forwards and downwards
Is there a way to make electrical stuff easy to detach
Electrical says it should be okay if we find good connectors
Looking at anderson connectors
CV
LIDAR
1d lidar vs 2d lidar
CV will be getting just distance (1d)
CV would like to do 2d in the future
Binocular camera can be used instead
radar/infrared can be used instead as well
Lidar has good range
SOC
CV wants the nicest one we can afford
Either Jetson Nano (~$100) or Jetson TX2 (~$1000)
Warg apparently has a Jetson Tx2 unless someone stole it
How to protect the precious jetson baby
Put it near the back?
Maybe buy more than 1
No need for CAN as its overkill
USB to communicate between autopilot and CV
Sahil: Use CAN to communicate between autopilot and motor controllers?
Srinjay is going to benchmark the CV system
Google coral is debian based full system
Lance in favor of jetson, so we’ll likely use a jetson nano
Ryan says if all computers are on the plane, itll be hard to debug. 2 raspberry pis, 2 wifi adapters, open.hd, cheaper than lightbridge, less jank
FW
Keep working on zero pilot, to get it into a working state.
Modifications
Modify state machines to include jetson data transfers
Sensors and peripherals
Dhruv has a slide of everything that will be used
Are we getting an IMU and GPS module from vector nav?
Question for lance
It does sensor fusion onboard, but you can get raw measurements from another model
Specs on http://vectornav.com
Performance of vector nav
Picpilot used Vector nav chip
Spi and uart interface
Telemetry
Xbees?
RC comms should be separate
Open.hd can handle both video and telemetry data
Pass via jetson to rpi because autopilot already sends telemetry data to jetson
Leaning towards open.hd
Why separate altimeter
Gps has built in altimeter
Dhruv says gps altimeter is unreliable compared to external
Gps altimeter has a slower update rate
Gps altimeter doesn't have as good accuracy
Logging
Log data in sd card so that we can see whats going on
Data in txt file
Flashing and debugging
Moving away from stlink and stride
Goal is to use OpenOCD via usb port to flash and provide 5v power
Goal is to use ftdi chip to do usb debugging and flashing
USB vs CAN
Leaning towards USB
Send data in Pathmanager, before sensor fusion
Keep considering using stm32 to do comms
If any of the modules fails, comms will fail
Chip requirements
Adequate memory
Ftdi for flash
Use bootloader on the stm instead to remove ftdi requirement if needed
Led for debugging
Electrical
BMS
Will be its own board
Provides power to rest of board
PDB
Distributes power to everything, including jetson
Telemetry data going to jetson and flight controller
What is the desired carrying capacity? (How heavy can we be?)
10 kg max weight for comp
25 kg max weight for legal reasons
Better to have be heavier so that the weight doesn't change when you pick up stuff
0.5-1lb is the load of the stuff we were picking up
Put batteries in the wing?
What is the desired flight time?
30-40 minutes
Max you can fly in comp
What is the max range of the aircraft?
What is our max altitude?
~300ft aka 91m
What thrust do we want? How fast should we be able to go?
Mech assuming 11-15 m/s when doing calculations
SOC stuff
Offline, to be discussed with FW
Can multiple boards be combined into one pcb
Its about divvying up the work
Best practice is to split up the modules
2 extra boards compared to spike
Tradeoff with modularity is that it means plugging more shit in
Right now we arent modular at all, so changing anything means remaking zeropilot