TWI830392B - UAV semi-open source control system and its design method - Google Patents
UAV semi-open source control system and its design method Download PDFInfo
- Publication number
- TWI830392B TWI830392B TW111135593A TW111135593A TWI830392B TW I830392 B TWI830392 B TW I830392B TW 111135593 A TW111135593 A TW 111135593A TW 111135593 A TW111135593 A TW 111135593A TW I830392 B TWI830392 B TW I830392B
- Authority
- TW
- Taiwan
- Prior art keywords
- function
- open source
- flight
- data
- processing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000013461 design Methods 0.000 title claims abstract description 9
- 230000006870 function Effects 0.000 claims abstract description 124
- 238000012545 processing Methods 0.000 claims abstract description 109
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 claims abstract description 78
- 238000004891 communication Methods 0.000 claims abstract description 25
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 230000010365 information processing Effects 0.000 claims abstract description 7
- 230000015654 memory Effects 0.000 claims description 23
- 238000007726 management method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 230000003068 static effect Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000005259 measurement Methods 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 238000013500 data storage Methods 0.000 claims 5
- 238000005516 engineering process Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Abstract
本發明係有關一種無人機半開源控制系統及其設計方法,其係於無人機建置包括單晶片多核心處理器及共用暫存器。單晶片多核心處理器之第一處理核心建置包括用以控制無人機的半開源飛控模組。單晶片多核心處理器之半開源飛控模組建置包括閉源控制函數模組及開源控制程式模組,閉源控制函數模組建置有資料處理函數、通訊函數、飛控函數及硬體設定函數,使半開源飛控模組執行無人機的電能管理、對地通訊、航空感測、飛行控制、導航演算及飛行記錄的資訊處理。第二處理核心建置有第一使用者應用程式,以供使用者依其所需任務撰寫工作任務應用程式,使工作任務應用程式經由共用暫存器而與開源控制程式模組配組成無人機控制應用程式,以啟動半開源飛控模組來控制無人機,俾能將自動駕駛程式置於第一處理核心及提供飛行狀態與航點等暫存器,以供使用者發展其他處理核心的應用程式來存取作為導航或AI運算使用,因而具有可增加系統軟硬體的穩定性、減少空間與重量以及降低耗電流和成本等特點。 The invention relates to a semi-open source control system for an unmanned aerial vehicle and a design method thereof. The unmanned aerial vehicle is configured to include a single-chip multi-core processor and a shared register. The first processing core configuration of the single-chip multi-core processor includes a semi-open source flight control module used to control drones. The semi-open source flight control module configuration of the single-chip multi-core processor includes a closed source control function module and an open source control program module. The closed source control function module configuration includes data processing functions, communication functions, flight control functions and hardware The body setting function allows the semi-open source flight control module to perform the UAV's power management, ground communication, aviation sensing, flight control, navigation calculation and flight record information processing. The second processing core is equipped with a first user application for users to write task applications according to their required tasks, so that the task applications are combined with the open source control program module to form a drone through a shared register. Control the application to activate the semi-open source flight control module to control the drone, so that the autopilot program can be placed on the first processing core and provide flight status and waypoint registers for users to develop other processing cores. Applications can be used for navigation or AI calculations, which can increase the stability of system software and hardware, reduce space and weight, and reduce current consumption and cost.
Description
本發明係有關一種無人機半開源控制系統及其設計方法,尤指一種將自動駕駛程式置於第一處理核心並提供飛行狀態與航點等暫存器供使用者在第一核心外的核心發展無人機應用程式的半開源控制技術。 The invention relates to a semi-open source control system for unmanned aerial vehicles and a design method thereof. In particular, it refers to a core that places an autopilot program on a first processing core and provides temporary registers such as flight status and waypoints for users outside the first core. Developing semi-open source control technology for drone applications.
按,開源(Open source)概念最早被應用於軟體(像Linux),開源軟體的發展逐漸與硬體結合,產生開源硬體。開源硬體生產前須經原設計者核准和授權(如CUAV雷迅創新製造Pixhawk v3和Holybro Pixhawk 6C等),並沒使用任何原設計者擁有的商標。硬體設計源碼也需開放可被其他人獲取,以便進行修改,實現技術自由並提供知識共享。隨看linux和git的發展為無人機產業帶來了成熟的開源協作平臺如github、gitbook,使零散的無人機軟硬體開發資源得到整理,讓開發者與用戶得以迅速實現飛控系統的開發。於是開源平臺的共享機制促使無人機產業更快速地商業化,進而促進了無人機行業整體的發展。 Press, the concept of open source was first applied to software (like Linux). The development of open source software was gradually combined with hardware to produce open source hardware. Open source hardware must be approved and authorized by the original designer before production (such as CUAV Lei Xun Innovation Manufacturing Pixhawk v3 and Holybro Pixhawk 6C, etc.) and does not use any trademark owned by the original designer. The hardware design source code also needs to be open and accessible to others to make modifications, achieve technical freedom, and provide knowledge sharing. The development of Suikan Linux and git has brought mature open source collaboration platforms such as github and gitbook to the drone industry, which has organized scattered drone software and hardware development resources, allowing developers and users to quickly develop flight control systems. . Therefore, the sharing mechanism of the open source platform promotes the rapid commercialization of the drone industry, thereby promoting the overall development of the drone industry.
再者,無人機的開源飛控系統主要是控制無人機達到自動駕駛飛行的要求,以實現執行特定所需的任務之目的。依據所知,習知無人機的開源飛控系統有兩大社群: Furthermore, the open source flight control system of UAVs is mainly used to control UAVs to meet the requirements of autonomous flight, in order to achieve the purpose of performing specific required tasks. According to what we know, there are two major communities for the open source flight control system of Xi Zhi UAV:
1.Ardupilot:在2007年Chris Anderson基於Arduino的開源平台,成立DIYDrones.com推出飛控硬體和其飛控軟體APM(https://ardupilot.org/),處理器 是Microchip AVR系列的8-bit Mage2560,其並無任務電腦的配置,若需要配置則需另外以硬體方式來增設,以致硬體建置成本相對較高。 1. Ardupilot: In 2007, Chris Anderson established DIYDrones.com based on the Arduino open source platform to launch flight control hardware and its flight control software APM (https://ardupilot.org/), processor It is the 8-bit Mage2560 of the Microchip AVR series. It does not have the configuration of a task computer. If it needs to be configured, it needs to be added in the form of hardware, so the hardware construction cost is relatively high.
2.Pixhawk:採用ST的32位元單核心STM32處理器,其開源飛控軟體為PX4(https://pixhawk.org/),是2013年由蘇黎世理工大學推出來的高性能飛控硬體板(設計者Lorenz Meier),其並無任務電腦或AI運算電腦的配置,若需要配置則需要外接系統的方式來增設硬體,因而導致硬體建置成本相對較高,或重量、體積與耗電量增加,減少飛機的滯空時間。 2.Pixhawk: It uses ST's 32-bit single-core STM32 processor, and its open source flight control software is PX4 (https://pixhawk.org/), which is a high-performance flight control hardware launched by the Zurich University of Technology in 2013. board (designed by Lorenz Meier), which does not have the configuration of a task computer or an AI computing computer. If it needs to be configured, it requires an external system to add hardware, which results in a relatively high cost of hardware construction, or a weight, volume and The power consumption increases and the aircraft’s flight time is reduced.
3.Skynode是2020年重塑Pixhawk在無人機技術方面的產品,內部主要有一STM32F7飛控板、ARM Cortex-A53 Quad Core(13,800DMIPS)任務電腦板和LTE通訊模組,由於其任務電腦的配置為ARMCortex-A53四核板13,800DMIPS+Auterion OS(即3塊板組成),所以硬體建置成本相對較高;此外。 3. Skynode is a product that reshapes Pixhawk in drone technology in 2020. It mainly contains an STM32F7 flight control board, ARM Cortex-A53 Quad Core (13,800DMIPS) mission computer board and LTE communication module. Due to the configuration of its mission computer It is an ARM Cortex-A53 quad-core board with 13,800DMIPS+Auterion OS (that is, composed of 3 boards), so the hardware construction cost is relatively high; in addition.
由上述得知,習知無人機的開源飛控技術並無以多核心晶片作為自動駕駛的運算核心建置,以致無法將自動駕駛程式置於第一處理核心而提供飛行狀態與航點等暫存器供使用者在其他核心發展各自所需執行任務的應用程式,因而單核心系統軟硬體的穩定性較差、增加空間與重量、增加耗電流以及成本增加等缺失。 From the above, it can be seen that the open source flight control technology of conventional drones does not use multi-core chips as the computing core of autonomous driving, so it is impossible to place the autonomous driving program as the first processing core to provide temporary flight status, waypoints, etc. The memory allows users to develop applications that perform their own tasks on other cores. Therefore, single-core system software and hardware have disadvantages such as poor stability, increased space and weight, increased current consumption, and increased cost.
顯然,上述習知開源飛控技術於功能性建置上確實未臻完善,仍有再改善的必要性;有鑑於此,如何開發出一種以多核心晶片作為自動駕駛的運算核心而提供飛行狀態與航點等暫存器供使用者在其他核心發展各自所需之應用程式的無人機半開源控制技術,實已成為相關技術領 域產學業者所亟欲挑戰與解決的技術課題;緣是,本發明人乃經不斷的努力研發之下,終於研發出一套有別於上述習知技術的本發明。 Obviously, the above-mentioned conventional open source flight control technology is indeed not perfect in terms of functional construction, and there is still a need for further improvement. In view of this, how to develop a multi-core chip as the computing core of autonomous driving to provide flight status UAV semi-open source control technology with waypoints and other temporary registers for users to develop their own applications in other cores has actually become a relevant technology field. It is a technical issue that scholars in the field of industry and academia are eager to challenge and solve; because of this, the inventor has finally developed a set of inventions that are different from the above-mentioned conventional technology through continuous efforts in research and development.
本發明第一目的,在於提供一種無人機半開源控制系統,主要是以多核心晶片作為無人機自動駕駛的運算核心,並將自動駕駛程式置於第一處理核心以提供飛行狀態與航點等暫存器供使用者在其他核心發展所需的應用程式來存取作為導航或AI運算使用,因而具有可增加系統軟硬體的穩定性、減少空間與重量以及降低耗電流和成本等特點。達成本發明第一目的之技術手段,係於無人機建置包括單晶片多核心處理器及共用暫存器。單晶片多核心處理器之第一處理核心建置包括用以控制無人機的半開源飛控模組。單晶片多核心處理器之半開源飛控模組建置包括閉源控制函數模組及開源控制程式模組,閉源控制函數模組建置有資料處理函數、通訊函數、飛控函數及硬體設定函數,使半開源飛控模組執行無人機的電能管理、對地通訊、航空感測、飛行控制、導航演算及飛行記錄的資訊處理。第二處理核心建置有第一使用者應用程式,以供使用者依其所需任務撰寫工作任務應用程式,使工作任務應用程式經由共用暫存器而與閉源飛控程式模組配組成無人機的自主飛行系統控制應用程式來控制無人機。 The first purpose of the present invention is to provide a semi-open source control system for drones, which mainly uses multi-core chips as the computing core of autonomous driving of drones, and places the autonomous driving program in the first processing core to provide flight status and waypoints, etc. The register is used by users to access applications required for development in other cores for navigation or AI calculations. Therefore, it has the characteristics of increasing the stability of system software and hardware, reducing space and weight, and reducing current consumption and cost. The technical means to achieve the first object of the present invention is to configure the drone to include a single-chip multi-core processor and a shared register. The first processing core configuration of the single-chip multi-core processor includes a semi-open source flight control module used to control drones. The semi-open source flight control module configuration of the single-chip multi-core processor includes a closed source control function module and an open source control program module. The closed source control function module configuration includes data processing functions, communication functions, flight control functions and hardware The body setting function allows the semi-open source flight control module to perform the UAV's power management, ground communication, aviation sensing, flight control, navigation calculation and flight record information processing. The second processing core is equipped with a first user application for users to write task applications according to their required tasks, so that the task applications are combined with the closed-source flight control program module through a shared register. Drone autonomous flight system control app to control your drone.
本發明第二目的,在於提供一種無人機半開源控制系統的設計方法,主要是將多種函數保護核心技術開放給使用者來發展所需無人飛行任務的使用者應用程式,以輕易實現客製化程式之目的。由於使用者所需理解的相關程式確實可較開源飛控為少,所以可以減輕使用者設計自動 駕駛程式的負擔。達成本發明第二目的之技術手段,係於一無人機上建置包括有一單晶片多核心處理器及一共用暫存器,該單晶片多核心處理器至少包括有一第一處理核心及一第二處理核心;於該第一處理核心建置包括有一用以控制該無人機的一個半開源飛控模組;於該半開源飛控模組建置包括有一閉源控制函數模組及一開源控制程式模組;於該閉源控制函數模組建置至少或最多包括有一資料處理函數、一通訊函數、一飛控函數及一硬體設定函數,使該半開源飛控模組得以執行包含該無人機的電能管理、對地通訊、航空感測、飛行控制、導航演算及飛行記錄的資訊處理;於該第二處理核心建置有一第一使用者應用程式,該第一使用者應用程式供一使用者依其所需任務撰寫一工作任務應用程式,使該工作任務應用程式經由該共用暫存器而與該閉源飛控程式模組配組成一無人機控制應用程式,進而使該無人機飛控應用程式來控制該無人機。 The second purpose of the present invention is to provide a design method for a semi-open source control system for drones, which mainly opens multiple function protection core technologies to users to develop user applications for required unmanned flight tasks, so as to easily realize customization. The purpose of the program. Since the relevant programs that users need to understand are indeed fewer than open source flight controllers, it can ease the user's design of automatic The burden of driving a program. The technical means to achieve the second object of the present invention is to build a single-chip multi-core processor on a drone and a shared register. The single-chip multi-core processor at least includes a first processing core and a first Two processing cores; the first processing core is configured to include a semi-open source flight control module for controlling the drone; the semi-open source flight control module is configured to include a closed source control function module and an open source Control program module; the closed source control function module configuration includes at least or at most a data processing function, a communication function, a flight control function and a hardware setting function, so that the semi-open source flight control module can execute, including The drone's power management, ground communication, aviation sensing, flight control, navigation calculation and information processing of flight records; a first user application is built in the second processing core, and the first user application For a user to write a work task application program according to the required tasks, so that the work task application program is combined with the closed source flight control program module through the shared register to form a UAV control application program, thereby enabling the Drone flight control app to control the drone.
10:單晶片多核心處理器 10:Single chip multi-core processor
11:第一處理核心 11: First processing core
12:第二處理核心 12: Second processing core
13:半開源飛控模組 13: Semi-open source flight control module
130:閉源函數模組 130: Closed source function module
131:開源控制程式模組 131:Open source control program module
20:共用暫存器 20: Shared register
20a:記憶體 20a:Memory
圖1係本發明具體系統架構的實施示意圖。 Figure 1 is a schematic diagram of the implementation of a specific system architecture of the present invention.
圖2係本發明開源與閉源控制程式模組的主程式流程示意圖。 Figure 2 is a schematic flow diagram of the main program of the open source and closed source control program modules of the present invention.
圖3係本發明半開源飛控模組執行系列中斷即時收發資料的流程示意圖。 Figure 3 is a schematic flow chart of the semi-open source flight control module of the present invention executing a series of interrupts to send and receive data in real time.
圖4係本發明開源飛控模組的具體實施架構示意圖。 Figure 4 is a schematic diagram of the specific implementation architecture of the open source flight control module of the present invention.
為讓 貴審查委員能進一步瞭解本發明整體的技術特徵與達成本發明目的之技術手段,玆以具體實施例並配合圖式加以詳細說明: In order to allow your review committee to further understand the overall technical characteristics of the present invention and the technical means to achieve the purpose of the present invention, specific embodiments are described in detail with reference to the drawings:
請配合參看圖1、4所示,為達成本發明第一目之第一實
施例,主要係於一無人機上建置包括有一單晶片多核心處理器10及一共用暫存器20。該單晶片多核心處理器10至少包括有一第一處理核心11及至少一第二處理核心12;其中,該第一處理核心11建置包括有一用以控制無人機的一個半開源飛控模組13,該半開源飛控模組13建置包括有相配組的一閉源函數模組130及一開源控制程式模組131,該閉源函數模組130建置至少或最多包括有一資料處理函數、一通訊函數、一飛控函數及一硬體設定函數,使半開源飛控模組13得以執行包含無人機的電能管理(如對電池組的放電模式及用電量進行管理)、對地通訊(如圖1之無線電收發模組)、航空感測(如圖1之GPS定位模組、空速計、高度計、光強度計、電流電壓計、溫濕度計、三軸姿態儀等)、飛行控制(如圖1之伺服馬達)、導航演算及飛行記錄(如圖1之飛行記錄卡)的資訊處理。該第二處理核心12建置有一使用者應用程式,該使用者應用程式供使用者依其所需任務撰寫一工作任務應用程式,使工作任務應用程式經由共用暫存器20而與開源控制程式模組131配組成一無人機控制應用程式,進而使無人機控制應用程式得以啟動半開源飛控模組13來控制無人機。
Please refer to Figures 1 and 4. In order to achieve the first purpose of the present invention, the first practical
The embodiment mainly includes a single-chip
本實施例係基於上述第一實施例的第一具體應用實施例,請配合參看圖1所示,係將暫存器或記憶體設定為供使用者進行資料存取應用的暫存器資料區;主要是於無人機上建置包括有複數暫存器(如共用暫存器);或記憶體20a用以使單晶片多核心處理器10與第一處理核心11及至少一第二處理核心12資訊連結,該複數暫存器;或記憶體20a規劃設定為飛行控制與命令的複數暫存資料區,該複數暫存器資料區可供使用者應用程式執行時作為資料存取的應用。具體的,該複數暫存器或記憶體20a包含
複數唯讀暫存器或記憶體及複數讀寫暫存器或記憶體,該複數唯讀暫存器或記憶體包含GPS經度暫存資料區、GPS緯度暫存資料區、GPS高度暫存資料區、GPS速度暫存資料區、姿態角和角速度暫存資料區、氣壓高、氣溫和空速、電池電壓和電路電流、飛行模式以及航路點資訊暫存資料區,如圖4所示。
This embodiment is a first specific application embodiment based on the above-mentioned first embodiment. Please refer to Figure 1. The register or memory is set as a register data area for users to perform data access applications. ; Mainly built on the drone, including a plurality of registers (such as a shared register); or a memory 20a for connecting the single-chip
本實施例係基於上述第一實施例的函數組成技術內容予以具體詳細界定的第二具體應用實施例,請配合參看圖4所示,該資料處理函數包含姿態感測器姿態資料處理函數(AHRS Sentence.o)、GPS資料處理函數(GPS Sentence.o)、大氣量測資料處理函數(AIR.0)、RC遙控命令資料處理函數(SBUS Sentence.o)、產生儲存飛行資料處理函數(SDCard Sentcnce.o)以及寫讀FLASH資料處理函數(Flash.o);該通訊函數包含姿態感測器位元組接收中斷處理函數(AHRS Byte.o)、RC遙控命令位元組接收中斷處理函數(SBUS_Byte.o)、飛行資料寫入位元組中斷處理函數(SDCard_Byte.o)、I2C介面位元組接收中斷處理函數(12C.o)、SPI介面位元組接收中斷處理函數(SPI.o)、DMA中斷處理函數(DMA.0)、通訊下傳位元組中斷處理函數(DownLink Byte.o)以及通訊上傳位元組中斷處理函數(UpLink Byte.o);該飛控函數包含飛行控制函數(Flight.o)、航路點管理函數(WayPoint.o)、飛行模式管理函數(Mode.o)以及控制量轉換為伺服器PWM訊號處理函數(PWM.o);該硬體設定函數包含串列介面初始化函數(iniUART.o)、I2C介面初始化函數(iniI2C.o)、SPI介面初始化函數(iniSPI.o)、直接記憶體存取初始化函數(iniDMA.0)、PWM輸出初始化函數(iniPWM.o)、A/D轉換初始化函數(iniADC.o)、計時器(iniTimer.o)以及埠接腳初始化函數(iniPort.o)。 This embodiment is a second specific application embodiment that is specifically defined based on the technical content of the function composition of the above-mentioned first embodiment. Please refer to Figure 4. The data processing function includes an attitude sensor attitude data processing function (AHRS). Sentence.o), GPS data processing function (GPS Sentence.o), atmospheric measurement data processing function (AIR.0), RC remote control command data processing function (SBUS Sentence.o), generated and stored flight data processing function (SDCard Sentcnce .o) and write and read FLASH data processing function (Flash.o); this communication function includes the attitude sensor byte reception interrupt processing function (AHRS Byte.o), RC remote control command byte reception interrupt processing function (SBUS_Byte .o), flight data writing byte interrupt processing function (SDCard_Byte.o), I2C interface byte receiving interrupt processing function (12C.o), SPI interface byte receiving interrupt processing function (SPI.o), DMA interrupt processing function (DMA.0), communication downlink byte interrupt processing function (DownLink Byte.o) and communication upload byte interrupt processing function (UpLink Byte.o); the flight control function includes the flight control function ( Flight.o), waypoint management function (WayPoint.o), flight mode management function (Mode.o) and control volume are converted into the server PWM signal processing function (PWM.o); this hardware setting function includes a serial interface Initialization function (iniUART.o), I2C interface initialization function (iniI2C.o), SPI interface initialization function (iniSPI.o), direct memory access initialization function (iniDMA.0), PWM output initialization function (iniPWM.o) , A/D conversion initialization function (iniADC.o), timer (iniTimer.o) and port pin initialization function (iniPort.o).
本實施例係基於上述第一具體實施例的的第三具體應用實施例,請配合參看圖1、4所示本,主要是將第二處理核心的數量界定為複數,以協助使用者發展出多種所需工作任務的無人機應用程式;其中,該至少一第二處理核心12的數量為複數,每一複數第二處理核心12建置有一個使用者應用程式;該複數第二處理核心12的使用者應用程式分別供使用者依其所需任務撰寫工作任務應用程式,使複數第二處理核心12的工作任務應用程式經由共用暫存器20而與開源控制程式模組131分別配組成無人機控制應用程式,進而使無人機控制應用程式得以啟動半開源飛控模組13來控制無人機,使其一無人機控制應用程式用以控制無人機的群組通訊、群飛協調與任務執行,使其二無人機應用程式用以控制無人機的影像擷取與處理,使其三無人機應用程式用以控制無人機的酬載控制、資料處理及目標辨識與追蹤。
This embodiment is a third specific application embodiment based on the above-mentioned first specific embodiment. Please refer to the examples shown in Figures 1 and 4. It mainly defines the number of second processing cores as a plural number to assist the user in developing UAV applications for a variety of required work tasks; wherein the number of the at least one
本實施例係基於上述第一具體實施例的第四具體應用實施例,請配合參看圖2所示,主要是將開源控制程式模組131啟動時則執行即時資料的收發確認步驟的具體界定;其中,該半開源飛控模組13之開源控制程式模組131執行包含下列步驟:
This embodiment is a fourth specific application embodiment based on the above-mentioned first specific embodiment. Please refer to Figure 2 for the specific definition of the real-time data sending and receiving confirmation steps when the open source
第一步驟,依序呼叫閉源函數初始化複數硬體設定函數。 The first step is to sequentially call closed source functions to initialize complex hardware setting functions.
第二步驟,判斷姿態資料句是否接收完成,是,則呼叫閉源函數計算處理姿態資料句。 The second step is to determine whether the gesture data sentence has been received. If so, call a closed source function to calculate and process the gesture data sentence.
第三步驟,判斷GPS資料句是否接收完成,是,則呼叫閉源函數計算處理GPS資料句。 The third step is to determine whether the reception of the GPS data sentence is completed. If so, call the closed source function to calculate and process the GPS data sentence.
第四步驟,判斷靜壓和動壓是否取樣完成,是,則呼叫閉源函數計算 處理空速和靜壓高度數據資料。 The fourth step is to determine whether the static pressure and dynamic pressure sampling is completed. If so, call the closed source function calculation. Process airspeed and static pressure altitude data.
第五步驟,判斷RC手控資料句是否接收完成,是,則呼叫閉源函數計算處理SBUS資料句。 The fifth step is to determine whether the reception of the RC manual data sentence has been completed. If so, call the closed source function to calculate and process the SBUS data sentence.
第六步驟,判斷是否達到10ms飛行控制間隔,是,則呼叫閉源函數執行飛控函數。 The sixth step is to determine whether the 10ms flight control interval is reached. If so, call the closed source function to execute the flight control function.
第七步驟,判斷是否達到0.5s飛行資料記錄間隔,是,則呼叫閉源函數製造SD CARD資料句和儲存,並啟動下傳飛行資料至地面站軟體的接收和顯示。 The seventh step is to determine whether the 0.5s flight data recording interval has been reached. If so, call the closed source function to create and store the SD CARD data, and start the reception and display of the flight data downloaded to the ground station software.
本實施例係為基於上述第一具體實施例的的第五具體應用實施例,請配合參看圖3所,主要是界定半開源控制模組13於啟動則執行系列中斷即時收發資料的步驟;其中,該半開源飛控模組13係執行一系列中斷即時收發資料,其包含下列內容: This embodiment is a fifth specific application embodiment based on the above-mentioned first specific embodiment. Please refer to FIG. 3 . It mainly defines that the semi-open source control module 13 executes a series of steps of interrupting real-time sending and receiving of data when it is started; wherein , the semi-open source flight control module 13 performs a series of interrupts to send and receive data in real time, which includes the following:
第一步驟,中斷該單晶片多核心處理器10的UART介面RX2腳,呼叫閉源函數以接收GPS位元組資料,然後返回。
The first step is to interrupt the RX2 pin of the UART interface of the single-chip
第二步驟,中斷該單晶片多核心處理器10的UART介面RX0腳,呼叫閉源函數以接收姿態儀(AHRS)位元組資料,然後返回。
The second step is to interrupt the RX0 pin of the UART interface of the single-chip
第三步驟,中斷該單晶片多核心處理器10的UART介面TX2腳,呼叫閉源函數以傳送記憶卡(SD CARD)位元組資料,然後返回。
The third step is to interrupt the TX2 pin of the UART interface of the single-chip
第四步驟,中斷該單晶片多核心處理器10的UART介面RX1腳,呼叫閉源函數以接收Up Link位元組資料,然後返回。
The fourth step is to interrupt the RX1 pin of the UART interface of the single-chip
第五步驟,中斷該單晶片多核心處理器10的UART介面RX3腳,呼叫閉源函數以接收地面遙控接收機之SBUS位元組資料,然後返回。
The fifth step is to interrupt the RX3 pin of the UART interface of the single-chip
第六步驟,中斷該單晶片多核心處理器10的UART介面TX1腳,呼叫閉源函數以傳送至地面站的Down Link位元組資料,然後返回。
The sixth step is to interrupt the TX1 pin of the UART interface of the single-chip
請配合參看圖1、4所示,為達成本發明第二目之第二實施例,主要係於無人機上建置包括有一單晶片多核心處理器10及一共用暫存器20,該單晶片多核心處理器10至少包括有一第一處理核心11及一第二處理核心12。於第一處理核心11建置包括有一用以控制無人機的一個半開源飛控模組13;於半開源飛控模組13建置包括有一閉源函數模組130及一開源控制程式模組131;於閉源函數模組130建置至少或至多包括有一資料處理函數、一通訊函數、一飛控函數及一硬體設定函數,使該半開源飛控模組13得以執行包含無人機的電能管理、對地通訊、航空感測、飛行控制、導航演算及飛行記錄的資訊處理;於第二處理核心12建置有一使用者應用程式,該使用者應用程式供使用者依其所需任務撰寫一工作任務應用程式,使該工作任務應用程式經由該共用暫存器20而與該開源控制程式模組131配組成無人機飛控應用程式,進而使該無人機應用程式得以啟動半開源飛控模組13來控制無人機。
Please refer to Figures 1 and 4. In order to achieve the second object of the present invention, a second embodiment mainly includes a single-chip
再請配合參看圖1、4所示為基於上述第二具體實施例的的第六具體應用實施例,本實施例主要是將第二處理核心的數量界定為複數,以協助使用者發展出多種所需工作任務的無人機控制應用程式;其中,該至少一第二處理核心12的數量為複數,每一複數第二處理核心12建置有一個使用者應用程式;該複數第二處理核心12的使用者應用程式分別供使用者依其所需任務撰寫工作任務應用程式,使複數第二處理核心12的工作任務應用程式經由共用暫存器20而與開源控制程式模組131分別配組成無
人機控制應用程式,進而使無人機控制應用程式得以啟動半開源飛控模組13來控制無人機,使其一無人機控制應用程式用以控制無人機的群組通訊、群飛協調與任務執行,使其二無人機控制應用程式用以控制無人機的影像擷取與處理,使其三無人機控制應用程式用以控制無人機的酬載控制、資料處理及目標辨識與追蹤。
Please refer to Figures 1 and 4 again, which shows a sixth specific application embodiment based on the above-mentioned second specific embodiment. This embodiment mainly defines the number of second processing cores as a plural number to assist the user in developing a variety of UAV control application program for required work tasks; wherein, the number of the at least one
請配合參看圖4所示為基於上述第二實施例的第七具體應用實施例,本實施例係將第二處理核心12的使用者應用程式建置程式範例予以具體界定;其中,於每一複數個第二處理核心12的使用者應用程式建置有一程式範例,以程式碼開源方式提供使用者設計出其所需工作任務的使用者應用程式。
Please refer to FIG. 4 which shows a seventh specific application embodiment based on the above-mentioned second embodiment. This embodiment specifically defines the user application building program example of the
本實施例係基於上述第二實施例的第八具體應用實施例,本實施例係將暫存器或記憶體設定為供使用者進行資料存取應用的暫存器資料區;其中,係於無人機上建置包括有複數暫存器用或記憶體20a以使單晶片多核心處理器10與第一處理核心11及至少一第二處理核心12資訊連結,該複數暫存器或記憶體規劃設定為飛行控制與命令的複數暫存資料區,該複數暫存器資料區可供使用者應用程式執行時作為資料存取的應用。
This embodiment is an eighth specific application embodiment based on the above-mentioned second embodiment. In this embodiment, the register or memory is set as a register data area for users to perform data access applications; wherein, The UAV is equipped with a plurality of registers or memories 20a to enable information connection between the single-chip
經上述具體實施例的詳細說明後,本發明確實可以具有下列所述的特點: After the detailed description of the above specific embodiments, the present invention can indeed have the following characteristics:
1.本發明確實是以多核心晶片作為無人機自動駕駛的運算核心,並將自動駕駛程式置於第一處理核心以提供飛行狀態與航點等暫存器供使用者發展所需的應用程式來存取作為導航或AI運算使用,因而具有可增加系統軟硬體的穩定性、減少空間與重量以及降低耗電流和成本等諸 多特點。 1. The present invention indeed uses a multi-core chip as the computing core of the drone's autonomous driving, and places the autonomous driving program on the first processing core to provide temporary registers such as flight status and waypoints for users to develop required applications. It can be used for navigation or AI computing, so it can increase the stability of system software and hardware, reduce space and weight, and reduce current consumption and cost. Many features.
2.本發明確實可將多種閉源函數之核心技術保護起來,並開放給使用者呼叫來發展所需無人機的飛控和飛行任務的使用者應用程式,進而實現客製化程式之目的,由於使用者所需理解的相關程式確實可較開源飛控為少,所以確實可以減輕使用者開發程式的負擔。 2. The present invention can indeed protect the core technology of multiple closed source functions and open it to users to call user applications to develop the flight control and flight tasks of the required drones, thereby achieving the purpose of customized programs. Since the relevant programs that users need to understand are indeed fewer than open source flight controllers, it can indeed reduce the burden on users to develop programs.
以上所述,僅為本發明之可行實施例,並非用以限定本發明之專利範圍,凡舉依據下列請求項所述之內容、特徵以及其精神而為之其他變化的等效實施,皆應包含於本發明之專利範圍內。本發明所具體界定於請求項之結構特徵,未見於同類物品,且具實用性與進步性,已符合發明專利要件,爰依法具文提出申請,謹請 鈞局依法核予專利,以維護本申請人合法之權益。 The above are only possible embodiments of the present invention and are not intended to limit the patent scope of the present invention. Any equivalent implementation of other changes based on the content, features and spirit described in the following claims shall be considered included in the patent scope of the present invention. The structural features specifically defined in the claim of the present invention have not been found in similar articles, and are practical and progressive. They have met the requirements for an invention patent. I file an application in accordance with the law. I sincerely request the Office to approve the patent in accordance with the law to protect this invention. The legitimate rights and interests of the applicant.
10:單晶片多核心處理器 10:Single chip multi-core processor
11:第一處理核心 11: First processing core
12:第二處理核心 12: Second processing core
20:共用暫存器 20: Shared register
20a:記憶體 20a:Memory
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111135593A TWI830392B (en) | 2022-09-20 | 2022-09-20 | UAV semi-open source control system and its design method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111135593A TWI830392B (en) | 2022-09-20 | 2022-09-20 | UAV semi-open source control system and its design method |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI830392B true TWI830392B (en) | 2024-01-21 |
TW202414137A TW202414137A (en) | 2024-04-01 |
Family
ID=90459203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111135593A TWI830392B (en) | 2022-09-20 | 2022-09-20 | UAV semi-open source control system and its design method |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI830392B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201835784A (en) * | 2016-12-30 | 2018-10-01 | 美商英特爾公司 | The internet of things |
US20210221506A1 (en) * | 2018-10-02 | 2021-07-22 | Robert S. Phelan | Unmanned aerial vehicle system and methods |
US20220100189A1 (en) * | 2016-04-01 | 2022-03-31 | Lntel Corporation | Drone control registration |
US20220147066A1 (en) * | 2020-03-02 | 2022-05-12 | Clrobur Co., Ltd. | Drone control system and intelligent drone flight planning method thereof |
US20220197312A1 (en) * | 2020-12-18 | 2022-06-23 | Microsoft Technology Licensing, Llc | Event Camera Based Navigation Control |
-
2022
- 2022-09-20 TW TW111135593A patent/TWI830392B/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220100189A1 (en) * | 2016-04-01 | 2022-03-31 | Lntel Corporation | Drone control registration |
TW201835784A (en) * | 2016-12-30 | 2018-10-01 | 美商英特爾公司 | The internet of things |
US20210221506A1 (en) * | 2018-10-02 | 2021-07-22 | Robert S. Phelan | Unmanned aerial vehicle system and methods |
US20220147066A1 (en) * | 2020-03-02 | 2022-05-12 | Clrobur Co., Ltd. | Drone control system and intelligent drone flight planning method thereof |
US20220197312A1 (en) * | 2020-12-18 | 2022-06-23 | Microsoft Technology Licensing, Llc | Event Camera Based Navigation Control |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200285942A1 (en) | Method, apparatus, accelerator, system and movable device for processing neural network | |
Ebeid et al. | A survey on open-source flight control platforms of unmanned aerial vehicle | |
US8260479B2 (en) | Modular software architecture for an unmanned aerial vehicle | |
US10809711B2 (en) | Electronic device and method for controlling the same | |
US20190005184A1 (en) | System and Method for Aircraft Design Optimization and Performance | |
CN106325289A (en) | Renesas R5F100LEA master control-based four-rotor flight controller and control method thereof | |
CN108965124A (en) | A kind of unmanned aerial vehicle control system | |
Van't Hof et al. | Androne: Virtual drone computing in the cloud | |
CN109634184A (en) | A kind of load sharing formula double-core flight-control computer | |
TWI830392B (en) | UAV semi-open source control system and its design method | |
CN105676755A (en) | Dual-core flight control computer | |
Hrishikeshavan et al. | Refined lightweight inertial navigation system for micro air vehicle applications | |
WO2020238966A1 (en) | Method and apparatus for transmitting reference navigation point data, and unmanned aerial vehicle | |
CN105955286B (en) | A kind of more rotor flying controllers of double-core | |
Szolc et al. | Hardware-in-the-loop simulation of a UAV autonomous landing algorithm implemented in SoC FPGA | |
CN216647176U (en) | STM 32-based quad-rotor unmanned aerial vehicle platform for teaching experiment | |
CN110271685A (en) | A kind of unmanned plane of taking photo by plane based on ARM and FPGA | |
US20200110424A1 (en) | Geofencing of unmanned aerial vehicles | |
CN203101972U (en) | Miniature unmanned plane flight control system based on microprocessor S3C2410 | |
WO2022227092A1 (en) | Movable platform, and verification apparatus and verification method for chip design | |
Chong et al. | Design of flight control software for small unmanned aerial vehicle based on VxWorks | |
Liu | A Do-It-Yourself Unmanned Aerial Vehicle for area monitoring and data collecting | |
Rafeeq | A Development Platform to Evaluate UAV Runtime Verification Through Hardware-in-the-loop Simulation | |
TWI818361B (en) | Dual Autopilot System with Control Transfer and Backup Aviation Sensors | |
Raheel et al. | Top-Down Design Approach for the Customization and Development of Multi-rotors Using ROS |