13
Sathya - Software Development @ JRPL [email protected] ROBOT SOFTWARE ARCHITECTURE

Robot Software Architecture (Mobile Robots)

Embed Size (px)

DESCRIPTION

Software Architecture for (Robot-Sense, Think and Act ). It is general architecture for mobile robots for performing tasks. A Layered architecture, use to build standard software by integrating robot subsystems and user logic.

Citation preview

Page 1: Robot Software Architecture (Mobile Robots)

Sathya - Software Development @ [email protected]

ROBOT SOFTWARE ARCHITECTURE

Page 2: Robot Software Architecture (Mobile Robots)

Outline

What and Why ?

Layered Architecture (Mobile

Robots)

Advantages & Disadvantages

Robot with Layered Architecture

Queries____

Page 3: Robot Software Architecture (Mobile Robots)

What It refers how a system is divided into subsystems and how

those subsystems interact .(Sense , Think, Act)

It is distinguished from other software architectures because of

the special needs of robot systems. -

Why A hierarchical set of control loops, representing high-level

mission planning on high-end computing platforms.

For controlling path planning, robot trajectory, obstacle

avoidance

Page 4: Robot Software Architecture (Mobile Robots)

Layered Architecture

Driver Layer

Platform Layer

Algorithm Layer

User Interface Layer

Depending on the target hardware, the software layers could potentially be distributed across multiple targets.

In most cases, all of the layers run on one computing platform.

Page 5: Robot Software Architecture (Mobile Robots)

A three to four layer system

Fig. Autonomous mobile robot with a manipulator

Tasks: Including path planning, Obstacle avoidance, and Mapping. Used :Agriculture, Logistics, or Search and Rescue.

Page 6: Robot Software Architecture (Mobile Robots)

1. Driver Layero It handles the low-level driver functions required to operate sense and act of

the robot.

o It depends in sensors and actuators used in the system and

also other hardware that the driver software runs on.

o It takes raw sensor data, turn it into meaningful engineering units,

and pass the sensor values to the other architecture levels (ex: analog to

digital)

Page 7: Robot Software Architecture (Mobile Robots)

Driver Layer in simulation

Interface to Common Sensors and Actuators

Use : From low-cost infrared sensors to high-definition light detection and

ranging (LIDAR) sensors.

A physics-based environment simulator to switch between hardware and simulation.(Lab VIEW Robotics Module )

Page 8: Robot Software Architecture (Mobile Robots)

2. Platform Layer

o It translates data between the driver layer and the higher level algorithm

layer by converting low-level information into a more complete picture

for the higher levels of the software and vice versa .

o It corresponds to the physical hardware configuration of the robot.

Figure .The platform layer translates between the driver layer and algorithm layer.

Page 9: Robot Software Architecture (Mobile Robots)

3. Algorithm Layer

o It represent the high-level control algorithms for the robotic system.

o It take system information such as position, velocity, or processed video

images and make control decisions based on all of the feedback.

o Example of obstacle avoidance using a vector field histogram (VFH).

-> VFH block receives distance data from a distance sensor, which was sent from

the platform layer.

-> The output of the VFH block contains path direction, which is sent down to the

platform layer.

-> In the platform layer, the path direction is input into the steering algorithm,

which generates

low-level code that can be sent directly to the motors at the driver layer.

Figure . The algorithm layer makes control decisions based on feedback.

Page 10: Robot Software Architecture (Mobile Robots)

4. User Interface Layer

o It provides physical interaction between the robot and a human

operator or

displays relevant information on a host PC or Devices.

Example from Fig:

o It read input from a mouse or joystick, or to drive a simple text display.

o It displays live image data from the onboard camera, and the X and Y

coordinates of

nearby obstacles on a map. The servo angle control allows the user to

rotate

the onboard servo motor that the camera is attached to;

Figure . The user interface layer allows a user to interact with a robot or display information.

Page 11: Robot Software Architecture (Mobile Robots)

Advantages

Reusing components of code in future projects.

Easy to simulate and testing .

Develop custom modules for different

environments.

Easy to select right hardware and increase

scalability.

Disadvantages

It depends on hardware devices of Robot system.

Software testing flaws cause to damage hardware.

We can not use for multiple tasks.

Page 12: Robot Software Architecture (Mobile Robots)

Sample Mobile Robot

Sample structure (Path Planning)

Device Layer

Sensors , Motors and Relays -> Send Analog to Digital signal Platform Layer (Embedded logic )

-> Receive data and send input to micro controller.

-> Receive Image data from cameras .

Algorithm Layer(User Logic with programming)

->Get inputs form platform layer and other Sub systems.

-> Check path with Image processing algorithm and compare sensor outputs.(C, Java)

->Send output of logic to platform layer.

->Platform layer sends signals to sensors and actuators to steer wheel directions and change image device.UI Layer(GUI + Remote control devices )

Figure . Three layer software architecture

Page 13: Robot Software Architecture (Mobile Robots)

Queries_

Send your queries [email protected]