cnpcshangbo/FOPD-tunner

버전 1.0.0.0 (1.43 MB) 작성자: Bo
Fractional order proportional derivative controller tuner
다운로드 수: 469
업데이트 날짜: 2018/7/5

FOPD-tunner
Fractional order proportional derivative controller tuner
Related Publications:
Bo Shang, Jianxin Liu, Tiebiao Zhao and YangQuan Chen, "Fractional order robust visual servoing control of a quadrotor UAV with larger sampling period," 2016 International Conference on Unmanned Aircraft Systems (ICUAS), Arlington, VA, 2016, pp. 1228-1234. PDF

1. License
FOPD-tunner is released under a MIT license.

If you use FOPD-tunner in an academic work, please cite:

@inproceedings{shang2016fractional,
title={Fractional order robust visual servoing control of a quadrotor UAV with larger sampling period},
author={Shang, Bo and Liu, Jianxin and Zhao, Tiebiao and Chen, YangQuan},
booktitle={Unmanned Aircraft Systems (ICUAS), 2016 International Conference on},
pages={1228--1234},
year={2016},
organization={IEEE}
}
2. Prerequisites
We have tested the library in MATLAB 2016b and Windows 7, but it should be easy to run in other platforms.

Control model
screenshot 2017-08-15 17 51 47

MATLAB System Identification Toolbox
Convert the identified model to this format:

screenshot 2017-08-15 20 25 37

Then we can get the parameter k and tau.

FOTF Toolbox
https://www.mathworks.com/matlabcentral/fileexchange/60874-fotf-toolbox

Oustaloup
3. Downloading FOPD-tunner library and run examples
Clone the repository:
git clone https://github.com/cnpcshangbo/FOPD-tunner.git
4. Run examples
Tune IOPID controller
Enter the folder named "1. iopid_tune_pid", open "iopid_tune.m", update the plant parameters identified MATLAB System Identification Toolbox, then run it to tune IOPID controller and get related parameters (integer order PID parameters kp, ki, kd, cross over frequency omega_c and phase margin phi).

Tune FOPD controller
Setting parameters
Open file "cal_lambda_ki_kp_bode.m". Set fractional order lambda to -1~0, update the parameters k and tau, cross over frequency omega_c and phase margin phi.

Note: When lambda is negative, a PI controller becomes a PD controller.

Plotting ki against lambda
Run the first cell of "cal_lambda_ki_kp_bode.m". You will see the three curves. Zoom the curves to find crosspoints. The coordinates of the crosspoints are lambda and ki.

Verify the crosspoints
Run the "Solution 1" cell of "cal_lambda_ki_kp_bode.m" to double check if the crosspoint is the solution of the equations.

Verify the tuned FOPD controller
Run the "Verify the controller 1" cell of "cal_lambda_ki_kp_bode.m" to verify if the phase curve is flat at crossover frequency. At the same time kp will be displayed. The we can get the transfer function of the tuned FOPD controller.

Controller analysis with Simulink
Open the file "run_simulink.m", update the parameters and run the script. image image

Co-Simulation with Gazebo
We use the Robotics System Toolbox to cooperate with Gazebo. The Gazebo part follows Erlerobotics simulation.

Follow this document to take off the drone:
http://docs.erlerobotics.com/simulation/vehicles/erle_copter/tutorial_5 drone taken off

Launch MATLAB
Install Robotics System Toolbox. Initial ROS in MATLAB.

ROS with MATLAB node

Use the ROS Publish block in Simulink to publish topic for velocity setpoint. ROS Publish block

Use Simulink to move a drone in Gazebo

인용 양식

Bo (2024). cnpcshangbo/FOPD-tunner (https://github.com/cnpcshangbo/FOPD-tuner), GitHub. 검색 날짜: .

MATLAB 릴리스 호환 정보
개발 환경: R2018a
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
카테고리
Help CenterMATLAB Answers에서 Code Generation에 대해 자세히 알아보기
도움

도움 받은 파일: FOTF Toolbox

도움 준 파일: GazeboFOPD

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

1. iopid_tune_pid

controller analysis with Simulink

controller analysis with Simulink

GitHub 디폴트 브랜치를 사용하는 버전은 다운로드할 수 없음

버전 게시됨 릴리스 정보
1.0.0.0

이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.
이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.