36
Mo#va#on Goal: Improve Autonomous Robot Control Evolve adap#ve control: changes to a control signal changes in the environment changes in dynamics (morphology) Not behaviors Anthony J. Clark | ALIFE 2014 : EPS Workshop 1

Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Mo#va#on'

Goal:'Improve(Autonomous(Robot(Control(

•  Evolve'adap#ve'control:'– changes'to'a'control'signal'– changes'in'the'environment'– changes'in'dynamics'(morphology)'

•  Not'behaviors'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 1'

Page 2: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Mo#va#on':'Robo#c'Fish'Industrial+ Biological+

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 2'

Page 3: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Outline'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 3'

Robo#c'Fish'Design'

Adap#ve'Control'

Velocity'Study'

Flow'Tank'Applica#on'

Future'Work'

Page 4: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Small'Robo#c'Fish'•  S#ckleback'size'

–  robot ':'7'cm'–  real' ':'4'to'6'cm'

•  Electrical'components'–  32Wbit'ARM'μWcontroller'–  3Waxis'accelerometer'–  3Waxis'gyroscope'–  2'light'sensors'–  2.4'GHz'wireless'–  magne#c'motor'–  1'hour'ba[ery'life'–  NOT'tethered'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 4'

REPLACE'PICTURE'

Page 5: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Design'Process'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 5'

Robot+Prototype+

Page 6: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Design'Process'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 6'

Dynamic+Modeling+

Robot'Prototype'

[Wang'2012,'Clark'2012]'

Page 7: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Design'Process'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 7'

Dynamic'Modeling'

Parameter+Iden<fica<on+

Robot'Prototype'

Page 8: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Design'Process'

Control'System'–  r ':'desired'system'output'–  y ':'actual'system'output'–  e':'system'output'error'–  u':'control'signal'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 8'

Dynamic'Modeling'

Control+Design+

Parameter'Iden#fica#on'

Robot'Prototype'

Controller' System'r' e' u' y'

+' _'

Page 9: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Design'Process'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 9'

Dynamic'Modeling'

Simula<on+

Control'Design'

Parameter'Iden#fica#on'

Robot'Prototype'

[Clark'2013]'

Page 10: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Design'Process'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 10'

Dynamic'Modeling'

Simula#on'

Control'Design'

Parameter'Iden#fica#on'

Robot'Prototype'

Physical+Experiments+

Page 11: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Design'Process'

Repeat'to'refine'–  reduce'modeling'error'–  improve'parameter'es#mates'

–  model'noisy'sensors'

Repeat'for'new'robot'–  different'parameters'–  different'sensors'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 11'

Dynamic'Modeling'

Simula#on'

Control'Design'

Parameter'Iden#fica#on'

Robot'Prototype'

Physical'Experiments'

Page 12: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Outline'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 12'

Robo#c'Fish'Design'

Adap#ve'Control'

Velocity'Study'

Flow'Tank'Applica#on'

Future'Work'

Page 13: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Adap#ve'Control':'MRAC'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 13'

Controller' System'r'

e'

u' y' +'

_'Reference'Model'

Adap#ve'Law'

yp'

θ'

Page 14: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

ModelWFree'Adap#ve'Control'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 14'

MFA'Controller' System'

r' e' u' y'+' _'

x'

d'

+'

+'

Page 15: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 15'

ModelWFree'Adap#ve'Control'

MFA'Controller' System'

r' e' u' y'+'_'

x'd'

+'

+'

Page 16: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Adap#ve'Neural'Network'

Network'Ac#va#on'–  feedWforward'network'–  propagated'error'–  sigmoid'ac#va#on'

Network'Update'–  minimize'error'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 16'

Page 17: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Adap#ve'Neural'Network'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 17'

Page 18: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Parameters'

Network'values'–  hidden'layer'bias'–  hidden'layer'bias'weights'–  output'layer'bias'–  output'layer'bias'weight'

Learning'Values'–  learning'rate'

Network'topology'–  number'of'input'nodes'–  number'of'hidden'nodes'

Control'values'–  gain'–  error'bounds'–  ac#va#on'period'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 18'

Page 19: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Outline'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 19'

Robo#c'Fish'Design'

Adap#ve'Control'

Velocity'Study'

Flow'Tank'Applica#on'

Future'Work'

Page 20: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Simula#on'Study'

Swim'at'a'given'(changing)'speed'

Adapt'to:'–  different'control'signals'–  changing'fin'flexibili#es'–  changing'fin'lengths'

Evalua#on'–  simulate'for'60'seconds'with'a'varying'control'signal'–  fitness'='mean'absolute'error'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 20'

Page 21: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

UnWtuned'Parameters'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 21'

Page 22: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Single'Trial'Evolu#on'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 22'

Page 23: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Mul#Wtrial'Evolu#on''

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 23'

Page 24: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Mul#Wtrial'Evolu#on''

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 24'

Page 25: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Changing'Dynamics'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 25'

Page 26: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Outline'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 26'

Robo#c'Fish'Design'

Adap#ve'Control'

Velocity'Study'

Flow'Tank'Applica#on'

Future'Work'

Page 27: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Sta#on'Keeping'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 27'

Video'of'new'fish'

Page 28: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

SISO'to'MIMO'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 28'

MFA'Controller'

r1' e1' u1' y1'+'_'

x1'

d1'

+'+'

System'

MFA'Controller'r2'

e2'u2' y2'

+' _'

x2'

d2'+'

+'

(x'accelera#on)'

(y'accelera#on)'

(frequency)'

(bias)'

(IMU'xWaxis)'

(IMU'yWaxis)'

Page 29: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

SISO'to'MIMO'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 29'

MFA'Controller'

r1' e1'u1' y1'+'

_'

x1'

d1'

+'

+'

System'

MFA'Controller'r2' e2' u2' y2'

+' _'

x2'

d2'

+'

+'

Coupler'

Coupler'

(x'accelera#on)'

(y'accelera#on)'

(frequency)'

(bias)'

(IMU'xWaxis)'

(IMU'yWaxis)'

Page 30: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Outline'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 30'

Robo#c'Fish'Design'

Adap#ve'Control'

Velocity'Study'

Flow'Tank'Applica#on'

Future'Work'

Page 31: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Future'Work':'HighWlevel'Control'

•  Higher'level'control'– FSM'– ANN'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 31'

MFA'Controller' System'

r' e' u' y'+'_'

x'

d'

+'

+'HighWlevel'Control'

(behaviors)'

Page 32: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Future'Work':'Failure'

•  When'MFA'fails'–  the'error'signal'gets'to'high'– combine'with'SelfWmodeling'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 32'

[Rose'2013,'Bongard'2006]'

Page 33: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Conclusions'

•  Increase'adaptability'of'autonomous'robots'– control'signals,'morphology,'noise'

•  Decrease'modeling'effort'– evolve'online/onboard'

•  Help'cross'the'reality'gap'in'tradi#onal'ER'– handle'disparity'between'simula#on'and'reality'

•  Requires'higherWlevel'control'for'behaviors'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 33'

Page 34: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

'The'authors'gratefully'acknowledge'the'contribu#ons'and'feedback'on'the'work'provided'by:'•  Jared'Moore,''•  Jianxun'Wang,'and''•  the'BEACON'Center'at'Michigan'State'University.''

This'work'was'supported'in'part'by'Na#onal'Science'Founda#on'grants'IISW1319602,'CCFW1331852,'CNSW1059373,'CNSW0915855,'and'DBIW0939454,'and'by'a'grant'from'Michigan'State'University.'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 34'

Page 35: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

Thank'You'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 35'

Robo#c'Fish'Design'

Adap#ve'Control'

Velocity'Study'

Flow'Tank'Applica#on'

Future'Work'

Ques#ons?'

Page 36: Mo#va#on' - cse.msu.educse.msu.edu/~ajc/pdfs/presentations/ajc_ALIFE2014.pdf · Mo#va#on' Goal:'Improve(Autonomous(Robot(Control( • Evolve'adap#ve'control:' – changes'to'a'control'signal

References'•  [Wang'2012]':'Dynamic(modeling(of(robo:c(fish(with(a(flexible(caudal(fin.'

–  In'Proceedings'of'the'ASME'2012'5th'Annual'Dynamic'Systems'and'Control'Conference,'joint'with'the'JSME'2012'11th'Mo#on'and'Vibra#on'Conference,'Ft.'Lauderdale,'Florida,'USA,'October'2012.'

•  [Clark'2012]':'Evolu:onary(design(and(experimental(valida:on(of(a(flexible(caudal(fin(for(robo:c(fish.((–  In'Proceedings'of'the'Thirteenth'Interna#onal'Conference'on'the'Synthesis'and'

Simula#on'of'Living'Systems,'pages'325–332,'East'Lansing,'Michigan,'USA,'July'2012.'

•  [Bongard'2006]':'Resilient(machines(through(con:nuous(selfBmodeling.(–  Science'314.5802'(2006):'1118W1121.'

•  [Rose'2013]':'Just'Keep'Swimming:'Accoun#ng'for'Uncertainty'in'SelfWModeling'Aqua#c'Robots'–  In'Proceedings'of'the'6th'Interna#onal'Workshop'on'Evolu#onary'and'Reinforcement'

Learning'for'Autonomous'Robot'Systems,'Taormina,'Italy,'September'2013'

Anthony'J.'Clark''|''ALIFE'2014':'EPS'Workshop' 36'