Title: Behavioral Robots with various Controls Generalized Braitenberg Vehicles
1Behavioral Robots with various
ControlsGeneralized Braitenberg Vehicles
2each sensor connected to the motor on opposite
side
both sensors connected to both the motors.
each sensor is connected to the motor on the same
side,
The simplest Breitenberg Vehicles with analog
control
3Fear and Aggression
Braitenberg Vehicles represent emotions
4Signal Inhibiting
- Inhibiting signals from the sensors cause light
following.
Sign minus represents inhibiting
5Signal Inhibiting
- Inhibiting signals from swapped sensors causes
light avoidance
6Signals and logic in Braitenberg Vehicles
- Signals can be
- Analog
- Binary
- Multiple-valued
- Fuzzy
- Quantum
Sensing can be done in quantum world (Hilbert
Space) or in standard macro-world
7Our Vehicles have various types of drives
8Choice of Drives
9Braitenberg Vehicles Sensory and Effectors
Characteristics
- Our understanding of Braitenberg Vehicles is much
more general than in literature - Sensing,
- Controls (functions, automata, distributed
automata), - Effectors (Drives and their Control, walking etc)
10Emotion as synthesized behavior
Serchuk et al discuss emotion as mapping from
internal state to observable output behavior. We
want to design these mappings well, so that they
wil be similar to humans
Physical variables positions, speeds,
accelerations, words,
Emotional state state of all emotion variables
11Emotion as emergent, evolvable behavior
- Here emotion is an emergent behavior that
arises from sensors, drives, effectors and logic. - This may look like human, animal behavior but
also as an entirely new other world behavior,
behavior at it may be.
Degrees of freedom
Sensors, vision and fusion features and
patterns
Evolved emotional behavior of robot
Drives and effectors
Main input-output mapping (perception, internal
state, behavior)
Precise motion generation (behavior)
12Part II. Brief Review of Quantum Circuits and
Automata
If S10gt then M2S2
If S11gt then M2U(S2)
- A general-purpose controlled quantum gate.
- U is arbitrary one-qubit quantum operator.
13Analysis of Quantum Circuits and Automata
- Every quantum circuit is a serial or parallel
composition of lower level circuits. - For serial connection use matrix multiplication
of unitary matrices - For parallel connection use Kronecker product
of unitary matrices
Kronecker (tensor) Product of matrices
14Elementary Quantum Gates
- Hadamard gate notation and its Unitary matrix.
Feynman gate notation and its unitary matrix.
Observe that this is a permutative matrix.
We will analyze this entanglement circuits - EPR
The circuit to produce entanglement that can be
used as a controller of a Braitenberg Quantum
Robot. By making a feedback from P to B a
Braitenberg Quantum Automaton Robot is created.
15Analysis of Quantum Braitenberg Vehicle
- Calculation of parallel connection of gates H and
wire
16Analysis of Quantum Braitenberg Vehicle
- Calculation of Kronecker Product of Hadamard and
wire using their unitary matrices
17Analysis of Quantum Braitenberg Vehicle
10
inputs
01
11
00
00
01
outputs
10
11
Unitary matrix of Feynman gate in the
entanglement circuit.
18Analysis of Quantum Braitenberg Vehicle
- Final calculation of the unitary matrix of the
entanglement circuit by multiplying matrices of
Feynman gate and a parallel connection of H and
wire in reverse order.
19Analysis of Quantum Braitenberg Vehicle in dark
room
1 0 0 0
1 0 0 1
1/?2 00gt 1/?2 11gt
- Calculation of entangled state with no light on
both sensors
0 interpreted as no action on motor
Conclusion in dark room quantum robot can go
straight forward or stop, each step after
measurement
20Analysis of Quantum Braitenberg Vehicle in fully
lighted room
0 0 0 1
0 1 -1 0
1/?2 01gt - 1/?2 10gt
- Calculation of entangled state with light on both
sensors
0 interpreted as no action on motor
Conclusion in fully lightened room quantum robot
turn right or left, each step after measurement
21Quantum Automata Models
Quantum signal
Quantum signal
Quantum logic
Benioff s Automaton and robot
Quantum memory
- Quantum Automaton that lives in Hilbert Space.
In case of a robot, such robot can live only on
quantum mechanics level of world, but because of
entanglement it interacts with whole universe.
22Quantum Automata Models
Yellow signals are quantum
Blue signals are standard
Quantum logic
initialization
measurement
initialization
measurement
standard memory
- Quantum Automaton with standard memory.
This automaton lives in normal macro world.
Several other types of automata/robots can be
proposed.
23Conclusion on Quantum Vehicles
- Quantum logic includes binary, multiple-valued
and fuzzy logic - Quantum Automaton includes quantum combinational
function, probabilistic and deterministic
automaton - Quantum Braitenberg Vehicle includes (for many
reasons) the standard Braitenberg Vehicle.
24Part III. Generalized and Quantum Braitenberg
Robots
sensors
actuators
Combinational Block
Generalized Braitenberg Robot
ENVIRONMENT
25Braitenberg Automaton Robot
sensors
actuators
Combinational Block
memory
ENVIRONMENT
26Generalized Braitenberg Robot and Braitenberg
Automaton Robot may exist in both quantum and
standard environment.
27A Hybrid Fuzzy-Quantum system of Automata in
Generalized Braitenberg Robot.
28Quantum Robot Motion (Behavior) generation
Quantum sensing
Quantum Counter-like automaton
Quantum ROM
Standard sensing
Rough positions in Hilbert Space
M
M
M
Each behavior is a sequence of states
effectors
Precise deterministic positions probabilistically
generated
29Complete Quantum Robot Architecture
Quantum sensing
Quantum brain
Quantum motion control
Standard sensing
effectors
Quantum associative memory
Every realization of quantum motion is slightly
different because of measurements
30Quantum Braitenberg Vehicles Simulator
3101
00
(o1)1/2 , (10) 1/2
(oo)1/2 , (11) 1/2
s1
10
11
(oo)1/2 , (11) 1/2
(o1)1/2 , (10) 1/2
Graphical description of EPR reactive Quantum
Braitenberg Vehicle ( robot )
32C
Problem 1 Find the unitary matrix and the graph
for this Quantum Braitenberg Vehicle Describe in
English its behavior.
M1
S1
S2
M2
33Problem 2 Find the unitary matrix and the graph
for this Quantum Braitenberg Vehicle Describe in
English its behavior.
M1
0
M2
0
garbage
S1
S2
garbage
34Problem 3 Find the unitary matrix and the graph
for this Quantum Braitenberg Vehicle Describe in
English its behavior.
C1
garbage
C2
garbage
M1
S1
H
S2
M2
35Environment
robot
Lego camera
Light sensors
Lego motors
Touch and other sensors
Feature value creation and normalization
Quantum Combinational Block
Motion generation
measurement
PROJECT 1. Quantum Automaton with standard memory
in a setup where the behavior of walking Lego
robot is observed by Lego Camera
Motion sequence completed
Flip-flops
clock
36The entire system and subsystems for Project 1
- Please observe two feedback loops.
- Small processor (microcontroller on the robot)
processes sensor information - PC processes images
- Camera looks at the robot
37Environment
robot
ceilingcamera
Lego camera
PROJECT 1. Components of the entire system. _at_
Lego motors
Light sensors
Touch and other sensors
Micro - controller
Radio transmitter -receiver
Radio transmitter -receiver
Laptop PC
Quantum controller
Execution of stored motions
Transmission of motions and sensor readings
Selection and generation of motions
38The entire system and subsystems for Project 1
- Please observe two feedback loops.
- Small processor (microcontroller on the robot)
processes sensor information - PC processes images
- Human looks at the robot
- Camera looks at the human
39Environment
robot
Human observes a robot
Lego camera
Light sensors
motors
Robot mimicks a human
sensors
Micro - controller
Radio transmitter -receiver
Radio transmitter -receiver
Laptop PC
Quantum controller
Execution of stored motions
Transmission of motions and sensor readings
Selection and generation of motions
40Two Main Simple Quantum Behavioral Architectures
- (a) Reactive architecture (mapping with no
memory) - (b) Behavioral architecture with the memory to
represent emotions, moods, knowledge and stored
processing information.
41sensors
Quantum Combinational Block
actuators
Measurements
(a)
ENVIRONMENT
sensors
Quantum Combinational Block
actuators
Measurements
Standard memory
(b)
ENVIRONMENT
42Combinational logic with probabilistic entangled
results
Calculations in Hilbert Space
measurements
M1
m1
S1
H
M2
m1
S2
C
Mood
md
memory
Behavioral Quantum Robot with Memory of moods
43S1 S2 C M1 M2 Mood
0 0 0 0 0 0 nice
0 0 1
0 1 0 0 1 0
0 1 1
1 0 0 1 1 1 angry
1 0 1
1 1 0 1 0 1
1 1 1
(000)1/2 or (111) 1/2
Problem 4. Complete this table for the Quantum
Robot with Memory from the previous slide.
44Hybrid Architectures
- Modern Behavioral robots are hybrid
- They combine various components (agents)
- Reactive
- With memory
- Fuzzy
- Neural
- Multi-valued
- Learning
- Knowledge-based
- Quantum
- ..
45Fuzzy Combinational Block
actuators
Fuzzy Memory
sensors
F/Q
Quantum Combinational Block
Q/F
Quantum memory
Hybrid Behavioral Robot with Fuzzy and Quantum
Subsystems
ENVIRONMENT
46You can find many good Lego designs on Internet
47Mindstorms NXT
- It has a 32-bit processor,
- proper servo motors,
- new sensors (including color vision and hearing)
- bluetooth connectivity
- it can be controlled by a cellphone
48(No Transcript)
49- powered by LabVIEW from National Instruments.
when I got the Space Monorail, I thought it was
the absolute height of coolness that Lego could
hope to attain. Now Lego kits have Bluetooth and
their own programming language, LegOS.
50- The inclusion of Bluetooth technology also
extends possibilities for controlling robots
remotely, for example, from a mobile phone or
PDA.
51 52- when I got the Space Monorail, I thought it was
the absolute height of coolness that Lego could
hope to attain. Now Lego kits have Bluetooth and
their own programming language, LegOS.
53(No Transcript)
54(No Transcript)
55(No Transcript)
56(No Transcript)
57(No Transcript)
58 59(No Transcript)
60(No Transcript)
61(No Transcript)
62(No Transcript)
63(No Transcript)
64(No Transcript)
65(No Transcript)
66 67(No Transcript)
68(No Transcript)
69(No Transcript)
70(No Transcript)
71(No Transcript)
72Lego robot biped google
73 74(No Transcript)
75(No Transcript)
76(No Transcript)
77(No Transcript)
78(No Transcript)
79Homework 2
- Design a simulator of two Braitenberg Vehicle in
an environment - The environment may be an arbitrary maze, sports
field or battlefield. It can be a plan of a
house. - The robots can turn right 90 degree, left 90
degree and rotate. They can move one step forward
or one step backwards. These are the all basic
moves from which other moves are composed.
80Homework 2 cont
- Each vehicle has a minimum of two sensors. You
design and locate the servos. They can see no
more than 3 cells from the robot cell in any
direction. - Each robot may have weapons that shoot one cell
in any direction. - There may be a ball or other item for play and
interaction. - The vehicles can have some friendly or unfriendly
relation, to be defined by you. - The environment (space) for robots is a square
with external walls North, East, West and South.
If one robot escapes to one of these external
walls then the robot is safe from shooting but he
cannot shoot. - The space is a grid of cells. The walls are
marked by number X. The empty cells are empty.
All other symbols may be used to denote the
position, orientation and internal state of each
robot. - Your program should either make printouts or
display the snapshots of robot behavior with
written explanation what happens (possibly what
are their internal states), collisions,
intentions, etc.
81Example of space encoding
North
X
X
X gt
X
X
X X X X X X X X
X X
X X X
X X
X
X X
West
East
South
82Examples of programming of simple standard
Braitenberg Vehicles in Java
We used Basic, LISP, Pascal, C, Robot C, etc
83MotorTest.java
- import josx.platform.rcx.
- class MotorTest
- static final int STOP 0
- static final int RUN 1
- static final int FLOAT 2
-
- static int mode STOP
- static int power 0
-
- public static void main(String args)
-
- setupButtonListeners()
-
- while (true)
- if (mode RUN)
- Motor.A.setPower( power ) // power in
range 0, 7. incremented with each press of View
button. - Motor.A.forward()
84LightTest.java
import josx.platform.rcx. class LightTest
implements SensorConstants public static void
main(String args) throws InterruptedException
Sensor.S1.setTypeAndMode (SENSOR_TYPE_LIGHT,
SENSOR_MODE_PCT) Sensor.S1.activate() while
(true) int lightReading if
(Button.VIEW.isPressed()) lightReading
Sensor.S1.readRawValue() else
lightReading Sensor.S1.readValue()
LCD.showNumber( lightReading )
85Complete Example Aggressive.java
- import josx.platform.rcx.
- class aggressive implements SensorConstants
- public static void main(String args)
-
- int minBrightness 100
- final int gain 12
- Sensor.S1.setTypeAndMode (SENSOR_TYPE_LIGHT,
SENSOR_MODE_PCT) - Sensor.S1.activate()
- Sensor.S3.setTypeAndMode (SENSOR_TYPE_LIGHT,
SENSOR_MODE_PCT) - Sensor.S3.activate()
- for (int i 0 i lt 100 i)
- if (Sensor.S1.readValue() lt minBrightness)
- minBrightness Sensor.S1.readValue()
- else if (Sensor.S3.readValue() lt
minBrightness) - minBrightness Sensor.S3.readValue()
86Aggressive.java (continued)
protected static void setMotorSpeed(Motor m, int
motorSpeed) if (motorSpeed lt 1)
m.flt() // important LCD.showNumber(-1
) else if (motorSpeed gt 7)
motorSpeed 7 m.forward() m.se
tPower(motorSpeed) LCD.showNumber(motorSpeed)
87Observations
- Closed loop control lessens importance of
mechanical imperfections (e.g. pulley slip). - The map is not the territory.
- Make your ownrobots and observations!
88Change the vehicle behavior?
// Sensor output goes directly to wheel on same
side void doSenseLogic()
setASpeed(sA.getSense()) setBSpeed(sB.getSens
e()) // Sensor output crossed to wheel on
opposite side / void doSenseLogic()
setASpeed(sB.getSense()) setBSpeed(sA.getSense
()) / // Each sensor goes to wheel on
same side with an inhibitory connection / void
doSenseLogic() setASpeed(sA.getInverseSense()
) setBSpeed(sB.getInverseSense()) /
// Each sensor goes to wheel on opposite side
with an inhibitory connection / void
doSenseLogic() setASpeed(sB.getInverseSense()
) setBSpeed(sA.getInverseSense()) /
// Sensors are hooked up to opposite motors, with
threshhold sensing. / void doSenseLogic()
setASpeed(sB.getNonlinearSense())
setBSpeed(sA.getNonlinearSense()) /
- Make a subclass of vehicle and cut-and-paste the
version of doSenseLogic() that you want - Consult Lecture slides for overview of various
behaviors