本發明屬于計算機通信及自動化領域,尤其涉及一種基于armcortex-m7處理器的智能無人船平臺及其控制方法。
背景技術:
無人船平臺在保護海洋環境和開發海洋資源方面有著廣泛應用,搭載不同的傳感器系統可以完成各種各樣的任務,是監測海洋環境、觀測海洋水文數據、勘探海洋資源和海洋災害預警的重要手段之一。在軍事方面無人船也扮演著重要的角色,它能夠完成的軍事任務有:港口安全,掃雷和靶船等。在工業上可用于一些水中設備的遠程維護,工業開采等方面。在民用方面,可作為娛樂用途,也可用于釣魚,還可以用于探索魚群等。無論在科研方面,還是軍事方面,或者工業上以及民用方面,都有著廣闊的應用前景。
隨著無人船在各個領域應用的逐步擴展,對無人船的要求也越來越高,無論是在導航的精度及準確性,還是避障的及時性,還是無人船控制系統所占體積,亦或是無人船的兼容性和可擴展性,都提出了很嚴苛的要求。無人船應用在不同的領域,需搭載不同的傳感器,這對無人船控制系統的兼容性和可擴展性提出了很高的要求。且隨著無人船功能特性的增加,以及所應對的環境越來越復雜,需要處理的數據量也在極速增加,這就需要無人船處理器有更高的數據處理、數據分析以及數據傳輸能力。
技術實現要素:
本發明所要解決的技術問題是,提供一種基于armcortex-m7處理器的智能無人船平臺及其控制方法,具有良好的兼容性和可擴展性,搭載不同的信息采集模塊可以完成各種各樣的任務,利用armcortex-m7處理器強大的數字信號處理能力,提高處理能力,實現復雜的控制算法;利用gps/北斗定位模塊與捷聯式慣性導航模塊組合導航,提高了導航、定位的精度;提高控制系統的兼容性和可擴展性、以及遠程維護和升級能力,利用嵌入式操作系統低能耗的特點,提高無人船的續航能力。
為達到上述目的,本發明采取的技術方案是構建一種基于armcortex-m7處理器的智能無人船平臺,實現了無人船的自主航行、自主避障、路徑規劃及視頻傳輸功能,包括岸端控制系統、船載控制系統及連接岸端控制系統與船載控制系統的通信系統;
岸端控制系統用于自動或/和手動實時控制無人船,并實時顯示無人船狀態信息及周邊環境信息,以及向船載控制系統發送命令,包括岸端上位機、遙控器;
船載控制系統主要用于實現無人船自主航行及自主避障,視頻拍攝及傳輸,以及接收岸端上位機發來的命令并實時傳送相關數據給上位機;通信系統是整個平臺溝通的橋梁。所述的船載控制系統包括armcortex-m7處理器、信息采集模塊、視頻傳輸模塊、電池電壓檢測系統、驅動模塊及動力系統;armcortex-m7處理器分別與信息采集模塊、視頻傳輸模塊、電池電壓檢測系統、驅動模塊相連,動力系統為船載控制系統提供電能;
所述的armcortex-m7處理器包括自主航行單元、自主避障單元、方向及速度控制單元;自主航行單元、自主避障單元的輸入與信息采集模塊相連,自主航行單元、自主避障單元的輸出與方向及速度控制單元相連,速度控制單元的輸出與驅動模塊相連。
所述通信系統設有:兩個無線數傳電臺,其中一個通過rs232轉usb轉接板與岸端上位機連接,另一個與armcortex-m7處理器連接,兩個無線數傳電臺采用mavlink協議實現數據傳輸兩個無線圖傳模塊,其中一個與岸端上位機連接,另一個與視頻傳輸模塊連接,實現視頻傳輸,以及配置在無線數傳電臺與無線圖傳模塊上的若干增益天線。
具體地,所述岸端上位機以pc機為載體,無線數傳電臺有兩個,采用全雙工無線通信方式,一個通過rs232轉usb轉接板與pc機連接,一個通過rs232接口與armcortex-m7處理器連接,采用mavlink協議實現數據傳輸,最遠傳輸距離可達64km。無線圖傳模塊有兩個,采用半雙工無線通信方式,一個與pc機連接,一個與攝像機連接,實現視頻傳輸,最遠傳輸距離可達23km。無線數傳電臺與無線圖傳模塊均配置高增益天線。所述無線數傳電臺為9xtendoemrf低功耗模塊,無線圖傳模塊為aomway5.8g無線圖傳模塊。
所述岸端上位機包括通信設置模塊、模式選擇模塊、系統控制模塊、pid控制模塊、船狀態信息顯示模塊和船控制信息設置模塊;所述船控制信息設置模塊包括經緯度控制單元、目標船速控制單元、目標航向控制單元、電機pwm控制單元、舵機pwm控制單元以及電機啟動和停止控制單元;所述的船狀態信息包括無人船平臺的經度、緯度及所在半球信息,當前航速、當前航向、加速度、俯仰角、橫滾角、航向角、電機pwm、舵機pwm及電池電壓信息,當前無人船所行駛的軌跡。
所述信息采集模塊包括:gps/北斗定位模塊,用于采集無人船的當前位置、當前航向、當前航速;捷聯式慣性導航模塊,用于采集當前航向、當前航速、姿態信息;激光雷達,用于采集周圍環境中障礙物信息;接收機,用于接收岸端控制系統的遙控器的遙控指令。
所述驅動模塊包括電調、電機及舵機。
鋰電池電壓為12v,為armcortex-m7處理器、電調、無線圖傳模塊供電。通過穩壓降壓模塊將12v電源電壓降為5v電壓輸出,供電給舵機、gps/北斗定位模塊和激光雷達。
所述智能無人船平臺的控制方法具體如下:
岸端控制系統選擇無人船平臺的控制模式,所述的控制模式包括手動遙控、自主導航及手動遙控和自主導航同時運行三種模式;其中手動遙控是指用遙控器發送指令給船載控制系統的接收機的方式對無人船平臺發送控制指令,并用上位機顯示無人船狀態信息,所述的自主導航是指岸端控制系統通過無線數傳電臺的方式對無人船平臺發送規劃航線的位置信息,由主航行單元自主導航,并由自主避障單元進行避障;
岸端控制系統以被選擇的控制模式向船載控制系統發送指令實時控制無人船平臺,船載控制系統通過無線數傳電臺和無線圖傳模塊分別向岸端控制系統實時發送無人船狀態信息及周邊環境信息,
信息采集模塊的gps/北斗定位模塊采集當前位置、當前航向、當前航速,捷聯式慣性導航模塊分別同時采集當前航向、當前航速、姿態信息;激光雷達采集周圍環境中障礙物信息;
在自主導航模式下,armcortex-m7處理器讀取信息采集模塊采集的信息,一方面將所述信息通過無線數傳電臺發送給岸端上位機,一方面根據采集的信息和岸端上位機發送過來的規劃航線的位置信息由自主航行單元、自主避障單元輸出信號給方向及速度控制單元,方向及速度控制單元再輸出控制信號給驅動模塊;岸端上位機可向船載控制系統直接發送目標航向、目標航速指令,在該情況下,方向及速度控制單元根據岸端上位機的指令輸出控制信號給驅動模塊;
其中,自主航行單元根據無人船的當前位置、當前航向與當前航速,與岸端上位機規劃好的航線比較,通過航向控制方法及pid控制實時輸出給定航向偏差、給定航速給方向及速度控制單元;
自主避障單元根據激光雷達檢測到的障礙物信息以及無人船的當前位置、當前航向與當前航速,給定航向差、給定速度給方向及速度控制單元來實時躲避障礙物;當有障礙物時,較自主航行單元,處理器優先響應自主避障單元,直到成功躲避障礙物,沒有障礙物時,自主避障單元沒有輸出。
方向及速度控制單元根據岸端上位機的控制指令,或自主航行單元及自主避障單元輸出的給定航向差、給定速度計算舵機pwm值、電機pwm值,并輸出給驅動模塊;
驅動模塊通過電調、電機及舵機調整無人船的航向與航速;
視頻傳輸模塊包含攝像機,攝像機攝像獲取無人船周邊環境實時情況,通過無線圖傳模塊、高增益天線將視頻實時傳輸回岸端控制系統。
優選的,通信設置模塊選擇串口號、波特率,打開或關閉串口,模式選擇模塊選擇手動遙控、自主導航及手動遙控和自主導航同時運行三種模式,系統控制模塊用于開啟系統、關閉系統或重啟系統;pid控制模塊用于航速pid控制、航向pid控制,船狀態信息顯示模塊顯示船狀態信息,并可以加載地圖顯示當前無人船所行駛的軌跡,且可在此地圖上規劃航跡以及設置回航點;
船控制信息設置模塊用于設置有效工作參數,其中:
經緯度控制單元輸入目標點的經緯度信息,岸端上位機根據目標點與當前無人船平臺位置規劃航線,并將所規劃好的航線的位置信息發送給船載控制系統,
目標航速控制單元用于設置目標船速,方向及速度控制單元根據當前航速與目標航速在來調節電機pwm輸出值,以控制無人船達到目標航速;
目標航向控制單元設置有效目標航向,方向及速度控制單元根據當前航向與目標航向來調節舵機pwm輸出值,以控制無人船達到目標航向;
電機pwm控制單元輸入有效電機pwm值,以控制電機達到相應的轉速,所述有效電機pwm值為能使電機正常轉動的電機pwm值;
舵機pwm控制單元輸入有效舵機pwm值,以控制舵機轉過相應的角度,所述有效舵機pwm值為能使舵機正常轉過一定角度的舵機pwm值;
電機啟動和停止控制單元分別啟動電機和使電機停止轉動。
優選的,所述電池電壓檢測系統檢測無人船的電池狀態,并將電池信息通過無線數傳電臺傳回單端控制系統,在低電量狀態時,發出警報。
具體地,所述遙控器通過2.4g無線網絡發送信號給接收機,armcortex-m7處理器讀取并根據接收機的信號來控制無人船的航向及航速。
具體地,所述armcortex-m7處理器用于接收上位機發送的指令、向上位機發送指令及讀取各式傳感器的數據并進行處理,其工作頻率高達800mhz,取代了絕大多數分立的dsp處理器,它采用分支預測的6級超標量流水線,這樣可以同時支持單精度和雙精度浮點單元,快速提供計算性能,適合大規模的數字信號處理,具有緊密耦合內存接口,提供快速實時響應。
進一步地,所述gps/北斗定位模塊通過串口與armcortex-m7處理器連接,armcortex-m7處理器讀取gps的數據信息并提取其中的經度、緯度、所在經緯度半球、航向、航速信息。
進一步地,所述激光雷達內嵌信號處理模塊實時解算,通過串口與armcortex-m7處理器連接,直接輸出障礙物的距離以及相對方位角度給armcortex-m7處理器,減少了armcortex-m7處理器的運算量。
進一步地,所述捷聯式慣性導航模塊通過iic接口與armcortex-m7處理器連接,通過航向、姿態解算及導航解算獲得無人船的航向、姿態、位置及速度。
更進一步地,所述組合導航為以捷聯式慣性導航模塊為主,gps/北斗定位模塊對捷聯式慣性導航模塊進行修正。通過kalman濾波技術對組合導航的誤差狀態進行估計,并采用反饋校正的方法修正捷聯式慣性導航模塊的導航誤差,得到最終的當前位置、當前航速與當前航向。
具體地,動力系統包括鋰電池、穩壓降壓模塊。
本發明利用gps/北斗定位模塊傳與捷聯式慣性導航模塊組合導航,提高了導航、定位的精度;提高控制系統的兼容性和可擴展性、以及遠程維護和升級能力,利用嵌入式操作系統低能耗的特點,提高無人船的續航能力;利用armcortex-m7處理器取代了絕大多數分立的dsp處理器,大幅提升了運算能力,它采用分支預測的6級超標量流水線,這樣可以同時支持單精度和雙精度浮點單元,快速提供計算性能,適合大規模的數字信號處理,具有緊密耦合內存接口,提供快速實時響應,利用armcortex-m7強大的數字信號處理能力,提高對于控制算法的處理能力,實現復雜的控制算法。極大的縮小了控制系統所占體積,為搭載不同傳感器實現無人船不同的使用功能,提供了一個良好的無人船平臺。
附圖說明
圖1為智能無人船平臺模型結構圖。
圖2為智能無人船平臺實施例的結構圖。
具體實施方式
隨著無人機技術的興起,各種無人設備得到廣泛應用,無人船在科研方面,軍事方面,工業上以及民用方面,得到越來越多的應用,因此本發明提供一種基于armcortex-m7處理器的智能無人船平臺,包括無人船岸端控制系統、船載控制系統以及連接岸端控制系統與船載控制系統的通信系統,有無人船自動、手動或自動與手動同時控制三種模式,實現了無人船的自主航行、自主避障、路徑規劃及視頻傳輸等基本功能。利用gps/北斗定位模塊傳與捷聯式慣性導航模塊組合導航,提高了導航、定位的精度。
下面結合附圖及具體實施方式對本發明再作進一步詳細說明。
如圖1和2所示,本發明采取的技術方案是構建一種基于armcortex-m7處理器的智能無人船平臺,實現了無人船的自主航行、自主避障、路徑規劃及視頻傳輸功能,包括岸端控制系統、船載控制系統及連接岸端控制系統與船載控制系統的通信系統;岸端控制系統用于自動或/和手動實時控制無人船,并實時顯示無人船狀態信息及周邊環境信息,以及向船載控制系統發送命令,包括岸端上位機、遙控器;船載控制系統主要用于實現無人船自主航行及自主避障,視頻拍攝及傳輸,以及接收岸端上位機發來的命令并實時傳送相關數據給上位機;通信系統是整個平臺溝通的橋梁。所述的船載控制系統包括armcortex-m7處理器、信息采集模塊、視頻傳輸模塊、電池電壓檢測系統、驅動模塊及動力系統;armcortex-m7處理器分別與信息采集模塊、視頻傳輸模塊、電池電壓檢測系統、驅動模塊相連,動力系統為船載控制系統提供電能;所述的armcortex-m7處理器包括自主航行單元、自主避障單元、方向及速度控制單元;自主航行單元、自主避障單元的輸入與信息采集模塊相連,自主航行單元、自主避障單元的輸出與方向及速度控制單元相連,速度控制單元的輸出與驅動模塊相連。
所述通信系統設有:兩個無線數傳電臺,采用全雙工無線通信方式,其中一個通過rs232轉usb轉接板與岸端上位機連接,另一個與armcortex-m7處理器連接,兩個無線數傳電臺采用mavlink協議實現數據傳輸,最遠傳輸距離可達64km。兩個無線圖傳模塊,采用半雙工無線通信方式,其中一個與岸端上位機連接,另一個與視頻傳輸模塊連接,實現視頻傳輸最遠傳輸距離可達23km。所述無線數傳電臺為9xtendoemrf低功耗模塊,無線圖傳模塊為aomway5.8g無線圖傳模塊。
具體地,所述armcortex-m7處理器用于接收上位機發送的指令、向上位機發送指令及讀取各式傳感器的數據并進行處理,其工作頻率高達800mhz,取代了絕大多數分立的dsp處理器,它采用分支預測的6級超標量流水線,這樣可以同時支持單精度和雙精度浮點單元,快速提供計算性能,適合大規模的數字信號處理,具有緊密耦合內存接口,提供快速實時響應。擬采用基于armcortex-m7處理器的開發板-stm32f7discovery作為智能無人船的嵌入式開發平臺,該開發板216mhz的cpu頻率、1024kb閃存、320kbsram。
具體地,所述信息采集模塊主要是各式傳感器和接收機,包括gps/北斗定位模塊、捷聯式慣性導航模塊、激光雷達,用于采集無人船的當前位置、當前航向、當前航速、姿態信息及周圍環境中障礙物信息,一方面將這些信息發送給自主航行系統和自主避障系統,另一方面,通過無線數傳模塊傳回岸端控制系統。利用gps/北斗定位模塊與捷聯式慣性導航模塊組合導航,通過卡爾曼濾波得到當前位置、當前航向及當前航速信息。
所述遙控器通過2.4g無線網絡發送信號給接收機,接收機與stm32f7discovery的io口相連,stm32f7discovery通過輸入捕獲方式讀取接收機的占空比信號后來控制電機及舵機,進而實現用遙控器手動遙控操作無人船的航向及航速。
進一步地,所述gps/北斗定位模塊通過串口與stm32f7discovery連接,stm32f7discovery讀取gps的數據信息并提取其中的經度、緯度、所在經緯度半球、航向、航速信息。gps/北斗定位模塊為正點原子gps+北斗雙定位模塊s1216。
進一步地,所述激光雷達內嵌信號處理模塊實時解算,通過串口與stm32f7discovery連接,直接輸出障礙物的距離以及相對方位角度給stm32f7discovery,減少了mcu的運算量。激光雷達為eaiflashlidar激光雷達f4,基于三角測距技術原理,可實時獲取所在環境的高精度輪廓信息。
進一步地,所述捷聯式慣性導航模塊通過iic接口與stm32f7discovery連接,通過航向、姿態解算及導航解算獲得無人船的航向、姿態、位置及速度。捷聯式慣性導航模塊為mpu9250九軸傳感器。
更進一步地,所述組合導航為以mpu9250九軸傳感器為主,正點原子gps+北斗雙定位模塊s1216對mpu9250九軸傳感器進行修正。通過kalman濾波技術對組合導航的誤差狀態進行估計,并采用反饋校正的方法修正捷聯式慣性導航模塊的導航誤差,得到最終的當前位置、當前航速與當前航向。
具體地,所述自主航行單元根據無人船的當前位置、當前航向與當前航速,與岸端上位機規劃好的航線比較,pid控制實時輸出給定航向偏差、給定航速給方向及速度控制系統。
具體地,所述自主避障單元根據eaiflashlidar激光雷達f4檢測到的障礙物信息,輸出給定航向差、給定速度給方向及速度控制系統來實時躲避障礙物。
具體地,所述電池電壓檢測系統通過電壓檢測模塊來檢測無人船的電池電壓狀態,并將電池電壓信息通過無線數傳電臺傳回單端控制系統,在低電壓狀態時,發出警報便于采取應對措施。電壓檢測模塊將電池電壓縮小5倍后作為stm32f7discoverya/d采樣io口的輸入,stm32f7discovery對此電壓進行簡單對比后算出實際電源電壓,以此判斷無人船的續航能力。
具體地,所述視頻傳輸模塊主要用于了解無人船周邊環境實時情況,攝像機攝像后便通過無線圖傳模塊以及高增益天線將視頻實時傳輸回岸端控制系統。
具體地,所述驅動模塊包括電調、電機及舵機,根據方向及速度控制系統給出的舵機pwm值、電機pwm值改變航向及航速。電調為320a有刷電調,電機為550電機,舵機為55g數字舵機。
具體地,動力系統包括鋰電池、穩壓降壓模塊。鋰電池電壓為12v,為stm32f7discovery、電調、無線圖傳模塊供電。通過穩壓降壓模塊將12v電源電壓降為5v電壓輸出,供電給舵機、gps/北斗定位模塊和激光雷達。
具體地,所述岸端上位機以lenovo電腦為載體,無線數傳電臺通過rs232轉usb轉接板與lenovo電腦連接,采用mavlink協議實現數據傳輸,最遠傳輸距離可達64km,其中,所述無線數傳電臺為9xtendoemrf低功耗模塊。
具體地,所述岸端上位機以lenovo電腦為載體,無線圖傳模塊與lenovo電腦連接實現視頻傳輸,其中,所述無線圖傳模塊為aomway5.8g無線圖傳模塊。
具體地,所述無線數傳模塊采用全雙工無線通信方式連接。
具體地,所述無線圖傳模塊采用半雙工無線通信方式連接。