With the development of artificial intelligence and sensor technology, robots have entered people's daily life from the structured environment of factories. Robots can not only complete tasks autonomously, but also collaborate with people to complete tasks or complete tasks under the guidance of people [1]. Home service robots are an important part of smart home systems [2] and play an increasingly important role in our lives. At present, most home service robots do not have walking functions or only have simple obstacle avoidance capabilities. Many robot researches rely on simulation implementation, but the actual situation and simulation results may be very different. Some researches have also complicated the problem and taken more detours.
In view of the shortcomings of current home service robots and the requirements of modern intelligent service robots, this paper proposes a design scheme for a home service robot system based on STM32. This scheme simulates the smart home environment, simplifies the positioning method, and effectively utilizes the low-cost and low-power characteristics of ZigBee technology [3]. A wheeled robot of appropriate size is designed for experiment. The experimental results show that the robot can achieve the expected goals and demonstrate strong autonomous decision-making ability.
1 Overall system design
The entire home service robot system is mainly composed of four parts, including a simulated smart home environment covered with RFID smart floors, a mobile wheeled robot, an XBee coordinator and a host computer.
The smart home environment is designed to be 3.25 meters long and 2 meters wide, covered with RFID smart flooring, divided into two rooms, the kitchen and the living room, with a door in the middle of 0.3 meters wide. The kitchen has appliances such as sinks, shelves, and smart refrigerators, and the living room has dining tables and chairs. The arrangement information of the RFID smart flooring provides accurate positioning for the robot. The wheeled robot is responsible for transporting items to the service object between the kitchen and the living room, and is the core part of the entire system. The XBee coordinator is a wireless transmission module based on ZigBee technology, which is responsible for fast and stable data transmission. The host computer is mainly responsible for receiving and processing data and issuing control instructions.
2 System working principle and process
The main workflow of the system is as follows: the host computer inputs the task command, which is sent to the wheeled robot through the XBee coordinator. After receiving the task command, the robot starts from sleep mode, reads the RFID positioning information of the smart floor, and uploads the real-time position information to the host computer to display the robot's motion trajectory. The robot detects its own posture and surrounding obstacles through the sensor module, makes autonomous decisions to move to the target position to grab items, and transports them to the final target position for the service object to use. Among them, the wheeled robot is the focus of the entire system design.
2.1 XBee Coordinator Workflow
The XBee coordinator is the first XBee network node to be started. It mainly completes the networking function of the XBee network and the data receiving and sending functions. The networking function includes the establishment of the XBee network and the access of sub-nodes to the network.
First, after the XBee coordinator is powered on and reset, all modules including hardware and software are initialized. Then, it starts to scan channels, perform energy detection, select channels, and select the appropriate PAN ID. After success, the network ID and channel are broadcast, and the XBee network is established. After that, the XBee coordinator enters the listening state, waiting for the child node to send a network access request signal. After receiving the network access request, the coordinator allows the child node to access the network and assigns a network short address to the child node, thus realizing the node's network access function. Finally, the XBee coordinator sends the host computer data to the child node RF module, starts the wheeled robot, and after receiving the data request from the child node, it transmits the received data to the host computer through the serial port line. This is the data transceiver function.
2.2 Wheeled robot workflow
The wheeled robot is a task execution device that travels back and forth between the kitchen and the living room, accurately and efficiently executing various command tasks sent by the user object, and sending the robot coordinate data to the XBee coordinator to perform the following work.
First, the XBee module on the wheeled robot needs to be initialized and send a network access request to achieve node access. Then, the XBee module receives the task command data transmitted by the XBee coordinator, and the main board initializes each sensor module. The RFID card reader reads the coordinate data of the smart floor and sends it to the XBee coordinator. The electronic compass obtains the current posture information of the robot. The infrared sensor detects the distance of obstacles in the robot's environment, and the main board controls the start of the mobile wheel composed of two continuously rotating left and right servos. The robot plans the path through autonomous decision-making, moves to the target position, and starts the robotic arm to grab the object. The robotic arm consists of multiple angle servos. While the robotic arm keeps grabbing the object, it plans the path again to move to the final location, and the robotic arm accurately places the object at the target position. After completing the task, the robot returns to the starting position and enters sleep mode.
3. Key link design
3.1 Robot hardware structure design
The wheeled robot adopts the modular design principle, making the robot design modular and adopting hierarchical control, which is conducive to the comprehensive performance [4]. The robot system is divided into five parts: main board, sensor module, wireless radio frequency module, steering gear module and power module. The structural block diagram of the wheeled robot is shown in Figure 1.
3.1.1 Motherboard
The mainboard is designed for the wheeled robot and uses the STM32F103VCT6 processor with ARM Cortex-M3 core. The mainboard resources include SDRAM, NAND Flash, UART interface, GPIO interface, SPI interface and JTAG interface. Auxiliary resources include USB interface, timer, etc.
The design of the mainboard specifically provides interfaces for the RF module, sensor module and robotic arm module, which simplifies the circuit structure, makes the controller more integrated, and runs more stable and efficient, thereby saving hardware costs.
3.1.2 Sensor Module
The sensor module consists of a sensor and a corresponding signal conditioning circuit. The sensors used by the wheeled robot include infrared sensors, electronic compasses, and RFID readers. According to the accuracy requirements for detecting the distance of obstacles during the movement of the wheeled robot, the infrared sensor model used is Sharp GP2D12, which is installed in the front, left front, right front, left, and right of the robot. The electronic compass uses the HMC5883L three-axis electronic compass in the GY-80 nine-axis module, which can measure accurate azimuth values in complex environments and has strong anti-magnetic interference capabilities. The RFID reader uses the low-frequency band 28140 reader from Parallax, which can read 125kHz tags.
3.1.3 RF Module
The RF module is the main module for communication between devices and is responsible for data transmission of the entire network. The RF module uses the XBee wireless transmission module based on ZigBee technology. This module has a large coverage area and is easy to configure. It is a good choice for robot communication networking.
The XBee coordinator consists of an XBee wireless module and an XBee USB adapter board. The XBee USB adapter board is specially designed for the XBee wireless module. By using this module, you can use the matching X-CTU software on a PC to configure the XBee wireless module and monitor serial communication. The XBee coordinator communicates with the host computer via a USB cable.
3.1.4 Servo module
The servo module is divided into a robotic arm servo and a mobile wheel servo. The robotic arm is composed of an angle servo and a metal rod. Five angle servos form a five-degree-of-freedom robotic arm, and the size matches the smart home environment. To ensure the accuracy of the robotic arm movement, HS-322HD angle servos are used. The mobile wheel servo uses a Parallax continuous rotation servo.
3.1.5 Power Module
Different power supply modes are used according to the different working occasions and characteristics of each component. The wheeled robot uses a battery-powered mode, while the XBee coordinator must always remain in working state, so the host computer USB power supply mode is used. The power module is connected to the mainboard, and the mainboard has interfaces for the sensor module, RF module and steering gear module, and the sensor module, RF module and steering gear module are powered through the interfaces. Since the RFID reader has high current requirements, the mainboard and RFID reader are powered by dual power supplies separately.
3.2 Robot software design
3.2.1 Drive control design
The drive control design includes the initialization of each module, the communication between modules and the host computer software design. This paper uses MDK-ARM, which is compatible with STM32F103VCT6, as the development environment to complete the initialization and communication of each module. The host computer software is developed using VC++. The specific functions and workflows of each module software have been introduced in the working principle and process of the system, so they will not be described here.
3.2.2 Path Planning
Path planning can be mainly divided into global path planning and local path planning. The former refers to the robot planning a collision-free optimal path from the initial position to the target position when the environmental information is completely known; the latter requires considering local specific conditions to make path adjustments because the environmental information is unknown [5].
During the robot's movement, the electronic compass is used to adjust the robot's posture, that is, to adjust the forward direction and try to find the fastest path to the target position. The robot's posture adjustment mainly depends on the distance between the current position and the previous position and the target position, including the lateral distance and the longitudinal distance. If the lateral distance and longitudinal distance between the current position and the target position are less than or equal to the lateral distance and longitudinal distance between the previous position and the target position, respectively, it indicates that the distance between the robot and the target position is gradually decreasing and the robot is moving towards the target position. Otherwise, it means that the robot is not moving along the expected trajectory and needs to adjust its posture again. The posture adjustment diagram is shown in Figure 2.
Local path planning includes obstacle avoidance, oscillation position analysis, door position search, and door-passing strategy analysis. During the robot's movement, it needs to continuously detect the surrounding environment to better decide the next action. The data from the five infrared sensors enables the robot to always understand the surrounding environment. Obstacle avoidance requires the robot to reasonably avoid obstacles and move to the target location.
Oscillating position means that the robot cannot pass through a certain position smoothly, but repeatedly walks back and forth near this point. If the starting position and the target position are in two rooms respectively, under the guidance of the global path planning idea, the robot will keep wandering near the common wall of the two rooms. The schematic diagram of oscillating position analysis is shown in Figure 3.
When the robot reaches the oscillation position, the path planning strategy needs to be adjusted. At this time, the global path planning strategy is abandoned, and the common wall is directly used as the reference wall to search for the door. The basic rule of the wall-walking algorithm is: when the robot is getting closer to the wall, the speed difference between the two wheels needs to be adjusted to make the robot move in the direction away from the wall; when the robot is getting away from the wall, the speed difference between the two wheels needs to be adjusted to make the robot move in the direction close to the wall. The result of the comprehensive adjustment is that the robot's forward trajectory is a quasi-sine curve with the reference line as the axis. The wall-walking trajectory is shown in Figure 4.
Passing through a door is an essential step for the robot to complete its mission. How to ensure that the robot passes through the door smoothly is the key to the success of the mission. When the robot is preparing to pass through the door, it is not facing the door directly, but may be tilted to the left or right to varying degrees. According to the degree of tilt, the robot detects the corresponding infrared sensor distance value and continuously adjusts the robot's posture so that the robot faces the door directly and passes through smoothly.
4 Conclusion
The home service robot system designed in this paper proposes a detailed and feasible solution for the demand tasks of the service objects in the smart home environment. The entire system applies mainstream wireless communication technology based on XBee modules to ensure the data transmission rate. In addition, the modular design of the wheeled robot has the characteristics of simple structure and stable performance, which greatly improves the reliability of the home service robot and reduces the hardware cost of the system. Path planning in the autonomous decision-making process enables the robot to move quickly along the most suitable route. In short, this design system provides a reference method for solving problems related to home service robots.
references:
[1] Guo Fuqin. The development and application of domestic service robot technology[J]. Science and Technology Innovation Herald, 2012(24): 24-25.
[2] Yang Shiyuan. Digital Home Network Technology and Applications[M]. Beijing: Electronic Industry Press, 2002
[3] Li Hao. Wireless network technology and application based on ZigBee [J]. Information Technology, 2008(1): 12-14
[4] Ying Peng, Gong Chen. Design of hardware system for open multi-sensor mobile robot[J]. Machine Tool & Hydraulics, 2009, 37(7): 137-140
[5] Li Qiang. Research on path planning of home service robot[D]. Baotou: Inner Mongolia University of Science and Technology, 2012
Previous article:Design of home service robot system based on STM32
Next article:How to use the right method to make your home WiFi more secure?
- Popular Resources
- Popular amplifiers
- These exhibits at the Zhuhai Air Show are eye-catching
- Mir T527 series core board, high-performance vehicle video surveillance, departmental standard all-in-one solution
- Akamai Expands Control Over Media Platforms with New Video Workflow Capabilities
- Tsinghua Unigroup launches the world's first open architecture security chip E450R, which has obtained the National Security Level 2 Certification
- Pickering exhibits a variety of modular signal switches and simulation solutions at the Defense Electronics Show
- Parker Hannifin Launches Service Master COMPACT Measuring Device for Field Monitoring and Diagnostics
- Connection and distance: A new trend in security cameras - Wi-Fi HaLow brings longer transmission distance and lower power consumption
- Smartway made a strong appearance at the 2023 CPSE Expo with a number of blockbuster products
- Dual-wheel drive, Intellifusion launches 12TOPS edge vision SoC
- Intel promotes AI with multi-dimensional efforts in technology, application, and ecology
- ChinaJoy Qualcomm Snapdragon Theme Pavilion takes you to experience the new changes in digital entertainment in the 5G era
- Infineon's latest generation IGBT technology platform enables precise control of speed and position
- Two test methods for LED lighting life
- Don't Let Lightning Induced Surges Scare You
- Application of brushless motor controller ML4425/4426
- Easy identification of LED power supply quality
- World's first integrated photovoltaic solar system completed in Israel
- Sliding window mean filter for avr microcontroller AD conversion
- What does call mean in the detailed explanation of ABB robot programming instructions?
- Vicor high-performance power modules enable the development of low-altitude avionics and EVTOL
- Chuangshi Technology's first appearance at electronica 2024: accelerating the overseas expansion of domestic distributors
- Chuangshi Technology's first appearance at electronica 2024: accelerating the overseas expansion of domestic distributors
- "Cross-chip" quantum entanglement helps build more powerful quantum computing capabilities
- Ultrasound patch can continuously and noninvasively monitor blood pressure
- Ultrasound patch can continuously and noninvasively monitor blood pressure
- Europe's three largest chip giants re-examine their supply chains
- Europe's three largest chip giants re-examine their supply chains
- Breaking through the intelligent competition, Changan Automobile opens the "God's perspective"
- The world's first fully digital chassis, looking forward to the debut of the U7 PHEV and EV versions
- Free application: Erha image recognition artificial intelligence vision sensor (using K210, 1000 times faster than STM32H743)
- Choosing the Correct Thermistor for Your Temperature Sensor
- How to fix the program to FLASH in C6455 DSK of DSP C6000 series
- EEprom write speed is slow
- CircuitPython 7.0.0 released
- PCB layout
- About the test of power supply Wenbo
- [N32L43x Review] 3. Using serial port receive interrupt and idle interrupt to realize variable length data reception
- EEWORLD University - Understand the basic technology of power density
- RedMonk's 20 most popular programming languages in June 2020