[{"data":1,"prerenderedAt":282},["Reactive",2],{"project-jyi-tw":3,"projects-catalog":34},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":8,"title":9,"categoryKey":10,"category":11,"summary":12,"stack":13,"status":18,"visibility":19,"showInPortfolio":20,"repoUrl":21,"liveUrl":22,"thumbnail":23,"highlights":24,"featured":20,"order":28,"_id":29,"_type":30,"_source":31,"_file":32,"_stem":33,"_extension":30},"/projects/jyi-tw","projects",false,"","jyi-tw","JYI.TW 技術文章主站","tools-writing","Tools / Writing","個人技術寫作站，專注記錄 Java 後端開發、Camunda 流程引擎與工程實踐心得，持續累積可搜尋的長篇技術文章。",[14,15,16,17],"MD","SEO","Technical Writing","Content Strategy","active","public",true,null,"https://jyi.tw","/projects/feedbackjar.png",[25,26,27],"以獨立站點形式承載深度技術文章，將 Java 自學歷程、Camunda 工作流程設計與系統整合筆記系統性地整理成系列文，方便讀者按主題追蹤閱讀。","文章架構以實務情境為出發點，搭配程式碼範例與踩坑紀錄，讓內容不只停留在概念層次，也能作為日後查閱的工程參考。","持續規劃 CI/CD、雲端部署與系統設計等主題的延伸文章，讓站點成為反映個人技術成長軌跡的長期知識庫。",2,"content:projects:jyi-tw.json","json","content","projects/jyi-tw.json","projects/jyi-tw",[35,58,78,98,101,124,143,161,179,197,215,231,246,264],{"_path":36,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":37,"title":38,"categoryKey":39,"category":40,"summary":41,"stack":42,"status":18,"visibility":47,"showInPortfolio":6,"repoUrl":48,"liveUrl":21,"thumbnail":49,"highlights":50,"featured":6,"order":54,"_id":55,"_type":30,"_source":31,"_file":56,"_stem":57,"_extension":30},"/projects/auv-track","auv-track","AUV Track","auv-robotics","AUV / Robotics","ORCA AUV 的目標追蹤模組，負責在水下影像串流中持續偵測並追蹤特定目標物，為任務執行提供穩定的視覺回授訊號。",[43,44,45,46],"Tracking","Private Repo","System Integration","AUV","private","https://github.com/NCTU-AUV/auv_track","/projects/logspot.png",[51,52,53],"實作基於影像的目標追蹤演算法，能在複雜水下背景中持續鎖定任務目標（如 SAUVC 競賽的閘門標誌或觸碰浮標），即使目標短暫移出畫面仍能重新取得追蹤。","追蹤結果以 ROS 2 話題即時發布座標偏差量，直接驅動控制系統進行視覺伺服（Visual Servoing）修正，使 AUV 能依據視覺回授自動對準目標並執行動作。","此專案為私有倉庫，展示了團隊在競賽核心感知技術上的研發能力；模組設計強調穩健性與低延遲，確保在實際水下競賽環境中的可靠表現。",8,"content:projects:auv-track.json","projects/auv-track.json","projects/auv-track",{"_path":59,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":60,"title":61,"categoryKey":39,"category":40,"summary":62,"stack":63,"status":67,"visibility":19,"showInPortfolio":6,"repoUrl":68,"liveUrl":21,"thumbnail":69,"highlights":70,"featured":6,"order":74,"_id":75,"_type":30,"_source":31,"_file":76,"_stem":77,"_extension":30},"/projects/control2021","control2021","Control 2021","ORCA AUV 2021 年度的主控制板軟韌體專案，以 STM32 微控制器為核心，整合推進器驅動、感測器讀取與任務邏輯執行。",[64,65,46,66],"Control","STM32","Embedded","archived","https://github.com/NCTU-AUV/Control2021","/projects/pb-nuxt.png",[71,72,73],"在 STM32 上實作推進器 PWM 控制、PID 姿態穩定與通訊封包解析，完整覆蓋 AUV 底層控制所需的核心功能，是當年參加 SAUVC 競賽的主要控制端程式碼。","設計任務狀態轉移邏輯，讓上層指令（前進、轉向、下潛等）可以透過有限狀態機轉化為對應的推進器組合輸出，實現較穩定的閉迴路控制行為。","此版本已歸檔，但作為後續 ROS 2 架構重構的參考基準，紀錄了早期控制設計的決策脈絡與硬體限制，對理解 ORCA 系統的演進歷程有重要參考價值。",6,"content:projects:control2021.json","projects/control2021.json","projects/control2021",{"_path":79,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":80,"title":81,"categoryKey":39,"category":40,"summary":82,"stack":83,"status":18,"visibility":19,"showInPortfolio":6,"repoUrl":88,"liveUrl":21,"thumbnail":89,"highlights":90,"featured":6,"order":94,"_id":95,"_type":30,"_source":31,"_file":96,"_stem":97,"_extension":30},"/projects/depth-perception","depth-perception","Depth Perception","針對水下場景的深度感知研究專案，結合電腦視覺與深度學習技術，從單目或雙目相機影像中推估場景深度資訊，作為 AUV 自主導航與避障的感知基礎。",[84,85,86,87],"Depth Estimation","Computer Vision","ROS2","Python","https://github.com/NCTU-AUV/depth_perception","/projects/fluenticons.png",[91,92,93],"研究並實作適用於水下環境的深度估測演算法，比較單目深度估測（Monocular Depth Estimation）與雙目視差（Stereo Disparity）兩種方法在低能見度水中影像的精度差異。","將深度估測結果以 ROS 2 話題格式發布，與上層路徑規劃模組整合，使 AUV 得以依據即時深度資訊動態調整下潛深度與前進方向。","此專案作為 ORCA 感知系統的核心研究方向之一，其成果將直接應用於 SAUVC 競賽中的閘門穿越與定深控制任務，驗證視覺感知技術在真實水下場景的可行性。",7,"content:projects:depth-perception.json","projects/depth-perception.json","projects/depth-perception",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":8,"title":9,"categoryKey":10,"category":11,"summary":12,"stack":99,"status":18,"visibility":19,"showInPortfolio":20,"repoUrl":21,"liveUrl":22,"thumbnail":23,"highlights":100,"featured":20,"order":28,"_id":29,"_type":30,"_source":31,"_file":32,"_stem":33,"_extension":30},[14,15,16,17],[25,26,27],{"_path":102,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":103,"title":104,"categoryKey":105,"category":106,"summary":107,"stack":108,"status":18,"visibility":19,"showInPortfolio":20,"repoUrl":113,"liveUrl":114,"thumbnail":115,"highlights":116,"featured":20,"order":120,"_id":121,"_type":30,"_source":31,"_file":122,"_stem":123,"_extension":30},"/projects/main-wujunyi-com","main-wujunyi-com","wujunyi.com 個人首頁","web-product","Web / Product","以 Nuxt 3 打造的個人品牌網站，整合作品集、技術文章與個人履歷，作為對外展示工程能力的核心入口。",[109,110,111,112],"Nuxt 3","Tailwind CSS","Nuxt Content","Nuxt UI","https://github.com/jackwu1588003/main_wujunyi_com","https://wujunyi.com","/projects/postperfect.png",[117,118,119],"採用 Nuxt 3 搭配 Nuxt Content 驅動內容，所有專案資料以 JSON 管理，新增或異動內容時不需改動頁面邏輯，維護成本極低。","整合 Tailwind CSS 與 Nuxt UI 元件庫，實作深色模式、響應式排版與細膩的互動動畫，讓訪客在各種裝置上都能有一致的瀏覽體驗。","以 SEO 最佳實踐為設計基礎，每個頁面皆配置獨立的 Meta 標題與描述，並使用語意化 HTML 結構，提升搜尋引擎的可見度與可索引性。",1,"content:projects:main-wujunyi-com.json","projects/main-wujunyi-com.json","projects/main-wujunyi-com",{"_path":125,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":126,"title":127,"categoryKey":39,"category":40,"summary":128,"stack":129,"status":18,"visibility":19,"showInPortfolio":6,"repoUrl":133,"liveUrl":21,"thumbnail":134,"highlights":135,"featured":6,"order":139,"_id":140,"_type":30,"_source":31,"_file":141,"_stem":142,"_extension":30},"/projects/orca-camera","orca-camera","ORCA Camera Pipeline","ORCA 水下機器人的相機資料管線，負責從底層相機裝置取得影像串流並傳遞至上層視覺處理模組，確保資料品質與傳輸穩定性。",[130,131,132,46],"Camera Pipeline","Image Processing","Jetson","https://github.com/NCTU-AUV/orca_camera","/projects/imbox.png",[136,137,138],"實作底層相機驅動與 ROS 2 影像話題的串接，讓上層視覺模組（深度估測、物件偵測等）可以直接訂閱標準格式的影像串流，無需處理硬體細節。","針對水下環境特有的光線折射與低能見度問題，在管線中加入影像前處理步驟，提升後續深度感知與目標辨識的準確率。","管線設計支援多相機同時輸入，可依任務需求切換前置廣角鏡頭或側向定向鏡頭，為 SAUVC 競賽的多任務場景提供彈性的影像來源配置。",5,"content:projects:orca-camera.json","projects/orca-camera.json","projects/orca-camera",{"_path":144,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":145,"title":146,"categoryKey":39,"category":40,"summary":147,"stack":148,"status":18,"visibility":19,"showInPortfolio":6,"repoUrl":151,"liveUrl":21,"thumbnail":152,"highlights":153,"featured":6,"order":157,"_id":158,"_type":30,"_source":31,"_file":159,"_stem":160,"_extension":30},"/projects/orca-fsm","orca-fsm","ORCA FSM","ORCA AUV 的任務狀態機模組，以有限狀態機（FSM）架構管理競賽中各任務階段的轉換邏輯，讓 AUV 能依序自主執行水下任務序列。",[149,86,46,150],"State Machine","Workflow","https://github.com/NCTU-AUV/orca_fsm","/projects/feedful.png",[154,155,156],"定義 SAUVC 競賽任務流程中的各個狀態節點（初始化、搜尋目標、對準、執行、完成等），並以 ROS 2 節點形式實作狀態轉移邏輯，讓任務執行過程可觀測、可除錯。","設計條件觸發式的狀態切換機制，FSM 可依據感知模組回傳的結果（目標偵測成功、深度到位等）自動決定下一步行動，無需人工介入即可完成完整的任務序列。","狀態機架構使得任務流程的修改與擴充極為直觀，新增任務階段只需定義新狀態與對應的轉移條件，不影響其他既有狀態的邏輯，大幅降低參賽前調整任務策略的成本。",10,"content:projects:orca-fsm.json","projects/orca-fsm.json","projects/orca-fsm",{"_path":162,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":163,"title":164,"categoryKey":39,"category":40,"summary":165,"stack":166,"status":18,"visibility":19,"showInPortfolio":6,"repoUrl":169,"liveUrl":21,"thumbnail":170,"highlights":171,"featured":20,"order":175,"_id":176,"_type":30,"_source":31,"_file":177,"_stem":178,"_extension":30},"/projects/orca-ros-bridge","orca-ros-bridge","ORCA ROS Bridge","ORCA AUV 的 ROS 2 通訊橋接層，負責統一各功能模組間的訊息介面，讓感測、控制與視覺子系統能夠穩定互通。",[86,167,132,168],"ROS Bridge","Middleware","https://github.com/NCTU-AUV/orca_ros_bridge","/projects/gitstars.png",[172,173,174],"設計統一的 ROS 2 Topic 與 Service 介面規範，讓相機模組、FSM 狀態機與控制系統可以在不修改彼此程式碼的情況下互相溝通，降低模組間耦合度。","橋接層同時扮演資料觀測入口的角色，可以在不打斷主系統運行的前提下，即時監控各模組的訊息流，大幅提升水下測試時的偵錯效率。","架構設計考量未來擴充性，新增感測器或演算法模組時只需依循介面規範接入橋接層，而不需重構整體通訊架構，是 ORCA 系統整合的核心基礎層之一。",3,"content:projects:orca-ros-bridge.json","projects/orca-ros-bridge.json","projects/orca-ros-bridge",{"_path":180,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":181,"title":182,"categoryKey":39,"category":40,"summary":183,"stack":184,"status":18,"visibility":47,"showInPortfolio":6,"repoUrl":187,"liveUrl":21,"thumbnail":188,"highlights":189,"featured":6,"order":193,"_id":194,"_type":30,"_source":31,"_file":195,"_stem":196,"_extension":30},"/projects/px4","px4","PX4 Integration","基於 PX4 開源飛控軟體的 AUV 底層控制整合實驗，探索將飛行器自動駕駛框架移植至水下載具場景的可行性，以私有倉庫進行研發與實驗記錄。",[185,186,44,66],"PX4","Autopilot","https://github.com/NCTU-AUV/PX4","/projects/hawa.png",[190,191,192],"研究 PX4 飛控框架的感測器融合（EKF2）與位置控制器架構，評估其在水下 AUV 場景中取代自研控制器的可行性，探索開源飛控生態系在水下機器人領域的應用潛力。","針對水下環境特有的浮力補償、流體阻尼與推進器非線性特性，對 PX4 的控制參數進行調校實驗，記錄各組參數設定下的姿態穩定效果與收斂速度。","此整合實驗為私有研究性質，成果作為評估下一代 ORCA 控制架構選型的依據，展示了在底層嵌入式系統與開源飛控框架之間進行深度整合的工程能力。",9,"content:projects:px4.json","projects/px4.json","projects/px4",{"_path":198,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":199,"title":200,"categoryKey":39,"category":40,"summary":201,"stack":202,"status":18,"visibility":19,"showInPortfolio":20,"repoUrl":205,"liveUrl":21,"thumbnail":206,"highlights":207,"featured":20,"order":211,"_id":212,"_type":30,"_source":31,"_file":213,"_stem":214,"_extension":30},"/projects/sauvc-jetson","sauvc-jetson","SAUVC Jetson Runtime","SAUVC 國際水下自動載具競賽的 NVIDIA Jetson 邊緣運算整合環境，統合影像推論、感測器讀取與控制訊號於單一邊緣節點上執行。",[203,85,204,46],"NVIDIA Jetson","Edge Computing","https://github.com/NCTU-AUV/SAUVC-JETSON","/projects/tvflix.png",[208,209,210],"在 NVIDIA Jetson 平台上整合相機串流、IMU 感測與推進器控制訊號，將原本分散在多台主機的運算任務集中於單一邊緣節點，降低系統延遲與通訊開銷。","針對 SAUVC 競賽任務場景（閘門穿越、目標觸碰等）設計模組化的感知與執行管線，讓不同任務階段可以快速切換對應的影像處理策略。","在資源受限的嵌入式環境下優化推論效能，實測確認在 Jetson 上達到可支援即時決策的推論速率，驗證邊緣端整合的可行性。",4,"content:projects:sauvc-jetson.json","projects/sauvc-jetson.json","projects/sauvc-jetson",{"_path":216,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":217,"title":218,"categoryKey":39,"category":40,"summary":219,"stack":220,"status":18,"visibility":19,"showInPortfolio":20,"repoUrl":222,"liveUrl":21,"thumbnail":223,"highlights":224,"featured":6,"order":139,"_id":228,"_type":30,"_source":31,"_file":229,"_stem":230,"_extension":30},"/projects/sauvc-rpi","sauvc-rpi","SAUVC RPI Runtime","SAUVC 國際水下自動載具競賽的 Raspberry Pi 邊緣運算與周邊整合環境，負責銜接感測器、控制與上層模組的執行入口。",[221,87,204,46],"Raspberry Pi","https://github.com/NCTU-AUV/SAUVC-RPI","/projects/iconbuddy.png",[225,226,227],"整合 Raspberry Pi 上的周邊裝置與任務執行流程，讓相機、感測器與控制模組可以透過一致的啟動入口進入工作狀態。","將競賽現場常用的環境初始化與執行步驟整理成可重複的腳本流程，降低部署與測試時的手動操作成本。","作為 SAUVC 系列系統中的低階執行節點，協助團隊把分散的硬體與軟體流程串成較穩定的整體架構。","content:projects:sauvc-rpi.json","projects/sauvc-rpi.json","projects/sauvc-rpi",{"_path":232,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":233,"title":234,"categoryKey":39,"category":40,"summary":235,"stack":236,"status":67,"visibility":19,"showInPortfolio":20,"repoUrl":238,"liveUrl":21,"thumbnail":69,"highlights":239,"featured":6,"order":74,"_id":243,"_type":30,"_source":31,"_file":244,"_stem":245,"_extension":30},"/projects/sauvc-stm32","sauvc-stm32","SAUVC STM32 Controller","SAUVC 國際水下自動載具競賽的 STM32 底層控制專案，處理推進器、感測回授與基本控制邏輯的即時執行。",[65,237,66,46],"C","https://github.com/NCTU-AUV/SAUVC-STM32",[240,241,242],"負責水下載具底層即時控制流程，讓推進器輸出、感測器讀取與基礎狀態切換能在微控制器上穩定運作。","將競賽任務所需的控制邏輯整理為可維護的韌體架構，方便後續測試、修正與版本迭代。","作為早期底層控制的實作基礎，為後續更高階的 ROS 與邊緣運算整合提供參考。","content:projects:sauvc-stm32.json","projects/sauvc-stm32.json","projects/sauvc-stm32",{"_path":247,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":248,"title":249,"categoryKey":10,"category":11,"summary":250,"stack":251,"status":18,"visibility":19,"showInPortfolio":6,"repoUrl":255,"liveUrl":21,"thumbnail":223,"highlights":256,"featured":6,"order":260,"_id":261,"_type":30,"_source":31,"_file":262,"_stem":263,"_extension":30},"/projects/scripts","scripts","NCTU-AUV Scripts","NCTU AUV 團隊的內部工具腳本集合，涵蓋資料整理、環境設定、模組測試與競賽準備等各種自動化任務，提升團隊日常開發與部署的效率。",[87,252,253,254],"Automation","Tooling","Data Processing","https://github.com/NCTU-AUV/scripts",[257,258,259],"彙整團隊在 AUV 開發過程中反覆使用的工具腳本，包含 ROS 2 環境批次啟動、感測器資料格式轉換、日誌解析與競賽前硬體自動測試等，將原本手動操作的流程自動化。","腳本設計強調可攜性與可重複執行，任何團隊成員在新的 Jetson 或開發主機上皆能一鍵完成環境初始化，減少因環境差異導致的問題，降低新成員上手門檻。","此工具集反映了在工程實務中將零散、重複的操作系統性地整理為可共用工具的思維，與技術寫作習慣相互呼應，共同體現對「知識可傳承性」的重視。",11,"content:projects:scripts.json","projects/scripts.json","projects/scripts",{"_path":265,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"slug":266,"title":267,"categoryKey":10,"category":11,"summary":268,"stack":269,"status":18,"visibility":19,"showInPortfolio":6,"repoUrl":272,"liveUrl":21,"thumbnail":273,"highlights":274,"featured":6,"order":278,"_id":279,"_type":30,"_source":31,"_file":280,"_stem":281,"_extension":30},"/projects/sound-data-extract","sound-data-extract","Sound Data Extract","針對聲學資料的批次抽取與前處理工具，將原始音訊或水下聲納訊號轉換為適合後續分析的格式，作為 AUV 聲學感知系統的資料準備管線。",[270,87,252,271],"Data Extraction","CLI","https://github.com/NCTU-AUV/Sound-Data-Extract","/projects/simpleonline-tools.png",[275,276,277],"實作批次讀取原始音訊檔案並依時間戳記切割、重新採樣與格式轉換的自動化管線，將原本需要手動逐檔處理的資料準備工作縮短為單一指令執行。","支援多種輸入格式（WAV、原始二進位串流等），並將輸出統一為 CSV 或 NumPy 陣列格式，方便下游的頻譜分析、特徵提取或機器學習訓練流程直接使用。","此工具體現了對資料工程流程的完整思考：從資料收集、格式標準化到分析就緒的全鏈路設計，讓聲學研究人員能專注於演算法本身，而非耗費精力在資料整理上。",12,"content:projects:sound-data-extract.json","projects/sound-data-extract.json","projects/sound-data-extract",1782805337109]