<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Projects | Jongann Lee</title><link>https://jongann-lee.github.io/project/</link><atom:link href="https://jongann-lee.github.io/project/index.xml" rel="self" type="application/rss+xml"/><description>Projects</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Fri, 11 Oct 2024 00:00:00 +0000</lastBuildDate><image><url>https://jongann-lee.github.io/media/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_512x512_fill_lanczos_center_3.png</url><title>Projects</title><link>https://jongann-lee.github.io/project/</link></image><item><title>PIEJAM(Passive Inversion and Eversion Joint Ankle Mechanism)</title><link>https://jongann-lee.github.io/project/piejam/</link><pubDate>Fri, 11 Oct 2024 00:00:00 +0000</pubDate><guid>https://jongann-lee.github.io/project/piejam/</guid><description>&lt;p>Inversion and eversion is the rotation of the foot about the axis parallel to the toes. In simpler terms, its the rotation that makes the bottom of your foot face the left or right. This movement is crucial for maintaining balance and traversing uneven terrain. Yet many current ankle exoskeletons do not allow the user to perform inversion and eversion. The goal of this project was to develop an inversion and eversion ankle joint mechanism that would allow augment this capability to an existing ankle exoskeleton(speifically PERL from POLAR lab at Polytechnique Montreal).&lt;/p>
&lt;p>The primary feature of this mechanism is the compliant mechanism based joint. Typical revolute joints use bearings and pins to create the rotational degree of freedom, but this increases the complexity and manufacturing and maintaining the joint. PIEJAM uses compliant mechanisms, which are flexible mechanisms that achieve force and motion transmission through elastic body deformation. It has been implemented in the form of a x-shaped cross-axis flexural pivot, which enables the rotational motion and at the same time provides adverse torque feedback like a torsional spring. The overall joint mechanism designs also limits the range of motion, which is important for preventing injuries.&lt;/p>
&lt;p>A test of using PIEJAM with PERL showed that the desired inversion and eversion movenemt charactertistics while not comprimising the requirements for dorsalflexion and plantarflexion actuation.&lt;/p></description></item><item><title>Reinforcement Learning based Tuner for the Geometric Tracking Attitude Controller</title><link>https://jongann-lee.github.io/project/rl_tuner/</link><pubDate>Wed, 05 Jun 2024 00:00:00 +0000</pubDate><guid>https://jongann-lee.github.io/project/rl_tuner/</guid><description>&lt;p>PID controllers are widely used across many applications including quadrotors. A variant of the PD controller is the geometric tracking controller, which utilizes the rotation matrix and the non-linear quadrotor dynamics. However, PID controllers require gain tuning, and their fixed gains render them incapable of responding to changes in the system in real-time. We propose a reinforcement learning based tuner for the attitude controller gains, which updates the gain in real time based on the history of the vehicle attitude error. The trained RL tuner is shown to be capable of stabilizing a vehicle with an unstable initial controller gain.&lt;/p></description></item><item><title>Unicycle Control using Disturbance Observer</title><link>https://jongann-lee.github.io/project/dob_unicycle/</link><pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate><guid>https://jongann-lee.github.io/project/dob_unicycle/</guid><description>&lt;p>This was a project done as part of the advanced control methods class, where the goal was to freely implement a controller that was taught during class. One of the control methods taught was the disturbance observer or DOB. DOB makes the inner loop dynamics behave like the nominal plant, eliminating the effects of model uncertainty. It also has an added bonus of disturbance rejection making it a very versatile controller. This project implemented a DOB inner loop to a unicycle, which had previously been controlled using a PD controller. The PD controller was designed using the linearized plant dynamics. The goal of the DOB was to improve the controller’s performance on the real, non-linear plant dynamics by stabilizing the plant behaviour while under control. A Simulink simulation of the controller confirmed the improvement in performance. While there was an improvement in performance, the overall robustness of the original PD controller meant that the improvement in performance was marginal.&lt;/p></description></item><item><title>Adaptive Quadrotor Controller</title><link>https://jongann-lee.github.io/project/geo_adaptive/</link><pubDate>Sun, 01 Oct 2023 00:00:00 +0000</pubDate><guid>https://jongann-lee.github.io/project/geo_adaptive/</guid><description>&lt;p>Adaptive control laws allow for stable control of the agent even when the system parameters vary over time. Therefore, adaptive control laws are useful to quadrotors, whose system parameters such as mass and moment of inertia are subject to uncertain measurements and variations over time.&lt;/p>
&lt;p>Most adaptive control laws use a simple Euclidian distance between the real and estimated inertial parameters. This however, poses issues as the manifold of physically consistent inertial parameters is not a simple Euclidian space. Thus, the Euclidian distance is an inaccurate distance metric and could potentially assign physically inconsistent values to the estiamted inertial parameters.&lt;/p>
&lt;p>We propose using the geodesic distance on the manifold of physically consistent inertial parameters. This is a more accurate distance metric and ensures that the estimated inertial parameters are physically consistent.&lt;/p>
&lt;p>The adaptive control scheme is then combined with the geometric tracking controller for the quadrotor, a trajectory tracking controller that is proven to be stable even with near inverted attitude. The adaptive quadrotor controller was simulated in Matlab where the improvement in performance was confirmed.&lt;/p></description></item><item><title>Autonomous Quadrotor System for Payload Delivery</title><link>https://jongann-lee.github.io/project/bulnabi/</link><pubDate>Tue, 01 Aug 2023 00:00:00 +0000</pubDate><guid>https://jongann-lee.github.io/project/bulnabi/</guid><description>&lt;p>During my undergraduate studies, I was a member, and later president, of the Seoul National University drone club Bulnabi. Over the years, I have participated in many projects within the club, but the 2023 Korea Robot Aircraft Competition is the one that I worked on the hardest, and therefore I chose to discuss it here.&lt;/p>
&lt;p>The objective of the competition could be split into several parts. The aircraft had to take off and fly in a stable manner automatically without human input. Next, it had to navigate between two ladders and fly inbetween them. After doing this, the vehicle had to locate the delivery point located on the third floor balcony, which had been marked with a cross. A pizza box would then be delivered and the drone would return to a designated position and land automatically.&lt;/p>
&lt;p>All of the above mentioned tasks had to be performed automatically without human intervention. For this, we decided to utilize two computers: a Pixhawk flight computer(FC) running PX4, and a NVIDIA Jetson Xavier companion computer(CC) running ROS2. The CC would take sensor data, such as camera images, and use it to determine the action needed to be taken (go forward, release cargo etc.). The FC would then receive these actions and calculate the appropriate commands to be given to the motors in order to follow the action and maintain stability at the same time.&lt;/p>
&lt;p>This requires a good communications bridge between the FC and the CC. I implmented a communications bridge between the PX4-Autopilot FC software and the ROS2 software on the CC by utilizing the XRCE-DDS prptocol. This protocol was used to convert ROS2 messages into uORB messages used by PX4, which allowed the FC to send vehicle sensor data to the CC, and for the CC to send kinematic commands to the FC.&lt;/p>
&lt;p>I also worked on the trajectory generation module, which was necessary to continously provide a smoothe trajectory for the vehicle to follow. The module utilized a 4-point Bezier curve, which was defined using the current position, current velocity, desired position, and desired velocity. The design allowed the vehicle to smoothly enter from the current state and exit to the desired state in a continous manner as well.&lt;/p></description></item></channel></rss>