Coursera Aerial Robotics第四周编程作业解析

本文详细介绍了Coursera Aerial Robotics课程第四周的内容,包括飞行器3D编程和自我轨迹生成。3D编程涉及F和M变量的计算,而轨迹自动生成部分讲解了如何在给定路径点间建立7次多项式轨迹函数并求解参数。文章分享了编程技巧和理解难点,并提供了论坛资源帮助学习者解决问题。
摘要由CSDN通过智能技术生成

第四周主要讲的是飞行器3D编程和自我轨迹生成。其中3D编程是对前三周内容的扩展,而比较难以理解的是自我轨迹生成这里的理论和编程。先贴一张写了一周的作业的成绩哈哈。
在这里插入图片描述
一、3D编程
3D编程既是对上周2D的再一次扩展,但是编程对应的变量却有所变化。之前都是比较容易理解的U1、U2等,而这次需要编写的是F和M两个变量。
实际上两组变量的关系是:
F=U1
M=U2
这样一看就比较好理解了,再对应作业提示的相应公式
在这里插入图片描述
在这里插入图片描述
就可以直接写出控制器文件的F函数:

F = params.mass * (params.gravity + kp_f * (des_state.pos(3) - state.pos(3)) + kd_f * (des_state.vel(3) - state.vel(3)));

但一定注意F是有上限的(参照params.m那个函数)。
而控制器中的M数组还需要预先定义和计算其他变量,利用的也是提示中给出的
在这里插入图片描述
其中比较棘手的r1和r2则可以参照:
在这里插入图片描述

des_r1 = des_state.acc(1) + kp_r1 * (des_state.pos(1) - state.pos(1) + kd_r1 * (des_state.vel(1) - state.vel(1)));
des_p = 0;
M = [kp_phi * (des_phi - state.rot(1)) + kd_phi * (des_p - state.omega(1)) ; ; ]

(为了保证作业本身的意义,我就贴了一半代码,希望有兴趣学这个课的同学都能自己写完剩余的部分得到锻炼哈哈)
其实3D编程到这一步就只剩下调参数了,我的意见就是Kp一定要大,200左右效果比较好,Kd的值则在20附近。先通过line再通过helix调就可以了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值