Software architecture of wheeled mobile robots Dmitry Suvorov
Jul 19, 2015
Index
1. Introduction
2. General software architecture
3. Motion control
4. Localization and mapping
5. Motion planning
Advantages of differential drive
• Simple controlling algorithms;
• Good mathematical models of the drive;
• Low cost;
• Easy prototyping;
• No slippage.
Types of software architectures
• Simple embedded architectures without OS
• Architecture based on real-time OS (RTOS)
• Architecture based on embedded OS
Simple embedded architectures without OS
Advantages:
• Low cost hardware is required
• Easy development
Disadvantages:
• There is no abstraction from hardware.
• It is impossible to create to create advanced systems for performing difficult tasks.
• Problems with debugging and writing unit tests.
Applications:
• Toys, research projects.
Architecture based on real-time OS (RTOS)
Advantages:
• One processor for high level tasks and hardware control.
• Abstraction from hardware level.
Disadvantages:
• Difficult tasks scheduling.
• Difficult logic (high and low tasks are mixed)
Applications:
• Service robots, military projects and research.
Architecture based on embedded OSAdvantages:
• Abstraction from hardware level.
• Strong decomposition of tasks on hardware level.
• No scheduling problems.
• Easy decomposition of tasks between software and hardware developers.
Disadvantages:
• Higher cost.
Applications:
• Service robots, toys, military projects
and research.
Typical architecture of the controlling system
Decision making
Motion planning Motion control LocalizationSLAM
(optionally)
Automatic control theory
Advantages:
• Simple well-known theory.
• Easy to implement on hardware and software levels.
• Can work on slow processors.
• There are heuristic methods for tuning parameters.
Disadvantages:
• It is practically impossible to archive high precision of motion.
• It is difficult to calculate parameters of controlling algorithms.
PID regulator
Discrete form:
u(t) = P(t) + I(t) + D(t)P(t) = Cp * e(t)I(t) = I(t – T) + Ci * e(t)D(t) = Cd * ( e(t) – e(t-T) )
Cp, Ci, Cd – coefficients of PID regulator;T – period (time between calls of regulator).
Tuning parameters of PID regulator
• P – current error compensation• I – statical error compensation• D - oscillations damping
Ziegler–Nichols method:K – coefficient of P-regulator when system become unstable.T – period of oscillationsP = 0.6 * KI = 2 * P / TD = P * T / 8
Task
To control the robot we need to know its real position.
Problems:
• There is no universal sensor for getting accurate absolute robot position.
Odometry
Advantages:
• No need in additional sensors.
Disadvantages:
• Low accuracy.
• Error increases with time.
• High sensitivity to slippage.
Lidar based localization
Advantages:
• High accuracy.
• Error does not increase with time.
• Can be implemented on slow processors.
Disadvantages:
• Map of the environment is required.
Open source implementations
www.ros.org
www.mrpt.org
openslam.org
Task
• We need to find path to destination on the map before start of movement.
Methods:
• Optimal (A*, Dijkstra search …)
• Suboptimal (RRT Connect…)
A*
Advantages:
• It always finds the shortest way.
Disadvantages:
• High performance processor is required.
RRT Connect
Advantages:
• Very fast.
• Can search trajectories in high dimension spaces.
Disadvantages:
• The found path is not optimal.
Contacts
Dmitry Suvorov
Skoltech Space Robotics Laboratory
wicron.com lexybot.com