## Quadrotor Control, Path Planning and Trajectory Optimization
<a href="https://youtu.be/lA2B1YDLJaY">
<img src="imgs/hover.jpg" alt="step" width="600">
</a>
(Click above image for real quadrotor demos)
Following [MEAM 620 Advanced Robotics](https://alliance.seas.upenn.edu/~meam620/wiki/) course at University of Pennsylvania.
(For Penn students: *DO NOT* spoil the fun by looking at this repo and not working on your assignments! and most importantly, *DO NOT* violate the honor code!)
This repo includes matlab code for:
- Quadrotor PD controller
- Path planning algorithms (Dijkstra, A*)
- Trajectory optimizations (Minimum Snap/Acceleration Trajectory)
Please cite this work using the following bibtex if you use the software in your publications
```
@software{Lu_yrlu_quadrotor_Quadrotor_Control_2022,
author = {Lu, Yiren},
doi = {10.5281/zenodo.6796215},
month = {7},
title = {{yrlu/quadrotor: Quadrotor Control, Path Planning and Trajectory Optimization}},
url = {https://github.com/yrlu/quadrotor},
version = {1.0.0},
year = {2017}
}
```
## PD Controller
- Run code: change trajectories in file `control/runsim.m` and run.
- See [quadrotor_dynamics.pdf](quadrotor_dynamics.pdf) for dynamic modeling of the quadrotor.
- See `control/controller.m` for implementation of the PD controller.
- Visualization below. Desired (blue) vs Actual (red)
#### Trajectory 1: Step
<img src="gifs/p1p1_step.gif" alt="step" width="270"> <img src="imgs/p1p1_step_p.jpg" alt="step" width="270"> <img src="imgs/p1p1_step_v.jpg" alt="step" width="270">
#### Trajectory 2: Circle
<img src="gifs/p1p1_circle.gif" alt="step" width="270"> <img src="imgs/p1p1_circle_p.jpg" alt="step" width="270"> <img src="imgs/p1p1_circle_v.jpg" alt="step" width="270">
#### Trajectory 2: Diamond
<img src="gifs/p1p1_diamond.gif" alt="step" width="270"> <img src="imgs/p1p1_diamond_p.jpg" alt="step" width="270"> <img src="imgs/p1p1_diamond_v.jpg" alt="step" width="270">
## Path Planning and Trajectory Optimization
- Run code: `traj_planning/runsim.m` and run path 1 or path 3.
- See [project_report.pdf](project_report.pdf) for more details about trajectory generation
- See `traj_planning/path_planning/dijkstra.m` for implementation of path finding algorithms (dijstra, A*).
- See `traj_planning/traj_opt7.m` for implementations of minimium snap trajectory.
- See `traj_planning/traj_opt5.m` for implementations of minimium acceleration trajectory.
- Visualization below.
#### Minimum Acceleration Trajectory
<img src="gifs/p1p3_map1_acc.gif" alt="step" width="270"> <img src="imgs/p1p3_map1_acc_p.jpg" alt="step" width="270"> <img src="imgs/p1p3_map1_acc_v.jpg" alt="step" width="270">
<img src="gifs/p1p3_map3_mini_acc.gif" alt="step" width="270"> <img src="imgs/p1p3_map3_mini_acc_p.jpg" alt="step" width="270"> <img src="imgs/p1p3_map3_mini_acc_v.jpg" alt="step" width="270">
#### Minimum Snap Trajectory
<img src="gifs/p1p3_map1_snap.gif" alt="step" width="270"> <img src="imgs/p1p3_map1_snap_v.jpg" alt="step" width="270"> <img src="imgs/p1p3_map1_snap_v.jpg" alt="step" width="270">
(with way points constraints)
<img src="gifs/p1p3_map3_snap.gif" alt="step" width="270"> <img src="imgs/p1p3_map3_snap_p.jpg" alt="step" width="270"> <img src="imgs/p1p3_map3_snap_v.jpg" alt="step" width="270">
没有合适的资源?快使用搜索试试~ 我知道了~
四旋翼控制、路径规划和轨迹优化附matlab代码+仿真结果和运行方法+仿真结果和运行方法.zip
共101个文件
m:56个
jpg:22个
gif:10个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 58 浏览量
2023-06-02
20:13:41
上传
评论
收藏 34.13MB ZIP 举报
温馨提示
1.版本:matlab2014/2019a/2021a,内含运行结果,不会运行可私信 2.领域:智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,更多内容可点击博主头像 3.内容:标题所示,对于介绍可点击主页搜索博客 4.适合人群:本科,硕士等教研学习使用 5.博客介绍:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可si信
资源推荐
资源详情
资源评论
收起资源包目录
四旋翼控制、路径规划和轨迹优化附matlab代码+仿真结果和运行方法+仿真结果和运行方法.zip (101个子文件)
map1.avi 10.3MB
1.fig 93KB
p1p1_diamond.gif 5.55MB
p1p1_circle.gif 5.51MB
p1p3_map3.gif 2.69MB
p1p3_map2.gif 2.54MB
p1p3_map1.gif 2.26MB
p1p3_map1_snap.gif 1.84MB
p1p3_map3_mini_acc.gif 1.6MB
p1p3_map3_snap.gif 1.56MB
p1p3_map1_acc.gif 1.34MB
p1p1_step.gif 1.11MB
hover.jpg 83KB
p1p3_map3_v.jpg 69KB
p1p3_map3_mini_acc_v.jpg 69KB
p1p1_step_v.jpg 67KB
p1p3_map3_snap_v.jpg 67KB
p1p1_diamond_v.jpg 66KB
p1p3_map1_snap.jpg 63KB
p1p1_step_p.jpg 62KB
p1p3_map1_acc_v.jpg 62KB
p1p3_map1_v.jpg 62KB
p1p3_map3_mini_acc_p.jpg 62KB
p1p3_map3_p.jpg 61KB
p1p3_map3_snap_p.jpg 60KB
p1p1_circle_v.jpg 59KB
p1p1_circle_p.jpg 55KB
p1p3_map1_snap_v.jpg 55KB
p1p3_map1_acc_p.jpg 55KB
p1p3_map1_snap_p.jpg 55KB
p1p3_map2_p.jpg 54KB
p1p3_map2_v.jpg 53KB
p1p1_diamond_p.jpg 53KB
p1p3_map1_p.jpg 51KB
traj_opt7c.m 6KB
traj_opt3c.m 6KB
traj_opt7.m 6KB
dijkstra.m 5KB
QuadPlot.m 5KB
QuadPlot.m 5KB
test_trajectory.m 5KB
runsim.m 5KB
traj_opt3.m 4KB
quadEOM_readonly.m 2KB
quadEOM_readonly.m 2KB
load_map.m 2KB
trajectory_generator.m 2KB
plot_path.m 2KB
controller.m 2KB
diamond.m 2KB
simplify_path2.m 1KB
quadEOM.m 1KB
quadEOM.m 1KB
crazyflie.m 1KB
crazyflie.m 1KB
controller.m 1KB
plot_state.m 1KB
plot_state.m 1KB
RotToQuat.m 1KB
RotToQuat.m 1KB
circle.m 1KB
runsim.m 995B
terminate_check.m 971B
terminate_check.m 971B
plot_path3.m 920B
RotToRPY_ZXY.m 913B
RotToRPY_ZXY.m 913B
plot_path1.m 877B
simplify_path.m 801B
RPYtoRot_ZXY.m 786B
RPYtoRot_ZXY.m 786B
points_to_idx.m 605B
step.m 596B
collide.m 590B
idx_to_points.m 580B
quad_pos.m 569B
quad_pos.m 569B
init_state.m 508B
init_state.m 508B
qdToState.m 427B
qdToState.m 427B
stateToQd.m 397B
stateToQd.m 397B
tj_from_line.m 390B
generate_ts.m 355B
QuatToRot.m 315B
QuatToRot.m 315B
init_script.m 309B
collision_check.m 214B
collision_check.m 214B
README.md 3KB
quadrotor_dynamics.pdf 920KB
project_report.pdf 472KB
3.png 38KB
2.png 29KB
仿真咨询.png 2KB
更多代码关注我.png 446B
说明.txt 367B
map_one_block.txt 181B
map2.txt 138B
共 101 条
- 1
- 2
资源评论
- 2301_767426422023-12-18超赞的资源,感谢资源主分享,大家一起进步!
Matlab科研辅导帮
- 粉丝: 3w+
- 资源: 7796
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功