The presentation for my MSc Thesis. Is the presentation of a Hardware Abstraction Layer used in the AD (Automatic-Deliberative) Architecture. This architecture is the architecture which runs in the Robot Maggie.
A Hardware Interface for Joint Control in the AD Architecture
1. A Hardware Interface for
Joint Control in the AD
Architecture
Author: Víctor González Pacheco
Director: Prof. Miguel Ángel Salichs
Master Thesis
Master in Robotics and Automation
UC3M - September 2010 1
2. Outline
Long Term Memory
DSkill 1 DSkill 2 DSkill n
Short Term Memory
ASkill 1 ASkill 2 ASkill n
Sensors Actuators
1. Introduction 2. Related Work 3. Maggie and AD
Actuator
Driver Interface
SDM SDM
4. The New architecture 5. Implementation 6. Conclusions
2
7. Similar architectures provide low level hardware
control and network access to it
Network
Remote Part
Communication
Enabler
Hardware Control
7
8. ¿How other architectures deal with the hardware
dependencies?
Network
Remote Part
Communication
Module
They use hardware
Hardware Interface interfaces to abstract the
hardware.
Hardware Hardware
Controller Controller
8
9. Long Term Memory
DSkill 1 DSkill 2 DSkill n
Short Term Memory
ASkill 1 ASkill 2 ASkill n
Sensors Actuators
3. Maggie and AD
9
12. The Automatic-Deliberative (AD) Architecture.
Conceptual view.
D
Long Term Memory E
L
I
B
E
R
DSkill 1 DSkill 2 DSkill n A
T
I
V
E
Short Term Memory
Events A
U
T
O
ASkill 1 ASkill 2 ASkill n M
A
T
I
C
Sensors Actuators
12
13. There is no Low Level Hardware Abstraction in AD
AD Skill
API 1 API 2 API 3
Comm. (remote):
Client 1 Client 2 Client 3
Comm. (local): Server 1 Server 2 Server 3
HW Control: Primitive 1 Primitive 2 Primitive 3
13
14. Actuator
Driver Interface
SDM SDM
4. The New Architecture
14
15. The new design establishes a hardware interface above
the Hardware controllers
Network
AD (remote)
AD (local)
Hardware Interface
The Driver Layer
Abstracts AD from the
Hardware HW HW
Controller Controller
Driver Layer
15
16. The modules are the following:
Actuator AD (local part)
Driver Interface Hardware Interface
SDM SDM Hardware Controller
Driver Layer
SDM stands for Specific Driver Module 16
17. The Actuator is the AD skill wich controls the joints.
Is an AD skill
Actuator Will use Events
Will use Shared Memory
Controls Hardware in a generic way
Driver Interface
SDM SDM
Driver Layer
17
18. The key of the hardware abstraction is the Driver Interface
Actuator
Selects the adecuate SDM
Invokes the SDM
Driver Interface Links it with the Actuator
The Actuator believes is controlling
the Driver Interface...
SDM SDM
… but it's not
Driver Layer
18
19. The SDMs do the Low Level Hardware Control
Actuator
Driver Interface
Low Level Hardware Control
1 SDM controls 1 driver type
SDM SDM
Translates Actuator ↔ Driver languages
Driver Layer
Communicates with the driver
19
20. How the Actuator choses the adecuate SDM?
Actuator
Driver Interface
? ?
SDM A SDM B
Driver Layer
20
21. Answer: using XML files
myActuator.xml
Actuator
Type: “SDM B”
File: “sdmB.xml” <driverType>SDM B</driverType>
<driverFile>sdmB.xml</driverFile>
Driver Interface
File: “sdmB.xml” sdmB.xml
SDM A SDM B
Driver Layer
21
23. Actuator Class Diagram: control and data are separated.
ActuatorMotorSensor
Actuator
ActuatorStatus
ActuatorConfiguration
DriverInterface
Actuator
Control Data 23
24. Driver Layer Class Diagram: Inheritance and Polymorphism
allow the Hardware Abstraction
Driver Interface
DriverMotorSensor
DriverInterface
DriverStatus
DriverConfiguration
MCDC3006S
MCDC3006S SDM
Driver
MCDC3006
MotorSensor
MCDC3006Status MCDC3006 Configuration
24