This report is shown the process to build a goods delivery robot which including: mechanical, electrical and control design for the robot.
OVERVIEW
Introduction of Line Tracking Robot
Line tracking robot is a special case of mobile robot, in which the robot detects the relative position of the robot and follows the existing line (word line, color line)
Currently, line detection robots are widely used in industrial manufacturing processes, carrying objects to special locations
Nowadays, there are large number of types of mobile car with the purpose of automatic future To adapt this trend of the world, Mechatronics faculty of University of Technology constructs the line map system in second project subject to open opportunity for student access the experiment and creativity
The following mobile car includes various function for operation in many areas of life and factory There is plenty of requirement and standard in designing a following line mobile; therefore, we need to concern some of problem below:
+ Selection of number of adapting motors
+ Selection of types of wheels
Delivery goods robot
Goods distribution robot is a general concept that refers to all systems that can transport goods without human intervention In industry, goods distribution robots are understood as automatic transport vehicles applied in the following fields:
- Provide parts arrangement in warehouse and production areas
- Transfer goods between production stations
- Distributing and supplying products, especially in trading
- Supply and arrangement in special areas such as hospitals, supermarkets, offices
Specifically, according to the topic of Robots distributing goods in the form of vehicles (mobile robots), in reality there are AGVs and AMRs
It is a type of mobile robot that is used in manufacturing facilities, warehouses, and other industrial settings to automate the transportation of materials and goods
AGVs are equipped with sensors, cameras, or other navigation technology that allows them to move autonomously and safely throughout a controlled environment
AGVs can be programmed to follow predefined paths or to navigate using more advanced methods like laser-based navigation, magnetic tape, or natural feature recognition They are used to transport materials such as raw materials, work-in- progress, finished products, and even tools and equipment from one location to another This automation can improve efficiency, reduce labor costs, and enhance the overall productivity of a facility
A type of robotic system designed to move and operate autonomously in various environments These robots are equipped with sensors, cameras, and other technologies to navigate and make decisions without human intervention ARMs are used in a wide range of applications, including industrial automation, logistics, healthcare, and even consumer products
ARMs are continually advancing and finding new use cases as technology improves They play a significant role in the automation of tasks in various industries and have the potential to revolutionize logistics, manufacturing, and other fields.
Mechanical design of some mobile robots
The AGV mobile chassis is 600w, has a height of 212mm, a small height and a low center of gravity The AGV upper panel is equipped with an expandable interface, such as power interface, communication interface, IO interface, etc., to facilitate device control or communication In addition to the automatic tape guiding device, the AGV controller is powerful and software-rich Users can quickly implement project, route planning, route changes, even when the route is complicated The implementation is as simple and convenient as it is
Figure 1 1 TZAGV-B02 smart Mobile AGV Robot
- The principle of mechanical design of TZAGV-B20:
Figure 1 2 Principle of mechanical design
In this principle, when turning direction need to base on the different rotation of two motors in two sides Therefore, coaxial and concentric are absolutely vital, which affect directly to the charging radius direction
- Increase the high weight capacity of 2 main wheels and 4 sub-wheels
- The centroid of mobile usually on the shaft of drive wheel
- Make sure the coplanar between 6 wheels
1.3.2 The other structure of 3 wheels
The structure of the 3-wheeled robot is the most popular and popular today:
Figure 1 3 Structure of 3 wheels robot
- Smaller size comparing to 6 wheels
- Simple in accessing the co-planar and create the static statue
- The centroid is out of the driving shaft wheel
1.3.3 The other structure of 4 wheels
The structure of 4-wheels robot which is popular to use:
Figure 1 4 Structure of 4 wheels robot
The front wheels actively guide the car allowing for better cornering
- There is a driving motor, so it consumes less energy than the above principles
- Compared to a 3 - wheeled vehicle, the capacity to drive the vehicle is significantly reduced
- Compared to the method of driving with two engines at different speeds (differential), the vehicle structure using differential allows the vehicle to corner without the wheels slipping
Figure 1 5 Principle of mechanical design of 4 wheels robot
TARBAR Robot is a following robot is designed and used to join the Line Following Competition in Tabrize
Figure 1 6 Tarbar line following robot
+ Motor used: using 2 DC motor with gear
+ Number of wheel: 3 wheels, 1 drive wheel and 2 driven wheels
+ Driver: 1 driver L298 for two motor
Figure 1 7 TARBAR robot structure Advantages:
- Easy to build this structure
- Mathematical is so easy to control
- The ability to follow the line is not as expected in 4 – wheeled mechanisms
- The pressure of two driven wheel is so large
- It is necessary to pay attention to the coaxiality of the two engines when running at the same time speed in a straight line
Usain Volt 2.0 Robot is designed and builed to join the LVBots Line Following
Figure 1 8 Usain Volt 2.0 Some parameters:
𝑠 - Motor: using two DC motor with encoder
- The number of wheel: 4 wheels, with 2 – drive wheel and 2- driven wheel
- Sensor: using infraed QTR – 3RC
- Driver of motor: use 2 driver DRV8838 for two driven wheels
Figure 1 9 Mechanical structure of Usain Volt 2.0 Robot
- Having better line following ability than 3-wheel structures
- Mechanical structure is so easy to build
- Mathematical model is easy to solve and control
- Because of front two wheels are driven, so that it is difficult to control when robot cornering
- It is necessary to research to ensure flatness for all 4 – wheels
- It is necessary to pay attention to the coaxiality of the two engines when running at the same time speed in a straight line.
Requirements
- Speed of movement of robot: 0.3 𝑚/𝑠
- The number of wheels of robot ( include drive wheels and driven wheels ) is chosen by each group
- On the robot, sensors is equiped to detect the line on the ground and move following that line Each sensor is chose based on the requirements of each group
- The number of wheels: selection
- The size of the robot ( 𝑙𝑒𝑛𝑔𝑡ℎ × 𝑤𝑖𝑑𝑡ℎ × ℎ𝑒𝑖𝑔ℎ𝑡):
- Moving surface terrain: flat surface
10 - The end point stopping tolerance: ± 5 𝑚𝑚
- The robot moves from the “Start” position to the “Loading area” (marked by a line cutting the path, the horizontal cutting line is 50 mm long and 26 mm wide) and stops waiting for the load to be placed up by hand
- At the “Loading Area”, a load weighting 1 kg or 2 kg will be placed by hand on top of the robot The robot has the ability to recognize that the load has been uploaded
- After receiving the goods, the robot must move to the "End" position corresponding to the package volume.
Map of line according to the requirements
Figure 1 10 The map of line Assignment plane for project implementation
The number of weeks to implementing this project: 15 weeks.
Assign tasks to implement the project
After the topic is described, with a timeline as set above The tasks is devided clearly for each member in the team Below are fixed tasks throughout the project
11 implementation process, but during implementation, they can be flexibly changed to help other members with tasks that require more time and requirements
Table 1.1 Devided tasks for each member in group
1 Đỗ Hoàng Khương Mechanical design, mechanical drawings and line sensor calibration
Electrical design, electrical drawings, robot programing, line sensor calibration, electrical drawings, flow chart, simulation
3 Vũ Xuân Vinh Mechanical design, selection method and mechanical drawings
Motor control, design controller and line tracking, simulation, loadcell sensor calibration, selection drawings, flow chart drawings and report
After the project topic has been analyzed and tasks have been clearly and specifically assigned to each member of the group Shaping the robot and preparing the components will be presented in more detail in the next part
SELECTION METHOD
Mechanical selection
2.1.1 Compare the advantages and disadvantages of several types of principle diagrams
To be able to choose the most optimal structure for the selected topic, a series of robot structures were used to compare and evaluate the good and bad points of each structure, shown through the comparison Table 2.1 and Table 2.2 below:
Table 2.1 Comparing principle diagram of some structures
_Having better line following ability
_Be more proactive and reduce pressure on the two driven wheels
_ Based on the Differential, the
_ Improved traction due to active guidance of the front wheels, reducing pressure on the rear wheels
_ Based on the Differential, the
_Having better line following ability
_Be more proactive and reduce pressure on the two driven wheels
_ Based on the Differential, the problem of coaxiality of
13 problem of coaxiality of the driven wheels is solve problem of coaxiality of the driven wheels is solve the driven wheels is solve
_Mechanical structure is perfectly complex
_Mathematical and control is really complex
_ Because this is a parallelogram structure, when changing direction, the speed of the two front wheels is the same, thus easily causing slipping
_ The coaxility of two drive wheel need to be considered
_Because of using Differential so need to consider about the transmission ratio of differential to choose another equipment
_The mechanical structure is relatively complex
_ Mathematical and control is really complex
_ Due to the use of differentials, the transmission ratio of the differential will greatly influence the selection of suitable equipment
_The mechanical design is very complex, making it difficult to design the navigation mechanism
_The problem of coaxiality of the two front wheels must be solved
_ Mathematical and control is really complex
_ Due to the use of differentials, the transmission ratio of the differential will greatly influence the selection of suitable equipment
Table 2.2 Comparing principle diagram of some structures
_Having better line following ability
_Be more proactive and reduce pressure on the two driven wheels
_ Based on the Differential, the problem of coaxiality of the driven wheels is solve
_ Simple math model, easy to control
_ Improved traction due to active guidance of the front wheels, reducing pressure on the rear wheels
_Having better line following ability
_Be more proactive and reduce pressure on the two driven wheels
_ Based on the Differential, the problem of coaxiality of the driven wheels is solve
_Mechanical structure is perfectly complex
_Mathematical and control is really complex
_Poor road holding ability, easy to roll over when cornering
_The two rear wheels both guide
_The mechanical design is very complex, making it difficult to design the navigation mechanism
15 _ Because this is a parallelogram structure, when changing direction, the speed of the two front wheels is the same, thus easily causing slipping
_ The coaxility of two drive wheel need to be considered
_Because of using Differential so need to consider about the transmission ratio of differential to choose another equipment and drive, creating pressure for the two rear wheels
_Make sure 2-way coaxial engine and rotate together speed while running on the road straight If the following part
_If the car is heavy, the car will be easy got caught
_The problem of coaxiality of the two front wheels must be solved
_ Mathematical and control is really complex
_ Due to the use of differentials, the transmission ratio of the differential will greatly influence the selection of suitable equipment
After comparing some popular structures of available robot Next, it is necessary to consider the influence of each structure on the load requirements of the project (pay special attention to 3 - wheels and 4 - wheels structures) Therefore, to clarify, the next part will be to compare and decide on the most optimal number of wheels for this topic
2.1.2 Influence and comparison between the number of wheels
Some criteria of 3 – wheels and 4 – wheels structures will be estimated to choose the most appropriate structure for this project be showed in the below Table 2.3 below:
Table 2.3 Comparing principle diagram of some structures
Number of wheels 3 wheels 4 wheels
_ The coplanar problem is relatively simple
_ When cornering, it is easy to overturn
_The mathematical model is relatively simple, so the control algorithm is also simplified
_Often use a differential, thereby bypassing the rear wheel coaxial problem, easily distributing speed on both wheels when cornering
_ Road holding ability is not good
_ If you do not use a differential, you must consider the coaxial ability of the rear wheels, and the ability to accurately control the speed of the rear wheels
_ Make sure all 4 wheels are flat
_Complex in control and mechanical design
_ Must ensure coaxiality of the front wheel
After giving some pros and cons of 3 – wheels and 4 – wheels structures, the score of each structure is estimated in below Table 2.4 So that, the most appropriate structure will be chosen:
Table 2.4 Estimating to choose the most appropriate structure
The mathematical model ( to design the controller )
Must ensure coaxiality of the front wheel
The coaxial ability of the rear wheels
Make sure all wheels are flat
Complex in control and mechanical design
So, after estimating the pros and cons of 3 - wheels and 4 - wheels structure, our group decided to choose 3 - wheels structure for this project because it satisfies most of the conditions and requirements set for this project a) For the passive wheel selection
Two type of passive wheel commonly used for mobile robot are roller ball bearing and caster wheels However, the characteristics of the caster wheel is that the distance between the axis of rotation and the wheel shaft causes the ”shopping-cart” phenomenon that effects the kinematic equation of vehicle
To avoid this phenomenon, our team decided to choose the roller ball bearing The parameters of the wheel is that:
18 b) For the proactive wheel selection
Choose V2 wheels for good rigidity After consulting the designs of the teams in the overview section, the team initially decided to try with V2 wheels
- Model: 65mm Hexagon Motor Coupling 12mm wheel V2 - Material: Plastic, foam, rubber
Micro-controller selection
Similar to the selection of structure and number of wheels above, the micro- controller part is also carefully compared and selected after the following criteria are compared and evaluated The comparison results are shown in Table 2.5 below:
Table 2.5.Comparing 3 types of popular micro-controller
Type of micro- controllers STM Micro Chip PIC ESP
Digital output Have Have Have
Analog reading _Have Analog read input
_Supports communication standards relay I2C, SPI, UART…
_Supports communication standards relay I2C, SPI, UART…
_Supports communication standards relay I2C, SPI, UART…
_Supports modules external interrupt, timer
_Supports modules external interrupt, timer
_Supports modules external interrupt, timer
_Fast processing speed Compact, easy to install
_The charging circuit is the same IDE is diverse and easy to use
_The charging circuit is the same IDE is diverse and easy to use
The charging circuit is the same IDE is diverse and easy to use And the library is also easy to use
_The number of analog channels is relatively limited
_The number of analog channels is relatively limited
_Processing speed is relatively slow
_Only suitable for centralized control
After that, the general criteria of each micro-controller line are clearly evaluated
To be able to choose the most accurate type of micro-controller for this project, a scoring table is needed to consider choosing the most suitable type
The criteria for selecting a micro-controller that satisfies the requirements of the test and the group will be selected after the scoring table based on the group's criteria is completed Shown in Table 2.6 below:
Table 2.6 Estimating to choose the most appropriate micro-controller
Criteria STM Micro Chip PIC ESP
Easy to code and control 0 0 1
The charging circuit is the same IDE is diverse and easy to use
The library ( easy to use ) 0 0 1
Supports modules external interrupt, timer
So, after estimating the pros and cons of 3 type of popular micro-controllers, our group decided to choose ESP32 for this project
- Central module: Ai-Thinker ESP32-S
- Support Interface: UART/SPI/SDIO/I2C/PWM/I2S/IR/ADC/DAC
- Power used: 5VDC from Micro USB port
- Integrated charging circuit and UART communication CH340
- Standard 38 pin 2.54mm plug, full output of ESP32 module
- Integrated Led Status, IO0 (BOOT) and ENABLE push buttons
In addition to the ESP32-S, which is considered the master of the control structure, the project also considers using an Arduino Micro Compatible as a slave in the control structure of the IR sensors because of the number of pins analog signal satisfies the group's requirements
Figure 2 4 Arduino Micro Compatible Parameter of Arduino Micro Compatible:
- Supply voltage: recommended 6~9𝑉𝐷𝐶 (Raw pin), level above 12𝑉𝐷𝐶 IC will burn the voltage regulator IC of the circuit
- Integrated Micro USB port on the board
- There are LEDs that display power and status
Other electrical selections
- The voltage and current at the output must be at least greater than the voltage and current maximum power of the motor ( 𝑉 = 12𝑉 , 𝐼 ≈ 1.3𝐴)
- The motor-driver block must be linear within the range of usage values
Our team decided to choose L298 DC Motor Driver
Figure 2 5 L298 Driver Parameters of L298 driver:
- Maximum capacity: 25𝑊 1 bridge (note capacity = current x voltage, so the higher the input voltage, the smaller the current, the rated capacity is 25𝑊)
- Maximum current for each H-bridge is: 2𝐴
- Logic voltage level: Low −0.3𝑉~1.5𝑉, High: 2.3𝑉~𝑉 𝑠𝑠 - Dimensions: 43 × 43 × 27𝑚𝑚
Because of it needs to supply power for micro-controller with voltage 5𝑉 and for driver with voltage 12𝑉, so we need to choose the low voltage circuit to divide the voltage from the source of batteries
Our team decided to choose DC-DC Buck LM2596 3𝐴
Figure 2 6 DC-DC Buck LM2596 3A Parameters of DC-DC Buck LM2596 3A:
- Output voltage: Adjustable between 1.5𝑉 and 30𝑉
Choose to use an IR infrared sensor and use the one that has it pair of TCRT5000 infrared receiver and transmitter bulbs with resistance parameters, approx optimal sensing distance compared to table surface, transmitting angle and receiving angle…
Figure 2 7 TCRT5000 Infrared Reflective Sensor
The straight bar load cell (or strain gauge) can translate up to 5kg of pressure (force) into an electrical signal Each load cell is able to measure the electrical resistance that changes in response to, and proportional of, the strain (e.g pressure or force) applied to the bar With this gauge you will be able to tell just how heavy an object is, if an object's weight changes over time, or if you simply need to sense the presence of an object by measuring strain or load applied to a surface
Each straight bar load cell is made from an aluminum-alloy and is capable of reading a capacity of 5𝑘𝑔 These loadcell have four strain gauges that are hooked up in a Wheatstone bridge formation
Figure 2 9 Wheatstone bridge circuit in loadcell
To use loadcell to connect with micro-controller, we need to use ADC Converter HX711 with library
Figure 2 10 ADC Converter HX711 Table 2.8 ADC Converter HX711 parameters
To supply power for robot, we decided to choose 18650 Li-Ion Rechargeable Battery for robot
Table 2.9 ADC 18650 Li-Ion Rechargeable Battery
Type 18650 Li-Ion Rechargeable battery
After completing the selection process of conponents for the projec The next part is that calculating and build the structure of the robot as well as claculating the size and install all components selected above
MECHANICAL DESIGN
The centroid of mass
The center of gravity coordinates: choose the coordinate system as shown below
Figure 3 1 Coordinate applying to robot
Choose the location to place the heavy object at position 𝑥 = 𝐿
4 where 𝐿 is the distance between the front and rear wheels, 𝐺 1 and 𝐺 2 are the center of gravity of the robot and of the heavy object We can calculate the coordinates of the center of gravity of the system
8 = 24.5 𝑁 Considering the forces acting on a active wheel, we have a mathematical model
Figure 3 2 Forces acting on the wheels
Suppose the time it takes the robot to accelerate from 0 to its maximum speed of 0.5 m/s is 𝑡 = 1 𝑠 We have the acceleration of robot is:
0.0325 = 15.385 (𝑟𝑎𝑑/𝑠) For calculation of the minimum required power, maximum estimated total force and the maximum desired speed must be known The maximum estimated total force is equal to the sum of gradient resistance force, air drag force (which can be assumed as 0), rolling resistance force and inertial force, which is equal to mass times acceleration
- 𝑀: total mass of the robot paltform
- 𝑎 𝑚𝑎𝑥 : maximum acceleration of the robot
When the robot moves on the road, the rolling resistance will be:
- 𝑓 𝑟𝑜𝑙𝑙 : coefficient of rolling resistance (supposed to work at very good tarmac)
= 17.7(𝑁) The torque of the motor can be given by the equation:
The mechanical power of the motor: 𝑃 = 𝜏 × 𝜔 = 0.29 × 15.385 = 4.46(𝑊)
For a car to move, there must be a certain amount of grip between the contact area between the wheel and the surface That grip is characterized by a quantity called the coefficient If the traction coefficient is low, the wheel may slip when large torque is transmitted to the active wheel, then the vehicle cannot move forward
- 𝑃 𝜑 is the traction on the active wheel
30 - 𝜑 = 0.8 is the adhesion coefficient of wheel
- 𝐺 𝜑 = 4.25 × 9.81 = 41.69 𝑁 is gravitational force apply on wheel
In order for the active wheel to not slip when the robot moves, the traction force P must be small or equal to the grip force
- 𝑃 𝑚𝑜𝑡𝑜𝑟𝑚𝑎𝑥 is maximum pulling force of the motor
The motor of robot active at the 𝜏 = 0.29 𝑁 𝑚 < 1.084 𝑁 𝑚, so make sure the robot does not slip while moving
Based on the power and number of revolutions calculated, we choose the DC Servo JGB37-520 Geared Motor (𝑤 = 333 𝑟𝑝𝑚, 𝑃 = 20𝑊)
Figure 3 3 DC Servo JGB37-520 Geared Motor
Table 3.1 The DC Servo JGB37-520 Geared Motor parameters
Supply voltage for motor operation 3 − 12𝑉
Supply voltage for active encoder 3.3 − 5𝑉𝐷𝐶
Gear ratio via gear reducer 30: 1
Number of pulses when passing the gear reducer 330 𝑝𝑢𝑙𝑠𝑒𝑠
Maximums withstand current under load 1000𝑚𝐴
Chassis robot calculation
When cornering, due to the influence of gravity, the robot may roll over To prevent this, we design the distance between the two wheels and the height accordingly so that the robot does not overturn
Figure 3 4 Calculation model and force analysis when the robot takes a turn
Call the distance between the two wheels is a and the height of the vehicle's center is 𝑏
Moment causing the robot to overturn:
2 × 𝑎 To keep the car from overturning: 𝑀 2 ≥ 𝑀 1
Because the total length of the 2 motors and gear box is 134mm So we roughly choose the distance between the two wheels to be 𝑎 = 150 mm Choose the ratio 𝑏
𝑎 0.4, getting the height of the vehicle's center of gravity as 𝑏 = 60 mm.
The centroid of mass
Figure 3 5 Mass of centroid of the robot
The centroid of car design following the vertical:
- 𝑎: distance between the centroid to front wheel
- 𝑏: distance between the centroid to back wheel
- ℎ 𝑔 : distance between the centroid to ground
33 Base on the weight and coordinates of car’s centroid, we determine the centroid of mobile following:
𝐿 𝑍 2 = 𝐺 − 𝑍 1 The weight of component include:
- 𝐺 𝑠 : weight of line-following sensor
The centroid of car without object:
𝑍 2 = 4217 The centroid of car with object:
The pre-build of robot’s mechanical structure
After calculating, the mechanical structure of the robot is built with calculated parameters above The result is shown is the Figure 3.6 below:
35 a) 3D structure of robot in top view b) 3D structure under view
Figure 3 6 3D structure of robot in Solidworks
3.5 Total deformation, equivalent elastic strain and equivalent stress testing
To ensure sturdiness and stability in mechanical design, with the selected material is aluminum Testing durability is essential In this project, Ansys Workbench 2023 software is used to calculate and analyze total defeformation, equivalent elastic strain and equivalent stress of the robot’s mechanical structure The analysis results is shown in the Figure 3.7, Figure 3.8 and Figure 3.9 below:
Figure 3 7 Total deformation analysis in Ansys Workbench
Figure 3 8 Equivalent Elastic Strain analysis in Ansys Workbench
Figure 3 9 Equivalent stress analysis in Ansys Workbench
After calculating, choose a motor that matches the requirements set for the robot, as well as calculate the necessary parameters to build the robot's structure Structurally, the robot has been built with appropriate parameters that the team has calculated The next part will be processing the motor signals and controlling the robot's motors
MOTOR CONTROL
Determine number of samples and sampling time
DC Servo JGB37-520 DC Geared Motor has the maximum speed of 333 𝑟𝑝𝑚 when no load is applied With transmission ratio is 1: 30, the motor speed before going through the gearbox is
60 = 166.5 (𝑟𝑝𝑠) With the desired error is 5%, the setting error is 5% × 𝑛 = 8.325 𝑟𝑝𝑠
So that, the maximum sampling interval could be 𝑇 𝑛 = 8.325
100 = 0.08325 𝑠 Applying Shannon – Nyquist sapmling theorem, we can calulate that:
𝛿𝑇 = 1 𝑓 𝑠 = 0.04𝑠 So, choosing samples obtaining cycle:
𝛿𝑇 = 0.04𝑠 Moreover, the number of obtained samples need to get is that:
Transfer function of motor 1 estimation
- The output data: the speed of motor ( 𝑅𝑃𝑀 )
After measuring and taking data of input (%𝑃𝑊𝑀) and output (𝑅𝑃𝑀), we obtained the table with relationship between input and output is as follow:
The result between the %𝑃𝑊𝑀 and 𝑅𝑃𝑀 of motor 1 show in the diagram below:
Figure 4 1 Diagram of %𝑃𝑊𝑀 and 𝑅𝑃𝑀 of motor 1
Do the signal processing step by using time plot to check noise signal through the figure between input and output over time
Figure 4 2 Diagram of input and output of motor 1 over time
40 Based on the result of the diagram above, with input signal ( %𝑃𝑊𝑀 ), increased over time without sudden change However, for the output signal, it only reached a relative level So that, we need to process the data of output signal by filtering its data
In this case, for simple, using low-pass filtering to process the data of output signal, with cut-off frequency is 0.05 and filter-order is 1 The result is recorded by the diagram below:
Figure 4 3 Diagram of ouput after processing of motor 1 over time
After that, the level of data obtained after processing from the diagram above is relatively linear So that, we can base on this result to estimate the transfer function of Motor 1 by using Matlab Identification
Find transfer functions of the motor by using the system identification methods
Figure 4 4 Diagram of transfer functions estimation of motor 1
Figure 4 5 Step respond of motor 1
After calculating the transfer function of motor 1, need to re-check it compared to the transfer function of raw data So that the result is:
Figure 4 6 Re-check the transfer function after processing of motor 1
Transfer function of motor 2 estimation
- The output data: the speed of motor ( RPM )
After measuring and taking data of input (%PWM) and output (RPM), we obtained the table with relationship between input and output is as follow:
43 The result between the %𝑃𝑊𝑀 and 𝑅𝑃𝑀 of motor 2 show in the diagram below:
Figure 4 7 Diagram of %𝑃𝑊𝑀 and 𝑅𝑃𝑀 of motor 2
Do the signal processing step by using time plot to check noise signal through the figure between input and output over time
Figure 4 8 Diagram of input and output of motor 2 over time
Because the graph between input over time and the graph between output over time is stable, there is no need to process the signal
Find transfer functions of the motor by using the system identification methods
Figure 4 9 Diagram of transfer functions estimation of motor 2
Figure 4 10 Step respond of motor 2
After finishing this part with the goal is to find the transfer fucntion of two motors, as well as the response of each ones The next part will discuss the kinematics of the robot, to be able to control the robot more accurately, satisfying the requirements
SYSTEM MODELING
Model analysis and calculations
With the requirements set out, choosing the kinematic or dynamic analysis option would be more reasonable, because based on the team's design, the vehicle control option would be to control the speed of the two engines DC Motor JGB37-520.
Dynamic equation of robot
There is a mobile robot which is located on a 2𝐷 - plane in which a global Cartesian coordinate system is defined The robot in the world possesses three degrees of freedom in its positioning which are represented by a posture:
The entire locus of the point (𝑥(𝑡), 𝑦(𝑡)) is called a path or trajectory If the time derivatives 𝑥̇ and 𝑦̇ exist, 𝜃(𝑡) is not an independent variable any more
The kinematic equation of robot in fixed coordinate 𝑂𝑥𝑦 ( using for tracking the system in simulation ):
- 𝑣, 𝑤: are the linear and angular velocities of robot
The kinemtic equation of tracking point 𝑆:
Figure 5 1 System modeling of robot in Oxy
- 𝑑: is the distance from center of robot to tracking point 𝑆 (also sensor position)
The kinematic equation of reference point 𝑅:
- 𝑣 𝑅 : is the desire velocity of robot
The controller is designed for the tracking point 𝑆 to track the target point 𝑅 in the reference path with the desired velocity 𝑣 𝑅 To do this, define the tracking error as following:
] × [ 𝑥 𝑅 − 𝑥 𝑆 𝑦 𝑅 − 𝑦 𝑆 𝜑 𝑅 − 𝜑 𝑆 ] Or it can be shown as:
𝑒 3 ̇ = 𝜔 𝑅 − 𝜔 After some calculations, the error kinematics can be derived as follows:
Kinematic equation at point 𝐶 related to velocity of robot (using for analyse the error of the system):
- 𝑏: distance between center of wheels
- 𝜔 𝑟 , 𝜔 𝑙 : velocity of right and left wheels (𝑟𝑝𝑚)
Set 𝑣 𝐶 is constant, then 𝜔 𝑙 , 𝜔 𝑟 change depend on the value of 𝜔 𝐶
Figure 5 2 System modeling of robot in Cxy
Considering the instantaneous motion of the robot in the relative coordinate system 𝐶𝑥𝑦 and set R(𝑥 𝑅 ; 𝑦 𝑅 ) is the intersection of horizontal side of line detector and the guide line, we have:
- 𝑒 1 , 𝑒 2 are respectively error of position in 𝐶𝑥 direction and error of angular
- 𝐶: midpoint of two active wheels
49 After having the equation for the linear velocity and angular velocity of the left and right wheels, determine the change in left and right wheel speeds over the robot's travel distance in Matlab software shown in Figure 5.3 below:
Figure 5 3 Velocity between two wheels simulation in Matlab software
After having the equation for the linear velocity and angular velocity of the left and right wheels, determine the change in left and right wheel speeds over the robot's travel distance shown in the Figure 5.4 below :
Figure 5 4 Velocity between two wheels in experimental operation
SENSORS CALIBRATION
Loadcell
Before proceeding with data processing and calibrating the loadcell sensor, it is necessary to wire the connection between the loadcell sensor and the MCU (ESP32-S), the wiring diagram is followed by the manufacturer as follows:
Figure 6 1 Wiring loadcell with ADC Converter HX711 to ESP32-S
After wiring the loadcell sensor to ESP32-S, proceed to read the return value of loadcell, the results is recorded by the Table 6.1 below:
Table 6.1 Loacell sensor analog read
No The volume of the load Signal read
The result is shown by the diagram Figure 6.2 below:
Figure 6 2 Loadcell sensor calibrating result
The returned loadcell analog reading value is a linear function of the measured loadcell mass Therefore, continue calibrating the loadcell to convert the return signal to a mass unit of 𝑔𝑟𝑎𝑚𝑠
52 The result after calibrating loadcell sensor with load 2𝑘𝑔 is recorded in IDE:
Figure 6 3 Loadcell sensor calibrating result – unit: grams
IR sensors
Figure 6 4 PACKAGE DIMENSIONS in millimeters of TCRT5000 Table 6.2 TCRT5000 sensor specifications
Receiving angle 30 𝑜 phototransistor max current
LED max current IF max 6 𝑚𝐴
6.2.1 Calculating resistor for each sensor
Figure 6 5 Sensor TCRT5000 circuit diagram
Figure 6 6 Collector emitter saturation voltage and collector current
Because the LED operates for a long time, we choose the current through the LED 𝐼 𝐹 = 20(𝑚𝐴) Then, get 𝑉 𝐶𝐸 ≈ 1𝑉, resistor 𝑅 1 is calculated as:
Figure 6 7 Forward Current and Forward Voltage
With 𝐼 𝐹 = 20 𝑚𝐴, get 𝑉 𝐹 = 1,18 𝑉, then resistor 𝑅 2 is calculated as:
6.2.3 Determine how to mount the sensor
TCRC5000 sensor has 2 installation methods:
- Receiver and transmitter lights are placed perpendicular to the path (position 1)
- Receiver and transmitter lights are placed in parallel along the path (position 2)
Figure 6 8 Effect of sensor placement on switching distance 𝑋 𝑑
55 Based on the graph, we see that Switching distance 𝑋 𝑑 of position 1 (placed horizontally) is always smaller than Switching distance 𝑋 𝑑 of position 2 (placed vertically)
When going from a white background to a black background, the sensor's recognition ability depends on the 𝑋 𝑑 value The smaller the 𝑋 𝑑 value, the better the sensor's ability to recognize the line So choose a horizontal layout
According to the image above, we see that with a layout like the horizontally placed claimed, the width of the detection area is smaller, meaning higher resolution
Choose the sensor installation option according to the horizontally placed
6.2.4 Determine the height to place the sensor
Figure 6 9 Analyze the transceiver area of the TCRT5000 sensor
56 The distance between two sensors is 𝑑 = 3.5 mm Transmitting angle α = 16ᴼ, receiving angle β = 30ᴼ The distance range for sensor operating normally:
From the data above, we can determine the value of interference area 𝑋 𝑑 and height ℎ
For the sensor to work well, it is necessary to ensure that the 𝑋 𝑑 interference region appears:
↔ 𝑑 1 + 𝑑 2 2 ≥ 3.5 ↔ ℎ ≥ 4.05 Therefore, we need to place the sensor at a distance ℎ ≥ 4.05 𝑚𝑚 from the track
Conduct the experiment at a height ℎ = 10 𝑚𝑚 Sensors are tested in fully shielded conditions to get the best height The best height is the height where the analog value returned between the black background and the white background differs the most
Figure 6 10 Minimum distance between 2 adjacent sensors
With ℎ = 10 𝑚𝑚, we can calculate the minimum distance between the transmitter and receiver areas of two adjacent sensors so that there is no interference as:
𝑙 𝑚𝑖𝑛 = 𝑅 + 𝑟 = 6.1776 + 3.0682 = 9.2458 𝑚𝑚 According to the datasheet, the length of each sensor is
𝐿.2𝑚𝑚 < 𝑙𝑚𝑖𝑛 ≈ 10.974𝑚𝑚 Choose the minimum distance between the two sensors is 𝑑 𝑚𝑖𝑛 = 11𝑚𝑚
→ Maximum of 3 sensors can capture lines with a thickness of 26mm:
− 2 sensors with detection areas in line
− 3 sensors with detection areas in line
In addition, when operating, the sensor bar also has an uncertain area That is, when the sensor bar moves across the line, the reading value at the sensors in the line is the same
Consider the case of 2 sensors with detection areas in line:
Figure 6 11 The model represents case of 2 sensors with in-line detection areas
When we move the sensor to the right about 26 − d (mm) then there are always 2 LEDs in the line and the obtained analog value will be the same so it falls into the uncertainty region Or when moving left about 26 − d (mm), only 1 sensor detects the line and only receives 1 analog value, meaning it falls into an uncertain area Therefore, to limit the sensor falling into the uncertain area, choose the distance between the two sensors d so that 𝑓 1 = 26 − 𝑑 and 𝑓 2 = 2𝑑 − 26 reach the smallest value
Because function 𝑓 1 is a monotonically decreasing function, 𝑓 2 is a monotonically increasing function, so to satisfy the requirements of the problem, 𝑓 1 = 𝑓 2
→ 𝑑 = 17.3(𝑚𝑚) ≈ 17(𝑚𝑚) Consider the case of 3 sensors with detection areas in line:
Figure 6 12 The model represents case of 3 sensors with detection areas in the line
When the sensor moves to the right in the range of 26 − 2𝑑 (mm), the 3 sensors always have a detection area within the line and the obtained analog value will be the same, so it falls into the uncertain area Similarly, when moving to the left about 3𝑑 −26 (mm), there are 2 sensors detecting the line and only receiving 1 analog value,
59 meaning it falls into the uncertain area Therefore, to limit the sensor falling into the uncertain area, choose the distance between the two sensors d so that 𝑓 1 = 26 − 2𝑑 and 𝑓 2 = 3𝑑 − 26 reach the smallest value
Because function 𝑓 1 is a monotonically decreasing function, 𝑓 2 is a monotonically increasing function, so to satisfy the requirements of the problem, 𝑓 1 = 𝑓 2
→ d = 10,4 11(mm) From the above two cases, we choose a larger distance to minimize the possibility of interference between two adjacent sensors So we choose the case 𝑑 = 17 (𝑚𝑚), which means the distance between two adjacent sensors is 𝑑 = 17 (𝑚𝑚)
Because under the same conditions, different sensors return different analog values, the sensor must be calibrated to synchronize the returned analog values of the sensors within a range of values
- 𝑦 𝑖 is the analog value of the sensor number i after calibration
- 𝑦 𝑚𝑖𝑛 , 𝑦 𝑚𝑎𝑥 are the desired minimum and maximum analog values
- 𝑥 𝑚𝑖𝑛,𝑖 ; 𝑥 𝑚𝑎𝑥,𝑖 is the actual largest and smallest analog value read by the ith sensor
- 𝑥 𝑖 is the actual analog value of the sensor number 𝑖
Table 6.3 Maximum and minimum analog value from set of 7 sensors
6.2.7 Calculate the error by weighted average approximation
After calculation, our team decided to use 7 sensors to detect the line
Suppose the coordinates of the 5 sensors are 𝑥 1 , 𝑥 2 , 𝑥 3 , 𝑥 4 , 𝑥 5 , 𝑥 6 , 𝑥 7 respectively compared to the centerline
Line and the corresponding 𝐴𝐷𝐶 values are 𝑦 1 , 𝑦 2 , 𝑦 3 , 𝑦 4 , 𝑦 5 , 𝑦 6 , 𝑦 7 So the position relative to the centerline is calculated according to the following formula:
After experimenting with reading the signal of the sensor cluster at a height of h 12 (mm) compared to the table surface with limits on both sides compared to the line centerline of −40(𝑚𝑚) → 40(𝑚𝑚), the result is shown in the Table 6.4 below:
Table 6.4 Distance from line centerline when applying weighted average method
Actual distance from line centerline (mm)
Approximate distance from line centerline (mm)
Based on the actual distance data from the line centerline and the weighted average value, performing linear approximation, we get the linear approximation equation when using Matlab estimating is shown in the Figure 6.13 below:
Figure 6 13 Using Matlab to determine the linear approximation equation from data
Based on the data table, the maximum error between the actual distance from the line centerline and the approximate measured distance is: 𝑒 𝑚𝑎𝑥 = 4.48 𝑚𝑚
→ With this error value, we can get the value of the sensor's height compared to the table surface as ℎ = 12𝑚𝑚
Based on the parameters calculated and selected above:
- Height of the sensor compared to the surface of the table: ℎ = 12𝑚𝑚
63 After having the necessary parameters, use Altium software to design the circuit for the line detector and the results are as Figure 6.14, Figure 6.15 and Figure 6.16 below:
Figure 6 14 Sensor circuit wiring diagram
Figure 6 15 The circuit is built with Altium
Figure 6 16 The actual circuit after printing
6.2.9 Mechanical design for install IR sensors system to the robot
Since using the TCRT5000 sensors with Analog reading signals, disturbances comes from many different reasons such as lighting conditions, tightness of connection wires, Especially lighting conditions, because when performed in many different environments, it greatly affects the robot's ability to operate stably
To limit disturbances, the team designed and installed a line detector as follows:
Figure 6 17 Mechanical design for line detecting sensor installation
The number of batteries calculation
The minimum battery operating time: 20𝑠
Table 6.5 Technical specifications required for devices using control sources
No Device Quantity Maximum curent
Using factor safety 𝑘 = 1.3, the minimum power used for the control source is:
3600= 49.8 𝑚𝑊ℎ The minimum capacity of the battery
Table 6.6 Technical specifications required for devices using control sources
No Device Quantity Maximum curent
Using factor safety 𝑘 = 1.3, the minimum power used for the control source is:
3600= 113.75 𝑚𝑊ℎ Because we use 2 low voltage circuit LM2596 with voltage 12𝑉 and 6𝑉 So, the minimum capacity using for motivate source is:
So that, we choose 4 batteries 18650 3.7𝑉 ~1200𝑚𝐴ℎ to to provide power for the entire robot
After calculating and choosing the appropriate number of batteries for the robot
The team has completed the robot design with the following overall shape is shown in the Figure 6.18 below:
Figure 6 18 Shape of the robot after completing design and installation
After performing simulation drawings on the software and installing the components on it, the team began to arrange them similarly to the parts and proceed with complete assembly on the robot and the results after assemling in the Figure 6.19 below:
Figure 6 19 The actual shape of the robot after completing the overall design
In this part, loadcell sensor and line detecting sensors are calibrated, also the number of necessary batteries is calculated Therefore, the robot has also been assembled according to the design requirements set out by our team at the beginning
The next part will be designed a controller for the robot, to be able to satisfy the project requirements
CONTROL DESIGN
Controller design criteria
The essence of the robot’s movement in this project is the impact from two JGB37- 520 engines Therefore, controlling these two motors is the most important factor affecting the robot’s movement Therefore, the design of a two-motors controller with the criteria set by the group has been calculated and designed as follows
PID controller design for two motors JGB37-520 criteria
Based on the transfer function of motor – driver above is a linear system
Therefore, to simplify for controller design, PI controller is enough with linear system
The input, output and control variable value determined as follows:
- Input value: 𝑃𝑊𝑀 value for driver
- Ouptut value: 𝑅𝑃𝑀 value of motor
Controller design of motor criteria:
Design criteria for line tracking controller
The input, output and control variable value determined as follows:
- Input value: error between sensor center and line center
Controller design of motor criteria:
Controller design
After providing a series of criteria for designing the controller for the motor and the controller performing line tracking Based on those criteria, the team began to realize the controller design for the robot as follows:
PID controller design for two motors JGB37-520
The transfer fucntion of two motors is estimated in the above part:
Table 7.1 Transfer function of 2 motors
Block diagram of PID controller is a closed – loop as following:
Figure 7 1 Block diagram of motor – driver controller
In which the equation for the PID block to calculate 𝑃𝑊𝑀 value given to the driver from 𝑅𝑃𝑀 error value is:
70 Then, simulating the block diagram of the transfer function of the PID control system for the motor - driver L298 using Matlab Simulink as follows
Figure 7 2 Block diagram of motor – driver controller in Matlab Simulink
With the criteria of the motor controller - driver required above, select the PI coefficient to suit the requirements of each motor
Figure 7 3 PID Tuner in Simulink using for Motor – Driver 1
Figure 7 4 PID Tuner in Simulink using for Motor – Driver 2
71 It should be considered that, when re-tunning the 𝑃𝐼𝐷 coefficient in practice, the result of 𝑃𝐼𝐷 coefficient may vary from the calculation due to the following factors:
- The mechanical structure of robot is not completely accurate due to the fact that tolerance has exist
- Load volume is also a factor that causes the 𝑃𝐼𝐷 coefficient to be changed
Design for line tracking controller
With the system of equations representing the error derivative calculated above:
Dynamic characteristis equation based on point 𝑅:
𝑒̇ 3 = 𝜔 𝑅 − 𝜔 Controller for line tracking problem
𝜔 𝑅 = 0 when robot turns a conner At the radius 𝑅 = 500 𝑚𝑚
When the robot start to run :{ 𝑒 1 = 0
−1] 𝜔 Characteristics matrix of mechanical system
0] Transfer function of mechanical system
Steady-state error (5%), the settling time is calculated by:
→ 𝜔 𝑛 = 8.69 The transfer function of system:
1 + 𝐺(𝑠)𝐺 𝑐 (𝑠) The characteristic equation of system:
After calculating and designing the controller for the motor and line detector, the next step will be to calculate the control algorithm for the robot.
Flow chart of control algorithm
After connecting the components together and processing the sensor signals, the next issue to consider is controlling the robot's operations The robot uses a decentralized controller to control each separate function of the robot
Figure 7 5 General block diagram of robot
In this block diagram, ESP32-S need to ensure below task:
- Read and process signal from loadcell sensor
- Read velocity value from encoder
- Control the motors via by driver by PID controller
- Providing 𝑃𝑊𝑀 signal for two DC motos
Arduino Micro need to ensure obtain and process signal with type of Analog from IR sensors, anh then give signal to ESP32-S
75 The velocity will be processed and transmitted in type of 𝑃𝑊𝑀 pulses for corresponding driver Micro-controller obtain 𝑃𝑊𝑀 pulses returned, then applying 𝑃𝐼𝐷 algorithm to ensure that the vehicle's speed is always compensated to the required level
The main program of robot when controlling is shown the in Figure 7.6 below, and each stage of robot is illustrated by:
- Step 1: Initialize the timer, the I/O ports used, loacell, sensors, etc
- Step 2: Start to read sensors signal
- Step 3: After arriving at the receiving location ( the robot will stop when the sensor reads the Black value at a series of sensors ), if no mass is detected, the Robot will not move (State = 0) If mass is detected, the Loadcell sensor will process it (Return Block)
- Step 4: The robot will move after determining the State of the mass, corresponding to each State, the robot will move along the line exactly as programmed (Run Block)
- Step 5: After reaching the end of the journey, when the White signal is read simultaneously at several sensors, the programmed robot will stop
- Step 6: End of the program
Figure 7 6 Main program of robot controlling
The robot control algorithm is divided into two main control blocks: Return Block and Run Block Each control will be clearly shown in each section below
After receiving the signal, Loadcell will receive signal, with each State is set according to the mass of load Robot will distinguish State and choose the right line for the robot and move along the right path for that mass shown in the Figure 7.7 below:
Figure 7 7 Return block of robot
After receiving the signal and processing it in the Return Block, the robot will determine the predetermined State according to the given volume Based on that State, the robot can determine the line for that volume The Run Block is shown in the Figure
Figure 7 8 Run block of robot
Simulation
The simulation results of the robot's movements are performed on Matlab software and the actual motor and driver blocks are presented as follows
Simulation results were performed on Matlab software as shownin the Figure 7.9 below: a) Robot in line of 1kg load b) Robot in the line of 2kg load
Figure 7 9 Simulation of robot operation in Matlab software
Acutual testing results is recorded during the experimental run of the robot with environmental conditions influence (light, rough road surface,… ) is shown in the
Figure 7.10 below: a) Robot at loading area b) Robot at the curve line
80 c) Robot steers at line for 1kg d) Robot steers at line for 2kg
7.4.2 Error between the sensor center and the line center line
During the moving process, a line tracking error occurs between the center of the IR line sensor and the center of the line and the error results are recorded when simulating robot in Matlab software:
When robot tracking line for 1𝑘𝑔 and 2𝑘𝑔 – load, the error is shown by the Figure
Figure 7 11 The actual error when the robot follows the line is 1kg
Figure 7 12 The actual error when the robot follows the line is 2kg
The error between the center of line and center of IR sensor is recorded when testing the robot under real conditions as follows shown in Figure 7.13 and Figure 7.14 below:
Figure 7 13 The actual error when the robot follows the line is 1kg
When the robot took 1𝑘𝑔 – load and then tracking the line for 1𝑘𝑔 – load, the average error for each straight line and corner is record by the data below:
Table 7 1 Error for 1kg - load at each stage recorded
When took 2𝑘𝑔 – load, the result of system error of robot when tracked the line of 2𝑘𝑔 – load in Matlab software is recorded by the Figure 7.12 below:
Figure 7 14 The actual error when the robot follows the line is 2kg
When the robot took 2𝑘𝑔 – load and then tracking the line for 2𝑘𝑔 – load, the average error for each straight line and corner is record by the data below:
Table 7.3 Error for 2kg - load at each stage recorded
Comment the result of simulating
After conducting tests on many cases and situations, including simulation and reality, the team has some general comments and evaluations of the results as follows:
- The robot achieves the correct path as simulated
- The robot is capable of achieving high speeds in straight lines and decelerating when entering curves
- The error between the center of line sensors and center of line is quite large - The parameters of the line tracking controller and motor controller are different from the theoretical calculation and analysis
- Actual robot running time is longer than estimated
Some analysis and comments for differences:
- Error in mechanical structure also cause the error when conducting to control the robot
- Due to friction factors coming from the environment, especially the roller ball bearing during actual running
- The interference results from environmental lighting during actual running
After completing the simulation and testing, evaluating the robot's actual operation, as well as calculating and giving errors during the robot's operation, this is also the end of this project The following section will summarize and evaluate what the team has done during this project and at the same time guide the development of the project
SUMMARY
Comment to the implemented project
After completing the project, satisfy the group's requirements from the beginning
Some conclusions are summarized after completing the project as follows:
- The robot operates relatively stably with a relatively successful test run rate
- Complete the project according to the set schedule of 15 weeks
- There are shortcomings in mechanical design and misestimation of the impact of roller ball bearing during operation
- Line tracking error is still relatively large, easily causing instability during control and long-term operation
- There are shortcomings in the control algorithm.
Orientation for project development
After completing the project, although most of the requirements have been resolved, the group also proposed a number of options to further develop the project as follows:
- Change the mechanical structure, limit the use of roll ball bearing
- Optimize the electrical system, because it may cause interference to other components
- Optimize the vehicle's speed when cornering
- Design the battery level warning circuit and the function to switch from operating mode to charging mode so that do not need to remove the battery when need to charge it, affecting the structure
- Adjust from the problem of following the line in a predetermined order to any problem of following the line (recognizing broken lines, identifying curves, identifying corners to orient the steering angle appropriately)
[1] Tran Duc Quan, Control the line tracking robot with a PID controller
[2] Mustafa Engin, D.E (2012), PATH PLANNING OF LINE FOLLOWER ROBOT, The 5th European DSP Education and Research Conference
[3] Vikram Balaji, M Balaji, M Chandrasekaran, M.K.A.Ahamed khan, Irrai van (2015) Optimization of PID Control for High Speed Line Tracking Robots, 2015 IEEE International
Symposium on Robotics and Intelligent Sensors (IRIS 2015), pp 148 – 155
[4] Azizul Hoque, Sazia Afrin, Mir Mosharaf Hossain (2015), DESIGN &
IMPLEMENTATION OF LINE TRACKING ROBOT, A thesis submitted in partial fulfilment of the requirements for the Degree of Bachelor of Tecnology, Department of Electriccal &
Electronics Engineering – National Institute of Technology, Rourkela
[5] Sujeet Kumar Jha, Saurab Dulal, Manish Karn, Ahmed Raja Khan (2016),
LINE FOLLOWING ROBOT, A third year project report, Kathmandu University
[6] F Kaiser, S Islam, W Imran, K H Khan (2014), Line Follower Robot: Fabricationn and accuracy measurement by data acquisition, International Conference on Electrical Engineering and Information & Communication Technology (ICEEICT) 2014
[7] Juing-Huei Su, et al (2010), An intelligent line-following robot project for introductory robot courses, World Transactions on Engineering and Technology Education, Vol.8, No.4, 455 – 461
[8] Vishay Semiconductors, Application of Optical Reflex Sensors TCRT1000,
[9] Vishay Semiconductors, Reflective Optical Sensor with Transistor Output
[10] Reza N.Jazar, Springer (2017), Vehicle Dynamics: Theory and Application,
[11] Nguyen Tan Tien, Tran Thanh Tung, Kim Sang Bong (2016), Teaching set designing mechatronic systems through projects, 8th National Conference on Mechatronics, pp 416 – 422.