Aerospace /faculty/nicotra/ en Congratulations: Still Compiling /faculty/nicotra/2024/04/26/congratulations-still-compiling <span>Congratulations: Still Compiling</span> <span><span>Anonymous (not verified)</span></span> <span><time datetime="2024-04-26T17:00:00-06:00" title="Friday, April 26, 2024 - 17:00">Fri, 04/26/2024 - 17:00</time> </span> <div role="contentinfo" class="container ucb-article-categories" itemprop="about"> <span class="visually-hidden">Categories:</span> <div class="ucb-article-category-icon" aria-hidden="true"> <i class="fa-solid fa-folder-open"></i> </div> <a href="/faculty/nicotra/taxonomy/term/9"> News </a> </div> <div role="contentinfo" class="container ucb-article-tags" itemprop="keywords"> <span class="visually-hidden">Tags:</span> <div class="ucb-article-tag-icon" aria-hidden="true"> <i class="fa-solid fa-tags"></i> </div> <a href="/faculty/nicotra/taxonomy/term/73" hreflang="en">Aerospace</a> </div> <div class="ucb-article-content ucb-striped-content"> <div class="container"> <div class="paragraph paragraph--type--article-content paragraph--view-mode--default"> <div class="ucb-article-content-media ucb-article-content-media-above"> <div> <div class="paragraph paragraph--type--media paragraph--view-mode--default"> </div> </div> </div> <div class="ucb-article-text d-flex align-items-center" itemprop="articleBody"> <div><p>It's been a long year, yet somehow the&nbsp;<a href="/engineering/expo" rel="nofollow">2024 Engineering Expo</a>&nbsp;<em>almost</em> managed to sneak up on us. Still, I'm pleased to say that the Senior Design Team <a href="/faculty/nicotra/node/181" rel="nofollow">Still Compiling</a>&nbsp;managed to pull off the unthinkable: with just one&nbsp;day&nbsp;to spare, they successfully merged all the subsystems and moving parts (literally) they had been working on over the past year into a single working product, the&nbsp;<a href="/faculty/nicotra/node/182" rel="nofollow">Ground Based Laser Transmitter to Target In-flight Drones (GiBLiT)</a>.</p> <p>Seeing the excitement in everyone's eyes when the quadrotor finally took&nbsp;off and maintain a steady hover was an amazing&nbsp;feeling, as&nbsp;was seeing the crowd that was drawn to their Expo stall.</p> <p>I'm proud to announce that the team won the <strong>ECEE Most Ambitious Project Award</strong>, which acknowledges the fact that the team took on an incredible high-risk&nbsp;project and tackled it though hard work, dedication, and unrelenting enthusiasm.</p></div> </div> </div> </div> </div> <h2> <div class="paragraph paragraph--type--ucb-related-articles-block paragraph--view-mode--default"> <div>Off</div> </div> </h2> <div>Traditional</div> <div>0</div> <div>On</div> <div>White</div> Fri, 26 Apr 2024 23:00:00 +0000 Anonymous 183 at /faculty/nicotra Ground Based Laser Transmitter to Target In-flight Drones (GiBLiT) /faculty/nicotra/2024/04/26/ground-based-laser-transmitter-target-flight-drones-giblit <span>Ground Based Laser Transmitter to Target In-flight Drones (GiBLiT)</span> <span><span>Anonymous (not verified)</span></span> <span><time datetime="2024-04-26T15:00:00-06:00" title="Friday, April 26, 2024 - 15:00">Fri, 04/26/2024 - 15:00</time> </span> <div> <div class="imageMediaStyle focal_image_wide"> <img loading="lazy" src="/faculty/nicotra/sites/default/files/styles/focal_image_wide/public/article-thumbnail/pxl_20240426_212430140.ts_exported_16731.jpg?h=c4734396&amp;itok=gHujKOdg" width="1200" height="600" alt="Expo 2024"> </div> </div> <div role="contentinfo" class="container ucb-article-categories" itemprop="about"> <span class="visually-hidden">Categories:</span> <div class="ucb-article-category-icon" aria-hidden="true"> <i class="fa-solid fa-folder-open"></i> </div> <a href="/faculty/nicotra/taxonomy/term/19"> Updates </a> </div> <div role="contentinfo" class="container ucb-article-tags" itemprop="keywords"> <span class="visually-hidden">Tags:</span> <div class="ucb-article-tag-icon" aria-hidden="true"> <i class="fa-solid fa-tags"></i> </div> <a href="/faculty/nicotra/taxonomy/term/73" hreflang="en">Aerospace</a> </div> <span>N. Allanqawi</span> <span>,&nbsp;</span> <span>A. Fitton</span> <span>,&nbsp;</span> <span>D. Lee</span> <span>,&nbsp;</span> <span>F. McDermott</span> <span>,&nbsp;</span> <span>S. Robertson</span> <span>,&nbsp;</span> <span>H. Tomerlin</span> <span>,&nbsp;</span> <span>M.M. Nicotra</span> <div class="ucb-article-content ucb-striped-content"> <div class="container"> <div class="paragraph paragraph--type--article-content paragraph--view-mode--default"> <div class="ucb-article-content-media ucb-article-content-media-above"> <div> <div class="paragraph paragraph--type--media paragraph--view-mode--default"> </div> </div> </div> <div class="ucb-article-text d-flex align-items-center" itemprop="articleBody"> <div><p>[video:https://www.youtube.com/watch?v=QzQaNPfgkB0]</p> <p>&nbsp;</p> <p>This&nbsp;video features the&nbsp;<a href="/faculty/nicotra/node/181" rel="nofollow">Still Compiling</a>&nbsp;Team showing off their Senior Design project at the <a href="/engineering/expo" rel="nofollow">2024 Engineering Expo</a>. The drone is not controlled via a&nbsp;(boring)&nbsp;RF antenna, but via an&nbsp;optical link between a photodiode array on the drone and a&nbsp;laser mounted on a swiveling ground station. The team&nbsp;won the <strong>ECEE Most Ambitious Project Award</strong>&nbsp;in recognition of the fact that the road to success required&nbsp;a variety of very different subsystems and technologies&nbsp;(Computer Vision, Aiming System, Laser Transmitter, Photodiode Receiver, and Flight Controller) to work in unison. The team also won the unofficial <em>"Most Solutions Being Investigated in Parallel Award"</em>, which is a testament to the sheer amount&nbsp;of trial&nbsp;and error that went into getting all this&nbsp;to work.</p> <p><strong>Special Thanks</strong>&nbsp;to <a href="/faculty/bogatin/" rel="nofollow">Eric Bogatin</a>&nbsp;and <a href="https://sites.google.com/colorado.edu/gabrielaltman/home" rel="nofollow">Gabe Altman</a>, who guided the team throughtout the year and helped the project stay on track. The ECEE Senior Design experience would not be the same without Eric's expert leadership and Gabe's unwavering support.</p></div> </div> </div> </div> </div> <h2> <div class="paragraph paragraph--type--ucb-related-articles-block paragraph--view-mode--default"> <div>Off</div> </div> </h2> <div>Traditional</div> <div>0</div> <div>On</div> <div>White</div> Fri, 26 Apr 2024 21:00:00 +0000 Anonymous 182 at /faculty/nicotra Welcome: Yu Kang /faculty/nicotra/2023/09/15/welcome-yu-kang <span>Welcome: Yu Kang</span> <span><span>Anonymous (not verified)</span></span> <span><time datetime="2023-09-15T00:00:00-06:00" title="Friday, September 15, 2023 - 00:00">Fri, 09/15/2023 - 00:00</time> </span> <div role="contentinfo" class="container ucb-article-categories" itemprop="about"> <span class="visually-hidden">Categories:</span> <div class="ucb-article-category-icon" aria-hidden="true"> <i class="fa-solid fa-folder-open"></i> </div> <a href="/faculty/nicotra/taxonomy/term/9"> News </a> </div> <div role="contentinfo" class="container ucb-article-tags" itemprop="keywords"> <span class="visually-hidden">Tags:</span> <div class="ucb-article-tag-icon" aria-hidden="true"> <i class="fa-solid fa-tags"></i> </div> <a href="/faculty/nicotra/taxonomy/term/73" hreflang="en">Aerospace</a> </div> <div class="ucb-article-content ucb-striped-content"> <div class="container"> <div class="paragraph paragraph--type--article-content paragraph--view-mode--default"> <div class="ucb-article-content-media ucb-article-content-media-above"> <div> <div class="paragraph paragraph--type--media paragraph--view-mode--default"> </div> </div> </div> <div class="ucb-article-text d-flex align-items-center" itemprop="articleBody"> <div><p>It is my pleasure to welcome <a href="/faculty/nicotra/node/178" rel="nofollow">Yu Kang Kong</a> into our evergrowing list of ROCC undergraduate researchers.&nbsp;</p> <p>Yu Kang is currently a student enrolled in my <a href="/faculty/nicotra/node/13" rel="nofollow">ECEN 2260</a> class and is looking to find out how large of a step there is from Transfer Functions to Control Theory. Given our new, shiny lab space in ECNW 120, I've tasked him with trying to set up our own personal Flight Lab. This will undoubtedly be a very challenging task, but I'm hoping that a little bit of enthusiasm and determination will&nbsp;go a long way.</p></div> </div> </div> </div> </div> <h2> <div class="paragraph paragraph--type--ucb-related-articles-block paragraph--view-mode--default"> <div>Off</div> </div> </h2> <div>Traditional</div> <div>0</div> <div>On</div> <div>White</div> Fri, 15 Sep 2023 06:00:00 +0000 Anonymous 179 at /faculty/nicotra Congratulations: Tommy /faculty/nicotra/2023/04/05/congratulations-tommy <span>Congratulations: Tommy</span> <span><span>Anonymous (not verified)</span></span> <span><time datetime="2023-04-05T00:00:00-06:00" title="Wednesday, April 5, 2023 - 00:00">Wed, 04/05/2023 - 00:00</time> </span> <div role="contentinfo" class="container ucb-article-categories" itemprop="about"> <span class="visually-hidden">Categories:</span> <div class="ucb-article-category-icon" aria-hidden="true"> <i class="fa-solid fa-folder-open"></i> </div> <a href="/faculty/nicotra/taxonomy/term/9"> News </a> </div> <div role="contentinfo" class="container ucb-article-tags" itemprop="keywords"> <span class="visually-hidden">Tags:</span> <div class="ucb-article-tag-icon" aria-hidden="true"> <i class="fa-solid fa-tags"></i> </div> <a href="/faculty/nicotra/taxonomy/term/73" hreflang="en">Aerospace</a> </div> <div class="ucb-article-content ucb-striped-content"> <div class="container"> <div class="paragraph paragraph--type--article-content paragraph--view-mode--default"> <div class="ucb-article-content-media ucb-article-content-media-above"> <div> <div class="paragraph paragraph--type--media paragraph--view-mode--default"> </div> </div> </div> <div class="ucb-article-text d-flex align-items-center" itemprop="articleBody"> <div><p>I'm overjoyed to announce that <a href="/faculty/nicotra/node/51" rel="nofollow">Thomas Lee Dearing</a>&nbsp;has just passed his thesis defense with flying colors.</p> <p>Dr. Dearing is the first member of the ROCC team to graduate and has asked whether the ski and hike trips remain open to former members (to which the answer is, obviously,&nbsp;"Yes!"). So far, he has not released his results on the "ongoing investigation into the non-conservation of free time in graduate research", although undisclaimed sources say he has had&nbsp;enough time to&nbsp;commit to a regular game of Dungeons and Dragons.</p> <p>As of writing, I'm not sure what Tommy's plans are for the immediate future but I have no doubt he'll be successfull in whatever endeavor he'll&nbsp;take on next.</p></div> </div> </div> </div> </div> <h2> <div class="paragraph paragraph--type--ucb-related-articles-block paragraph--view-mode--default"> <div>Off</div> </div> </h2> <div>Traditional</div> <div>0</div> <div>On</div> <div>White</div> Wed, 05 Apr 2023 06:00:00 +0000 Anonymous 172 at /faculty/nicotra Constrained Satellite Reorientation with Control Moment Gyroscope /faculty/nicotra/2022/03/31/constrained-satellite-reorientation-control-moment-gyroscope <span>Constrained Satellite Reorientation with Control Moment Gyroscope</span> <span><span>Anonymous (not verified)</span></span> <span><time datetime="2022-03-31T22:09:55-06:00" title="Thursday, March 31, 2022 - 22:09">Thu, 03/31/2022 - 22:09</time> </span> <div> <div class="imageMediaStyle focal_image_wide"> <img loading="lazy" src="/faculty/nicotra/sites/default/files/styles/focal_image_wide/public/article-thumbnail/fig_vscmg_frame.png?h=eb212b91&amp;itok=Ql9GXTVo" width="1200" height="600" alt="Control Moment Gyroscope"> </div> </div> <div role="contentinfo" class="container ucb-article-categories" itemprop="about"> <span class="visually-hidden">Categories:</span> <div class="ucb-article-category-icon" aria-hidden="true"> <i class="fa-solid fa-folder-open"></i> </div> <a href="/faculty/nicotra/taxonomy/term/19"> Updates </a> </div> <div role="contentinfo" class="container ucb-article-tags" itemprop="keywords"> <span class="visually-hidden">Tags:</span> <div class="ucb-article-tag-icon" aria-hidden="true"> <i class="fa-solid fa-tags"></i> </div> <a href="/faculty/nicotra/taxonomy/term/73" hreflang="en">Aerospace</a> </div> <span>T.L. Dearing</span> <span>,&nbsp;</span> <span>J. Hauser</span> <span>,&nbsp;</span> <span>X. Chen</span> <span>,&nbsp;</span> <span>M.M. Nicotra</span> <span>,&nbsp;</span> <span>C. Petersen</span> <div class="ucb-article-content ucb-striped-content"> <div class="container"> <div class="paragraph paragraph--type--article-content paragraph--view-mode--default"> <div class="ucb-article-content-media ucb-article-content-media-above"> <div> <div class="paragraph paragraph--type--media paragraph--view-mode--default"> <div> <div class="imageMediaStyle large_image_style"> <img loading="lazy" src="/faculty/nicotra/sites/default/files/styles/large_image_style/public/article-image/fig_vscmg_frame.png?itok=JSN1PG8H" width="1500" height="1350" alt="CMG Diagram"> </div> </div> </div> </div> </div> <div class="ucb-article-text d-flex align-items-center" itemprop="articleBody"> <div><p></p> <p>&nbsp;</p> <p>&nbsp;</p> <p>This article illustrates our group's most recent progress in developing an optimal path planner for rigid-body spacecraft rotations using <em>Control Moment Gyroscopes</em> (CMG's). This work improves upon our previous <a href="/faculty/nicotra/2021/03/22/poc-constrained-attitude-control-satellite-using-pronto" rel="nofollow">project</a>&nbsp;by incorporating fully-modelled&nbsp;spacecraft actuators and addressing all of the fascinating complexities they add to the optimization problem. Above is an example of a solution returned by our solver for a 180°&nbsp;spacecraft&nbsp;rotation about its z-axis using an array of CMG's. Additonally, the satellite executes this maneuver while avoiding pointing its sensitive optical equipment (indicated in green) at the sun (indicated in yellow)&nbsp;during the rotation.</p> <hr> <p class="lead">Spacecraft Rotations using Control Moment Gyroscopes</p> <p>We begin by&nbsp;addressing a fascinating and nontrivial question: how exactly do spacecraft rotate themselves?</p> <p>When portraying spacecraft, popular media adore&nbsp;the exciting visuals of gas thrusters. In practice however, fuel is a finite and valuable resource once a spacecraft has launched. As such, it is rarely used for anything other than adjusting and maintaining the orbit established by the initial launch.&nbsp;</p> <p>Spacecraft <em>rotations</em> on the other hand are required regularly&nbsp;for normal operations (pointing the solar panels at the sun) and when executing specific missions (orienting the spacecrafts cameras/sensors, docking with other spacecraft, etc). Amazingly, this common operation can actually be performed using simple electric motors and renewable electric power.</p> <p>The principle behind this achievement, called <em>Momentum Exchange</em>, is straightforward. When applying a torque between the connected elements of a spacecraft, the total angular momentum of the entire spacecraft is conserved. That is, a motor applying torque on its shaft produces an equal and opposite <em>reaction</em> torque on the motor's frame. By heavily weighting the&nbsp;motor shaft&nbsp;with a dense wheel&nbsp;and connecting the motor frame&nbsp;to the spacecraft, we can rotate the entire spacecraft (albeit slowly)&nbsp;using this reaction torque. This device is called a <em>Reaction Wheel</em> and is frequently used in the design of smaller&nbsp;spacecraft.</p> <p>However, we can go a step further. When the motor wheel is spinning, it also acts a gyroscope and produces powerful torques proportional to the speed of the wheel (also produced by momentum conservation). Torques applied to this motor assembly (via a new second motor) produce&nbsp;<em>far</em>&nbsp;more powerful reaction torques on the spacecraft than those from conventional reaction wheels. These devices are called <em>Control Moment Gyroscopes</em>&nbsp;(CMG's) and are used to efficiently rotate larger spacecraft such as&nbsp;the ISS. The diagram below shows an outline of such a device, with the (reaction) wheel spin axis highlighted in red and&nbsp;the secondary (or gimbal) motor axis highlighted&nbsp;in blue. Note that the outermost&nbsp;black frame&nbsp;of the CMG is mounted to the spacecraft frame, while the internal assembly and wheel are free to rotate via their respective motors.</p> <p></p> <p>Note that, by design, CMG's and reaction wheels only provide torque around a <em>single</em> axis. Since spacecraft are regularly required to rotate around arbitrary axes, multiple CMG's are&nbsp;arranged in an array&nbsp;combining their outputs to produce any required torque.&nbsp;One popular&nbsp;array geometery, the Rooftop Array, is&nbsp;shown below.</p> <p></p> <p>While CMG's are vastly more efficient and powerful than reaction wheels, they present an interesting and nontrivial challenge for control engineers. Specifically, the CMG's torque axis (produced by gyropscopic forces and highlighted in purple above) rotates <em>with</em> the CMG's wheel assembly, meaning that the available torque from that CMG at any given time is dependent on its current orientation. As such, certain torque directions may be unavailable (even for a well designed array) if the CMG's are all poorly oriented. For example, consider the the rooftop array above. In its&nbsp;default configuration (shown), all of the purple torque axes for the CMG's are confined to the xz plane, meaning that no combination of them can produce a torque along the y-axis. As such, any maneuver requiring the spacecraft to rotate around its y-axis using this array will require extra time for the array to reconfigure.&nbsp;</p> <p>Thankfully, there is a way to regain the&nbsp;<em>Control Authority</em>&nbsp;lost in these poor configurations (rather then avoid them entirely as most approaches do). Conventionally, CMG design engineers have assumed that the (red) wheel motor is to be used <em>only</em> to maintain the CMG wheel's speed to allow it to function as a gyroscope. This assumption simplifies engineering design and equations of motion, but also&nbsp;<em>creates</em>&nbsp;the problem discussed above. In fact, using these motors as conventional reaction wheels (while also maintaining the wheel speeds during downtime)&nbsp;restores the lost control authority (note that the indicated red axes from the previous example point along the previously inaccessible&nbsp;y-axis).</p> <p>By combining the torques from the (red) wheel motors and the (blue) CMG gimbal motors, we are able to ensure that our system can produce arbitrary commanded torques in any configuration.&nbsp;However, this doubles the number of control inputs to the system and vastly complicates the system's&nbsp;equations of motion. It is this problem that we aim to solve using our PRONTO optimization algorithm.</p> <hr> <p class="lead">Trajectory Optimization using PRONTO</p> <p>Now that we understand how spacecraft rotate, we now consider how to plan <em>optimal</em> spacecraft&nbsp;rotation maneuvers using only the CMG motor inputs. That is, we wish to determine a path in each of the system's primary states (orientation, angular rotation rate, etc.)&nbsp; and control (motor) inputs which:</p> <ol> <li>Moves&nbsp;the satellite from our initial orientation to our desired orientation</li> <li>Satisfies the system's equations of motion (e.g. a path we can actually follow)</li> <li>Avoids pointing the onboard camera(s) at the sun (safety)</li> <li>Is optimal in the mission context (e.g. least fuel used, fastest time, etc.)</li> </ol> <p>In order to determine this maneuver (or trajectory) numerically, we use a technique called PRONTO to smoothly reshape a guess solution (e.g. a path that approximately satisfies (1) above) into an optimal solution which satisfies all of the requirements. The process of the algorithm reshaping this path is shown in the animation below.</p> <p></p> <p>Focusing first on the large sphere in the center of the figure, the blue, magenta, and red curves represent potential paths for the&nbsp;primary axes of the satellite to follow as it rotates.&nbsp;The green path represents the orientation of the onboard camera&nbsp;which is adjusted to sweep its vision cone away from the sun (yellow) as the solver progresses.&nbsp;If we were to freeze this animation, the path shown would be a viable manuever for the satellite to execute. The animation at the top of this page shows a satellite executing the (optimal) maneuver at the end of the animation.</p> <p>The remaining plots illustrate how&nbsp;the various states, control inputs, and performance metrics of the maneuver are adapted by the solver, including:</p> <ol> <li>The orientation&nbsp;of the satellite given by the quaternion q</li> <li>The angular rotation rate of the satellite given by omega</li> <li>The gimbal angles of each of the CMG's in the array delta</li> <li>The angular momentum in the CMG gimbals h_g</li> <li>The angular momentum in the CMG wheels h_w</li> <li>The motor inputs tau_g&nbsp;and tau_w for the gimbal and wheel motors respectively</li> <li>The CMG array's singularity index (proximity to a 'bad' configuration)</li> <li>The maneuver's angular error from the target orientation</li> </ol> <p>With these metrics, we can make some fascinating observations about the planned maneuver:</p> <ol> <li>Even when used to improve control authority, the wheel momentum (speed) h_g is regulated to its target value by our solver</li> <li>Our planned manuever improves the solution guess to get within 0.2° of the target orientation</li> <li>The control inputs tau_g for the gimbal motors change from&nbsp;gentle and consistent torques to shorter, more intense torques. Although this is not necessarily more energy efficient, the shorter pulses indicate a more effective use of the CMG's torque amplification.</li> <li>The angular velocity along the z-axis appears to saturate between 0 and 50 seconds and, during the same time frame, it appears as though the CMG array nears a singularity (See the singularity index plot). In fact, both features originate from the finite available momentum in the array. Once the CMG's are all aligned in the same direction, no more angular momentum is available in the array to rotate the satellite more quickly, causing the velocity to saturate. In this case, the singularity we approach is the array's momentum envelope, indicating we are hitting a performance bottleneck of the CMG's themselves.</li> </ol> <p>The paper detailing this project is currently undergoing final revisions and will be linked here once it becomes publicly available.</p></div> </div> </div> </div> </div> <h2> <div class="paragraph paragraph--type--ucb-related-articles-block paragraph--view-mode--default"> <div>Off</div> </div> </h2> <div>Traditional</div> <div>0</div> <div>On</div> <div>White</div> Fri, 01 Apr 2022 04:09:55 +0000 Anonymous 156 at /faculty/nicotra Constrained Attitude Control of a Satellite using PRONTO /faculty/nicotra/2021/03/22/constrained-attitude-control-satellite-using-pronto <span>Constrained Attitude Control of a Satellite using PRONTO </span> <span><span>Anonymous (not verified)</span></span> <span><time datetime="2021-03-22T00:00:00-06:00" title="Monday, March 22, 2021 - 00:00">Mon, 03/22/2021 - 00:00</time> </span> <div> <div class="imageMediaStyle focal_image_wide"> <img loading="lazy" src="/faculty/nicotra/sites/default/files/styles/focal_image_wide/public/article-thumbnail/fig_cenpath_thumbnail_16x9_0.png?h=2511da46&amp;itok=jPxiqPFP" width="1200" height="600" alt="PRONTO Sat Thumbnail"> </div> </div> <div role="contentinfo" class="container ucb-article-categories" itemprop="about"> <span class="visually-hidden">Categories:</span> <div class="ucb-article-category-icon" aria-hidden="true"> <i class="fa-solid fa-folder-open"></i> </div> <a href="/faculty/nicotra/taxonomy/term/19"> Updates </a> </div> <div role="contentinfo" class="container ucb-article-tags" itemprop="keywords"> <span class="visually-hidden">Tags:</span> <div class="ucb-article-tag-icon" aria-hidden="true"> <i class="fa-solid fa-tags"></i> </div> <a href="/faculty/nicotra/taxonomy/term/73" hreflang="en">Aerospace</a> </div> <span>T.L. Dearing</span> <span>,&nbsp;</span> <span>J. Hauser</span> <span>,&nbsp;</span> <span>X. Chen</span> <span>,&nbsp;</span> <span>M.M. Nicotra</span> <span>,&nbsp;</span> <span>C. Petersen</span> <div class="ucb-article-content ucb-striped-content"> <div class="container"> <div class="paragraph paragraph--type--article-content paragraph--view-mode--default"> <div class="ucb-article-content-media ucb-article-content-media-above"> <div> <div class="paragraph paragraph--type--media paragraph--view-mode--default"> <div> <div class="imageMediaStyle large_image_style"> <img loading="lazy" src="/faculty/nicotra/sites/default/files/styles/large_image_style/public/article-image/fig_convcpath_anim.gif?itok=zEsGZ-_1" width="1500" height="825" alt="PRONTO Constrained Satellite Animation"> </div> </div> </div> </div> </div> <div class="ucb-article-text d-flex align-items-center" itemprop="articleBody"> <div><p></p> <p>This visualization illustrates our recent work in&nbsp;developing an optimal maneuver planner for&nbsp;rigid-body satellite rotations. Specifically, this animation shows how our solver reshapes a&nbsp;180º&nbsp;rotation about the satellite's&nbsp;z-axis to be both <em>optimal</em>&nbsp;and <em>feasible</em>.</p> <p>In general, finding a&nbsp;maneuver which is <em>optimal</em> (e.g. uses the minimum fuel, arrives in the least time, etc.) is extremely difficult&nbsp;as we must search&nbsp;over an <em>infinite</em>-dimensional space of potential maneuvers&nbsp;connecting the initial and target orientations. This point is easy to visualize with any household object, as you can turn it upside down an infinite number of ways (e.g. rotate the top towards you, away from you, to the right or left, and any combination of those four). This difficulty is further complicated by our inability to represent a continuous curve using the finite precision and memory available to a&nbsp;computer. Thus, we must accurately approximate these maneuvers as we search for the optimizer.</p> <p>Additionally, real satellites have implicit safety&nbsp;constraints on their motion to prevent stressing or wearing out onboard hardware. As a result, we can only consider maneuvers which are <em>feasible</em>&nbsp;(i.e. satisfy these constraints along the entire maneuver). Some common&nbsp;operational and safety constraints for satellite rotations include:</p> <ol> <li>Ensuring safe (bounded) commands for the attitude thrusters (to prevent saturating them),</li> <li>Ensuring a safe (bounded) angular rotation rate&nbsp;along each axis during the maneuver (to avoid&nbsp;over-stressing the structure of the satellite and improve the accuracy of onboard sensors),</li> <li>Avoiding blinding an onboard sensor by pointing it near bright objects, such as the sun, moon, or other planets.</li> </ol> <p>This&nbsp;final constraint is particularly challenging, as it&nbsp;cuts a <em>hole</em> in the&nbsp;space of feasible orientations that the satellite can pass through during the maneuver.</p> <p>To make this problem computationally tractable for modern CPU's, we apply a&nbsp;Trajectory Optimization technique called PRONTO, or the Projection-Operator-based Newton's method for Trajectory Optimization. This approach uses geometric insight of the system's <em>Trajectory Manifold</em>&nbsp;(the space of maneuvers which the satellite can execute from a fixed initial condition) to identify the exact (continuous) deformations necessary to approach the optimizer. Although we will not elaborate on this technique here, these deformations are illustrated in the above animation. Note that the final solution&nbsp;for the above problem&nbsp;can be&nbsp;computed&nbsp;rapidly (within 30s) on a modern CPU.</p> <hr> <p>Examining this animation in more detail, note first that the top-left panel shows the time-varying&nbsp;orientation (or <em>attitude</em>) of the satellite using a 4-parameter representation called a quaternion. This representation is highly numerically efficient but often difficult to interpret. Alternatively, the red, magenta, and blue axes inscribed on the sphere in the top-right panel show how the x,y, and z-axes of the satellite rotate during the maneuver (shown as the satellite&nbsp;would appear to an external observe floating in space next to it, or in the <em>space-fixed</em>&nbsp;frame). Note that the z-axis remains almost stationary&nbsp;during the maneuver, as the majority of the desired rotation is <em>around</em> this axis. Also shown on this sphere is the current direction of an onboard camera (shown in green) and the current relative direction of the sun (shown in yellow). To adhere to the 3<sup>rd</sup> constraint above, we must then ensure that the final maneuver does not move the green camera path through the yellow viewing angle for the sun.</p> <p>In addition, the applied thrust u(t) and the angular rate ω(t)&nbsp;along each axis of the satellite (in its own&nbsp;body-fixed frame)&nbsp;are shown in the two panels in the bottom left. Note that, as the solver progresses in the animation, the&nbsp;z-axis thrust and rotation rate curves&nbsp;push&nbsp;up against the 1<sup>st</sup> and 2<sup>nd</sup> constraints. This indicates that the optimal, feasible behavior for this maneuver is to apply max thrust for a brief time and then coast at the maximum safe velocity until the majority of the rotation has been executed. The thrusts and rotations along the other axis are then applied to swerve the camera away from the sun to adhere to the 3<sup>rd</sup>&nbsp;constraint.</p> <p>Finally, the bottom right panel shows the remaining rotation angle necessary to complete the&nbsp;maneuver&nbsp;(called the MRP attitude error). While this error does not converge&nbsp;<em>exactly</em>&nbsp;to zero at the final time (indeed, exact convergence is actually sub-optimal), it converges well within the tolerance of the native attitude controllers on the satellite, allowing them to complete the maneuver exactly.</p> <p>To better understand&nbsp;the progress of the&nbsp;algorithm, note the stage indicator&nbsp;in the top right of the animation. PRONTO first begins with a guess for a direct rotation between the initial and final attitudes. Because&nbsp;this guess incorrectly orients the sensor at the sun (and so is infeasible under the specified constraints), PRONTO quickly adjusts this maneuver to satisfy all the constraints by a safe margin (the first stage). Since this solution is sub-optimal to the overall optimization problem, PRONTO then iteratively pushes closer to the constraints by lowering&nbsp;the parameter&nbsp;ε<sub>ko</sub> (following the so-called central path for an interior point method) to reach the optimal constrained rotation maneuver (the second stage).</p> <hr> <p>A unique and useful property&nbsp;of the PRONTO result&nbsp;shown above&nbsp;is that each curve iterate returned by the solver is a valid trajectory under the satellite's natural dynamics. That is, in the absence of noise, the satellite can follow each of the intermediate&nbsp;curves&nbsp;<em>exactly</em> (as opposed to tracking along them using waypoints).&nbsp;Additionally, each curve iterate shown after initial feasibility is obtained (i.e. after the green curve&nbsp;exits the gold circle) is <em>also</em> feasible. That is, feasibility is maintained by PRONTO once it is achieved (also not presented by conventional approaches).&nbsp;Thus, each curve iterate displayed above is a sub-optimal, but safe and valid potential maneuver for the satellite when&nbsp;fast-decision making is required.&nbsp;Neither of these properties are provided by&nbsp;classic&nbsp;trajectory optimization solvers, which approximate&nbsp;the problem as a conventional nonlinear programming problem.</p> <p>The paper detailing this project is currently undergoing final revisions and will be linked here once it becomes publicly available.</p></div> </div> </div> </div> </div> <h2> <div class="paragraph paragraph--type--ucb-related-articles-block paragraph--view-mode--default"> <div>Off</div> </div> </h2> <div>Traditional</div> <div>0</div> <div>On</div> <div>White</div> Mon, 22 Mar 2021 06:00:00 +0000 Anonymous 133 at /faculty/nicotra Congratulations: Tommy /faculty/nicotra/2020/03/31/congratulations-tommy <span>Congratulations: Tommy</span> <span><span>Anonymous (not verified)</span></span> <span><time datetime="2020-03-31T00:00:00-06:00" title="Tuesday, March 31, 2020 - 00:00">Tue, 03/31/2020 - 00:00</time> </span> <div role="contentinfo" class="container ucb-article-categories" itemprop="about"> <span class="visually-hidden">Categories:</span> <div class="ucb-article-category-icon" aria-hidden="true"> <i class="fa-solid fa-folder-open"></i> </div> <a href="/faculty/nicotra/taxonomy/term/9"> News </a> </div> <div role="contentinfo" class="container ucb-article-tags" itemprop="keywords"> <span class="visually-hidden">Tags:</span> <div class="ucb-article-tag-icon" aria-hidden="true"> <i class="fa-solid fa-tags"></i> </div> <a href="/faculty/nicotra/taxonomy/term/73" hreflang="en">Aerospace</a> </div> <div class="ucb-article-content ucb-striped-content"> <div class="container"> <div class="paragraph paragraph--type--article-content paragraph--view-mode--default"> <div class="ucb-article-content-media ucb-article-content-media-above"> <div> <div class="paragraph paragraph--type--media paragraph--view-mode--default"> </div> </div> </div> <div class="ucb-article-text d-flex align-items-center" itemprop="articleBody"> <div><p>I am very proud to announce that <a href="/faculty/nicotra/node/51" rel="nofollow">Thomas Dearing</a>&nbsp;has&nbsp;been selected for a&nbsp;<a href="https://www.nsfgrfp.org/" rel="nofollow">National Science Foundation Graduate Research Fellowship</a>.</p> <p>This&nbsp;is a prestigious and highly competitive&nbsp;award that supports the research efforts of&nbsp;graduate students working in&nbsp;science, technology, engineering, and mathematics. The fellowship will enable Tommy to pursue his research interests without being tethered to a specific research project and will open a new chapter of opportunities and growth.</p></div> </div> </div> </div> </div> <h2> <div class="paragraph paragraph--type--ucb-related-articles-block paragraph--view-mode--default"> <div>Off</div> </div> </h2> <div>Traditional</div> <div>0</div> <div>On</div> <div>White</div> Tue, 31 Mar 2020 06:00:00 +0000 Anonymous 111 at /faculty/nicotra Distributed ERG for Crazyswarm Control /faculty/nicotra/2020/02/28/distributed-erg-crazyswarm-control <span>Distributed ERG for Crazyswarm Control</span> <span><span>Anonymous (not verified)</span></span> <span><time datetime="2020-02-28T00:00:00-07:00" title="Friday, February 28, 2020 - 00:00">Fri, 02/28/2020 - 00:00</time> </span> <div> <div class="imageMediaStyle focal_image_wide"> <img loading="lazy" src="/faculty/nicotra/sites/default/files/styles/focal_image_wide/public/article-thumbnail/cover_1.png?h=4b1a4ba8&amp;itok=ld1BQIUK" width="1200" height="600" alt="Human-Swarm teleoperation experiment"> </div> </div> <div role="contentinfo" class="container ucb-article-categories" itemprop="about"> <span class="visually-hidden">Categories:</span> <div class="ucb-article-category-icon" aria-hidden="true"> <i class="fa-solid fa-folder-open"></i> </div> <a href="/faculty/nicotra/taxonomy/term/19"> Updates </a> </div> <div role="contentinfo" class="container ucb-article-tags" itemprop="keywords"> <span class="visually-hidden">Tags:</span> <div class="ucb-article-tag-icon" aria-hidden="true"> <i class="fa-solid fa-tags"></i> </div> <a href="/faculty/nicotra/taxonomy/term/73" hreflang="en">Aerospace</a> <a href="/faculty/nicotra/taxonomy/term/29" hreflang="en">Reference Governors</a> </div> <span>B. Convens</span> <span>,&nbsp;</span> <span>K. Merckaert</span> <span>,&nbsp;</span> <span>B. Vanderborght</span> <span>,&nbsp;</span> <span>M.M. Nicotra</span> <div class="ucb-article-content ucb-striped-content"> <div class="container"> <div class="paragraph paragraph--type--article-content paragraph--view-mode--default"> <div class="ucb-article-content-media ucb-article-content-media-above"> <div> <div class="paragraph paragraph--type--media paragraph--view-mode--default"> </div> </div> </div> <div class="ucb-article-text d-flex align-items-center" itemprop="articleBody"> <div><p>[video:https://www.youtube.com/watch?v=PsSrDJSchFM&amp;feature=youtu.be]</p> <p>This is the support video for the article <em>"A Distributed Explicit Reference Governor for the Safe On-Board Control of a Nano-Quadrotor Swarm"</em> submitted to IEEE Transactions on Robotics. The paper summarizes the work done by <a href="/faculty/nicotra/node/55" rel="nofollow">Bryan Convens</a>&nbsp;during his six-month research stay at CU Boulder.&nbsp;These experiment represent a significant development in the formulation of on-board real-time&nbsp;strategies for the <a href="/faculty/nicotra/node/47" rel="nofollow">Formation Control of Multiple Unmanned Aerial Vehicles</a>, and doubles up as an extension of the&nbsp;<a href="/faculty/nicotra/node/5" rel="nofollow">Explicit Reference Governor</a>&nbsp;framework to distributed systems.</p></div> </div> </div> </div> </div> <h2> <div class="paragraph paragraph--type--ucb-related-articles-block paragraph--view-mode--default"> <div>Off</div> </div> </h2> <div>Traditional</div> <div>0</div> <div>On</div> <div>White</div> Fri, 28 Feb 2020 07:00:00 +0000 Anonymous 103 at /faculty/nicotra Farewell: Andrea /faculty/nicotra/2020/02/07/farewell-andrea <span>Farewell: Andrea</span> <span><span>Anonymous (not verified)</span></span> <span><time datetime="2020-02-07T00:00:00-07:00" title="Friday, February 7, 2020 - 00:00">Fri, 02/07/2020 - 00:00</time> </span> <div role="contentinfo" class="container ucb-article-categories" itemprop="about"> <span class="visually-hidden">Categories:</span> <div class="ucb-article-category-icon" aria-hidden="true"> <i class="fa-solid fa-folder-open"></i> </div> <a href="/faculty/nicotra/taxonomy/term/9"> News </a> </div> <div role="contentinfo" class="container ucb-article-tags" itemprop="keywords"> <span class="visually-hidden">Tags:</span> <div class="ucb-article-tag-icon" aria-hidden="true"> <i class="fa-solid fa-tags"></i> </div> <a href="/faculty/nicotra/taxonomy/term/73" hreflang="en">Aerospace</a> </div> <div class="ucb-article-content ucb-striped-content"> <div class="container"> <div class="paragraph paragraph--type--article-content paragraph--view-mode--default"> <div class="ucb-article-content-media ucb-article-content-media-above"> <div> <div class="paragraph paragraph--type--media paragraph--view-mode--default"> </div> </div> </div> <div class="ucb-article-text d-flex align-items-center" itemprop="articleBody"> <div><p><a href="/faculty/nicotra/node/95" rel="nofollow">Andrea Mengozzi</a>&nbsp;has completed his research stay at CU Boulder and is now heading back to Italy to present his work as a master thesis project.</p> <p>I wish him the best of luck in hope that he will cherish the memories of his stay here.</p></div> </div> </div> </div> </div> <h2> <div class="paragraph paragraph--type--ucb-related-articles-block paragraph--view-mode--default"> <div>Off</div> </div> </h2> <div>Traditional</div> <div>0</div> <div>On</div> <div>White</div> Fri, 07 Feb 2020 07:00:00 +0000 Anonymous 97 at /faculty/nicotra Welcome: Andrea /faculty/nicotra/2019/09/06/welcome-andrea <span>Welcome: Andrea</span> <span><span>Anonymous (not verified)</span></span> <span><time datetime="2019-09-06T00:00:00-06:00" title="Friday, September 6, 2019 - 00:00">Fri, 09/06/2019 - 00:00</time> </span> <div role="contentinfo" class="container ucb-article-categories" itemprop="about"> <span class="visually-hidden">Categories:</span> <div class="ucb-article-category-icon" aria-hidden="true"> <i class="fa-solid fa-folder-open"></i> </div> <a href="/faculty/nicotra/taxonomy/term/9"> News </a> </div> <div role="contentinfo" class="container ucb-article-tags" itemprop="keywords"> <span class="visually-hidden">Tags:</span> <div class="ucb-article-tag-icon" aria-hidden="true"> <i class="fa-solid fa-tags"></i> </div> <a href="/faculty/nicotra/taxonomy/term/73" hreflang="en">Aerospace</a> </div> <div class="ucb-article-content ucb-striped-content"> <div class="container"> <div class="paragraph paragraph--type--article-content paragraph--view-mode--default"> <div class="ucb-article-content-media ucb-article-content-media-above"> <div> <div class="paragraph paragraph--type--media paragraph--view-mode--default"> </div> </div> </div> <div class="ucb-article-text d-flex align-items-center" itemprop="articleBody"> <div><p>Andrea Mengozzi will be joining the ROCC lab&nbsp;for the next&nbsp;six months to work on his master thesis, which will focus on the <a href="/faculty/nicotra/node/47" rel="nofollow">Control of a Tilt-wing Unmanned Aerial Vehicle</a>. Andrea's research effort will be overseen by <a href="/faculty/nicotra/node/65" rel="nofollow">Jacob Cook</a>&nbsp;who has graciously agreed to serve as a&nbsp;mentor.</p> <p>Andrea is the third visiting master student in the&nbsp;lab, and is a testament to our vision of constantly pursuing&nbsp;international collaborations as a means to exchange expertise and ideas. I am excited for his project and look forward to posting a video of the experiment in the new and inproved <a href="/recuv/" rel="nofollow">RECUV</a> flight lab.</p></div> </div> </div> </div> </div> <h2> <div class="paragraph paragraph--type--ucb-related-articles-block paragraph--view-mode--default"> <div>Off</div> </div> </h2> <div>Traditional</div> <div>0</div> <div>On</div> <div>White</div> Fri, 06 Sep 2019 06:00:00 +0000 Anonymous 81 at /faculty/nicotra