Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advanced Technology Labs (ATL) Mantis EDU support #17910

Merged
merged 8 commits into from
Aug 4, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .ci/Jenkinsfile-compile
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ pipeline {
"airmind_mindpx-v2_default",
"ark_can-flow_canbootloader",
"ark_can-flow_default",
"atl_mantis-edu_default",
"av_x-v1_default",
"bitcraze_crazyflie_default",
"bitcraze_crazyflie21_default",
Expand Down Expand Up @@ -71,8 +72,8 @@ pipeline {
"nxp_fmuk66-v3_rtps",
"nxp_fmuk66-v3_socketcan",
"nxp_fmurt1062-v1_default",
"nxp_ucans32k146_default",
"nxp_ucans32k146_canbootloader",
"nxp_ucans32k146_default",
"omnibus_f4sd_default",
"px4_fmu-v2_default",
"px4_fmu-v2_fixedwing",
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/compile_nuttx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ jobs:
airmind_mindpx-v2,
ark_can-flow,
ark_can-gps,
atl_mantis-edu,
av_x-v1,
bitcraze_crazyflie,
bitcraze_crazyflie21,
Expand Down
5 changes: 5 additions & 0 deletions .vscode/cmake-variants.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,11 @@ CONFIG:
buildType: MinSizeRel
settings:
CONFIG: ark_can-gps_canbootloader
atl_mantis-edu_default:
short: atl_mantis-edu
buildType: MinSizeRel
settings:
CONFIG: atl_mantis-edu_default
av_x-v1_default:
short: av_x-v1
buildType: MinSizeRel
Expand Down
200 changes: 200 additions & 0 deletions ROMFS/px4fmu_common/init.d/airframes/4061_atl_mantis_edu
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
#!/bin/sh
#
# @name Advanced Technology Labs (ATL) Mantis EDU
#
# @type Quadrotor x
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
# @output MAIN3 motor 3
# @output MAIN4 motor 4
#
# @maintainer
# @board px4_fmu-v2 exclude
#

. ${R}etc/init.d/rc.mc_defaults

set MIXER none
set MIXER_AUX none


# Battery settings
param set-default BAT_CRIT_THR 0.20
param set-default BAT_EMERGEN_THR 0.05
param set-default BAT_LOW_THR 0.25

param set-default BAT1_CAPACITY 2800.0
param set-default BAT1_N_CELLS 3
param set-default BAT1_R_INTERNAL 0.02
param set-default BAT1_V_CHARGED 4.26
param set-default BAT1_V_EMPTY 3.45

param set-default CBRK_SUPPLY_CHK 894281

param set-default COM_DISARM_LAND 0.1
param set-default COM_DISARM_PRFLT 3
param set-default COM_DL_LOSS_T 10
param set-default COM_FLTMODE1 -1
param set-default COM_FLTMODE2 -1
param set-default COM_FLTMODE3 -1
param set-default COM_FLTMODE4 2
param set-default COM_FLTMODE5 -1
param set-default COM_FLTMODE6 6
param set-default COM_RC_LOSS_T 3
param set-default COM_RC_OVERRIDE 1


# ekf2
param set-default EKF2_AID_MASK 35
param set-default EKF2_BARO_DELAY 0
param set-default EKF2_BARO_NOISE 2.0

param set-default EKF2_BCOEF_X 31.5
param set-default EKF2_BCOEF_Y 25.5

param set-default EKF2_GPS_DELAY 100
param set-default EKF2_GPS_POS_X 0.06
param set-default EKF2_GPS_POS_Y 0.0
param set-default EKF2_GPS_POS_Z 0.0
param set-default EKF2_GPS_V_NOISE 0.5

param set-default EKF2_IMU_POS_X 0.06
param set-default EKF2_IMU_POS_Y 0.0
param set-default EKF2_IMU_POS_Z 0.0

param set-default EKF2_MAG_DELAY 0
param set-default EKF2_MAG_NOISE 0.1

param set-default EKF2_MIN_RNG 0.15

param set-default EKF2_OF_DELAY 38
param set-default EKF2_OF_GATE 2.0
param set-default EKF2_OF_POS_X -0.035
param set-default EKF2_OF_POS_Y 0.0
param set-default EKF2_OF_POS_Z 0.033

param set-default EKF2_PCOEF_XN -0.3
param set-default EKF2_PCOEF_XP -0.4
param set-default EKF2_PCOEF_YN -0.4
param set-default EKF2_PCOEF_YP -0.4
param set-default EKF2_PCOEF_Z 0.0

param set-default EKF2_RNG_A_VMAX 1.0
param set-default EKF2_RNG_AID 0
param set-default EKF2_RNG_DELAY 55
param set-default EKF2_RNG_POS_X -0.035
param set-default EKF2_RNG_POS_Y 0.0
param set-default EKF2_RNG_POS_Z 0.033

param set-default EKF2_TERR_NOISE 1.0


# Maximum allowed angle velocity in the landed state
param set-default LNDMC_ROT_MAX 40.0

# Maximum vertical velocity allowed in the landed state
param set-default LNDMC_Z_VEL_MAX 0.7


# filtering
param set-default IMU_DGYRO_CUTOFF 50
param set-default IMU_GYRO_CUTOFF 65


# Pitch angle & rate setting
param set-default MC_PITCHRATE_P 0.075
param set-default MC_PITCHRATE_I 0.1
param set-default MC_PITCHRATE_D 0.0005
param set-default MC_PITCHRATE_MAX 360.0
param set-default MC_PITCH_P 8.0

# Roll angle & rate setting
param set-default MC_ROLLRATE_P 0.055
param set-default MC_ROLLRATE_I 0.1
param set-default MC_ROLLRATE_D 0.0005
param set-default MC_ROLLRATE_MAX 360.0
param set-default MC_ROLL_P 8.0

# Yaw angle & rate setting
param set-default MC_YAWRATE_P 0.1
param set-default MC_YAWRATE_I 0.1
param set-default MC_YAWRATE_MAX 120.0
param set-default MC_YAW_P 2.5

param set-default MPC_ACC_DOWN_MAX 2.0
param set-default MPC_ACC_HOR 3.0
param set-default MPC_ACC_HOR_MAX 10.0
param set-default MPC_ACC_UP_MAX 3.0
param set-default MPC_ALT_MODE 0
param set-default MPC_LAND_SPEED 0.5
param set-default MPC_LAND_VEL_XY 10
param set-default MPC_MAN_TILT_MAX 20
param set-default MPC_YAWRAUTO_MAX 80.0
param set-default MPC_POS_MODE 4
param set-default MPC_THR_HOVER 0.54
param set-default MPC_THR_MAX 0.9
param set-default MPC_THR_MIN 0.06
param set-default MPC_TILTMAX_AIR 30
param set-default MPC_XY_P 1.0
param set-default MPC_XY_VEL_D 0.005
param set-default MPC_XY_VEL_I 0.02
param set-default MPC_XY_VEL_P 0.15
param set-default MPC_Z_P 2.0
param set-default MPC_Z_VEL_D 0.0
param set-default MPC_Z_VEL_I 0.02
param set-default MPC_Z_VEL_MAX_DN 2.0
param set-default MPC_Z_VEL_MAX_UP 3.0
param set-default MPC_Z_VEL_P 0.27


# gimbal configuration
param set-default MNT_MODE_IN 1
param set-default MNT_MODE_OUT 2
param set-default MNT_MAN_PITCH 1


# RC
param set-default RC_CHAN_CNT 12

param set-default RC_MAP_THROTTLE 1
param set-default RC_MAP_ROLL 2
param set-default RC_MAP_PITCH 3
param set-default RC_MAP_YAW 4
param set-default RC_MAP_FLTMODE 5
param set-default RC_MAP_AUX1 7

param set-default RC1_DZ 10
param set-default RC1_MAX 3413
param set-default RC1_MIN 683
param set-default RC1_REV 1
param set-default RC1_TRIM 683
param set-default RC2_DZ 10
param set-default RC2_MAX 3413
param set-default RC2_MIN 683
param set-default RC2_REV -1
param set-default RC2_TRIM 2048
param set-default RC3_DZ 10
param set-default RC3_MAX 3413
param set-default RC3_MIN 683
param set-default RC3_REV 1
param set-default RC3_TRIM 2048
param set-default RC4_DZ 10
param set-default RC4_MAX 3413
param set-default RC4_MIN 683
param set-default RC4_REV -1
param set-default RC4_TRIM 2048
param set-default RC5_DZ 10
param set-default RC5_MAX 3414
param set-default RC5_MIN 2048
param set-default RC5_REV 1
param set-default RC5_TRIM 2048
param set-default RC7_DZ 10
param set-default RC7_MAX 3413
param set-default RC7_MIN 683
param set-default RC7_REV 1
param set-default RC7_TRIM 2048


mixer load /dev/tap_esc /etc/mixers/quad_x.main.mix
1 change: 1 addition & 0 deletions ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ px4_add_romfs_files(
4052_holybro_qav250
4053_holybro_kopis2
4060_dji_matrice_100
4061_atl_mantis_edu
4071_ifo
4072_draco
4073_ifo-s
Expand Down
Binary file not shown.
60 changes: 60 additions & 0 deletions boards/atl/mantis-edu/default.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@

px4_add_board(
PLATFORM nuttx
TOOLCHAIN arm-none-eabi
ARCHITECTURE cortex-m7
ROMFSROOT px4fmu_common
DRIVERS
adc/board_adc
barometer/maiertek/mpc2520
camera_capture
gps
#heater
imu/invensense/icm20602
magnetometer/isentek/ist8310
tap_esc
MODULES
battery_status
camera_feedback
commander
dataman
ekf2
events
flight_mode_manager
gyro_calibration
gyro_fft
land_detector
load_mon
logger
mavlink
mc_att_control
mc_hover_thrust_estimator
mc_pos_control
mc_rate_control
#micrortps_bridge
navigator
rc_update
sensors
sih
vmount
SYSTEMCMDS
bl_update
dmesg
dumpfile
hardfault_log
led_control
mixer
motor_ramp
motor_test
param
perf
reboot
shutdown
system_time
top
topic_listener
tune_control
uorb
ver
work_queue
)
13 changes: 13 additions & 0 deletions boards/atl/mantis-edu/firmware.prototype
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"board_id": 97,
"magic": "PX4FWv1",
"description": "Firmware for the Advanced Technology Labs (ATL) Mantis EDU (V18S) board",
"image": "",
"build_time": 0,
"summary": "atl_mantis-edu",
"version": "0.1",
"image_size": 0,
"image_maxsize": 2064384,
"git_identity": "",
"board_revision": 0
}
22 changes: 22 additions & 0 deletions boards/atl/mantis-edu/init/rc.board_defaults
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/sh
#
# board specific defaults
#------------------------------------------------------------------------------

param set-default SYS_AUTOSTART 4061

param set-default COM_ARM_SDCARD 0

param set-default SENS_EXT_I2C_PRB 0

param set-default EKF2_MULTI_IMU 1
param set-default EKF2_MULTI_MAG 1
param set-default SENS_IMU_MODE 0
param set-default SENS_MAG_MODE 0

param set-default EV_TSK_STAT_DIS 1

set LOGGER_ARGS "-m mavlink"

# Start esc
tap_esc start -d /dev/ttyS4 -n 4
19 changes: 19 additions & 0 deletions boards/atl/mantis-edu/init/rc.board_mavlink
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/sh
#
# board specific MAVLink startup script.
#------------------------------------------------------------------------------

set GIMBAL_TTY /dev/ttyS3
set MAV_RATE 40000
set BAUDRATE 500000

mavlink start -r ${MAV_RATE} -d ${GIMBAL_TTY} -b ${BAUDRATE}
mavlink stream -d ${GIMBAL_TTY} -s SYSTEM_TIME -r 0.5
mavlink stream -d ${GIMBAL_TTY} -s AUTOPILOT_STATE_FOR_GIMBAL_DEVICE -r 20
mavlink stream -d ${GIMBAL_TTY} -s GIMBAL_DEVICE_SET_ATTITUDE -r 20

# optical flow
mavlink start -d /dev/ttyS2 -m custom -b 500000

# Start MAVLink on the USB port
mavlink start -d /dev/ttyACM0
17 changes: 17 additions & 0 deletions boards/atl/mantis-edu/init/rc.board_sensors
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/sh
#
# board specific sensors init
#------------------------------------------------------------------------------

board_adc start

# SPI1 icm20602 IMU
icm20602 start -s -b 1 -R 8

# I2C2 ist8310 magnetometer
ist8310 start -I -b 2 -R 14

# I2C4 mpc2520 barometer
mpc2520 start -I -b 4

gps start -d /dev/ttyS0 -p ubx
Loading