작성 중~ 

 오랜만에 로봇팔 포스팅입니다. 

 

직장 일이나 집 이사가 있어서 계속 포스팅을 미루고 있었네요.  블로그 작성하면서 사람들 의견도 듣고 싶었는데 쉽지 안네요.~  서로 도움이 될 부분이 무엇일까~ ㅎㅎ

 

지금까지 만들던 로봇 팔은 하드웨어적으로 문제가 있었고, 출력 필라멘트 소재가 깨지고, 갈라지는 현상이 있었습니다. 처음 3D 프린터를 사용하면서 소재에 대한 생각이 짧았네요. 

 

일단 지금까지 만들었던 로봇팔은 분해 했습니다. 만드는 시간도 오래 걸렸지만 분해하는 건 금방 걸렸어요. 

 

그리고 이번에 다시 제작한 방식은 와이어를 사용하지 않고 타이밍벨트를 이용한 방식으로 재 구성했습니다. 

 

Fusion 360 프로그램을 이용해서 만들었는데 생각보다 금방 배우고 사용할 수 있었습니다. 

6축 로봇 암 부품

ABS 소재를 이용하여 출력했고, PLA에 보다 좀 더 단단한 느낌힘니다. 예전처럼 깨지는 일은 없을 듯합니다.

프린터가 2대가 있으니 기다리는 시간도 줄어들고 만드는 시간을 단축할 수 있었어요 ㅎㅎ 

그리고 계속 프린팅 하다 보니 설계할 때도 수축을 감안해서 설계할 수 있게 되었습니다. 이 부분이 로봇 암 만들면서 가장 발전했네요. ㅎㅎ  

 

 

 

 

 

시간이 없어서 자세한 설명은 다음 포스팅에 올리도록 하겠습니다.~

 

 

 

 

 안녕하세요. 평생개발자 입니다. 

 

로봇팔 제작 프로젝트 7번째 포스팅!!!

 

취미로 시작해서 점점 프로젝트가 커지고 있습니다. 재미가 있다가도 집에서 일하는 것 같고 직장 일과 묘하게 겹치면서 집에서도 근무하는 느낌입니다. 

 

 

이번 포스팅은 SW 에서 로봇 동작을 시뮬레이션하고, 실제로 로봇이 실제 위치로 움직이는 것을 목표로 두고 있습니다. 

3D 모델링

 

3D 렌더링

 

 

3D 렌더링과 동일한 로봇 하드웨어

 

 

로봇팔 제어 SW 

 

로봇 시뮬레이션에 필요한 inverse kinematics, 충동 체크, Lader scan 등을 수행하기 위한 GUI 

사용된 SW library

Eigen : 선형대수 계산

OpenGL : 그래픽 표현

MFC : 윈도우 프레임 GUI

 

 

 

 

 

로봇 DOF 각도 테스트 영상

 

 

 

 

robot inverse kinematics 

 

 안녕하세요. 평생개발자 입니다. 

 

로봇팔 제작 프로젝트의 6번째 게시글입니다.  초기 계획 단계부터 지금까지 1년의 시간이 지낫네요 ㅠㅜ

아무래도 직장생활을 하면서 취미생활로 추가적인 로봇팔 프로젝트를 진행하다보니, 집에서 작업하는 게 가끔은 업무처럼 느껴집니다. 

 

 

 

로봇팔 SW개발하기 앞서 Visual Studio에서 제공하는 UML 프로젝트로 먼저 SW 설계를 진행했습니다. startUML로 초기 설계를 했었는데 너무 오래된 툴이기도 하고, 처음으로  Visual Studio UML를 사용해보고 있습니다. 

 

프로젝트 요구사항은 

1. 모듈화 및 확장성 다양화

2. 2D, 3D Viewport개발

-  역기구 알고리즘 (로봇 관절 시뮬레이션)

3. Robot Bin Picking 

- Template matching (end effector 카메라 이용) 

4. 병렬화 처리 (multi core, simd)

5. 캘리브레이션

 

 

이제 간단하게 프로젝트 진행 과정을 살펴보겠습니다.

 

Visual Studio Project 생성 -> Modeling Projects

VST(VisionSimulationTool) 프로젝트 생성

 

 

UML Model Explorer    ADD -> Class 추가

프로젝트 생성 후 예상되는 개발 시나리오에 요구되는 클래스를 추가합니다.  

그리고 모듈화 상속관계를 예상하고, 인터페이스를 설계하고 정의합니다.

 

 

Solution Explorer    Add -> New Item     UML Class Diagram 선택

앞서 클래스를 추가 후 클래스 다이어그램을 생성합니다.  (클래스 다이어그램에서 클래스를 추가하셔도 무방)

 

 

 

 

Class Diagram   Class 상속관계 정의

클래스 다이어그램에서 클래스의 관계를 연결 짓습니다.  개발 스타일마다 다르겠지만, 저 같은 경우 처음 큰 틀로 클래스 구조를 잡고, 세부 클래스 변수, 함수를 추가합니다.  

 

 

 

 

Viewport 클래스 설계

Cwnd를 상속받는 VwBaseView는 자식의 2D, 3D, Profile(Chart)를 관리하고, 상황에 따라서 스위칭 가능한 구조로 설계를 하였습니다.  

 

 

2D View Draw Item 설계

VwBaseView 클래스에 정의된 2D DrawItem 은 상위 부모인 BsNameObj의 클래스 이름을 검색하여 Item를 찾는 구조로 설계하였습니다. 

 

 

 

3D Viewport 구조

VwCloud 클래스에 정의된  

GLMngr 클래스 : (GLSL, VBO, CallList)

VwRestoreRC : openGL 리소스 할당, 해지

VwCloudCamera : 3D Viewport 시점 관리

데이터 탐색으로 KDTree 사용 - 8~16 step

 

 

3D View Object Item 설계

VwCloud 클래스에 정의된 Object Item으로 순서대로 Paint가 되는 구조며, 각각 Object의 Metrix 가 존재함.

 

 

 

2D, 3D Viewport 구조

 

구조를 다시 잡아야 하는 상황을 사전에 방지하기 위해선 반드시 SW 구조 설계하면서 구현에 필요한 기술을 사전에 많이 조사하고 정리하는 습관을 연습하고 있습니다. 

 

 

이제 각각의 예상되는 클래스에 변수, 함수를 정의하고, 구현합니다. 현제 개발 진행도는 50% 정도 되었습니다. 

 

3D 데이터 구조를 잡으면서 가장 혼란스러웠던 부분이 SOA <-> AOS를 병행 하는 구조, 그리고 SIMD 처리하면서 발생되는 메모리 처리였던 거 같습니다. SOA <-> AOS 변환은 SSE, AVX 두 개가 거이 동일한 성능 차이를 보이고, 포인트 수에 따라 차이는 있지만 SISD 보다 약 1.5배 이상 성능 차이를 보입니다. 

이해를 돕기 위해 코드로 생각해보면

struct Point

{
float x;

float y;

float z;

}

Point pt [1000]; //SOA 구조

 

//AOS 구조

float x [1000];

float y [1000];

float z [1000];

 

이렇게 됩니다. 

 

병렬 처리에 유리한 구조가 AOS 가 되고, 렌더링 Shader에 보내기 위해 SOA 구조로 변경하게 됩니다. (vertex shader copy 하기 유리함.) 

 

다음 포스팅에서는 로봇에 붙어있는 Laser distance Sensor 데이터를 360도 맵핑해서 3D로 렌더링 하는 프로그램을 보여드리겠습니다. 

 

 

 

by. 평생개발자

 

 

 

 벌서 다섯번째 포스팅 입니다. 

기구적으로 어느정도 5축 까지는 완성되었는데 마지막 축을 결정하는데는 좀 더 시간이 걸릴것 같으므로, 제어를 시작 했습니다. 

 

시작한지 1~2주만에 제어부를 완성 했습니다. 예정에 "2-wheel Balance robot" 만든 경험으로 시행착오 없이 금방 만들었어요~

 

오늘까지 완성된 로봇팔 입니다. 

오른쪽에 있는 빨간 버튼은 긴급정지 버튼 입니다. 좌표를 잘못 설정 했다면 빠른속도로 정지해야겠죠?

PID 제어를 사용해서 속도와 각도를 제어하고, 모터에 대한 피드백을 지속적으로 받을 수 있습니다.

 

 

목표 지점까지 이동하는 영상입니다. 

 

 

약 10mm 를 1000단계의 분해능으로 20초간 움직이는 영상입니다.

 

 

 

 

 

 

 

이제 개선 과정을 볼까요? 

 

 

5DOF 구성 사진 입니다.  끝 부분이 완성되면 6축이 됩니다.

 

 

 

배선 정리 입니다. 26개의 선을 하나하나 이어 붙입니다. 엔코더 선과 모터 선이 일치하도록 끝마킹을 합니다.(다시 풀지 않으려면 ㅋ)

 

 

 

 

배선 정리 후 모터 전류제어 보드를 연결합니다. 좌측 보드로 테스트해봤었는데 모터 순간 전류에 빠르게 발열이 올라가서 사용 못 하고, 10A 짜리 보드로 교체했습니다.

 

그리고 엔코더 펄스도 확인하다가 6개 모터 중 1개 모터가 엔코더 카운팅이 이상해서 체크 해보니 Hall Sensor 와 자성 축 센서 간의 거리가 멀어서 AB 신호 구분이 명확하지 않은 문제를 조정하였습니다.

 

 

이제 MCU 를 사용해서 PID 제어 알고리즘을 넣었습니다.  모터를 모델링할 수는 없어서 빠른 속도로 Goal Position에 안정적으로 도달될 수 있도록 상수 값 비례(Proportional),

적분(Integrator), 미분(Differential) 값을 적절히 조절하였습니다.

 

모터 조정 간격(Sampling)은 14khz 입니다. 예전에 밸런스 로봇에 적용 했을때는  200hz으로 오차 보정시간이 걸렸었는데 지금은 훨씬 빠른 속도로 보정됩니다.

 

 

그리고 하나의 Slave MCU는 3개의 모터를 제어하고 MCU 는 2개의 Slave를 제어합니다.

 

 

 

  

MCU 셋팅하는 모습입니다. 클럭을 맞추려면 데이터시트를 참고 해야하는데(AVR 당시..), 

이 프로그램을 사용하면 자동으로 셋팅 됩니다.ㅋㅋ

 

 

그리고 오랜만에 MPU 개발하니까 재미있었네요 ㅋㅋ 

AVR 당시에는 예전에 개발한 코드를 참고하면서 개발 했었는데 

지금은 STM32CubeMX 라는 ST 에서 제공하는 툴을 사용하여 초기셋팅을 했는데 많이 편리합니다.

 

 

 

브래드보드에서 동작 확인 후 만능기판에 작업을 합니다.  (소요시간은 3시간) 

정상 동작하는하는걸 보니 아직 실력이 죽지 않은것 같습니다. 

 

 

 

모터 1회전 분해능은 22660이며, 1~3관절부 1회전은 185738 이 됩니다. 4~6관절부 1회전은 133731 됨니다.  

 

각 관절 해상력은 충분히 나올 수 있도록 설계되었기때문에  0.1mm 정밀도가 나올것이라 기대하고 있습니다. (감속기어 백레쉬가 커서 반복정밀도는 안나오겟지만요. ㅜ)

 

이제 역기구설계를 통해서 카테시안좌표로 모든 관절이 움직입니다.

 

다음 포스팅에서는 소프트웨어를 통해서 로봇 시뮬레이션하는 과정을 보여드리고자 합니다. 

1. 로봇 캘리브레이션 하기 (엔코더 위치값 초기화)

2. 원하는 좌표로 이동하기 

3. 카메라를 사용하여 로봇과 월드좌표계 캘리브레이션후 마커 인식포인트로 이동

 

3가지 목표 입니다.  ㅋㅋ

 

 

1,2 을 얼른 끝내고  3번 영상처리를 시작하고 싶습니다. 전공 살리기 힘드네요 ㅋㅋㅋㅋㅋ

 

 

 

 

 

1920x1080 60fps USB3.0 카메라 입니다. 영상처리를 해보니 디코더가 내장되어 있어서 손실압축을 하는것 같네요. 

고품질 영상을 얻을 수는 없겠지만, 정지영상에서 물체를 식별할 수는 있습니다. 

 

카메라 케이스 제작하여 알루미눔 프로파일에 장착을 합니다.

 

 

짜잔~

lidar는 Slam에 사용하려고 잠깐 테스트 했었는데, 성능 테스트겸 집을 대상으로 위치를 추정해보려 합니다. 

 

 

 



 

 

 

각 위치로 이동하는 테스트 입니다. 

 

 

 

3D Printer 로봇팔 제작 - 6 편을 기대해 주세요~ 

 

 

'취미 > 3D Printer 로봇팔' 카테고리의 다른 글

3D Printer 로봇팔 제작 - 7  (0) 2019.07.18
3D Printer 로봇팔 제작 - 6 (SW 설계)  (0) 2019.04.06
3D Printer 로봇팔 제작 - 4  (3) 2018.05.05
3D Printer 로봇팔 제작 - 3  (1) 2018.02.05
3D Printer 로봇팔 제작 - 2  (0) 2017.11.12

 안녕하세요. 평생개발자입니다. 

정확히 3개월만에 로봇팔 제작 포스팅 한만큼 진도가 많이 나갔습니다. ㅎㅎ

3D Printer 로봇팔 제작 - 3 에서 큰 변화는 관절(Joint) 부분 입니다.  3D printer로 출력하여 경도가 낮아 뒤틀림 현상이 가장 큰 골치거리 였습니다.  

 

 이번 포스팅에서는 좀 더 로봇 팔 처럼 뼈대를 단단히 잡고 각 관절을 움직일 수 있도록 하여 

다음 3D Printer 로봇팔 제작 - 5 에서는 기구파트 부분을 마무리 예정입니다. 

 

 

 

 

 

 

  

초기 관절 버전에서는 3D Printer 출력물이 기준으로 축을 잡고 있었습니다. 하지만 문제가 발생 되었던 부분은  로봇팔이 6축으로 움직이고 회전이 발생될때 축 자체가 뒤틀리는 현상으로 관절이 버텨내지 못했습니다. 

왼쪽 사진의 개선 된 방식으로 모든 관절이 동일한 형태로 모듈화를 하였고, 

베어링과 고정 축을 밀접하게 볼트로 잡아 줄 수 있는 구조로 문제를 해결 했습니다.

 

 

 

 

 

  

3D Printer Nozzle size 가 0.4mm 로 층 쌓는데 수치를 실 크기로 잡으면 볼트가 안들어가고, 베어링도 안들어 가더군요. 치수 설계시 +0.2mm 추가 했습니다. 내경에 들어갈때는 -0.2mm 

하나찍 출력해서 맞춰가는 작업이 시간이 많이 걸렸네요 ㅜㅜ

 

 

 

 

 

  

관절 모듈 제작과정 1

 

 

  

 

관절 모듈 제작과정 2

 

 

  

관절 모듈 제작과정 3

 

 

 

 

 

 

  

장력을 일정하게 유지하게 만드는 케이블 작업입니다. 

아이디어는 MTB 고급? 변속케이블에서 착안 했습니다.  

 

  

장력을 일정하게 유지한다는 말이 무슨말이냐면, 테프론 호수에 케이블을 넣어서 각 관절을 움직이게 됩니다. 문제는 장력이 높아지면, 테프론 호수가 견디지 못하고 길이가 줄어들게 되는 현상이 발생됩니다. 

그래서

테프론 호수가 줄어들지 못하도록 형태를 잡아주는 케이블 가이드를 만들었습니다.

 

 

 

모터 뭉치 그리고, 관절에 케이블을 연결하게 되는것 입니다. 

 

 

 

지금 까지~~~

 각 파트를 점검 했습니다. 

이제 로봇 뼈대를 고정할 바닥 부분과 6축 로봇 팔을 연결 하도록 하겠습니다. 

 

 

 

  

바닥 부분과 뼈대 조립 과정 1

 

   

  

바닥 부분과 뼈대 조립 과정 2

 

 

 

 

   

6축 로봇팔 뼈대가 완성된 형태 입니다. 

이제 로봇팔 형태가 이제 보이시나요???   

회사 야근하면서도 집에서 틈틈히... 틈틈히.. 만들었습니다.   ㅇ_ㅇ;;;

 

 

이제 각 모터를 관절에 연결하는 작업이 남아 있습니다. !!!

 

 

 

최대 이동 속도 입니다.  토크는 240kg/cm 이 되겠습니다. 

 

느린 속로도 2, 3번째 관절 이동 영상 입니다. 

아직 전자 제어가 들어가지 않아서 모터 속도가 일정하지 않은점을 감안하셔야 합니다. ㅋ

 

 

 

 

 

후~~~

 

여기까지 

3D Printer 로봇팔 제작 - 4 제작 포스팅을 마치겠습니다.

 

3D Printer 로봇팔 제작 - 5 을 기대해 주세요^^

 

 

 

 

 

3D Printer 출력 해보셨던 분은 이러한 현상 격으시면 정말 화가 나실꺼에요(8시간 짜리)..ㅋ

모터 탈조가 발생되어서 다 밀려버렸네요 ㅜㅜ 

나중에 close loop모터로 개조 해봐야겠습니다. ㅋ

 

 

 

 

 

 

 

'취미 > 3D Printer 로봇팔' 카테고리의 다른 글

3D Printer 로봇팔 제작 - 6 (SW 설계)  (0) 2019.04.06
3D Printer 로봇팔 제작 - 5  (1) 2018.06.09
3D Printer 로봇팔 제작 - 3  (1) 2018.02.05
3D Printer 로봇팔 제작 - 2  (0) 2017.11.12
3D Printer 로봇팔 제작 - 1  (0) 2017.11.12

 안녕하세요. 평생개발자 입니다.

틈틈히 로봇팔은 만들면서 구조적 결함을 찾고 수정하면서 경험을 쌓고 있지요~

요즘 힘든 부분은 회사 업무도 많고 집에 밤늦게 들어오다보니 머리로는 해야한다!!!!  

그러나... 몸은 이미 누워 있지요.. ㅜㅜ

 

암튼, 3D Printer 로봇팔 제작 - 3 제작기에 말씀드리겠습니다.

전에 3D Printer 로봇팔 제작 - 2 이때는 와이어에 문제가 발생 했었습니다. 와이어재질이 철이다 보니 로봇팔 속에서 반복적인 꺽임 동작으로 끈어지더군요... 

지금은 낙하산에 사용되는 섬유질로 된 와이어를 사용해서 해결 했습니다. 강력하고 좋네용

 

모터를 사용해서 로봇팔 을 움직이는 단순한 실험을 했습니다. 

아직 모터 컨트롤러는 만들지 않았고, 기구적인 것부터 만들고 소프트웨어는 나중에 만드려고 계획을 잡고 있습니다.

 

모터 뭉치 입니다. 이전에 설명 드렸던 엔코더 23RPM 감속 DC모터 입니다.

 

 

 

모터 뭉치 부분과 Wire Guide 결합 모습입니다. Wire Tension을 잡기위한 구조를 잡고 있습니다. 강력한 Spring도 같이 추가하면 Tension을 좀더 수월 하게 잡을 수 있겠습니다.

 

 

Wire Guide 만들기위해서 다양한 실패과정은 안 비밀.....

 

 

 

 

 

2L = 2kg 무게를 가뿐하게 들어 올릴 수 있습니다. 당연히 들어 올릴 수 있어야 합니다. ㅋㅋ

로봇 총 길이가 1m로 설계했기 때문에 모터에도 크게 부하 없이 들어 올릴 수 있었습니다.

 

 

 

 

책상이 참 어지러운 모습이 먼저 보이실꺼지만.... 로봇 팔 끝(End effector) 부분에 집중ㅋㅋ

1단게 모터에서 부터 분해능이 끝 부분을 최대한 정밀하게 움직일 수 있어야 하는데...

크..다큰 또하나의 문제.. 백레쉬(backlash)~~

 

Wire 방식이기도 하고 기구적인(플라스틱) 문제도 있고... 장점은? 가격이 싸구나...

 

 

 

 

 3D 프린터로 출력 물이 프라스틱(필라멘트) 이기때문에 모터힘을 이기지 못하고 결국 모터 연결 부위가 뭉개져 버렸네요....      (으아아악)

이부분 원 지름을 줄이던가... 이부분 만큼은 알루미늄으로 주분제작해야하지 모름니다.

 

 

 

모터 뭉치 6개 달면 딱 맞는 길이 입니다. 

 

 

모터 전류제어용 모드 입니다. 좌측이 L298, 우측이 별도의 10A FET로 구성된 보드 입니다. 

 

 

Jtag 와 ARM 

(우선 기구부터 하자.....)

 

 

 

 

 

 

 

오늘의 결론..

목표로 완벽하게 만들려면 돈이 많이 드니... goal 지점까지 로봇팔이 천천히라도 좋으니까 도착 했으면 좋겠다.. 입니다....ㅜㅜ

모터 뭉치 고정은 잘 되었고, Wire Guide를 좀 손보고 나면 모터 부분은 끝이 나고

이제 로봇팔 기구를 재설계 합니다. 

 

 

3D Printer 로봇팔 제작 - 4는 새로운 모습으로 뵙겠습니다. 

 

by 평생개발자 ㅇ_ㅇ

 

 

 

 

 

 

 

 

'취미 > 3D Printer 로봇팔' 카테고리의 다른 글

3D Printer 로봇팔 제작 - 6 (SW 설계)  (0) 2019.04.06
3D Printer 로봇팔 제작 - 5  (1) 2018.06.09
3D Printer 로봇팔 제작 - 4  (3) 2018.05.05
3D Printer 로봇팔 제작 - 2  (0) 2017.11.12
3D Printer 로봇팔 제작 - 1  (0) 2017.11.12

안녕하세요. 평생개발자 입니다. 

알루미늄 프로파일을 사용해서 로봇 프레임을 설계하고 있습니다. 로봇 총 길이가 1m 가 되고 로봇 끝 툴(End effector)가 들 수 있는 무계는  60kg.cm * 4(감속) 해서 약 240g를 들 수 있습니다.  Goal 까지 최대 시간은 6초로 설계하고 있습니다.

 

3D Printer로 로봇 관절 부분 제작 및 테스트

베어링 외경이 42mm 내경이 25mm 입니다. 설계 프로그램을 오토데스크 123D를 사용해서 설계하고 있는데 프로그램이 간단해서 초보자도 금방 설계 할 수 있을것 같습니다. 저는 3D Max 경험자라 빨리 익숙해 졌습니다. ㅋ

시뮬레이션을 할 수 가 없어서 인벤터 하나 배워두면 좋을것 같아요!! ㅋ

 

 

로봇 관절 부분 지름을 늘려서 6시간 동안 출력했지만...

퇴근 하고 집에 도착해보니 중간에 탈조가 일어나서 망했네요 ㅜㅜ

 

 

좀 더 출력하기 유리한 구조로 설계에서 다시 출력 했습니다.

관절 내부 구조 입니다. 베어링과 볼트, 너트 결합 과정.

 

관절 외부 출력

중간에 서포트를 만들지 않기때문에 가공하기 편했습니다.

참고로 설계하실때 3D 프린터 오차를 고려해야 합니다.

설계 치수와 실제 치수와는 차이가 있습니다. 저 같은 경우는 3D Printer 노줄이 0.2mm 이기 때문에 설계시 0.1~0.2mm 정도 감안하고 있습니다.

 

관절 부분 조립 과정

 알루미늄 프로파일 속으로 와이어 삽입, 베어링를 사용해서 와이어 마찰을 줄임.

와이어를 사용하는 이유는 로봇팔을 최대한 가볍게 만들기 위함 입니다.  

 

관절 결함

결합부를 깔끔하게 라운딩처리했습니다. ㅎㅎ

 

 


관절 부분 테스트를 위해서 간단하게 바이스에 고정

 와이어를 당겨서 팔 부분을 반복적으로 움직였더니 문제점이 발생되었습니다.

와이어가 관적 부분에 너무 꺽이여서 들어가서 마찰이 증가되었고 스틸와이어 내구성 문제 입니다.  

해결점을 모색해봐야겠습니다.

 

 

 

와이어를 당겨서 팔 움직이는 모습니다. ㅋㅋㅋㅋ

모터는 구조를 다 잡고 장착할 생각인데 와이어 방식을 어쩌면 포기해야할지 모르겠습니다.ㅜ

 

 

 

 

 

 

'취미 > 3D Printer 로봇팔' 카테고리의 다른 글

3D Printer 로봇팔 제작 - 6 (SW 설계)  (0) 2019.04.06
3D Printer 로봇팔 제작 - 5  (1) 2018.06.09
3D Printer 로봇팔 제작 - 4  (3) 2018.05.05
3D Printer 로봇팔 제작 - 3  (1) 2018.02.05
3D Printer 로봇팔 제작 - 1  (0) 2017.11.12

안녕하세요. 평생개발자 입니다.

사실 1년 전부터 만들려고  계획(목표세우기)을 세웠지만....  현실은~~ 1년 쉬었죠 ㅋㅋ

지금은 작업공간도 생겼고 만들고 있었던걸 좀 더 실천하고 있습니다. ㅋ

 

그래서 우선 로봇 기구적인 부분을 역학적(inverse kinematics)으로 알아야 하기때문에 미리 분석을 했고, 6 축 로봇팔을 만드려고 도전 하고 있습니다. 

 

인터넷에서 괜찬은 예제를 찾았습니다. ㅎㅎ

http://robot.glumb.de/

구현하려고 하는 방향과 일치하고 저도 inverse kinematics를 동일하게 3D시뮬레이션 한 로봇 움직임을 나타날 예정입니다.  

기능이 추가될 부분은 충돌방지와 학습(Teaching)인데  학습을 할려면 모터 엔코더 피드백을 얻어서 학습을 시켜주면 되는데 제가 가지고 있는 모터 감속비가 너무 높아서(1/515) 물리적으로 직접 모터를 돌리기 힘들것 같습니다. ㅜㅜ

DC모터 사양은 

24V 1회전 11Pulse,  Hall Sensor, 24w, 기어비 1/515, 20rpm, 토크 : 60kg.cm

 

 

DC모터를 회전시킬 L298N 드라이버 입니다. FET로 일일이 납땜하기는 귀찬아서 저렴한 가격에 먼저 구매 했지만 모터를 돌리기에는 용량이 부족해서 나중에 교체할예정입니다.  

 

 

 

 

로봇팔 몸체 회전에 사용될 폐회루프 서보모터 입니다.  모터 제어에 관심이 있어서 구매 했었는데 지금 사용할 기회가 생겼네요.  micro step 분해능이 40000 입니다.  그러니까 1.8Degree 를 4만으로 분해합니다.  즉 최소 0.000045도씩 이동가능? ㅋㅋ

시간 있을때 한번 micro step 펄스만들어서 step motor 제어해보고 싶네요. ㅋ

 

 

 

제어 MCU  STM32F103  입니다. F1 시리즈는 부동소수점유닛(FPU)가 없어서 소수점 연산에 딜레이발생을 우려하고 있습니다. 

MCU는 총 3개가 사용합니다.

MCU에 사용될 Pin 수는 모터 좌우 회전 2Pin, 엔코더 2Pin,  UART or I2C 2Pin 

 ->  MCU slave 1 = 모터 3개 + 통신 = 14Pin

 ->  MCU slave 2 = 모터 2개 +  폐쇄루프모터(2Pin) + 통신 = 12Pin

 ->  MCU master  = WiFi 모듈 + 통신 = 5Pin (모듈 동기화, 목표 도착 시간 계산, PC 연동)

Jtag로 다운받아서 사용할 생각이였는데 찾아보니 아두이노 사용 할 수 있겠습니다.  

예전에는 Atmel만 가능 했는데 이제는 Arm도 가능하네요. ㄷㄷ

 

 

 

ESP-12F  와이파이 모듈 입니다.  요즘에는 Wifi모듈도 저렴하네요.  

 

volt step down 보드 입니다. 회로도 간단하고 LDO를 많이 사용했는데 전력소모때문에 Buck Converter로 사용합니다. 사용하기 쉽게 모듈화가 잘되어 있습니다.

 

 

알루미늄 프로파일을 사용해서 뼈대 작업중에 있습니다. 관절 부분을 설계중입니다. 

 

 

 

'취미 > 3D Printer 로봇팔' 카테고리의 다른 글

3D Printer 로봇팔 제작 - 6 (SW 설계)  (0) 2019.04.06
3D Printer 로봇팔 제작 - 5  (1) 2018.06.09
3D Printer 로봇팔 제작 - 4  (3) 2018.05.05
3D Printer 로봇팔 제작 - 3  (1) 2018.02.05
3D Printer 로봇팔 제작 - 2  (0) 2017.11.12

+ Recent posts