ATP資料分析

報告者:王禮恩

報告內容
.文獻報告:透過列車駕駛剎車行為分析偵測不尋常駕駛
.文獻簡介及研究背景
.研究方法
.研究結果
.與ATP專案之關聯性
.資料分析:試以列車加速度進行分析
.實作方法
.分析結果
.結論與後續工作
P1 - P2
P3 - P5
P6 - P11
P12
P13
P14 -15
P16
文獻簡介
標題:Analysis of Braking Behavior of Train Drivers to Dectect Unusual Driving
作者:Yoshitaka Marumo, Hitoshi Tsunashima, Takashi Kojima, Yasushi Hasegawa
發表:Journal of Mechanical Systems for Transportation and Logistics
Vol.3 issue1 (2010)
1

關鍵字:
列車駕駛、煞車行為、駕駛監測、心智負荷、安全
研究背景
ATP緊韌雖可在列車超過速限時保障列車安全,但待ATP做出反應才修正風險駕駛行為,在安全角度上恐為時過晚。故需要有方法能根據列車駕駛行為及早偵測其中的異常,規避明確風險。
➔ 儘管ATP可靠度高,駕駛仍需為列車駕駛安全負完全責任
2

➔ 「以ATP資料辨識高風險駕駛行為與高風險路段」報告中亦有類似觀點
揭示偵測駕駛風險/異常行為的必要性
研究環境、研究對象
總計4位駕駛員(2位職業駕駛,2位實習駕駛)進行模擬駕駛試驗
所有的駕駛皆在兩種不同情境下進行一指定駕駛任務
1)正常駕駛
2)在駕駛的過程中進行心算(模擬心智負荷的異常狀況)
3


駕駛任務
總計4位駕駛員(2位職業駕駛,2位實習駕駛)進行模擬駕駛試驗
所有的駕駛皆在兩種不同情境下進行一指定駕駛任務
1)正常駕駛
2)在駕駛的過程中進行心算(模擬心智負荷的異常狀況)
4
駕駛被要求以駕駛任務為優先,心算次之


研究指標
以兩種不同的指標來判斷正常駕駛行為及異常駕駛行為的差異
1)列車手閘(煞車把手)操作
2)列車減速行為
5

兩者皆符合停站要求,但有行為不同
手閘操作 - 情境對比
為了確保速度平穩及旅客舒適性,劇烈的手閘操作應盡可能避免
然而,在有其他心理負荷的情況下,駕駛較不容易平穩的操作手閘
6



個人註解:右圖所觀察到的兩種現象,停滯以及微調
停滯:在完成主要任務後,將心思轉移到次要任務上,導致主要任務暫時被擱置
微調:因主要任務長時間停滯,需要更多操作來達成任務要求
手閘操作 - 判斷方法
在沒有多餘心理負荷的狀態下,手閘操作較為穩定
取第95百分位數以下之正常手閘操作並計算其變異數,得一判斷門檻值,並用以判斷駕駛是否處於異常狀態下
7


以正常操作取門檻值
異常操作
行為反覆
正常操作
行為固定
手閘操作 - 駕駛分析
儘管能證實異常狀態下會有較劇烈的手閘操作,但其結果因人而異的範圍極大,故無法找到統一標準
實習駕駛在正常狀況下展現出良好操作行為,且面對異常時的行為變化非常明顯,故分析準確率高;反觀職業駕駛不管有沒有次要任務在身都展現類似行為,故分析準確率低
8

減速行為 - 比較方法
利用平均加(減)速度的概念。若平均加速度大於期望加速度,則列車會在指定位置前停下;反之,則會在指定位置後停下
9

➔ 從加速度為0到加速度與期望加速度相同的過程(垂直線區域)
➔ 在列車減速後逐漸降低加速度的過程(垂直線其後)
➔ 此圖亦可觀察到手閘操作特性
減速行為 - 情境對比
10
➔ 在一般狀況下,駕駛在加速值超過期望加速度後配合期望加速度遞減逐步減速

➔ 在異常狀況下,駕駛在超過期望加速後一段時間才進行調整,反覆增加/減少加速度
減速行為 - 判斷方法
11
正常駕駛行為與異常駕駛行為有明確的不同,故可以在期望加速度-實際加速度圖上規範出「異常區域」。以列車的減速行為有無進入此異常區域來判斷是否為異常狀態。


滑行
減速階段1
固定減速
減速階段2
調整減速
以正常駕駛決定異常區
異常區1
調整異常
異常區2
延遲減速
與ATP專案之關聯性
此文獻主要以「創造異常狀況」的方式與正常狀況進行比較分析,並利用分析結果找出可行的判斷方式。與ATP專案「從大量數據中試找出其中的風險情境」之要求有本質上的差異。
然而,「以減速行為偵測異常情景」的方法可以利用於ATP專案中,與搭配先前提出的「分群」概念,對於明確要求減速/加速行為的路段,能夠提供直觀的判斷方法。
另外,「手閘操作」部分對實習駕駛及職業駕駛的比較亦可深究。藉由ATP專案的大量數據分析,或許能就司機員經驗與其駕駛行為的關連性提供一定程度的數值支持,從而衍伸出其他研究項目。
12
實作方法
13
(1) 以ATP分析軟體匯出欲分析車次之資料
(2) 利用python進行資料讀取及圖表繪製
使用函式庫:openpyxl, matplotlib, numpy, datetime
def posi_acce(n, start):
fig, ax = plt.subplots()
for a in range(n):
date = start + a
if date < 10:
sheet_name = "2025-06-0" + str(date) + "_0H21工作班4124車次"
else:
sheet_name = "2025-06-" + str(date) + "_0H21工作班4124車次"
worksheet = workbook[sheet_name]
dt = []
v = []
x = []
end = len(worksheet["A"]) + 1
for b in range(7, 607):
if 0 < worksheet['C'][b].value < 5000:
dt1 = datetime.strptime(worksheet['B'][b].value, "%Y-%m-%d %H:%M:%S")
dt2 = datetime.strptime(worksheet['B'][b + 1].value, "%Y-%m-%d %H:%M:%S")
t_diff = int((dt2 - dt1).total_seconds())
dt.append(t_diff)
v.append(worksheet['D'][b].value * 1000 / 3600)
x.append(worksheet['C'][b].value)
dt.pop()
dt = np.array(dt)
v = np.array(v)
x = np.array(x)
dv = np.diff(v)
dx = np.diff(x)
pos = 0
X = []
Y = []
print(dt)
for c in range(len(dt)):
if dt[c] != 0 and dx[c] != 0:
acce = dv[c] / dt[c]
X.append(pos)
X.append(pos + dx[c])
Y.append(acce)
Y.append(acce)
pos += dx[c]
else:
continue
plt.plot(X, Y)
plt.show()
繪製a-x圖
14


以6月份0H21工作班4124車次為例進行分析
以6月1日至5日多車次
位置:0~5000
以6月1日單車次
位置:0~10000
15
v-x圖成果
以6月份0H21工作班4124車次為例進行分析
以6月1日至5日多車次
位置:0~10000
ATP數據分析工具之成果


結論與後續工作
以加速度分析駕駛行為,不僅可以捕捉相似行為中的差異,亦可透過將滑行路段平滑化鎖定分析範圍。且駕駛行為的差異往往出現在加減速的過程中,故其作為指標具有立竿見影的效果。
後續工作:
(1)ATP時間資料最小單位為秒,導致同一秒多筆數據或時間間隔不連續等情況發生,導致加速度計算易有誤差。若台鐵方面是否能提供加速度相關資料,將有助於分析正確性
(2)目前所撰寫之程式儘管已具備產圖能力,但運作起來十分費時;已知學長所建之ATP分析程式可以在短時間內處理大量資料,若能用類似方法產生圖片,將提升工作效率。
16
感謝聆聽

ATP資料分析_給學長版本
By spacezpr
ATP資料分析_給學長版本
- 23