STM32 Graduation Project - Design and Implementation of Hexapod Robot Control System Based on STM32+JAVA+Android (Graduation Thesis + Program Source Code) - Hexapod Robot Control System

Design and implementation of hexapod robot control system based on STM32+JAVA+Android (graduate thesis + program source code)

Hello everyone, today I will introduce to you the design and implementation of a hexapod robot control system based on STM32+JAVA+Android. At the end of the article, the thesis and source code download address of this graduation project are attached. Friends who need to download the proposal report PPT template and thesis defense PPT template, etc., can go to my blog homepage to view the self-service download method in the bottom column on the left.

Article directory:

1. Project introduction

  1. This design is mainly based on the design of a hexapod robot control system based on a single-chip microcomputer. It comprehensively analyzes the structure, gait and control algorithm of the hexapod robot, and combines cloud servers, WIFI technology, Bluetooth technology, voice recognition technology and gesture recognition technology to carry out multiple control modes. design, and propose different construction solutions for different application scenarios.

  2. The hardware design of this system is divided into two parts: the main control board and the steering gear control board. The main control board is mainly responsible for data processing and display of various control modes, and the servo control board is mainly responsible for controlling the rotation angle of the servo. The two boards interact with each other through the serial port. The main control board uses the STM32F103VET6 chip, and the servo control board uses the STM32F103R8T6 chip. Both are designed based on ARM's Cortex M3 core. The hardware circuit design of the main control board mainly includes startup circuit, crystal oscillator circuit, download circuit, reset circuit, voltage stabilizing circuit and each module interface circuit. Draw the schematic diagram and PCB in Altium Designer16 software, weld after proofing and complete the overall test.

  3. The host computer of this system is mainly a mobile APP, and its development environment is Android Studio. C# is used as the cloud open platform language, and JAVA language is used as the mobile client design language. Through the writing of JAVA language, the data reception and sending of the mobile client are realized, and finally Design of the host computer module of the control system based on cloud and Bluetooth. The software design of the lower computer of this system is carried out in the Keil5 programming environment. Refer to the manual of STM32F1 and the data manual of each module to write the program, and finally realize the design of four control systems: cloud control, Bluetooth control, voice control and gesture control. .


2. Resource details

Project difficulty: medium difficulty
Applicable scenario: graduation project on related topics
Word count of supporting paper: 25,817 words and 92 pages< a i=3>Contains: full set of source code + completed thesisRecommended download method for ppt templates such as proposal report, thesis defense, project report, etc.:


Insert image description here


3. Keywords

Hexapod robot; PWM adjustment; microcontroller; cloud

4. Introduction to Bishe

Tip: The following is a brief introduction to the graduation thesis. The complete source code of the project and the download address of the complete graduation thesis can be found at the end of the article.

Chapter 1 Introduction
1.1 Background and significance of design
Today’s hottest new concepts such as artificial intelligence and big data are all developed by robots The foundation is also the future development trend of human society. Until today, humans have developed various robots, which have specific functions for specific fields and specific scenarios. For example, robotic arms in factories, drones working at high altitudes, and explosive disposal robots in criminal investigations, etc. The emergence of these robots has promoted the development of human society. In fact, in addition to these specific scenarios, robots have gradually entered people's daily lives. For example, sweeping robots, fighting robots, dancing robots, etc. are particularly popular on the market now. We can see that with the improvement of living standards, people very much hope that robots can improve their quality of life and make their lives more convenient. All these technologies are reflected in the structure of the robot designed and how to control the robot.

There are many forms of robots in terms of structure. Currently, there are three main forms of mobile robots: wheeled, crawler and footed. At present, footed robots are mainly divided into two legs, four legs, six legs and eight legs. This system mainly adopts a six-legged mechanical structure, so the analysis of the structure and gait of the hexapod robot is of certain significance, which is one of the focuses of this system analysis. After determining the structure, the only remaining step is how to control it. Therefore, designing a robot control system is also of great value.

1.2 Analysis of foreign research status
Omitted

1.3 Analysis of domestic research status
Omitted

1.4 Main design content of this article
Traditional mobile robot structures include wheeled, crawler and footed. The wheeled structure of the wheeled robot determines that it can run faster and more stably on flat ground, but its disadvantage is that its movement efficiency is very low on rough roads. The crawler robot is a further upgrade to the wheeled robot and can move slowly on rough ground. However, due to the poor maneuverability of the crawler robot, the body of the crawler robot is prone to shaking on rough ground, and it still cannot solve the problem of stability. The legged robot is modified by imitating the insect structure. This type of robot can not only move flexibly on rough ground, but can also work in many complex environments like insects, such as climbing stairs. In the early stage of the robot structure design, we did a lot of analysis and finally decided to adopt a six-legged robot with an ant-like structure. After determining the mechanical structure of the robot, this system also analyzed the gait of the hexapod robot and the structural stability, and finally decided to use the triangular gait to design the basic movements of the robot. Therefore, the analysis of mechanical structure and the design of gait are one of the main contents of this design.
In addition to structural analysis and gait design, this system also analyzes and designs multiple control modes. Traditional control systems are generally based on PC control, but there are few cloud-based control system designs and close-range human-computer interaction control system designs. With the development of cloud technology and various sensors, this design hopes to further innovate based on the traditional control model. In the early stage of this design, a large amount of data was collected on traditional control modes, and then these traditional control modes were analyzed and studied, and finally cloud-based remote control, mobile client Bluetooth control and close-range human-computer interaction control (voice recognition Interactive control and gesture recognition interactive control). Therefore, the design of the control system of the hexapod robot is also one of the main contents of this design.

Finally, after the overall system stability debugging and testing was successful, this system also proposed different application solutions for different application scenarios in real life, which is also the significance of this design. The analysis and design of the hexapod robot in this design is a prerequisite for subsequent use in different application scenarios. For better scalability, this design proposes a more practical application solution based on completing the basic control system design. In order to achieve the ease of expansion of the overall system, the data collection and detection part of this system does not fix a certain sensor or a certain detection module. Instead, relevant communication interfaces are reserved during the PCB board design, and then various sensors and detection modules are reserved. The detection module is configured in a modular manner, which is also the innovation of this design. Based on this design, subsequent application scenarios only require modular matching of different detection modules or different sensors, which greatly reduces the user's threshold for use and improves the simplicity of the system.

Chapter 2 System Solution Design
2.1 Control System Solution Design
2.1.1 Remote Control Solution Design
The remote control solution is a cloud-based control solution, which is developed in conjunction with the latest cloud technology. The steering gear control system and control mode selection control system of this system are designed separately. Therefore, when designing the remote control solution, we only need to pay attention to how the WIFI module connects to the cloud server and how the mobile APP connects to the cloud server. , how the mobile APP interacts with the WIFI module of the main control panel.
The WIFI module mounted on the hexapod robot structure interacts with the main control chip of the main control board using a serial port interface. Then, according to the relevant AT commands, the relevant AT commands can be sent or received. Configure the WIFI module. After the configuration is completed, you can use wireless transparent transmission mode to transmit data. The data flow process starts with the mobile APP. The mobile APP sends the data to the remote server through WIFI, and then the cloud server acts as a forwarder, sending the data through the Internet to the router of the LAN where the six-legged robot is located, and then the router Once forwarded, the data is sent to the WIFI module of the hexapod robot's mechanical structure. The WIFI module transmits the data to the main control chip through the serial port. The main control chip analyzes the data. After the analysis is completed, it sends the relevant action group instructions to the servo control. board, and finally realize the robot-related action group actions.
The remote control solution is developed based on the latest technology. As long as there is a network in the area where the hexapod robot is located, the user's mobile phone can achieve remote control through mobile phone traffic anywhere in the world. In addition, the hexapod robot is equipped with a video module that can be used for remote monitoring, so it can achieve true remote control, which plays a great role in the design of subsequent applications in different scenarios. Of course, this is also the focus of this design in the control system.
Insert image description here

Figure 2-1 Remote control scheme flow chart
2.1.2 Bluetooth control scheme design
The Bluetooth control scheme is controlled by the adjusted servo Further control system design is carried out on the basis of the board. I independently completed the design of the mobile phone APP and realized the function of Bluetooth communication between the mobile phone client and the Bluetooth module of the servo control board. Then the Bluetooth module of the servo control board receives the data from the mobile phone and then transmits the data to the computer through serial communication. Servo control panel to achieve corresponding point control or linkage control. At the same time, the communication is two-way, so after receiving the data, the servo control board can send the data to the mobile client through the Bluetooth module, thereby realizing the response function to ensure the stability of data transmission. In addition, the mobile phone client can also collect the power of the power module on the steering gear control board, thereby realizing real-time display of power and prompting the user to charge.
The design of the Bluetooth control system is very suitable for places where there is no network. Such end-to-end short-distance wireless communication method can not only break away from the traditional infrared handle control, but also greatly improve the performance of the control system at short distances. Control stability without network.
Insert image description here

Figure 2-2 Bluetooth control solution flow chart

2.1.3 Human-computer interaction solution design
This system adds voice recognition and gesture recognition functions on the basis of remote cloud control and short-distance Bluetooth control. On the one hand, it Comprehensively consider the stability of the control system solution to prevent the system from still working normally when both the remote cloud and short-range Bluetooth fail. On the other hand, it can greatly improve the user's human-computer interaction effect, which is very important from an entertainment perspective. It improves the user experience to a great extent and enriches the human-computer interaction function of the robot. In fact, through the design of the control system scheme for speech recognition and gesture recognition, the stability of the system can be improved to a certain extent, which is also considered from the overall stability.
The speech recognition control system solution is to collect speech through the speech recognition chip, then convert the collected information into text form, and then convert it through the control chip, which transmits the data to the main control chip, the main control chip parses and processes the data and then transmits it to the servo control board. The servo control board parses the information and performs corresponding actions, thereby realizing speech recognition control of the hexapod robot.
The gesture recognition control system solution is to collect gesture data through gesture sensors, collect human gestures and analyze them, and then transmit the analysis results to the main control chip, which will process the data. It is processed and finally passed to the servo control board, so that the relevant action group can take corresponding actions.
The human-computer interaction solution is very suitable for situations where the remote cloud and short-range Bluetooth fail or when entertainment is relatively strong. Such a human-computer interaction method can not only improve the stability of the system, but also improve the stability of the system. Computer interaction greatly improves the user experience.
Insert image description here

Figure 2-3 Human-computer interaction solution flow chart
2.2 Application scenario design
2.2.1 System application solution description< a i=3> The hardware part of this system reserves communication interfaces for modules or sensors, and uses modular configuration to design the detection part. Users can match different modules according to different tasks and different scenarios, and use different sensors to Data collection can realize the collection of data such as temperature and humidity, toxic gases, flammable gases, life images, coordinate positions, etc., so as to achieve different functions in different scenarios. 2.2.2 Rough terrain detection solution This system can realize the detection function of complex terrain without adding other module configurations, because the hexapod robot Because its six-legged structure can be very flexible to move on rough terrain, and it also has a remote video module, it can realize real-time remote video display and remote control through the cloud. Therefore, as long as there is some network but rugged terrain, the hexapod robot can be used for on-site detection, and users can conduct on-site observations remotely.



Insert image description here

Figure 2-4 Rough terrain detection solution flow chart

2.2.3 Post-earthquake relief and search plan
If the six-legged robot needs to be used in post-earthquake relief and search work, it will need to be configured with individual sensors and modules. Such as life detection module, GPS module and sound detector, etc. The life detector can be used to search for life on the ground after an earthquake. Because it can flexibly walk in places that are inaccessible to workers, it greatly improves the efficiency and area of ​​the search. Once life is detected, it is immediately positioned through the GPS module, and then the coordinates are sent to the staff's mobile client through the cloud, thereby achieving accurate post-disaster life search and positioning functions. In addition, the detection of sound waves can also be used to determine whether there is life. Of course, it can also be used to transport food or instruments.

Insert image description here

Figure 2-5 Post-earthquake relief and search plan flow chart

2.2.4 Scientific research expedition survey plan
If the hexapod robot needs to be used for scientific research expedition surveys, specific detection modules need to be added according to the needs of the staff. For example, in some places with relatively large radiation or dangerous terrain that scientific researchers cannot enter, the six-legged robot can be allowed to enter for survey, and then the scientific researchers can conduct on-site surveys remotely. On this basis, scientific researchers only need to match the corresponding collection module or corresponding sensor. For example, if they want to detect a certain mineral, they need to match the sensor that detects the mineral.
Insert image description here

Figure 2-6 Flow chart of scientific research expedition survey plan

2.2.5 Factory inspection and early warning scheme
If the six-legged robot wants to be used in factories for remote inspection and early warning, it can be equipped with the corresponding inspection and detection module. , especially some chemical factories where toxic gases are present all year round. Once this hexapod robot is used, workers can greatly improve their health. The staff does not need to visit the site. He only needs to control the six-legged robot remotely. Then the mobile phone client can display various indicators of the on-site environment in real time and call the camera to display on-site images.

Insert image description here

Figure 2-7 Factory inspection and early warning program flow chart

Chapter 3 Hardware System Design
3.1 Analysis of Mechanical Structure
Legged robots generally have two legs, four legs, six legs and eight legs The balance problem of legs, two legs and four legs is not easy to solve, and eight legs are not flexible enough, so a six-legged structure is adopted. The robot with a six-legged structure has three legs as support points every time it moves, so it is relatively stable. The structure of this system is divided into two parts: the body and the limbs. The body is mainly used to hold the control board, sensors and batteries, while the limbs are mainly divided into six legs, each leg has three degrees of freedom, that is, each leg has three servos, so the entire system requires coordinated control of eighteen servos. The mechanical structure of this system is not designed independently, because the main task is not the design of the mechanical structure, so the method of customizing the mechanical structure is adopted to build the mechanical mechanism. The overall mechanical structure diagram is shown in the figure below. Each leg has three servos, a total of 6 legs, and finally constitutes the overall mechanical structure of the entire hexapod robot.
Insert image description here

Figure 3-1 Mechanical structure design
3.2 Analysis of main control chip
The main control board uses STM32F103VET6 as the main control chip because of the performance of the chip It is better and has a variety of communication interfaces, such as USART, IIC, SPI, etc. The servo control board uses STM32F103RBT6, which is also from the STM32F1 series. However, since the servo control board only needs to control 18 servos and reserve 3 serial ports for other communications, STM32F1RBT6 is completely sufficient. The steering gear control board mainly adjusts the duty cycle through PWM to realize the angle adjustment of the steering gear. According to the rotation angle of the steering gear, the overall coordination of the 18 servos is carried out to achieve the corresponding action. Of course, because the steering gear control board needs to store actions, the memory of the chip is also used, and its 128K program memory is enough. The communication between the main control board and the servo control board is through the serial port. The reason why they are separated instead of using one board is to consider the later function scalability and the convenience of programming. After being separated in this way, as long as the two boards directly set the corresponding baud rate and write the communication protocol, data communication between the two can be realized, and the development efficiency of the project can be greatly improved.
Insert image description here

3.3 ​​Selection of digital servos
This system uses the LDX-218 digital servos. As long as the signal is sent once, the angle can be locked unchanged, which also reduces the cost. The difficulty of programming. Because the analog servo needs to continuously send PWM to maintain the locked angle. In addition, analog servos also have the disadvantages of poor accuracy and poor linearity, while digital servos can improve control accuracy, linearity and response speed. The working voltage of the digital servo is 6-8.4V, and the rotation angle is 180 degrees, which is enough for a hexapod robot. The PWM adjustment angle period of the servo is 20ms and has a linear relationship, as shown in Figure 3-6.
Insert image description here

3.4 Module interface circuit design
3.4.1 WIFI module interface circuit design
This system uses ATK-ESP8266 WIFI module, which is a serial port WIFI module, the ATK-ESP8266 WIFI module can be configured by sending AT commands through the serial port. This module has AP mode, STA mode and AP+STA mode. The design of the circuit is mainly in the design of the interface circuit, connecting the reserved serial port interface to the corresponding pins of the ESP8266 chip, and finally achieving normal communication between the two.

3.4.2 Bluetooth module interface circuit design
The Bluetooth module is a low-power BLE radio frequency module developed based on the TLSR8266F512 chip. Its communication method is to communicate by sending AT commands through the serial port. Therefore it is very convenient to use. For the specific configuration process, just refer to the AT command and module user manual and send the relevant AT command to establish communication. This interface circuit also needs to set aside the serial port interface, and the rest is the basic circuit design of the CC2540 chip, such as reset circuit, crystal oscillator circuit, etc.

3.4.3 Peripheral circuit design of voice playback chip
The voice playback module is responsible for voice output, such as the voice output and music output of a six-legged robot. This design initially used speech synthesis technology, which is to output text as speech. However, this method has the disadvantage that the offline library coverage is not large enough and some words cannot be synthesized. The disadvantage is that the synthesized speech cannot be synthesized. It sounds very awkward, and there are certain flaws in the speed and intonation of the speech. After comprehensive consideration, we think that we should adopt the method of directly playing audio for voice playback. This approach can circumvent two shortcomings of speech synthesis technology. Users only need to save the music they want to play and the recorded voice audio to the SD card, and then send relevant instructions to the voice playback module to realize the playback of related voices or related music.

In order to expand and communicate, the voice playback module used in this system still communicates through the serial port. This processing method is not only very suitable for this system, but also very important for future scalability. The voice playback module is directly connected to the servo control board, so that voice playback can be performed at the same time as the action, and there will be no conflict between the two. This is why the data processing of the steering gear and multiple control modes is separated. As long as the main control board sends instructions to the servo control board, the servo control board will also send instructions through the serial port when performing relevant actions, so that the voice playback function can be realized.
This circuit is mainly the peripheral circuit and communication interface design of the voice playback chip SYN6288. The specific circuit diagram is as follows.
Insert image description here

Figure 3-9 Voice playback chip peripheral circuit
3.4.4 Voice recognition chip peripheral circuit design
This system uses YS-V0. 7 modules, this module integrates STC11L08XE and LD3320 chips. The LD3320 chip is mainly responsible for voice collection and recognition. Through the processing of this chip, the collected voice information can be converted into text form, and then the processed information is sent to the STC11L08XE chip. The STC11L08XE chip is mainly responsible for information processing and serial port forwarding functions. The peripheral circuit design of this chip needs to communicate with the STC11L08XE chip. After voice collection, it is processed by the STC11LO8XE chip before communicating with the main control board. The design of this circuit is mainly the peripheral circuit of the LD3320 chip, as detailed below.
Insert image description here

Figure 3-10 Speech recognition chip peripheral circuit
3.4.5 Gesture recognition interface circuit design
Human-computer interaction mode requires gesture recognition technology, so it needs to be paired with a gesture recognition sensor. This system mainly uses two gesture recognition sensors, ATK-PAJ7620 and APDS-9960. Both gesture recognition sensors communicate through the IIC protocol. These two sensors can recognize 9 gestures, of which the 6 gestures mainly used in this system are up, down, left, right, forward and back. This circuit design is the design of peripheral circuits and interface circuits.
Insert image description here

Figure 3-11 Gesture recognition interface circuit
3.5 Introduction to remote video module
Initially, this system plans to use common smart car cameras for video surveillance , but this type of camera is basically not open source, which causes a lot of trouble for the development of this system. The open source camera modules on the market basically do not support remote transmission, so they cannot be controlled in the cloud. After comprehensive analysis, we finally decided to customize the camera of Vistarcom. This camera can be used for remote monitoring and has an SDK interface for developers to call, so it is very conducive to project development. This camera can freely rotate up, down, left and right, and can basically cover the entire surveillance range. It also supports night vision, video recording and other functions.

3.6 Description of various sensors
3.6.1 Infrared sensor
If this system needs to perform infrared obstacle avoidance, you can consider using this sensor. Avoidance. This sensor has relatively strong adaptability to light. It determines whether there are obstacles ahead by emitting infrared rays and receiving reflected signals. This module is a digital switch, and what comes out after data processing is only high and low level digital quantities. Therefore, the main control board only needs to use one pin to collect high and low levels to determine whether there are obstacles ahead.
3.6.2 Sound sensor
The sound sensor mainly determines the presence or absence of sound or the sound of a specific sound frequency based on the vibration principle of sound. It is exactly this principle , this system can be used in emergency and disaster relief work to use sound sensors to determine whether there are still people in the post-disaster area. The output form of this sensor is a digital quantity, that is, high and low levels. When there is sound, it is high level, and when there is no sound, it is low level. Therefore, it is very convenient to use. As long as the main control board uses one pin to collect, the sound can be judged. This also gives the six-legged robot a certain supplement in hearing.
3.6.3 Photosensitive sensor
If this system needs to make lighting judgments in certain occasions, then this sensor is undoubtedly the best choice. This photosensitive sensor can monitor the surrounding light intensity and sense the direction of the light source. This sensor also outputs the amount of light, so the communication method is similar to the sensor above.
3.6.4 Ultrasonic sensor
If this system needs to perform distance testing or obstacle avoidance, it needs to be equipped with an ultrasonic sensor. This sensor uses the IO port TRIG to trigger ranging. The sensor automatically sends 8 square waves of 40khz. If the returned signal is monitored in real time, a high level will be generated and last for a period of time.
3.6.5 Temperature and humidity sensor
This system can be used with the DHT11 sensor to detect the temperature and humidity of the environment. The DHT11 sensor has four pins, including power, ground, signal line and one floating pin. The signal transmission is serial transmission in the form of a single bus. If this sensor is used, the interface circuit design of its hardware circuit is as shown in the figure below.

3.6.6 Gas sensor
This system can use different gas sensors when detecting ambient gases. For example, if you need to detect CO, choose the MQ-7 CO sensor. For air quality conditions, choose the MQ-135 module. Users can match corresponding sensors according to their own detection needs.

3.7 Main control board circuit design
3.7.1 General introduction
This chip uses STM32F103VET6. Combined with the needs of this system, some There are 5 serial port interfaces, 2 SPI interfaces, and 6 IIC interfaces. Therefore, these communication interface circuits must be designed when designing the hardware circuit. There are also basic minimum system circuits, such as reset circuit, download circuit, buck circuit, startup circuit, etc.
3.7.2 Crystal oscillator circuit
This circuit uses an 8M passive crystal oscillator, which is more stable than the active type. There are two 20pF crystal oscillators in the circuit. load capacitance. This circuit provides the clock frequency for the chip, so it is very critical.
Figure 3-15 Crystal oscillator circuit
3.7.3 Reset circuit
The reset circuit is mainly used to reset the system, because considering The system crashes due to force majeure factors. In this case, a forced reset is required to restore normal use.

3.7.4 Buck circuit
The main function of the buck circuit is to reduce 5V to 3.3V. This design is because some sensors require a voltage of 3.3V.
Figure 3-17 Buck circuit
3.7.5 IIC interface circuit
The IIC interface circuit is mainly used for gesture recognition Sensor, when designing the hardware of this system, we considered future system scalability and reserved 6 IIC interface circuits. The IIC communication of this system is simulated through software, so any two pins can communicate. This system only reserves interfaces to facilitate the connection of modules or sensors. The specific interface circuit is as shown below.

3.7.6 SPI interface circuit
The SPI interface circuit is mainly an interface reserved for future system scalability, because some modules communicate through SPI. . Currently, the control part of this system does not need to use this interface, but it is reserved when designing the hardware circuit of this system to facilitate modular configuration of different application scenarios. The specific interface circuit is as shown below.
Figure 3-19 SPI interface circuit
3.7.7 USART interface circuit
USART interface circuit is the most commonly used interface in this system Circuit is also the most common communication interface circuit, so the design of the USART interface circuit is particularly critical when designing hardware circuits. Although the USART communication method only requires three wires, that is, TX, RX and GND, considering that the pins of some modules themselves have extra floating pins, there will be modules with 6 pins or 4 pin module. Considering the simplicity and beauty of the hardware circuit, this system adopts a targeted interface design. This part of the circuit is fixed and will basically not be changed in the future. For example, USART1 is used to communicate with the servo control board, USART2 is used to communicate with the speech recognition module, USART3 is used to communicate with the WIFI module, etc. After analysis and design, the specific interface circuit is as shown below.

3.8 PCB board design and drawing
This system uses Altium Designer 16 for PCB design. The difficulty in drawing PCB mainly lies in the wiring layout of PCB. In the early stage, we studied other people's schematic diagrams, and then started to draw the schematic diagram of this system. After drawing the principle, start drawing the packages of some components. Finally, the drawn schematic is exported to the PCB, and the rest is a matter of layout and routing.
When designing the area of ​​the PCB board of this system, the area size of the body platform of the hexapod robot was strictly measured, and the area size of the board was finally determined to be 80.255mm*117.255mm. In addition, considering the beauty of the system, the main control board PCB and the servo control board PCB are connected by copper pillars, so holes for the copper pillars must be left during PCB design.

Chapter 4 Software System Design
4.1 Introduction to Software Development Platform
This system uses Keil uVision5 software to design the control system of the hexapod robot , and use C language for programming. In addition, the program uses C# language, uses Visual Studio as the IDE, and initially develops the cloud platform Net core cross-platform application in the Windows environment. The Android studio software development platform is used to implement the programming of the monitoring operating system platform APP.
Insert image description here

Figure 4-1 Keil uVision5 compilation environment
Insert image description here

Figure 4-2 Visual Studio development platform
4.2 Overall system design block diagram
Insert image description here

Figure 4-3 Overall system process
4.3 Gait design and action writing
Through extensive investigation and analysis, we know that hexapod robots Generally there are three-legged gait, four-legged gait and undulating gait. Taking into account the stability of the mechanical structure of this system, it was decided to adopt a three-legged gait for design. This system first analyzes the gait, and then independently designs six basic gaits: forward, backward, walking left, walking right, turning left, and turning right. Then other actions are based on these six basic gaits. It is modified and combined, so it is of great significance to the analysis and design of basic gait. The design processes for two typical gaits will be shown below, and the rest of the gait design processes are similar.
First, this system first designs the forward state. In summary, it can be seen that this system adopts a three-legged gait design. During the movement of the robot, it consists of two parts: front legs, hind legs and middle legs on the other side. The three legs of one part move first, and the three legs of the other part move first. As support, it is this alternating three-legged gait action that can achieve the stable movement of the robot. The specific process is shown in the figure below. The forward gait has a 9-leg gait diagram, from A to I. The black hollow circle leg represents the supporting action, that is, the state of this leg is in contact with the ground, and the red diagonal leg It represents the leg that lifts up, that is, the state of this leg is off the ground.
Secondly, this system designs the right-turn gait. The specific design process is as shown below. The same black hollow circle leg represents the supporting action, that is, the state of this leg is in contact with the ground, while the red diagonal rod leg represents the lifting action leg, also It is the state of this leg that is off the ground.
Insert image description here

The action group writing of the hexapod robot is based on the above-mentioned gait design. The action group programming can be debugged through the host computer, and the programming of the host computer is based on the principle of PWM adjustment of duty cycle. Therefore, the host computer can be used to quickly and easily program the robot's actions, which is very helpful to improve the development efficiency. efficiency. Find the appropriate value through the host computer, and then you can refer to this value in the program to write. This method is very conducive to the arrangement of robot actions.
Insert image description here

4.4 Remote control programming
4.4.1 Programming of the host computer
The host computer mainly writes the mobile APP, and then the APP communicates with the lower computer After negotiating the communication protocol, data interaction between the two can be realized. The following two pictures are the interface diagrams of the mobile APP.
Insert image description here

The mobile APP is a human-computer interaction interface for users to manage and control robots. Its main function is to control various actions of the robot, output and input of various parameters, display of the connection status between the robot and the cloud server, etc. The main function of the Internet is to act as a medium for data transmission between the device and the cloud monitoring platform. It is mainly responsible for transmitting the device's sensor data and its own system parameters back to the remote monitoring platform. At the same time, it can also send control commands from the cloud monitoring platform to Device side. The device side is the hexapod itself, which is mainly responsible for the execution of relevant actions and information collection in specific environments. After processing the data, it is fed back to the remote detection platform through the network, and is responsible for receiving control from the cloud. Orders and more.

4.4.2 Programming of the slave computer
The remote control mode is based on cloud remote control. The six-legged robot is equipped with an ESP8266WIFI module and connects to the cloud server through WIFI, and then the mobile phone Also connected to the Internet, remote control can be achieved in this way. The program of this part is to realize the data interaction between the STM32F103VET6 chip and the WIFI module, and configure the relevant AT instructions to set the TCP-CLIENT mode in the STA mode.
There are two files in the entire project related to WIFI, one is the common.C file and the other is the WIFISTA.C file. The following is a flow chart of WIFI configuration.
In the common.C file, you first need to write the name and password of the router. The specific settings are as follows:

const char* WIFISTA_ssid="AAAA";			       //连接路由器
const char* WIFISTA_encryption="wpawpa2_aes";	//连接加密方式
const char* WIFISTA_password="88888888";      	//连接密码
然后进行WIFI模块的连接,程序如下:
while(ATK_8266_SEND_CMD("AT","OK",20))        //检查WIFI模块是否在线
{
    
    
	ATK_8266_quit_trans();//退出透传
	ATK_8266_SEND_CMD("AT+CIPMODE=0","OK",200);  //关闭透传模式	
	Show_Str(40,55,200,16,"未检测到模块!!!",16,1);
	delay_ms(800);
	LCD_Fill(40,55,200,55+16,BLACK);
	Show_Str(40,55,200,16,"尝试连接模块...",16,1);
}
while(ATK_8266_SEND_CMD("ATE0","OK",20));

Once the connection is successful, it will enter this function: ATK_8266_WIFISTA_TEST(), and jump to the WIFISTA.C file. After entering the ATK_8266_WIFISTA_TEST() function, the first thing you need to do is to configure the working mode to STA mode. After the configuration is completed, you need to enter the IP address and port number of the cloud server to connect.
In this way, the WIFI configuration process is completed. After establishing the connection, the only thing left is to call the corresponding serial port function to send and receive data, and then analyze and process the received data. After the processing is completed, Transmit the corresponding robot action instructions to implement the action.

4.4.3 Description of communication protocol
The cloud communication protocol of this system is detailed in the following table. The frame header of the communication protocol is mainly to facilitate the identification of data packets. The lower computer will only perform corresponding actions when it receives the data packet with the 0xDA frame header, and the mobile APP will confirm that the other party has received the data only after receiving 0XDB. ID is mainly used to identify the ID of the device for future expansion. The packet sequence number is used to respond. After receiving the corresponding data, the corresponding packet sequence number is also sent when responding to ensure the correctness of data interaction. The CRC16 check is used to check whether the data packet is damaged. If the check fails, retransmission is required and the data packet is discarded.
Table 4-1 Mobile phone sender protocol
Frame header ID Type Packet serial number Data length (4Byte) Data CRC16 check (2Byte) Terminator
0xDA 0x00 0x01 Control command 0x00-0xFF 0xFF 0xFF
0x03 Heartbeat packet

Table 4-2 Robot response protocol
Frame header (1Byte) Robot ID (1Byte) Type (1Byte) Packet number (1Byte)
0xDB 0x00 0x00 (ACK) 0x00-0xFF

The communication protocol between the servo control board and the main control board of this system is described in the following table. The instructions include 0x06, which represents the execution of the action group instruction. The following parameters, 0x08 0x01 0x00, represent the action group No. 8 running once, and 0x07 represents the stop instruction. The stop instruction No need to write parameters later.

Table 4-3 Communication protocol between two boards
Frame header data length command parameters
0x55 0x55 0x05 0x06 0x08 0x01 0x00< a i=3> 0x07 None

The communication protocol between the Bluetooth module of this system and the mobile APP is similar to the above-mentioned communication protocol. Among the instructions, 0x06 represents the execution of the action group instruction, and the following parameters 0x08 0x01 0x00 represent the No. 8 action group to run once, and 0x07 represents the stop instruction. Stop instruction There is no need to write parameters later. On this basis, a command to query the power of the servo control board is also added. The mobile phone sending format is 0x55 0x55 0x02 0x0F. The response format of the servo control board is as follows. The 0x4C in the parameter represents the low voltage. Eight bits, 0x1D represents the high eight bits of the voltage.

Table 4-4 Bluetooth communication protocol
Frame header Data length Command Parameters
0x55 0x55 0x04 0x0F 0x4C 0x1D

4.5 Bluetooth control APP design
The Bluetooth module used in this system also communicates through the serial port. Its configuration process is similar to WIFI. Bluetooth can also be configured by sending relevant AT commands. module. The six-legged robot can exchange data with the mobile phone APP wirelessly. Connect to Bluetooth devices through the corresponding API to achieve point-to-point and multi-point wireless functions. Considering the stability of the system, we directly connect the Bluetooth mode to the steering gear control board. This can ensure that the six-legged robot can still operate normally even if the main control board fails. Previously, there was a reserved serial port interface on the servo control board, so it was very suitable for direct serial communication with the Bluetooth module. After connecting the Bluetooth module to the control board and configuring the relevant AT commands, communication can begin. This part mainly introduces the programming process of Bluetooth APP.
First, configure to start Bluetooth and check whether the current module has enabled Bluetooth. Secondly, to connect to the hexapod robot, in order to connect to the Bluetooth module on the hexapod robot, we need to coordinate the server-side and client-side mechanisms so that the APP opens the server socket, and the Bluetooth module on the robot side initiates the connection between the two. The last step is to receive and receive data. After a successful connection, the APP will have a connected BluetoothSocket value. This phenomenon indicates that data can be shared.
The picture below is the interface diagram of the Bluetooth part of the mobile APP. It mainly simulates a joystick as a game controller, and then there are some buttons for inching control. Bluetooth control mode is mainly divided into work mode and entertainment mode. Different modes have different action groups for arrangement.

4.6 Voice control program design
The speech recognition part mainly consists of two chips, one is the speech recognition chip LD3320, and the other is the data processing chip STC11L08XE. Various operations of the LD3320 chip are implemented by configuring related registers. There are four ways to read and write registers, namely software parallel, hardware parallel, software serial SPI and hardware serial SPI. By consulting the register manual we can configure the functions we want. The speech recognition process is roughly to initialize the speech recognition first, then write the recognition list, then start to recognize and prepare the interrupt response function, and finally turn on the interrupt enable bit. What we use here is the interrupt method for triggering. Once the voice is received, the interrupt will be triggered and the corresponding program will be executed. First, the speech recognition initialization procedure is as follows:

void LD_INIT_ASR() 
{
    
      
NLD_MODE=LD_MODE_ASR_RUN;  
LD_INIT_Common(); 
LD_WRITE(0xBD,0x00);  
LD_WRITE(0x17,0x48); 
delay(10); 
LD_WRITE(0x3C,0x80);
LD_WRITE0x3E,0x07);
LD_WRITE(0x38,0xff); 
LD_WRITE(0x3A,0x07);
LD_WRITE(0x40,0x00); 
LD_WRITE(0x42,0x08);
LD_WRITE(0x44,0x00); 
LD_WRITE(0x46,0x08);     
delay( 1 ); 
}
其次是语音识别列表的程序,截取部分如下:
    uint8 LD_ASRADDFIXED()
{
    
    
	   uint8 k, flag;
	   uint8 NASRADDLEN;
	   #define DATE_A 20   /*数组二维数值*/
	   #define DATE_B 100		/*数组一维数值*/
	   uint8 code SRECOG[DATE_A][DATE_B] = 
{
    
    "xiao hei",\
 "ting",\     													        		    "qian jin",\    
          ......			
"gei da jia chang shou ge" };	
uint8 code PCODE[DATE_A] = 
{
    
      CODE_CMD,\  
			CODE_STOP,\
CODE_FORWARD,\
			......					
			CODE_SING};	/*添加识别码*/	
		flag = 1;
		for (k=0; k<DATE_A; k++)
		{
    
    
			if(LD_Check_ASR_b2() == 0)
			{
    
    
				flag = 0;
				break;
			 }
		 LD_WRITE(0xc1, Code[k] );
		 LD_WRITE(0xc3, 0 );
		 LD_WRITE(0x08, 0x04);
		 delay(1);
		 LD_WRITE(0x08, 0x00);
		 delay(1);
for (NASRADDLEN=0; NASRADDLEN<DATE_B; NASRADDLEN++)
		 	{
    
    
		 	if (SRECOG[k][NASRADDLEN] == 0) break;
			LD_WRITE(0x5, SRECOG[k][NASRADDLEN]);
		 	}
		 LD_WRITE(0xb9, NASRADDLEN);
		 LD_WRITE(0xb2, 0xff);
		 LD_WRITE(0x37, 0x04);
		 }
      	return flag;
}
最后呈现出来的是开始识别的程序,具体如下:
uint8 LD_Run()
{
    
    
	EX0=0;
	LD_WRITE(0x35, MIC_VOL);
	LD_WRITE(0x1C, 0x09);
	LD_WRITE(0xBD, 0x20);
	LD_WRITE(0x08, 0x01);
	delay( 1 );
	LD_WRITE(0x08, 0x00);
	delay( 1 );
	if(LD_Check_ASR_b2() == 0)
	{
    
    
		return 0;
	}
	LD_WRITE(0xB2, 0xff);
	delay( 1);	
	LD_WRITE(0x37, 0x06);
	delay( 1 );
LD_WRITE(0x37, 0x06);
	delay( 5 );
	LD_WRITE(0x29, 0x10)
	LD_WRITE(0xBD, 0x00);
	EX0=1;
	return 1;
}

4.7 Gesture control program design
The difficulty of gesture recognition program mainly lies in the IIC protocol. Generally speaking, there are two types of IIC, one is hardware IIC and the other is software IIC. After our analysis, we found that there are certain bugs in the STM32 hardware IIC, so we decided to use software IIC, that is, to simulate the IIC timing according to the requirements of the manual, and achieve the effect of IIC communication by simulating the timing.
First, we need to initialize the gesture recognition module. The function PAJ7620u2_INT() is used for initialization. In this function, there are two very important functions, one is the IIC initialization function GS_IIC_INIT(), and the other is the function PAJ7620u2_WAKEUP() that wakes up the sensor.
The specific IIC timing simulation is mainly configured in the GS_IIC_INIT() function. We will not discuss it here. We mainly want to talk about the gesture recognition processing function. Because this system is controlled by two separate control boards, one is responsible for the control of the steering gear, and the other is responsible for the control of various sensors or modules, so the gesture recognition function adopts the form of inching control. The gesture sensor is responsible for gesture recognition and information collection, and then transmits the information to the main control chip on the main control board through the IIC. The main control chip processes it and then sends the corresponding action group instructions to the servo control module. This can be achieved Gesture recognition function. The data processing program of the main control chip is as follows:

while(1)
{
    
       status = GS_Read_NByte(PAJ_GET_INT_FLAG1,2,&DATA[0]);		 
if(!status)
	 {
    
       
		GESTURE_DATA1 =(u16)DATA[1]<<8 | DATA[0];
		if(GESTURE_DATA1) 
		{
    
    
			switch(GESTURE_DATA1)
			{
    
    
				case GES_UP: 
					  GESTURE_SEND_BUF[4]=0x01; break; //向上
				case GES_DOWM: 
					  GESTURE_SEND_BUF[4]=0x02; break; //向下
				case GES_LEFT: 
					  GESTURE_SEND_BUF[4]=0x07; break; //向左
				case GES_RIGHT: 
					  GESTURE_SEND_BUF[4]=0x08; break; //向右
				case GES_FORWARD: 
					  GESTURE_SEND_BUF[4]=0x14; break; //向前
				case GES_BACKWARD:  
					  GESTURE_SEND_BUF[4]=0x19; break; //向后
				case GES_WAVE: 
					  GESTURE_SEND_BUF[4]=0x0A; break; //挥动
				default: 
					  GESTURE_SEND_BUF[4]=0x00; break;}	
           for(i=0;i<7;i++)
			 {
    
       USART_SENDDATA(USART1, GESTURE_SEND_BUF[i]);		
		        while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);			
     }	}}			

4.8 LCD display interface design
In order to ensure the stability of the system, the system finally decided to install a touch screen on the hexapod robot for touch control, which ensures that the wireless control device appears The normal movement of the robot can be maintained under certain conditions. Touch screens on the market generally use instruction sets to display LCD screens. When initially designed, the system also used instruction set screens to realize the data display function through relevant instruction configurations.

Later, considering the beauty of the interface and the stability of the system, this system decided to switch to the VGUS configuration screen. This screen is mainly configured through registers and variable memory, and can also cooperate with the host computer to beautify the graphical interface.

Insert image description here

Chapter 5 Overall System Debugging
5.1 Remote Cloud Control Debugging
The cloud control debugging process is divided into two parts, one is the hexapod robot WIFI communication function of WIFI module and mobile APP. First, debug the WIFI module of the hexapod robot. In order to increase the probability of success, we first use the network debugging assistant to test. The network debugging assistant sends relevant instructions to control the six-legged robot, and the mobile APP is debugged only after the debugging is successful.

First, we use the CRC16 verification tool to generate the CRC check code, and then send the relevant instructions through the network debugging assistant, such as DA 00 01 00 00 00 00 0F 61 63 74 69 6F 6E 3D 66 6F 72 77 61 72 64 3B 0C DD FF FF, where the check code is 0C DD, and the last FF FF is the terminator.
Insert image description here

5.2 Speech recognition control debugging
The speech recognition module is first connected to the computer through the USB to TTL module, then open the computer's serial port assistant, and speak the corresponding instructions to the speech recognition module, the serial port The assistant will display the corresponding English or instructions. This system adopts the password mode of speech recognition, that is, the password is spoken first, and the next sentence can be recognized only after the password recognition is successful. If the password "Xiao Hei" is recognized, the serial port assistant will print "6F 6B", which is the hexadecimal number of "ok", and then say the next sentence "forward", the serial port assistant will display: 55 55 05 06 21 01 00 0D 0A means the recognition is successful.
Figure 5-6 Serial port debugging assistant debugging
5.3 Gesture recognition control debugging
The debugging of gesture recognition begins with the development of Zhengdian Atom For testing on the board, we wrote in the program that if the corresponding gesture is recognized, the corresponding English will be displayed. For example, if the gesture is upward, "UP" will be displayed, if the gesture is left, "left" will be displayed. If the gesture action and displayed content If they are consistent, the debugging is successful. Then transplant the program into this system, change the display part to the corresponding serial port command, and then execute the corresponding action group.
Insert image description here

5.4 Overall debugging of action groups
All action groups of this system are stored in the main control panel, and each action group is numbered, so that it can be controlled in a very comprehensive way. These action groups are mainly for performance purposes, so each action group is equipped with corresponding music.
Insert image description here

Thanks
I have learned a lot from this graduation project. On the one hand, it is the improvement of learning methods, and on the other hand, it is the supplement of theoretical knowledge. All these achievements are thanks to the support of the school and college, as well as the patient guidance of the instructor Yang Guoqing.
In terms of learning methods, I gradually learned to use Baidu when I don’t understand. During this time, what I did more was not always ask my classmates how to solve problems, but to learn through the Internet such as visiting forums, reading post bars, and joining QQ groups. Many technologies are now open source, so there is a lot of information on the Internet. As long as you can think of questions, you can find the answers you want here. I think this is a manifestation of the self-learning ability in the new era. Now that we are determined to take the road of technology, we should use scientific methods to get twice the result with half the effort. Through a little search, and then combining the knowledge that one has already mastered to analyze the current problem, and finally solve the problem, this process is a great exercise for one's thinking ability and practical ability. During this period of time, I learned to endure loneliness to find answers to questions, and got used to immersing myself in Internet search engines. Looking back now, I really realize that I have grown a lot. Here, I would like to thank the Internet and the technical experts on the Internet who are willing to share their experiences.
In terms of theoretical knowledge, I used to only use the 51 microcontroller to write some simple programs. Later, I began to learn to understand pointers and linked lists, and then started to learn STM32. After learning STM32, I began to have a deeper understanding of registers and a new understanding of package libraries. I started with an understanding of the kernel, and then gradually came into contact with various peripherals, such as serial ports, IIC, SPI, RS485, etc. Every time I learn something new, I have a better understanding of the underlying technology of the chip, and my knowledge system structure is constantly improving. Later, I started to learn operating systems and began to understand the meaning of operating systems. This process made me suddenly realize that the computer world is like this. In the last month, I started to learn how to make PCBs and learn how to draw schematics, which can be regarded as a supplement to my hardware knowledge. All in all, I have really gained a lot from these few months of graduation, which laid a good foundation for my subsequent graduate career.

References
[1] Wan Ting, Wang Yujun, Li Junke, He Xinqiang. Quadruped gait planning of hexapod robot with eccentric legs [J]. Journal of Henan Institute of Education (Natural Science Edition), 2011, 20(04): 41-44.
[2] Zhang Jinzhu, Jin Zhenlin, Zhang Zhe. Kinematics analysis and configuration selection of the six-legged robot [J]. Optics Precision Engineering, 2017, 25(07):1832-1842.
[3]Xu Xiaoyun, Yan Guozheng, Ding Guoqing. Research on micro hexapod bionic robot and its triangular gait[J]. Optical Precision Engineering, 2002(04):392-396.
[4] Wang Yi. Research and implementation of spiral wheel driven pipeline inspection robot control system [D]. Tianjin University of Science and Technology, 2016.
[5] Li Jiaxiu. Application of football robot based on Arduino platform in RCJ [J]. Internet of Things Technology, 2015.
[6] Mu Xing Ke. Research on multi-legged robot motion control system [D]. Master's thesis of Harbin Engineering University. 2010: 15-16, 18-21.
[7] Li Manhong, Zhang Minglu, Zhang Jianhua, etc. 6 Review of key technologies of foot robots [J]. Mechanical Design, 2015, 10: 1-8.
[8] Liu Weihua. Research on walking gait planning method of hexapod robot based on CPG network[D ]. Harbin Institute of Technology, 2013.
[9] Chen Chaoxiang, Hu Qideng. Solid Works Motion Simulation Tutorial [M], Beijing: Machinery Industry Press, 2014.
[10]Waheid Gharieb Ali, A semi-autonomous mobile robot for education and research, Journal of King Saud University - Engineering Sciences, Volume 23, Issue 2, June 2011, Pages 131-138, ISSN 1018-3639.
[11]S. Youssefi, S. Denei, F. Mastrogiovanni, G. Cannata, A real-time DATA and processing acquisition framework for large-scale robot skin , Robotics and Autonomous Systems, Volume 68, June 2015, Pages 86-103, ISSN 921-8890.
[12]Micael S. Couceiro, Patricia A. Vargas, Rui P. Rocha, Bridging the reality gap between the Webots simulator and e-puck robots, Robotics and Autonomous Systems, Volume 62, Issue 10, October 2014, Pages 1549-1567, ISSN 0921-8890.
[13]Lu Xiaotian, Li Yongquan. Research on BrodcastReceiver registration method in Android [J]. Computer Knowledge and Technology, 2015,10:41-42,46.
[14] Zhang Lei. Research on 3G intelligent robots [J]. Information and Communications, 2011,03:45-46.
[15] Wang Guobiao, Chen Diansheng , Chen Kewei et al. Research status and development trends of bionic robots[J]. Journal of Mechanical Engineering, 2015,13:27-44.
[16] Zhang Na. Android system architecture research and application [D]. Xi'an University of Science and Technology, 2013.
[17]Kim JY.Dynamic balance control algorithm of a six-legged walking robot. Journal of Intelligent & Robotic Systems, 2015,78(1):47-64.
[18] Zhang Jianbin, Song Ronggui, Chen Weihai, Zhang Guangping. Optimization of cockroach robot mechanism parameters based on motion flexibility [J]. [27]Aghelin M, Qu L, Nestinger S SHe Ro: Scalable hexapod robot for maintenance, repair, and operations [J]. Robotics and Computer-Integrated Manufacturing, 2014, 30: 478-488. [26] Qin Xiansheng, Zhang Xuefeng, Tan Xiaoqun, et al. A review of research on mammalian legged robots [J]. China Mechanical Engineering, 2013, 24(6): 841-851. [25] Song Mengjun, Zhang Jianhua, Zhang Minglu, etc. Research on the Jacobian matrix of the legs of new variant mobile robots [J]. Mechanical Design, 2013, 30(3): 21-25. [24] Xu Kun, Ding Xilun, Li Kejia. Analysis of step length and stability of three typical walking gaits of a six-legged robot with circumferential symmetry [J]. Robot, 2012, 34(2): 231-241. [23] Yang Yong. Research on embedded control system of six-legged disaster reduction and rescue bionic robot [D]. Nanjing Forestry University, 2012. [22] Li Shuo, Hou Panfeng, Miao Huiru. Research status based on micro bionic robots [J]. Science and Technology Wizard. 2011(24):43 . [21]Kazi M, Chiang JY, Wei KT. Image-based method for determining better walking strategies for hexapods. International Journal of Advanced Robotic Systems, 2015, 12(58):70-71. [20]Xiong XF, Florentin W, Poramate M. Neuromechanical control for hexapedal robot walking on challenging surfaces and surface classification. Robotics and Autonomous Systems, 2014,12 (62):1777-1789. [19] Li Jie. Mechanism design and motion simulation of large-scale hexapod bionic platform robot [ J]. Mechanical Engineer, 2014.
Journal of Beihang University, 2010, 36(5): 513-528.









[28]Pratihar D K,Deb K,Ghosh A. Optimal path and gait generations simultaneously of a six-legged robot using a GA-fuzzy approach[J].Robotics and Autonomous Systems,2012,41(1):1-20.
[29]Rossi C,Savino S.Robot trajectory planning by assigning positions and tangential velocities[J].Robotics and ComputerIntegrated Manufacturing,2013,29(1):139-156.
[30]Zhang H,Liu Y B,Zhao J,et al.Development of a bionic hexapod robot for walking on unstructured terrain[J].Journal of Bionic Engineering,2014(11):176-187.

Appended 录
Main sequence:
Omitted


5. Resource download

The source code and complete paper of this project are as follows. Friends in need can click to download. If the link does not work, you can click on the card below to scan the code and download it yourself.

serial number A complete set of graduation project resources (click to download)
Source code of this project Design and implementation of hexapod robot control system based on STM32+JAVA+Android (source code + documentation)_STM32__hexapod robot control system.zip

Guess you like

Origin blog.csdn.net/m0_66238867/article/details/131127578