Lisa Asctec Bringup
This page describes the process of Assembling a Lisa on an Asctec frame with Asctec X-BL motor controllers and motors, from assembly to the first flight.
- Poine/booz2_a6 : this is an hexarotor with mikrokopter motor controllers and running booz2 code in the stm32 - Poine/booz2_a7 : this is an asctec quadrotor with astec motor controllers and running booz2 code in the stm32 - Poine/booz2_a8 : this is a biplan with asctec motor controllers and using stm32 only as io processor - this one is in progress - esden/lisa_asctec : this is an asctec quadrotor with asctec motor controllers and running booz2 code in the stm32 using xtend based rc remote control.
Assembly
Connectors
- USART3 Spektrum RC sattelite
- USART2 telemetry modem or PC
Compiling STM32 firmware
make AIRCRAFT=LISA_ASCTEC clean_ac ap.compile
Flashing STM32 firmware
make AIRCRAFT=LISA_ASCTEC ap.upload
Testing telemetry
Start the paparazzi program launcher:
./paparazzi
Now you have to start a series of programs.
datalink
Connects the air network with the ground network. In our case it takes the serial data from USART2 and translates them to network packets.
link -d /dev/ttyUSB1 -s 57600
messages & realtime plotter
This program is a "sniffer" it displays the packets going around on the ground network and displays them as numbers. You also may want to start the realtime plotter. You can drag values from the messages window into the realtime plotter to plot the data as a curve over time.
settings & server
Settings allows you to view configuration values on the vehicle. If you want to change any of them you will also need to start server that dispatches the data and transfers them to the vehicle. You need to tell the settings program what vehicle you are using:
settings -ac LISA_ASCTEC
GCS
Last but not least you may want to start the GroundControlSoftware where you can view and control the autonomous flight data.
Spektrum Satellite Receiver
You may need to make several changes to the 'sw/airborne/booz/radio_control/booz_radio_control_spektrum_dx7se.h' file. We created a new file called 'booz_radio_control_spektrum_dx7se_joby.h'. This file is included by adding the following line to the airframe file:
ap.CFLAGS += -DRADIO_CONTROL_SPEKTRUM_MODEL_H=\"radio_control/booz_radio_control_spektrum_dx7se_joby.h\"
If Lisa doesn't seem to be receiving from your Spektrum receiver, check
#define RC_SPK_SYNC_2 0x12
Our receiver's second sync bit was actually 0x01.
Check the mapping and signs of the RC channels by viewing the paparazzi telemetry. You also want to include the kill switch channel if it is not already there. Our mapping and signs look like this:
#define RADIO_CONTROL_ROLL 0 #define RADIO_CONTROL_THROTTLE 5 #define RADIO_CONTROL_PITCH 3 #define RADIO_CONTROL_YAW 6 #define RADIO_CONTROL_MODE 1 #define RADIO_CONTROL_KILL_SWITCH 4
#define RC_SPK_THROWS { MAX_PPRZ/MAX_SPK, \ MAX_PPRZ/MAX_SPK, \ -MAX_PPRZ/MAX_SPK, \ -MAX_PPRZ/MAX_SPK, \ MAX_PPRZ/MAX_SPK, \ MAX_PPRZ/MAX_SPK, \ MAX_PPRZ/MAX_SPK }
Motor Mapping
Depending on which propellers are mounted where, you need to edit your airframe file (in the supervision section). Our mapping looked like this:
<define name="ROLL_COEF" value="{ 0, 0, 256, -256 }"/> <define name="PITCH_COEF" value="{ 256, -256, 0, 0 }"/> <define name="YAW_COEF" value="{ -256, -256, 256, 256 }"/> <define name="THRUST_COEF" value="{ 256, 256, 256, 256 }"/>
Motor Spin Directions
Make sure your motors are spinning in the correct direction. We did this by swapping the brushless motor leads, but it should be possible to do this through Paparazzi's settings menu. This functionality might not yet be fully implemented.
Check Motor Controllers
The Asctec motor controller bypass capacitors are prone to damage. Replace them if they look dented, otherwise the motor controllers will not function.
Calibrate Accelerometers and Magnetometers
See BoozSensorsCalibration. During the data aquisition stage, be sure to let the vehicle rest in each position. Don't hold it in your hand. This is because the calibration script checks the data for noise and drops data from noisy sections. If ALL your data is too noisy and gets dropped, the script will give you a "too many indices" error. This error may also occur when your logfile is empty.
If your magnetometer data is too noisy (if you try to calibrate magnetometers when a computer or power supply is close by), the calibration script will take a very long time to run, and then it will give you incorrect results. Plot your data to see if it looks too noisy.
The signs on the outputted sensor gains are dependent on the orientation of Booz IMU (the sensor board) relative to the main Lisa board. This correction will be automated in a future release.
Preflight Automatic Gyro Zeroing
When you power up the vehicle for a flight, an LED on Lisa will blink quickly. Rest the vehicle on a flat surface until the LED goes solid. This indicates the vehicle is ready to fly and you can turn on the motors.