728x90

개발 관련/프로젝트 61

로봇제작 - 전압 보완 지난번 마지막 하드웨어 업데이트에서 전압을 다시 6V로 내렸다. 서보모터들의 문제가 될 수 있기 때문이다. 서보모터의 문제는 해결되었는데 문제는 DC모터다. 생각보다 전체 무게가 좀 나가서 6V로 DC모터를 움직이기에는 힘이 너무 약하다. 그때 촬영한 동영상을 보면 회전 시 한쪽은 아예 잘 돌지 않는다. 원래 같이 돌아야 회전이 빠르다. 따라서 이번에 전압을 따로 적용하기로 하여 서보는 그대로 6V 전압을 주고, DC모터 쪽은 9V의 전압을 주는게 좋을 것 같아서 각각 주기로 한 것이다.인터넷에 자료를 찾아보니 저항으로 분배하는 방법이 있는데, 현재 가지고 있는 저항이 33KΩ과 220Ω 밖에 없어서 33KΩ을 연결했으나 0.3V밖에 안줄어든다. 100KΩ 몇개는 붙여야 9V에서 6V로 줄어들 것 같아서.. 개발 관련/프로젝트 2024. 6. 13.
로봇제작 - 제작 현황 지난번 MG995 서보모터 테스트 이후 교체를 진행하였다.역시나 HS-311과는 반대방향으로 움직였다. 물론 방향을 바꾸면 되긴 하지만 원래의 모양과는 달라서 현재대로의 모양을 유지하려면 결국 아두이노에서 각도를 수정해 줄 수밖에 없다. 이와 함께 좀더 짧은 프레임으로도 교체하였다. 혹시나 기존 프레임에 MG995를 결합하려고 했으나 서보혼이 맞지 않아 그냥 교체하였다. 교체 후 각도 테스트 진행 중에 난관에 부딪혔었다.특정 각도를 움직일때마다 엄청 떠는 것이었다. 아주 요동치듯 떨려서 도저히 쓸 수 없을 지경이었다.속도나 각도 등 여러 번 최소화 시도를 하였으나 그래도 떨림은 있었다. 그런데 문제는 생각보다 쉽게 해결되었다. 전압을 낮춰주었다. 대부분의 서보 전압은 보통 4.8v ~ 7.2v 사이를 지.. 개발 관련/프로젝트 2024. 6. 5.
로봇제작 - 서보모터 교체를 위한 테스트 수술도 잘 끝났고 어느 정도 회복되어서 이제 다시 작업을 재개하였다. 우선 지난번 구매한 서보모터의 각도 테스트를 위해서 실제 사용하는 코드를 단순화해서 테스트했는데 문제가 생겼다. 큰 문제는 아니긴 한데 번거롭게 되어 버렸다. 즉, 각각의 서보모터 회전은 대략 0~180도로 문제가 없는데 HS-311의 기본 회전 방향과 MG995의 기본 회전 방향이 반대다...아래 동영상부터 확인해보면 기본 회전이 반대방향인 것을 알 수 있다.그냥 모든 서보모터를 변경했어야 하나라고 생각할 수도 있겠지만.. MG995가 힘은 좋지만 생각보다 무겁다. 그리고 HS-311의 크기보다 약간 폭이 길다. 이거 수정하는 방법이 있는지 우선 찾아봐야겠다. 만약 안되면 해당 코드가 사용되는 명령어를 모두 변경해야 한다. 정말 귀찮.. 개발 관련/프로젝트 2024. 5. 21.
로봇제작 - 로봇암 음성인식 제어 테스트 현재는 로봇암의 음성인식 테스트를 진행 중이다.뭐 빈캔 정도는 들어 올리는데 문제는 없겠다.간혹 튀는 점이 있긴 하는데... 원인은 잘 모르겠다. 시간 되면 고쳐봐야겠다. 아울러 몇 가지 버그를 수정 중이다. 그중 하나가 이동 중에 장애물 근처로 가면 IR센서 감지에 의해 멈추는데,, 음성인식으로는 더 이상 움직이질 않는다. 수동은 잘되는데...아마도 센서에 계속 감지가 되기 때문에 그런 것 같다. 이는 후진으로만 움직일 수 있도록 예외처리가 필요한 부분이다.이런 것에 대한 버그들을 고치고 있다.최종적으로는 사물인식과 합쳐서 스스로 물건을 찾아서 쓰레기 통에 넣는 기능을 구현하고자 한다.과연 잘 될지.. [영상의 음성은 느끼하다.] 어느 정도 수정을 하고 나면 MG995 서보모터로 교체를 먼저 진행한 뒤.. 개발 관련/프로젝트 2024. 5. 4.
로봇제작 - 파워부족 문제 해결 검토중 아직도 마무리를 못하고 계속 진행 중이다.사물인식 부분은 계속 훈련 중이다. 아마도 다음 주 월요일이면 얼추 끝나지 않을까 한다.현재는 하드웨어 부분에 대한 문제점을 어떻게 고칠 것인가에 대해 검토 중이다.즉, 지난번에 서보의 힘 부족으로 12V까지 전압을 올려보고 테스트를 해 봤을 때 힘은 좀 나아진 것 같으나 서보의 전압이 6V라 사실 9V도 초과된 상태다. 따라서, USB의 전력이라도 과부하의 가능성이 충분히 있다고  판단되어 다시 9V로 전압을 낮췄다. 물론 DC모터의 경우는 괜찮다. 그러면 이 문제의 해결책을 고려했을 때 다음과 같은 선택을 할 수밖에 없다.1. 현재 HS-311의 토크가 3.5kg이다. 이보다 큰 토크를 가진 서보로 부족한 부분을 교체한다.2. 설계 구조를 변경한다. 즉, 길이.. 개발 관련/프로젝트 2024. 5. 3.
Darknet train 진행 중 지난주 목요일부터 시작한 추론학습 훈련이 아직도 진행 중이다. 일 때문에 시간이 없어서 대충 필요한 것만 설정했다.그런데 훈련 시작시 뜨는 메시지를 확인해 보니,  - GPU isn't used- Not used AVX- Not used FMA & AVX2- OpenCV isn't used 이러면 오로지 펜티엄 골드의 성능으로 해야 된다는 건데... 하면서 이것저것 검색해 봤더니... 최소 1,000회 정도는 해야 된다고 한다.대략 4일 지난 현재 시점에서 555회 돌파중이니까.. 한 3~4일 더 있으면 최소한의 결과를 확인할 수 있는 데이터는 나오겠다.고작 50개 좀 넘는 이미지 가지고 이렇게 하는게 맞는지 궁금하다..... 그런데 더 큰 문제가 있다.설정파일에 기본 saveweights default.. 개발 관련/프로젝트 2024. 4. 29.
로봇제작 - 아두이노 PWM 충돌 문제 해결 드디어 충돌 문제를 모두 해결했다. 더 이상의 오작동은 발견되지 않았다.. 다만.. 배터리가 작아서 같이 쓰면 힘이 약하다. 배터리를 적절하게 분배하는 최적화를 진행해야 할 것 같다. 이로서 서보모터 4개, DC모터 2개를 정상적으로 원하는 대로 움직일 수 있다. 이전에 포스트에서는 다 된 줄 알았는데, 한 곳이 해결되면 다른 쪽이 안 되는 등 뭔가 한 개씩 문제가 있었다. 여러 가지 자료를 찾아보고 결론 내린 것이 핀을 적절하게 배치해야 된다는 것이다. 아두이노의 PWM 핀중에서 다음과 같은 것이 같은 타이머를 사용한다고 한다.(내용은 뭐 잘 모르니까 일단 참고..) 5, 6 : 카운터/타이머 0 사용 9, 10 : 카운터/타이머 1 사용 3, 11 : 카운터/타이머 2 사용 이런 쪽은 잘 안 써서 잘.. 개발 관련/프로젝트 2024. 4. 14.
로봇제작 - 아두이노 PWM 충돌 문제 기존에 합치는 작업으로 테스트 중이었는데 문제가 발생했다. 바로 서보모터 작동 후 DC모터의 한쪽이 멈추는 것이다. 일단 서보모터 작동 후에 반드시 이 오류가 발생한다. 처음에는 초기화가 잘못된 줄 알고 코드만 열심히 고쳐가며 테스트를 했는데 뭔 짓을 해도 같은 오류가 발생하여 난감하였다. DC모터 쪽만 PWM을 주고 나머지 서보모터는 일반 디지털포트만 할당했음에도 문제가 발생했다. 또한 작동 이후 다시 서보모터를 동작시키면 서보 모터쪽도 부르르 떨면서 오작동 된다....;;;; 이에 여러 검색을 해도 잘 안나와서 해외 아두이노 포럼에서 정답을 찾았다. Problem using both a dc motor and servo - Projects Discussion and Showcase / Interact.. 개발 관련/프로젝트 2024. 4. 11.
로봇제작 - 아두이노 코드 업데이트 완료 지난번 불필요한 것 이후로 최종적으로 업데이트를 진행했다. 전체적으로 3가지 모드가 있었는데 과감히 다 버리고 간결한 리셋과 입력 모드만 남겨두었다. 물론 기존의 기본적인 테스트 동작이나 입력동작이나 동일하게 움직인다. 이렇게 하는 게 더 맞는 것 같다. 현재의 코드는 이후에 DC모터 제어부분 쉽게 결합하기 위해 작업한 사항도 있다. 그래서 최종적인 로봇암의 움직이는 코드는 아래와 같다. 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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63.. 개발 관련/프로젝트 2024. 4. 8.
로봇제작 - 로봇암의 아두이노 코드 완성? 드디어 로봇암을 제어하는 코드를 완성?? 최종적인 것은 이전에 만들었던 DC모터 제어 및 블루투스 통신 부분과 합치는 것이겠다. 아래의 코드는 일단 로봇암 제어하는 부분을 일단은 완성했다고 볼 수 있겠다. 다만... 이 부분은 내용을 끝자락에서 다시 설명하겠다. 아래의 코드를 간략히 설명하면 작동은 크게 3가지로 구분된다. 첫 번째는 리셋모드로 중간의 어떤 동작에서 바로 초기세팅으로 돌아갈 때 팍 하고 움직이는 것이 아니라 부드럽게 원래 상태로 돌아가는 거라 보면 된다. 두 번째는 입력모드는 시리얼 통신으로 입력된 string 배열을 한 번에 가져와 명령어별로 구분하여 동작하는 방식이다. 실시간 제어도 가능하겠지만 문제는 사물인식과 음성인식 등으로 모바일 환경에서 렉이 걸릴 확률이 높을 것 같아서 선택한.. 개발 관련/프로젝트 2024. 4. 5.
728x90