Jekyll2022-01-04T15:52:56+09:00https://jh-byun.github.io/feed.xmlJeonghyun ByunDeveloping the control and planning algorithm for aerial manipulationJeonghyun Byunquswjdgus97@snu.ac.krRobust Control of the Aerial Manipulator with a Fixed End-effector Position2021-12-28T00:00:00+09:002021-12-28T00:00:00+09:00https://jh-byun.github.io/pub/ICCAS<p><strong>Abstract</strong>: The necessity for aerial manipulation while grasping a fixed point is on the rise to broaden the range of tasks that can be performed with flying robots such as plug-pulling or drawer knob grasping. In this paper, a robust controller for the aerial manipulator with a fixed end-effector position is designed, and stability analysis is performed with the proposed control law. Using the constrained Euler-Lagrange equation, a dynamic equation for the aerial manipulator which is freely rotating around the fixed point is derived and a disturbance-observer-based (DOB) control law is constructed. A singular perturbation form of the closed-loop system is derived and utilized to conduct the stability analysis. To verify the proposed
controller, a numerical simulation was conducted. The simulation results show that the Euler angles satisfactorily follow their desired trajectory. Accordingly, the proposed controller could be applied to actual experiments for future works.</p>
<center><img src="/images/tumbnails/aerial_plug_pulling.PNG" width="550" height="550" /></center>
<h2 id="oral-presentation-video">Oral Presentation Video</h2>
<figure class="video_container">
<center><video width="700" height="500" controls="true" allowfullscreen="true" poster="">
<source src="/videos/JHByun_ICCAS_2021_presentation_video_v2.mp4" type="video/mp4" />
</video></center>
</figure>
<h2 id="bibtex-">Bibtex <a id="bibtex"></a></h2>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>@inproceedings{byun2021robust,
title={Robust Control of the Aerial Manipulator with a Fixed End-effector Position},
author={Byun, Jeonghyun and Kim, H Jin},
booktitle={2021 21st International Conference on Control, Automation and Systems (ICCAS)},
pages={424--429},
year={2021},
organization={IEEE}
}
</code></pre></div></div>Jeonghyun Byunquswjdgus97@snu.ac.krAbstract: The necessity for aerial manipulation while grasping a fixed point is on the rise to broaden the range of tasks that can be performed with flying robots such as plug-pulling or drawer knob grasping. In this paper, a robust controller for the aerial manipulator with a fixed end-effector position is designed, and stability analysis is performed with the proposed control law. Using the constrained Euler-Lagrange equation, a dynamic equation for the aerial manipulator which is freely rotating around the fixed point is derived and a disturbance-observer-based (DOB) control law is constructed. A singular perturbation form of the closed-loop system is derived and utilized to conduct the stability analysis. To verify the proposed controller, a numerical simulation was conducted. The simulation results show that the Euler angles satisfactorily follow their desired trajectory. Accordingly, the proposed controller could be applied to actual experiments for future works.Stability and robustness analysis of plug-pulling using an aerial manipulator2021-07-02T00:00:00+09:002021-07-02T00:00:00+09:00https://jh-byun.github.io/pub/IROS<p><strong>Abstract</strong>: In this paper, an autonomous aerial manipulation task of pulling a plug out of an electric socket is conducted, where maintaining the stability and robustness is challenging due to sudden disappearance of a large interaction force. The abrupt change in the dynamical model before and after the separation of the plug can cause destabilization or mission failure. To accomplish aerial plug-pulling, we employ the concept of hybrid automata to divide the task into three operative modes, i.e, wire-pulling, stabilizing, and free-flight. Also, a strategy for trajectory generation and a design of disturbance-observer-based controllers for each operative mode are presented. Furthermore, the theory of hybrid automata is used to prove the stability and robustness during the mode transition. We validate the proposed trajectory generation and control method by an actual wire-pulling experiment with a multirotor-based aerial manipulator.</p>
<center><img src="/images/tumbnails/wire_pulling_aerial_manipiulator.png" width="649" height="369" /></center>
<h2 id="bibtex-">Bibtex <a id="bibtex"></a></h2>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>@inproceedings{byun2021stability,
title={Stability and Robustness Analysis of Plug-Pulling using an Aerial Manipulator},
author={Byun, Jeonghyun and Lee, Dongjae and Seo, Hoseong and Jang, Inkyu and Choi, Jeongjun and Kim, H Jin},
booktitle={2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
pages={4199--4206},
year={2021},
organization={IEEE}
}
</code></pre></div></div>Jeonghyun Byunquswjdgus97@snu.ac.krAbstract: In this paper, an autonomous aerial manipulation task of pulling a plug out of an electric socket is conducted, where maintaining the stability and robustness is challenging due to sudden disappearance of a large interaction force. The abrupt change in the dynamical model before and after the separation of the plug can cause destabilization or mission failure. To accomplish aerial plug-pulling, we employ the concept of hybrid automata to divide the task into three operative modes, i.e, wire-pulling, stabilizing, and free-flight. Also, a strategy for trajectory generation and a design of disturbance-observer-based controllers for each operative mode are presented. Furthermore, the theory of hybrid automata is used to prove the stability and robustness during the mode transition. We validate the proposed trajectory generation and control method by an actual wire-pulling experiment with a multirotor-based aerial manipulator.3D Animation of the aerial plug-pulling task2021-06-24T00:00:00+09:002021-06-24T00:00:00+09:00https://jh-byun.github.io/study/matlab-aerial-plug-pulling-video<p>Aerial manipulation is one of the rising topics which can simultaneously leverage versatility of the robotic manipulator and maneuverability of the unmanned aerial vehicle (UAV).</p>
<p>Currently, I am conducting the research on the aerial plug-pulling task which entails two different dynamical models, a free-flight model and a plug-pulling model. Since my goal is to design an optimal controller which satisfactorily controls the given plug-pulling scenario, to validate my proposed assumptions and theorems, there needs an elaborate simulator. As a result I made a MATLAB simulation which visualizes the aerial manipulator holding onto the plug which is attached to the socket. The attached video is a 3D animation which shows the performance of my control law which is designed based on the plug-pulling situation.</p>
<figure class="video_container">
<center><video width="700" height="500" controls="true" allowfullscreen="true" poster="">
<source src="/videos/main_proposed.mp4" type="video/mp4" />
</video></center>
</figure>
<p>Source code was already uploaded on my private Github repository (https://github.com/JH-Byun) but it will be soon released to the publics.</p>Jeonghyun Byunquswjdgus97@snu.ac.krAerial manipulation is one of the rising topics which can simultaneously leverage versatility of the robotic manipulator and maneuverability of the unmanned aerial vehicle (UAV).[ACADEMIC STUDY] Terminologies and Concepts used in Control and Estimation Theory - 12021-06-13T00:00:00+09:002021-06-13T00:00:00+09:00https://jh-byun.github.io/study/concepts-and-terminonogies-used-in-control-theory<ol>
<li><strong>Control methods</strong>
<ul>
<li>Impedance control: A dynamic control method which relates force and position.
<ul>
<li>Mechanical impedance: The ratio of force output to motion input</li>
<li>Purpose of this method is to regulate the relationship between force and position. Thus, it requires a position, velocity or acceleration input to control the force output value.</li>
<li>It is a conventional control method we use, which makes an actuator input using desired position, velocity or acceleration.</li>
</ul>
</li>
<li>Admittance control: A dynamic control method which relates force and position, but in the inverse way of impedance control.
<ul>
<li>Mechanical admittance: The ratio of motion output to force input</li>
<li>It requires a force input to control the position, velocity or acceleration.</li>
</ul>
</li>
<li>Bang-singular control: It is a control method which consists of both bang-bang portion and singular portion.
<ul>
<li>Bang-bang control: A kind of feedback controller which abruptly switches its control law between two discrete phases.</li>
<li>Singular control: An optimal control problem which cannot be solved by Pontryagin’s minimum principle.
<ul>
<li>Pontyagin’s maximum principle is a sort of optimal control theory.</li>
<li>This principle is a way to design the control law which enables a dynamical system to switch from one phase to another phase under some constraints on both state and input.</li>
</ul>
</li>
<li>According to the optimal control theory, it is proven that <strong>the time-optimal trajectory of the input-affined system is bang singular.</strong></li>
</ul>
</li>
<li>Event-triggered control: A control system which do not send any actuator signal unless the “event-triggering condition” is invoked.</li>
</ul>
</li>
<li><strong>Control Systems</strong>
<ul>
<li>Networked control system (NCS): The closed-loop system which is controlled by communication networks.
<ul>
<li>There are four crucial elements: sensor + controller + actuator + <strong>communication network</strong></li>
<li>It facilitates the system to conduct some specific tasks which require the comminication between two places wihch are far from each other.</li>
<li>It can reduce its communication load while using event-triggered control.</li>
</ul>
</li>
<li>Fuzzy control system: A control system based on fuzzy logic, which is a mathematical system that analyzes analog input values in terms of logical variables that take on discrete values, 0 or 1.</li>
</ul>
</li>
<li><strong>Sets</strong>
<ul>
<li>Convex hull: The smallest convex set which contains a dot or a region which are given in the form of set.
<ul>
<li>Convex set: For a set $A$ in Euclidean space, $A$ is called a <strong>convex set</strong> if we pick two arbitrary points inside $A$, then a segment which connects the two points is always the element of $A$. <br /></li>
</ul>
</li>
<li>Compact set
<ul>
<li>$S$ is covered by <em>a collection of open sets</em>, $O$ ($S \subset $ (at least one member of) $O$), and said to compact if $S$ is covered by some finite set of members of $O$ for every covering $O$ of $S$ by open sets.</li>
<li>In Euclidean space ($\mathbb{R}^{n}$), it is defined as a <strong>closed</strong> and <strong>bounded</strong> subset of Euclidean space, e.g. closed interval, rectagnle, finite set of points. This property is proved in detail in [4].</li>
</ul>
</li>
</ul>
</li>
<li><strong>Functions</strong>
<ul>
<li>Class $K$ function
<ul>
<li>a continuous function $\alpha$: [0,a) $\rightarrow$ [0,$\infty$)</li>
<li>a strictly increasing function</li>
<li>$\alpha(0)$ =$0$</li>
<li>cf) class $K_{\infty}$ function: a class $K$ function which is radially unbounded <br /></li>
</ul>
</li>
<li>Class $KL$ function
<ul>
<li>a continuous function $\beta$: [0,a) x $[0,\infty]$ $\rightarrow$ [0,$\infty$)</li>
<li>for each fixed $s$, the function $\beta(r,s)$ belongs to class $K$</li>
<li>for each fixed $r$, the function $\beta(r,s)$ is decreasing with respect to $s$ and is s.t. $\beta(r,s)$ $\rightarrow$ 0 for $s$ $\rightarrow$ $\infty$</li>
</ul>
</li>
</ul>
</li>
<li><strong>S-procedure</strong>: The S-procedure, also called as “S-lemma” is defined as follows.
<ul>
<li><strong>Definition</strong>: A mathematical process to find the equivalent <em>linear matrix inequality (LMI)</em> that makes a <em>particular quadratic inequality</em>.</li>
<li><strong>Procedure (w/o proof)</strong>
<ul>
<li><em>IF</em> $0 \leq z^TF_{0}z \, \rightarrow \, 0 \leq z^TF_{1}z$ and there exists $z_0 \, s.t. \, 0 \leq z_{0}^{T}F_{0}z_{0}$</li>
<li><em>THEN</em> there exists a nonnegative $\tau \, s.t. \, \tau F_{1} \leq F_{0}$</li>
</ul>
</li>
</ul>
</li>
</ol>
<h2 id="reference">Reference</h2>
<p>[1] <a href="https://en.wikipedia.org/wiki/Convex_set">https://en.wikipedia.org/wiki/Convex_set</a> <br />
[2] <a href="https://en.wikipedia.org/wiki/Impedance_control">https://en.wikipedia.org/wiki/Impedance_control</a> <br />
[3] <a href="https://en.wikipedia.org/wiki/Bang%E2%80%93bang_control">https://en.wikipedia.org/wiki/Bang%E2%80%93bang_control</a> <br />
[4] <a href="https://en.wikipedia.org/wiki/Singular_control">https://en.wikipedia.org/wiki/Singular_control</a> <br />
[5] <a href="https://en.wikipedia.org/wiki/Pontryagin%27s_maximum_principle">https://en.wikipedia.org/wiki/Pontryagin%27s_maximum_principle</a> <br />
[6] <a href="https://en.wikipedia.org/wiki/Networked_control_system">https://en.wikipedia.org/wiki/Networked_control_system</a> <br />
[7] <a href="https://en.wikipedia.org/wiki/Fuzzy_control_system#Fuzzy_control_in_detail">https://en.wikipedia.org/wiki/Fuzzy_control_system#Fuzzy_control_in_detail</a> <br />
[8] <a href="https://www.diva-portal.org/smash/get/diva2:586391/FULLTEXT02">Heemels, W. P. M. H., Karl Henrik Johansson, and Paulo Tabuada. “An introduction to event-triggered and self-triggered control.” 2012 ieee 51st ieee conference on decision and control (cdc). IEEE, 2012.</a> <br />
[9] <a href="https://en.wikipedia.org/wiki/Class_kappa_function">https://en.wikipedia.org/wiki/Class_kappa_function</a> <br />
[10] <a href="https://en.wikipedia.org/wiki/Class_kappa-ell_function">https://en.wikipedia.org/wiki/Class_kappa-ell_function</a> <br />
[11] <a href="https://en.wikipedia.org/wiki/Compact_space">https://en.wikipedia.org/wiki/Compact_space</a> <br />
[12] <a href="http://www-math.mit.edu/~djk/calculus_beginners/chapter16/section02.html">http://www-math.mit.edu/~djk/calculus_beginners/chapter16/section02.html</a> <br /></p>Jeonghyun Byunquswjdgus97@snu.ac.krControl methods Impedance control: A dynamic control method which relates force and position. Mechanical impedance: The ratio of force output to motion input Purpose of this method is to regulate the relationship between force and position. Thus, it requires a position, velocity or acceleration input to control the force output value. It is a conventional control method we use, which makes an actuator input using desired position, velocity or acceleration. Admittance control: A dynamic control method which relates force and position, but in the inverse way of impedance control. Mechanical admittance: The ratio of motion output to force input It requires a force input to control the position, velocity or acceleration. Bang-singular control: It is a control method which consists of both bang-bang portion and singular portion. Bang-bang control: A kind of feedback controller which abruptly switches its control law between two discrete phases. Singular control: An optimal control problem which cannot be solved by Pontryagin’s minimum principle. Pontyagin’s maximum principle is a sort of optimal control theory. This principle is a way to design the control law which enables a dynamical system to switch from one phase to another phase under some constraints on both state and input. According to the optimal control theory, it is proven that the time-optimal trajectory of the input-affined system is bang singular. Event-triggered control: A control system which do not send any actuator signal unless the “event-triggering condition” is invoked.[Ubuntu 20.04] Enable the Ctrl+Shift+E Key setting for splitting the terminator window vertically.2021-03-30T00:00:00+09:002021-03-30T00:00:00+09:00https://jh-byun.github.io/study/terminator-split-vertically<h2 id="motivation">Motivation</h2>
<p>If we upgrade our ubuntu version to 20.04 and install TERMINATOR, there exists a problem that the key setting Ctrl+Shit+E doesn’t work for splitting its window vertically.
To resolve this problem, I search on google and found the appropriate solution.</p>
<h2 id="solution">Solution</h2>
<ol>
<li>Download Terminator on your Ubuntu 20.04.</li>
<li>Open the terminal (Ctrl + Alt + t) and try Ctrl + Shift + E.</li>
<li>If the underlined letter ‘<u>e</u>’ appears and the terminal stops operating, it means that there exist a problem in vertically splitting.</li>
<li>In the terminal window, type ‘ibus-setup’.
<div class="language-terminal highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="go">ibus-setup
</span></code></pre></div> </div>
</li>
<li>A window will appear, then click on the tab ‘Emoji’ and delete the keybindings for “Emoji annotation”.</li>
</ol>
<h2 id="reference">Reference</h2>
<p>[1] <a href="https://snowdeer.github.io/mac-os/2020/09/22/ctrl-shift-e-key-on-ubuntu-20p04/">https://snowdeer.github.io/mac-os/2020/09/22/ctrl-shift-e-key-on-ubuntu-20p04/</a> (Written in Korean)</p>Jeonghyun Byunquswjdgus97@snu.ac.krMotivation If we upgrade our ubuntu version to 20.04 and install TERMINATOR, there exists a problem that the key setting Ctrl+Shit+E doesn’t work for splitting its window vertically. To resolve this problem, I search on google and found the appropriate solution.[External Link] How to start blogging as a researcher2021-03-11T00:00:00+09:002021-03-11T00:00:00+09:00https://jh-byun.github.io/blog/research-blog-guideline<p>Since it’s becoming really important to show my research efforts via internet space, many researchers begin to post their works on blogs.
However, for the researchers who haven’t usually write posts about their daily life, the most difficult step is to start blogging.
For me also, it was really hard to make the blog platform and post some beginning articles. And until now, it is still hard to manage my blog.
Therefore, I search on google about “how to make a blog for the researchers”, and I found a quite valuable post about this topic.</p>
<p>If you are interested in posting your research effort on the blog and still have a problem with posting the first article,
please follow the instructions shown in this article below.</p>
<p><a href="https://www.academictransfer.com/en/blog/how-to-start-blogging-as-a-researcher/">How to start blogging as a researcher</a></p>
<p>I hope that you can get accustomed to blogging as a researcher and be confident to upload your efforts on research.</p>Jeonghyun Byunquswjdgus97@snu.ac.krStart a blog as a researcher![GIT] Make a new local/remote branch2021-01-25T00:00:00+09:002021-01-25T00:00:00+09:00https://jh-byun.github.io/study/new-local-remote-branch<h2 id="description">Description</h2>
<h3 id="make-a-new-branch">Make a new branch</h3>
<p>To add a new branch (name: new_branch) to the local space (e.g. personal laptop, desktop)</p>
<pre>
<code>
git checkout -b new_branch
</code>
</pre>
<p>And to push it to the remote space (e.g. github space)</p>
<pre>
<code>
git push origin new_branch
</code>
</pre>
<p><strong>Caution</strong>: Make the remote branch on the desired local branch.</p>
<p>## Reference
https://trustyoo86.github.io/git/2017/11/28/git-remote-branch-create.html</p>Jeonghyun Byunquswjdgus97@snu.ac.krDescription Make a new branch To add a new branch (name: new_branch) to the local space (e.g. personal laptop, desktop) git checkout -b new_branch And to push it to the remote space (e.g. github space) git push origin new_branch Caution: Make the remote branch on the desired local branch. ## Reference https://trustyoo86.github.io/git/2017/11/28/git-remote-branch-create.html[MATLAB] Use Windows style keyboard shortcuts on Ubuntu 18.042021-01-04T00:00:00+09:002021-01-04T00:00:00+09:00https://jh-byun.github.io/study/matlab-2<h2 id="description">Description</h2>
<ol>
<li>Press “HOME” tab. <br /></li>
<li>Find “ENVIRONMENT” tab and press “preferences” button. <br /></li>
<li>Go to “Keyboard » Shortcuts” tab. <br /></li>
<li>Change the active setting from “Emacs Default Set” or “MAC Default Set” to “Windows Default Set”. <br /></li>
<li>Check if the Windows keyboard shortcuts(ex: Ctrl+v, Ctrl+z,…) work or not. <br /></li>
</ol>
<h2 id="references">References</h2>
<p>[1] <a href="https://blogs.mathworks.com/community/2007/05/11/setting-up-keybindings-for-the-command-window-and-editor/">https://blogs.mathworks.com/community/2007/05/11/setting-up-keybindings-for-the-command-window-and-editor/</a> <br /></p>Jeonghyun Byunquswjdgus97@snu.ac.krDescription Press “HOME” tab. Find “ENVIRONMENT” tab and press “preferences” button. Go to “Keyboard » Shortcuts” tab. Change the active setting from “Emacs Default Set” or “MAC Default Set” to “Windows Default Set”. Check if the Windows keyboard shortcuts(ex: Ctrl+v, Ctrl+z,…) work or not.[MARKDOWN] How to write mathematical equations to the markdown files?2021-01-02T00:00:00+09:002021-01-02T00:00:00+09:00https://jh-byun.github.io/study/markdown-math<p>I want to share useful websites about <strong>“How to write mathematical equations to the markdown files?”</strong> <br />
<br />
Please follow intructions below <br />
(English) <a href="http://benlansdell.github.io/computing/mathjax/">http://benlansdell.github.io/computing/mathjax/</a> <br />
(Korean) <a href="https://junsk1016.github.io/markdown/%EC%88%98%EC%8B%9D-%EC%A0%81%EC%9A%A9%EC%8B%9C%EC%BC%9C%EC%84%9C-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0/">https://junsk1016.github.io/markdown/%EC%88%98%EC%8B%9D-%EC%A0%81%EC%9A%A9%EC%8B%9C%EC%BC%9C%EC%84%9C-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0/</a> <br />
<br />
<strong>Cautions</strong> <br /></p>
<ul>
<li>In the english version, change the file name “_mathjax_support.html” into “mathjax_support.html” <br /></li>
<li>In both versions, complete form of the mathematical equations would not appear on the .md file. These will appear at the website you made.</li>
</ul>Jeonghyun Byunquswjdgus97@snu.ac.krI want to share useful websites about “How to write mathematical equations to the markdown files?” Please follow intructions below (English) http://benlansdell.github.io/computing/mathjax/ (Korean) https://junsk1016.github.io/markdown/%EC%88%98%EC%8B%9D-%EC%A0%81%EC%9A%A9%EC%8B%9C%EC%BC%9C%EC%84%9C-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0/ Cautions In the english version, change the file name “_mathjax_support.html” into “mathjax_support.html” In both versions, complete form of the mathematical equations would not appear on the .md file. These will appear at the website you made.On-line parameteter estimation of a hexacopter equipped with 2-DOF robotic arm against disturbance2020-10-14T00:00:00+09:002020-10-14T00:00:00+09:00https://jh-byun.github.io/pub/ICCAS<p><strong>Abstract</strong>: In this paper, autonomous aerial transportation with an unknown payload is presented. The unknown parameters of an object are estimated by the estimator based on the dynamics of an aerial manipulator. Also, to cope with the external disturbance, estimation law is modified to compensate for the error between control input and actual generalized force. With the estimated mass and the location of COM(center of mass), an adaptive sliding mode controller is designed. Stability and convergence analysis of closed-loop system is carried out by the direct Lyapunov method and validated by simulation results yielded from the MATLAB environment.</p>
<center><img src="/images/tumbnails/aerial_transportation.png" width="550" height="550" /></center>
<h2 id="oral-presentation-video">Oral Presentation Video</h2>
<figure class="video_container">
<center><video width="700" height="500" controls="true" allowfullscreen="true" poster="">
<source src="/videos/295.mp4" type="video/mp4" />
</video></center>
</figure>
<h2 id="bibtex-">Bibtex <a id="bibtex"></a></h2>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>@article{byun2020line,
title={On-line Parameter Estimation of a Hexacopter Equipped with 2-DOF Robotic Arm against Disturbance},
author={Byun, Jeonghyun and Lee, Dongjae and Kim, H Jin and Lee, Hyeonbeom},
journal={제어로봇시스템학회 국제학술대회 논문집},
pages={47--52},
year={2020}
}
</code></pre></div></div>Jeonghyun Byunquswjdgus97@snu.ac.krAbstract: In this paper, autonomous aerial transportation with an unknown payload is presented. The unknown parameters of an object are estimated by the estimator based on the dynamics of an aerial manipulator. Also, to cope with the external disturbance, estimation law is modified to compensate for the error between control input and actual generalized force. With the estimated mass and the location of COM(center of mass), an adaptive sliding mode controller is designed. Stability and convergence analysis of closed-loop system is carried out by the direct Lyapunov method and validated by simulation results yielded from the MATLAB environment.