mobile robot path planning and navigation control
TRANSCRIPT
Mobile Robot Path Planning and Navigation Control
Manukid ParnichkunSchool of Engineering and Technology
Asian Institute of [email protected]
Mobile Robot Path Planning
β’ Global Path Planning (Off Line)β Cell Decompositionβ Road Mapβ Visibility Graphβ Optimized by A-Star, PSO, GA, etc.
β’ Local Path Planning (On Line)β Potential Fieldβ Virtual Forcesβ Rule Basedβ Behavior Basedβ Model Based (PID, State-Space, etc.)
Global Path Planning
Cell Decomposition
Road Map
Visibility Graph
Optimal Search
A-Star
A-Star = Branch and Bound + Under Estimation + Dynamics Programming
A-Star in Path Planning
A-Star in Path Planning
Global Path Planning ofABU Robocon 2019
Local Path Planning
Potential Field
Virtual Forces
Result MotionWall
Destination
Obstacle
Virtual Force = Virtual Spring Force + Virtual Damping Force
Waypoint Tracking (Road)
d
a
Previous Waypoint
Next Waypoint
Waypoint Tracking (Field)
d
a
Previous Waypoint
Next Waypoint
Waypoint Tracking (Field)
d
a
Next Waypoint
ππ‘ππππππ = πΎβπππ_π π + πΎβπππ_π αΆπ
πππππ = πΎπ ππππ_π π + πΎπ ππππ_π αΆπ
Rule-based Control
β’ For line tracking, sensor array should be installed in front of the robot center so that the actions of translation adjustment rule and rotation adjustment rule are not contradict and sensed by the same sensor.
β’ The robot should turn right for both translation and rotation adjustments to make the left sensor change the state.
Rule-based Controlβ’ If sensor array is installed behind the robot center the
actions of translation adjustment rule and rotation adjustment rule are contradict as sensed by the sensor.
β’ The robot should turn right for translation adjustment but turn left for rotation adjustment.
β’ For translation adjustment, the left sensor doesnβt change its state.
Mobile Robot Localization
β’ Dead Reckoning System
β Encoder
β Compass
β Line Tracking Sensor (Ir, LDR, etc.)
β’ Positioning System
β Vision (Landmark, SLAM)
β Laser, Sonar
β GPS
4-Leg Locomotion Mechanism
β Leg Motion Distance (LD (m))
β Robot Distance (RD (m))
β Robot Heading (RH (degree) positive in clockwise direction))
β Robot Coordinate (x (m), y (m))
πΏπ· =2πππΏ
π
π = Measured Pulse Number during Ground ContactπΏ = Leg Length (m)π = Encoder Pulse per Revolution
π π· =Οπ=1π πΏπ·ππ
πΏπ·π = Leg no π Motion Distance during Ground Contactn = 1, 2, 3, or 4 depending on Number of Legs
contacting Ground
π π» =180 πΏπ·1 β πΏπ·2 + πΏπ·3 β πΏπ·4
πππ·
x= Ο(π π· Γ sin Οπ π» ) y= Ο(π π· Γ cos Οπ π» )
π· = Perpendicular Distance betweenLD vector and Robot Center
RHx
yπΏπ·1
πΏπ·4πΏπ·3
πΏπ·2
LD
L
Differential Wheeled Locomotion Mechanism
β Wheel Distance (WD (m))
β Robot Distance (RD (m))
β Robot Heading (RH (degree) positive in clockwise direction))
β Robot Coordinate (x (m), y (m))
ππ· =πππ·
π
π = Measured Pulse Numberπ· = Wheel Diameter (m)π = Encoder Pulse per Revolution
π π· =ππ·πΏ +ππ·π
2
ππ·πΏ = Left Wheel Distanceππ·π = Right Wheel Distance
π π» =180 ππ·πΏ βππ·π
ππΏ
x= Ο(π π· Γ sin Οπ π» ) y= Ο(π π· Γ cos Οπ π» )
x
y
RH
πΏ = Distance betweenLeft and Right Wheels
Omni Wheeled Locomotion Mechanism
β Wheel Distance (WD (m))
β Wheel Coordinate (xi (m), yi (m))
β Robot Coordinate (x (m), y (m))
β Robot Heading (RH (degree) positive in clockwise direction))
ππ· =πππ·
π
π = Measured Pulse Numberπ· = Wheel Diameter (m)π = Encoder Pulse per Revolution
π₯ =π₯1 β π₯2 β π₯3 + π₯4
4
π = Perpendicular Distance betweenWD vector and Robot Center
π π» =180 ππ·1 βππ·2 +ππ·3 βππ·4
4ππ
π₯π =ππ·π
2π¦π =
ππ·π
2
π¦ =π¦1 + π¦2 + π¦3 + π¦4
4
WD1
x
y
WD2
WD3 WD4
Mecanum Wheeled Locomotion Mechanism
β Wheel Distance (WD (m))
β Wheel Real Motion (WM (m))
β Robot Coordinate (x (m), y (m))
β Robot Heading (RH (degree) positive in clockwise direction))
ππ· =πππ·
π
π = Measured Pulse Numberπ· = Wheel Diameter (m)π = Encoder Pulse per Revolution
π₯ =ππ1 βππ2 βππ3 +ππ4
4 2
πππ =ππ·π
2
π¦ =ππ1 +ππ2 +ππ3 +ππ4
4 2
πΆ = Perpendicular Distance betweenWM vector and Robot Center
π π» =180 ππ1 βππ2 +ππ3 βππ4
4ππΆ
x
y
WD3 WD4
WD2WD1 WM1
WM3 WM4
WM2
Robot System Architecture
PC
Microprocessor(Ardiuno, Arm, etc.)
USB
RS-232 or RS-422 or RS-485
For GUI,Global Path PlanningLocal Path PlanningCamera, LIDAR
C#, C++ on Visual Studio orPython on Raspberry Pi
For Low Level ControlMotor DriverEncoderIr, LDR, Sonar
C on Ardiuno orC on mbed.com -> Hardware ->
Boards -> STMicroelectonics ->NUCLEO411RE (for Cortex M4)
EncoderMotor Driver
A Int Input
B DI
PWM AO
Ir, LDRSonar
DI, AI
CameraLIDAR
WIFI
RS-232-USB
Q & A