<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Optimal Trajectory | Zilin Chen's Homepage</title><link>https://zilin-chen-22.github.io/zilinchen.github.io/tag/optimal-trajectory/</link><atom:link href="https://zilin-chen-22.github.io/zilinchen.github.io/tag/optimal-trajectory/index.xml" rel="self" type="application/rss+xml"/><description>Optimal Trajectory</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Fri, 20 Sep 2024 00:00:00 +0000</lastBuildDate><image><url>https://zilin-chen-22.github.io/zilinchen.github.io/media/icon_hu7729264130191091259.png</url><title>Optimal Trajectory</title><link>https://zilin-chen-22.github.io/zilinchen.github.io/tag/optimal-trajectory/</link></image><item><title>UTAT-ADR Autonomous Drone Racing Research</title><link>https://zilin-chen-22.github.io/zilinchen.github.io/blog/fsc/</link><pubDate>Fri, 20 Sep 2024 00:00:00 +0000</pubDate><guid>https://zilin-chen-22.github.io/zilinchen.github.io/blog/fsc/</guid><description>&lt;p>From September till December, 2024, I joint a team in UTIAS, University of Toronto, which mainly focus on Autonomous Drone Racing.&lt;/p>
&lt;p>Under professor Hugh H. T. Liu&amp;rsquo;s guidance, I mainly focus on building a simulator for the drone, also planned the yaw angle.&lt;/p>
&lt;h2 id="research-overview">Research Overview&lt;/h2>
&lt;p>Human pilots can use their own talent to controll drones to fly rapidly through gates, and the goal of the whole team is to use computer-based autonomous pilot to guide the drone.&lt;/p>
&lt;h2 id="my-contribution">My Contribution&lt;/h2>
&lt;h3 id="building-a-simulation-system">Building a simulation system&lt;/h3>
&lt;p>The team previously used Betaflight to be its flight controller. However, to make full use of AI, we need to simulate how the drone behaves. So, developing a simulator according to Betaflight&amp;rsquo;s original code is very important.&lt;/p>
&lt;p>I read all the lines from Betaflight, and extracted the controller code and test it. Also, I tested the input signal and output RPM curve.&lt;/p>
&lt;p>This task is not a hard one, but it took me a lot of time to get to know how Betaflight work. As an open-source code, it&amp;rsquo;s super long and hard to read.&lt;/p>
&lt;p>The following is the code structure of Betaflight that I organized：
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="Structure of Betaflight" srcset="
/zilinchen.github.io/blog/fsc/controller_structure_hu7059809425375089324.webp 400w,
/zilinchen.github.io/blog/fsc/controller_structure_hu12091372878740306727.webp 760w,
/zilinchen.github.io/blog/fsc/controller_structure_hu6423071772227521308.webp 1200w"
src="https://zilin-chen-22.github.io/zilinchen.github.io/zilinchen.github.io/blog/fsc/controller_structure_hu7059809425375089324.webp"
width="738"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>This one is a demo of the part I contributed for the simulator:
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="controller demo" srcset="
/zilinchen.github.io/blog/fsc/sim_hu8507087693354633461.webp 400w,
/zilinchen.github.io/blog/fsc/sim_hu12803366713941661070.webp 760w,
/zilinchen.github.io/blog/fsc/sim_hu13239621856469927107.webp 1200w"
src="https://zilin-chen-22.github.io/zilinchen.github.io/zilinchen.github.io/blog/fsc/sim_hu8507087693354633461.webp"
width="760"
height="479"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="yaw-planning">Yaw planning&lt;/h3>
&lt;p>The racing drone we built is using computer vision to guide and locate itself. The drone need to look at the &amp;ldquo;gate&amp;rdquo; to get to know where it is.&lt;/p>
&lt;p>My work is to help the drone get better vision to have a more accurate position.&lt;/p>
&lt;p>The following is a demo of the yaw-planning. The red arrow is the yaw angle of a world-champion level human-pilot, while the blue arrow is the planned one. The black line is the gate.
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="Yaw planning demo" srcset="
/zilinchen.github.io/blog/fsc/yaw_planning_hu4145312099636648761.webp 400w,
/zilinchen.github.io/blog/fsc/yaw_planning_hu1689267154093082803.webp 760w,
/zilinchen.github.io/blog/fsc/yaw_planning_hu14112844666145059473.webp 1200w"
src="https://zilin-chen-22.github.io/zilinchen.github.io/zilinchen.github.io/blog/fsc/yaw_planning_hu4145312099636648761.webp"
width="760"
height="429"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>&lt;a href="https://github.com/Zilin-Chen-22/Yaw_Planning" target="_blank" rel="noopener">Click here&lt;/a> to see the orinigal code.&lt;/p></description></item></channel></rss>