본문 바로가기

Sim2Real/Acrobot

Simulation to Real. #3 [Acrobot-하드웨어 만들기 ①]

728x90
MODEL & SUPPORTER

그림 1. Link1,2 제작

 

일전에 모델을 만들고 나서, OSC로 간이 테스트를 해보니까

Rotary의 무게가 생각보다 많이 나가서 Motor의 기저부가 요동치는 모습을 보였다.

그래서 강철판 위에다가 고정시키기 위해, Motor Supporter를 제작하게 됐다.

 

그림 2. MOTOR SUPPORTER

 

23시간에 걸쳐서 Supporter가 제작이 됐는데,

3D Printer 오차를 고려해서 1.5mm 정도 내경을 더 키웠다.

그러고 나서 모터를 끼우는데

 

그림 3. 긴급 시술

바로 뿌셔졌다.

 

그래도 FRONT_SUPPORTER는 나름 잘 들어맞아서

SUPPORTER 한 개만 써도 모델 자체의 반동은 잡을 듯하다.

모터의 앞부분 내경과 뒷부분 내경이 1mm 정도의 차이가 존재하는데,

3D 프린터의 오차를 고려해서 조이는 형식으로 설계한 것이

이런 부분에서 큰 도움이 됐다.

그림 4. 콱 잡은 모습
그림 5. Agent 부분 

또 설계를 해보고 나서 알아챈 건데, Rotary의 Line이 철판에 닿는 오류가 있었다.

Link를 좀 더 길게 했어야 했나 하는 생각이 들었는데,

그것보다는 SUPPORTER의 기둥 부를 좀 더 낮추는 게 더 낫다고 생각한다.

Link가 길어지면 Torque가 증가하니까 기왕이면

모터에 가해지는 힘을 줄이는 쪽이 나아 보인다.

 

이 부분은 최대한 Motor를 앞으로 빼내는 식으로 대체했고

SUPPORTER를 Grab부분을 더 강하게 조여서

기울어짐을 최소화했다.


Controller Hardware Setting

 

이제 전반적인 틀을 잡아 보고자 간단하게 칠판에 요약해 보았다.

그림 6. Sim2Real 간략도

하드웨어 적인 측면에서 Setting 하는 건 생각보다 쉬워 보였다. 

Control 자체는 NI를 사용할 것 같은데,

Analog Output이 있어서 일단 NI를 써보기로 했다. 

 

무엇보다 Labview시스템은 Python 3.8을 지원하고
GUI방식이다 보니 Control 코드 자체가 쉽기도 해서 도전해보는데,

Ubuntu를 지원하지 않다 보니 Windows로 왔다 갔다 하면

좀 번거로울 수도 있다 생각한다.

그림 7. 실험실에 남아있는 부품들

위 부품들을 재활용해서 Control 하게 되는데 이부분이 완성되면

Acrobot - 하드웨어 만들기 ②를 업로드 하겠다.

 

뭐 여차해서 안되면 Arduino로 옮겨 타면 된다고 생각한다.


번 외로 하드웨어나 소프트웨어적인 측면으로 도움이 되는 곳이 있는데,

RL에 관한 다양한 아이디어들을 얻을 수 있는 아래 오픈 채팅 커뮤니티를 추천한다.

https://open.kakao.com/o/gKJkS9zb

 

RL.start()

#강화학습 #ReinforcementLearning #RL #ML #DL #딥러닝 #머신러닝 #텐서플로우 #케라스 #파이토치 #스터디

open.kakao.com

 

위 링크에서 선이 꼬이지 않게 설계하는 방법이나

pth파일을 어떻게 어떤 식으로 load 시킬지에 대해

다방면으로 정보를 얻을 수 있었다.