Based on tips for tuning PX4 PID parameters written in my previous post [1] or even using the default values directly, you will be able to fly your vehicle freely in manual or stabilized flight mode. However, if you are using an unique vehicle (usually assembly by yourself and only equipped with sensors you desire) and struggling for finding the best PID parameters for your applications. I think following 8 tips will help you to get ideal PID parameters. This is the vehicle I made based on LHI QAV250 fiber frame, with TX2, high-speed camera, etc.[2] Tip1: Tuning order: Rate controller -> attitude controller -> position controller The PX4 controllers are layered [3], which means a higher-level controller passes its results to a lower-level controller. Thus the PID tuning needs to be done from lowest-level controller to highest-level controller. Tip2: Check if PWM_MIN is set correctly. Remove propellers Arm the vehicle and lower the throttle to the minimu
1. For setting companion link SYS_COMPANION (Before ver. 1.9.0) MAV_0_CONFIG, MAV_0_MODE (After ver. 1.9.0) 2. EKF2 configuration EKF2_AID_MASK EKF2_HGT_MODE EKF2_EV_DELAY (Reduce this parameter if high rate external vision is available) EKF2_EV_POS_X, EKF2_EV_POS_Y, EKF2_EV_POS_Z 3. Offboard mode parameters ( The vehicle will exit the mode if target setpoints are not received at a rate of > 2Hz ) COM_OBL_RC_ACT (Default: position mode, I set land mode) COM_OBL_ACT COM_OF_LOSS_T 4. Position loss failsafe COM_POSCTL_NAVL 5. Land mode MPC_LAND_SPEED COM_DISARM_LAND: Time-out for auto disarm after landing. (Default: 0, I set 3.) 6. TBD Reference: [1] https://dev.px4.io/en/advanced/parameter_reference.html [2] https://dev.px4.io/en/ros/external_position_estimation.html#tuning-EKF2_EV_DELAY [3] https://docs.px4.io/en/config/safety.html#qgc_safety_setup
1. Download linux image and install image on a TF card. 2. Insert the TF card into M3, and press power button setup M3. 3. Clone the running ubuntu from the TF card to the eMMC. $ sudo dd if=/dev/mmcblk0 of=/dev/mmcblk1 bs=10MB status=progress 4. Poweroff M3, remove the SD, power it on again, and you should be good to go… *Command for wiping emmc disk: $ sudo dd if=/dev/zero of=/dev/mmcblk1 status=progress *Remember to allocate the storage space of SD card before inserting the board. (Windows: minitool partition wizard) Reference: [1] http://wiki.banana-pi.org/Banana_Pi_BPI-M3#Image_Release [2] http://forum.banana-pi.org/t/bpi-m3-how-to-burn-linux-images-to-emmc-storage-on-your-bpi-m3/1214 [3] http://wiki.banana-pi.org/Getting_Started_with_M3#Development_For_Linux [4] http://forum.banana-pi.org/t/how-to-wipe-emmc-disk/1276 [5] https://gxiangco.gitbook.io/moodlebox-on-banana-pi/chapter6 [6] https://www.techwalla.com/articles/how-to-mount-an-sd-card-in-linux
留言
張貼留言