728x90

분류 전체보기 372

로봇제작 - 파워부족 문제 해결 검토중 아직도 마무리를 못하고 계속 진행 중이다.사물인식 부분은 계속 훈련 중이다. 아마도 다음 주 월요일이면 얼추 끝나지 않을까 한다.현재는 하드웨어 부분에 대한 문제점을 어떻게 고칠 것인가에 대해 검토 중이다.즉, 지난번에 서보의 힘 부족으로 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.
오늘의 사진 역시 비 온 뒤의 하늘은 정말 맑은 것 같다. 그동안의 미세먼지가 싹 씻겨나간 것 같다.얼마나 많은 먼지가 하늘에 있었는가를 가장 쉽게 확인하는 방법은 세차 후 비가 왔을 때를 확인해 보는 것이겠다. 왜 세차만 하면 비가 오는 것인가..-_-;;; 일상/오늘의 사진 2024. 4. 25.
Unity - Rect Transform Unity의 UI에서 가끔은 필요에 따라 크기나 위치를 여러 가지로 변경해야 할 때가 있다. 자주 사용하지 않지만 어쩌다 사용하려고 보면 까먹어서 다시 검색하게 되는데 이를 정리해 본다. 1. Rect Transform - 값 읽기 > offsetMin; // Left, Bottom > offsetMax; // Right, Top - 값 적용 > GetComponent().offsetMin = new Vector2(100, 100); // (left, bottom) 적용됨 > GetComponent().offsetMax = new Vector2(100, 100); // (-right, -top) 적용됨 2. Anchors - 값 읽기 > anc.. 개발 관련/SW, App 관련 2024. 4. 22.
darknet / darkflow 설치, 아나콘다로 실행 과정에서의 오류들 정리 어디서부터 어떻게 무엇이 잘못된 것일까... 그리고 해결 방법은 무엇일까...잘 모르니까 따라 하는데 사실 봐도 모르겠다.. 열심히 삽질 중이다. 아래 사항들은 이미 필요한 사항을 모두 설치했음에도 나타나는 증상이다.이외 호환되는 버전에 맞는 CUDA와 cuDNN 설치하고 환경 설정도 했다. - python3 setup.py build_ext --inplace 실행 시 다음과 같은 오류 발생 시..: Original error was: No module named 'numpy.core._multiarray_umath'  >> pip uninstall numpy  한 다음 conda install -c conda-forge numpy  >> 여기서 다시 실행해도 ModuleNotFoundError: No .. 개발 관련/SW, App 관련 2024. 4. 16.
로봇제작 - 아두이노 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.
아두이노 - String Split 아두이노에서는 기본적으로 C#이나 JAVA의 split 기능을 지원하지 않는 것 같다. 아니면 내가 잘 모르니 못 찾을 것 일수도 있다. 아무리 찾아봐도 아두이노에서의 저 기능을 못 찾겠다. substring 기능이나 indexof 기능 외에는 찾아봐도 안 나오니 결국 이것을 활용한 방법으로 원하는 기능을 수행할 수밖에 없다. 그래서 split 기능을 수행하는 코드를 만들어 봤다. 아래의 코드를 활용하면 한 번에 들어온 여러 문자열을 구분자의 기준으로 분리하여 배열에 넣어준다. 일단 배열은 20개 이하만 처리하도록 했는데 필요하면 숫자만 늘리면 된다. 이 기능의 활용은 로봇제작에서 명령어를 한 개씩 전달하기보다는 진행할 문자열을 한 번에 보내서 처리하도록 하는 것이 좋겠다 싶어서 만들었다. 물론 짧게 한.. 개발 관련/HW 관련 2024. 4. 3.
728x90