Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules...

43

Transcript of Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules...

Page 1: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle
Page 2: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Robot-sumoBc. Jan TomášekBc. Štěpán Havránek

Page 3: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Outline

Bc. Jan Tomášek● Sumo robot rules

○ why mini sumo● Hw design

○ AI approach○ engineering approach○ our robot

Bc. Štěpán Havránek● Software architecture

○ Problem description○ Simple/practical○ Complex/theoretical○ Problems○ Out of the box

thinking

Page 4: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Robot-sumo rules

Robot-sumo is a sport in which two robots attempt to push each other out of a circle (in a similar fashion to the sport of sumo). The robots used in this competition are called sumobots.

Page 5: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Robot-sumo categories

● Heavy-weight - ~56 kg, ~61cm ● Light-weight - ~23 kg, ~61cm● Mini-sumo - 500g, 10cm● Micro-sumo - 100g, 5cm● Nano-sumo - 2.5 cm● Femto-sumo - 1cm

Page 6: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Heavy-weight sumo

Page 7: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Light-weight sumo

Page 8: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Mini sumo

Page 9: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Micro sumo

Page 10: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Nano sumo

Page 11: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Femto sumo

Page 12: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Mini sumo

● up to 500g● dimensions

○ 10 x 10 cm, unlimited height○ on start

● can not destroy another robot● ring

○ diametral 77 cm● no adhesion boosting allowed● splitting allowed

Page 13: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Hw construction

● Artificial intelligence○ evolution algorithms

■ spring models■ box models

○ why we can’t use AI in construction○ our robot

Page 14: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Spring model

● inspired by biological muscles● organism consists of linked set of node

masses● to provide movement some sprigs are

representing a muscles○ drives in simple harmonic motion

Page 15: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Spring model examples Daintywalker the SodaRace mascot

Page 16: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Sodaplay

● game engine ○ human designed vs. genetic designed spring

robots● manual robot/races creation

○ easy sharing between participants● problem of this method

○ extreme overfit○ need lot of different races

Page 17: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

3D springs

● this model can be generalized to 3D ● Marcel Krčah in his thesis “Evolution of

Springy Organisms”

Page 18: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

3D models examples

Page 19: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

another genetic model

● presented on seminar last year

● boxes and joints

Page 20: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Genetic algorithms for sumo

● none of previous models consider what can be made (by 3D printer)

● simulation○ very hard physical model

■ friction, adhesion○ opponent simulation○ “crash test”

■ best friction, best adhesion, lowest battery consumption

■ which is important ?!

Page 21: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Engineering solution

Page 22: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Our robot

Page 23: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Robot’s software

● Inputs○ Sensors

■ Numeric values● Outputs

○ Motors○ Other devices

● Autonomous embedded computer

Page 24: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Software architecture

● Straight techniquesvs.

● “Clever” / theoretical approaches

Page 25: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Software architecture

● Hardcoding○ Problem-specific○ Fast

■ => Lower HW requirements● Often the only possible solution

○ System If-Then rules■ Infinite loop■ Locks

Page 26: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Software architecture

● Subproblems organization○ => Abstraction layers

■ Input■ Output■ Logic

● Model○ States○ Process workflow

Page 27: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Layered model

● System Action-Interruption○ On all the layers○ HFSM○ Extensions

■ Priority■ Dependences■ Probability

Page 28: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Strategies

● Simple automata○ Offensive

■ Search and attack○ Defensive

■ Search and run away○ Random movement

■ Without fight

Page 29: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Search and attack strategy

Page 30: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Simple strategies - keep inside

Page 31: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Simple strategies - keep inside

Page 32: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Strategies

● Combination of different strategies○ Superior decision automata

● Artificial intelligence techniques○ High level of abstraction

Page 33: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

AI approach

● Environment○ Partially observable○ Stochastic behaviour○ Sequential process○ Dynamic surroundings○ Continuous ○ Multi-agent space

Page 34: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

AI approach

● Searching○ What?○ Where?○ How to use the results?

Page 35: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

AI approach

● Classical way○ Searched space = possible actions

■ According to input○ Searching for highest reward

■ Action sequence ending with victory○ Do the result action sequence○ => Planning

■ Problem solved?

Page 36: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

AI approach

● Planning○ Ignores future environment states

● Another AI/TI techniques○ Evolution algorithms○ Neural networks

Page 37: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

AI Evolution approach

● Cultivating the strategy● Base population

○ Presented simple strategies● “The genes”

○ Quantitative values● Fit function

○ Selection naturally made by the fights

Page 38: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

AI Evolution approach - concrete

● Population○ Strategy programs in If-Then form

■ Expressions converted to numeric values (quantitative)

■ Added the rest unused combinations as multiplied by zero

■ Ex.● IF 1*FrontOptSensor THEN MoveFront(0)● IF 1*FrontOptSensor THEN MoveBack(1)

Page 39: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

AI Evolution approach - concrete

● Mutation○ Small value changes

Page 40: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

AI NN approach

● We don’t know the right results of the neural network

● We want the right synaptic weights● Basically the same as the evolution

approach

Page 41: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Q & A

Page 42: Robot-sumo - kti.mff.cuni.czbartak/ui_seminar/talks/2013ZS/Sumo_robot.… · Robot-sumo rules Robot-sumo is a sport in which two robots attempt to push each other out of a circle

Sources● Genetic robot design

○ http://artax.karlin.mff.cuni.cz/~krcap1am/ero/doc/krcah-ices08.pdf○ Evolution of Springy Organisms by Marcel Krčah

● Sumo Robot wiki○ http://en.wikipedia.org/wiki/Robot-sumo

● Soda race○ http://sodaplay.com/creators/soda/items/race

● femo sumo on youtube○ http://www.youtube.com/watch?v=n2lp7rOKB0c

● Human-like and Animal-like Agents○ http://artemis.ms.mff.cuni.cz/main/tiki-index.php?page=A%20lecture%20on%20Human-like%20and%20Animal-

like%20Agents● JSumo

○ http://jsumo.com● Robodoupě

○ http://robodoupe.cz● Jizhong Xiao

○ http://www-ee.ccny.cuny.edu/www/web/jxiao/