software architecture of wheeled mobile robots

34
Software architecture of wheeled mobile robots Dmitry Suvorov

Upload: dmitry-suvorov

Post on 19-Jul-2015

100 views

Category:

Education


1 download

TRANSCRIPT

Software architecture of wheeled mobile robots

Dmitry Suvorov

Index

1. Introduction

2. General software architecture

3. Motion control

4. Localization and mapping

5. Motion planning

Introduction

Differential drive

Applications

Cleaners

Lawnmowers

Research project

Retail robotsRobots-toys

Advantages of differential drive

• Simple controlling algorithms;

• Good mathematical models of the drive;

• Low cost;

• Easy prototyping;

• No slippage.

Disadvantages of differential drive

• Low permeability of the robot;

• Low mobility.

General software architecture

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)

Motion control

Tasks

• Rotating in place

• Following lines

• Following arbitrary trajectory

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

Robot motion controlPID regulator for controlling rotation

PD regulator for controlling moving

Open source implementations

www.ros.org

www.mrpt.org

Localization and mapping

Task

To control the robot we need to know its real position.

Problems:

• There is no universal sensor for getting accurate absolute robot position.

OdometryWe can get data from encoders and calculate relative robot position

Numerical form of odometry

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.

Methods of localization

• Particle filter based.

• Kalman filter based.

Particle filter based localization

Open source implementations

www.ros.org

www.mrpt.org

openslam.org

Motion planning

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

[email protected]

Skoltech Space Robotics Laboratory

wicron.com lexybot.com