OVERVIEW
Overview of robot
The term Robot derives from the Czech word Robota , used in Karel Čapek’s play Romans Universal Robot in 1920, which related to “force labour” or “serf” And as it means, the robots in the play were manufactured human, then being exploited by the owners [1].
According to Robot Institute of America (1979), A Robot is a programmable, multifunctional manipulator designed to move material, parts, tools, or specialized devices through variable programmed motions for the performance of a variety of tasks.
As robotics manufacturers continue to innovate in features, pricing, and form factors, robotics solutions are being implemented in an increasing number of industries and applications Advances in computing power and
AI capabilities have enabled robots to be used in a variety of ways to achieve important objectives Robots can be divided into two groups: those that move around their environment and those that do not.
Figure 1.1: Robot arms that are being used in industries
Overview of mobile robot
In today’s world, factories have been increased rapidly which led to the demanding of intelligent types of machines controlled and supervised from distance to fulfil various tasks, especially in transporting from one place to another This kind of machine called mobile robot A mobile robot is controlled by software that uses multiples sensors to identify or assist a specific task and moves around the area that are dangerous to a human being.
Figure 1.2: Weston’s Disinfecting Mobile Robot used during COVID-
Recently, due to the outspread of COVID-19, social distance has become the cause of rapid rising of mobile robot needs, from Autonomous
Mobile Robots (AMRs) that used in distribution centres, cleaning and disinfection, healthcare to security applications, even in military Using mobile robots is also currently a trend in building smart and convenience environment in the modern world, thus, many companies and corporations have been and are improving and developing their own mobile robots that meet some specific needs.
Mobile robots can be classified by the environment they are used in:
- Polar robots – used on icing surface.
- Aerial robots – used on the air.
- Unmanned Ground Vehicles (UGVs) – used on normal ground.
- Autonomous Underwater Vehicles (AUVs) – used underwater.
Figure 1.3: Agema Unmanned Ground Vehicle, United Arab Emirates [3]
- Robot using tracks and treads.
- Robot using legs (human-like or animal-like legs).
Figure 1.4: Boston Dynamics’ Atlas going viral thanks to its human- like motion [4]
Omnidirectional mobile robot overview
Currently, mobile robots are mostly designed on wheels to achieve mobility The use of wheels is more energy efficient on hard and smooth surfaces comparing to the legged and treads [5 - 6] The most popular wheeled mobile robot uses two independent fixed driving wheels with two degree-of-freedom (DOF) including rotation around the wheel axle and around its contact point with the ground With this type of design, the robot has an even number of wheels, a domestic cleaner for example, only requires two actuators, requires less space to rotate around any position, but their drawback is that they cannot perform holonomic motion such as sideway movements Omnidirectional wheels are presented to overcome this limitation.
Figure 1.5: Different types of omni wheel available on the market
Omnidirectional wheel is first patented in 1919 by J Grabowiecki as
Vehicle wheel , published on US Patent, issued 1919-06-03 After a long time of alternating and improving, today, there are other types that can move in any direction, such as segmented omnidirectional wheel or double omnidirectional wheel, and there is also the Mecanum wheel.
Figure 1.6: J Grabowiecki’s first design of the omnidirectional wheel [7]
Mecanum wheel (or Swedish wheel or Ilon wheel) is designed by Bengt Erland Ilon in 1973 In a mecanum wheel, there are a series of rollers like the normal omnidirectional wheel, however, each roller is inclined 45 degrees to its plane The most common design of mobile robot using mecanum wheel is the four-wheel configuration.
Figure 1.7: An example of mecanum wheel design [8]
1.3.2 Recent research on omnidirectional mobile robot
Thanks to the ability to move in holonomic direction of omni wheel, the omnidirectional mobile robots have been widely used and developed according to the history records.
In 1982, the researchers from Stanford University and Palo Alto VA Medical Centre introduced a new type of wheelchair for the paraplegic patients This type consists of 3 wheels and is powered only the axial motion of each wheel, allowing the rollers to roll freely, hence, the users can travel in any direction.
Figure 1.8: Stanford’s omnidirectional wheelchair concept in 1982 [9]
Recently, Goliath, a company from Italy had introduced a new solution for CNC machines called GoliathCNC GoliathCNC is a CNC machine based on three-wheel omnidirectional mobile robot With the ability to move freely, the machine delivers precise finishes and can covers gigantic work areas thanks to the featured unique system and helpful integrated dust collector.
Figure 1.9: GoliathCNC could be an evolution to CNC industry [10]
In the industry, many cooperations are using forklifts with four omni wheels within their factories to get full omnidirectional motion capabilities.
Goal of the project
The goal of the project is to design a suitable figure of an omnidirectional mobile robot so that it can hold up all the electronics accessories Then, by applying PID, the robot will be able to move in correct directions Also, the mobile robot can be controlled through a Bluetooth app that can be installed on everyone’s phone.
LITERATURE REVIEW
Design selection
There are different types of design, however, the most common are 3-omni-wheel and 4-omni-wheel mobile robot.
A 3-omni-wheel mobile robot consists of 3 wheels, which of the pair of two separate by an angle of 120 o In fact, it is the minimum number of wheels required for the robot’s stability.
Figure 2.1: Basic motion comparison between two common types of OMR
On the other hand, 4-omni-wheel has two types of design The first type is the traditional design where the robot is split in half and each half has their own two wheels Another type is that the four wheels will be located on the vertexes of the cross figure on the robot, in which two consecutive wheels are 90 degrees apart.
The comparison between two types:
Type 3 - wheel omni robot 4 - wheel omni robot
- 3 wheels always lie on - Take advantage of 100% the same plane of motion engine efficiency since there without any special are always two wheels on the
- Easy to travel in the - Easier in calculation. rough terrains.
- Lower price (less motors and wheels)
- Harder in calculation - Harder to design the figure
- Lower efficiency and structure so that the four wheels can be on the because of only one or
Cons lower number of wheels same plane. that have the same - Greater amount of money direction of the robot to get wheels and motors. motion.
Table 2.1: Comparison between 3-wheel and 4-wheel OMR design [11]
The purpose of the project is not to carry too much load but being able to move freely without difficulties, hence the author chooses to make a
Kinematics model
2.2.1 Kinematics of generalized wheel model
Generalizing the model of the omnidirectional wheel, the kinematics can be shown as:
Figure 2.2: Force analysis on a general omnidirectional wheel (1)
All types of omnidirectional wheels are provided rollers which are the crucial parts to travel in holonomic direction For the omni wheels, all the rollers are perpendicular to the motion vector, thus, the ΦΦ mentioned in
Figure 2.2 equals to 0, mostly 45 degrees if the wheel is mecanum, tilt angle is not considered.
The wheel velocity can be computed as:
: the wheel velocity when it rotates. Φ Φ : the angular velocity of the wheel. Φ Φ : the radius of the wheel.
However, the rollers are also pure rolling, the formula for the sliding velocity can be assumed independently taken as:
: the rotating velocity of the passive rollers. Φ Φ : the rotational velocity of the passive rollers. Φ Φ : the radius of the rollers.
Figure 2.3: Force analysis on a general omnidirectional wheel (2)
(2.6) can be rewrite in matrix form as:
All the above functions in the wheel frame, now, we consider the alternation in the vehicle frame (or the base).
Assume the B frame and C i frame are parts of a single body:
Figure 2.4: Force analysis on the vehicle (base) frame
From Figure 2.4 , the velocity of the wheel frame can be resolved in the vehicle frame as: Φ Φ̇ Φ= Φ Φ Φ̇ Φ Φ Φ Φ Φ Φ( Φ Φ Φ) Φ− Φ Φ Φ̇ Φ Φ Φ Φ Φ Φ( Φ Φ Φ) Φ Φ ̇= Φ Φ Φ̇ Φ Φ Φ Φ Φ Φ( Φ Φ Φ) Φ+ Φ Φ Φ̇ Φ Φ Φ Φ Φ Φ( Φ Φ Φ) Φ Φ
The velocity matrix of the vehicle is:
Since the vehicle is having instantaneous velocity of u, v and b , which gives the tangential velocity at point C i Assume the robot is moving counterclockwise (in the direction of b shown), which generates the tangential velocity in opposite direction of Φ Φ Φ̇ and in the same direction of Φ Φ̇ Here, the force analyzing formulas become:
From (2.11) and (2.12), the velocity matrix of the vehicle can be rewritten as:
− Φ Φ Φ Φ Φ Φ( Φ Φ Φ) Φ Φ Φ Φ Φ Φ( Φ Φ Φ) matrix of [ Φ Φ Φ Φ Φ Φ( Φ Φ Φ) Φ Φ− Φ Φ Φ Φ Φ Φ( Φ Φ Φ) ] in both side of (2.14): Φ Φ Φ Φ Φ Φ( Φ Φ Φ) Φ Φ Φ Φ Φ Φ( Φ Φ Φ) Φ Φ Φ Φ Φ Φ( Φ Φ Φ) Φ Φ Φ Φ Φ Φ( Φ Φ Φ) 1 0 − Φ Φ
: Angular velocity of the i th wheel.
: Radius of the i th wheel.
: Angle between roller axis andaxis.
: Angle between the vehicle frame and wheel frame.
14 and are the position coordinates of C i with reference to B.
: Forward velocity of the mobile robot w.r.t frame B. : Lateral velocity of the mobile robot w.r.t frame B. : Angular velocity of the mobile robot w.r.t frame B.
2.2.2 Kinematics of 3-omni-wheel mobile robot.
The model of a 3-omni-wheel mobile robot:
Figure 2.5: Generalizing a 3-wheel OMR model
From Figure 2.5 , some of the values can be drawn as:
Applying all above values to (2.16), we can have the matrix of the robot velocity:
This is the forward kinematics of 3-wheel omnidirectional mobile robot Then, the goal is to control the driving direction of the robot, so, by inversing (2.17), we got the inverse kinematics matrix:
Dynamics model
In a general model of a mobile robot, assume that the centroid of the body frame (which in this case is a rectangular box) and the vehicle are not the same due to the location of the components attached on the robot.
Figure 2.6: Dynamics analysis of a general mobile robot
Applying the Lagrangian equation, we have:
However, since the object is a mobile robot that travels on the ground, the potential energy (PE) is neglected, only kinetic energy (KE) is considered.
The velocity of the vehicle can be drawn just the same as in the kinematics part: ̇ Φ= − ̇ Φ= −
The formula for kinetics energy then can be calculated as:
In which, is the moment of inertia of the vehicle when it rotates. The force generated can be derived as:
Then, applying Euler-Lagrangian equation to (2.22):
The point C is on the same rigid body with the point B, so it is possible to change Φ Φ Φ̇ and Φ Φ Φ̇ to Φ Φ Φ̇ and Φ Φ̇
Combining (2.20), (2.21) and (2.32), the dynamics model of a general mobile robot is:
In the project, we assume that the centroid of the robot is located right in the center position, which means that point B and C in Figure 2.6 are one Then, (2.33), (2.34) and (2.35) can be shorten as:
2.3.2 3-wheel omnidirectional mobile robot dynamics
Assume the positive direction of the force is counter clockwise.
Then, we have the figure for dynamics model:
Figure 2.7: Dynamics analysis of 3-wheel OMR
In which Φα is the angle of wheel driving direction and Doing force synthesis, we get:
It can also be written in matrix form: cos Φ(α Φ) cos Φ(α Φ) cos Φ(α Φ) 1
DESIGN AND COMPONENTS SELECTION
Hardware overview
Figure 3.1: Hardware design overview diagram
Mechanical design
3.2.1 Omni wheel and motor selection
Omnidirectional wheel is a useful wheel in many applications; thus, they are very scarce in the market After searching for a while on the internet, the author chose the 78mm omni wheels.
Body material Aluminum alloy + rubber
Table 3.1: 78mm omnidirectional wheel specifications
Since the shaft hole diameter of the wheel is rather large, the shop provided the hub especially made for omni wheel only.
Table 3.2: Omni wheel hub specifications
Figure 3.4: Way to install an omnidirectional wheel to motors
The motor plays the role of moment supplier to control the rotation of the wheel This motion is influenced by the robot’s mass and friction between the wheel and the riding surface.
Assume that the maximum velocity of the robot is 0.5 (m/s) Then the maximum speed of one motor must also equals to 0.5 (m/s) The rotation speed of motor then equals:
The minimum rotation speed is 162 (RPM).
Figure 3.5: Force analyzing on single wheel
Assume the weight of the robot is approximately 4 kg, and the maximum load to put on the robot is 1.5 kg.
Moment of inertia of the wheel:
Applying the formula of torque balance around the wheel:
In which, Φ Φ : Angular acceleration of the wheel. Φ Φ : Torque.
The angular acceleration can be computed as:
Condition for the wheel to not slip during rotating:
(3.7) Φ Φ : friction between the wheel and the plane (assume it is asphalt – 0.7). Φ Φ : weight of robot and load (assume 5.5 kg) Φ Φ : weight of an omnidirectional wheel (0.188 kg) Φ Φ : gravitational acceleration (9.81 Φ Φ Φ/ Φ Φ 2 ) Φ Φ : velocity of the robot (0.5 Φ Φ Φ/ Φ Φ) Φ Φ : Wheel radius (0.039 )
Choose the safety factor of 1.2, then the power is calculated by:
Substitute the variables into (3.7) and (3.8), we than have the requirement torque at least 1.47 ( ) to not slide when rotate, and the power is 22.61 (W).
Based on the above calculation, the author chooses JGB37-545 DC geared motor with an attached encoder for speed controller.
Encoder (16 pulse per channel per round)
Figure 3.6: JGB37-545 DC geared motor
Also, there are bracket design specially for 37 mm geared motor:
Figure 3.7: 37 mm DC geared motor mounting bracket
The robot is designed with 2 different bases, the lower base will hold the 3 motors and its drivers, while the upper base holds the electronics components The bases cannot be too far away from each other which could lead to higher center of gravity, creates greater inertia when the robot is moving.
To lower the center of gravity, the lower base needed to be as close to the ground as possible Hence, motors will be attached on face-up side of the base, then we designed the space so that the wheels can fit through the holes Also, the base needs smaller holes for pillars to hold the upper base.
The upper base is smaller than the other, however, still meets the number of holes for pillars A big hole in the center is designed for wiring connection between controllers, power source from the upper base to the motors and drivers in the lower base.
Material Dimension Small hole dimension Big hole dimension
The brass hexagonal are chosen to be the pillars, their length must be chosen carefully so that the distance between the bases is suitable to put in the motors and their holders The length chosen here is 50mm.
Then, the assembly model of the bases is:
Figure 3.11: Assembly of the two bases
The purpose of the cover is to make the overall appearance of the robot more eye-catching The cover is designed to land on the lower base and has two parts, the body, and the cap The height of the cover body will be at least twice the height of the brass so that there is enough spare space for all the modules From the top of the body, we design ledge to put the cap on There is also a slot to put in the on/off button To fix the cover body, we designed three holes to screw through.
Figure 3.12: Cover design – the body (1)
Figure 3.13: Cover design - the body (2)
The cap is designed to fit on the upper ledge provided in the body, also there are two holes make it easier to remove if necessary.
Cover’s cap outer diameter 357 Φx Φ5mm
Cover’s cap holder diameter 330 Φx Φ10 Φx Φ10 Φmm
Figure 3.14: Cover design – the cap (1)
Figure 3.15: Cover design – the cap (2)
The cover will also be made using 3D printing, with lower thickness to not increase much of the robot’s weight.
Then, we combine the two parts and get the complete cover:
Figure 3.16: Complete design of the cover (1)
Figure 3.17: Complete design of the cover (2)
Figure 3.18: Complete design of the cover (3)
Electrical system design
Arduino is currently used widely all over the world thanks to it open- source and strong user community Arduino Mega 2560 with many digital input/output pins and huge memory (256 KB) However, there are still drawbacks Understanding this disadvantage, a company in Vietnam called Vietduino has introduced an advanced version of Arduino Mega
- Arduino Mega 2560 uses LM1117 5VDC regulator which generate low efficiency output current and get hot when high current is input Vietduino Mega 2560 has switched-mode power supply with a range of 6 to 24 VDC, high conversion efficiency and short circuit protection.
- Arduino Mega 2560 uses Atmega16U2 to simulate the function of USB UART which is easily loss in firmware or burned oscillator and unable to connect via USB port Vietduino Mega 2560 on the other hand, using the official IC CP2102 with high stability and durability.
- Vietduino Mega 2560 provides power isolation in USB port when an external power supplied which keeps the users’ devices safe.
Power supply - 5V DC for the USB port.
- 6 to 24V DC for the DC barrel jack.
Output current on - 500mA for USB port supply.
5V pin - 1.5A Maximum for barrel jack.
Digital pins 54 pins (15 PWM pins).
Maximum 20mA current Memory 256 KB (8 KB for bootloader)
HC-05 is a common UART module that is used to connect devices via Bluetooth using Bluetooth 2.0 + EDR protocol.
Bluetooth v2.0+ EDR. protocol Frequency 2.4 Ghz ISM band.
Up to 10 meters. connection Dimension 26.9mm x 13mm x 2.2 mm.
Table 3.10: HC-05 Bluetooth module specifications
Steps for setting up HC-05 module:
- Before supplying power, connect VCC and GND pin to pin 5V and GND of the microcontroller, connect TX and RX pin on the module to the corresponding pins on the board (in the case of Vietduino or Arduino Mega 2560, TX is TX0, and RX is RX0) The KEY pin is then connected to GND pin on the microcontroller.
- Push and hold the button on the other side of the module Plugin the power, then change the KEY pin to the 5V pin on Arduino Release the button, if the only led on the module blinks occasionally, it means that we have accessed to AT Command.
- In the AT Command, we can change some of the few basic details for the module:
AT+RESET Reset all the details to default.
AT+ADDR Return the address of the module.
AT+NAME= Inquire device’s name.
AT+ROLE= Inquire device’s role (1: Master / 0:
AT+PSWD= Inquire device’s password (default 1234 or 0000).
AT+UART= - Param2: Stop bit (default = 0: 1bit).
- Param3: Parity bit (default =0: None).
Table 3.11: Basic AT Commands for setting up HC-05
BTS7960 is a fully integrated H-bridge with the maximum current allow is up to 43A The module can drive one motor in both clockwise and counterclockwise direction Some other functions such as protection against high temperature, under-voltage… make it popular and used in many projects.
Max power 25W in single bridge
Table 3.12: BTS7960 motor driver specifications
3.3.4 Power source and DC-to-DC converter
In this project, there are two power sources, one is for the motors, the other is used for supplying the microcontroller, from there, the 5V pin on the Vietduino will supply to other modules The author uses a 9V battery for the microcontroller board and a set of four 18650 batteries to rotate the motors.
- Voltage: 3.6 to 3.7V in nominal, 4.2V when charged.
Figure 3.22: 18650 Panasonic battery cell (up) and 9V battery
Since each motor chosen required 12V to works normally, it is necessary to combine multiple batteries in series However, either 3.7 or 4.2 is the divisor of 12, then, we need a device to lower the voltage The author uses a DC-to-DC converter to reduce from any voltage to 12V only.
Figure 3.23: DC-to-DC converter
App design
MIT App Inventor is an intuitive, visual programming environment that allows everyone even children to build fully functional apps for smartphones and tablets The app provided by Google and maintained active by Massachusetts Institute of Technology (or MIT) Users use this app to create any program that serves their needs Some of the features that MIT App Inventor 2 introduces are:
- Easily build an app with basic components such as button, data- time, photos, notifications…
- Game creating support components with Canvas, ImageSprite…
- Device’s sensors usable and connection with other social media apps, Bluetooth, web browsers…
- Able to save or read text files, create simple database through self- made server or Firebase.
Figure 3.24: MIT App Inventor 2 homepage
3.4.2 App design on MIT App Inventor 2
CONTROLLING METHODS
Controlling algorithm
Figure 4.1: Flow diagram for vehicle controlling
At first, the user turns on the app and the robot After connection, unless there is other button of movement is pressed, the app will automatically send the STOP signal to the Bluetooth module Then, the motor will calculate as programmed to output the speed setpoint for the three motors and transfer the signal to the motor drivers As the motors rotate, encoders attached at the end will record the value of velocity and send back to the Microcontroller for PID calculation During the working process, if a button is released, the program will immediately break any operation In the case of automatic buttons, consider that they are non- release manual buttons, and the user should press the stop button to turn off the robot, when pressing the automatic mode again, it will restart from the beginning.
PID overview
PID or proportional integral derivative controller is a control loop mechanism employing feedback The controller continuously calculates the error between the measured variable and the setpoint based on proportional, integral, and derivative terms, then by applying the right value of each term, the controller can eliminate steady state errors, percent overshoot and reduces settling time.
Figure 4.2: An example of a PID controller
This term output is a value that is proportional to the current error measured Hence, the response can be adjusted by multiplying the error with a constant proportional gain
The proportional term can be given by:
A high proportion gain makes quicker for the system to reach the set point, also reduce the steady-state error (but cannot be eliminated to 0) It also increases the instability of the system.
Figure 4.3: The effect of P term
The contribution from this term is proportional to both the magnitude of the error and the rising time In this term, the system takes sum of all instantaneous error over time, then multiplied by the integral gain
The integral term is given by:
The higher the integral gain, the higher the percent overshoot, which leads to slower for the system to stable, though the steady state error gets smaller.
Figure 4.4: The effect of I term
- D term: This term is calculated by determining the slope of the error overtime follow up by multiplying by derivative gain
This term is very sensitive to noise The higher the gain, the quicker it takes to settle However, D term can be used alone but must go with the others.
Combining all the 3 terms, we get the overall control function: Φ Φ Φ Φ( Φ Φ)
Figure 4.5: The effect of D term
PID for motor controller
The vehicle can move precisely to any angle if each motor rotates exactly at calculated speed Then, the PID controller for each motor is necessary Since the microcontroller has its own oscillator, the controller is discrete PID.
Figure 4.6: Discrete PID controller for motor speed
Applying formula from [12], with T is the sample rate:
Divide both sides of (4.10) by Φ Φ 2 , assign Φ∆ Φ= Φ2 Φ Φ :
Finally, the control output for discrete PID for single motor speed is:
( Φ) : error between reference and measured at time k.
( Φ Φ− Φ1) : error between reference and measured at time k-1. ( Φ Φ− Φ2) : error between reference and measured at time k-2.
EXPERIMENT
Assembly model
Experiment
The robot testing speed is 0.3 (m/s) throughout all progresses, which is approximately to 75 RPM for a wheel to move in the same direction. From the calculation mentioned in chapter 2, using formula (2.17), assuming that any motions of the robot (exclude from rotation), does not rotate itself, then, the setpoint for each wheel will be (negative is for counterclockwise, while positive is clockwise):
Table 5.1: Angular velocity setpoint for some motions
After testing for quite a time, the PID chosen are
The Arduino can only read the value of maximum two decimal numbers after the comma During the testing phase, the author set Kd to 0.01 (smallest value available), the system cannot seem to settle to a value, so in this project, the author eliminates the Kd (= 0), only Kp and Ki count.
To check the correctness of the algorithm, the author used camera a marker, put it in the center of the robot, through the center holes, so that when the robot is moving, the marker will draw the paths on the floor.
5.2.1 Manual control testing a) Robot moves 90 degrees forward.
Table 5.3: Angle deviation when robot moves forward
Figure 5.3: PID for 90 degrees forward motion b) Robot moves 270 degrees backward.
Table 5.4: Angle deviation when robot moves backward
Figure 5.4: PID for 270 degrees backward motion c) Robot moves 0 degrees to the right.
Table 5.5: Angle deviation when robot moves right
Figure 5.5: PID for 0 degrees to the right
53 d) Robot moves 180 degrees to the left.
Table 5.6: Angle deviation when robot moves left
Figure 5.6: PID for 180 degrees to the left e) Other diagonal movements.
Here, the author chooses the angle of 60 o , 120 o , 240 o and
(seconds) deviation deviation deviation of 60 o ( o ) of 120 o of 240 o
Table 5.7: Angular velocity setpoint for some motions
5.2.2 Automatic control testing a) Robot moves in a square path
Since the speed is set at 0.3m/s in any direction, to move in a square path, the robot needs to move at angle of 0 o , 90 o , 180 o , 270 o respectively The author chose the size of the square path is 900mm x
No start and end point between start and
Table 5.8: 900x900 mm square path error
Figure 5.7: PID for square path
Here are the errors measured during each phase of operation:
No Phase 1 Phase 2 Phase 3 length length length
Table 5.9: 900x900 mm square path phases’ error
55 b) Robot moves in an equilateral triangle path
The robot will move at angle of 0 o , 120 o , 240 o respectively.
No between start and end and end point point(
Table 5.10: Equilateral triangle path (900 x 900 x 900 mm) error
Figure 5.8: PID for equilateral triangle path
Here are the errors measured during each phase of operation:
No Phase 1 Phase 2 length length
Table 5.11: 900x900 mm triangle path phases’ error
56 c) Robot moves in a circle path.
Divide the circle into 24 parts of 15 degrees, the robot will continuously change the speed after each 0.5 second to form a circle.
No start and end between start and point (mm) end point ( o ) from center (mm)
Table 5.12: Circular path ( ∅ 900mm) error
Figure 5.9: PID for circular path
Due to the fact that while controlling manually, there are errors that make the robot slip away from the desired directions, the automatic operation suffered the error in different stages The difference in time rising may result in translational directions in manual mode, thus, the automatic mode does not form very good shape paths One other reason is that during the changing phases of operation, if there happens to be a changing in direction of rotation of any wheel, the POT then is greater than 0 and also leads to wrong angle of heading.
CONCLUSION
Conclusion
After doing research and implementing, the author has met the goals set out in the project’s mission:
- Project is completed on time.
- The robot can move freely in any direction without changing it headings.
- The robot works with both manual and automatic control of simple shape paths provided.
However, there are still drawbacks:
- The power source of robot depends on the 18650 batteries, when the batteries run out and need charging, it is very time consuming to wait to charge the batteries Also, the qualities of the batteries used were not good enough since they are not genuine.
- Arduino in common can only read at maximum two decimals, which could reduce the accuracy.
- Controlling with simple PID is not optimized enough that robot cannot fix the angle on the path when there is asynchrony in 3 engines Thus, the error increases as the robot moves further This could be eliminated by using cascade PID.
Future improvement
Beside of the things needed to be improved in the conclusion part, there are some of the ideas that could be implemented in the near future.
First, using LiDAR (Light Detection and Ranging) can help the users to generate a map using SLAM (simultaneous localization and mapping) method From here, the vehicle can locate itself in a specific area, thus, avoiding the obstacles or dead ends during working progress with provided algorithms, hence, the owner can trust the robot on its own.
Second, since the omnidirectional mobile robot can move in any direction, the combination of translational and rotational motion is also a field that can emphasize the holonomic mobility of the device.
[1] Definition of robots www.britannica.com/technology/robot-technology
[2] Western Robot launches Robots to combat Covid-19 www.westonrobot.com/ news-weston-robot-covid19-disinfection-temperature-screening-robots
[3] AGEMA unmanned ground vehicle (UGV) milaniongroup.com/agema-ugv/
[4] Boston Dynamics’ Atlas robot in 2016 robots.ieee.org/robots/atlas2016/
[5] Kinematics modeling of wheeled mobile robots (Muir Patrick, 1986) www.ri.cmu.edu/pub_files/pub3/muir_patrick_1986_1/muir_patrick_1986_1.pdf
[6] Design and construction of continuous alternate wheels for an OMR
(Kyung-Seok Byun - Jae-Bok Song, 2003) onlinelibrary.wiley.com/doi/10.1002/rob.10107
[7] J Grabowiecki vehicle wheel (1919) patentimages.storage.googleapis.com/44/95/77/7e5bf9837c0989/US1305535.pdf
[8] Wheels for a course stable self-propelling vehicle movable in any desired direction on the ground or some other base (Bengt Erland Ilon, 1972) patentimages.storage.googleapis.com/e1/b0/be/4c014fa5a47968/US3876255.pdf
[9] An Omnidirectional Wheelchair (Jaffe et al., 1981) link.springer.com/article/10.1007/BF00992877
[10] GoliathCNC–An Autonomous Robotic Machine tool for makers (2022) www.kickstarter.com/projects/2130625347
[11] Design of an omnidirectional robot for FIRA Robosot (Naveen Suresh Kuppuswamy et al., 2007) rit.kaist.ac.kr/wp-content/uploads/2021/07/DESIGN-OF-AN-
OMNIDIRECTIONAL-ROBOT-FOR-FIRA-ROBOSOT.pdf
[12] Ly thuyet dieu khien tu dong (Nguyen Thi Ha Phuong, Huynh Thai Hoang,