CAT | Ideas
The last week was spend on getting iButtons, real tags that contain a serial code, to work with the roomba.
On Thursday, it all worked smoothly: tags are now coupled to behaviour, different tags result in different behaviour, perfect!
(the mini computer that is going to drive the whole has not yet arrived, so I’m not showing pictures/movies yet)
One immediate conclusion was the importance of context: if a tag with ‘wall-following’ is attached, the roomba nicely follows the wall. In a living room, with couches, sofas and tables, this behaviour changes radically of course: the roomba follows everything.
Here, the tag clearly does not ‘comply’ anymore, as it is not wall-following, but more object tracing?
The next focus will be on these ‘tags’: the visual appearances to the roomba, in order to change behaviour.
Last week, I started working with the Roomba platform: the hovering robot.
As a first exploration, I created several tags (spiral, random, sweep, wall-follow, fast, slow), and matching behaviours.
The tags can also be combined: spiral + fast = a fast spiral. Wall-follow + wall-follow + spiral = a wall-following robot that moves in small spirals.
iRobot tags – actDresses exploration – robtieben.com/stockholm from Rob Tieben on Vimeo.
Just a real quick-and-dirty exploration, to see what you can do with 1 LED (a display in this case), and some combining & mixing of tags.
7
Week 3-4: direct manipulation & agents exploration
0 Comments | Posted by Rob in Ideas, Thoughts
The last weeks involved exploration again, this time focused on direct manipulation and agents. Discussions, prototypes, and of course iterations created the base of this exploration.
Goal of exploration:
- create WYSIWYG functionality: appearance = behaviour
- create complex/abstract behaviour (interaction, emergence, if-then, etc)
* explore & analyse possibilities
* explore user interaction & understanding
Direct manipulation
* program 1 object
* wearables -> behaviour = complexity
Lemmings behaviour
* objects interact via simple command objects
* wearables + interaction = complexity
Manipulating the agent
* program different objects to activate each other
* “The Incredible Machine”: creating complex system = complexity
Infect the agents
* program different objects to change each other
* system, cause and effect = complexity
Follow up directions
* direct manipulation & users => focus on user userstanding & robot understanding
combine dresses, what happens?
user learns by doing, robot also learns?
* direct manipulative interaction => focus on manipulating interaction
user (unconscious?) designs a complex system
lemmings/TIM principle
* dress changes behaviour <-> behaviour changes dress
concrete vs abstract
changeable dress vs behaviour IS the dress
* shift from ‘understanding inner workings’ to ‘understanding perceivable behaviour’
behaviour ‘behaves’, user changes something, behaviour changes
user forms mental model, does not have to be correct -> understanding should ‘match’
27
Week 2 – 4D exploration towards end-user programming
0 Comments | Posted by Rob in Ideas, Prototypes
In the second series of exploration iterations, I started to create the WYSIWYG functionality again: allow users to directly program the robot to behave like they want. As a platform, Glowbots (REF) were used, robots with a LED display on top of them. Creating direct signs that directly manipulate/indicate the robot’s behaviour was the goal again.
Eventually, simple shapes were developed that could be placed over the robot: squares, circles, triangles and lines. The robot would then display this shape on the LEDs. When the shape was rotated, the displayed shape would start to rotate as well. Empty robots placed near a shaped robot would copy the behaviour, allowing multiple displays to be programmed. Finally, a ‘blocking’ shape would reset the robot again.
The coupling between sign and behaviour is obvious here: programming of different shapes is simple and straight forward. The interpretation of the signs is simple as well; only simple behaviour can be programmed. This exploration already shows the complication and challenge of more complex behaviour: the ‘copying’ behaviour has no sign at the moment. How could it be made more clear that two shapes copy each other? If this line of reasoning is continued, the real challenge becomes visible: programming complex behaviour using these clear, physical and direct shapes. How would an ‘if-then’ situation be handled, for example? That is the goal of the next exploration: using this platform of Glowbots to explore signs and complex behaviour.
Following my initial explorations, I moved on to some 4D sketching: low-fidelity prototypes that allowed quick user evaluation, and gave me the chance to become familiar with the platforms that are used here as well.
E-puck robots are little robots with a lot of sensors that can drive around, make sound and make light. Easily programmable in C, they allow quick prototyping and exploration. My goal again: explore how direct manipulation can be used to influence the robot’s behaviour. Using my previous ‘analysis’, I created the following problem space:
| Direct Manipulation / Influencing behaviour | Sensors | Actuators | Configuration |
|---|---|---|---|
| Guiding | |||
| Cooking | |||
| Aiming | |||
| Stating |
For all 12 combinations, different sorts of influencing behaviour were created. Eventually, three robots have been programmed, in combination with a puzzle. For each of the robots, the created accessories had to be used to program the robot so it would succeed in the puzzle.
1: guiding + sensors: this robot uses four sensors (left, right, front, back) to detect proximity. If something is nearby, the robot will drive in the opposite direction. This way, by using gestures, the robot can be guided in a certain direction. Using the accessoires, it is possible to cover a sensor, making the robot blind on that site; this will allow the robot to move past obstacles.
2: cooking + actuators: this robot has no sensors, and all it does is moving in a straight line. By using a wire to attach to the robot and a series of poles, the robot can be programmed to drive a certain pattern; for example, just connecting the wire to one pole will make the robot drive in circles.
3: aiming+ configuration: this robot has no sensors, and only drives in a straight line. It’s configuration can be changed by adding a wooden stick; this way, certain paths become inaccessible, while driving behaviour changes. For example, when a small obstacle is detected, the robot will drive around and towards it.
Eventually, some quick user evaluations & discussion with my coaches Ylva Fernaeus and Mattias Jacobsson gave me new insights about the signifier-signified relation: the sign that indicates the behaviour of the robot, the user’s interpretation of both the sign and the actions it provokes, and the general direction to continue in.
In order to get a grasp on actDresses, robots, intelligence, and everything surrounding it, I started with some quick exploration.
My goal was to explore how you can influence the behaviour of a robot, by using physical and direct adaptations to the appearance of the robot. After locking myself in the workshop for half a day, a series of small little ‘robots’ with accessories had emerged. Robots with blindfolds, movable ear-sensors and attachable sails are just a few of the examples.
After analysing and discussing these first explorations, I created the following ’structure’:
Direct manipulation
- altering sensors -> alter ‘handicap‘ of robot -> alter behaviour
- altering actuators -> alter ‘degrees of freedom‘ of robot -> alter behaviour
- altering configuration -> alter ‘capabilities‘ of robot -> alter behaviour
If we look at the examples, it is clear that direct manipulation is key here: one physically directly alters the robot in order to physically directly alter the behaviour.
direct manipulation of the robot = direct manipulation of the behaviour
robot = behaviour
signifier = robot
signified = behaviour
signifier = signified
signifier = signified = robot = behaviour
Influencing behaviour
There are four levels of influencing behaviour, when telling a robot what to do
- guiding: giving commands at every step
- cooking: giving a list of directions that the robot has to follow
- aiming: giving an aim that the robot has to fulfill
- stating: giving a certain behavioral state for the robot
Publicity
Commands or programming that is given to a robot, can be visualised on three levels
- public
- semi-public
- private