I setup as default Tricopter + setup and successfully flew in vertical mode.
Now I need to figure out how to make transition from vertical to flying mode.
I tried to search for any selectable option in the default setup but could not find anything yet.
Maybe I have to write my own script file for this? Any idea and suggestions would be much appreciated.
In init.d folder, I added a file named “13014_vtol_tricopter” which includes following lines of code.
#!nsh
#
# @name VTOL EDF Flyingwing
# @type VTOL Tricopter
# @maintainer Kyuhyong You <kyuhyong@gmail.com>
# @output MAIN1 Motor 1
# @output MAIN2 Motor 2
# @output MAIN3 Motor 3
# @output MAIN4 Yaw servo
# @output AUX1 Elevon right
# @output AUX2 Elevon left
# @output AUX3 Tilt servo front
#
sh /etc/init.d/rc.vtol_defaults
if [ $AUTOCNF == yes ]
then
param set BAT_N_CELL 4
param set VT_MOT_COUNT 3
param set VT_FW_MOT_OFFID 3
param set VT_IDLE_PWM_MC 1080
param set VT_TYPE 1
param set VT_B_TRANS_DUR 1.0
param set VT_FW_DIFTHR_EN 1
param set VT_FW_DIFTHR_SC 0.17
param set VT_FW_PERM_STAB 0
param set VT_F_TRANS_DUR 1.2
param set VT_F_TR_OL_TM 4.0
param set VT_TILT_FW 1.0
param set VT_TILT_MC 0.0
param set VT_TILT_TRANS 0.45
param set VT_TRANS_MIN_TM 1.2
param set VT_TRANS_P2_DUR 1.3
param set FW_L1_PERIOD 17
param set FW_MAN_R_MAX 50.0
param set FW_ACRO_X_MAX 270
param set FW_ACRO_Y_MAX 270
param set FW_ACRO_Z_MAX 180
param set FW_PR_FF 0.5
param set FW_PR_P 0.08
param set FW_PSP_OFF 5.0
param set FW_P_LIM_MAX 30
param set FW_P_LIM_MIN -30
param set FW_P_RMAX_NEG 60
param set FW_P_RMAX_POS 60
param set FW_RR_FF 0.33
param set FW_RR_P 0.11
param set FW_YR_FF 0.3
param set FW_YR_P 0.05
param set MC_PITCHRATE_D 0.003
param set MC_PITCHRATE_P 0.15
param set MC_PITCH_P 6.0
param set MC_ROLLRATE_D 0.003
param set MC_ROLLRATE_P 0.15
param set MC_ROLL_P 6.0
param set MC_YAWRATE_MAX 120
param set MC_YAWRATE_P 0.27
param set MC_YAW_FF 0.35
param set MC_YAW_P 2.5
param set MC_YAWRATE_P 0.3
param set MPC_LAND_SPEED 1.2
param set MPC_TKO_SPEED 2.5
param set MPC_Z_VEL_MAX_UP 3.0
param set CBRK_AIRSPD_CHK 162128
param set FW_ARSP_MODE 2
param set SENS_BOARD_ROT 8
fi
set MIXER tri_y_yaw+
set PWM_OUT 1234
set PWM_RATE 400
set MIXER_AUX vtol_tricopter
set PWM_ACHDIS 3
set PWM_AUX_DISARMED 950
set MAV_TYPE 22
and in mixer folder. I added a file named “vtol_tricopter.aux.mix” which includes following lines of code.
Yes I checked Convergence uses servos in main from 5 to 8.
One of the reason I believe is that its tilt servos response much faster than that of my setup. The font tilt servo in my setup only being used while transitioning between vertical and forward flight mode.
I flashed using QGC and successfully load the newly added airframe however servo on AUX channels are not working. No signal on the pin.
I did supply 5V power on the AUX power rail and checked other airframe using similar AUX channel works fine.
nsh shows it is not loading AUX mixers.
INFO [logger] logger started (mode=all)
INFO [logger] log root dir created: /fs/microsd/log
INFO [init] Mixer: /etc/mixers/tri_y_yaw+.main.mix on /dev/pwm_output0
Am I missing something here?
ADDED
I accidentally placed a space between .aux .mix and that is why it cannot load the file correctly.
Now I am trying to figure out how to match the pwm output to servo motor.
When I triggered transition, tilt servo does not seems to move its maximum position vs directly controlled by receiver.
Below image shows the two outputs. CH1 is from AUX, CH2 is from the receiver.
When all the way down, AUX only reach about 1.48ms while the receiver generating 1ms duty pwm signal.
I did increased the Tilt servo mixer in my mixer file to 15000 but nothing change much.
Tilt Servo
It think the problem is in the scaling and offset value of your mixer. The parameter “VT_TILT_FW”, “VT_TILT_MC” dictate the tilt control output value in each mode. Since in your case it’s 0 and 1 the trick is to setup your mixer using the positive scale and a offset.
Hello,
I am going to start a project similar to yours. I am very new to Pixhawk and Ardupilot.
I was looking at the Convergence model, but I want to use a tilting rear motor.
How would I go about using your airframe type?
Will you add it to model choices?
Thank you.
Hi, thanks for your comment. I still haven’t really finish the project yet tho.
Regarding your question, compare to convergence, the overall size is bigger and would require big tilting mechanism. So I decided to tilt rear motor rather than having two tilting for front thrust motors.
Hi @Kyuhyong_You great work. I am trying to fly a custom TriCopter as well. But I have an issue where the TriCopter rolls to one direction (left usually) upon attempting to take-off. I used the standard config and mixer (TriCopter y-) then added two summing mixers so as to tilt all three rotors rather than the tail only. Any ideas would help. Thank you
I’m working on dual swashplate and would be happy to coordinate changes to HelicopterMixer to accommodate more than a single swashplate. Presently, HelicopterMixer supports only single swashplate.