분류 전체보기
-
0. Introduction MATLAB을 사용하다 보면 그래프를 저장해야 할 때가 있다. 단 한 장의 그래프만 저장한다면 plot을 통해 저장하기 버튼을 눌러 저장하면 되지만 그렇지 않은 경우는 상당히 귀찮다. (예를 들면 여러 그래프를 한 번에 저장한다거나) 이때 간단히 실행 한 번만으로 저장하는 방법에 대해 설명한다. 아래의 세 개의 함수만 사용하면 간단하게 해결된다. for sprintf() saveas() 전체 코드도 아래에 첨부한다. for i = 1:8 txt1 = sprintf('Formation Error %d.png', i); txt2 = sprintf('Control Input %d.png', i); % save formation error figure('Name', 'Formatio..
[MATLAB] 그래프 한번에 저장하기0. Introduction MATLAB을 사용하다 보면 그래프를 저장해야 할 때가 있다. 단 한 장의 그래프만 저장한다면 plot을 통해 저장하기 버튼을 눌러 저장하면 되지만 그렇지 않은 경우는 상당히 귀찮다. (예를 들면 여러 그래프를 한 번에 저장한다거나) 이때 간단히 실행 한 번만으로 저장하는 방법에 대해 설명한다. 아래의 세 개의 함수만 사용하면 간단하게 해결된다. for sprintf() saveas() 전체 코드도 아래에 첨부한다. for i = 1:8 txt1 = sprintf('Formation Error %d.png', i); txt2 = sprintf('Control Input %d.png', i); % save formation error figure('Name', 'Formatio..
2023.08.31 -
0. Mobile robot 먼저 위키에서 설명하는 이동로봇이라 함은 다음과 같다. 이동로봇(Mobile Robot)은 지상에 고정된 로봇이 아닌 움직이는 로봇이다. 바퀴형 이동로봇(wheel-type mobile robot)과 보행형 이동로봇(legged mobile robot 또는 locomotive robot)이 있다. 이동 로봇 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org 이번 글에서는 이동로봇의 kinematic model의 비선형 제어기 설계에 대해 다뤄본다. 1. Mobile robot kinematic model $$ \begin{cases} \dot{x} = v\cos\theta\\ \dot{y} = v\sin\theta\\ \dot..
[Control] Mobile robot Control0. Mobile robot 먼저 위키에서 설명하는 이동로봇이라 함은 다음과 같다. 이동로봇(Mobile Robot)은 지상에 고정된 로봇이 아닌 움직이는 로봇이다. 바퀴형 이동로봇(wheel-type mobile robot)과 보행형 이동로봇(legged mobile robot 또는 locomotive robot)이 있다. 이동 로봇 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org 이번 글에서는 이동로봇의 kinematic model의 비선형 제어기 설계에 대해 다뤄본다. 1. Mobile robot kinematic model $$ \begin{cases} \dot{x} = v\cos\theta\\ \dot{y} = v\sin\theta\\ \dot..
2023.08.27 -
0. Adaptive control 이번 주제는 Adaptive control이다. 적응제어라고도 한다. Sliding mode control와 같이 robust control의 경우 disturbance와 같이 모르는 term의 최댓값을 안다는 가정 하에 설계가 가능하다. 하지만 Adaptive control의 경우 모르는 term의 bound를 정확히 알기 어려울 때 사용한다. 1. System model $$ \begin{align} \dot{y} = -a_{p}y + b_{p}u \end{align} $$ Assumption 1. Unknown term is a constant. $ a_{p} $ : unknown $ b_{p} $ : unknown, but the sign of $ b_{p} $..
[Control] Adaptive Control0. Adaptive control 이번 주제는 Adaptive control이다. 적응제어라고도 한다. Sliding mode control와 같이 robust control의 경우 disturbance와 같이 모르는 term의 최댓값을 안다는 가정 하에 설계가 가능하다. 하지만 Adaptive control의 경우 모르는 term의 bound를 정확히 알기 어려울 때 사용한다. 1. System model $$ \begin{align} \dot{y} = -a_{p}y + b_{p}u \end{align} $$ Assumption 1. Unknown term is a constant. $ a_{p} $ : unknown $ b_{p} $ : unknown, but the sign of $ b_{p} $..
2023.08.09 -
우분투에 MATLAB을 설치하고 막상 그림을 기리기 위해 plot을 해 보면 아래처럼 아무것도 안 나올 때가 있다. 이 문제의 해결 방법에 대해 적어본다. 첫 번째 방법 가장 간단하게 해결하는 방법은 터미널에 다음과 같이 입력하면 된다. export MESA_LOADER_DRIVER_OVERRIDE=i965; matlab or Exec=env MESA_LOADER_DRIVER_OVERRIDE=i965 matlab -desktop 그러면 그래프가 아주 잘 나온다. 하지만 매번 이렇게 입력하기는 매우 귀찮다. 두 번째 방법은 파일을 하나 생성하면 귀찮게 매번 입력하지 않아도 된다. 두 번째 방법 먼저 MATLAB이 설치된 경로에서 터미널을 열어준다. 본인의 경우 경로는 다음과 같다. /usr/local/MA..
[Linux MATLAB] 그래프 안나올 때 대처 방법우분투에 MATLAB을 설치하고 막상 그림을 기리기 위해 plot을 해 보면 아래처럼 아무것도 안 나올 때가 있다. 이 문제의 해결 방법에 대해 적어본다. 첫 번째 방법 가장 간단하게 해결하는 방법은 터미널에 다음과 같이 입력하면 된다. export MESA_LOADER_DRIVER_OVERRIDE=i965; matlab or Exec=env MESA_LOADER_DRIVER_OVERRIDE=i965 matlab -desktop 그러면 그래프가 아주 잘 나온다. 하지만 매번 이렇게 입력하기는 매우 귀찮다. 두 번째 방법은 파일을 하나 생성하면 귀찮게 매번 입력하지 않아도 된다. 두 번째 방법 먼저 MATLAB이 설치된 경로에서 터미널을 열어준다. 본인의 경우 경로는 다음과 같다. /usr/local/MA..
2023.08.02 -
프로그램을 작성하다 보면 곱하기 / 나누기를 하게 될 때가 많다. 이때 실수형에서 조심해야 하는 문제가 있다. 바로 예를 들어 보자 float x, div, mult; x = 123.45; div = x / 10; mult = x * 10; 이렇게 작성하게 된다면 제대로 된 연산이 가능할까? 물론 가능할 수도 있다. 하지만 다음과 같이 작성해야 한다. float x, div, mult; x = 123.45; div = x / 10.; mult = x * 10.; 단지 '.' 하나만 추가하였다. 이렇게 된다면 같은 자료형 사이의 연산으로 올바른 결과가 나오게 된다. 별거 아닌 것 같지만 중요하다. 반드시 자료형을 맞춰줄 것 # 마치며 아무것도 아닌 것 같은 저 점 하나 때문에 2시간을 버렸다. 엉뚱한 곳에..
[C | ATmega] 실수형 나누기 / 곱하기에 대한 문제프로그램을 작성하다 보면 곱하기 / 나누기를 하게 될 때가 많다. 이때 실수형에서 조심해야 하는 문제가 있다. 바로 예를 들어 보자 float x, div, mult; x = 123.45; div = x / 10; mult = x * 10; 이렇게 작성하게 된다면 제대로 된 연산이 가능할까? 물론 가능할 수도 있다. 하지만 다음과 같이 작성해야 한다. float x, div, mult; x = 123.45; div = x / 10.; mult = x * 10.; 단지 '.' 하나만 추가하였다. 이렇게 된다면 같은 자료형 사이의 연산으로 올바른 결과가 나오게 된다. 별거 아닌 것 같지만 중요하다. 반드시 자료형을 맞춰줄 것 # 마치며 아무것도 아닌 것 같은 저 점 하나 때문에 2시간을 버렸다. 엉뚱한 곳에..
2023.06.28 -
파이썬에서 format이라는 기본 함수가 존재한다. 형식을 지정하기에 아주 유용하다. 바로 예시로 알아보자 코드 a = -1234.567 Ta = '{:+08.2f}'.format(a) print(Ta) 결과 -1234.57 위 코드처럼 형식을 지정할 수 있다. Ta라는 변수에 a의 형식을 지정해서 대입해 주었다. '{:+08.2f}' 콜론 뒤로 '+'가 있는데 이는 부호를 항상 표시하는 옵션이다. $$ \begin{align} + &: 항상 부호 표시\\ &\quad 양수 : + \\ &\quad 음수 : - \\\\ - &: 음수일때만 표시 \\ &\quad 양수 : 없음 \\ &\quad 음수 : - \\\\ '\,' &: 음수일때만 표시 \\ &\quad 양수 : '\,'(공백) \\ &\quad..
[Python] format 형식 설정파이썬에서 format이라는 기본 함수가 존재한다. 형식을 지정하기에 아주 유용하다. 바로 예시로 알아보자 코드 a = -1234.567 Ta = '{:+08.2f}'.format(a) print(Ta) 결과 -1234.57 위 코드처럼 형식을 지정할 수 있다. Ta라는 변수에 a의 형식을 지정해서 대입해 주었다. '{:+08.2f}' 콜론 뒤로 '+'가 있는데 이는 부호를 항상 표시하는 옵션이다. $$ \begin{align} + &: 항상 부호 표시\\ &\quad 양수 : + \\ &\quad 음수 : - \\\\ - &: 음수일때만 표시 \\ &\quad 양수 : 없음 \\ &\quad 음수 : - \\\\ '\,' &: 음수일때만 표시 \\ &\quad 양수 : '\,'(공백) \\ &\quad..
2023.06.28