728x90

개발 관련/프로젝트 61

로봇제작 - 아두이노 테스트 코드 수정 아두이노 로봇암 동작의 테스트 코드를 좀 수정했다. 반복되는 것을 배열로 정리하고 좀 더 수정하기 편하게 보완하였다. 이전 것은 테스트 명령어를 반복적으로 주면 오류가 있었다. 이것도 함께 보완하였다. 이참에 앱에서는 간단한 것은 명령어 함수로 보내고 물건 집는 것과 제자리 돌아가기 등의 정해진 동작은 아두이노에 미리 만들어서 넣으면 오류 확률이 더욱 줄 것 같다. 그리고 동작에 대한 입력 값이 있을 경우에만 서보모터에 연결되어서 잡음이 들리지 않는다. 모터 또한 전력이 들어가지 않아서 배터리도 절약할 수 있지 않을까 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37.. 개발 관련/프로젝트 2024. 3. 31.
로봇제작 - 로봇암 전체 동작 테스트 아직 배선 정리가 잘 안 되지만 지난번 조립한 것을 전체 동작을 확인해 보기 위해 아두이노 자체적으로 테스트 코드를 작성하였다. 결과적으로 동작이 너무 휘청휘청 거린다..;;; 이건 뭐 어쩔 수 없겠다. 담엔 좀 더 튼튼한 프레임으로 해봐야겠다. 모두 완성되면 현재의 프레임을 3D나 이미지로 출력한 곳에 측정 수치를 별도로 적어놔야겠다. 어쨌든 프로토타입의 하드웨어 부분은 완성되었다고 보면 될 것 같다. 다만 배선 부분은 첫 번째 프레임 밑에 아크릴을 뚫어서 그쪽으로 배치해야겠다. 자꾸 걸려버린다.;;; 아두이노의 테스트 코드는 아래와 같다. 배터리 절약을 위해 로봇암을 움직이지 않을 때는 연결을 해제하고 움직일 때 연결하도록 코드를 구성했다. 모터 동작 소리가 자꾸 거슬려서 그렇게 처리했더니 조용하다... 개발 관련/프로젝트 2024. 3. 28.
로봇제작 - 하드웨어 조립 일단 완성 일단 그립 부분을 완성하고 전체적인 조립을 진행했다. 이와 함께 각각의 서보모터들도 각 해당 핀들에 할당하여 조립과 연결 모두 완료되었다. 물론 케이블 등 좀 지저분해서 최종적으로 완성된 것은 아니다. 케이블 정리부터 좀 깔끔하게 하면 좀 더 낫겠고, 아예 빵판이 아닌 PCB에 옮겼을 때가 완성일 것 같다. 하지만 여전히 테스들을 많이 해야 해서 당분간은 현재의 프로토타입으로 계속 테스트할 것 같다. 다 조립하고 나니 무게가 상당하다. 힘이 부족할까 했는데, 9V로도 충분히 4개의 서보모터를 돌리는데 문제가 없다. 아주 다행이라 생각한다. 기본적인 동작도 개별적으로 아주 잘 움직인다. 다만, 프레임이 포맥스라 너무 무거워서 휘청거리며 막 휘어진다. 그래서 좀 불안하긴 하다. 너트 체결도 꽉 조이지 못하는.. 개발 관련/프로젝트 2024. 3. 26.
로봇제작 - 프레임 그립 진행중 지난번에 이어 이번에는 그립 부분을 진행 중이다. 생각보다 많은 시행착오를 겪는 중이다. 이렇게까지 안 맞을 줄은 생각하지 못했다. 아.. 설계를 좀 더 구체적으로 했어야 했다. 가장 큰 문제가 되는 것이 바로 조립과 분해가 가능해야 보수가 가능하다는 것이다. 이것을 너무 쉽게 간과한 것 같다. 이 부분을 진행하면서 즉석으로 생각하니까 어지럽다.. 따라서 해당 부분을 고려해서 하다 보니 참 어렵게 진행되는 것 같다. 추가 부품을 구매했을 때 무게를 고려해서 작은 서보모터 SG90도 구입했었는데, 이걸 적용하려면 그립설계를 완전히 다시 해야 한다는 것이다. 더구나 볼트 고정하는 부분도 크기 안 맞아서 이 부분을 다른 방법으로 고정해야 해서 좀 어렵게 되었다. 따라서 일단은 기존대로 진행하기로 하였다. 그립.. 개발 관련/프로젝트 2024. 3. 23.
로봇제작 - 프레임 조립중 드디어 지난번 주문한 볼트가 왔다. 생각보다 오래 걸렸다. 볼트 8mm와 10mm를 주문했다. 그런데 예전에 주문한 5mm짜리를 자로 재봤는데... 5mm가 안된다. 2T 기준으로 5mm 볼트면 너트를 걸칠 수 있는 정도는 되어야 하는데, 아무리 해도 안돼서 재봤는데 5mm가 안된다.;;; 이거 100개 샀는데.. 얇은 철판정도밖에 못쓸 텐데...;;; 아무튼 기존 6mm는 일반적인 2T 결합용으로 사용하고 서보부분 고정용과 연결부위용은 8mm와 10mm로 와셔와 함께 결합하였다. 이제 좀 안정감이 있어 보인다. 이렇게 조립하는 과정에서 다시한번 설계의 중요성을 느낀다. (사실 1차 전공이 설계인데....) 보정해야 하는 부분, 강화해야 하는 부분, 결합 홀이 맞지 않는 부분 등 수정하고 보정해야 할부분.. 개발 관련/프로젝트 2024. 3. 18.
로봇제작 - 이미지 인식 지난번 이미지인식을 진행했었는데, 동영상을 아래와 같이 캡처하였다. 인식율이 높은 이미지 위주로 2가지 정도만 표시하였다. 동영상은 안드로이드 앱으로 빌드하여 테스트하였다. PC의 웹캠보다는 인식율이 떨어진다. 아무래도 시스템 사양을 타는 것 같다. 인식하는 주요 대상물을 집안의 캔이나 우유, 두유팩 등의 음료 위주로 학습을 시킨 다음 onnx로 컨버팅 하여 Unity에서 모델을 불러왔다. Teachable Machine로 이미지 학습 후 jupyter notebook로 onnx로 모델을 컨버팅 하였다. ◇ ONNX 컨버팅 정보는 다음과 같다. tensorflow = 2.8.0 onnx = 1.15.0 tf2onnx = 1.16.1/15c810 opset 9 ~ 12 ◇ Unity의 정보는 다음과 같다... 개발 관련/프로젝트 2024. 3. 11.
로봇제작 - 프레임 보완 진행중 지난번 프레임 설계에 따른 출력 미스로 인해 두 번째 프레임부터 맞지 않아 다시 설계하고 다시 출력해서 커팅을 진행하였다. 끝까지 잘 맞는지 확인했어야 했다. 그러면 시간이며 재료며 이런 걸 줄일 수 있었을 텐데.. 아무튼 아래와 같이 다시 커팅하였다. 이외에도 나머지 집게도 커팅을 진행하였다. 이제 모든 부품을 커팅했기 때문에 조립만 해주면 되는 사항이다. 일반 커터칼로 커팅해서인지 자를 때 약간씩 여유를 두고 했더니 살짝 맞지 않는 부분이 있어 조금 다듬었다. 서보의 오목한 부분도 좀 다듬고 해서 조립을 시작했다. 그런데 한 가지 낭패가 생겼다. 6mm 볼트가 부족하다. 5mm는 많은데... 이런.. 적어도 서보와 프레임 조립에서 최소한 6~8mm가 준비되어 있어야 하는데... 부족하다.. 사야 된다.. 개발 관련/프로젝트 2024. 3. 9.
로봇제작 - 프레임 설계 오류 프레임을 커팅하고 서보모터를 결합하는 과정에서 크게 2개의 설계 오류가 발생했다. 역시나 눈대중으로 설계하는 게 아니었다.... 우선 첫번째가 첫 번째 관절과 서보모터의 결합을 뭘로 하는지에 대한 것에 상세한 설계가 없었다.;; 이로 인해 뚫을 구멍의 크기가 다소 애매해지고, 결국 서보모터의 결합이 결정되었을 때 크기의 변화가 생겨버린 것이다. 이런..;;; 두 번째는 서보모터와 결합하는 두 번째 관절이 3D에서 수정되면서 서보모터와 겹치게 되었는데 이를 수정하지 않은 것이다. HS-311은 돌출부가 있다 보니 이를 세부적으로 검토를 안 한 탓이다. 이 때문인지 결합부위가 당연히 맞지 않는다. 이로인해 첫 번째와 두 번째 관절의 설계 오류를 수정하여 다시 출력하였다. 출력물 종이를 포맥스에 붙이고 다시 .. 개발 관련/프로젝트 2024. 3. 4.
Unity - 사물인식 진행 Unity를 이용한 사물인식에서 지난번 아래와 같은 포스트로 진행했고 이 결과를 이용하여 onnx로 변환한 뒤 Unity인식시키기 위한 작업을 줄 곳 진행했었다. Tensor Flow를 이용해야 하는 관계로 AMD의 Radeon 환경에서는 불가능에 가까워 지포스가 있는 PC에서 진행했다. 사물인식을 위한 모델 학습 시도(TensorFlow / ONNX) (tistory.com) 사물인식을 위한 모델 학습 시도(TensorFlow / ONNX) 지난번 사물인식을 위한 보완으로 파이토치를 검토하던 와중에 다른 방법도 있지 않을까 하고 검색해 봤다. 한 가지 방법으로 시도해 봤는데, 역시나 AMD 시스템에서는 안 되는 것 같다. 있다고 tipon.tistory.com 결과적으로 keras 모델을 onnx로 컨.. 개발 관련/프로젝트 2024. 3. 1.
로봇제작 프레임 커팅 포맥스를 구입해서 일단 지난번 3D로 구성한 것을 토대로 도면을 출력하고 이에 맞춰 커팅을 하였다. 최대한 효율을 높이고자 다닥다닥 붙여서 배치하여 한번에 자르도록 하고, 볼트 구멍의 중심은 미리 작은 드릴로 뚫어 두었다. 그리고 대략적으로 커팅을 진행했다. 다 진행했으면 좋겠지만 시간이 그리 많지가 않아서... 일단 그립부분만 제외하고 진행하였다. 그리고 확실히 맞는지 확인하기 위해 서보모터와 결합되는 부위를 볼트로 체결해 봤는데..... 아뿔싸.. 볼트의 길이가 짧다..;; 1mm 밖에 안 남네.. 이거 너트가 제대로 체결되지 않을 것 같다. 그리고 또 하나의 문제가 발생했다. 서보모터의 볼트를 고정하는 위아래 양쪽 구멍 사이에 0.05mm가량 일자선이 양각으로 튀어나와 있다. 여기다 고정하면 휘어질.. 개발 관련/프로젝트 2024. 2. 26.
728x90