Study Materials
Lecture 1 – Introduction
- The Most Awesome Robots 2015 – https://www.youtube.com/watch/S5AnWzjHtWA
- iRobot Roomba® Vacuum Cleaning Robot – http://www.irobot.com/For-the-Home/Vacuum-Cleaning/Roomba.aspx
- Raspberry Pi Robotics #2: Zumo Robot – https://www.youtube.com/watch?v=AZSiqj0NZgU
- Make: The Latest In Hobby Robotics 05 – http://makezine.com/2011/04/12/the-latest-in-hobby-robotics-05/
- E3 2009: Project Natal Milo demo – https://www.youtube.com/watch?v=CPIbGnBQcJY
- Microsoft demos the „brains“ behind its new Kinect sensor: skeletal tracking – https://www.youtube.com/watch?v=bdviGrPaQDQ
Lectures 2-3 – Intelligent Agents
Stages and perspectives in development of agent technology. Distinctive Features and Applications
- Distinctive Features: Autonomy, Intelligence, Learning/Adaptation, Reactivity, Pro-activity, Communication/Social Ability, Cooperativity, Mobility, Long-term Persistence, Personalization).
- Types of Agent Applications – Interface/Task/Information/Collaborative/Mobile/Reactive/Hterogenious/Social/Emotional Agents and Avatars.
- Intelligent Agents – presentation by Trayan Iliev, IPT, 2015 (.PDF, in Bulgarian).
- Intelligent Agents – Distinctive Features and Applications by Trayan Iliev (unpublished paper, .PDF, full version), © IPT – Intellectual Products & Technologies, 2006.
- Подход на интелигентните агенти при моделиране на знания и системи (.PDF, in Bulgarian, short version)
Intelligent Agents – Rational agents- AIMA. Different types of agent architectures – table-based, simple reflex, internal state, goal-driven, utility-driven. Agent environments – types and characteristics. Pseudo-code examples
- Chapter 02: „Intelligent Agents“ form „Artificial Intelligence: A Modern Approach“ (AIMA) by Stuart Russell and Peter Norvig, 1-st ed.
- Chapter 02 (AIMA, 1-st ed.): „Intelligent Agents“ – Stuart Russell’s (Berkeley) course slides in pdf format – PAGE (Perceptions, Actions, Goals, Environment) internal (glassbox) description of IAs, different types of environments and agent architectures.
- Chapter 02 (AIMA, 3-rd ed.): „Intelligent Agents“ – Stuart Russell’s (Berkeley) course slides in pdf format – PEAS (Performance Measure, Environment, Actuators, Sensors) external (blackbox) description of IAs, different types of environments and agent architectures.
Planning robots – STRIPS
- STRIPS (Stanford Research Institute Problem Solver) is an automated planner developed by Fikes and Nilsson, 1971 in Wikipedia
- Chapter 11: „Planning“ form „Artificial Intelligence: A Modern Approach“ by Stuart Russell and Peter Norvig, 2-nd ed.
Reactive Agents – Subsumption Architecture (Brooks, 1986)
- Subsumption architecture article in Wikipedia
- Brooks, R. A. (1986). A robust layered control system for a mobile robot. IEEE Journal of Robotics and Automation, RA-2(1):14-23
- A robust layered control system for a mobile robot. A.I. Memo 864, MIT, 1985 (extended version of the paper).
- Brooks, R.A. (1990). „Elephants Don’t Play Chess“. Designing Autonomous Agents: Theory and Practice from Biology to Engineering and Back (MIT Press). ISBN 978-0-262-63135-8. Retrieved 2013-11-23
Additional Materials
- Additional materials: Presentations, sample Java™ code, and other resources from „Artificial Intelligence: A Modern Approach“ by Stuart Russell and Peter Norvig (http://aima.cs.berkeley.edu/, http://aima.cs.berkeley.edu/instructors.html)
- Chapter 07: „Logical Agents“ form „Artificial Intelligence: A Modern Approach“ by Stuart Russell and Peter Norvig, 2-nd ed.
Lectures 4-6 – Small Robots Platforms: Lego® Mindstorms® EV3, Raspberry Pi™, Arduino.
Electronics basics – soldering, equipment, components, principles
- How to Solder: Through-Hole Soldering
- Analog to Digital Conversion
- Serial Communication
- Serial Basic Hookup Guide
Programming Lego® robots in Java®: leJOS – Wifi configuration, using sensors, motors, tools. Accessing EV3 using SSH. Sample programs.
- Lego® Mindstorms® official webpage
- EV3 SOFTWARE DOWNLOAD (PC)
- LeJOS – Java for Lego® Mindstorms® for EV3 download page
- LeJOS – Java for Lego® Mindstorms® EV3 Wiki
- leJOS EV3 Eclipse plugin download page + Plugin installation tutorial (from menu Help / “Install New Software…”).
- IPT LeJaRo Demos – Motor and Audio Demos
Opensource Hardware and Software: Arduino – GPIO, Sensors and Effectors. Communication Protocols (UART, Serial, USB, SPI, I2C). Using Arduino IDE.
Arduino – Installation and Development
- Arduino official website
- Arduino boards, shields and kits
- Download the Arduino Software opensource IDE
- Arduino Examples Page
- How to Install an ATtiny Bootloader With Virtual USB
Arduino In Bulgarian
- Bulgarian Arduino tutorials, examples, blogs
- Книжка туториал „Запознанство с Ардуино“
- Наръчник „Ардуино книжка за програмиране“ Наръчник „Ардуино книжка за програмиране“
- Ардуино Игрище – примерни схеми и програми за използване на Ардуино в комбинация с различни софтуерни и хардуерни компоненти
Arduino GPIO, SPI and I2C Tutorials
- GPIO, SPI and I2C from Userspace, the True Linux Way – presentation by Baruch Siach
- Serial Programming WikiBook (including serial programming in Java)
- General-purpose input/output (GPIO) in Wikipedia
- I²C (Inter-Integrated Circuit) in Wikipedia
- I2C
- Serial Peripheral Interface (SPI) in Wikipedia
- Serial Peripheral Interface (SPI)
- Better SPI Bus Design in 3 Steps
Arduino Components
- OLIMEX – Bulgarian open hardware Arduino/robotic components development company homepage
- Robotev – Arduino/Pi/robotic components homepage
Raspberry Pi™ 2 and 3 – an IoT & Robotics Platform with Higher Computational Capabilities / WiFi / Bluetooth Low Energy (BLE). Installing Raspbian. Integration of Different Hardware Modules – LCD, Ultarsound and Infrared Distance Sensors, Motor Drivers, Compass/Gyroscope/Accelerometer. Raspberry Pi – Arduino Integration.
- Raspberry Pi GPIO Pin Information [all_models]
- Wiring Pi – Raspberry Pi GPIO Pins
- Using Node-Red with RPi GPIO
- The Pi4J project: Connecting Java to Raspberry Pi
- Pin Numbering – Raspberry Pi 2 Model B, Diagram with Broadcom pin numbers
- Simple GPIO Control using Pi4J
- Raspberry PI 2 B first time Setup (1/2 Hr Process to full GUI and WIFI) – YouTube video
- Raspberry Pi™: Basic examples to help you get started with some of the software available in Raspbian
- GPIO: Models A+, B+ and Raspberry Pi 2
- Raspberry Pi – How to use the GPIO RaspberryPi IV Beginners – – YouTube video
- Adafruit’s Raspberry Pi Lesson 4. GPIO Setup
- RPi Low-level peripherals
- RPi BCM2835 GPIOs functions
- RPi GPIO Interface Circuits
- RPi Serial Connection
- RPi SPI
- Gordons Projects – Projects, Fun and Games from Gordon @ Drogon
- The GPIO utility from Gordon
- Physical Python – Part 1 – tutorial by Quick2Wire
- Raspberry Pi and Arduino linked via I2C – tutorial by Quick2Wire
- Enabling The I2C Interface On The Raspberry Pi
- usb4java: A Java library to access USB devices
Lecture 6 – Programming Multithreaded Applications in Java™
- Programming Multithreaded Applications in Java™ – presentation by Trayan Iliev, IPT, 2015 (.PDF, in Bulgarian)
- Thinking in Java – 4-th ed. source code from concurrency chapter by Bruce Eckel, MindView.com
Lectures 7 – 8 – Reactive programming. Actor Model for building reactive (event-driven, scalable, resilient and adaptive) applications. Akka toolkit for building massively concurrent, distributed, and robust event-driven applications
- Actors – references, state, behavior, subordinate actors, supervision, interruption. One-For-One Strategy and All-For-One control strategies. Task delegation. Actor references, paths and addresses. Actor lifecycle – DeathWatch.
- Message passing and receiving – tell, ask, reply. Message routers. Mailboxes.
- Swapping dynamic behaviors – become and unbecome (State pattern). Finite state machines implementation using actors. Data persistence – processor, view, streams, channel, journal, snapshot store, event sourcing.
- Akka framework homepage
- Introducing Akka – presentation by Jonas Bonér, Typesafe Inc.
- Introducing Akka – Simpler Scalability, Fault-Tolerance, Concurrency & Remoting Through Actors DZone tutorial by Jonas Bonér, Typesafe Inc.
- Akka Pi calculation example with added dynamic behaviors – become/unbecome.
Lecture 9 – Types of Agent Applications. Intelligent Agents and Future of Internet. Comparison with Search Engines. Proposal for Three Layer Structure of Internet
- Intelligent Agents – Distinctive Features and Applications by Trayan Iliev (unpublished paper, .PDF), IPT – Intellectual Products & Technologies, 2006.
- Intelligent Software Agents on the Internet an inventory of currently offered functionality in the information society and a prediction of (near-)future developments by Björn Hermans (SHORT VERSION)
- Intelligent Software Agents on the Internet an inventory of currently offered functionality in the information society and a prediction of (near-)future developments by Björn Hermans (FULL VERSION)
Lecture 10 – Intelligent Agents – Interactions between Intelligent (Social) Agents. Game Theory
- Interactions between Intelligent (Social) Agents. Game Theory – presentation by Trayan Iliev, IPT, 2015 (.PDF, in Bulgarian)
- Artificial Intelligence: Foundations of Computational Agents – Ch. 10: Multiagent Systems – Poole & Mackworth – PPT Slides
- Course Multi-Agent Systems at University Politehnica Bucharest
Lecture 11 – Learning Agents
Presentations from „Artificial Intelligence: A Modern Approach“ by Stuart Russell and Peter Norvig (http://aima.cs.berkeley.edu/, http://aima.cs.berkeley.edu/instructors.html)
- Stuart Russell’s (Berkeley) course slides in pdf format:
Lectures 12 – Belief–Desire–Intention (BDI) Model of Practical Reasoning. Agent Communication Languages. DARPA ACL. FIPA Standards. FIPA ACL. JADE
- Agent Communication Languages – Finin & Labrou, University of Maryland Baltimore County, 1999
- FIPA Communicative Acts (CA) presentation by SEC (.PPT)
- Agent Based Software Development presentation by Michael Luck, Ronald Ashri and Mark d’Inverno (.PPT)
- FIPA Abstract Architecture presentation at London FIPA meeting, January 24-29, 2000, from: TC-A members (.PPT)
- FIPA Agents and Platform presentation by M. Cossentino, ICAR – C.N.R. Palermo (.PPT)
- FIPA IEEE Standardization Activities – AgentLink.org (.PPT)
- Specifying Protocols for Multi-Agent Systems Interaction – Poslad, In ACM Transactions on Autonomous and Adaptive Systems, 2007, Volume 2, Number 4 (.PDF)
- FIPA page in Wikipedia (includes links to different FIPA-compliant implementation platforms)
- Java Agent DEvelopment Framework (JADE) page in Wikipedia
- Introduction of Java Agent Development Environment (JADE) presentation by Po-Cheng Huang (.PPT)
Lecture 13 – Knowledge Representation Using Ontologies. W3C Semantic Web Project. Resource Description Framework (RDF). Web Ontology Language (OWL). Protégé
- W3C Semantic Web Technologies – RDF and OWL presentation by Trayan Iliev, IPT – Intellectual Products & Technologies, 2007 (.PDF, in Bulgarian)
- Ontology Development 101: A Guide to Creating Your First Ontology by Natalya F. Noy and Deborah L. McGuinness, Stanford University, CA (.PDF)
- Protégé – a Java based Ontology development environment provided by Stanford University (supports OWL, RDF, RDFS W3C Semantic Web standards).
Lecture 14 (Discussion) – Agent Perspectives