기본 콘텐츠로 건너뛰기

GA기반 matlab simscape walking robot 설계

matlab 홈페이지 아래 링크를 들어가면 다운 받을 수 있다.

https://kr.mathworks.com/videos/matlab-and-simulink-robotics-arena-walking-robots-part-1-modeling-and-simulation-1505941655157.html

우리 갓바스찬 형 !!

아무튼 안을 들여다 보면 이렇다.
우선 간단히 설명하자면 T ransform Sensor를 통해서 로봇의 x 이동 거리와 몸의 높이 각속도를 측정할 수 있다. 그리하여 몸의 높이가 5cm이하가 되면 자동으로 시뮬레이션 stop할 수 있게 되어있어서 GA 돌릴 수 있게 다 세팅이 되어 있다. 자세한 Simscape 내용은 링크에서 part1 강좌를 듣기 바란다.

댓글

이 블로그의 인기 게시물

optimiziation (Genetic Algorithm) (Matlab) 머그컵 설계 예제

머그컵 주문 받을때 아래 그림과 같은 요구조건이 있다. 고객의 요구조건 -> 즉 제약 조건(constraints)이 아래 그림과 같다. 문제) 고객의 요구조건을 만족하면서 최저비용의 머그컵 설계         (재료비는 재료의 양에 비례한다고 생각한다.)  hint) 즉 최소한의 면적으로 머그컵 설계 즉 식은 이렇게 되겠다. 즉 설계변수는 d와 h가 되겠다. v는 d와 h로 정해지는 것 정리하면  d,h는 Linear constraints이고 v는 Non-Linear이다. 구별방법은? 제곱이 들어있으면 Non-Linear.. ex) 5d+4h 이런 것은 Linear 우리는 minimization 문제..!! Design Variable은 d,h Matlab 에서 최적화 문제를 해결하는 방법중 여러가지 방법이있는데.. 예제에선 fmincon을 사용하도록 하겠다. fmincon(function minimize constraints)은 제약조건이 있는 function을 최소화하는 것. 미분값을 이용해서 글로벌 최소값을 찾는 것. fmincon과 반대개념으로 Genetic Algorithm -> 확률개념으로 찾아내는 것.. Matlab에서 optimization을 실행하는 방법 >>optimtool >>edit 세가지가 있는데 problem setup and result가 중요 starpoit에서는 벡터로값을 넣어줘야 한다. inequalities는 < > 부등호 말하는 것이고 equalities는 = 뜻함 Bounds 영역에서 Lower는 우리 예제에서 [5 10]'이 ...

Genetic Algorithm(유전 알고리즘이란)

Genetic Algorithm(유전 알고리즘이란) 자연계에 일어나는 진화를 모방하는 알고리즘!! 예를 들어 잘 생각해보면 납작한 바퀴벌레만 살아남은 이유가 있음.. 안납작한 바퀴벌레는 멸종.. 이렇게 자연계에 일어나는 진화를 모방하여 최적의 해를 찾아내는 것 EX) y = x^2 의 해를 GA로 구해보자     (우리는 이미 x=0, y=0일때 가장 작은 값을 가지면서 해가 성립함을 알 고 있다.) fitness function => 최소값 을 찾고자 하는 함수  예제에서 fitness function은  y=x^2 이다. variable 은 fitness function에서 보면 하나이다. 만약 y=x1^2+x^2이면 variable은 두개 어떻게 GA가 진행 되는지 적어보면 x= 3, 5 , 2 , 10,   4.3        <- population size가 5개 y= 9, 25, 4, 100, 18.49 가장 작은 y를 두개 선택 4,9  <-selection 선택 4,9를 만든 x값 2,3을 이제 값을 적당히 섞음 ... crossover(교배) 2세대 (2,3을 부모로 해서 자식만듬) x= 2.1 2, 2.5 , 3, 2.8 깔끔하게 정리하면... 여기서 가장 값이 작은 4를 best fitness라 하며 4를 만든 2를 best indivisual 이라고 한다. 진화를 획기적으로 하는 원동력은 돌연변이!! 영어로는 mutation 이렇게 점점 세대가 갈 수록 x값들이 작아지고 있음을 알 수 있다.. 이렇게 문제 해결해 간다 계산량이 많아 그렇지 GA로 못 푸는 문제가 거의 없다... GA 신봉