CS飛行日志分析
1. 簡介
在某些異常情況或者特定場合下需要現場技術人員查看飛行日志來協助解決或解決問題問題。
2. 操作流程
2.1機器人上插入U盤,u盤格式是應為FAT32,內存大小在32G以內

2.2拷貝飛行日志并且解壓:
支持文件拷貝:

飛行日志拷貝:



2.3電腦端查看:
解壓:

解壓完成:

2.4注釋:
EliRobot (上位機以及X86系統相關日志)
controller (上位機相關日志,記錄上位機軟件相關日志、任務文件等)
Program (當前系統所有配置、任務、腳本文件)
default.configuration (報警時的當前配置文件)
default.configuration.variables (報警時的當前配置變量文件)
test.task (報警時的當前任務文件)
audit.csv (審計日志:記錄用戶的重要操作)
elibot.log (軟件運行日志:記錄軟件運行信息,如軟件運行異常信息,記錄較為全面,主要問題定位文件)
gui.properties (當前界面相關配置,主要用于記錄系統設置->通用配置中的相關參數)
log_history.csv (用于記錄軟件的運行->日志頁面的所有日志條目)
remoteControl.properties (當前遠程控制配置)
histogram.properties (統計數據:統計數據的頻率,主要內部使用)
system (X86系統相關日志,該部分日志主要用于研發深度排查問題使用)
df (系統硬盤掛載狀態,用于排查是否存在系統硬盤占滿等情況)
dmesg (系統狀態日志,用于排查定位一些系統級的問題)
messages (系統狀態日志,用于排查定位一些系統級的問題)
messages.0 (系統狀態日志,用于排查定位一些系統級的問題)
ps (系統線程以及進程狀態)
Runtime.txt (JAVA虛擬機的運行時狀態)
top (系統線程以及進程狀態)
version (系統ROOTFS版本號)
x11vnc.log (系統x11日志)
Xorg.0.log (系統Xrog日志)
Service
metadata.conf (上位機軟件的版本信息,如版本號、編譯時間等)
EliServer (下位機以及A9系統相關日志)
controller (下位機相關日志,該部分日志用于記錄下位機軟件相關日志狀態等)
eli_log
elisafety.log (安全控制器日志,主要用于排查 E6S99 報警使用)
eliserver_d.06.log (下位機DEBUG日志文件備份)
eliserver_d.log (下位機DEBUG日志文件,記錄統報警日志,執行的腳本等)
eliserver.02.log (下位機日志文件歷史備份)
eliserver.log (下位機日志文件,記錄操作日志、報警日志等)
eli_snapshot.log (快照文件,記錄報警之前40ms的狀態數據,如CPU使用率、 溫度、電壓等)
reboot.log (內部日志文件,一般不需關注)
simulation_robot.conf (仿真IO輸入控制配置文件用于實現軟件仿真的IO輸入功能)
time.log (內部日志文件,一般不需關注)
motion_task.log (運動節點執行日志,用于記錄運動節點數據(2.12.0版本添加))
motion_task.0.log (運動節點執行歷史日志,用于記錄運動節點數據(2.12.0版本添加))
eli_resource (系統相關資源文件,一般不需關注)
eli_robot_data (機器人相關配置文件,如綁定信息、傳感器出廠配置等,一般不需關注)
eli_user_data (系統相關用戶配置文件,一般不需關注)
eli_controller.conf (當前使用的機器人配置)
eli_robot_bind_config.ini (機器人綁定的數據信息,如零位脈沖等)
eli_robot_bind_config.ini.backup (機器人綁定的數據信息備份文件)
eli_robot_config.ini (機器人關機位置數據)
eli_safety.conf (當前使用的安全配置)
eli_system_config.ini (用戶系統配置數據,如產測模式配置、關機時間等)
eli_user_config.conf (用戶系統配置數據,如碰撞開關是否打開、碰撞百分比)
fc_params.xml (用戶相關的力傳感器相關配置)
start_eliserver.sh (控制腳本,一般不需關注)
stop_eliserver.sh (控制腳本,一般不需關注)
metadata.conf (下位機軟件的版本信息,如版本號、編譯時間等)
realtime_data
realtime_data.csv (飛行記錄的實時數據,記錄報警前25秒左右以及報警后5秒左右所有實時數據,如位置速度電流電壓等)
system (A9系統相關日志,該部分日志主要用于研發深度排查問題使用)
dh (系統硬盤掛載狀態,用于排查是否存在系統硬盤占滿等情況)
dmesg (系統狀態日志,用于排查定位一些系統級的問題)
ps (系統線程以及進程狀態)
top (系統線程以及進程狀態)
version (系統AB版本,內部使用,一般不需關注)
3. 示例
3.1使用支持文件查看30001端口接收的腳本:
如下圖使用sockettool通過30001端口發送腳本給機器人:movel([0.1,0.12,0.123,0.1234,0.54321,0.54321],a=1,v=2,t=3,r=4)

發送后機器人應該會按照腳本指令運動,無論是否運動,我們都可以導出支持文件查看:




電腦端查看:

解壓并打開,查找最新記錄:

找到該eliserver文件:

使用快捷鍵ctrl+f搜索腳本關鍵詞或全部,可查看已發送的腳本:

3.2查看歷史報警信息程序變更記錄
路徑:CS_BACKUP\EliRobot\log\log_history.scv
可以查看報警信息和程序變更記錄


3.3查看系統磁盤掛載情況
路徑:recording/ELIRobot/system/df
一般占用率超過80%則需著重注意
CPU占用超過80%就屬于超負荷,機器人系統可能或報警主任務無限循環,線程里高速執行邏輯等都可能導致CPU超負荷,導致死機抖動等問題和風險。

3.4查看報警瞬間的IO狀態
路徑:recording/ELIServe/controller/eli_log/eli_snapshot_log
可以查看機器人報警瞬間的io狀態,可用于排查入碰撞報警瞬間是否由io誤觸發導致的末端工具撞擊
