반응형

아두이노 6

[Ball Balancing] 6. OpenCV와 PID 제어로 물체 균형 잡기

서론앞선 여러 글에서 물체의 균형을 잡을 수 있는 로봇을 만들기 위한 시스템을 설계하고 제작했다.설계와 3D 프린터 출력, 회로 제작, 납땜의 과정을 거쳐서 하나의 로봇 시스템을 제작했다. 이제는 완성된 로봇 시스템에 코드를 작성하여 원하는 동작을 만들어야 한다.지금 우리가 제어할 수 있는 Actuator는 두 개의 서보모터이다.이 서보모터를 제어하여 물체를 움직이는 Process를 만들어야 한다. 결국 우리의 목표는 물체를 Plate 중앙에 위치시키는 것이다.이를 위해서 우리는 OpenCV로 카메라 비전을 통해 물체의 위치를 추정할 것이다.그리고 물체의 현재 위치와 Plate 중앙의 위치 좌표의 차를 Error로 사용할 것이다.이 Error 항을 PID 제어를 통해서 컨트롤할 것이다. 그리고 제어 과정..

Robotics 2025.02.11

[정보] 아두이노 시리얼 포트 찾는법 - 장치 관리자

서론아두이노를 사용하다보면 시리얼 포트를 찾는 게 중요하다. 아두이노 IDE에서 포트를 연결해야 할 수도 있고, 매트랩이나 파이썬 등에서 포트를 지정해줘야 할 때도 있다. 아두이노 IDE의 경우에는 간단히 포트를 확인할 수 있지만, 매트랩에서는 직접 찾아서 입력해야 한다. 오늘은 아두이노 시리얼 포트를 찾는 법에 대해서 소개하려고 한다.아두이노 IDE 아두이노 IDE에서는 이처럼 간단하게 포트 번호를 알 수 있다. 현재 이 컴퓨터에 아두이노 Uno가 COM5에 연결되어 있음을 확인할 수 있다. 우리는 이 COM5를 눌러서 간단하게 연결하면 된다.장치관리자이처럼 매트랩에서 아두이노를 사용하기 위해서는 시리얼 포트를 직접 찾아서 정의해줘야 한다. 하지만 이 포트는 내가 어떤 USB 포트에 아두이노 선을 연결..

Robotics 2025.01.14

[Ball Balancing] 5. 아두이노 서보모터 2개 제어 코드 (MG996R) - 매트랩

서론로봇을 만들고 개발하고 연구하기 위해서는 액추에이터를 제어할 수 있어야 한다. 그리고 그 액추에이터의 대표적인 것이 바로 이 서보모터이다. 서보모터는 우리가 원하는 각도만큼 움직이거나 특정 각도를 유지하게 할 수 있다. 그렇기에 로봇의 액추에이터로 많이 사용되고 있다. 이러한 서보모터를 제어하기 위해서, 오늘 간단한 코드를 살펴볼 것이다. 특히, 아두이노에 서보모터를 연결할 것이고, 매트랩을 통해서 그 서보모터를 제어할 것이다.아두이노 서보모터 (MG996R)서보모터를 제어하기 전에 우리가 사용할 MG996R 서보모터에 대해서 살펴볼 것이다.MG996R 서보모터 기본 스펙MG996R 서보모터의 기본스펙은 위와 같다. 크기와 무게, 힘 모두 우리가 흔히 서보모터를 생각했을 때 기대할 수 있는 값들이다...

Robotics 2025.01.13

[Ball Balancing] 4. 아두이노 회로 - 3선 서보모터, 가속도센서

서론이전 글에서 드디어 공 균형 잡기 로봇의 설계와 제작이 끝났다. 아직 완성된 로봇을 공개하지는 않았지만, 잘 조립되었고, 정상적으로 작동하는 것을 확인했다. 이제는 제작된 로봇을 작동하기 위해서 아두이노를 사용하고, 3선 서보모터와 가속도센서를 연결할 것이다. 그리고 간단한 납땜을 통해서 간편하게 사용할 수 있도록 모듈화를 진행할 것이다.아두이노 회로위의 사진은 아두이노 회로를 그린 것이다. 팅커캐드에 약간의 편집을 추가해서 만든 그림이다. 만약 회로를 처음 작성해 본다면 간단하게 빵판(브레드보드)에 먼저 구현을 해본 뒤, 동작이 원활하게 되는 것을 확인하고 납땜을 진행하는 것이 좋다. 나 역시 빵판에 회로를 구현했고, 작동이 잘 되는 것을 확인했다. 가속도 센서 (GY-61)가속도 센서 (GY-61..

Robotics 2024.12.29

[Ball Balancing] 1. 인벤터로 동작 시뮬레이션 확인하기

서론설계라는 과정은 머릿속에 있는 것을 그리거나 모델링해서 실제로 눈으로 볼 수 있게 하는 과정이다. 아무리 머릿속에서 완벽하게 상상했다고 하더라도 실제로는 공차가 맞지 않다거나 단차가 생기는 등의 변수가 발생할 수 있다. 따라서 직접 그려보고, 더 정확하게는 치수를 입력해서 모델링한 뒤 시뮬레이션을 통해서 동작을 확인하는 것이 가장 좋다. 나는 3D 프린터로 출력을 하기 위해서 모델링을 했다. 하지만 시뮬레이션을 돌리지 않았고, 나의 설계가 완벽할 것이라고 믿었다. 하지만 실제로 3D 프린터로 출력을 한 뒤, 조립을 해서 확인을 해보니 내가 생각했던 움직임이 나오지 않았다. 사실 약간의 공차와 단차는 사포질을 통해서 해결할 수 있다. 하지만 애초에 불가능한 관절의 움직임을 해결하는 것은 쉽지 않다. 따..

Robotics 2024.11.22

로봇 제작을 좋아하는 대학생의 개발일지

개요안녕하세요.현재 대학에서 기계공학과를 주전공, 전기전자공학과를 부전공으로 공부하고 있는 4학년 로보고니입니다. 어려서부터 과학상자 6호나 아두이노, 레고 EV3 등을 조립하고 만들면서 로봇공학자가 되고 싶었습니다.그리고 그때의 꿈을 지금까지 가져오면서, 로봇과 관련된 여러 활동들을 하며 성장해 왔습니다. 초등학생 때 과학상자로 전국대회도 나가고, 중학생과 고등학생 때는 로봇동아리 회장을 했습니다.대학생이 되어서도 로봇동아리나 대회, 랩인턴 등 로봇과 관련된 활동을 멈추지 않았습니다. 이제 졸업을 앞두고 있는 지금, 그동안 해온 로봇과 관련된 활동, 공부들에 대해서 정리를 해보려고 합니다.활동 계획이 블로그에서 다룰 내용은 아래와 같습니다.로봇 제작 A to Z - 로봇 대회, 동아리, 랩인턴로보틱스 ..

Robotics 2024.09.20
반응형