728x90

개발 관련/프로젝트 61

Darknet의 weight로 사물인식 테스트 Darknet의 weight로 사물인식 테스트 커스텀 데이터셋을 Darknet로 yolov2-tiny로 훈련하여 나만의 weight파일을 얻고 이를 keras를 거쳐 onnx로 컨버팅이 성공적으로 잘되었다. 물론 최종적인 unity에서도 인식은 잘 되었다.그런데 문제가 제대로 된 인식이 되지 않는다. 인식률에 문제가 있긴 해도 아무거나 인식하게 되면 문제가 있는 게 아닌가... 그래서 다시 Darknet로 test를 아래와 같이 진행하였는데, 너무 잘된다..물론 인식률은 표본이 적어서 문제가 있기는 해도 인식은 되지 않는가... 그렇다면 컨버팅 과정이나 unity에서 인식하는 무엇인가가 잘 처리되지 못한다는 것인데... 현재 이것을 찾고 있는 중이다.   원래 8월까지로 마무리하려했는데 이 부분까지만 해.. 개발 관련/프로젝트 2024. 9. 11.
Yolov2, v3-tiny 훈련 다시... congfig에서 변경 안 한 것이 있어서 다시 훈련을 돌렸다.. 이번 다시 돌리는김에 yolov2-tiny 와 yolov3-tiny를 같이 돌림.. v3 훈련도중 다음과 같은 오류가 발생하여 사이즈를 낮춰서 재실행했더니 정상적으로 훈련이 되었다. 혹시나 v3이 안될 수 있기 때문에 2개를 돌린 것이다. cuDNN isn't found FWD algo for convolution. 해결책은 해상도를 낮춰서...  그리고 두 버전의 훈련과정은 좀 다른 것 같다.   물론 따로 돌려도 되는데 GPU 점유율을 생각보다 적게? 차지하는 것 같아서 동시에 돌렸다. 그래서 메모리 문제가 발생된 듯. 훈련시간은 서로 다른데 v3이 더 빨랐다. 전체 훈련 시간의 경우 v2는 약 7~8시간, v3은 6시간 가량 소요되었.. 개발 관련/프로젝트 2024. 8. 31.
Darknet Yolov3-tiny 훈련 완료 Yolov3-tiny 훈련 완료지난번 darknet.exe를 빌드하고 nvidia 그래픽카드 드라이버를 업데이트 한 이후 훈련을 진행했다. 이번에는 yolo v2가 아닌 v3의 tiny로 진행했다. 모바일에서 사용하기에는 용량이 너무 커서 tiny로 진행했다. 물론 데이터 경로문제가 조금 있었지만 금방 해결되었다.절대경로의 위치가 지난번 darknet_no_gpu때와 달라서 인식 오류가 있었다. 이거 상황에 따라 바뀌는 건지는 모르겠다. train.txt 내의 절대경로가 darknet 실행파일 이하의 경로로 되어 있어야 한다. 아무튼 훈련을 시작하고 약 6.2시간만에 아래와 같이 끝났다. 지난번 GPU를 사용하지 않았을때는 무려 5일의 시간이 소요되었다. 차이가 엄청나다..(펜티엄골드 지못미) 이제 이 .. 개발 관련/프로젝트 2024. 8. 29.
아두이노 로봇 제작 - 진행 현황 현재까지 진행된 상태는 지난번 초음파 센서 장착 이후 아두이노 코드와 이를 제어할 유니티의 코드를 수정하고 추가하는 작업을 진행했다.이에 따라 사물을 인식 및 추적하면 현재의 화면에서 위치를 잡을 수 있다. 그리고 일정 거리가 될 때까지 가까이 이동한다.그러면 최종적인 위치에 다가갈때까지 천천히 이동한 뒤 잡을 수 있는 거리가 되면 로봇암이 동작하게 된다.대충 아래의 동영상과 같다. 현재는 제자리에서 바퀴만 회전다록 했다. 이유는 아래에 있다. 위의 제자리 이동의 이유에는 몇가지 문제가 있다. 이것은 프로그램적인 것보다는 제품의 문제가 크다. 일단 DC모터가 계산대로 세밀하게 움직이지 못하는 점, 바퀴가 생각보다 쉽게 미끄러지는 점이 있다.물론 DC모터를 서서히 움직이는 가속코드를 넣어둔 것이 있긴 하지.. 개발 관련/프로젝트 2024. 8. 12.
아두이노 로봇제작 상황 이 프로젝트를 구상한 지 거의 1년이 다 되어 간다. 시간이 참 빨리 흘러 가고 있다. 단지 이 프로젝트는 먼저 1차적인 프로토타입을 만드는 것인데 너무나도 더디게 진행되는 것 같다.  현생을 하면서 틈나는대로 하고 있지만 진도가 너무 느리다.마음먹고 시간을 좀더 투자한다면 적어도 2~3개월 이내에는 프로토타입을 거의 완성할 것인데 말이다.프로토타입에 너무 정성을 들이는 게 아닌가 한다. 따라서 이번 프로토타입은 이번 8월내에 마무리를 해야겠다. 프로그램적인 부분은 좀 미흡할 것 같으나 본격적인 프로젝트에서 이를 보완하여 진행해야겠다. 다음번엔 아예 3D 프린터를 구입하는 게 여러모로 빠르고 좋을 것 같다. 진행이 더딘 가장 큰 원인은 아마도 여러 가지 오류에 대한 해결이 늦어지는 탓일 것이다.특히나 p.. 개발 관련/프로젝트 2024. 8. 1.
아두이노 로봇제작-HC-SR04 초음파센서 장착 드디어 초음파 센서를 장착했다.그전에 원하는 기능으로 테스트를 진행하였다. 매번 거리값을 호출하는 것이 아니라 필요에 따라 호출해서 사용할 예정이다. 장착 시 디지털 핀이 남는 게 거의 없었다. 난감했으나 DC모터와 서보모터 충돌 방지차 9, 10번은 비워두었는데 여기에 설치하여 테스트했다.물론 아직 전체 동작을 테스트해 볼 수는 없었다.  초음파 센서는 가이드를 만들어서 장착했다. 완전 고정은 아니며 위로 쉽게 뺄 수 있도록 했다.가이드를 만드는 과정에서 설계미스가 있어 볼트 고정을 2곳 생각했으나 한 곳밖에 사용할 수 없다. 하지만 큰 지장은 없다. 미스는 설계도를 토대로 만든 3D와 실물의 몸체 프레임 고정 구멍의 위치가 다르기 때문에 나타났다..;; 아무튼 그래서 아래와 같이 고정하였다.  테스트.. 개발 관련/프로젝트 2024. 7. 26.
로봇제작 - 음성인식 대기 기능 개발 음성인식 테스트 중에 한 가지 필요한 기능이 생각나서 만들었다. 뭐냐면 음성을 인식하기 위해서는 계속 반복적으로 돌아간다. 인식이 없어도 돌아간다. 기능을 다 이용하지 못하기 때문에 조치가 필요하다. 매번 버튼을 눌러 껐다 켤 수는 없다.   따라서 만든 기능이 음성인식이 몇 회 이상 없을 경우 일반 소리인식으로 변경하는 것이다. 즉, 특정 크기의 소리가 인식되면 음성인식 모드로 전환하는 것이다.   아래 영상에서 디버그 메시지에 표시를 해 두었다. 아울러 앱에도 메시지창이 뜨도록 만들었다. 개발 관련/프로젝트 2024. 7. 20.
아두이노 로봇제작 - 스마트폰 장착 그리고.. 먼저 darknet의 weights 파일을 onnx 컨버팅은 좀 더 기다려야 할 것 같고, 기존의 잘 되는 classifier 방식의 인식으로 가능한 방법을 찾고 있다. 이와 동시에 처음 구성한 대로 로봇에 스마트폰을 배치하기 위해 고정도구를 만드는 중이다.어느 정도 충격에도 빠지거나 넘어지지 않아야 해서 일반적인 받침형 보다는 당겨서 고정하는 방식을 고려 중이다. 생각보다 아이디어가 안 나와서 이것저것 구상해 보는 중이다. 그리고 최종적인 동작을 확인 중 한 가지 누락된 것이 있다. 바로 다음과 같다. 그렇다. 바로 초음파 센서이다. 이 초음파 센서의 역할은 로봇 팔이 물건을 잡기 위해 대략적인 거리로 유도하기 위함이다. 이게 있어야 물건의 위치를 파악하고 잡을 수 있다. 물론 이외에도 기본적인 거리측.. 개발 관련/프로젝트 2024. 6. 29.
아두이노 로봇제작 전압분배 관련 전압분배에 대해 추가적인 설명을 하자면, 간단한 사항이다.보조배터리에서 나온 5V를 DC-DC컨버터 2개를  병렬로 연결하여 한쪽은 9V 출력, 다른 한쪽은 6V 출력을 하도록 한다.그림으로 표현하자면 아래와 같다. 마침 하나의 USB를 micro 5p 짜리 2개로 분배해 주는 제품이 있어서 딱 맞게 사용하였다. 사실 이렇게 해도 되는지는 잘 모르겠다. 어쨌든 각각 동작하는데 문제가 없으니까.다만 배터리 소모에 대해서도 잘 모르긴 하지만 더 빨리 소요되지 않을까 한다. 아래 영상처럼 각각 아주 잘 작동한다. 이것으로 만족한다.아울러 UI요소 배치가 해상도 변경 시 적용이 안되었던 것을 다시 적용하였다. 일단 화면 기준비율은 16:9이다. 개발 관련/프로젝트 2024. 6. 22.
아두이노 로봇제작 DC모터와 서보모터 전압 분리 지난번 서보모터 기준으로 전압을 6V로 설정했더니 DC모터의 출력이 너무 떨어지는 바람에 너무 약한 동작을 보여주었다. 따라서 이전 포스팅에서 언급한 것처럼 우선 현재 상태에서 할 수 있는 사항은 여분의 DC-DC컨버터를 이용해서 서보모터와 DC모터의 전압을 따로 주는 것이다. 즉, 서보모터는 6V의 전압을 주고 DC모터는 9V의 전압을 주는 것이다. 최종적으로 장착하고 테스트를 진행하였다.  보는 바와 같이 DC모터 쪽이 훨씬 더 힘 있게 시원스럽게 동작하는 것을 볼 수 있다.(관련 이전 포스팅을 보면 이동시 힘이 없다는 것을 보면 알 수 있다.)더불어 서보모터도 정상적으로 동작하였다.  이제 하드웨어는 특별한 사항이 없는 한 이대로 유지하고 프로그램 쪽을 보완하고 추가해야겠다. 개발 관련/프로젝트 2024. 6. 19.
728x90