Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Multi-Agent Systems on Arduino & iOS

Tomas Jukin
November 22, 2014

Multi-Agent Systems on Arduino & iOS

Multi-Agent Systems (MAS) is one type of Artificial Intelligence used in computing. In this presentation I am explaining how they can be used to control Arduino Robot.

This slides were presented on my presentation "Multi-Agentní Systémy - vybudujme si populaci na stole či v kapse!" at DevFest 2014 (more info at http://devfest.cz/program/)

Video from my lecture (in czech language) is accessible here: https://youtu.be/JIGxJtDX2fA?list=PLcyrRW-49oISXNKAbmTu2hd19QPzvvNVE

Tomas Jukin

November 22, 2014
Tweet

More Decks by Tomas Jukin

Other Decks in Programming

Transcript

  1. HOW to use MAS? A) MANY agents in ONE robot

    form population of ONE robot ! B) ONE agent per ONE robot form population of MANY robots
  2. A) MANY agents per robot ! B) ONE agent per

    robot, 
 MANY robots HOW to use MAS?
  3. Today I will talk about A) MANY agents in ONE

    robot form population of ONE robot MAS controls one robot HOW to use MAS?
  4. Co je to agent? Agent je entita zkonstruována za účelem

    kontinuálně a do jisté míry autonomně plnit své cíle v adekvátním prostředí na základě vnímání prostřednictvím senzorů a prováděním akcí prostřednictvím aktuátorů. Agent přitom ovlivňuje podmínky v prostředí tak, aby se přibližoval k plnění cílů. “ ”
  5. Co je to agent? Agent je entita zkonstruována za účelem

    kontinuálně a do jisté míry autonomně plnit své cíle v adekvátním prostředí na základě vnímání prostřednictvím senzorů a prováděním akcí prostřednictvím aktuátorů. Agent přitom ovlivňuje podmínky v prostředí tak, aby se přibližoval k plnění cílů. “ ”
  6. performReasoning() { // ... } WorldState1 -> Action1 WorldState2 ->

    Action2 WorldState3 -> Action3 else -> idle Behavior Pattern Table Abstract Method Desire > Goal > Intents > Plan > Steps 1) Generate (choose) Plan 2) Execute Reactive + Deliberative WorldState1 -> Action1 WorldState2 -> Action2 WorldState3 -> Action3 else -> Deliberative 1) Generate (choose) Plan 2) Execute
  7. What is MAS? Multi-Agent System is a system which uses

    group or population of agents interacting with environment in order to achieve global goal. Typically individual agents do not have a clue about the global goal. They have their own goals. The global goal is achieved by emergence.
  8. What is MAS? Multi-Agent System is a system which uses

    group or population of agents interacting with environment in order to achieve global goal. Typically individual agents do not have a clue about the global goal. They have their own goals. The global goal is achieved by emergence.
  9. #Probee Robot 3x UltraSonic Sensor (Forward / Backward / Turret)

    4x DC Motor 1x Motor Controller (Left / Right) 1x Arduino UNO (= brain) 1x Bluetooth Module 1x 2x16 I2C LCD (= status display)
  10. MAS in #Probee Robot Written in Wiring/Processing (C dialect) Running

    on 8bit processor 32KB program memory, 2KB RAM
  11. Parallelism Agent 1 Agent 2 Agent 3 How much work

    can be done in parallel? ! Every agent… time →
  12. Concurrency time → Agent 1 Agent 2 Agent 3 How

    much work is actually computed in parallel? ! Only one (serialization)
  13. MAS in #Probee Robot Written in Wiring/Processing (C dialect) Running

    on 8bit processor 32KB program memory, 2KB RAM
  14. MAS in #Probee Robot Written in Wiring/Processing (C dialect) Running

    on 8bit processor 32KB program memory, 2KB RAM Parallelism 4
  15. MAS in #Probee Robot Written in Wiring/Processing (C dialect) Running

    on 8bit processor 32KB program memory, 2KB RAM Parallelism 4 Concurrency 1 (serialization)
  16. MAS in #Probee Robot Written in Wiring/Processing (C dialect) Running

    on 8bit processor 32KB program memory, 2KB RAM Parallelism 4 Concurrency 1 (serialization) Agents 4
  17. Stop when collision would happen Connect with user (send sensor

    data, receive motor data) “Plan” the next action Control movement based on orders from A2/A3
  18. A1 Stopper A2 Communicator A3 Planner A4 Mover Environment Sensors

    Actuators Sensors Actuators Sensors Actuators Sensors Actuators
  19. A1 Stopper A2 Communicator A3 Planner A4 Mover Sensors Actuators

    Sensors Actuators Sensors Actuators Sensors Actuators Environment Blackboard Motors Bluetooth a1_vars a2_vars a4_vars Ultrasonic Sensors a3_vars
  20. M

  21. A M

  22. S Anyone can make Software, try Hardware as well! A

    MAS run even on places you do not expect! M
  23. Seize the opportunity and make your MAS today! S Anyone

    can make Software, try Hardware as well! A MAS run even on places you do not expect! M
  24. Interested? Build or Implement YOUR own MAS! You can start

    right now… …with any language… …or on Arduino!