Projects
Self-Driving System Design and Implementation 自動駕駛系統設計與實作
![Self-Driving System Design and Implementation 自動駕駛系統設計與實作](/assets/imgs/self_driving.jpg)
I have two positions in this team, one is mechanical system engineer, and the other one is system integration engineer. I design the electric power steering system for the steering control, which involves position control of a brushed motor using stm32f4. I am also responsible for the vehicle struture design, which is mainly composed of carbon fiber beams and aluminum tubes. I also tries to build the motor driver circuit (including the gate driver and the full-bridge MOSFET array) for the 1kW BLDC motor. The vehicle is controlled based on the famous stanley control algorithm. 系統設計與整合、車上電力系統設計、驅動器電路設計與製作、傳動系統設計與製作、電子剎車結構設計、CAN bus通訊、模組化通訊介面、電流與速度控制器設計、轉向機構設計與實作、路徑規劃流程設計、路徑決策機制、模擬環境設計、Stanley Control、速度命令規劃算法、車輛狀態機設計、Socket傳輸。
Ground Explorer Robot 群組機器人
The main objective of this project is to develop low-cost, small-sized individual robots that can collaborate to accomplish complex tasks. The goal is for the robots to move smoothly along trajectories during collaboration to reduce errors caused by tire slippage on the road surface. The primary research areas include the motion model of two-wheeled vehicles, speed reading from rough Encoders, data transmission using SocketIO, and the development of web presentation pages.本專題目標為製作低成本體積小的個體機器人,藉由彼此互相合作完成複雜的任務,並且期望機器人於合作過程中以平滑軌跡移動,以此降低因輪胎與路面滑移造成的誤差。我主要研究二輪車輛運動模型、粗糙Encoder之速度讀取、SocketIO資料傳輸、網頁呈現頁面建立。
Undergraduate Research Project Scholarship, Ministry of Science and Technology 科技部大專生研究計畫
![Undergraduate Research Project Scholarship, Ministry of Science and Technology 科技部大專生研究計畫](/assets/imgs/obs_avoidance.jpg)
In this research, I constructed a virtual map using the Voronoi Graph and simulate the movement of a two-wheeled robot on the map. The virtual robot can explore environmental information using virtual sensors. I also implemented a SLAM algorithm for robot localization and a global path planning algorithm based on the space-time A* method. 使用Voronoi Graph建構虛擬地圖,模擬二輪機器人於地圖中之運動,藉由虛擬感測器探索環境資訊,實作SLAM演算法定位機器人位置,以space-time A*演算法做全域路徑規劃,並研究其最佳化方法。
BESIDE Acompany Robot 陪伴機器人
![BESIDE Acompany Robot 陪伴機器人](/assets/imgs/beside.jpg)
因應台灣人口老化,借由設計思考發想一解決該問題之方案,利用該產品可以藉由相片回顧拉近長者與年輕族群的距離。我主要負責Raspberry Pi GUI程式設計(tkinter)、相簿管理與存取、偕同討論使用者設計流程。
EZBUY (網頁爬蟲與聊天機器人)
![EZBUY (網頁爬蟲與聊天機器人)](/assets/imgs/ezbuy.jpg)
To address the common issues of missing products in second-hand marketplaces in Facebook group or difficulty in searching for products, we developed a chatbot that can search for corresponding products in a specified Facebook group and notify subscribers when goods are availabe. My main tasks include Facebook web scraping for data collection and recording into a MongoDB database, data analysis, and filtering for relevant data. 為解決社群軟體二手拍賣經常錯過商品,或是搜尋商品不易的問題,我們開發一聊天機器人,其可以至指定的FB社團搜索對應產品並通知訂閱者。我主要做Facebook網頁資料爬蟲並記錄至MongoDB資料庫、做數據分析並篩選符合資料。
The Maze (視窗程式遊戲專題)
![The Maze (視窗程式遊戲專題)](/assets/imgs/the_maze.jpg)
Air Hockey Robot
![Air Hockey Robot](/assets/imgs/air_hocky.jpg)
I develop an image analysis program using C++ that automatically detects the position of a hockey player and the platform range. The program predicts future trajectory of the hockey using motion equations, and sends position commands to an Arduino-based controller via a USB COM port. For the robot firmware, I implement a dynamic motion planner for X-Y system movement and utilizing a task queue to store dynamic position commands. 利用C++製作影像分析程式,自動抓取Hockey位置及平台範圍,藉由運動方程式預測其未來軌跡,並利用USB com port傳送位置指令給Arduino base的控制器,實作動態Motion Planner規劃X-Y系統運動,利用Task Queue儲存動態位置命令。
Dancing Painter
![Dancing Painter](/assets/imgs/dancing_painter.jpg)
The main objective of this project is to integrate technology and art, aiming to provide a novel experience for the public to engage with technology. As the primary programmer, I am responsible for designing the main program using C++. The program analyzes images to identify specific colored markers as game players and simulates a game on the screen to encourage players to dance. During the game, the program records the player's speed, position, and other dance-related information. After processing, the data is sent to an Arduino controller to control the direction of the spray nozzle and the output of the air valve, allowing CMYK ink to be sprayed onto paper using high-pressure air. 本專題旨在結合科技與藝術,希望以嶄新方式讓大眾對科技有新的體驗。我負責主要程式設計,利用C++製作影像分析程式,抓取特定顏色的標記作為遊戲者,利用螢幕畫面模擬遊戲誘導遊戲者舞動身體,在遊戲過程中記錄遊戲者速度、位置等跳舞資訊,經過修飾後傳送給Arduino控制噴嘴方向角,並控制氣閥輸出,使CMYK顏料藉由高壓空氣噴射於紙上。
工科系畢業典禮動態系統
![工科系畢業典禮動態系統](/assets/imgs/grad_ceremony.jpg)
I used real-time interactive web pages and AJAX technology to control the current graduation ceremony process on the web page. Other pages will synchronously display the current status and live broadcast the ceremony scene at the same time. This allows people who are not at the ceremony site or are still in the preparation area to understand the current situation of the ceremony. 利用即時互動網頁及AJAX技術,由一控制網頁控制目前所在流程,其他網頁則顯示動態及當前流程,並同時直播典禮畫面,讓不在典禮現場或仍然在準備區的人也能了解典禮現況。
ES Light Ball 工科系光球表演
![ES Light Ball 工科系光球表演](/assets/imgs/es_light_ball.jpg)
The traditional light ball performances often involve dancers triggering light effects at specific times after playing music, lacking synchronization between the lights and the music. Therefore, we decided to design our own light ball to revolutionize the conventional concept of light balls. In the first version, we created a light effect editing program using C# Windows application, allowing users to design various light effects based on music and generate compressed light ball encoding as control signals. Decoding the encoding on the light ball produces synchronized light effects with the music, activating the lights at the right moments. 光球表演大多沒辦法與音樂互相配合,因此決定自行設計,顛覆大家對光球的想像。利用視窗程式製作光球編輯程式,該程式讓使用者依據音樂配對不同光影效果,並產生壓縮後的光球編碼作為光球控制訊號,於光球上解碼後得到與音樂相配合的光影效果,並控制光影在正確的時間點作動。
ES-Lux
![ES-Lux](/assets/imgs/es_lux.jpg)
In the second version, we utilized an ESP32 microcontroller and a web interface for control, enabling faster and more convenient light effect editing, as well as the display of more intricate effects. 光球表演大多沒辦法與音樂互相配合,因此決定自行設計,顛覆大家對光球的想像。利用視窗程式製作光球編輯程式,該程式讓使用者依據音樂配對不同光影效果,並產生壓縮後的光球編碼作為光球控制訊號,於光球上解碼後得到與音樂相配合的光影效果,並控制光影在正確的時間點作動。
工科系傳情訂購表單系統
![工科系傳情訂購表單系統](/assets/imgs/es_love.jpg)
工科系虛擬畢業典禮
![工科系虛擬畢業典禮](/assets/imgs/es_virtual_grad.jpg)
Due to the pandemic, our university graduation ceremony was cancelled, so we designed this system to allow teachers and students to interact and participate in the graduation ceremony virtually, including the traditional tassel turning ritual. 由於疫情因素,我們的大學畢業典禮取消,為了讓大家有畢業典禮的感覺,我們設計這個系統讓師生可以在上面互動,並且進行撥穗儀式。
ESCAPE(微處理機與介面設計專題、工科營黑客松)
![ESCAPE(微處理機與介面設計專題、工科營黑客松)](/assets/imgs/escape.jpg)
車道辨識(Lane Line Detection)
![車道辨識(Lane Line Detection)](/assets/imgs/lane_detection.jpg)
Covid19 Detection
![Covid19 Detection](/assets/imgs/covid_detection.jpg)
AI Mango Classification
![AI Mango Classification](/assets/imgs/mango_detection.jpg)
此為AIdea舉辦之AI Cup中的項目,目標為依據芒果照片識別芒果等級,我以YOLO辨識芒果主體並進行裁切作為前處理,分類模型參考Resnet中的Residual layer做特徵提取,最終獲得Train Accuracy 0.813與 Test Accuracy 0.775的結果。
raycaster
![raycaster](/assets/imgs/raycaster.png)
Reseach Helper
![Reseach Helper](/assets/imgs/research_helper.png)