Professional Documents
Culture Documents
11 Architectures 2122-r1
11 Architectures 2122-r1
ARCHITECTURES FOR
AUTONOMOUS SYSTEMS
FUNCTIONAL, SOFTWARE AND HARDWARE
Pedro U. Lima
(with revisions and add-ins introduced by Rodrigo Ventura)
Instituto Superior Técnico
Departamento de Engenharia Electrotécnica e de Computadores
Autonomous Systems 2018 - © Pedro Lima,
December 2020 Functional Architectures
References
estimated pose
images,
landmarks,
LOCALIZATION GUIDANCE
laser scans
desired linear and
angular velocities
obstacle detection
SENSOR
FUSION / CONTROL
linear and angular velocity feedback
PERCEPTION
• Hierarchical
Mission command
PLANNING
TASK
DECOMPOSITION PERCEPTION
ACTUATORS SENSORS
Autonomous Systems
inspired by management architectures
2018 - © Pedro Lima, Functional Architectures
HIERARCHICAL ARCHITECTURES
Saridis’ 3-Level Architecture
identify objects
Sensors Actuators
monitor changes
build maps
explore
wander
avoid objects
Assembling Behaviors
• competitive
R=max(inputs)
(e.g., max activation value, max number of votes)
• cooperative
R=sum(inputs)
Level 3
Level 2
Level 1
Level 0 Actuators
Sendors
• Control is layered with higher levels subsuming the role of lower level layers
when they wish to take control.
• The system can be partitioned at any level, and the layers below form a
complete operational control system.
inhibitor
inputs Outputs
suppressor Reset
Behavior module
robot
forward
sonar map
collide halt
encoders
wander avoid
heading
robot
forward
sonar map
collide halt
encoders
DELIBERATIVE REACTIVE
Reflexivity
Speed of Response
Predictive Capabilities
Representation-dependent Representation-free
Slower response Real-time response
High-level intelligence (cognitive) Low-level intelligence
Variable latency Simple computation
Hybrid Architecture
The architecture is hierarchic in the sense that
commands and status feedback flow hierarchically up and down the chain
of command, and also in the sense that
sensory information is organized in increasingly higher levels of abstraction,
and that information stored in the world model is organized hierarchically.
REQUISITES:
• Event-driven
• Usability
• Generic modules for robotic applications
while (1) {
Make decisions:
• motion
• kick
Detect all
relevant objects
in the image:
• ball
• goals
• other robots
Acquire image
} 1997
Micro-Agents
implemented using pthreads
Remote GUI
robotd relay
SuperScout
Robot
guidance
proxy
machine
kicker blackboard Wireless Network
(other robots)
vision
2000
MIDDLEWARE
e.g., ROS
SENSORS ACTUATORS
What is ROS?
• ROS = Robot Operating System
• Framework for robot software development providing operating
system-like functionality
• Originated at Stanford Artificial Intelligence Lab,
currently managed by Open Robotics
• Works quite well in Linux Ubuntu, but there are bindings to Java,
Javascript, C#, and can be tunneled via websockets
• Large user base; getting widespread use
• ROS users forum: http://answers.ros.org
nodes nodes
roscore
publisher subscribers
topic
Topic internals
Note: UDP transport
is also supported.
HLP MLP
LLP
planners
drivers (UI) perch_cam
HD Camera
Touchscreen
Speaker/Mic control IMU
haz_cam
EKF CTL FAM
mobility
localization choregrapher
sparse_map validator
ar_targets obstacle_detection
handrail
guest sience sys_monitor propulsion
APKs (multiple) drivers (peripherals)
power_system
status_lights
signal_lights
flashlights
laser
nav_cam executive
dock_cam dds_bridge
guest science
manager
mcast
Object
det..
...
udp
... Reaching
/camera
ROBOT udp
/arm/encs ...
udp
...
/arm/trqs
mcast ...
udp
…
/arm/cmd
Grasping
...
udp udp Viewer
...
...
...
iCub hardware