Korean Institute of Information Technology

Home

The Journal of Korean Institute of Information Technology - Vol. 21 , No. 7

[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 21, No. 7, pp. 23-29
Abbreviation: Journal of KIIT
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 31 Jul 2023
Received 23 May 2023 Revised 07 Jun 2023 Accepted 10 Jun 2023
DOI: https://doi.org/10.14801/jkiit.2023.21.7.23

차동 구동 로봇의 오토파일럿을 위한 PX4 기반의 제어 알고리즘 개발
이동현*
*금오공과대학교 전자공학부, IT융복합공학과 부교수

Development of a PX4-based Control Algorithm for Differential-Drive Robot Autopilot
Dong-Hyun Lee*
Correspondence to : Dong-Hyun Lee School of Electronic Engineering, Department of IT Convergence Engineering, Kumoh National Institute of Technology Tel.: +82-54-478-7474, Email: donglee@kumoh.ac.kr

Funding Information ▼

초록

차동 구동 로봇은 기구학적인 장점과 유연성으로 인해 다양한 산업 분야에 활용되고 있으며, 이에 따라 실외 환경에서의 오토파일럿 임무 수행에 대한 요구 또한 증가하고 있다. 본 연구에서는 차동 구동 로봇의 실외 환경에서의 안정적인 오토파일럿 임무 수행을 위한 PX4 기반의 제어 알고리즘을 제안한다. PX4는 실외 환경에서 사용되는 오토파일럿 시스템으로, 드론과 자율 주행 시스템에 널리 활용되고 있다. 제안하는 제어 알고리즘은 차동 구동 로봇 기구학적인 특성을 활용하여 정밀하고 신속한 목표 경로 추종을 수행하며, PX4 기반의 시스템에 적용 가능하므로 실외 환경의 오토파일럿에 적용 가능하다. 시뮬레이션 상에서 다수의 경유지를 이동하는 오토파일럿 시뮬레이션을 통해 제안된 시스템의 효과를 검증하고 성능을 평가하였다.

Abstract

Differential-drive robots are extensively utilized in various industries due to their kinematic advantages and flexibility. Consequently, there is a growing need for autonomous piloting capabilities in outdoor environments. This research introduces a PX4-based control algorithm specifically designed for the autopilot functionality of differential-drive robots in outdoor settings. Leveraging the PX4 platform, widely employed in drones and autonomous driving systems, the proposed algorithm enables precise and efficient tracking of target paths, capitalizing on the unique kinematic characteristics of differential-drive robots. Simulations validate the effectiveness of the proposed system and allow for an evaluation of its autopilot capabilities for differential-drive robots in outdoor environments.


Keywords: differential-drive robot, mobile robot control, PX4, autopilot simulation

Ⅰ. 서 론

로봇 기술은 인간의 업무 부담을 경감하고 생산성을 향상시키기 위한 중요한 역할을 한다. 특히 차동 구동 로봇은 그 유연성과 다양한 적용 분야로 인해 많은 관심을 받고 있다[1][2]. 이러한 차동 구동 로봇은 자율 주행 시스템을 통해 자동화된 작업을 수행할 수 있으며, 이를 위해 오토파일럿 시스템과 효과적인 제어 알고리즘의 개발이 필요하다[3][4].

오토파일럿 시스템의 구현을 위한 중요한 기술 중 하나는 위치 인식 기술이다. 실내 자율 주행의 경우 SLAM(Simultaneous Localization And Mapping) 기법을 기반으로 한 지도 생성 및 생성된 지도를 기반으로 한 위치 인식 기술들이 널리 활용되고 있다[5][6]. 그러나 실외환경의 경우 일반적으로 위성 항법 시스템과 관성센서를 결합한 위치 인식 기술을 기반으로 로봇의 위치를 추정한다[7]. 이와 같은 위치 추정 시스템을 활용하는 PX4는 실외환경에서 드론 및 자율 주행 시스템을 위한 소프트웨어 플랫폼으로 사용되며, 비행 제어 및 미션 관리를 담당한다. PX4는 실시간 운영체제인 NuttX와 함께 동작하며, 드론의 안정성, 자세 제어, 비행 미션, 센서 통합 등의 기능을 수행한다. 또한 PX4는 다양한 비행 모드를 지원하며, 자동 이륙, 자동 착륙, 원하는 위치로의 이동, 미리 정의된 경로를 따라 비행하는 등의 기능을 제공한다.

본 연구는 실외환경에서 차동 구동 로봇의 오토파일럿을 위한 PX4 기반의 제어 알고리즘을 개발하는 것을 목표로 한다. PX4는 센서 데이터의 수집과 처리, 자세 추정, 동적 제어 등 다양한 기능을 제공하여 자율 주행 로봇의 제어 시스템을 구축하는 데 효과적이다. 제어 알고리즘은 로봇의 모델링 정보와 센서 데이터를 기반으로 로봇의 동작을 제어하는 알고리즘이다. 이를 통해 로봇은 주어진 환경에서 안전하고 정확한 이동과 작업을 수행할 수 있다. PX4는 다양한 형태의 드론에 대한 제어 알고리즘과 애커먼 스티어링 기반의 이동 로봇에 적합한 L1 제어기를 지원한다[8]. 그러나 차동 구동 로봇의 기구학적인 특성을 고려한 제어 알고리즘은 제공하지 않으므로 PX4 시스템을 차동 구동 로봇의 오토파일럿에 활용하기 위한 제어 알고리즘이 요구된다. 따라서 본 연구에서는 차동 구동 로봇의 기구학적 모델에 기반하며, 오토파일럿 임무에 적합한 PX4 기반의 제어 알고리즘을 제안한다.

제안하는 알고리즘의 성능을 검증하기 위하여 게즈보 시뮬레이터를 활용하며, PX4를 시뮬레이션 환경에서 테스트하기 위한 SITL(Software-In-The-Loop)을 이용하여 시뮬레이션 개발 환경을 구성한다. 게즈보는 로봇 시뮬레이션을 위한 오픈 소스 3D 시뮬레이터이며 다양한 로봇, 센서 및 환경을 모델링하고 시뮬레이션 할 수 있다. 이를 통해 현실적인 환경을 재현하고 로봇의 동작을 시뮬레이션 상에서 테스트할 수 있다. 또한, SITL은 PX4 플랫폼과 연동하여 소프트웨어 수준에서 시뮬레이션을 수행하는 기능을 제공한다. 이를 통해 제어 알고리즘의 개발과 테스트를 실제 하드웨어 없이도 수행할 수 있으며, 개발과 디버깅 과정을 효율적으로 진행할 수 있다.

시뮬레이션 실험에서는 다수의 경유지를 방문하는 임무를 생성하고 로봇의 이동 경로 및 방위각을 측정하고 분석하였다. 실험 결과를 통해 제안된 시스템의 우수성과 잠재적인 응용 분야에 대한 실증적인 근거를 제시하였다.


Ⅱ. 차동 구동 로봇 제어 알고리즘

PX4 시스템의 경우 NED(North-East-Down) 좌표계를 기준으로 하므로 로봇의 z축은 지면을 향하게 되고, 따라서 yaw 회전의 양수 방향은 시계방향이 된다. 따라서 NED 좌표계 기준에서 로봇의 선속도인 v와 각속도인 w를 기반으로 한 로봇의 왼쪽 바퀴 선속도인 vL과 오른쪽 바퀴 선속도인 vR식 (1)과 같이 정의된다.

vL=v+Rcw,   vR=v-Rcw(1) 

위 식에서 Rc는 로봇의 중심에서 바퀴까지의 거리이다. 제안하는 차동 구동 로봇 제어 알고리즘은 목표 경유지 또는 목표 경로로의 이동을 위한 제어 선속도와 각속도를 생성하며, 이를 위하여 식 (2)와 같이 임의의 변수 q와 임계값 qt에 대한 g(q,qt)를 정의한다.

gq,qt=12cosπqtq+1Ifq<qt0otherwise(2) 

g(q,qt)는 본 연구에서 제안하는 차동 구동 로봇의 선속도와 각속도 생성을 위해 정의된 함수로서 q가 0에 접근함에 따라 최대값인 1에 가까운 값을 가지고 qt 또는 -qt로 접근함에 따라 0에 수렴한다. g(q,qt)를 이용하여 식 (3)과 같이 목표 선속도인 vT를 정의한다.

vT=vdsθ,vd=vcruise -vgoal gd-dt,dt+vgoal ifd<dt,vcruise otherwise,sθ=gθ,θtv,     0<θtv<π(3) 

위 식에서 vcruise ,vgoal ,d,dt,θ,θtv 는 각각 목표 선 속도, 목표지점 도달 시의 목표속도, 최종 목표지점과의 거리, 목표지점 도달 시의 속도로 변경하기 위한 임계 거리, 목표지점과 로봇 간의 각도 및 선속도 조절을 위한 임계 각도 이다. 식 (3)에서 v(d)는 로봇과 최종 목적지와의 거리가 dt이하가 될 경우 vTvgoal에 수렴하여 최종적으로 vgoal의 속도로 최종 목적지에 도착하도록 하는 함수이다. s(θ)는 스케일러로서 목표지점과 로봇의 전진 방향 간의 각도의 크기가 θtv에 가까워짐에 따라 0으로 수렴하고, 각도 차이가 줄어듦에 따라 1로 수렴하는 함수이다. 이를 통하여 각도 차이가 임계 각도보다 클 경우 선속도를 제한하여 로봇이 짧은 회전반경과 각속도로 목표지점을 향하도록 하며, 각도 차이가 줄어듦에 따라 선속도를 증가시킨다.

목표 각속도인 wT식 (4)와 같이 계산된다.

wT=wcruise 1-gθ,θtwif 0θθtwwcruise gθ,θtw-1if -θtw<θ<0wcruise sgnθotherwise(4) 

θtw는 각속도 조절을 위한 임계 각도로써 θ의 크기가 임계 각도보다 클 경우 θ의 부호에 wcruise를 곱한 값을 각속도로 하여 빠른 각속도로 로봇이 목표지점으로 향하도록 회전하며, θ가 0에 가까워질수록 각속도가 0에 수렴함으로써 로봇의 이동방향을 목표지점의 방향으로 유지시키도록 한다.

식 (3)식 (4)의 임계 각도인 θtvθtw는 차동 구동 로봇의 선속도와 각속도 간의 기구학적인 제약조건을 만족시키기 위하여 아래의 부등식을 만족하도록 설정되어야 한다.

0<θtvθtw<π/2(5) 

차동 구동 로봇의 각 바퀴는 독립적인 구동이 가능하며 각 바퀴의 속도는 식 (1)과 같고, 각 바퀴의 허용 가능 범위는 식 (6)과 같다.

-vmaxvL,vRvmax(6) 

제안한 알고리즘은 로봇의 후진 주행을 고려하지 않으므로 차동 구동 로봇의 제어 명령으로 사용 가능한 속도 공간은 식 (7)과 같이 정의된다.

vv0vRcw+vmax,w<0v0v-Rcw+vmax,w0(7) 

vT식 (7)에 의해 정의된 허용 속도 가능 영역에 속해야 한다. 만약 식 (7)의 범위를 벗어날 경우 식 (7)의 허용 속도 가능 영역의 경계값과 vT의 평균을 사용하여 식 (8)과 같이 제어 선속도인 vC를 계산한다.

vC=0.5vT-RcwT+vmaxifwT0vT>-RcwT+vmax0.5vT+RcwT+vmaxifwT<0vT>RcwT+vmaxvTotherwise(8) 

식 (8)에서 구한 vC식 (7)을 사용하여 식 (9)와 같이 허용 속도 가능 영역 내의 제어 각속도인 wC를 구한다.

wC=vmax-vTRcif wT0vT-vmaxRcotherwise(9) 

식 (8)식 (9)로부터 계산한 제어 선속도와 각속도는 식 (1)을 통하여 왼쪽 및 오른쪽 바퀴의 제어 선속도로 변환되어 로봇을 이동시킨다.


Ⅲ. 실 험
3.1 차동 구동 로봇의 시뮬레이션 모델

차동 구동 로봇의 시뮬레이션 수행을 위하여 Adept Mobile Robots 사의 P3DX(Pioneer 3-DX)를 기반으로 한 차동 구동 로봇 시뮬레이션 모델을 제작하였다. 제작한 모델의 바퀴의 반지름은 0.1m이며, 왼쪽과 오른쪽 바퀴 간의 거리는 0.4m로 설정하였다. 각 바퀴의 최대 선속도는 1m/s로 설정하였다. 설계한 로봇의 외형, 링크 프레임, 조인트 및 무게 중심은 그림 1에 나타내었다.


Fig. 1. 
Robot simulation model (a) appearance, (b) links, (c) joints, (d) center of mass

3.2 시뮬레이션 설정

제안하는 차동 구동 속도 제어 알고리즘을 평가하기 위하여 그림 2와 같이 게즈보 시뮬레이션 상에서 6개의 경유지로 구성된 목표 이동 경로를 구성하였으며 로봇은 PX4의 오토파일럿을 통하여 순차적으로 경유지들을 방문한다. 제어 알고리즘의 직선 구간 이동 성능 및 급격한 코너링에서의 성능을 확인할 수 있도록 경유지를 배치하였다. 또한, 두 경유지를 직선으로 연결한 경로를 구간별 목표 이동 경로로 설정함으로써 총 5개의 구간에 대한 목표 이동 경로를 정의하였다. 예를 들어 목표 이동 경로 3은 경유지 3과 경유지 4를 잇는 직선으로 정의된다.


Fig. 2. 
Five target paths in the simulation with six waypoints

제안한 알고리즘의 평가를 위하여 3가지 알고리즘을 적용한 실험을 진행하였다. 첫 번째 알고리즘은 L1 알고리즘을 차동 구동 로봇에 적용할 수 있도록 변경한 알고리즘이다. L1 알고리즘은 애커먼 조향 기반의 로봇에 적합한 제어기이며, 제어 명령으로 조향각과 이동속도를 생성한다.

차동 구동 로봇의 명령은 선속도와 각속도이므로 L1 알고리즘의 선속도는 차동 구동 로봇의 선속도와 동일하게 사용하며, 각속도의 경우 식 (10)을 통하여 생성한다.

w=tanθL(10) 

w는 차동 구동 로봇의 제어를 위한 각속도, θ는 L1 알고리즘이 생성한 조향각, 그리고 L은 로봇의 앞축과 뒤축 간의 간격이다. 실험에서는 로봇의 중심에서 바퀴까지의 거리인 RcL로 설정하였다. 두 번째와 세 번째 알고리즘은 제안하는 알고리즘에서 임계 각도를 각각 60도와 90도로 설정한 알고리즘이다. 서로 다른 임계 각도를 적용함으로써 임계 각도에 따른 성능 특성을 확인할 수 있다.

3.3 실험 결과

그림 3은 경유지 1을 원점으로 한 East-North-Up(ENU) 좌표계에서의 로봇의 이동 경로를 나타낸다. L1의 경우 다른 알고리즘에 비해 급격한 코너링에서 큰 오버슛을 보임을 확인할 수 있다. 임계 각도가 60도인 경우 다른 알고리즘에 비해 급격한 코너링에서의 오버슛의 크기가 가장 적으며, 또한 직선 구간의 이동에서도 오실레이션의 빈도가 낮음을 확인할 수 있다. 임계 각도가 90인 경우 L1에 비해 적은 오버슛을 보였으나 직선 구간에서 짧은 진폭과 높은 주파수의 오실레이션을 보였다.


Fig. 3. 
Travel path of the robot in ENU coordinates

그림 4는 각 구간에 대한 목표 이동 경로와 로봇이동 경로 간의 cross track error (CTE)의 평균과 표준편차를 나타낸다. CTE는 로봇의 위치에서 목표 이동 경로까지의 최단 거리이다. L1 알고리즘의 경우 CTE의 평균과 표준편차가 제안하는 알고리즘에 비해 약 2배 이상 큰 값을 보였다. 그리고 임계 각도가 90도일 때의 결과가 임계 각도가 60인 경우보다 상대적으로 낮은 CTE 평균을 보였다.


Fig. 4. 
Average and standard deviation of CTE for each path segment

그림 5는 시간에 따른 로봇의 방위각의 변화량을 나타낸다. L1의 경우 방위각 변화율의 진폭과 주파수가 다른 알고리즘에 비해 낮음을 확인할 수 있었다. 이는 목표 지점과 로봇 간의 각도 차이가 크더라도 완만한 속도로 조향하며, 또한 이동 시의 오실레이션 빈도가 적음을 나타낸다. 임계 각도가 60도인 경우 L1에 비해 높은 주파수를 보였으나 90도인 경우에 비해 낮은 주파수와 낮은 진폭을 보였다. 임계 각도가 90도인 경우 다른 알고리즘에 비해 높은 주파수 및 진폭을 보였다.


Fig. 5. 
Rate of change of heading angle of the robot over time

표 1은 각 알고리즘의 CTE 평균과 표준편차, 그리고 방위각 변화량(변화율의 크기)의 누적값과 주파수를 나타낸다. 방위각 변화량 누적값은 알고리즘이 목표 위치로 이동하는 동안 제어한 조향각도의 변화율의 총량을 나타내므로 방위각 변화율 누적량이 낮은 알고리즘일수록 최소한의 조향 제어로 목적지에 도달할 수 있음을 나타낸다. 또한 방위각 변화량 주파수는 알고리즘의 이동 경로에 대한 오실레이션을 나타내는 척도이다. L1의 경우 방위각 변화량 주파수가 낮았으며, 이는 로봇의 이동 경로에 대한 오실레이션의 발생 빈도가 다른 알고리즘에 비해 적다는 것을 정량적으로 나타낸다. 그러나 그 외의 평가척도에서는 다른 알고리즘에 비해 좋지 않은 성능을 보였다. 임계 각도가 60도인 경우는 임계 각도가 90도인 경우보다 큰 CTE 평균을 가졌으나 CTE 표준편차, 방위각 변화율 누적량 및 주파수에서는 적은 값을 보였다. 이는 임계 각도가 60도인 경우 임계 각도가 90도인 경우에 비해 적은 오실레이션으로 목적지까지 이동하지만 상대적으로 이동 경로에 수렴하는 시간이 크다는 것을 의미한다.

Table 1. 
CTE and cumulative change in heading angle of the algorithms
Algorithm L1 θ60° θ90°
Measure
CTE average (m) 1.04 0.46 0.37
CTE standard deviation (m) 0.87 0.23 0.24
Accumulation of change of azimuth (rad) 35.29 20.54 58.49
Frequency of change in azimuth (Hz) 0.19 0.43 0.51


Ⅳ. 결 론

본 연구에서는 차동 구동 로봇의 기구학적 구조를 고려하여 안정적이고 정확하게 목표 지점 또는 목표 경로에 도달할 수 있도록 제어하는 알고리즘을 제안하였다. 이를 PX4 기반의 시스템에 적용하여 실외환경에서 오토파일럿을 수행할 수 있는 차동 구동 로봇 시뮬레이션 모델을 설계하였다. 또한, 게즈보 시뮬레이터와 SITL을 활용하여 시뮬레이션 환경을 구성하고 시뮬레이션 실험을 통해 제안된 로봇 모델 및 제어 알고리즘의 성능을 검증하였다. 앞으로의 연구에서는 제안된 시스템을 실제 환경에 적용하고 보완하여 실용적인 오토파일럿 시스템을 구현하고자 한다.


Acknowledgments

이 논문은 2023년도 정부(교육부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업임(No.2021R1I1A3050100), 또한 정부(과학기술정보통신부)의 재원으로 정보통신기획평가원의 지원을 받아 수행된 연구임(No.2021-0-02087, 사회적 상호작용 기반 다중 로봇 자율 주행을 위한 3차원 Semantic Scene 재구성 응용 기술)


References
1. R. Singh, G. Singh, and V. Kumar, "Control of closed-loop differential drive mobile robot using forward and reverse Kinematics", International Conference on Smart Systems and Inventive Technology, Tirunelveli, India, pp. 430-433, Aug. 2020.
2. Y. Maddahi and K. Zareinia, "Nonparametric Bootstrap Technique to Improve Positional Accuracy in Mobile Robots With Differential Drive Mechanism", IEEE Access, Vol. 8, pp. 158502-158511, Sep. 2020.
3. M. Sahal, B. R. Haqiqi, and R. E. A Kadir, "Unmanned Surface Vehicle Autopilot and Guidance System Design with Disturbance Using Fuzzy Logic Sliding Curve", International Seminar on Research of Information Technology and Intelligent Systems, Yogyakarta, Indonesia, pp. 113-118, Feb. 2021.
4. V. L. Tran, V. B. Nguyen, and V. T. Nguyen, "Determining Vehicle Trajectory based on Motion Model for Intelligent Autopilot Control", International Conference on Advanced Technologies for Communications, Hanoi, Vietnam, pp. 231-236, Oct. 2019.
5. S. H. Chan, P. T. Wu, and L. C. Fu, "Robust 2D indoor localization through laser SLAM and visual SLAM fusion", International Conference on Systems, Man, and Cybernetics, Miyazaki, Japan, pp. 1263-1268, Oct. 2018.
6. H.-S. Kim and W.-H. Kim, "Design and Implementation of a ROS-based Modular AMR", Journal of KIIT, Vol. 20, No. 5, pp. 39-46, May 2022.
7. J. U. Lee, D. H. Park, and J. H. Won, "A Localization Method with UKF/MAF for a Single Antenna GNSS/IMU Integration of Autonomous Unmanned Ground Vehicle", Sensor Data Fusion: Trends, Solutions, Applications, Bonn, Germany, pp. 1-6, Oct. 2022.
8. S. Park, J. Deyst, and J. P. How, "A new nonlinear guidance logic for trajectory tracking", AIAA guidance, navigation, and control conference and exhibit, Aug. 2004.

저자소개
이 동 현 (Dong-Hyun Lee)

2007년 : 경북대학교 전기전자 및 컴퓨터학부(학사)

2009년 : KAIST 전자공학부(석사)

2015년 : KAIST 전자공학부(박사)

2016년 ~ 현재 : 금오공과대학교 전자공학부 부교수

관심분야 : 모바일 로보틱스, 자율주행, 인공지능