Home | JKIIT Archives | About the JKIIT | E-SUBMISSON |
Sorry.
You are not permitted to access the full text of articles.
If you have any questions about permissions,
please contact the Society.
죄송합니다.
회원님은 논문 이용 권한이 없습니다.
권한 관련 문의는 학회로 부탁 드립니다.
[ Article ] | |
The Journal of Korean Institute of Information Technology - Vol. 21, No. 11, pp. 71-79 | |
Abbreviation: Journal of KIIT | |
ISSN: 1598-8619 (Print) 2093-7571 (Online) | |
Print publication date 30 Nov 2023 | |
Received 21 Sep 2023 Revised 20 Oct 2023 Accepted 23 Oct 2023 | |
DOI: https://doi.org/10.14801/jkiit.2023.21.11.71 | |
SITL 기반 열차자율주행제어 시뮬레이터를 위한 열차주행제어 모듈 설계 | |
황종규*
; 채성윤*
; 이병훈*
; 정락교*
| |
*한국철도기술연구원 연구원(교신저자) | |
*한국철도기술연구원 연구원 | |
Design of Train Driving Control System for SITL-based Autonomous Train Control Simulator | |
Jong-Gyu Hwang*
; Sung-Yoon Chae*
; Byung-Hun Lee*
; Rag-Gyo Jeong*
| |
Correspondence to : Jong-Gyu Hwang Dept. of Train Control & Communication Research, Korea Railroad Research Institute, Korea Tel.: +82-31-460-5438, Email: jghwnag@krri.re.kr | |
Funding Information ▼ |
열차제어기술은 운행노선 간 호환 운영이나 열차 간 안전간격 유지로 인한 수송량 증대의 한계를 극복하기 위해 지상중심에서 차상중심의 열차자율주행제어기술이 개발되고 있다. 이러한 새로운 열차제어기술의 개발을 위해서는 동일 운행노선의 같은 조건에서 기존의 열차제어기술과의 성능 비교분석이 필요하다. 이를 위해 소프트웨어 기반으로 다양한 차종별, 다양한 신호체계별 열차주행을 통한 성능분석이 가능한 통합시뮬레이터(SITL: Software In-The Loop)의 구조를 제안 및 개발하고 있다. 본 논문에서는 이러한 SITL기반 시뮬레이터 중 가상운행선로 에디터에서 생성된 소프트웨어 기반 운행선로로 자율주행제어 로직을 가진 열차가 주행을 통한 시뮬레이션을 가능한 모듈의 구조를 제안 및 설계하였다.
Onboard-based Train control technology is being developed to overcome the limitations of increasing traffic capacity due to compatible operation or maintaining safe intervals between train. The development of these new signaling technology requires the comparative analysis of performance with the application of existing train control technologies under the same conditions. This paper is proposing and developing a software-based simulator(SITL) structure that enables performance analysis through train driving by various trains and signalling. Especially, this paper designed a structure that allows trains with autonomous driving control logic to simulate through driving with virtual-based lines.
Keywords: autonomous rain control system, software-in-the loop, railway signalling, train driving module |
열차의 간격제어 기능을 담당하는 신호제어(Railway signalling) 기술은 수년 전부터는 무선통신 기반 열차제어 기술(CBTC, Computer-Based Train Control)이 경전철에 적용되고 있다[1][2]. 하지만, 최근 들어 컴퓨터와 무선통신 기술의 발달에 따라 기존의 지상 신호설비 중심에서 차상중심의 제어기술이 국내외에서 연구되고 있다. 열차자율주행제어시스템은 이러한 최근 기술동향에 따라 열차 간 직접 통신을 통한 지상 신호설비를 통하지 않고 차상에서 열차 간 간격제어를 하는 차상 중심의 차세대 신호제어 기술이다[3]-[10].
국내에서도 기존의 CBTC 방식의 한계를 극복하기 위해서 지상 중심의 열차제어에서 차상 중심의 열차자율주행제어 시스템(ATCS, Autonomous Train Control System)을 개발하고 있다[3][4]. ATCS 기술은 기존의 CBTC와 같은 무선통신 기반 열차제어시스템의 지상중심의 제어 패러다임을 완전한 차상 중심으로 하는 차세대 열차제어시스템이다. 이를 통해 지능화된 차상의 열차제어장치 간의 협업을 통한 보다 향상된 열차제어 성능을 제공하는 시스템이다. 이러한 ATCS의 주요 기술적 특징은 그림 1에서처럼 기존신호체계와는 다른 다음과 같은 몇가지 주요한 특징이 있다[3][4][7]-[10].
이러한 새로운 신호체계 기반의 열차자율주행제어 시스템을 개발하면서 다양한 운행노선과 다양한 차종에서의 기존 신호체계와의 성능 비교분석 등이 필요하다. 이를 위해 소프트웨어 기반으로 가상 운행 선로에서 이처럼 다양한 차종별, 다양한 신호체계별 열차주행을 통한 성능분석을 위한 소프트웨어 기반 시뮬레이터(SITL, Software In-The Loop)를 구축하고 있으며, 이 SITL 기반 시뮬레이터를 위해 우선적으로 가상운행선로 에디터를 개발하였다[4].
이에 더하여 SITL 기반 시뮬레이터에서 자율주행제어와 같은 신호체계의 성능분석을 위한 열차주행 모듈이 필수적으로 요구되고 있다. 이에 따라 연구개발 중인 ATCS 신호체계가 결합된 실제 운행 중인 열차의 주행 특성을 반영한 열차모델 및 다양한 신호체계가 결합된 열차주행 모듈이 필요하다. 이 열차주행 모듈은 이미 개발된 가상운행선로 에디터와 통합운영을 위해 적절하게 인터페이스가 구현되어야 한다. 이를 위해 이미 개발된 가상운행선로 에디터에서 생성된 운행선로 위를 자율주행제어 로직을 가진 열차가 주행을 통한 시뮬레이션을 가능하도록 설계하였다.
이를 위해, 본 논문에서는 이미 국내에서 운영 중인 신호체계와 더불어 현재 개발 중인 ATCS와 같은 새로운 신호체계를 가진 열차주행 모델의 구조를 설계 및 제안하였다. 또한, 이미 개발된 가상운행선로 에디터와의 인터페이스를 통한 제작 결과를 제시하였다. 본 논문에서 제안한 모듈을 통해 실제 현장에 운용 중인 열차 모델이 CBTC와 ATCS와 같은 다수의 신호체계에 따라 주행하면서 신호 성능의 비교분석을 할 수 있는 SITL 기반 시뮬레이터가 구축될 수 있다. 또한 이를 통해 새로운 ATCS 신호체계의 개발뿐 아니라, 기존선에 새로운 신호시스템의 개량 할 경우에도 제안한 모듈을 통해 사전에 신호 성능을 분석할 수 있는 플랫폼으로 활용될 수 있다.
SITL 기반 열차자율주행제어 시뮬레이터를 위한 열차주행 모듈은 기존의 가상운행선로 에디터를 통해 생성된 가상운행선로 위를 모의로 주행하는 모듈이다. 이 모듈은 ATCS와 CBTC같은 다양한 신호체계를 포함하고 있으며, 동시에 열차주행 특성이 반영된 열차 모델를 향후에 추가할 수 있는 다양한 노선환경 및 신호체계로의 확장성을 확보하기 위한 모듈이다[4][5].
이에 따라 다수의 철도차량과 모델과 신호체계가 시뮬레이터 내에 구현되어야 하며, 국내에서 연구개발 중인 ATCS 신호체계의 신호성능 비교분석을 위해서, ATCS뿐 아니라 CBTC 신호체계도 반영되어야 하며, 또한 기존의 가상운행선로 에디터와도 인터페이스가 가능한 구조로 설계되어야 한다. 즉, 다음과 같은 주요한 요구조건들을 충족되는 구조의 열차주행 모듈을 설계하였다.
- 열차 모델 : 차량이나 열차 운영 데이터가 입력하고, 단일열차 및 두 대 이상 복수 열차의 주행 성능을 출력하며 신호 제어 체계와의 연계를 통한 열차 주행 기능을 제공하는 열차 모델을 설계하며, 차량 모델에 대해서는 도시 철도차량과 고속철도차량의 두 가지로 하고, 향후 다른 차종도 추가될 수 있도록 확장성을 갖는 구조로 설계
- 열차제어 로직 : 자율주행제어와 CBTC 신호제어 로직을 구현하며, 열차 모델과의 연계를 통하여 열차가 모의 주행이 가능하도록 설계
- 가상운행선로 에디터와의 인터페이스 : 기존 가상운행선로 에디터와 인터페이스를 통해 생성된 가상운행선로 위를 열차가 주행할 수 있는 구조로 하고, 가상운행선로의 정보 외에 열차주행 모듈에 필요한 데이터에 대해서는 별도로 데이터 입력할 수 있는 구조로 설계
- 열차주행 모듈 : 가상운행선로를 열차 모델이 신호제어 로직을 통해 주행할 수 있도록 구현하며, 열차 주행에 대한 정보를 로그 파일로 저장 기능
- 열차주행 모듈 제어통제 기능 : 사용자가 열차주행 모듈을 이용해 시뮬레이션할 수 있도록 관련 기능 및 UI 설계
본 논문에서는 위의 조건들을 만족하는 열차주행 모듈을 위해 그림 2에서처럼 크게 열차 모델, 신호제어 로직, 선로선형 정보 관리 부분으로 구성하였다. 선로선형 정보 관리 부분은 가상운행선로 에디터로부터 생성된 파일을 입력하여 열차주행에 필요한 정보를 추출하는 기능을 수행하며, 열차주행 모델은 실제 고속철도 및 도시철도 차량의 주행모델링, 차량의 중량 등 정적 데이터, 열차주행 시뮬레이션을 위한 운영시나리오 관리 및 결과 저장 등의 기능을 수행한다. 신호제어 로직 부분은 ATCS와 CBTC 신호체계 모델 부분이 포함된다.
열차주행 모듈 내부의 하부 구성들 사이의 인터페이스는 공유메모리(Shared memory)를 통하는 것으로 설계하였고(그림 1의 점선 부분), 가상운행선로 에디터와는 파일형태로 인터페이스 되도록(그림1의 실선 부분) 하였다. 그림 2의 열차 모델은 차량의 특성을 나타내는 부분과 열차주행 시뮬레이션을 위한 부분으로 구성되어 있는데, 이 중 열차주행 시뮬레이션 부분은 신호체계에 따른 이동권한 등의 정보를 바탕으로 기능이 수행되어야 한다.
이에 따라 그림 2의 구조를 바탕으로 데이터베이스와 로직의 기능설계에서는 신호제어 로직과 시뮬레이션 결과 부분을 하나의 구성으로 분류하였다. 열차 모델은 차량 자체의 모델링 부분과 시뮬레이션을 위한 운행시나리오 등의 기능을 수행하는 운행모델로 구분하여 설계하였다(그림 3). 또한 열차주행 모듈은 SQLite(v.4.0) 데이터베이스와 공유메모리를 통해 데이터를 공유하도록 설계하였다.
그림 3에 나타낸 열차주행 모듈을 위한 DB는 데이터의 종류별로 구분하여 표 1처럼 17개 종류로 세분하여 설계하였다. 그 중 차량 정보는 열차저항과 같은 정적정보를 저장하는 tb_train, 열차속도와 같은 동적 정보를 정장하는 tb_speed 테이블로 구분하여 설계하였다.
Table | Group | Discription | |
---|---|---|---|
1 | tb_train | vehicle info. | train resistance, train length, max. speed, limited speed, passenger load, etc. |
2 | tb_speed | vehicle info. | acceleration with vehicle speed, deceleration of service brake/emergency brake |
3 | tb_line | line info. | line name, no. of tag, etc. |
4 | tb_sw | line info. | point machine data in line |
5 | tb_zone | line info. | section data in line |
6 | tb_tag | tag info. | tad data |
7 | tb_ssp | tag info. | static speed profile in tag |
8 | tb_grad | tag info. | gradient data in tag |
9 | tb_station | station info. | station related data |
10 | tb_platform | station info. | platform data in statiom |
11 | tb_stnstop | station info. | precision stop position in platform |
12 | tb_scenario | train operation | data of train operation scenario |
13 | tb_dispatch | train operation | train dispatch data |
14 | tb_route | train operation | driving rute for each train |
15 | tb_tsr | train operation | temporary speed limit data |
16 | tb_saveinfo | simulated log | simulated results log |
Column name | Type | Description | |
---|---|---|---|
1 | TRAIN_IDX | INTEGER | Individual indexes given to train data |
2 | TRAIN_NAME | TEXT | train name |
3 | MAX_SPEED | REAL | max. speed of train |
4 | GRAD_RES | REAL | gradient resistance weight of train |
5 | AIR_RES | REAL | air resistance weight of train |
6 | CARRIAGE_WEIGHT | REAL | a car weight of train |
7 | CARRIAGE_LENGTH | REAL | a car length of train |
8 | FORMATION | INTEGER | train arrangement info. |
9 | PASSENGER | INTEGER | passenger load(half: 0, empty : 1, full : 2) |
10 | TOTAL_WEIGHT | REAL | total weight of a train = CARRIAGE_WEIGHT * FORMATION) |
11 | TOTAL_LENGTH | REAL | total length of a train = CARRIAGE_LENGTH * FORMATION |
12 | D_ANTENNA | INTEGER | antenna position of train (DEFAULT) = TOTAL_LENGTH / 2 |
그림 2와 3과 같은 열차주행 모듈의 구현은 본 논문에서는 WPF(C# + XAML) 언어로 구현하였으며, 이를 위해서 공유데이터 정의를 위한 Global 클래스, 차량 속도 프로파일 클래스(SPEED_PROFILE), 고속철도 차량 클래스(KTX_Dynamics), 신호체계 정보를 포함하는 신호제어 로직 클래스(ATP) 등 다수 개의 클래스로 설계하였다.
SITL 기반 시뮬레이터는 ATCS와 같은 국내에서 개발 중인 새로운 신호체계의 신호성능 분석 및 검증 등을 효과적으로 수행하기 위해서는 사용자의 UI가 매우 중요하다.
이에 따라 앞 절에서 제시한 열차주행 모듈의 설계를 바탕으로 본 논문에서는 효과적인 성능분석을 위해 GUI로 구현할 내용과 항목들을 그림 4와 같이 설계하였다. 그림처럼 시뮬레이션할 열차의 속성 정보들을 수정할 수 있는 열차 관리 부분, 가상운행선로 에디터의 출력 파일의 로딩 및 수정을 위한 선로부터 입력받은 인트라 정보를 수정할 수 있는 선형 관리 부분, 시뮬레이션할 열차의 선택 및 운행시나리오 설정을 위한 시나리오 관리 부분, 그리고 시뮬레이션을 위한 열차주행 부분과 시뮬레이션 결과를 저장 및 출력하는 주행 이력 관리 부분으로 구성하였다.
시뮬레이터는 이미 국내에서 적용 중인 CBTC뿐 아니라 개발 중인 ATCS 신호체계의 신호성능 분석 등에 효과적으로 사용될 수 있도록 신호체계 알고리즘 분석에 필요한 데이터를 입력 및 수정을 할 수 있도록 UI를 설계하였다. 데이터는 앞 절에서 제시한 데이터베이스를 활용하는 것으로 하였다. 즉, 효과적인 신호성능 분석을 위해 열차의 정보, 신호제어 로직, 운행시나리오 등 기본값들을 데이터베이스에 저장하고 이들 중 신호성능에 영향을 미치는 항목들을 변수로 설정하여 UI를 통해 수정할 수 있다.
이중 그림 2 중 ‘시나리오 관리’ 부분은 시뮬레이터 데이터베이스에서 로드된 데이터를 시나리오 관리 화면에 표시하고 사용자는 UI를 통해 수정하여 다시 시뮬레이터 내의 데이터베이스나 공유메모리로 저장한다. 이 저장된 데이터를 열차주행 UI를 통해 시뮬레이션을 수행하게 되는 방식이다.
특히, 주행할 열차정보, 적용할 신호체계, 출발역, 정차역 및 정차 시간, 진로 등으로 구성되는 운행시나리오는 초기에 생성하여 시뮬레이션 수행 후 이 운행시나리오를 저장하도록 하였다. 다음에 이 저장된 시나리오를 불러서 열차 차종, 정차역 등의 정보를 변경하여 사용할 수 있도록 다시 새로운 운행시나리오를 생성할 필요가 없도록 개발하였다.
그림 5는 시뮬레이션에 적용될 열차의 출발시각, 정차역 및 운행 진로를 설정하기 위한 UI로서 역별 선로선형을 같이 표시하여 진로설정을 쉽게 할 수 있도록 개발하였다.
SITL 기반 열차자율주행제어 시뮬레이터는 이미 개발한 가상운행선로 에디터와 본 논문에서 제시한 다중 신호체계를 갖는 열차주행 모듈로 구성된다. 이 열차주행 모듈은 국내에서 연구개발 중인 새로운 신호체계인 ATCS뿐 아니라 경전철 등에 적용 중인 CBTC 신호체계도 적용하여 신호성능의 비교분석이 가능하다. 본 논문에서 개발한 열차주행 모듈은 현재 국내에서 운행 중인 도시철도 차량과 KTX 차량의 주행 특성이 반영된 모델을 기반으로 하여 구현하였으며, 향후 다른 차종으로의 확대 등 확장성을 고려하여 설계 및 구현하였다.
현재 국내에서 자율주행제어 시스템의 온보드 제어기가 탑재된 축소 차량에 탑재되어 시험선에서 시험 중에 있다. 또한, 지속적인 알고리즘 개발을 위해 실험실에 실제 선로에서 시험차량에 탑재하여 시험 중인 ATCS 온보드 제어장치와 같은 제어장치를 [5]의 가상운행선로 에디터로부터 생성된 운행선로를 모의 주행하며 신호성능을 분석하는 시험설비가 구축되어 있다. 그림 6에서의 윗부분이 현재 오송 철도시험선에서 ATCS온보드 시스템을 탑재하여 시험중인 사진이고, 아래부분이 여기에 적용한 것과 동일한 온보드 시스템을 적용한 실험실 시험 현황이다. 실험실에서 알고리즘을 검증하여 선로현장에서 업데이트 하여 개발 알고리즘을 검증하고 있다.
본 논문을 통해 개발한 열차주행 모듈은 이미 개발한 가상운행선로 에디터의 검증 관련 선행연구논문 [5]와 동일한 방법으로 본 논문에서 제안 및 개발한 열차주행 모듈을 검증하였다.
여기에서 ATCS 온보드 제어장치를 본 논문에서 개발한 열차주행모듈로 대체한 연동시험을 통해 실험실 및 현장에서 운행 중인 온보드 시스템을 적용했을 경우와 동일하게 모의 열차가 주행하고 그 주행경과가 정상적으로 저장되고 있음을 확인하였다. 그림 7은 실험실에서 연동테스트 결과 정상적으로 ATCS 신호체계에 따란 열차가 정상적으로 주행하고 그 결과가 표시되고 있는 화면을 나타낸 것이다.
국내에서는 연구 중인 새로운 신호체계인 열차자율주행제어 시스템과 현재 운영 중인 신호체계와의 신호성능 비교분석을 할 수 있는 SILT 기반 시뮬레이터가 개발하고 있다. 본 논문에서는 이 시뮬레이터의 핵심 모듈인 다양한 신호체계와 결합할 수 있는 열차주행 모듈을 제안 및 설계하였다. 특히, 현재 국내에서 운행 중인 도시철도 및 KTX 차량의 주행 특성과 ATCS뿐 아니라 CBTC 같은 신호체계와 결합된 열차 모델을 설계 및 구현하였다. 그리고 개발한 열차주행 모델을 기반으로 한 시뮬레이터를 통해 실제 시험 열차에 탑재하여 시험 중인 온보드 제어장치와 대체한 실험실 연동시험을 통해 본 논문을 통해 개발한 모듈이 동일하게 열차주행 및 및 결과가 표출됨을 확인하였다. 본 논문을 통해 개발한 열차주행 모듈이 적용된 SITL 기반 시뮬레이터는 ATCS와 CBTC 신호체계의 신호성능 비교분석뿐 아니라 다양한 차종에 따른 신호체계의 실제 철도 현장 적용 전에 성능분석과 차종별 최적의 알고리즘을 개발할 수 있는 등 국내의 신호성능 분석을 위한 플랫폼으로 활용될 수 있을 것으로 기대된다.
본 연구는 한국철도기술연구원 주요사업 연구비(PK2301B1) 지원으로 수행되었습니다.
1. | IEEE Std 1474.1, "IEEE Standard Method for CBTC Performance and Functional Requirements", 2004. |
2. | KOREAN Std. KRS SG 0069, "Korean Radio based Train Control System for Urban Rapid Transit", 2015. |
3. | B. H. Lee, S. Y. Chae, H. Y Choi, and J. H. Bang, "Design and Implementation of Safety Functions of Communication-Based Autonomous Train Control System: Part I", The Journal of Korean Institute of Communications and Information Sciences, Vol. 45, No. 1, pp. 146-154, Jan. 2020. |
4. | KRRI research report, "Development of Train Autonomous-Driving Control Core Technology", KRRI, 2022. |
5. | J. G. Hwang, S. Y. Chae, A. Y. Choi, and R. G. Jeong, "Design of SITL-based Simulator for Autonomous Train Control Performance Analysis", Journal of KIEE, Vol. 71, Vol. 4, pp. 203-209, 2022. |
6. | H. M. Qays, B. A. Juma, and A. D. Salman, "Design and Implementation of Autonomous Quadcopter using SITL Simulator", IRAQI Journal of Computers, Communications, Control & Systems Engineering(IJCCCE), Vol. 20, No. 1, pp. 1.-16, Jan. 2020. |
7. | H. Duan, "Closer running - railway capacity analysis and timetable improvement", University of Birmingham. Masters Thesis, Dec. 2018. |
8. | Alsthom, "Urbalistm Solutions – Beyond CNTC Basics", https://railway-news.com/wp-content/uploads/2016/12/Brochure-Signalling-Urbalis-range-English-1.pdf. [accessed: Jan. 05, 2016] |
9. | David Briginshaw, "Alstom launches simplified CBTC technology", Int’l Railway Journal, May 2013. |
10. | Qian XU and J. Lin, "Safety requirement verification of train-centric CBTC by integrating STPA with coloured Petri net", Int’l Journal of Industrial and System Engineering, Vol. 43, No. 2, pp. 168-189, Feb. 2023. |
1994년 2월 : 건국대학교 전기공학과(공학사)
1996년 2월 : 건국대학교 전기공학과(공학석사)
2005년 2월 : 한양대학교 전자통신공학과(공학박사)
1996년 12월 ~ 현재 : 한국철도기술연구원 수석연구원, 철도신호기술사
관심분야 : 철도신호, 열차제어, 스마트모빌리티. SW안전
2007년 2월 : 아주대학교 컴퓨터공학과(공학사)
2009년 2월 : 아주대학교 컴퓨터공학과(공학석사)
2022년 2월 : 아주대학교 컴퓨터공학과(공학박사)
2017년 ~ 현재 : 한국철도기술연구원 선임기술원
관심분야 : 철도신호, 열차제어, 열차자율주행제어
2011년 8월 : 인하대학교 전자공학과(공학사)
2013년 8월 : 광주과학기술원 기전공학부(공학석사)
2017년 8월 : 광주과학기술원 기전공학부(공학박사)
2017년 11월 ~ 현재 : 한국철도기술연구원 선임연구원
관심분야 : 열차제어, 철도신호, 제어시스템
1991년 2월 : 인하대학교 전기공학과(공학사)
1999년 2월 : 인하대학교 전기공학과(공학석사)
2005년 2월 : 인하대학교 전기공학과(공학박사)
1995년 ~ 현재 : 한국철도기술연구원 수석연구원
관심분야 : 열차제어, 철도신호, 제어시스템