코로나가 지속됨에 따라 많은 사람들이 오프라인에서의 소비보다 온라인에서 소비를 하는 경우가 더 많아졌다.
즉, 온라인 소비가 많아짐에 따라 운송업 업무가 증가했다. 위드코로나가 시작됨에 따라 기존의 소비 습관으로 돌아가 운송업무량에 문제가 생길 수 있다고 생각할 수 있다. 하지만 현재 일상이 회복되고 있음에도 사람들은 집에서 시켜 집에서 받는 문화에 익숙해졌다. 그리하여 에이블리, SSG 위드 코로나 이후 동일하거나 그 이상의 실적을 올리기도 하였다. 이렇듯 바뀐 소비 습관을 기반으로 운송업에서중앙 집중형 자율 군집주행을 적용한다면 인건비 및 연비 감소 등 여러 이점이 있다.
TurtleBot3 Burger를 사용하였다. TurtleBot3은 교육, 연구, 취미 및 제품 프로토타이핑에 사용하기 위한 작고 저렴하며 프로그래밍 가능한 ROS 기반 모바일 로봇이다. TurtleBot3는 기계 부품을 어떻게 재구성하고 컴퓨터, 센서 등의 옵션 부품을 사용하느냐에 따라 다양한 방식으로커스터마이징이 가능하여 체택하게 되었다.
ROS로 Turtle Bot의 구동을 진행했다. ROS를 위하여 Ubuntu 16.04 LTS Desktop 이미지를 사용하였다. (18.04는 호환 오류가 발생)
TurtleBot이 내부 파라미터를 구하는 모습
좌측부터 1번
- Extrinsic_calibration (🖼 1, 2)
카메라가 보는 각도의 image에 특정 4개 좌표를 구한다. openCV의 findHomography 함수를 이용하여 앞서 구한 특정 4개의 좌표를 내가 원하는 4개
좌표로 변환시키는 변환 행렬을 구한다. 이 변환 행렬을 기존 이미지에 적용하여 Top View 이미지 형태로 변환시킨다. - Detect_lane (🖼 3, 4)
도로 Top View 이미지를 BGR모델에서 HSV모델로 변형시킨 후, 노란색과 하얀색의 HSV 범위를 적당하게 설정하여 왼쪽, 오른쪽 차선 마스크를 구한다.
[결과] 각 마스크를 이용하여 왼쪽 차선, 오른쪽 차선 x좌표를 구하고, 이 두 값의 평균으로 도로 중앙에 해당하는 x좌표를 구한다
- Control_lane
Detect_lane에서 구한 도로 중앙 x좌표를 이용하여 car 1 카메라의 중앙이 그와 같아지도록 PD 제어를 한다. PD제어를 통해 계산된 모터 제어 값을 car 1에 publish 한다.
Step 1. Car 1은 자신의 카메라를 켜고 raw image data를 Remote PC로 보낸다.
Step 2. Remote PC로부터 차선 인식 후 계산된 모터 제어 값을 subscribe 하여 자율 주행한다.
Step 3. Car 2는 카메라를 off하고 자율주행 하지 않은 채로 Car 1에 의존적으로 자율 군집주행을 한다.
이기종 하드웨어 간의 원활한 데이터 송수신, 처리를 위해 로봇 응용 소프트웨어 개발에 주로 사용되는 메타 운영체제인 ROS를 이용하였다. Remote PC는
중앙 관리 시스템으로서 차선 인식과 군집주행 위한 연산 등의 메인 처리를 담당한다. Car 1, 2의 raspberry pi는 카메라 이미지, 라이다 센서 등의 데이터를 Remote PC로 publish 하거나 모터 제어 값을 Remote PC로부터 subscribe 하는 구조이다.
- 충돌제어 알고리즘
- 군집 주행 시나리오
Step 1. 출발 전 Car 1과 Car 2는 일직선상에 위치한다.
Step 2. Car 2가 LIDAR sensor를 이용하여 차간거리를 측정한다.
Step 3. Car 1이 출발하는 순간 Car 2는 차간 거리만큼 직진한다.
Step 4. 출발과 동시에 Car 1의 Gyro sensor data를 buffer에 저장한다.
Step 5. Step 2 완료 후, Remote PC는 Car 1과 Car 2 간의 Yaw값을 각각 비교를 하고 PD 제어를 통해 Car 2에 각속도를 Publish(전송) 해준다.
Step 6. Car 2의 LIDAR sensor를 이용하여, 주행 중 차간 거리가 너무 가까우면 감속한다.
- 시연영상
1️⃣ https://github.com/ROBOTIS-GIT/turtlebot3_autorace/tree/master/turtlebot3_autorace_camera
2️⃣ https://github.com/ROBOTIS-GIT/turtlebot3_autorace/tree/master/turtlebot3_autorace_detect
3️⃣ https://github.com/ROBOTIS-GIT/turtlebot3_autorace/tree/master/turtlebot3_autorace_control
4️⃣ https://github.com/ROBOTIS-GIT/turtlebot3_applications/tree/master/turtlebot3_follower
5️⃣ https://github.com/ROBOTIS-GIT/turtlebot3_applications/tree/master/turtlebot3_follow_filter
📙 이설영, et al. 자율협력주행 환경에서 군집주행에 따른 효과분석. 대한교통학회 학술대회지, 2017, 423-428.
📙 조영; 권경주; 오철. 고속도로 화물차 군집주행 적용구간 선정 연구. 대한교통학회지, 2018, 98-111.
📙 김예진, 정하림, 고우리, 박중규, 윤일수. 메타분석을 이용한 화물차 군집주행의 효과 분석. 한국ITS학회논문지, 2022, 76-90.
















