摘要: | 目前無人機常被用於農業、商業、軍事、娛樂、救災、送貨、國防等領域的事務上。無人機的控制方式有利用遙控、導引或自我飛行等等的方式。無人機在執行任務時,若遇障礙物時,沒有良好的處理機制,可能容易發生事故。因此本研究結合多重感測器進行姿態解算,利用同步定位與地圖構建技術 (SLAM) 做障礙物偵測系統,與方向區間柱圖法 (VFH) 和障礙物偵測結果來實作飛行器避障系統,並將產生的飛行訊號大小與飛行方向,來控制飛行器以達成穩定飛行的目的。 本論文利用九軸姿態模組得到三軸加速度、三軸角速度與三軸磁場值,計算出目前機體座標系的俯仰角、滾動角、偏航角,再將RC接收器接收到的使用者操作遙控器的信號做數值穩定控制,得到數值的誤差量,根據角度誤差量大小決定要修正量以供姿態控制時使用。 在障礙物偵測上,我們使用SLAM方法並結合超音波感測器。首先利用超音波感測器偵測到的障礙物距離數值來做區域地圖網格構建,並利用航向參考演算法找出飛行器的移動方向與距離,最後利用全域地圖網格構建飛行器的方位。得到飛行器位置與障礙物的環境地圖後做VFH的避障分析,再將飛行器的偵測環境先劃分區塊,計算地圖裡每個網格距離障礙物的可能值,找出每個區塊的障礙物密度,分析成一維平滑極性機率密度圖後,判斷飛行器是否有避障的飛行方向,若沒有即讓飛行器懸停,若有飛行器即完成姿態避障。 最後介紹我們的實驗設備與實驗結果。透過姿態解算實驗,飛行器在其他角度時皆可依據IMU姿態的變化,利用角度誤差PID控制使飛行器得到合適地飛行角度,Arduino回傳Pixhawk相對應地PWM訊號,使飛行器回歸平穩狀態。透過障礙物偵測與避障實驗,雖飛行器在電腦端執行演算法效率佳,但因Arduino微控制板處理器硬體的限制,使得障礙物偵測與避障處理效果並沒有達到完全即時性。 ;Just in these few years, unmanned aerial vehicles (UAVs) have been massively applied in agriculture, commerce, military, entertainment, disaster relief, delivery, defense, etc. In general, UAVs can be controlled by controllers, following a target, or autonomous flying. Most UAVs have not equipped an obstacle detector to avoid the possible collision. Thus many UAV accidents have occurred. In this study, we combine multiple sensors for posture calculation, use synchronous positioning and map construction technology (SLAM) to detect obstacles for UAV’s collision avoidance. In this study, a three-axis acceleration, three-axis angular velocity, and three-axis magnetic field are used to obtain the nine-axis attitude. The pitch angle, roll angle, and yaw angle of the UAV body are then calculated, and the remote control signal is received to reduce the amount of error. In the obstacle detection, we use SLAM method combining ultrasonic sensors to construct the regional map grid, and use the heading reference algorithm to find the moving direction of the UAV. At last, the global map grid with UAV position and obstacle locations is constructed. In the collision avoidance, a one-dimensional VFH representation is transformed from the global map grid to find possible space for forward flying. Through the obstacle detection and obstacle avoidance experiment, although the UAV is simulated in compute system well, the Arduino micro-controller processor is low-end, it shows lower computational performance; thus, the obstacle detection and avoidance are not demonstrated so good as the simulation. |