# Navigation Path Extraction and Experimental Research of Pusher Robot Based on Binocular Vision
## 2 Materials and Methods  
### The Composition of the Pusher Robot System in the Farm  
The pusher robot was mainly composed of a vehicle navigation hardware system, pushing operation system and navigation and operation control system. Among them, the vehicle navigation hardware system and the pushing operation system were the specific execution systems of the instructions, which were responsible for receiving and executing the task instructions issued by the control system to complete the autonomous navigation and pushing operation. The navigation and operation control system was responsible for setting the working mode of the vehicle system, issuing target point instructions, displaying the robot position in real time and controlling the pushing operation system. Through the fusion and analysis of various sensor information, the pusher robot could realize autonomous positioning and navigation in the natural environment. With adaptive sensor fusion technology, it could independently complete the automatic feeding function of the robot in the dairy farm without any environmental assistance.  
The hardware device and the control system communicated in real time through the wireless network to complete the autonomous navigation and operation tasks of the pusher robot in the farm together, as shown in Figure 1. The vehicle navigation hardware system mainly included robot chassis, drive module, control module, environmental information perception module, communication module and power supply module.  
According to the task of the farm operation and the needs of the environment, the driving module of the robot adopted a two-wheel differential drive structure, and the steering control of the robot was realized by setting different speeds for the two driving wheels. The front wheel adopted a two-wheel differential drive structure, and the rear wheel adopted a universal wheel. This drive system was not only simple in structure and small in turning radius, but also more flexible in movement, which greatly improved the control accuracy of the whole machine. The power system was provided by 60 V lithium battery modules. In order to ensure that the robot had powerful computing functions, the main control unit used an NVIDIA Jetson Nano development board equipped with Tegra X\({}_{1}\) heterogeneous SoC; the size of this unit was 100 mm \(\times\) 80 mm \(\times\) 29 mm. The basic framework of the robot operating system navigation was built under the Ubuntu 18.04 system, and information was exchanged with the chassis by means of RS-485 communication. The ZED 2 binocular camera of Stereo Labs was used to build the environmental information perception module. The horizontal field of view was 90\({}^{\circ}\) and the vertical field of view was 60\({}^{\circ}\). It supported a maximum frequency of 15 Hz to output a binocular image of 4416 \(\times\) 1242 (pixels). The generated signal was transmitted to the main control unit via USB3.0. The car was equipped with an STM32F103 embedded motherboard as the underlying controller. According to the speed information provided by the encoder, the odometer data (moving speed, driving distance and turning angle) of the vehicle system were obtained through kinematics calculation. Finally, the control of the vehicle-mounted system and the pushing operation system was completed through the control algorithm.