ROS/Deliverbot usign ANPR (8) 썸네일형 리스트형 (5) Source code Seunghui-Shin/Deliverbot_using_ANPR: Deliverbot using ANPR (github.com) GitHub - Seunghui-Shin/Deliverbot_using_ANPR: Deliverbot using ANPR Deliverbot using ANPR. Contribute to Seunghui-Shin/Deliverbot_using_ANPR development by creating an account on GitHub. github.com (4-2) 프로젝트 결과 3. 프로젝트의 발전 방향 (1) 통신 반경 - 3가지의 하드웨어를 하나의 와이파이 망에 연결했기에 협소한 공간에서만 제어할 수 있었다. 이를 해결하기 위해서는 다른 통신 방법을 찾아야 할 것이다. (2) 번호판 인식 - 번호판 인식의 정확도가 낮아 수많은 테스트를 거듭했다. 따라서 번호판 인식의 정확도를 높이기 위해 번호판 알고리즘의 튜닝 방식을 더 고민해봐야 할 것 같다. (3) 하드웨어의 제약 - Turtlebot3의 크기가 작아 실제로 음식을 운반하는 데에 문제가 있었고 전자정보대학 강의실 번호판을 인식하기에는 무리가 있었다. 따라서 보다 적합한 하드웨어의 필요성을 느꼈다. (4-1) 프로젝트 결과 1. 프로젝트 결과 Turtlebot3 navigation 중 번호판 인식에 성공했고, 문 앞에서 정지하는 것까지 성공할 수 있었다. 2. 프로젝트의 어려웠던 점 (1) Raspberry Pi의 과부화 - Turtlebot3의 Raspberry Pi 하나만으로 번호판 인식과 navigation을 모두 수행하려 했지만 이것을 한 번에 다루기 어려웠고 Raspberry Pi의 과부화를 초래할 것이라 예상했다. 그래서 추가적인 Raspberry Pi를 이용해 번호판 인식을 처리하는 데에 사용했다. 따라서 Turtlebot3의 Raspberry Pi와 ANPR을 이용해 번호판 인식을 처리하는 Raspberry Pi 2개를 사용함으로써 관련된 문제를 해결했다. (2) Turtlebot3의 주행 제어 - 번호판을 .. (3-3) 프로젝트 진행 5. 번호판 인식 후 Turtlebot3 주행 제어 - Turtlebot3의 navigation을 위해 먼저 SLAM으로 지도를 획득했고 navigation으로 Turtlebot3의 주행을 시작했다. 주행 중 번호판을 인식하면 navigation이 kill되고 Turtlebot3의 velocity를 publish해 문 앞에서 정지하도록 제어했다. (3-2) 프로젝트 진행 3. 번호판 인식 알고리즘 선정 - 처음에는 번호판 인식의 성능을 높여주기 위해 딥러닝을 이용하려고 했으나 번호판 인식은 영상 처리를 이용하는 것이 더 높은 성능을 보인다는 것을 알 수 있었다. 따라서 번호판 인식을 위해 ANPR 알고리즘을 선정했다. 이 알고리즘을 간단히 설명하자면 edge detection을 위해 canny edge method를 이용하고 번호판 모양의 직사각형 윤곽 filter를 통해 번호판을 찾는다. 그 후 Tesseract library로 번호판의 문자를 인식하는 알고리즘이다. 4. Turtlebot3 & Local PC 연결 및 Raspberry Pi & Local PC 연결 - Turtlebot3와 Local PC는 roscore로 연결해 navigation을 수행해 주었다... (3-1) 프로젝트 진행 1. 사전 소프트웨어 조사 - ROS, SLAM, Lidar 센서, Turtlebot3, Socket 통신의 특징을 조사하여 notion 페이지 및 포트폴리오 사이트에 게시했다. 2. OS 선정 및 설치 - ROS와 Ubuntu의 호환성 문제, Turtlebot3의 SLAM과 navigation을 위해 적합한 OS를 선정했다. 따라서 Local PC와 Turtlebot3에 Ubuntu 18.04를 설치했고, 그 위에 ROS Melodic을 설치했다. 번호판 인식을 위한 카메라 모듈이 장착된 Raspberry Pi는 자체 OS를 사용했다. (2) HW & SW 기능 본 프로젝트에는 3가지 하드웨어가 사용된다. 주행을 담당할 로봇, 번호를 인식할 카메라 그리고 이를 관제할 PC로 구성된다. 각 역할을 수행한 하드웨어와 소프트웨어는 아래의 내용과 같다. 1. HW & SW 스펙 (1) 로봇 : 실내 주행할 로봇으로 ‘Turtlebot3 waffle’을 사용하고자 한다. 해당 장비에는 Ubuntu 18.04를 탑재한 ‘Raspberry Pi 3 b+’와 Robot Operating System (ROS) melodic을 사용한다. (2) 카메라 : 번호를 인식할 카메라로 ‘Raspberry Pi 4’를 사용하고자 한다. 해당 장비에는 ‘Raspberry Pi OS Buster’를 사용한다. (3) PC : 로봇과 카메라를 관제할 PC에는 ‘Ubuntu 18.04’가 탑재.. (1) 프로젝트의 목표 및 내용 현재 식사 시간이 되면 전자정보대학관 1층으로 배달음식을 시켜 각 연구실로 돌아가는 학생을 쉽게 만날 수 있다. 식당에 가면 서빙 로봇이 음식을 가져다 주는 것에 착안하여 전자정보대학관 실내를 주행하며 배달 음식을 이송하는 로봇을 만들고자 한다. 본 프로젝트는 배달 로봇의 시스템 중 이동과 번호판 인식을 하고자 한다. 따라서 실제 로봇을 구동시켜 주행 중 목표하는 번호를 인식하면 해당 강의실 방문 앞으로 이동하는 과정을 구현하고자 한다. 해당 일련의 과정은 1. 실내 로봇주행, 2. 번호판 인식, 3. 회전하여 문 앞으로 이동 순으로 진행된다. 이전 1 다음