Abstract: A portable mobile robot handheld monitoring system, based on an embedded PC/104plus bus architecture, consists of six modules: video image monitoring, status information monitoring, remote control commands, wireless communication, digital map interaction, and global path planning. Each module exchanges information and shares data through interfaces. The system software operating system platform is Windows CE (WinCE), including modules for keyboard scanning, serial communication, video processing, digital map, and path planning. An application example on a tracked portable mobile robot experimental platform verifies the handheld monitoring system. Keywords: Portable mobile robot; Handheld monitoring system; PC/104plus bus; Windows CE Introduction Currently, fully autonomous control methods for portable mobile robots are not yet mature, and their monitoring systems generally adopt a human-in-the-loop semi-autonomous control design. To meet the structural characteristics of portability, system miniaturization, and embedding, a portable mobile robot handheld monitoring system is designed and applied to a tracked portable mobile robot experimental platform. Functional Design The handheld monitoring system plays a global role in monitoring and controlling the portable mobile robot. The handheld monitoring system can be divided into six functional modules: video image monitoring module, status information monitoring module, remote control command module, wireless communication module, digital map interaction module, and global path planning module (see Figure 1). The video image monitoring module monitors the environment in which the portable mobile robot is located; the status information monitoring module monitors the robot's own status information; the remote control command module implements basic motion command encoding and transmission; the wireless communication module realizes wireless transmission of motion commands, status information, video signals, and other data; the digital map interaction module realizes digital display of environmental geographic information and human-computer interaction functions; and the global path planning module realizes point-to-point optimal path search function. Hardware System The hardware system of the handheld monitoring system can be divided into several modules, each realizing its own relatively independent function. Hardware Structure and Interfaces The hardware system of the handheld monitoring system adopts a PC/104plus bus structure based on the PCI bus of an embedded system, and is divided into five major modules: wireless communication, embedded image acquisition, central processing, remote control, and LCD display. The wireless communication module is further divided into wireless data transmission and wireless video transmission modules. The wireless data transmission module realizes narrowband wireless transmission of motion commands, status information, and other data; the wireless video transmission module realizes broadband wireless transmission of video image signals, and other data. The hardware system modules exchange information and share data through interfaces. The central processing module interfaces with the embedded image acquisition module via a PC/104plus bus to transmit video image data between modules. The central processing module connects to the wireless data transmission module and the remote control module via serial ports. The central processing module connects to the LCD display module via a TTL interface. The embedded image acquisition module and the wireless video transmission module transmit composite video signals via an RCA interface (see Figure 2). Hardware Module Implementation The wireless data transmission module is implemented using a low-power wireless data transmission unit. The embedded image acquisition module is implemented using an embedded image acquisition card with a PC/104plus bus structure. The central processing module is implemented using a single-board computer with a PC/104plus bus structure. The remote control module implements functions such as button scanning, command encoding, and serial port transmission through a self-designed circuit board. The LCD display module is implemented using a small color LCD screen. All the above hardware modules meet the hardware requirements of miniaturization and portability for handheld devices. Software System The software system of the handheld monitoring system uses Windows CE (WinCE) as the embedded operating system platform. The monitoring system software includes: customized operating system, device driver development, and application programs. The application is divided into five modules: keyboard scanning module, serial communication module, video processing module, digital map module, and path planning module (see Figure 3). Operating system customization The operating system customization mainly involves establishing an operating system platform and configuring it accordingly based on the system requirements. This is accomplished using the platform tailoring tool Platform Builder (PB). Device driver development WinCE drivers are divided into native device drivers and stream interface drivers [5]. Native devices refer to devices integrated into the target platform, and their drivers are provided by the original equipment manufacturer (OEM). Stream interface drivers refer to external device drivers connected to the WinCE platform, which are developed by the user. Stream interface drivers treat external devices as special files in the file system and indirectly access external devices through file reading functions. Embedded image acquisition card drivers are divided into three parts : (1) Kernel part implements interrupt service routines (ISR). The kernel function implements the mapping relationship between physical interrupt number and logical interrupt identifier and calls the interrupt service routine. The interrupt service routine returns the interrupt logical identifier to the kernel after the interrupt occurs. (2) The driver part implements the file operation interface functions required by the WinCE stream interface driver model, including: acquisition card initialization, data reading and acquisition card handle closing. (3) The application part loads the embedded image acquisition card interrupt driver into the system memory by calling the device registration function, and modifies the WinCE system registry file according to the acquisition card initialization parameter settings. Application Design The microcontroller program for the keyboard scanning module and serial communication module is developed in C language under the microcontroller integrated development environment uVision2, and the other modules are developed under EVC (Windows CE Embedded Visual C++). (1) Keyboard Scanning Module The keyboard scanning module mainly implements the key recognition and key value display function of the microcontroller on the membrane keyboard. The membrane keyboard is a row-column non-encoded keyboard, and the key recognition is usually implemented by row-by-row scanning query method. The program uses software delay to handle jitter. Key value display is implemented by programming the serial data port of the LCD screen through the microcontroller. (2) Serial Communication Module The serial communication module mainly implements the serial data communication function between the single board computer and the microcontroller. This module consists of three parts: single-board serial communication program, microcontroller serial communication program, and serial communication protocol. ① Single-board serial communication program. Since WinCE does not support the use of serial communication controls, the development of single-board serial communication program under EVC can only be achieved by calling file operation functions. ② Microcontroller serial communication program. The design of microcontroller serial communication program must set the serial port working mode and serial communication baud rate according to the agreement between the two communicating parties. ③ Serial communication protocol. Serial port data includes: bidirectional communication test data, downlink command data, and uplink sensor data, and the sensor data is further divided into: speed, acceleration, position, tilt angle and other status information. In order to correctly separate and identify various data in serial communication, the serial communication protocol is compiled by adding corresponding flag bytes to various data. (3) Video processing module The video processing module realizes video display and video control functions by calling the embedded image acquisition card driver function under EVC. The video display is embedded into the user interface of the software system as a sub-window of the monitoring system. The video display mainly realizes the real-time video display and update of the environment information of the portable mobile robot platform. The video control mainly realizes the control of the video acquisition process, including: setting the size of the video acquisition window, setting the video source system, selecting the video data format and storing the video data. WinCE does not support any video acceleration drivers and low-level functions, so it is not possible to directly call DirectX functions. Therefore, the display and playback of dynamic video on the WinCE device must develop a new device-independent bitmap (DIB) fast display function. The method derived from the DGdiObject class is used to create the DIB bitmap using the CreateDIBSection function. The Graphics Device Interface (GDI) function can be used directly to operate the DIB bitmap to effectively improve the bitmap display speed. (4) Digital map module Digital map is a concept in Geographic Information System (GIS). The digital map module realizes the digital display of the geographic environment information of the portable mobile robot platform, and on this basis, realizes interactive operation functions such as zooming in, zooming out, roaming, and searching on the digital map. The digital map module is implemented by embedding the MapXMobile component under EVC, and finally integrated into the software system user interface as a monitoring system sub-window. MapX Mobile is an ActiveX control based on Object Linking Embedded (OLE) technology. By setting the properties, methods and event responses of this control under EVC, map display and operation functions can be realized. The application implements map display and operation through the MapX Mobile component, and manages map data files at the same time. It can run independently on embedded devices and is also compatible with the WinCE operating system. MapX Mobile allows users to take map data to any location they are in, realizing a mobile GIS component. (5) Path planning module The path planning module implements the point-to-point global path planning function based on the digital map. This module uses Dijkstra's algorithm to realize the optimal path search based on the interactive operation function of the digital map module. The operator selects the starting point and the target point on the digital map. The program searches for the optimal path between the two points through Dijkstra's algorithm and marks the optimal path on the digital map. Dijkstra's algorithm is the theoretical basis for solving the shortest path problem. This algorithm is suitable for calculating the shortest path between two nodes in a weighted directed graph. The roads and locations on the digital map are abstracted as edges and nodes of a directed graph, with the length of the road serving as the weight of the edge in the directed graph, thus realizing the abstraction of the digital map into a weighted directed graph (see Figure 4). Dijkstra's algorithm steps : Step 1: Let set S store the terminal nodes of the shortest paths found. Initially, set S contains only the source node v0, i.e., S = {v0}. Step 2: Let k = 1. For node vk, calculate the distance cost function from v0 to vk: Length(k) is the sum of the weights of reachable connections between v0 and vk. If v0 and vk are not reachable, the distance cost function value is infinite. Step 3: Store the node sequence with the smallest dist[k] value in path[k], and add v[sub]k[/sub] to the set S, i.e., S = {v[sub]0[/sub], v[sub]k[/sub]}. Let k = k + 1. Step 4: If v[sub]k[/sub] is the target node, the algorithm ends; otherwise, go back to Step 2. Then path[k] contains the shortest path sequence between the source node and the target node, and the smallest dist[k] value is the shortest path distance between the source node and the target node. Design Example This handheld monitoring system has been applied to a tracked portable mobile robot experimental platform. It achieved good results in outdoor testing. The user interface of the software system during testing is shown in Figure 5. The user interface consists of three parts: robot status information display, video image data display, and digital map display. Conclusion The portable mobile robot handheld monitoring system passed testing on the tracked portable mobile robot experimental platform. The introduction of embedded hardware architecture and embedded operating systems meets the design requirements of mobile intelligent terminal devices, which demand small size, light weight, strong real-time performance, and high reliability. With the development of high-tech weaponry research, portable mobile robots will be increasingly used in the military field. Handheld monitoring systems, as subsystems of portable mobile robots, are gradually becoming one of the important topics in the field of military robot research.