Instead of simulations we can collect real world data by moving several rovers around autonomously in a field. Some rovers will transmit and others will listen and collect data.
Youtube link
Youtube (mission) link
A is the right side when looking at the front of rover (?)
Very sensitive to noise from pi + SDR , route it away from the inside!
press up to 5s +
press hold set 5s
use up down to set UP to 11.2v
press set
use up down to set DOWN to 11.1v
Pins 3,4,6 set to high(1) rest to 0
MRB / MRA -> A motors MLB / MLA -> B motors
Velcro include pictures
USB 4 | USB 3
USB 2 (Radio A) | USB 1 (Radio B)
Ethernet
Use mission planner windows RPi script installs Arudpilot settings!
setup.sh
Get temperature
vcgencmd measure_temp
screen shot https://www.youtube.com/watch?v=i5lE2cWJJhM Connect using mission planner Set different NetIDs for each pair Make sure to copy over settings
Rover 1 -> NetID 25
Rover 2 -> NetID 32
Rover 3 -> NetID 39
Load base parameters
Accel calibration Compass calibration Change SYSID_THISMAV
Backup parameters
Setup (Internal RF)
XJT D16
Ch Range CH1-16
Binding
(change receiver #) and have previous drones online to make sure we dont over bind the channel
With receiver off, hold down F/S button, power on while holding, let go 1 second later
Solid green/red -> no connection
Press bind on controller, beeping starts
Flashing green/red -> connection established
Reset receiver
Press ok on controller
Try moving around controller sticks to see X8R light go green
Input 1 -> 100 Rud
Input 2 -> 100 Ele
Input 3 -> 100 Thr
Input 4 -> 100 Alie
CH 1 -> 100 Ail
CH 2 -> 100 Ele
CH 3 -> 100 Thr
CH 4 -> 100 Rud
CH 5 -> 100 SF -> Arm [ Disarm, Arm ]
CH 6 -> 100 S2
CH 7 -> 100 SD
CH 8 -> 100 SA -> Flight mode [ Manual , Guided, RTL ]
CH 9 -> 100 SH -> Shutdown [ Momentary -> shutdown ]
CH 10 -> 100 SC -> Mag calibration [ Nothing, Mag cal, Nothing ]
To swap throttle from the left to the right ,
Originally set to
CH1 = Ail
CH2 = Ele
CH3 = Thr
CH4 = Rud
Go to MIXES on controller and set to
CH1 = Rud
CH2 = Thr
CH3 = Ele
CH4 = Ail
See here
Emit from an SDR
python sdr_controller.py --emitter-uri ip:192.168.1.15 --receiver-uri ip:192.168.1.17 --mode tx --fc 2467000000
Receive frmo an SDR
python sdr_controller.py --receiver-uri usb:2.11.5 --mode rx --fc 2500000000 --rx-mode fast_attack
Use a fake drone and real configuration to receive
python mavlink_radio_collection.py -c rover_configs/rover_receiver_config_simulator.yaml -m device_mapping -r center --fake-drone
Use a fake drone and real configuration to emit (and receive)
python mavlink_radio_collection.py -c rover_configs/rover_emitter_config_pi_simulator.yaml -m device_mapping -r center --fake-drone
Can also use the above with a simulated drone instructions
#rover1
mavproxy.py --master /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DK0G4IOK-if00-port0
#rover2
mavproxy.py --master /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DK0G4W25-if00-port0
#rover3
mavproxy.py --master /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DK0G5WCE-if00-port0
arduino-cli core update-index
/home/pi/spf-virtualenv/bin/python3 ${repo_root}/spf/mavlink_radio_collection.py -c ${config} -m ~/device_mapping --fake-drone -r center -n 4000