INTRODUCTION
Overview
As our country advances in socio-economic development, it is transitioning from an agricultural economy to one characterized by industrialization and modernization, with modern technologies being increasingly adopted across various sectors This shift significantly boosts the service industries, particularly the food and beverage (F&B) sector, which has seen remarkable growth due to economic integration policies The emergence of delivery robots in restaurants and shops, similar to those in China and Japan, enhances customer experience while promoting access to advanced technology Consequently, this trend fosters the growth of science and technology within the F&B industry, both globally and domestically.
Overview of Service Robot
According to the International Organization for Standardization (ISO), a "service robot" is defined as a robot that assists humans by performing useful tasks Unlike industrial robots that focus on automating production processes, service robots are designed in various forms and roles to adapt flexibly to different tasks and situations, ultimately enhancing customer service and providing effective assistance to people.
Service robots are designed to operate autonomously or semi-autonomously, allowing them to interact with humans to accomplish various tasks These versatile robots are utilized across multiple industries, including retail, hospitality, healthcare, security, warehousing, agriculture, and more, effectively handling both routine and high-risk jobs.
Contactless delivery is rapidly gaining popularity, particularly highlighted by Venezia's pizzeria in Arizona, which, like many local restaurants, faced challenges during COVID-19 lockdowns.
Starship Technologies, a US company, has introduced 11 delivery robots to enhance Venezia's delivery service These driverless vehicles transport pizzas on covered pallets directly to households in the neighborhood, offering a "contactless" delivery option This innovative service is increasingly popular among customers, especially during the pandemic.
Starship Technologies has reported a significant surge in demand for contactless delivery in recent weeks Their delivery robots are actively operating in Washington, D.C., providing food delivery services to consumers, while in Southern California, they have been successfully delivering milk tea since late March.
Self-driving car services delivering within a one-mile radius to consumers' homes are gaining traction in the US and beyond, particularly as a measure to curb the spread of the virus.
While the advancement of technology suggests that robots will become more prevalent in various industries, it is improbable that they will fully replace humans in the near future As robotic solutions become more cost-effective to implement and maintain, we can expect a shift in the workforce dynamics within the restaurant industry.
The computational management process in restaurants can be streamlined by reducing reliance on human staff, especially as many employees are part-time, leading to instability and inconsistent service quality Implementing robotic solutions allows restaurant owners to proactively address service challenges and enhance customer satisfaction.
Research situation
The development of science and technology has received more and more attention from most countries in the world The 4.0 races continuously broke out to be able to h
The advancement of science and technology is increasingly evident across various sectors, enhancing everyday life from households to military applications Additionally, the growth of service industries worldwide is noteworthy, with significant innovations in research and information management within restaurants, hotels, hospitals, and educational institutions Particularly in the food service industry, modern technologies are revolutionizing both food preparation and customer service.
Figure 1.2 Service robots at restaurants [2]
Figure 1.3 Sacarino Service Robot in a Hotel Environment [3]
In our country today, there are also many restaurants and eateries that apply automatic technologies in the operation process The famous hot pot restaurant h
The Kichi Kichi conveyor belt restaurant in Ho Chi Minh City features an innovative system where hot pot side dishes are automatically delivered to customers via a long conveyor belt Additionally, the Ho Chi Minh City University of Technology and Education is renowned for its Synary coffee shop, which showcases a serving robot Many other restaurants are also beginning to integrate science and technology into their operations As a result, the use of robots in the restaurant and catering industry remains a highly engaging topic for researchers, engineers, and students alike.
Reasons for choosing topic
In today's fast-paced world, people's leisure activities increasingly involve dining out and socializing at restaurants, bars, and shopping centers, especially during weekends and holidays The rise of modern technology, particularly robots, has captured public interest, as seen in numerous social media posts showcasing robotic innovations As our country advances economically and technologically, various types of robots are being developed for applications in daily life, including massage, medical support, and cargo transport Notably, the restaurant and food service industry is embracing robotic solutions to enhance customer experiences A delightful meal not only brings joy but also fosters connections among family and friends To create a more enjoyable dining atmosphere, the idea of integrating robots into restaurant services is gaining traction, promising a unique and engaging experience for patrons.
Objectives of the topic
The development of restaurant service robots involves extensive research and design to bring them to life, enabling them to self-locate and navigate efficiently to designated areas These robots are equipped with a pre-designed voice communication interface to interact with customers effectively Additionally, advancements in controlling a multi-robot distributed system allow these autonomous units to communicate and share data seamlessly while operating in a restaurant environment By integrating artificial intelligence, the communication between customers and the restaurant is enhanced, significantly reducing the workload of service staff and improving the accuracy of food ordering and serving.
Research Methods
The research methodology employed by the team integrates document analysis, theoretical foundations for design and fabrication, and experimental evaluation In addition to academic knowledge, the team reviewed various documents pertaining to the food and beverage industry and service robots, both domestically and internationally They also conducted practical surveys to observe waitstaff operations in restaurants, aiming to design a user-friendly robot that effectively serves as a waiter.
Limit of topics
This article emphasizes the design, manufacturing, and movement control of robots to achieve optimal positioning An ideal working environment for these robots is one with minimal human presence and obstacles, ensuring smooth and efficient movement.
THEORETICAL BASIS
Overview
Designing a restaurant waiter robot requires a comprehensive understanding of restaurant operations and the role of a waiter By analyzing these elements, developers can create functions for the robot that align with the specific needs of the dining environment.
Definition of service robot
A service robot, designed to assist humans, is utilized across a wide range of tasks, from simple to complex These robots are particularly valuable in remote, hazardous, and dirty jobs that pose risks to human health Additionally, service robots are effective in handling repetitive tasks and daily household chores, enhancing efficiency and safety in various environments.
The benefits of using Robots to serve humans:
• Bring more convenience to business establishments, reduce the cost of hiring human resources and management costs
• More secure and will not affect human health, as well as create the best work efficiency
• Makes it do the job faster, smarter, handle more diverse situations in the service industry.
Definition of Distributed System
A Distributed Control System (DCS) is a computerized control system designed for managing processes or plants with multiple control loops, where autonomous controllers are spread throughout the system without a central supervisory control Unlike centralized systems that rely on discrete controllers in a control room or central computer, DCS enhances reliability and lowers installation costs by localizing control functions near the process plant while allowing for remote monitoring and supervision.
A distributed system, often referred to as distributed computing or distributed databases, consists of independent components situated on various machines that communicate through message sharing to accomplish shared objectives.
A distributed system presents itself to the end-user as a unified interface or single computer, aiming to optimize resources and information collaboratively.
7 while preventing failures, as if one system fails, it won't affect the availability of the service
The most important functions of distributed computing are:
• Resource sharing - whether it’s the hardware, software or data that can be shared
• Openness - how open is the software designed to be developed and shared with each other
• Concurrency - multiple machines can process the same function at the same time
• Scalability - how do the computing and processing capabilities multiply when extended to many machines
• Fault tolerance - how easy and quickly can failures in parts of the system be detected and recovered
• Transparency - how much access does one node have to locate and communicate with other nodes in the system
Modern distributed systems have evolved to include autonomous processes that might run on the same physical machine, but interact by exchanging messages with each other.
Robot Knowledge and Dynamics
2.4.1 Kinematics of the Robot Platform
A mobile robot's kinetic model is represented by a system of equations that enables the prediction of its position and direction along its orbit, facilitating control over its movements These movements can be categorized into translational and rotational motion, with translation referring to the displacement of the robot's center and rotation involving the vehicle's axis The fundamental component of any mobile robot is the wheel, with key kinematic parameters including wheel radius, wheel axle length, and center of gravity A simplified kinematic model, comprising 2 degrees of freedom (DoF) and 3 wheels, including 2 driving wheels, provides a basic framework for understanding mobile robot motion.
1 self-selecting passive wheel (caster) The wheel configuration is completely described by 4 variables: position coordinates (x, y) on the plane relative to the fixed axis system, h
The angle of rotation of the wheel, denoted as θw, is measured relative to the x-axis and represents the angle formed between any radial line and the vertical axis Additionally, r refers to the radius of the wheel.
To simplify the calculation of moving components, we consider a non-slip rotating vertical disc as the wheel This is represented by four variables in a coordinate system, indicating its position (x, y) on the plane relative to a fixed axis system, along with the wheel's rotation direction for each axis in the Oxy plane With slip effectively controlled, the vehicle speed adheres to specific regulations.
The position of the robot's center is represented by the reference axis system (x, y,
In this context, x and y denote the robot's position, while θ represents its orientation concerning the reference axes The robot operates on a two-dimensional plane, characterized by linear and angular velocities, which can be expressed as a vector: q = [x, y, θ].
The robot's trajectory is influenced by two differentially active motors, allowing it to move in a straight line or follow a defined arc based on the wheel's bound velocity The robot's state is characterized by its position and direction, determined by the speeds of the two drive wheels (x, y, θ, ωl, ωr) The control programmer specifies the straight and angular velocities (ω) for the left and right wheel angular velocities, enabling precise movement control.
The kinematic model of a robot is based on its movement dynamics over time, allowing for the prediction of its position and direction from initial values By analyzing wheel speed and direction, the model determines the robot's position and motion Each component of the robot is represented in a 2D Cartesian coordinate system, where its location is defined on a global reference axis (X, Y) using the center of the wheel hub and an angle θ A rotation matrix facilitates the plotting of the robot's movement trajectory in the global system by incorporating rotation around the z-axis.
The robot's velocity can be predicted using the rotational speed of its left and right wheels, the wheel radius, and the distance from the robot's center to the wheels With differential wheel movement, the fixed drive wheels ensure that positive rotation results in positive displacement around the axis The constraints of rolling and sliding for standard wheels enable simultaneous translation and rotation of the robot To maintain pure rotational motion and avoid slippage, the robot must rotate around the instantaneous center of rotation (ICR), located on the line connecting the two wheels As the speed of the wheels changes, the ICR shifts, altering the robot's trajectory.
The long speed of the platform in the base model is calculated as the average speed of its two wheels, while the robot's actions are influenced by the control variables v and ω.
The action of the robot depends on the control variables v and cos sin 2 cos sin 2 l r v l x v l y
Robot movement can be described with two modes, pure rotation and pure translation Newspaper travel paths consist of circular arcs with distinct radii and h
The robot utilizes 10 rotation angles combined with straight tangent lines to ensure smooth operation and prevent abrupt stops By employing curves and straight tangent lines, the robot maintains continuous movement To effectively control its trajectory, the fuzzy controller computes the linear and rotational velocities, denoted as v and θ.
In general, we can describe the position of the robot based on its velocity in each instantaneous time interval Ꝋt: x(t) = ∫ 𝑉(𝑡)𝑐𝑜𝑠Ꝋ(𝑡)𝑑𝑡 0 𝑡 (2.8) y(t) = ∫ 𝑉(𝑡)𝑠𝑖𝑛Ꝋ(𝑡)𝑑𝑡 0 𝑡 (2.9)
Given the special case of the differential wheel robot as done, the formula becomes: x(t) = 1
𝑙∫ [𝑣 0 𝑡 𝑟 (𝑡) − 𝑣 𝑙 (𝑡)]𝑑𝑡 (2.13) From there we can calculate the position of the robot through the instantaneous velocity of each wheel
Controlling a robot involves creating a precise movement path that the motion controller must follow accurately The robot's two drive wheels are independently powered by motors, while a self-aligning wheel helps maintain balance on flat surfaces For dynamic calculations, the movement of the self-aligning wheel can be disregarded The mobile robot model is illustrated in Figure 2.2, where 'l' indicates the distance between the two wheels and 'r' represents the wheel's radius.
We have 2 kinematics: no horizontal and vertical sliding between the wheel and the platform According to these two constraints, the robot can be described as follows:
The coordinates of the robot center are represented as (x C , y C ), with θ denoting the angle between the robot's direction and the x-axis Additionally, φ l and φ r indicate the rotation angles of the left and right wheels, respectively The kinetic equation governing the movement of the wheeled mobile robot can be expressed accordingly.
It is suitable to represent the dynamic equation of motion with internal velocity When the robot is the goal of nonholonomic control then:
DESIGN OF MECHANICAL SYSTEM
Overview
As mobile robots continue to advance rapidly, the design of restaurant robots requires a systematic and synchronized mechanical process that aligns with initial objectives while facilitating the installation of electrical components and control systems A key challenge in this project is navigating around physical obstacles such as tables and chairs Therefore, precise mechanical design is essential for achieving optimal performance and efficiency in restaurant environments.
Design option
Determining the problem is that we need to design a device with the following functions as analyzed in Chapter 1:
The robot features a self-propelled movement capability, allowing it to navigate flat surfaces commonly found in environments like restaurants, cafeterias, and homes This functionality positions it as a mobile robot designed specifically for seamless movement on level ground.
Function 2: The restaurant service robot interacts through the touch screen with a menu-shaped graphic interface, possibly accompanied by audio instructions Interactive screens must be able for customers - staff / users to easily observe and communicate with activities such as: presenting menus, being able to give analysis and advice on dishes to customers, communicating customer information to order inside
Function 3: The mobile robot is capable of transporting the ordered dishes, besides it can transport drinks and other desserts
Transportation of food and water
Function 4: The robot must operate independently of the managed and monitored energy source.
Requirements in mechanical design
To achieve a distinctive design for the serving robot, it is essential to incorporate features such as menu viewing and user communication while adhering to size constraints Proper arrangement of supporting peripherals like touch screens, microphones, and sensors is crucial for meeting design requirements and ensuring operability A robust mechanical structure will not only support the robot's weight but also enhance its flexibility and accuracy.
In designing the self-propelled robot, it is essential to translate the problem requirements into functional specifications The robot should have an aesthetically pleasing and user-friendly exterior, with a height ranging from 1.2 to 1.6 meters and an interactive screen positioned for optimal customer viewing It must weigh less than 60 kg for easy mobility across various locations The structural ribs should provide firmness, compactness, and facilitate easy disassembly and repair, with aluminum chosen for the outer frame Additionally, the robot must operate independently on electrical energy stored in a battery, ensuring a runtime of 8 to 10 hours Its dimensions and functional components should align with Vietnamese anthropometry, ultimately enabling the robot to efficiently deliver and serve food to customers.
Matrix of ideas to determine the design option
Based on functional analysis, we have identified various design options for each sub-function, as outlined in Table 3.1 The moving platform allows for multiple self-propelled motion methods, including wheel movement, leg movement, and flying movement, resulting in four options for adjusting the screen's interactive orientation Additionally, the robot is designed to transport food and water, necessitating at least one compartment for proper storage The four proposed options for the container's placement include mounting it on the pedestal, integrating it within the pedestal, allowing it to move with the pedestal, or utilizing drawer storage For optimal design and space efficiency, the team selected the option of placing the container above the pedestal.
The movable platform ensures that food and water remain independent and unaffected by the movement of equipment It features a charging function with four options available, allowing users to select the most suitable choice based on their specific needs, as detailed in Table 3.1.
Table 3.1 Matrix of Design Ideas Matrix of Design Ideas
Moving platform differential transmission sprocket-wheel Multi-directional scroll wheel
Permanent turn Rotate and translate
Attached to the pedestal Drag the system Drag from the pedestal
Charger Charging through the station
Wireless charging Wiring in operation Replace batteries
With 4 functions and 4 ideas for each function, we can combine them into 44 design options However, with the weights set in the design with the design requirements set out in the above section in order to meet the reasonable price, moderate size, flexibility,
The design features a moving platform with two degrees of freedom, driven by two wheels with differential active control, alongside two self-selecting wheels A fixed screen is incorporated to maintain stability and prevent damage to equipment, allowing the robot to interact with various customers The power supply relies on a battery to ensure prolonged operation, with users able to charge it daily for stable battery life While wireless charging options exist, they are costly, and the impracticality of cord management in large environments makes battery replacement challenging without technical assistance.
Design of the movable pedestal
The design pedestal is shown in (Figure 3.2) Made of aluminum alloy to minimize the weight of the robot while ensuring the rigidity of the entire structure
The moving platform of the robot is divided into three floors (Figure 3.2):
Figure 3.2 Moving platform Floor 1: Because it is the lowest floor, it is responsible for containing the motor and actuators
Floor 2: Because the program computer as well as the central controller are quite complicated, the battery will be left on the second floor
Floor 3: Contains the central controller and the entire control circuit
A mobile robot on wheels is a mechanical device capable of navigating its environment with two fixed degrees of freedom To optimize the robot's platform area and enhance space efficiency, we have selected belt transmission as the preferred method.
In the initial design phase, the team established essential requirements for the robotic platform, opting for a differential wheel system that utilizes a two-wheel drive with independent actuators for each wheel This configuration necessitates only two motors, one for each steering wheel, typically connected directly to the motor with an internal reducer Following thorough research and evaluation, the team finalized the transmission diagram and created a simulation of the pedestal using specialized software.
CHAPTER 4: ENGINE SELECTION CALCULATION AND TRANSFER
Overview
To ensure stable system operation, it is essential to calculate parameters that align with functionality and affordability while meeting user needs This chapter outlines the theoretical basis for parameter calculations, facilitating the selection of suitable components based on specific requirements.
Calculation of engine selection
- Number of revolutions of the wheel:
- Force acting on one wheel:
+ Friction force on one wheel:
+ According to Newton's second law, for the car to move: Fk - Fqt - Fms > 0
=> Fk > Fqt + Fms = 1,25 + 122,625 = 123,875 (N) (4.5) Choose the required force Fk = 150 (N)
- The drive mechanism is arranged as shown below (belt drive) h
We have: + 𝜂 đ = 0,96 : Belt drive efficiency
+𝜂 𝑜𝑙 = 0,99 : Transmission efficiency of 1 pair of bearings
Mechanical transmission system with belt drive we choose usb = uđ = 1
Transmission Ratio Distribution
Number of revolutions through the impeller: n1 = 𝑛 đ𝑐
Power through the working shaft:
Table 4 2 Table of calculation results
Belt transmission
+ Power on the drive shaft: Pđc = 55,56 (W)
+ Number of revolutions on the drive shaft: ndc = 2500/62,5 (rpm)
+ Transmission ratio of belt drive: ud = 1
+ Static load, slight vibration, impact
+ The belt is periodically adjusted to the belt tension
Select belt type and cross-section: Choose to fix the ladder belt with teeth A
Determine the diameter of the small pulley:
Determine the axis distance a and belt length L: h
- We preliminarily choose the shaft distance a based on the gear ratio ud and the diameter of the pulley d2
Therefore uđ = 1 so choose the ratio a
We choose the standard belt length as: 𝐿 = 254(𝑚𝑚)
Belt life test according to belt laps per second: i = 𝑣
0,254 ≈ 0,28 (time/s) ≤ imax = 10 (time/s) (4.20) Calculate the exact 𝑎 - axis distance according to the standard L:
Calculate the force acting on the belt drive:
But 𝐹 𝑣 = 𝑞 𝑚 𝑣 2 (periodically adjust the tension), with 𝑞 𝑚 = 0,105(𝑘𝑔/𝑚)
- Select Kd = 1,2 (due to 2 shift working mode, light impact load)
- Force acting on the shaft:
Calculation and testing of shafts
Force from belt drive and wheel:
Inside: + Torque I shaft (working): T (N.mm)
+ Radius of belt divider: r (mm) + Vehicle mass: m (kg)
+ Gravity acceleration: g (m/s 2 ) Choose: l1 = 30 (mm) l2 = 40 (mm) l3 = 80(mm) T1 = 12606 Nmm
Figure 4.2 Force analysis on transmission Projection on the zOy axis: h
Figure 4.3 Force analysis when projecting on the xOy axis
Projection on the zOx axis:
Hình 0.1 Force analysis when projecting on the zOx axis Figure 0.1 Force analysis when projecting on the zOx axis Figure 4 4 Force analysis when projecting on the zOx axis h
Figure 4.5 Qy and My graph h
Figure 4.6 Qx and Mx graph Diameter of dangerous cross-section B, C:
- Shaft diameter at cross-section at B and C:
So we choose the shaft diameter 𝑑 = 21(𝑚𝑚)
4.5.1 Test shaft for fatigue strength:
+ The axes of the reducer are all rotating, the bending stress changes with the period of symmetry, so according to the formula we have:
+ Because the shaft rotates in one direction, the torsional stress changes with the dynamic circuit period, so according to the formula we have:
+ Based on the shaft structure and the shaft moment chart, we can see that the following sections are dangerous sections that need to be tested for fatigue strength:
Cross-section for mounting the pulley (section 12)
+ Selection of mounting: Rolling bearings are mounted on the shaft according to k6 ; pulley, shaft connection according to k6
+ Determine the coefficients for hazardous sections according to the formula:
Axes are machined on lathes, at required dangerous cross-sections 𝑅 𝑎 = 2,5 ÷ 0,63(𝜇𝑚), so according to table (10.8), stress concentration coefficient due to surface state 𝐾 𝑥 = 1,06
No surface strengthening methods are applied, resulting in a strength coefficient of 𝐾 𝑦 = 1.6 As indicated in table (10.12), when utilizing end mills, the stress concentration coefficient at the keyway for a material with a yield strength of 𝜎 𝑏 = 600 MPa is 𝐾 𝜎 = 1.76 and 𝐾 𝜏 = 1.54.
According to the table (10.10), look up the dimension coefficients 𝜀 𝜎 and 𝜀 𝜏 corresponding to the diameters of the hazardous sections, thereby determining the ratio
𝜀 𝜏 at the keyway on these sections h
According to the table (10.11), corresponding to the selected mounting type,
𝜎 𝑏 = 600(𝑀𝑃𝑎) and the diameter of the hazardous section, the ratio 𝐾 𝜎
𝜀 𝜏 due to tension mounting at these sections, on the base, can be found The facility uses the larger of the two values of 𝐾 𝜎
𝜀 𝜎 to calculate 𝐾 𝜎𝑑 and the larger of the two values of 𝐾 𝜏
Factor of safety considering only normal stress:
The factor of safety considering the shear stress only:
Finally calculate the factor of safety:
So the cross sections on the shaft are safe in terms of fatigue strength
To avoid excessive plastic deformation or failure from sudden overloads, such as during machine startup, it is essential to conduct a static strength test on the shaft.
Cross section at dangerous cross section d = 21 mm
Steel C45: sb = 600 MPA, sch = 360 MPa
Satisfy the condition of stability.
Select bearing
Depending on the working conditions, at the bearing positions only the ring force
Ft and the radial force Fr So at bearings 1 and 2, choose a single row ball bearing
Provided that all rolling bearings are oil-lubricated
On axis I, supports are located at B and D
At B and D: dB = dD = 21 mm
We choose 1000905 ultra-lightweight single row ball bearings with parameters:
Forces acting on the bearing:
Fy11 = 557,19 N Thus, the total reaction on each drive is:
So we test at the drive with a load greater than Fl10 = 2048,4 N
4.6.1 Test drive according to dynamic load capacity
The dynamic load capacity Cd is calculated according to the formula (11.1)
For ball bearings, calculated by the formula: Q = (X.V.Fr +Y.Fa)kt.kđ (4.56)
+ V = 1 coefficients taking into account the revolutions in rotation
+ kt =1 factor taking into account the effect of heat when working θ = 150 o C + kđ = (1÷1,2) factor taking into account the load characteristic
With: Lh life in hours
10 6 = 20,74 (4.58) m = 3 degree of fatigue curve in rolling bearing test (for ball bearings)
So according to table (P2.1), it is reasonable to choose a 306 medium-sized ball bearing
4.6.2 Test drive according to static load capacity:
To prevent residual deformation, ball bearings need to satisfy the following conditions:
With: Qt conventional static load (kN)
Calculated according to the formula: Qt = Xo.Fr + Yo.Fa (4.60)
With: + Xo = 0,6 radial load factor
We choose 1000905 ultra-lightweight single row ball bearings, which is reasonable h
ELECTRICAL-CONTROL SYSTEM DESIGN
Overview
A comprehensive mechatronic system integrates mechanical, electrical, and control components This chapter focuses on the design and calculation of the electrical and control systems for the service robot, following the mechanical system outlined previously The electrical system features a central control computer, a master microcontroller, a slave microcontroller, an actuator system, and a sensor system To enable self-propulsion, the robot processes input signals from ultrasonic sensors and encoders, utilizing peripheral devices that provide appropriate outputs for the self-propelled operation.
Electric power system
5.2.1 Communication between computer-microcontroller and microcontroller- microcontroller
Effective communication between computers and microcontrollers is crucial for control and measurement applications Typically, central computers possess a significantly faster processing speed compared to microcontrollers The central computer serves as the interface for human interaction, transmitting service data to systems such as restaurants and navigation for robots To facilitate communication, a serial communication standard, specifically UART, must be implemented, connecting the computer and microcontroller via the COM port with matching data transmission rates (baud) Additionally, various built-in data types are available within microcontroller families, enhancing their functionality.
USART Universal Synchronous Asynchronous Receiver and Transmitter
2-wire data transmission (I2C: Inter-Integrated Circuit): h
Synchronous serial transmission involves one data line and one clock line, where the master device generates the clock pulse, while the slave device receives it; the data transfer rate is determined by the clock frequency In contrast, asynchronous serial transmission consists of one data transmission line and one data receiving line, operating without a clock signal, hence the term "asynchronous." In this method, both the transmitter and receiver independently generate their own clock signals at the same frequency, commonly referred to as the data rate or baud rate, such as 2400 baud or 4800 baud.
RS232, which stands for Recommended Standard 232, is a widely used serial communication standard for connecting peripheral devices to computers It operates in an asynchronous format and allows for the connection of up to two devices, with a maximum cable length of 12.5 to 25.4 meters to ensure reliable data transmission The standard supports data transfer speeds of up to 20 kbit/s, and in some specialized devices, this can reach 115 kbit/s The RS232 serial interface offers several advantages, making it a popular choice for device pairing.
- High anti-interference ability of serial ports
- Peripherals can be removed even when the computer is powered up
- Simple circuits can receive power supply voltage through series work
- Commonly used standard data rate values: 9600, 19200, 28800, 38400 56600,
➢ RS232 is very suitable for computer communication with microcontrollers h
5.2.2 Communication between actuator microcontroller and sensor
Slave microcontrollers manage two BLDC motors and communicate with a Master microcontroller and PC to relay motor control states They are linked to a sensor block that gathers environmental signals, including data from desks, chairs, and people.
The Master microcontroller has the function of communicating with the central computer block, sending data as a position string to the Slave microcontroller to perform the migration process
Just like humans have senses, the sensor system is the same as the senses in automation systems Therefore, the sensor system plays a very important role
The ultrasonic sensor operates by emitting high-frequency sound waves beyond human hearing, which travel quickly through the air When these sound waves hit a solid or liquid object, they reflect back to the sensor The device then analyzes these reflected waves to accurately calculate the distance to the obstacle.
Figure 5.3 Working principle of ultrasonic sensor [4] h
An encoder, often referred to as a rotary or shaft encoder, is an electromechanical device that translates the angular position or motion of a shaft into an analog or digital output signal It plays a crucial role in detecting motor position, movement direction, and speed by counting shaft revolutions The encoder consists of a circular optical disc with small holes evenly distributed across 360 degrees; the resolution of the encoder is directly related to the number of these holes, with a higher number resulting in improved resolution.
The encoder operates by utilizing a rotating disc with grooves that allow an optical signal (LED) to pass through When the groove is present, light can shine through, and when absent, it cannot This creates a binary yes/no signal indicating whether the LED is illuminated The light receiver sensor continuously turns on and off, generating square pulse signals that are sent to the central processor, which measures and determines the motor's position and speed.
To ensure stable operation and precise speed control of the motors, we implemented two drivers for each motor The control circuit processes data from the computer to calculate and generate the required PWM pulse values.
In restaurant environments, service robots face numerous obstacles, including people and furniture, making obstacle detection essential to prevent collisions that could harm the robot or patrons and diminish service quality Obstacles can be categorized into fixed and movable types Various detection methods exist, such as lidar, cameras, and radar sensors; however, our team opted for ultrasonic sensors due to their resilience against environmental interference, moderate accuracy, and ease of programming on microcontrollers To enhance coverage and minimize interference, we positioned three sensors at the front of the robot, each with a 15-degree angle range, along with three additional sensors to extend detection capabilities This configuration allows the robot to identify obstacles effectively and temporarily halt its movement upon detection.
5.2.7 Design of the center console
The robot features three controllers that alternately assume specific roles within the system The Slave microcontroller manages the sensor structure, while the robot also requires an interface to receive customer data and transmit it to the restaurant's data center Interaction is facilitated through the robot's screen, microphone, and speaker.
Figure 5.5 Structure of control system h
DISTRIBUTED SERVICE ROBOT SYSTEM
Overview
To enhance the application of robotic technology and establish a fully automated working environment, our team is investigating distributed control algorithms This system features three robots, each designed for distinct functions, enabling them to collaborate and share data effectively This chapter will outline the control algorithms implemented within the system.
Proposed Distributed Service Robot System (3 robots)
We propose a distributed control system in restaurant service including a PC server and 3 mobile robots with the following tasks and functions:
Robot 1 (Kiri): welcome customers at the entrance At the same time, display information about available tables on the screen
Robot 2 (Isarine): act as a waiter to help customers order food
Robot 3 (Bella): act as a waiter with the role of bringing food to customers.
Operation procedure of Distributed Service Robot System
Figure 6.1 Distributed service robot system flowchart First, customers choose the available table position displayed on the screen of robot
1 (Kiri) After the customer is directed to the table Robot 2 (Isarine) receives the command from robot 1 (Kiri) At this time, the process of calculating the optimal path h
36 will be created based on the A* algorithm with the current position, the position of table that the customer has selected as inputs
Robot 2, known as Isarine, presents the menu screen to facilitate the ordering process for customers This process involves a voice interaction between the customer and Isarine, allowing for seamless communication Once the customer completes their order, Isarine synthesizes the details of the selected dish and transmits this information to the server PC, also referred to as the Reception PC.
After the chef finishes preparing a dish, the reception staff selects the table for service, and robot Bella utilizes the A* algorithm to navigate to the designated location This system operates continuously as new customers arrive To prevent collisions between robots 1 and 2 during their movement, they constantly exchange positional information to facilitate smooth dodging maneuvers.
Data transmission methods between robots
Bluetooth is a vital short-distance communication technology widely integrated into devices like computers and smartphones It is anticipated to play a crucial role in the development of IoT products, enabling seamless communication between devices and smartphones, which are a dominant force in today's technology landscape.
Bluetooth is primarily optimized for small data transfers rather than large file transfers, making it ideal for modern smartphones, which are essential devices for users today As reported by Bluetooth SIG, over 90% of smartphones now feature Bluetooth technology across various operating systems, including iOS, Android, and Windows, with expectations for them to be "Smart Ready" by 2018.
A socket is a network application programming interface that facilitates data transmission and reception over the internet, enabling two-way communication between programs on a network This communication link, known as a socket, serves as the endpoint for connecting processes, incorporating the Internet Protocol (IP) address and the host or port used for data transmission All applications involved in the data exchange utilize the socket to send and receive information effectively.
A TCP/IP socket serves to identify a unique IP address of a computer or network server, along with its corresponding port number Port numbers, often called hosts, indicate to the receiving computer the destination for the requested data Together, the IP address and port number form a complete socket.
The purpose of the TCP/IP socket is to identify the IP address for a computer or server
A port address is essential for identifying the specific port used for data transmission between devices Each computer has multiple ports for communication, and it's crucial for the computer to indicate the correct port for sending information, especially when certain ports are designated for devices like printers In the context of Internet communication, this could refer to an Ethernet port linked to a particular device or the port address of a server that connects multiple individual computers.
A computer socket, specifically a TCP/IP socket, enables communication between two devices by providing essential instructions for data transmission It utilizes an IP address and port number to direct the requested data to the appropriate receiving computer, while also establishing a common protocol for interaction between the machines.
When a socket is established, both the sender and receiver verify the communication port to ensure data transmission The sender initiates a request to identify itself, prompting the receiver to respond with confirmation of the sender's identity and its own As long as the communication is successful and the socket functions properly, additional data requests can proceed seamlessly.
Sockets are established whenever a communication protocol connects multiple devices Once the communication concludes, the TCP/IP socket is closed If the requested port is unavailable, the socket cannot be created, resulting in an error message notifying both the sender and receiver of the failure.
Applications used for communication, such as web browsers, utilize TCP/IP sockets to transmit and receive data While a socket is active, all communications and applications are linked to the designated port address associated with that socket As data is exchanged, applications seek the specific port address or host of the socket.
In this report, we use the TCP Socket data transfer method because of the following advantages:
• Is reliable: Packets dropped in the network are detected and retransmitted by the sender
• Has in-order data delivery: Data is read by your application in the order it was written by the sender
• Built a client and server that can handle multiple connections simultaneously
• Economically, we don't need to pay for a connection module circuit like Bluetooth.
Localize robot in 3D space
The team's robot positioning idea will be briefly summarized as follows:
We train the YOLO model using custom data consisting of robot images to accurately detect pixel coordinates of the robot These coordinates are then translated into the robot's operating environment However, the camera signal can be unstable, particularly in low light conditions, which may result in lost signals during the robot's operation, impacting the YOLO algorithm's efficiency To mitigate this issue, we incorporate additional kinematic equations for position control, utilizing Dead Reckoning This integration allows for continuous real-time updates of the robot's position, enhancing control and operational efficiency.
Object detection has emerged as a prominent area in deep learning due to its high applicability and the ease of data preparation, leading to significant advancements in various applications Cutting-edge algorithms like YOLO and SSD offer impressive speed and accuracy, enabling real-time performance that often surpasses human capabilities without compromising precision The versatility of object detection allows for diverse applications, including object counting, automated payment systems, timekeeping, and fire detection, making it a valuable tool across multiple industries.
The diverse and readily available sources of image data provide a significant advantage for training object detection models This high applicability simplifies the data preparation and training processes In this context, we will explore the state-of-the-art object detection algorithm known as YOLO.
YOLO in object detection means “You only look once” That is, we only need to look once to be able to detect the object
While YOLO may not be the most accurate object detection algorithm, it stands out as the fastest in its category This model delivers near real-time performance, effectively balancing speed and accuracy when compared to leading competitors.
YOLO is an advanced object detection algorithm designed to identify and locate multiple objects within an image, rather than merely classifying a single label This capability enables YOLO to effectively detect various labeled objects simultaneously, enhancing its utility in complex visual analysis tasks.
YOLO network architecture includes: base networks are convolution networks that perform feature extraction The following are the Extra Layers applied to object detection on the feature map
YOLO's Base network using only convolutional layers and fully connected layers YOLO architectures are also quite diverse and can be customized into versions for many different input shapes h
The YOLO network architecture utilizes the Darknet Architecture's base network for effective feature extraction, producing a 7x7x1024 feature map This output serves as input for additional layers that are responsible for predicting object labels and bounding box coordinates.
The size of the feature map will depend on the input For input 416x416, the feature map has dimensions of 13x13, 26x26 and 52x52 And when input is 608x608 will generate 19x19, 38x38, 72x72 feature map
The output of the YOLO model is a vector that will include the main components
• 𝑝0 is t he predicted probability of the object appearing in the bounding box
• 〈𝑡𝑥,𝑡𝑦,𝑡𝑤,𝑡ℎ〉 helps define the bounding box In which 𝑡𝑥,𝑡𝑦 is the coordinates of the center and 𝑡𝑤,𝑡ℎ are the width and length dimensions of the bounding box
The predictive probability distribution vector of classes, represented as 〈𝑝1, 𝑝2, … , 𝑝𝑐〉, is crucial for configuring the correct parameters when training models using open-source platforms like Darknet The output is determined by the number of classes using the formula (n_class + 5) For instance, if training with 2 classes, the output will be 7 Additionally, when utilizing 3 anchors per cell, the total number of output parameters becomes (n_class + 5) x 3, resulting in 21 for 2 classes.
The YOLO network architecture utilizes a 13x13 feature map, where each cell is associated with three anchor boxes of varying sizes: Box 1, Box 2, and Box 3 These anchor boxes are positioned so that their centers align with the corresponding cell Consequently, the output of the YOLO model is a concatenated vector representing three bounding boxes for object detection.
YOLO v3 utilizes multiple feature maps for object detection, where smaller initial feature maps enhance the prediction of large objects In contrast, subsequent feature maps, which are larger in size, maintain a fixed anchor box size, allowing for effective prediction of smaller objects.
Figure 6.4 Feature map With an input shape of 416 x 416, the output is 3 feature maps with dimensions of 13x13, 26x26 and 52x52 respectively
In a YOLO model, each cell of the feature maps utilizes three anchor boxes for feature prediction, resulting in a total of nine distinct anchor boxes (3 feature maps x 3 anchor boxes).
Also on a square feature map S x S, the YOLO v3 model generates a number of anchor boxes: S x S x 3 Thus, the number of anchor boxes on an image will be: (13 x
The training of the YOLO model is significantly slow due to the need to predict both labels and bounding boxes simultaneously across 10,647 bounding boxes.
To accurately determine the bounding box for an object, YOLO utilizes predefined anchor boxes that closely enclose the target These anchor boxes serve as the foundation for estimation, and the regression bounding box algorithm subsequently fine-tunes them to generate a predicted bounding box for the object.
In the training image, each object is associated with an anchor box When multiple anchor boxes encompass the same object, we identify the anchor box that exhibits the highest Intersection over Union (IoU) with the ground truth bounding box.
Figure 6.5 Defines the anchor box for an object
In Cell I, three green-bordered anchor boxes are identified, all intersecting with the object's bounding box Among these, the anchor box with the thickest blue border is chosen as the object's anchor box due to its highest Intersection over Union (IoU) with the ground truth bounding box.
• Each object in the training image is distributed to a cell on the feature map that contains the mid point of the object h
Thus, when determining an output object, it will be necessary to identify 2 components associated with it (cell, anchor box) Not just the cell or just the anchor box
YOLO's loss function is divided into two parts: (localization) measures the error of the bounding box and (confidence loss) measures the error of the probability distribution of classes
• 𝑙 𝑖 𝑜𝑏𝑗 : The indicator function has a value of 0.1 to determine if cell 𝒾 contains an object or not Equals 1 if it contains the object and 0 if it doesn't
• 𝑙 𝑖𝑗 𝑜𝑏𝑗 : Indicates whether the jth bounding box of cell 𝒾 is the bounding box of the predicted object
• 𝐶 𝑖𝑗 : Cell confidence score 𝒾, P(contain object) * IoU
• 𝑝𝑖(𝑐): Conditional probability, whether or not cell 𝒾 contains an object of class
We can simply understand their purpose as
• ℒloc is the loss function of the predicted versus actual bounding box
The loss function ℒ𝑐𝑙𝑠 quantifies the accuracy of a probability distribution by considering two main components: the first component measures the loss associated with predicting the presence of objects within a cell, while the second component evaluates the loss of the probability distribution when an object is indeed present in the cell.
Path Planning
It is possible to classify ways to solve the problem of finding a way for a robot according to two fields fit as follows:
Case 1: Robot does not know the information of the map in advance
Some popular route detection algorithms are as follows [5]:
The wall-following algorithm is effective in navigating a seamless, unbroken maze, allowing a robot to reach its destination by continuously following either the left or right wall.
Figure 6.12 Algorithm according to the right-following rule [5]
Pledge Algorithm: The implementation method of this algorithm is a combination of suitable for sticking to the wall but taking into account the rotation angle Hence, h
The robot can successfully navigate complex maps to reach its destination and escape from the maze, even when it is initially placed in a starting position that is isolated from the rest of the map.
Figure 6.13 Pledge Algorithm get rid of complicated obstacles
Various algorithms can be utilized for path detection, including stochastic algorithms, the Tremaux algorithm, and the dead-end filling algorithm However, these methods often present several disadvantages.
• Pathfinding is fully automatic without manual case
• The path found is the most accurate and shortest
Case 2: The robot already knows the map information in advance After obtaining information about the map, the automatic pathfinding algorithms can be applied to find the way Automatic pathfinding algorithms are algorithms that help find the way automatically based on known data This automatic route finding is based on divide the map into nodes, then apply algorithms on these nodes to find the path Therefore, in order to apply the automatic pathfinding algorithm, the data about the map must be known, from which information about the nodes can be obtained, for example such as which node belongs to the goable path and which node does not belong to the goable path Many automatic pathfinding algorithms have been developed such as Grass Fire, Greedy Best First Search, Dijkstra or A* [5]:
- Grass Fire Algorithm: In the Grass Fire algorithm, nodes are neighbors to the under consideration will all be selected as the next node under consideration, if the h
The algorithm focuses on neighboring nodes and disregards obstacles, iterating until the destination node is included in the analysis While this method is straightforward and effectively identifies the shortest path, it suffers from slow performance due to the rapid increase in the number of nodes considered as the overall node count rises.
Dijkstra's algorithm utilizes a selective search method, prioritizing neighboring nodes based on the lowest cost value from the currently considered node This approach allows the algorithm to efficiently identify the next node to evaluate, ultimately leading to faster pathfinding compared to simpler methods like Grass Fire, as it reduces the number of nodes that need to be analyzed.
The Greedy Best First Search algorithm is a selective search method that prioritizes estimated costs to the destination node rather than the actual cost from neighboring nodes This heuristic approach allows the algorithm to operate more quickly than Dijkstra's algorithm, making it an efficient choice for certain applications However, a key drawback is that the path identified may not always be the shortest, potentially compromising optimality in some scenarios.
Algorithm A* is an advanced pathfinding algorithm that combines the principles of Dijkstra's algorithm and Greedy Best First Search It evaluates nodes based on both the cost from the current node to its neighbors and the estimated cost from those neighbors to the destination This dual approach enables A* to efficiently find the shortest path, often achieving similar results to Dijkstra's algorithm but at a faster pace.
Figure 6.14 Route finding results by A* algorithm (left) and Dijkstra's algorithm
This report outlines that the map information is fully known in advance, allowing for efficient robot pathfinding through the A* algorithm, which offers several key advantages.
• Pathfinding is fully automatic without manual case
• The robot does not need to track the route
• The path found is the most accurate and shortest
The A* Algorithm is a widely used path planning algorithm that efficiently traverses graphs It functions similarly to Dijkstra’s algorithm but enhances search efficiency by directing its focus toward the most promising nodes, which can significantly reduce computation time A* is renowned for its ability to find near-optimal solutions based on the available dataset or nodes.
The A* algorithm is predominantly utilized in static environments, though it can also be applied in dynamic settings Its base function can be customized to meet specific application needs Similar to Dijkstra's algorithm, A* operates by identifying the lowest cost path from the starting point to the destination The core mechanism of the algorithm expands the least expensive path using the function f(n) = g(n) + h(n), where g(n) represents the actual cost from node n to the starting node, and h(n) denotes the estimated cost of the optimal path from the target node to n.
The A* algorithm is extensively utilized in the gaming industry and has evolved with advancements in artificial intelligence Its enhancements have made it suitable for various applications, including robot path planning, urban intelligent transportation systems, graph theory, and automatic control.
The A* algorithm is a highly efficient path planning method that is less computationally intensive than many alternatives, making it suitable for constrained and embedded systems Utilizing heuristic information, the A* algorithm identifies the optimal path by searching for nodes on the map and employing appropriate heuristic functions, such as Euclidean, Manhattan, or Diagonal distance Its performance is determined by two key factors: the resources required for task execution and the computation time needed to achieve that performance.
The A* algorithm presents a trade-off between speed and accuracy, allowing for decreased time complexity at the cost of increased memory usage, or reduced memory consumption resulting in slower execution times Regardless of the approach, the algorithm effectively identifies the shortest path A practical application of the A* algorithm is in navigating to an available space in a crowded parking lot.
The A* algorithm is known for its computational efficiency, making it ideal for use in static environments Its speed and effectiveness are largely influenced by the precision of the heuristic function employed.
6.6.2 Most Common Types of Heuristic Functions Used In Path Planning Algorithms
Diagonal distance h(n) = D * (dx + dy) + (D2 - 2 * D) * min(dx, dy)
Figure 6.17 Output of A* algorithm with Manhattan distance [22]
Figure 6.18 Output of A* algorithm with Diagonal distance [22] h
Figure 6.19 Output of A* algorithm with Euclidean distance [22]
Since Euclidean distance is shorter than Manhattan or diagonal distance, we still get shortest paths, but A* take longer to run This is a worth trade off
6.6.3 Application of A* algorithm in path planning
After selecting the destination node (destination) and the starting node (starting position of the robot), the A* algorithm is basically implemented as follows:
- Select the starting node as the node under consideration and add it to the list of considered nodes
- Update the cost value compared to the starting node g(n) of the nodes neighboring to the node under consideration
Human interactive system
Speech is a fundamental human ability essential for daily communication The development of voice enhances our capacity to share information, engage in conversation, and facilitate learning For robots to foster a sense of closeness and authenticity with users, they must possess a voice that enables effective communication and information exchange A well-structured database is crucial for this process, akin to human growth and learning, as it allows the robot to communicate naturally and intelligently Ultimately, a larger database enhances the robot's capabilities, while speech recognition enables it to understand and respond to user requests effectively.
In this chapter, we present about the robot-human interaction by applying voice recognition to perform intelligent functions of the robot in the topic
6.7.2 Structure of the interactive system
The human-robot interaction system is designed to enhance user experience by enabling robots to recognize speech and understand user intentions By categorizing these intentions, the system allows robots to perform specific tasks, facilitating natural interactions akin to that of a real waiter This innovative approach significantly improves customer engagement and satisfaction during interactions with robots.
The human-robot interaction system, illustrated in Figure 6.20, processes user input primarily through voice commands Despite its effectiveness, the complexity of audio data presents significant challenges in processing and interpretation.
To address this issue, audio data is transformed into text for more efficient processing This text is then classified to ascertain the user's intent, enabling the robot to provide suitable responses Enhancing user-robot interaction is a crucial aspect of this process Text is categorized into two types: conversational text, which involves typical dialogue and doesn't necessitate extensive knowledge for response generation, and order text, which pertains to identifying the customer's desired dish.
When the input data is classified as conversational text The system starts responding based on the operating principle of a chatbot The robot system is capable of h
61 answering questions about the restaurant, the food as well as information about itself: name, ability,
When the input data is recognized as order text, the system initiates three key processes: confirming the customer's identity, retrieving relevant information, and classifying the ordered dish Just like human communication, robots must identify the interlocutor to focus on pertinent information while filtering out irrelevant details Once the identity is verified, the system retrieves critical customer information, such as their name and frequently ordered dishes This enables the system to suggest previously ordered items or recommend other dishes based on the customer's preferences.
The final stage of the human-robot interaction system involves aggregating results from prior tasks This block converts written responses back into audio, facilitating ongoing communication Additionally, it compiles data on the customer's selected information and dishes, which is then transmitted to the restaurant's management center for dish processing.
Modern speech recognition systems primarily utilize the Hidden Markov Model (HMM), which assumes that a speech signal can be effectively treated as a static process when analyzed over brief intervals, such as ten milliseconds This means that the statistical properties of the speech signal remain relatively constant during these short time frames.
In a standard Hidden Markov Model (HMM), speech signals are segmented into 10-millisecond intervals Each segment's power spectrum, representing the signal's power across various frequencies, is transformed into a vector of real numbers known as the cepstral coefficient Typically, this vector has a small dimension, often comprising as few as a few coefficients.
10, although more precise systems can have dimensions 32 or more The final output of the HMM is a sequence of these vectors h
To convert speech into text, vectors are aligned with phonemes, the fundamental units of speech This process necessitates training due to the variability in phoneme sounds among different speakers and even within the same speaker's pronunciations Subsequently, a specialized algorithm identifies the most probable word or words corresponding to a specific sequence of phonemes.
Modern speech recognition systems often employ neural networks to enhance speech signals through feature conversion and dimensionality reduction techniques prior to Hidden Markov Model (HMM) recognition Additionally, Voice Activity Detectors (VADs) are utilized to isolate segments of the audio signal that likely contain speech, thereby optimizing the recognition process and minimizing analysis of irrelevant audio portions.
6.7.4 Speech to Text with Google API
Many libraries are available for speech-to-text conversion, including Wit and API.ai, which provide advanced features like natural language processing to understand speaker intent, in addition to basic speech recognition In contrast, Google Cloud Speech primarily focuses on accurate speech-to-text conversion.
However, we use the SpeechRecognition library because of its outstanding ease of use
Speech recognition relies on audio input, and the SpeechRecognition library simplifies the process of accessing this input, allowing users to get started in minutes without the need to create complex scripts for microphone access or audio file processing Serving as a wrapper for various popular speech APIs, including Google's Web Speech API, it offers exceptional flexibility and ease of use, making it an ideal choice for diverse projects However, it's important to note that the availability of specific features from each API may not be guaranteed.
Word embeddings are learned representations of text that ensure words with similar meanings are closely represented This method of representing words and documents is a significant breakthrough in deep learning, particularly for addressing complex natural language processing challenges.
Word embeddings represent individual words as real-valued vectors within a defined vector space Each word corresponds to a unique vector, with values learned through methods similar to those used in neural networks, positioning this technique within the realm of deep learning.
Key to the approach is the idea of using a dense distributed representation for each word
Words are represented by real-valued vectors, typically consisting of tens or hundreds of dimensions, which is significantly more efficient than sparse word representations like one-hot encoding that require thousands or even millions of dimensions.
EXPERIMENT AND ASSESS THE RESULTS
Overview
This chapter presents the results of the mechanical model and motion control of the robot, focusing on the accuracy of its movements and positioning, along with the user interface and interaction aspects.
Basic parameters of the robot
The complete restaurant service robot model has been successfully designed and manufactured, demonstrating a robust and stable frame that ensures excellent transportability and bearing capacity The engine operates reliably, and the moving platform meets the initial specifications with its impressive load-bearing capabilities, as detailed in Table 7.1.
6 Motion kinematics of the pedestal
2 differential wheels, 2 self- selecting wheels
8 Robot operating time 4 hours (45Ah)
Mechanical system
In crowded environments where robots operate, ensuring user safety is paramount, alongside protecting electrical and induction systems from external factors To safeguard the robot's base, which functions as its brain, each food compartment is designed to be emptied internally, stabilizing food and water to prevent breakage Additionally, the design team strategically positioned the display screen at an elevated height to reduce the impact of children's curiosity.
Distributed service robot system
Camera calibration data and results
Figure 7.2 Camera calibration results After we have done the camera calibration, we have the result as shown below h
Figure 7.3 Results before and after camera calibration
In conclusion, the results obtained after calibration indicate that the pixel ratio is not entirely accurate, existing only at a relative level To ensure precision, it is essential to realign the pixel ratio at specific positions It's important to note that the calibration matrix is applicable solely to stationary cameras positioned at a fixed angle; any shift in the camera angle necessitates a recalibration process.
Once we have calibrated the camera, we align the pixel ratio at the positions and conduct experiments
Determine the coordinate angle under the camera viewing area, from which the pixel value is used to convert to the actual distance according to the coordinate angle
We compare the converted values with actual measurements by checking the distance values obtained from the camera against the real distance values, as illustrated in the following chart.
Figure 7.4 Diagram showing the camera position and the actual location h
- From the origin -> 300cm: The position deviation from reality is negligible, the error is about 0.1 -> 1 (cm)
- From 300 -> 500 cm : This deviation increases from 1-3 cm
⇒ The position from the coordinate angle back after pixel scaling has an error, so the overall position is deviation from 0.1-> 3 cm
The training process is performed for about 10000 epochs with a total time about 2 hours mAP during training also increases with each epoch up to 80% and log loss converge from epoch 9000
Figure 7.5 YOLO Loss and mAP h
Figure 7.6 Diagram showing the position of the robot moving from Home to table 1 Table 7.2 Error value through experiments when the robot moves from Home to table
1 n Xset Yset XMeasured YMeasured ∆X(mm) ∆Y(mm) ∆Error(mm)
Figure 7.7 The graph shows the error when the robot moves from home to table position 1
Figure 7.8 Diagram showing the position of the robot move from Table 1 to Table 4 Table 7.3 Error value through experiments when the robot moves from table 1 to table
4 n Xset Yset XMeasured YMeasured ∆X(mm) ∆Y(mm) ∆Error(mm)
Figure 7.9 The graph shows the error when the robot moves from Table 1 to Table 4
Conclusions on the robot's movement:
- The error is less than 0.05(m) for the desired position when reaching the predetermined points
• Accumulated pixel ratio errors while system is running
• The signal from the camera is slow due to the network signal, this affects the positioning process h
7.4.5 Communication and data transmission between robots
Figure 7.11 Data transmission of robots
In conclusion, the robot successfully utilized the A* algorithm to determine the most efficient path The system's ability to exchange data among robots enhances their awareness of each other's status and positions, effectively reducing the risk of collisions during operation As illustrated in Figure 7.10, while the initial optimal route for robot 2 is a direct line from (30,40) to (30,10), it would lead to a collision with robot 1 Consequently, robot 2 recalibrates its path to ensure safe navigation.
The LSTM model demonstrated impressive efficiency during training, achieving 100% accuracy after just 330 epochs The simplicity of the model structure and the relatively small dataset contributed to the quick convergence, making the training process relatively time-effective.
Figure 7.13 Naive Bayes predict on example 1
Figure 7.14 Naive Bayes predict on example 2 h
Figure 7.15 LSTM model predict on example 1
Figure 7.16 LSTM model predict on example 2
The Naive Bayes classifier predicted two examples as "plus_chicken_1" based on word occurrence frequency In both cases, the words appeared with the same frequency However, the LSTM model significantly outperformed the Naive Bayes classifier by making predictions based on semantic understanding rather than merely counting word occurrences.
CONCLUSIONS AND RECOMMENDATIONS
Conclusions
The project provided an overview of a Distributed Service Robot System, highlighting related research efforts in building a distributed control robot system, addressing robot positioning challenges, optimizing trajectories, and identifying customer intent Following the experiments, the team achieved significant results that underscore the effectiveness of these advancements.
• The system operates relatively stably, the data transmission rate between robots is relatively high Transmitted data will always be full due to TCP Socket's loss detection and retransmission
• The robot system always has information of other robots: what the customer ordered, the robot's trajectory, etc to help with the robot movement and system operation
• Ability to recognize customer intent with high accuracy with trained data set But still not able to recognize the untrained speech
The program demonstrates a high level of accuracy in detecting and calculating robot positions, meeting the project's requirements despite some limitations While the control algorithm remains basic and the processing speed could be improved, the overall performance is satisfactory for the intended application.
Recommendations
Based on the work done, the project implementation team found that the system can further develop the following contents:
To enhance object detection, it is essential to increase the dataset and explore various model architectures, which can significantly improve the efficiency of the positioning process Additionally, researching alternative positioning algorithms, such as ROS, allows for a comparative analysis to identify the most effective method for optimal results.
- Research solutions that the system can be used in many different spaces
- Design facial recognition check-in software, create a database to store each customer's information such as name, favorite dishes, from there to suggest suitable dishes h
[5] Trịnh Tuấn Dương (2019), “Tìm đường cho Mobile robots dựa trên việc tìm đường biên áp dụng thuật toán A*”, Cơ khí Việt Nam, số 3
Bong-Su Cho, Woo-sung Moon, Woo-Jin Seo, and Kwang-Ryul Baek present a research article on a dead reckoning localization system for mobile robots, utilizing inertial sensors and wheel revolution encoding This innovative approach aims to enhance the accuracy of navigation in robotic applications, as published in a scientific paper from a South Korean university.
Le Duc Hanh và Nguyen Duy Anh đã nghiên cứu về việc hoạch định và bám đường đi cho robot di động, ứng dụng điều khiển hồi tiếp ảnh Nghiên cứu này được công bố trên Báo khoa học Đại học Bách Khoa TP.HCM, nhằm cải thiện khả năng điều khiển và tự động hóa của robot trong môi trường thực tế Các phương pháp được đề xuất có thể nâng cao hiệu suất và độ chính xác trong việc di chuyển của robot.
[27] Nguyễn Trường Thịnh, “Giáo trình kỹ thuật robot”, Nhà xuất bản ĐHQG
[28] Trịnh Chất, Lê Văn Uyển Tính toán thiết kế hệ dẫn động cơ khí tập 1, NXB Giáo dục h
[1] Chen, Cheng, et al "The adoption of self-driving delivery robots in last mile logistics." Transportation research part E: logistics and transportation review 146 (2021): 102214
[2] Seo, Kyung Hwa, and Jee Hye Lee "The emergence of service robots at restaurants: Integrating trust, perceived risk, and satisfaction." Sustainability 13.8 (2021): 4431.
[3] Pinillos, Roberto, et al "Long-term assessment of a service robot in a hotel environment." Robotics and Autonomous Systems 79 (2016): 40-57
[4] “How to measure distance using Ultrasonic sensor”, https://mbedgeek.blogspo t.com/2018/12/ultrasonic-sensor-arduino-HC-SR04.html [Accessed 9/12/2022]
[6] Ferguson, D.; Likhachev, M.; Stentz, A A Guide to Heuristic-based Path Planning
In Proceedings of the International Workshop on Planning under Uncertainty for Autonomous Systems, International Conference on Automated Planning and Scheduling (ICAPS), Monterey, CA, USA, 5–10 June 2005; pp 9–18
[7] Gass, S.I.; Harris, C.M Near-optimal solution In Encyclopedia of Operations Research and Management Science; Gass, S.I., Harris, C.M., Eds.; Springer: New York,
In their 2014 paper presented at the International Conference on Automated Planning and Scheduling, Hernández, Baier, and Achá demonstrate that the A* algorithm can be optimized to outperform D*-lite in path planning within partially known terrains Their research, detailed in Volume 2014, pages 504-508, highlights innovative strategies for enhancing the efficiency of A*, making it a viable alternative for complex navigation challenges.
[9] Cui, X.; Shi, H A*-based Pathfinding in Modern Computer Games Int J Comput Sci Netw Secur 2010, 11, 125–130
The research presented by Gunawan et al in their 2019 paper discusses the Smoothed A-star Algorithm, specifically designed for nonholonomic mobile robot path planning This innovative approach was showcased at the International Conference on Information and Communications Technology (ICOIACT), highlighting its significance in enhancing robotic navigation The full article can be accessed online for further insights into the algorithm's applications and effectiveness in the field.
[11] Zhou, Y.; Cheng, X.; Lou, X.; Fang, Z.; Ren, J Intelligent Travel Planning System based on A-star Algorithm In Proceedings of the 2020 IEEE 4th Information h
Technology, Networking, Electronic and Automation Control Conference (ITNEC), Chongqing, China, 12–14 June 2020; Volume 1, pp 426–430
The article discusses the parallel implementation of the A* search algorithm for road networks, presented by Belhaous et al at the 2019 Third International Conference on Intelligent Computing in Data Sciences in Marrakech, Morocco The research focuses on enhancing the efficiency of pathfinding in complex road systems through parallel processing techniques.
[13] Dong, G.; Yang, F.; Tsui, K.L.; Zou, C Active Balancing of Lithium-Ion Batteries Using Graph Theory and A-Star Search Algorithm IEEE Trans Ind Inform 2021, 17, 2587–2599
Liu, H., Shan, T., and Wang, W conducted a study on the automatic routing of spacecraft cables utilizing the A-star algorithm Their research was presented at the 2020 IEEE 5th Information Technology and Mechatronics Engineering Conference (ITOEC) held in Chongqing, China, from June 12 to 14, 2020, and is documented on pages 716 to 719 of the conference proceedings.
[15] Kider, J.T.; Henderson, M.; Likhachev, M.; Safonova, A High-dimensional planning on the GPU In Proceedings of the 2010 IEEE International Conference on Robotics and Automation, Anchorage, AK, USA, 3–7 May 2010; pp 2515–2522
The study by Cheng, Liu, and Yan presents an enhanced hierarchical A-star algorithm aimed at optimizing parking path planning in large parking lots This research was featured in the proceedings of the 2014 IEEE International Conference on Information and Automation held in Hailar, China, from July 28 to 30, 2014 The findings contribute to more efficient navigation and space utilization in extensive parking facilities.
[17] Yao, J.; Lin, C.; Xie, X.; Wang, A.; Hung, C.C Path Planning for Virtual Human Motion Using Improved A* Star Algorithm In Proceedings of the 2010 Seventh International Conference on Information Technology: New Generations, Las Vegas,
In their 2018 paper presented at the 13th IEEE Conference on Industrial Electronics and Applications, Chen et al explore an innovative route planning method for unmanned aerial vehicles (UAVs) utilizing the A* algorithm The study, conducted in Wuhan, China, details the effectiveness of this approach in optimizing UAV navigation and enhancing operational efficiency The findings contribute valuable insights to the field of UAV technology, particularly in industrial applications.
[19] Baker, Z.K.; Gokhale, M On the Acceleration of Shortest Path Calculations in Transportation Networks In Proceedings of the 15th Annual IEEE Symposium on h
Field-Programmable Custom Computing Machines (FCCM 2007), Piscataway, NJ, USA, 23–25 April 2007; pp 23–34
Seo et al (2009) presented an efficient hardware architecture for the A-star algorithm, enhancing the performance of shortest path search engines Their research, showcased at the Fifth International Joint Conference on INC, IMS, and IDC in Seoul, focuses on optimizing computational efficiency for pathfinding applications The findings contribute to advancements in algorithmic design, particularly in the context of real-time navigation and routing systems.
[21] “A* Search Algorithm”, https://www.geeksforgeeks.org/a-search-algorithm/ [Accessed 9/12/2022]
[22] “A*’s Use of the Heuristic”, http://theory.stanford.edu/~amitp/GameProgrammi ng/Heuristics.html [Accessed 9/12/2022]
[23] “Understanding LSTM Networks”, https://colah.github.io/posts/2015-08- Understanding-LSTMs/ [Accessed 9/12/2022]
[24] “LSTM for Text Classification in Python”, https://www.analyticsvidhya.com /blog/2021/06/lstm-for-text-classification/ [Accessed 9/12/2022] h