728x90

역 도립진자에 로터리 엔코더 모터가 필요한건 알겠다.

 

하지만 이걸 뭘 골라야될까 고민하다가 몇가지 자료를 찾았다.

 

 

 

1. 로터리 엔코더 작동 원리

- 자세히 읽지는 (못)않았지만 사람들의 평이 되게 좋길래 남긴다.

 

https://elecs.tistory.com/181?category=605348

 

 

 

2. 회전 역 도립진자

- 아두이노 메가를 가지고 역 도립진자 만든 자료

https://www.seas.upenn.edu/~jiyuehe/rotary-inverted-pendulum/Encoder.html

 

- 아깝게도 동영상이 나오는게 하나도 없다..

 

- 하지만 기본 하드웨어 설정이랑 소스코드 관련 내용을 정리해서 올려주셨더라

 

 

 

 

- 이 자료를 보니까 팬듈럼 엔코더에다가 짝대기를 달고, 짝대기가 하늘을 가리킬때 입력을

 -> 기준입력 r(t) = 0

 -> 엔코더 측정 값이 y(t)

 -> 오차 e(t) = r(t) - y(t)

 => PID 제어기로 오차를 줄여주도록 u(t) 생성

 

 

 

- 오차가 있으면 어떻게 차가 움직여야 할까..

 ->  e(t) < 0라면 전진. e(t) > 0는 후진 대강 이런식으로 해야하지 않을까..

 -> 오차와 모든 게인들을 정리한 값을 모터 입력으로 사용해주면 될듯하다.

https://throwexception.tistory.com/851

 

 

 

하지만 나는 로터리 엔코더가 없으니 하나 사야될것같다..

 

 

대충 준비물 정리

1. 로터리 엔코더 -> x

2. 작대기 -> x

3. 아두이노 우노보드 본체 -> 있음

4. 모터 2개와 모터드라이버, 차량(base) 몸체 -> 있음?

 

 

 

일단 준비물은 정리했으니

 

 

로터리 엔코더에서 어떻게 값이 들어오는지 보고

이에 맞게 DC모터 제어하는 방법을 고안해보자 ...

 

 

 

 

 

 

 

 

300x250
728x90

아두이노 부품에 대해 잘몰랐던것같다

 

매번 LCD, DC 모터, 스탭모터, 초음파 센서 같은게 있구나

 

정도만 알았지

 

정확히는 잘몰랐다.

 

 

 

 

그런데 역도립진자를 만들려면 회전각 측정이 가능한 모터를 찾아야 된다고 하더라

 

그런 모터를 로터리 엔코더가 장착된 모터라고 하더라

 

 

 

 

그러다보니 로터리 엔코더를 잠시 확인해보았다.

 

그런데 로터리 엔코더들 설명들이 하나같이 너무다 어렵더라

 

 

 

 

그러다가 로터리 엔코더 사용법에 대한 영상을 보는데

 

GA, GB 핀이 있고

 

GB 핀 신호가 라이징 에지일때 0이면 왼쪽

 

1이면 오른쪽으로 돌아가 있다고 한다.

 

 

 

실제로는 더 복잡하겠지만

 

라이징 에지시점의 A값을 확인해서 회전각을 안다니

 

그동안 본것보다는 더 이해가 잘된다.

 

 

 

 

 

 

 

 

하지만 문제는

 

여기서 설명해주는건 로터리 엔코더 하나만 보여주다보니

 

나는 모터 각을측정해야되는데!!

 

로터리 모터를 찾아봐야할거같다.

 

 

참 좋은 자료는 많은데

 

뭐가 좋은 자료인지 나한태 맞는지 참 판단하기 힘들다...

 

 

 

 

중간에 잠깐 본 오실로스코프

 

오슬로 스코프는 전기 흐름을 보르는 전기의 현미경

 

- 노이즈가 어디서 발생하는가? 전기의 튀김

- 시리얼 모니터로 보기도 하지만 이걸로는 판단하기 힘듬

 => delay를 주기도하지만 오실로스코프로 보면 센서가 어떻게 인식되는지 알수있음

 

 

 

 

아래 재품 성능

- 채널 1 -> 신호를 1개만 받을수 있다 (대부분 2채널)

 

 

 

 

 

 

 

 

 

 

 

 

300x250
728x90

기존의 제어 시스템을 다룬다고 한다면

 

MATLAB만 생각하고 있었다

 

 

 

그러다가 프로토타이핑 과제 떄문에 자료를 찾던 중 GEKKO라는 라이브러리를 알게되었는데

 

이 개코 라이브러리가 미분 방정식과 동역학 식같은걸 최적화해서 푸는 파이썬라이브러라리라고한다.

 

MATLAB을 쓰자니 불편하고

 

 

PID 제어기 같은걸 해보고 싶은데 파이썬으로 제공한다니 올커니 하고 영상 목록들을 봤는데

 

뭐가 많긴 많더라

 

 

 

 

이 중에서 내가 관심있는건

 

동역학 최적화와 제어를 위한 파이썬

 

제어를 위한 파이썬 플레이 리스트에서 아까본 역 도립진자 시뮬레이션을 찾았다.

 

https://www.youtube.com/playlist?list=PLLBUgWXdTBDhrs5FuoJXni-cIeNYEyxw1

 

 

일단 이걸 얼마만큼 공부해볼지 한번 생각해보자

 

여기보니 아두이노로  PID 기온 제어하는 예제도 있다.

 

https://www.youtube.com/watch?v=DQWE4SKsTQc&list=PLLBUgWXdTBDhrs5FuoJXni-cIeNYEyxw1&index=12&t=0s

300x250
728x90

1. 코코아팹 - 밸런싱 로봇

 

https://kocoafab.cc/make/view/719

 

PID 제어와 밸런싱 로봇에 대해서 소개하고있고

소스코드도 공개되어있다.

곧 분석해보자

 

 

 

 

 

 

2. 이륜 역진자 로봇의 밸런싱 제어시스템구현

- 기존의 PD 제어기에선 직접 파라미터를 실험하면서 조정했다면, 기존의 실험과 딥러닝 신경망에서 학습한 결과를 비교해보는 내용이다.

http://www.ndsl.kr/ndsl/search/detail/article/articleSearchResultDetail.do?cn=JAKO201211559435983

 

 

 

 

3. 아두이노 PID 제어 튜토리얼

- 아두이노를 이용해서 어떻게 PID제어를 하는지 코드와 설명이 같이되어있다. 나중에 한번 봐야겠다.

https://www.teachmemicro.com/arduino-pid-control-tutorial

 

 

 

4. 밸런싱 로봇 키트 제작 설명

세그웨이 같은 밸런싱 로봇 키트를 조립하고 소스코드에 대한 간단한 설명 제공

http://scipia.co.kr/cms/blog/227

 

SBOT1 아두이노 세그웨이 밸런싱로봇 제작(Feat. MPU6050, PID제어) | 싸이피아SCIPIA

여기서는 세그웨이(Segway)와 같이 두 바퀴로 균형을 유지하여 넘어지지 않는 로봇을 제작합니다. 이 로봇은 Self-balancing robot 또는 평행자동차, 밸런싱로봇, 세그웨이 로봇으로 불리우며 여기서 실

scipia.co.kr

 

 

 

 

 

 

5. 아두이노와 시뮬링크를 이용한 시스템 구현

kr.mathworks.com/videos/arduino-support-in-simulink-117736.html

 

 

 

 

 

6.  아두이노와 매트랩을 이용한 모터 제어

https://kr.mathworks.com/videos/using-matlab-and-arduino-for-motor-control-100737.html

- 아두이노 처럼 모터 실험하는 간단한 내용 크게 도움은 안될듯

 

 

 

 

 

7. 매트랩 시뮬링크를 이용한 DC 모터 제어

https://www.youtube.com/watch?v=25dU_Aq49m4

- 유용해 보이긴하나 수학적 모델링을 한 결과물을 시뮬레이션에 하는데 사용하는데 참고하면 될듯하다

 

 

 

 

 

8. 역 도립진자 프로젝트

http://mercury.hau.ac.kr/sjkwon/Lecture/2010-1%ED%95%99%EA%B8%B0%20%EC%9E%90%EB%8F%99%EC%A0%9C%EC%96%B4%EC%84%A4%EA%B3%84%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8.pdf

- 이거는 밸런싱 로봇은 아니지만 제어 시스템 설계 과정에 대해서 잘 정리해주고 있어서 많이 도움이 될것같은 마음에 가져왔다

- 이 자료에서는 opengl에서 역도립진자를 시뮬레이션했더라 이걸보고 매트랩이나 opengl 말고 파이썬에서 할수있지않을까해서 찾아봣다.

 

 

 

 

 

9. 상태 공간 모델을 이용한 역 도립진자

- 나는 기존에 제어시스템은 matlab에서만 할수있는건줄 알았으나 opengl을 이용해서 c++로 시뮬레이션 한 글을 보았다. 그러다보니 python에서 할수있지 않을까 고민해보다가 찾은 자료

https://www.youtube.com/watch?v=egPRF5PHwOo&list=UU2GuY-AxnNxIJFAVfEW0QFA&index=3

http://apmonitor.com/do/index.php/Main/InvertedPendulum

소스도 공개해 주고 계시다.

 

진짜 나도 잘하게되면 이런 자료들 실컷 만들어서 뿌려야지

맨날 남의거 주위 공부하기도 좀 그렇다 ..

 

 

 

 

 

10. 균형 잡는 로봇

https://swiz23.github.io/Portfolio/inverted_pen.html

- 당장 내가 하는 프로토타이핑이랑  크게 관련있다고 할수는 없지만 이전에 본 로봇이 공 균형을 잡는게 신기해서 캡처

 

 

 

지금까지 참 정보가 많긴 한데

 

뭐가 내가 워하는 정보고 나한태 알맞을지 참 판단하기 힘들다.....

 

 

 

 

내가 원래 생각했던건 크게 2가지 과정이 될듯했느넫

 

1. 기존의 자료를 가지고 밸런싱 로봇 완성

 

2. 제어공학적 측면에서 구성

 - 수학적 모델링

 - 보드 선도 등 방법으로 적합한 파라미터 구하기

 

자료 조사하다보니

밸런싱 로봇 조립 및 실험, 수학적 모델링 및 파라미터 구하기 뿐만아니라

 

시뮬레이션을 구현해보는 방법도 있겠다

 

 

 

300x250
728x90

 

앞으로 계속 내용 추가시켜나가자

 

 

 

 

300x250
728x90

논의사항

 

1. 하고싶은 일

- 공 균형 제어기

- 역 도립진자

- 밸런싱 로봇

- .그리퍼 외 등 ....

 

 

2. 논의 사항

2.1 디자인적 관점

 - 공 균형 제어기 : 게임적인 요소 추가

 

2.2 구현적 관점

2.2.1 공 균형 제어기

 - 할수 있는 부분과 할수 없는 부분 나눠서

  - 의견 : 대부분 만들수 있을탠대 힌지 부분은 힘들것 같음. 사서 사용?

  - 본인 : 전체 다 3d 프린터로 만들 수 있진 않을까.

 

 

3, 앞으로 계획

- 꾸준희 논의하면서 구체화 해나가자

- 교수님의 의견은 개선 사항일 뿐. 내 목표를 중심으로

 

 

300x250
728x90

컨셉잡기

 

 

1. 리서치

- 사용자 및 제품 : 사용자 및 제품 조사/시나리오 구성

- 기술 및 문화 적용 가능 or 개발 가능한가/ 사회 문화적 방향

- 디자인 트렌드 / 시장

 

 

2. 전략

- 타깃 사용자, 문제, 방법

 => 000을 위해/ 문제 123을/ ~~ 와 같이 해결한다.

 

* 문제에 대한 리스트업과 어떻게 해결해냈는가..

* HOW가 명확할때 어떤 문제가 있었는지 명확하게 인식이 가능해짐

 

 

3. 디자인 방법론

- 리서치 : 리빙 디자인 + IT

- 디자이너의 통찰 : 편견에 대한 역발상

* IOT 적인 가치를 더하여 제품 구상

=> 좋은 디자인 = 목적에 부합하는 디자인(러서치 + 통찰)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

300x250
728x90

처음 라이노 연습하면서 간단한 사각형 모델 만들기 까지 진행했다

 

 

오늘 배운 것들과 함수들

 

1. 점 연습

2. 선 긋기 (폴리 라인)

3. 곡선그리기 - 제어점 커브와 커브 보간점( shift를 눌럿더니 대각선으로 가지더라)

 

4. 원 그리기

5. 호 그리기

 

 

 

6. 커브 필릿 연결된 두 직선사이 곡선, 떨어진 두 선 사이 곡선을 부드럽게, 비슷한걸로 각지게 만드는 기능도

 

 

 

7. 트림 삐져나온 선 지우기

 

 

8. 조인, 분해 단일 요소들을 합치고 나누기

 

 

9. 서피스 , 선 요소로 평면 만들기

 

10. 상자 높이기, 원뿔 만들기

 

11. 로프트 중심 선들을 뒤덮는 입체

 

 

12. 선형치수 기하학적요소들의 길이 재기

 

13. extrudecrv 선 돌출시키기 -> 3차원화

 

14. filetedge 가장자리(모서리) 다듬기

 

 

15. blendcrv 떨어진 두 선 사이 곡선 넣기.

* 트림으로 이어진 곡선을 떨어트린후 넘어간 부분들을 자름

 

 

 

 

 

-중략 -

16. filetedge - 가장자리 다듬기

17. sweep2 윗 면에서 아래 면을 감싸는 곡면 생성

18. split 선 요소를 특점 점을 기준으로 나눔

=> sweep2에서 선 범위 지정에 활용

19. mirror 기존의 요소를 거울에 비치듯이 복제

 

 

20. 결과물 탄젠트 커브의 경우와 이를 고친후 미러한 결과물

 

 

 

 

 

300x250
728x90

아두이노로 만들수 있는 프로젝트 들은 참많다

 

 

어떻게 만드는지 등은 다 아두이노 공식 홈페이지 상에서도 제공하고 있지만

 

 

막상 그런 제품을 만들 비용과 시간, 게으름 때문에 제대로 해볼 생각은 한적이 없었다.

 

 

다행이 이번에 하드웨어와 소프트웨어를 통합한 프로토타이핑을 하면서

 

 

이제서야 한번 시도해볼 기회가 생긴것 같다.

 

 

처음에는 원래 역 도립진자를 한번 만들어보고 싶었다.

 

 

본인은 제어 공학을 공부했지만 이론적인 내용과 간단한 메트랩 실습만 조금해보았지

 

 

실제 제어기 적인 내용은 제대로 만들어보지를 못했다.

 

 

그러다보니 이런걸 다루어보고싶었지만

 

 

하드웨어를 만들줄 모르니 엄두가 안나더라

 

 

그렇게 해서 제어기와 프로토타이핑을 결합한

 

역 도립진자를 생각하게 되었다.

 

 

 

 

 

 

 

이것 자체가 석사 논문에 쓰기도 하는 내용이기도 하고

 

적당한 거라 생각하려했는데

 

* 하다 하다 삼단 역 도립진자도 있다..

 

 

 

 

아두이노 예제 코드만 몇번 놀리고 말았던 내가 하기에는 조금 힘들것 같더라

 

 

대신 이전에 조금더 간단한 예제가 생각난게

 

초음파 밸런서가 있었다.

 

 

 

 

시소 처럼 생긴 구조물 끝에 초음파 센서와 공을 놓고

 

공이 너무 가까워지면 시소를 기울려 떨어지게 하고

 

너무 멀어지면 초음파쪽으로 기울어지도록 제어하는 예제였는데

 

 

 

 

 

이런식으로

 

한번 PID 게인들 조절하면서 찾아가는 과정을 한번 해보고 싶다.

 

처음부터 역도립진자하는것보단 쉽겠지

 

 

 

 

내가 배운 제어공학을 생각하면

 

분명 많은 시간을 들여서 신호와 시스템, 제어공학을 공부했지만

 

아직도 PID 제어기가 뭔지, 해가 뭔지 잘 정리되는 느낌이 들질 않는다.

 

아마 간단한 메트랩 예제만 해보고 말았지

 

실제로 제대로 된 프로젝트를 해본적이 없어서 그런것 같다.

 

 

이번 기회에 PID 제어기가 들어간 이러한 프로젝트를 직접 만들어 보고 싶다.

 

 

 

 

 

 

만약 정말 시간이 남는다면

 

조금 더 어려운 프로젝트로

 

아두이노 강아지나 자율주행 차량용 차체 같은것을 만들어 보고자 한다.

 

 

 

이전에 자율주행 차 연구를 할때

 

하드웨어에 대해서 아는게 하나도 없어

 

장난감 자동차에다가 수백만워너치 장비들을 올려서 사용하곤 했었다.

 

 

까꿍

 

 

보기도 너무 안좋고 심하게 조잡했다.

 

다른 곳에서 로봇 만든다고하면

 

이런 장난감 차체가아니라 실제 기구 제작해서 만든다는데

 

이런것 밖에 쓸수없는게 너무 자존심 상하더라

 

 

 

 

이런거 만들어보고싶다..

 

300x250
728x90

 

개인 프로토타이핑 목표

1. 초음파 기울기 

2. 역도립진자 만들기

 

 

 

제품 디자인 프로세스

1.  디자인 방향 설정

2. 디자인 컨셉 설정

3. 스케치 1차 시각화

4. 스펙 및 개발 레이아웃 설정

5. 3d 디자인 모델링

6. 3d 렌더링 등 2차 시각화

7. 프로토 타입 등 실물 확인 작업

8. 개발 실장 검토

9. 디자인 및 개발 개선

10. 디자인 목업, 워킹 목업 제작

------------ 목표------------

11. 금형 검토 및 양산성 검토

12. 금형 제작 및 시사출 검토

    * 시사출 검토 : 전문가들이 금형을 만들어도 안되는 경우가 많음. 문제 검출 

13. CMF 시방서 및 샘플 제작

14. 품질 감리 및 양산

 

 

제품 디자인 프로세스에 관한 이야기

규모에 따라 와따가따가 건너띄기도

=> 적립이 안되고, 비용을 줄이기위함

-> 그렇다고 안되는건 아님 (목적에 부합하는것이 가장 중요, 이게 합리적일수도)

 

 

 

 

금형이란?

- 틀을 의미

 

 

 

 

드라프트?

- 사출물이 빠져나올수있는 각도를 줄임 정밀하느냐에 따라서  달라질 수있음 어떤 

=> 3d 프린팅에는 그런게 없기 때문. 어떤 형상에서든 제한이 존재하지 않음

 

 

 

 

 

디자이너 정의의 필요성

- 많은 사람들이 비전은 있지만 명확하지 않음

- 디자이너가 풀어줌

=> 깔금하게 만들어주세요라는 경우가 많음

- 스코프 정의 가 중요

 

 

 

 

일의 범위(스코프) 정의 

- 비용, 시간, 일정이 일의 범위에 따라 정해지기때문

- 비지니스  환경과 스코프 설정 이해 필요

 

 

 

 

 

 

대기업과 디자인

- 어느정도 설정이 정리되서 온다

- 디자이너들은 이 제품이 동작과 기능 어떻게 심미적으로 아름답게 보이는지 신경을 많이 쓰임

    => 컨셉 설정의 많은 부분 차지

- 디자인 리서치 팀도 따로있음 

    => 체계화가 되있으나 경험의 폭이 좁음

- 학생들이랑 비슷 판넬에다 아이디어 키워드 붙이고 정리

 

 

 

 

스케치와 시각화

- 바로 3d도 문제될수 있으

- 스케치, 모델링 다 과정

- 3d로 해봐야디겟느넫 3d해보고 유기적으로 와다가다가 중요

- 스케치 멋잇게 해봣자 결과 안나오면 otl

- 스캐치 상에서 개발 관련된 얘기는 잘하지 않음. 그러다 잘못되는 경우가 많음

 => 스타트업이 의사결정이 빠르다 ...

 

 

 

레이아웃

- 완성된 제품을 봤을때. 산출물 껍데기를 뺀 상태를 레이아웃

- 레이아웃이 있어야 겉데기를 만들수 이따

- 레이아웃이 와따가따하다가 3d 디자인 검토

 

 

 

랜더링

- 키샷 같은 프로그램으로 얘기해보면 좋을듯

- 제대로된 후가공은 힘들듯

 

 

개발 실장 검토

- 개발이 가능한지 여부를 다룸

 

 

 

 

디자인 프로세스 필요 역량

- 다음 기술을 기반으로 캐드와 프로토타이핑 와따가따

- 비슷하진 않더라도 거슬리지 않게 하기도 힘듬

 

 

 

 

디자인 프로세스 장비

1. 3d cad(라이노)

 - 3d 형상 제작 및 데이터화

 - 컨셉 정리

2. 3D 프린터

 - 프로토타입, 부품, 양산 등에 활용 가능

 - 퀄리티에서 변수 존재

3. 레이저 커터

 - 2d 작업에 적합(판을 자르는ㄷ ㅔ 사용)

 - 2d 이상 작업 힘듬. 열로 인한 마감 문제 발생

 

 

 

 

3D CAD 개념

1. 폴리곤 모델링

- 유기체에 적합

- 다양하고 자유로운 표현 가능

- 수취화 힘듬

 

2. Nurbs 모델링

- 고정 물체에 적합

- 정량적이고 수치화에 용이함

- 자유로운 표현이 힘듬

 

 

 

 

 

 

프로토타입 목표 - 구체화 ver.1

1. 가장 간단한 프로젝트 

 - 초음파 발란서

2. 중간 난이도 프로젝트

 - 역 도립진자

3. 고 난이도 프로젝트

 - 중형 자율차 차체

4. 초고난이도 프로젝트

 - 개 로봇

 

 

 

 

300x250

+ Recent posts