EVTOL man-machine interaction system

By building the main control unit using the STM32F105RCT6 chip, the compatibility and real-time issues caused by differences in communication protocols in the eVTOL human-machine interaction system were resolved. This enabled efficient data transmission and rapid fault diagnosis, thereby enhancing the system's security and stability.

CN121770592APending Publication Date: 2026-03-31SHAANXI ARK NAVIGATION TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-24
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

The existing eVTOL human-machine interaction systems suffer from significant differences in communication protocols, resulting in poor data interaction compatibility, insufficient real-time performance, difficulty in troubleshooting, easy mis-triggering of switch control, unreasonable interface configuration, and chaotic resource allocation, all of which affect the safety and stability of operation.

Method used

The main control unit is built using the STM32F105RCT6 chip, and is configured with multiple CAN interfaces, UART interfaces and DI input interfaces to realize data format conversion and efficient transmission. It uses interrupt mode to receive joystick data, configures a debugging interface to print data in real time, sets the program running indicator status, reasonably allocates storage resources and interface functions, and handles switch status with anti-bounce.

Benefits of technology

It improves the system's adaptability and real-time performance, ensures timely interaction between control commands and flight status information, enhances the system's maintainability and operational safety, avoids data transmission conflicts and loss, and guarantees the stable operation of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121770592A_ABST
    Figure CN121770592A_ABST
Patent Text Reader

Abstract

The invention discloses an eVTOL man-machine interaction system, and belongs to the technical field of man-machine interaction, the eVTOL man-machine interaction system comprises a main control unit built based on an STM32F105RCT6 chip, the main control unit is provided with two CAN interfaces, five UART interfaces and four DI input interfaces, and the main control unit is used for receiving rocker information transmitted by the CAN interfaces and sending the rocker information to the main control unit; the main control unit is used for receiving state information fed back by the flight control unit, converting the state information into a MAVLink data packet and sending the MAVLink data packet to the flight control unit through a specified UART (Universal Asynchronous Receiver / Transmitter) interface, receiving state information fed back by the flight control unit and converting the state information into a MODBUS-RTU (Remote Terminal Unit) data packet, and sending the MODBUS-RTU data packet to a serial port screen for display through a corresponding UART interface. Data format conversion and efficient transmission among different devices are realized, the problem of poor communication protocol compatibility of a traditional scheme is solved, and the adaptation capability of the system is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of human-computer interaction, specifically to an eVTOL human-computer interaction system. Background Technology

[0002] In the field of low-altitude aircraft, human-machine interaction (HMI) of eVTOL is a crucial link in achieving precise control and safe flight, requiring the establishment of an efficient data transmission channel between the joystick, flight controller, and display devices. As eVTOL application scenarios continue to expand, the requirements for the compatibility, real-time performance, and stability of the HMI system are increasing, necessitating adaptation to various communication protocols and peripheral interfaces to meet the operational and monitoring needs in complex flight scenarios.

[0003] Current eVTOL human-machine interface solutions suffer from numerous shortcomings. Significant differences in communication protocols between different devices lead to poor data exchange compatibility, hindering smooth transitions between joystick control commands and flight control status information. Data transmission often relies on a single interface or simple polling, resulting in insufficient real-time performance and inability to respond promptly to control commands or provide flight status feedback. Some systems lack dedicated debugging interfaces and status indication functions, making it difficult to quickly locate problems when malfunctions occur. Switch control is susceptible to interference leading to false triggers and lacks effective anti-shake mechanisms, impacting operational safety. Furthermore, some interaction systems suffer from unreasonable interface configurations and chaotic resource allocation, resulting in data transmission conflicts or losses, failing to meet the requirements for stable eVTOL flight. Summary of the Invention

[0004] The purpose of this invention is to provide an eVTOL human-computer interaction system to solve the problems of existing human-computer interaction systems mentioned in the background art.

[0005] To achieve the above objectives, the present invention provides the following technical solution: a main control unit based on the STM32F105RCT6 chip, wherein the main control unit is configured with two CAN interfaces, five UART interfaces and four DI input interfaces. The main control unit is used to receive joystick information transmitted through the CAN interface, convert it into MAVLink data packets and send them to the flight controller through the designated UART interface. At the same time, it receives status information fed back by the flight controller and converts it into MODBUS-RTU data packets, which are then sent to the serial port screen for display through the corresponding UART interface. As a further preferred embodiment of this technical solution: after the main control unit starts up, it executes the peripheral initialization process, including memory allocation, GPIO port release, USART device initialization, digital input initialization, timer initialization, breathing light initialization, RS485 initialization and FIFO queue initialization. The memory allocation is to allocate SRAMIN storage area for the transmit and receive buffers of each UART interface. As a further preferred embodiment of this technical solution: the two CAN interfaces receive joystick data in an interrupt mode. When the CAN1 or CAN2 receive flag is detected to be true, the data field of the received message is copied to the corresponding original joystick data buffer and the receive flag is reset. As a further preferred embodiment of this technical solution: the main control unit performs constraint processing on the original joystick data, adjusts the positive and negative directions and value ranges of the joystick's X-axis, Y-axis, and Z-axis values, detects the joystick button status and updates the button flag, and encapsulates the processed joystick data into a manual control message according to the MAVLink protocol; As a further preferred embodiment of this technical solution: the main control unit receives MAVLink messages sent by the flight controller through a designated UART interface. The MAVLink messages include heartbeat messages, remote controller signal messages, attitude messages, system status messages, VFR_HUD flight information messages, raw GPS data messages, and altitude-related messages. The main control unit performs targeted decoding on each type of message and extracts the corresponding flight status parameters. As a further preferred embodiment of this technical solution: the main control unit encodes the decoded flight status parameters into MODBUS-RTU data packets. The encoded content includes heartbeat count, remote controller channel data, attitude angle, unlock status, flight mode, battery voltage, remaining power, current, return altitude, and flight speed. The encoded data packets are sent to the serial port screen through the corresponding UART interface. As a further preferred embodiment of this technical solution: UART5 of the five UART interfaces is configured as a debugging interface, using a baud rate of 115200, for printing data information during program execution, and supporting the analysis and debugging of parameter configuration and data processing. As a further preferred embodiment of this technical solution: UART5 of the five UART interfaces is configured as a debugging interface, using a baud rate of 115200, for printing data information during program execution, and supporting the analysis and debugging of parameter configuration and data processing. As a further preferred embodiment of this technical solution: all five UART interfaces use polling for data transmission and reception. UART2 is configured as an RS485 MODBUS-RTU interface for connecting to the LCD screen, UART3 is configured as a TTL interface for MAVLink protocol communication, and UART4 is a spare RS232 interface. Each UART interface is configured with an independent DMA transmit / receive buffer. As a further preferred embodiment of this technical solution: the main control unit is equipped with a program running light, which indicates the system running status through a 1-second cycle of state switching. When the system is initialized and running normally, the running light switches between on and off states according to a set cycle.

[0006] Compared with the prior art, the beneficial effects of the present invention are: 1. This invention integrates multiple CAN interfaces, UART interfaces, and DI input interfaces in the main control unit, and is compatible with both MAVLink and MODBUS-RTU protocols. This enables data format conversion and efficient transmission between different devices, solves the problem of poor communication protocol compatibility in traditional solutions, and improves the system's adaptability.

[0007] 2. This invention uses an interrupt method to receive joystick data from the CAN interface, and combines it with a polling method to process serial port data and switch status. This optimizes data transmission and processing logic, solves the problem of insufficient real-time performance in traditional solutions, and ensures timely interaction between control commands and flight status information.

[0008] 3. This invention configures a specific UART interface as a debugging interface, prints running data in real time, and sets a program running light to indicate the system status, which solves the problem of difficult fault diagnosis in traditional solutions and improves the maintainability of the system.

[0009] 4. This invention provides specialized anti-bouncing processing for the switch states of the four-channel DI input interfaces, and generates control commands by combining the states of the joystick and buttons, thus solving the problem of easy accidental triggering in traditional switch control and enhancing the safety and reliability of operation.

[0010] 5. This invention rationally allocates storage resources and interface functions through the peripheral initialization process, clarifies the communication responsibilities of each interface, avoids data transmission conflicts and losses, solves the problems of unreasonable interface configuration and chaotic resource allocation in traditional solutions, and ensures the stable operation of the system. Attached Figure Description

[0011] Figure 1 This is an overall flowchart of an eVTOL human-computer interaction system according to the present invention; Figure 2 The software flow of an eVTOL human-computer interaction system according to the present invention is as follows. Figure 1 ; Figure 3 The software flow of an eVTOL human-computer interaction system according to the present invention is as follows. Figure 2 ; Figure 4 The software flow of an eVTOL human-computer interaction system according to the present invention is as follows. Figure 3 ; Figure 5 The software flow of an eVTOL human-computer interaction system according to the present invention is as follows. Figure 4 ; Figure 6 The software flow of an eVTOL human-computer interaction system according to the present invention is as follows. Figure 5 ; Figure 7The software flow of an eVTOL human-computer interaction system according to the present invention is as follows. Figure 6 ; Figure 8 This invention provides the overall software architecture of an eVTOL human-computer interaction system. Detailed Implementation

[0012] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention. Example

[0013] Please see Figures 1-8 As shown, the present invention provides an eVTOL human-machine interaction system technical solution: including a main control unit built on an STM32F105RCT6 chip. The main control unit is configured with two CAN interfaces, five UART interfaces, and four DI input interfaces. The main control unit is used to receive joystick information transmitted through the CAN interface, convert it into MAVLink data packets, and send it to the flight controller through a designated UART interface. At the same time, it receives status information fed back by the flight controller, converts it into MODBUS-RTU data packets, and sends them to the serial port screen for display through the corresponding UART interface.

[0014] In this embodiment, after the main control unit starts up, it executes the peripheral initialization process, including memory allocation, GPIO port release, USART device initialization, digital input initialization, timer initialization, breathing light initialization, RS485 initialization and FIFO queue initialization. The memory allocation allocates SRAMIN storage areas for the transmit and receive buffers of each UART interface.

[0015] It should be noted that the main control unit uses the STM32F105RCT6 chip, which integrates a CAN controller, multi-channel UART peripherals, and GPIO ports, fully adapting to the system's multi-device communication needs. Hardware interface allocation strictly follows the functional partitioning principle: Both CAN interfaces (CAN1 and CAN2) are configured in standard frame reception mode with a baud rate of 500Kbps, specifically for receiving operation data from dual-joystick devices; Five UART interfaces with differentiated configurations: UART1 (TX pin outputs SBUS1 signal, RX pin reserved for TTL communication), UART2 (extended to MODBUS-RTU interface via RS485 transceiver chip, connecting to LCD serial screen), UART3 (pure TTL level, baud rate 115200, used for MAVLink protocol communication with flight controller), UART4 (reserved RS232 interface, expandable to connect to external storage devices), UART5 (dedicated serial port for debugging, baud rate 115200, used for program debugging and data monitoring). The four DI input interfaces correspond to GPIO pins PB0, PB1, PB2, and PB3, configured as pull-up inputs for connecting manual control switch signals (such as emergency unlocking, mode switching, etc.).

[0016] As a preferred implementation, after the main control unit powers on and resets, it automatically executes the bsp_init(void) initialization function, completing the system startup in the order of "memory allocation - port configuration - device initialization - protocol adaptation". The specific steps are as follows: Memory allocation operations: The internal SRAM storage area is initialized by my_mem_init(SRAMIN), allocating independent memory space for the DMA transmit / receive buffer, FIFO receive queue and temporary data buffer of each UART interface. For example, U1_DMA_TX=mymalloc(SRAMIN,U1_TX_LEN) (U1_TX_LEN is preset to 256 bytes), usart2_fifo=mymalloc(SRAMIN,sizeof(FIFO_TypeDef)), etc., to ensure that data storage does not interfere with each other. Port resource release: Call DISABLE_JTAG_Function() to disable JTAG debugging function and release the resources of PA13, PA14, and PA15 pins; Release_GPIO_PC() to unbind the default function of the PC port and reserve resources for future expansion. Basic device initialization: USART_DevInit(UART5,115200) configures the baud rate, data bits (8 bits), stop bits (1 bit), and parity bit (no parity) of the debug serial port; SW_Input_Init() configures PB0-PB3 pins as pull-up inputs and sets the sampling rate of the GPIO port to 100MHz; Bit32_Times_init() initializes a 32-bit timer to generate precise timestamps and period control signals; breathe_led_init() configures the PA0 pin as a push-pull output as a program running status indicator. Communication protocol configuration: In RS485_Init(&BaudRate), BaudRate=5 corresponds to the preset baud rate of 9600, configuring the communication parameters of UART2 to adapt to the MODBUS-RTU protocol; FIFO_Init(&usart2_fifo,U2_RX_LEN*2) initializes the FIFO receive queue of UART2, setting the queue depth to twice that of U2_RX_LEN (preset 128 bytes) to avoid data overflow; USART_DMA_Init(USART2,(u32)usart2_fifo->staraddr,(u16)usart2_fifo->size,(uint32_t)U2_DMA_TX) configures the DMA transmit channel of UART2 to achieve high-speed, non-blocking data transmission.

[0017] In this embodiment, the two CAN interfaces receive joystick data in an interrupt mode. When the CAN1 or CAN2 receive flag is detected to be true, the data field of the received message is copied to the corresponding original joystick data buffer and the receive flag is reset.

[0018] Specifically, the main control unit performs constraint processing on the original joystick data, adjusts the positive and negative directions and value ranges of the joystick's X-axis, Y-axis, and Z-axis values, detects the joystick button status and updates the button flag, and encapsulates the processed joystick data into a manual control message according to the MAVLink protocol.

[0019] It should be noted that the CAN data interrupt reception mechanism uses interrupt mode to receive data for both CAN interfaces. The specific implementation logic is as follows: when the CAN controller is initialized, the FIFO receive interrupt is enabled. When the data frame sent by the joystick device is received by the CAN controller and stored in the FIFO buffer, the interrupt service function is triggered. In the interrupt function, the ID, data length (DLC) and data field of the received message are read, and then the Flag_CAN1_RX or Flag_CAN2_RX flag is set. In the main loop of the main control unit, the Joy_un(void) function is called to poll the flag bit. If Flag_CAN1_RX is detected to be true, the data received by CAN1 (length RxMessage1.DLC, range 1-8 bytes) is copied to the original data buffer of pJoyRaw1 by memcpy((uint8_t*)pJoyRaw1,RxMessage1.Data,RxMessage1.DLC), and Flag_CAN1_RX is reset to false. The data reception process of CAN2 interface is completely the same as that of CAN1. The received data is stored in the pJoyRaw2 buffer to ensure that the data of the two joysticks are collected independently and do not interfere with each other. Joystick data processing and MAVLink encapsulation: Raw joystick data needs to undergo constraint processing and format conversion to adapt to the flight controller's MAVLink protocol requirements. The specific steps are as follows: Data constraints and orientation adjustment: The JoyVal_Constrain() function is called to map the raw Halfword data (range 0-65535) of the joystick's X, Y, and Z axes to the control range (-10000 to 10000) required by the MAVLink protocol. At the same time, the orientation of the Y-axis data is adjusted according to the flight control logic, for example, JoyVal1.y_val=-JoyVal_Constrain(pJoyRaw1->y.Halfword), to ensure that the joystick operation direction is consistent with the direction of the drone's movement. Key state detection: Real-time detection of the level state of the pJoyRaw1->Btn.btn_6 key. If a key trigger (high level) is detected and the 10th bit of JoyVal1.btn is not set to 1, then execute JoyVal1.btn|=1<<10 to encode the key state into the corresponding bit of JoyVal1.btn, thereby realizing the digitization of key operation; MAVLink message transmission: Manual control messages are encapsulated using the MavlinkSend_ManualControl(void) function. The TimeOver(CurTime,PreTime,99999) function sets the transmission period to 100ms (i.e., 10 control messages are sent per second) to ensure real-time control commands. The mavlink_msg_manual_control_send() function is called to encapsulate the processed joystick X, Y, and Z axis data and button states into message frames according to the MAVLink protocol format. These frames are then sent to the flight controller via the UART3 interface. MAVLINK_COMM_1 specifies the communication port, and target_system is set to the flight controller device address to ensure accurate message delivery.

[0020] In this embodiment, the main control unit receives MAVLink messages sent by the flight controller through a designated UART interface. The MAVLink messages include heartbeat messages, remote controller signal messages, attitude messages, system status messages, VFR_HUD flight information messages, raw GPS data messages, and altitude-related messages. The main control unit performs targeted decoding on each type of message and extracts the corresponding flight status parameters.

[0021] Specifically, the main control unit encodes the decoded flight status parameters into MODBUS-RTU data packets. The encoded content includes heartbeat count, remote controller channel data, attitude angle, unlock status, flight mode, battery voltage, remaining power, current, return altitude, and flight speed. The encoded data packets are sent to the serial port screen through the corresponding UART interface.

[0022] In this embodiment, UART5 of the five UART interfaces is configured as a debugging interface, using a baud rate of 115200, for printing data information during program execution, and supporting the analysis and debugging of parameter configuration and data processing.

[0023] Specifically, the four DI input interfaces correspond to the PB0, PB1, PB2, and PB3 pins. They use a polling method to query the status of the switch signals and perform debouncing. The main control unit generates device unlock or lock commands based on the status of the switch signals and the joystick button status, and sends them to the flight controller via a long command message of the MAVLink protocol.

[0024] In this embodiment, all five UART interfaces use a polling method for data transmission and reception. UART2 is configured as an RS485 MODBUS-RTU interface for connecting to the LCD screen, UART3 is configured as a TTL interface for MAVLink protocol communication, and UART4 is a backup RS232 interface. Each UART interface is configured with an independent DMA transmit / receive buffer.

[0025] Specifically, the main control unit is equipped with a program running light, which indicates the system's operating status through a 1-second cycle of state switching. When the system is initialized and running normally, the running light switches between on and off states according to a set cycle.

[0026] Working principle or structural principle: The main control unit, as the core hub, first completes the peripheral initialization process, allocating storage resources, configuring communication parameters and protocol adaptation for each interface, ensuring the system has the foundation for data interaction. Two CAN interfaces receive operation data sent by the joystick in real time, quickly capturing and storing the data in the corresponding buffer through an interrupt mechanism. The main control unit performs range constraints and direction adjustments on the raw data, detects the button status, encapsulates it into MAVLink protocol data packets, and sends them to the flight controller via a designated UART interface. Flight status information fed back by the flight controller is transmitted back to the main control unit through the same UART interface. The main control unit classifies and decodes various MAVLink messages, extracts key flight parameters, encodes them into MODBUS-RTU data packets, and sends them to the serial port screen for visual display through the corresponding UART interface. The debug interface prints program running data in real time for easy analysis and debugging; four DI input interfaces detect the switch status through polling, and after anti-jitter processing, combine the data with the joystick button status to generate control commands, which are sent to the flight controller via the MAVLink protocol. Simultaneously, the program running indicator switches states at fixed intervals to indicate the system's operating status in real time.

[0027] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus.

[0028] The present invention and its embodiments have been described above. This description is not restrictive, and the accompanying drawings are only one embodiment of the invention; the actual structure is not limited thereto. In conclusion, if those skilled in the art, inspired by this description, design similar structures and embodiments without departing from the spirit of the invention, such designs should fall within the scope of protection of this invention. Although embodiments of the invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims and their equivalents.

Claims

1. An eVTOL human-computer interaction system, characterized in that: It includes a main control unit built on the STM32F105RCT6 chip. The main control unit is equipped with two CAN interfaces, five UART interfaces and four DI input interfaces. The main control unit is used to receive joystick information transmitted through the CAN interface, convert it into MAVLink data packets and send it to the flight controller through the designated UART interface. At the same time, it receives the status information fed back by the flight controller and converts it into MODBUS-RTU data packets, which are then sent to the serial port screen for display through the corresponding UART interface.

2. The eVTOL human-computer interaction system according to claim 1, characterized in that: After the main control unit starts, it executes the peripheral initialization process, including memory allocation, GPIO port release, USART device initialization, digital input initialization, timer initialization, breathing light initialization, RS485 initialization and FIFO queue initialization. The memory allocation allocates SRAMIN storage areas for the transmit and receive buffers of each UART interface.

3. The eVTOL human-computer interaction system according to claim 2, characterized in that: The two CAN interfaces receive joystick data using an interrupt method. When the CAN1 or CAN2 receive flag is detected to be true, the data field of the received message is copied to the corresponding original joystick data buffer and the receive flag is reset.

4. The eVTOL human-computer interaction system according to claim 3, characterized in that: The main control unit performs constraint processing on the original joystick data, adjusting the positive and negative directions and value ranges of the joystick's X, Y, and Z axis values. At the same time, it detects the joystick button status and updates the button flag. The processed joystick data is then encapsulated into a manual control message according to the MAVLink protocol.

5. The eVTOL human-computer interaction system according to claim 4, characterized in that: The main control unit receives MAVLink messages sent by the flight controller through a designated UART interface. The MAVLink messages include heartbeat messages, remote controller signal messages, attitude messages, system status messages, VFR_HUD flight information messages, raw GPS data messages, and altitude-related messages. The main control unit decodes each type of message and extracts the corresponding flight status parameters.

6. The eVTOL human-computer interaction system according to claim 5, characterized in that: The main control unit encodes the decoded flight status parameters into MODBUS-RTU data packets. The encoded content includes heartbeat count, remote controller channel data, attitude angle, unlock status, flight mode, battery voltage, remaining power, current, return altitude, and flight speed. The encoded data packets are sent to the serial port screen through the corresponding UART interface.

7. The eVTOL human-computer interaction system according to claim 6, characterized in that: UART5, one of the five UART interfaces, is configured as a debugging interface with a baud rate of 115200. It is used to print data information during program execution and supports analysis and debugging of parameter configuration and data processing.

8. The eVTOL human-computer interaction system according to claim 7, characterized in that: The four DI input interfaces correspond to the PB0, PB1, PB2, and PB3 pins. They use a polling method to query the status of the switch signals and perform debouncing. The main control unit generates device unlock or lock commands based on the status of the switch signals and the joystick button status, and sends them to the flight controller via a long command message using the MAVLink protocol.

9. The eVTOL human-computer interaction system according to claim 8, characterized in that: All five UART interfaces use polling for data transmission and reception. UART2 is configured as an RS485 MODBUS-RTU interface for connecting to the LCD screen, UART3 is configured as a TTL interface for MAVLink protocol communication, and UART4 is a backup RS232 interface. Each UART interface is configured with an independent DMA transmit / receive buffer.

10. The eVTOL human-computer interaction system according to claim 9, characterized in that: The main control unit is equipped with a program running light, which indicates the system's operating status through a 1-second cycle of state switching. When the system is initialized and running normally, the running light switches between on and off states according to a set cycle.

Citation Information

Patent Citations

  • ARC STABILIZATION device

    UA115200C2