# Week 5

Social robotics

Examples brought from the participants of the class

Social Robotics: LinkVideo1 – Video2 – Video3 – Explanation

Machine states: why and how?

Robots are taking important roles in our lives. We saw in a previous class the Kiva Robots . There are many social implications and these are not the only ones used in warehousing. But also it is part of our course to understand how these machines operate and are using the sensors to guide themselves through the shelves.

We discussed about the impact of introduction of robotics, but somehow we left outside all the new opportunities that this brings to the game. Some robots are specifically designed to interact with other workers. For example, Baxter has many degrees of freedom and also has a human form factor to move precisely and while helping on tedious tasks. But of course there are many other improvements in hazardous environments like the car industry.

What would happen if the car is in the function of self driving and a door is opened? There should be a way to establish these different behaviors…

Related topic: Why self driving cars must be programmed to kill

Finite State Machine

A finitestate machine (FSM) or finitestate automaton (plural: automata), or simply a state machine, is a mathematical model of computation used to design both computer programs and sequential logic circuits. It is conceived as an abstract machine that can be in one of a finite number of states.

Here there is an interesting example of how a state machine can be used in automation (robot joke?)

Read further: Why developers should use state machines ?

Using the concept of function and state machine, we created in class our very humble autonomous LDR/LED system. Code is hosted in Github: here

Review: Bits and Bytes

What can we do with FSM?

FSM robot

FSM wall bouncer (Roomba for it’s friends)

Just another example:

We rewrote the Example 5 into an Example 6, using SWITCH CASE syntax. But States could be many, depending the complexity of our application.

From other robot fans we can learn more about their state machines and the functions they use them for.

Using the basic work frame given in Example 7, we can build a state machine with several inputs and different actions. For this we define 4 different scenarios:

• environmental light
• strong light on the left sensor
• strong light on the right sensor
• strong light on both sensors

Instead of using real motors, we are using LEDs to simulate the states.

See it working with two LDR’s (simulator)

We connect the real motors with the functions, such as an example.

Code example is hosted here: Example

A complex behavior as a set of sub-behaviors

Subsumption and A.I. in Robots

Behavioral Trees

Subsumption and behaviors

Slides used in class for week 5

Solar panel tracking light coded in class