scieee Science in your language
[en] (orig)

Human vs. Computer Slot Car Racing using an Event and Frame-Based DAVIS Vision Sensor

Abstract

This paper describes an open-source implementation of an event-based dynamic and active pixel vision sensor (DAVIS) for racing human vs. computer on a slot car track. The DAVIS is mounted in "eye-of-god" view. The DAVIS image frames are only used for setup and are subsequently turned off because they are not needed. The dynamic vision sensor (DVS) events are then used to track both the human and computer controlled cars. The precise control of throttle and braking afforded by the low latency of the sensor output enables consistent outperformance of human drivers at a laptop CPU load of <3% and update rate of 666Hz. The sparse output of the DVS event stream results in a data rate that is about 1000 times smaller than from a frame-based camera with the same resolution and update rate. The scaled average lap speed of the 1/64 scale cars is about 450km/h which is twice as fast as the fastest Formula 1 lap speed. A feedbackcontroller mode allows competitive racing by slowing the computer controlled car when it is ahead of the human. In tests of human vs. computer racing the computer still won more than 80% of the races.

Read accessible full text

Human vs. Computer Slot Car Racing using an Event and Frame-Based DAVIS Vision Sensor

Author: Delbruck, Tobias; Pfeiffer, Michael; Juston, R.; Orchard, Garrick; Müggler, E.; Linares Barranco, Alejandro; Tilden, M.W.
Publisher: IEEE Computer Society
Year: 2015
DOI: 10.1109/ISCAS.2015.7169170
Source: https://idus.us.es/bitstreams/0df1db5e-a194-4e7b-9090-4a433f255bb5/download
Human s. Compu e Slo Ca Racing using an E en and F ame-Based
DAVIS Vision Senso
T. Delb uck1, M. P ei e 1, R. Jus on2, G. O cha d3, E. Müggle 4, A. Lina es-Ba anco5, M.W. Tilden6
1: Ins i u e o Neu oin o ma ics, Uni . o Zu ich and ETH Zu ich, Swi ze land,
2: Bio obo ics Team, Ins i u e o Mo emen Sciences, CNRS / Aix-Ma seille Uni .
3: Singapo e Ins i u e o Neu o echnology (SINAPSE)
4: Robo ics and Pe cep ion G oup, Uni . o Zu ich
5: Robo ics and Technology o Compu e s Lab, Uni . o Se ille
6: Design consul an , Wowwee L d, Hong Kong
Abs ac –This pape desc ibes an open-sou ce
implemen a ion o an e en -based dynamic and
ac i e pixel ision senso (DAVIS) o acing
human s. compu e on a slo ca ack. The
DAVIS is moun ed in "eye-o -god" iew. The
DAVIS image ames a e only used o se up and
a e subsequen ly u ned o because hey a e no
needed. The dynamic ision senso (DVS) e en s
a e hen used o ack bo h he human and
compu e con olled ca s. The p ecise con ol o
h o le and b aking a o ded by he low la ency o
he senso ou pu enables consis en ou -
pe o mance o human d i e s a a lap op CPU
load o <3% and upda e a e o 666Hz. The spa se
ou pu o he DVS e en s eam esul s in a da a
a e ha is abou 1000 imes smalle han om a
ame-based came a wi h he same esolu ion and
upda e a e. The scaled a e age lap speed o he
1/64 scale ca s is abou 450km/h which is wice as
as as he as es Fo mula 1 lap speed. A eedback-
con olle mode allows compe i i e acing by
slowing he compu e con olled ca when i is
ahead o he human. In es s o human s.
compu e acing he compu e s ill won mo e han
80% o he aces.
I. INTRODUCTION
The DAVIS is a neu omo phic came a ha
ou pu s s a ic image ames concu en ly wi h
dynamic ision senso (DVS) empo al con as
e en s [1][2]. DVS add ess-e en s (AEs)
asynch onously signal changes o log in ensi y. The
AE imes amp (in mic oseconds) codes he ime o he
e en s. Pixels wi h DVS ou pu a e neu omo phic
abs ac ions o e inal ganglion cells in biological
e inas. Thei sub-ms la ency, spa se ou pu , and kHz
pixel bandwid h has led o applica ions equi ing high
speed objec acking wi h sho -la ency eedback, e.g.
[3][4]. In his wo k, we use he DVS ou pu s o ack
slo ca s and con ol one o he ca s o ace
compe i i ely agains human d i e s. In his
applica ion, he DAVIS s a ic ames we e use ul o
se ing up he senso and adjus ing ocusing, bu
subsequen ly he ames we e no needed and we e
u ned o .
II. HARDWARE AND SOFTWARE SETUP
Fig. 1 shows a ace ack oge he wi h sample DVS
da a p oduced by a single ca d i ing a ound he ack.
The 240x180 pixel DAVIS was moun ed in “eye o
god” iew o e he able using a wide angle 2.6mm
lens wi h a ho izon al ield o iew o 81 o co e he
slo ca ack. As he ca s go a ound he ack, hey
c ea e DVS e en s, which a e shown supe imposed as
3D space- ime e en s o e he pho o o he ack.
These e en s a e used as desc ibed la e o ack he
ca s and o con ol he compu e ca h o le and
b aking. The e en s cap u ed om he DAVIS a e
ansmi ed o he hos PC o e a USB in e ace.
Indi idual e en s a e ime-s amped wi h 1us
esolu ion.
Slo ca s con ain a DC mo o , a pin o guide he
ca along he slo in he ack, wo b ass b ushes ha
pick up powe om he me al ails o he ack, and a
magne ha helps hold he ca on o he s eel ack
ails. Powe o he ca is no mally egula ed by a
simple h o le con olle consis ing o a wi e-wound
esis o . Race s a emp o go as as as possible
a ound he ack wi hou lying o i . We used a HO-
scale (1/64) sys em om AFX Racing
Fig. 1. A ack layou wi h he s eam o DVS e en s (do s)
caused by a mo ing ca shown as do s in 3D space- ime.
The a e age e en a e caused by a mo ing ca is abou 5k
e en s/sec.
(www.a x acing.com) wi h ca chassis ype
SRT. The ca s a e 7cm in leng h, and he
ack (Fig. 2) had 15 u ns in a leng h o
805cm, o 900 pixels on he senso image.
The as es lap imes a e abou 4.1s. The
slo ca speed o 200cm/s scaled o
Fo mula 1 size is 450km/h; o e e ence,
he as es a e age lap speed achie ed in a
Fo mula 1 ace was 248km/h on a ack
wi h 11 u ns (Monza 2003). Ca s can
accele a e o ull speed in abou 300ms and
decele a e by ic ion in abou he same
ime. The elec onic mo o b aking
(desc ibed la e ) slows he ca e en as e ,
allowing mo e agg essi e d i ing.
Implemen a ion
The so wa e implemen a ion o he slo
ca ace is open-sou ced in he jAER
p ojec [5] in he package
ch.unizh.ini.jae .p ojec s. i ualslo ca [6]. The main
slo ca ace class is Slo Ca Race . The h o le
con olle desc ibed in his pape is he class
HumanVsCompu e Th o leCon olle .
1) Ca T acking, T ack Model, and T ack
Masking
The ope a o sees a iew o he ack and o he
in o ma ion supe imposed on he DAVIS senso
ou pu as shown in Fig. 2. Di e en pa s o his
display a e labeled and a e e e ed o below.
T acking (compu ed by he class Ca T acke ) uses
a model o he ca consis ing o a ec angle ha is
cons ained o mo e along he ack model, which is a
lis o ack e ices in senso pixel coo dina es. A
Ca Clus e is a so wa e objec based on [4] ha has a
2D pixel posi ion and a eloci y along he ack in
ack e ices pe second. The ack model is ob ained
in a semi-au oma ed way in T ackDe ineFil e by
d i ing each ca a ound alone, collec ing a 2D e en
his og am, and hen ex ac ing a lis o e ices spaced
by minimum dis ances, s a ing om he peak o he
his og am. This lis is hen upda ed manually using a
GUI o d ag, add, and dele e e ices.
Fig. 4 illus a es he ca acking upda e. Each
DVS e en inpu o Ca T acke is i s used o upda e
he cu en ca posi ion acco ding o he ca eloci y
along he ack, using he las upda e ime and he
cu en e en ime. This upda e implemen s he model
ine ia. Then he e en is checked i i is nea he
loca ion o he acked ca (shaded ec angle in Fig. 4
and bounda ies o boxes su ounding ca s in Fig. 2).
I so, he ca model is upda ed by ei he ad ancing o
e a ding he ca posi ion along he ack depending
on whe he he DVS e en leads o lags he cu en
ca posi ion. The amoun o ad ancemen o e a ding
is se by a ‘mixing ac o ’ ( ypically abou 0.02) ha
mixes he DVS e en posi ion wi h he cu en ca
posi ion wi h he mixing ac o p opo ion. The upda e
is done by p ojec ing he ec o e om cu en ca
posi ion o he e en on o he ack ec o
connec ing he nea es ack e ex o he nex one
along he ack. A 2D lookup able (Fig. 3) maps pixel
coo dina es o he nea es ack e ex, o speed up he
sea ch o he nea es ack e ex. The ca ’s ack
eloci y is upda ed when he nea es e ex changes.
The ca acke li e ime is managed by a ‘mass’ ha
decays away exponen ially wi h ime be ween DVS
e en s and is inc emen ed wi h each e en . I he mass
Fig. 2. Display o he slo ca ack wi h s a e in o ma ion.
Fig. 3. Mapping om each pixel loca ion o he nea es ack
e ex speeds up lookup o he nea es ack e ex
(numbe a each pixel loca ion). Fig. 4. Ca T acke ca posi ion upda e.
alls below a ce ain alue, he ca is conside ed o be
los and acking mus be eini ialized.
2) Slo Ca Th o le and B aking Ha dwa e
We designed a slo ca con olle PCB (Fig. 5) o
con ol he powe o up o 4 slo ca acks om a
compu e o e a ull-speed USB2.0 in e ace. This
con olle con ols powe o he ca s by 1.5kHz PWM
modula ion o he 17V ack powe , and also can sho
he ca mo o ac oss a 20 esis o o elec onic
b aking. Only one ack con olle is cu en ly used
and he o he ack is con olled by he human using
he s anda d h o le. The con olle is upda ed wi h
polling in e al o 1ms. The ull PCB design o his
con olle and i s i mwa e a e a ailable in he jAER
p ojec [7]. A p o o ype design did no use
op ocouple s and he esul s we e equen ese s o
he USB mic ocon olle due o la ge ol age
ansien s caused by spa king o he ca con ac o he
ack which p opaga ed back h ough he elec onics.
The inal design o Fig. 5 uses op ocouple s o co ec
his p oblem.
3) Th o le Con ol
Con olling he compu e ca consis s o se ing he
h o le alue o applying he b ake a each e ex o
he ack model based on a ec o o h o le/b ake
se ings called a h o le p o ile. An example h o le
p o ile is shown in Fig. 6. We in es iga ed a numbe
o me hods o op imize he h o le p o ile. E en ually
we ound ha he as es me hod is o 1) de e mine an
ini ial h o le p o ile by se ings de i ed au oma ically
om he ack cu a u e so ha s aigh sec ions ha e
highe ini ial h o le; 2) examining he ca isually
and hen g adually inc easing he h o le o applying
b ake by eye, using a GUI in e ace o “pain ” h o le
and b ake se ings. An e olu iona y me hod was also
de eloped o lea n he op imum h o le p o ile by
inse ing h o le inc eases and seeing i hey esul in
success ul laps. A e a c ash, he inse ion is emo ed
o b aking poin s a e inse ed. The equi ed lea ning
ime is cu en ly s ill conside ably longe han by
manual adjus men o he p o ile and mo e wo k
needs o be done o unde s and he op imum s a egy.
To make acing mo e compe i i e, a mode can be
enabled ha slows he compu e down om i s
op imum h o le alue o a minimum alue,
depending on how a ahead is he compu e ca .
Typically a alue o one hi d o he o al ack o
comple e slow-down is e ec i e o esul ing in
exci ing side-by-side acing.
III. RESULTS
A se ies o YouTube ideos documen he
e olu ion o he slo ca ace since 2010 [8]–[10].
The inal ideo shows he se up and a ace be ween
compu e and human, including con ol ha slows he
compu e ca when i is ahead o he human.
A sample o wo eco ded laps by he compu e
con olled ca is shown in Fig. 7. This da a is aken
om a di e en ack. O e wo laps, he ca posi ion
inc eases and hen w aps back o e ex 0. A he end
o he s aigh way, mo o b aking apidly dec eases
he ca speed, as indica ed by he “b aking” a ow.
Du ing he las lap, mo o b aking is disabled (“No
b aking”), esul ing in a c ash a e he s aigh way.
A se ies o en 3-lap aces be ween human and
compu e had he ollowing esul s: The i s human
had 1 win, 2 losses, and 7 DNF (did no inish, i.e.
c ashed). The second human had 3 wins, 4 losses, and
3 DNFs, howe e a e he eedback con ol o slow
he compu e ca was u ned o hal way h ough he
se ies o en aces, he second human was no longe
able o win.
P ocessing cos and h oughpu : P ocessing
Slo Ca Race on a Leno o W510 Co e i7 lap op
esul s in a CPU load o 1% o 3% o he Ja a i ual
machine, when g aphical ende ing is disabled.
The upda e in e al on he hos compu e was
de e mined by ins umen ing he USB da a packe s
ecei ed by he high-p io i y USB p ocessing h ead
Fig. 5. The slo ca con olle PCB con ols up o 4 lanes [7].
A: in e ace ci cui o a single lane o h o le and b ake
con ol. The op ocouple pulldown ou pu s (Op Th Ou &
Ou B Ou ) eed he powe MOSFET ga es h ough RC low
pass il e s wi h=0.5ms. A use F1 p o ec s agains
sho s. R16 is a powe esis o o mo o b aking. B:
Fab ica ed PCB wi h USB cable (bo om) and ack/powe
connec ions ( op).
Fig. 6. Th o le and b ake p o ile ha achie es 4.1s lap imes on
ack in Fig. 2.
using he Ja a me hod
Sys em.nanoTime(). All he slo ca ace
p ocessing is done in his h ead, a he
han he display ende ing h ead, which
uns a mos 60Hz. The DAVIS came a
includes a ea u e called ‘ea ly packe
ime ’ which ensu es ha USB FIFOs
a e commi ed o he hos wi h in e als
o a mos 1.5ms, and on he hos side
he p ocessing in e als closely ma ched
his in e al.
IV. CONCLUSION
Con en ional machine ision using
ame-based senso s aces a undamen al
la ency-powe adeo . Low la ency can only be
achie ed by p ocessing a a high ame a e, which
bu ns mo e powe . The CPU load o less han 3%
achie ed in he slo ca ace is a esul o he low da a
a e a e aging 5keps ( housand e en s pe second) pe
ca . The s a ing came a scena io is ideal o using he
DVS, since only he small mo ing slo ca s c ea e
DVS e en s. The ea ly packe ime ansmi s
a ailable e en s om he came a a a minimum a e o
1/1.5ms=666Hz, which means ha mos packe s sen
o he hos con ain only abou 7 e en s pe ca . This is
a small amoun o da a o p ocess. By compa ison, i
he 240x180 pixel image could be ansmi ed o he
hos a 666Hz, i would mean a da a a e o 29M
pixels/s, which would be a ac o o abou 1000 imes
mo e da a.
The slo ca ace obo is a popula demons a ion
o he use o a DAVIS senso , mainly because acing
is un and i is a con es be ween human and compu e
ha in ol es quick eac ion imes. The p inciple o
ope a ion is simple and easy o explain. In p ac ice,
because he compu e is so p ecise, and because i can
use mo o b aking, i is p ac ically unbea able and so
o p oduce he illusion o a compe i i e ace i is
necessa y o enable he mode whe e he compu e ca
is slowed down i i is ahead.
The con ol o he ca is in some sense open-loop
because he h o le and b ake a e applied acco ding o
he ins an aneous posi ion o he ca on he ack,
ega dless o he ca ’s speed. Fu u e enhancemen s
could ocus on de eloping an adap i e model-based
con olle ha egula es he speed o he ca o a
desi ed le el ha is sa e o he cu a u e. Ou
a emp s o do his we e no success ul because he
model is su p isingly complex. The physics o ca
mo emen along he ack and he ac ion o he powe
applied o he ca on i s speed a e complica ed by
ack cu a u e, ic ion, indi idual ca a iabili y,
mo o hea ing, e c. Howe e he sho la ency o
senso measu emen could enable isual eedback on
h o le con ol.
Acknowledgemen s
This wo k was suppo ed by he Swiss NCCR Robo ics, EU
p ojec s SeeBe e (FP7-ICT-270324) and Visualise (FP7-ICT-
600954), Samsung and he DARPA SyNAPSE p ojec . P o o ypes
we e buil a he 2010 Tellu ide Neu omo phic Cogni ion
Enginee ing Wo kshop and he 2014 Capo Caccia Cogni i e
Neu omo phic Enginee ing Wo kshop. The implemen a ion
desc ibed he e was demons a ed a he 2014 Eu opean Compu e
Vison Con e ence.
Re e ences
[1] P. Lich s eine , C. Posch, and T. Delb ück, “A 128 x 128
120dB 15us La ency Asynch onous Tempo al Con as
Vision Senso ,” IEEE J Solid-S a e Ci cui s, ol. 43, no. 2,
pp. 566–576, 2008.
[2] C. B andli, R. Be ne , M. Yang, S.-C. Liu, and T. Delb uck,
“A 240x180 130 dB 3us La ency Global Shu e
Spa io empo al Vision Senso ,” IEEE J. Solid-S a e Ci cui s,
ol. Ea ly Access Online, 2014.
[3] A. Bolopion, Z. Ni, J. Agnus, R. Benosman, and S. Regnie ,
“S able hap ic eedback based on a dynamic ision senso o
mic o obo ics,” in 2012 IEEE/RSJ In e na ional Con e ence
on In elligen Robo s and Sys ems (IROS), 2012, pp. 3203–
3208.
[4] T. Delb uck and M. Lang, “Robo ic Goalie wi h 3ms
Reac ion Time a 4% CPU Load Using E en -Based
Dynamic Vision Senso ,” F on . Neu osci., ol. 7, p. 223,
No . 2013.
[5] jAER, jAER Open Sou ce P ojec . 2007 [Online]. A ailable:
h p://jae p ojec .o g
[6] “jAER / Code / [ 5522]
/jAER/ unk/s c/ch/unizh/ini/jae /p ojec s/ i ualslo ca .”
[Online]. A ailable:
h p://sou ce o ge.ne /p/jae /code/HEAD/ ee/jAER/ unk/s c
/ch/unizh/ini/jae /p ojec s/ i ualslo ca /. [Accessed: 25-Oc -
2014]
[7] “jAER / Code / [ 5522]
/de ices/pcbs/Slo Ca Con olle PCB.” [Online]. A ailable:
h p://sou ce o ge.ne /p/jae /code/HEAD/ ee/de ices/pcbs/S
lo Ca Con olle PCB/. [Accessed: 25-Oc -2014]
[8] slo Ca RacingTellu ide2010.wm . 2010 [Online]. A ailable:
h p://you u.be/ALneVn-Ls2Q?lis =UU70-
pVoJ4pwIAxqpgcR7oxg. [Accessed: 06-Oc -2014]
[9] Slo ca ace con olled by DVS Capo Caccia 2014. 2014
[Online]. A ailable: h p://you u.be/CnGPGiZuFRI.
[Accessed: 03-Oc -2014]
[10] Slo Ca Racing wi h DAVIS neu omo phic ision senso .
2014 [Online]. A ailable: h p://you u.be/AsO1TWS8_VA.
[Accessed: 28-Oc -2014]
Fig. 7. Slo ca posi ion and speed s. ime on a di e en ack. Two laps a e
comple ed success ully using mo o b aking o slow down jus a e ack e ex 0.
On he las lap, mo o b aking is disabled, esul ing in a c ash.