반응형

코딩 3

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

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

Robotics 2025.02.11

[OpenCV] 1. 카메라 캘리브레이션 (Camera Calibration)

서론OpenCV를 사용하여 로봇 비전을 하기 전에 가장 먼저 해야 하는 작업이 있다. 바로 카메라 캘리브레이션 (Camera Calibration)이다. 이것은 말 그대로 카메라를 교정하는 것이다.우리가 카메라를 보면 보통 이미지가 왜곡되어 있다. 이것은 카메라의 원리가 핀홀 효과를 사용하기 때문에 주변부가 둥글게 왜곡되기 때문이다. 그리고 우리는 이것을 보정하여 오른쪽 이미지처럼 직선이 되도록 펼쳐줄 것이다. 그리고 이것을 위해 카메라의 내부 파라미터와 외부 파라미터를 보정할 것이다.카메라 파라미터카메라의 파라미터에는 크게 두 가지가 있다.카메라 렌즈 시스템의 내부 파라미터(Internal parameters): 초점 거리 (focal length), 광학 중심 (optical center), 렌즈의 ..

Robotics 2024.11.13

[OpenCV] 0. 로봇 비전을 활용한 상자 분류 프로젝트

서론로봇과 기계의 차이는 무엇일까? 로봇과 기계의 가장 큰 차이는 로봇이 스스로 센서로 무언가를 인지하고, 그것에 대한 피드백의 유무이다. 즉, 로봇에게는 센서가 있어야 한다. 그리고 그 센서의 종류에는 촉각 센서, 초음파 센서, 온도 센서 등 다양한 센서들이 있지만, 나는 그중에서 카메라를 센서로 사용하려고 한다. 카메라를 센서로 사용하는 이유에는 여러가지가 있다. 카메라는 로봇, 감시, 우주 탐사, 자동화 등 여러 산업과 여러 영역에서 이미 많이 사용하고 있다. 또한, 인간이 가장 중요시하는 감각 기관인 시각을 사용함으로써 직관적이고 확실하다. 이러한 이유로 로봇 비전 혹은 컴퓨터 비전과 관련한 개발이 많이 진행되었다. 가장 대표적으로는 이미지와 동영상을 가공하고 분석하는 OpenCV가 있다. 이것 ..

Robotics 2024.11.12
반응형