목록두산 로보틱스 부트캠프 ROKEY/실무 프로젝트 (40)
printf("ho_tari\n");
2024.11.26 4번째 프로벡트가 시작되었다.이번 프로젝트의 주제는 SLAM 모델을 기반으로 로복 주행 환경 장애물 인식 모델을 구현하는 것이다. 1일차에 진행되었던 내용은 실무에서 실제로 기업들 간의 업무 요청사항을 전달할 때 작성되는 서류인 과업지시서에 대해서 학습하였다. 과업지시서에 들어가는 내용과 이를 통해 기업들 간의 프로젝트들이 어떻게 진행이 되는지 알아볼 수 있었다. 또한, 여러 종류의 센서들이 각각의 장점을 융합하고 서로의 단점을 보완하며 최종적으로 자율 주행과 같은 기능을 수행할 수 있도록 하는 센서 퓨전에 대해서 배웠다.
2024.11.25 마지막날에는 manipulator-x의 자율 동작을 구현하기 위해 대부분의 시간을 보냈다. 원래의 목표는 로봇팔에 달린 카메라가 YOLOv8을 통해 박스의 색을 구분하고 명령을 내린 색깔의 박스를 집을 수 있도록박스를 식별하여 생기는 객체 탐지 박스가 카메라 화면의 가운데로 오도록 tracking한 뒤 그 tracking으로 인해 변경된 카메라가 달린 joint의 각도에 따라 나머지 각도에 비례적으로 각도 수치를 더해주어 거리에 상관없이 박스를 잡을 수 있도록 설계를 하려고 하였으나 굉장히 어렵고 오래 걸리는 작업인 것을 깨닫고 끝마무리를 짓지 못하여 너무 아쉬웠다. 결국 마무리를 짓진 못하였고 정해진 위치의 박스를 집어 컨베이어 벨트에 옮길 수 있도록만 하였다. https://you..
2024.11.22 4일차에는 3일차에서 진행했던 ARUCO 마커 인식 카메라와 YOLOv8 인식 카메라의 화면을 GUI와 통신 시켜 통합시켰다. 이제 로봇팔이 YOLOv8을 통해 박스의 색을 구분하고 인식한 뒤 명령을 내리는 색깔의 박스를 집어올려 컨베이어 벨트에 옮기도록 설계를 해야하는데 쉽지 않은 것 같다. 시간이 너무 오래 걸리기도 하고 로봇팔의 각 joint들의 움직임과 연관성에 대해서도 이해를 더 해야할 것 같다고 생각하였다.
2024.11.21 프로젝트 3일차에는 ARUCO 마커를 여러개 인식했을 때 그 마커들 사이의 거리 혹은 각도를 계산하여 출력하도록 하였다. 또한, 이제 manipulator-x의 로봇팔이 자율적으로 동작할 수 있도록 학습시키기 위해 필요한 데이터들을 수집하고 라벨링하였다.
2024.11.20 2일차에는 컨베이어 벨트의 구동과 ARUCO를 이용한 마커 인식을 구현해보는 시간을 가졌다. 기존에 만들었던 GUI에서 컨베이어 벨트와 연결된 아두이노와 시리얼 통신을 하여 버튼을 활용하여 컨베이어 벨트의 동작을 제어하도록 설계하였다. https://youtube.com/shorts/JcfV0yIJ8PM ARUCO를 활용하여 마커를 인식해 좌표축을 띄우고 카메라와의 거리를 측정하여 출력해 보았다.
2024.11.19 3번째 프로젝트 첫날로 이번에 진행되는 프로젝트는 물류센터에서의 로봇팔이 달린 자율 이동 로봇을 설계하는 내용이다. 이번 프로젝트에서는 ARUCO를 사용하여 마커를 인식하고 좌표계를 이용하여 터틀봇을 주행시키고 로봇팔과 컨베이어벨트를 이용하여 원하는 물건을 옮기는 내용을 진행하게 된다. 첫날에는 터틀봇과 글로벌 뷰 카메라의 영상을 띄우고 로봇팔에게 원하는 작업 내용을 선택하여 퍼블리시하는 GUI를 만들었다.
2024.11.18 두 번째 프로젝트 마지막 날로 프로젝트를 모두 마무리하였다. 프로젝트 마지막에 기능을 더 추가할 것이 있을까 고민을 하다 생각난 기능은 터틀봇이 테이블에 배송을 완료했을 때 배송이 완료되었다는 텍스트 알림 출력과 함께 음성메시지로 배송이 완료되었다고 출력하는 것이다. https://youtu.be/y0oaHXsJol4
2024.11.15 이젠 table order gui, kitchen display gui 그리고 serving robot gui 3가지를 모두 실행시키고 위해서 터미널에서 작성해야하는 명령어가 너무 많아 하나의 launch 파일을 만들어 하나의 터미널 명령어로 모든 기능과 gui가 실행이 되도록 설계하였다. 또, rviz에서 터틀봇이 자율 이동하는 영상을 serving robot gui에 실시간으로 송출이 될 수 있도록 하여 rviz화면을 보지 않아도 serving robot gui에서 터틀봇의 자율 이동을 확인할 수 있다. 코드를 실행 후 시뮬레이션을 돌리면 주문 내역이 database.db 파일에 주문 테이블의 번호, 주문 날짜, 주문 시간, 주문 내역이 데이터로 저장이 된다.