1. Artistic Objectives:

Explore tactile intelligence or “athletic” intelligence, particularly tactile intelligence shared between multiple people, through a the remote control of robots interacting dynamically with their environment

2. Simulated Result:

My simulated result shows two single freedom “robots” reminiscent of the manipulators paddles on a pinball machine. Each robot is at the bottom of a smooth valley, and can spin freely in 360 degrees. Heavy marbles (meant to invoke big steel ball bearings) are placed in the world and can roll around, interact with the floor and with the two paddles. The simulation as is handles two sets of keyboard inputs to control each of the two manipulators. Shown in the video are two control modes: velocity control, where the player directly controls the paddle, and virtual spring mode, where the player sets a setpoint and can wind back the paddle and “let go,” then watch the paddle spring back to the setpoint. The human controllers of the paddle can do whatever they want, there is no explicit goal, but the challenge quickly becomes trying to get the steel balls to escape your local gravity well and enter the other players gravity well. The paddle doesn’t have enough torque or authority over the ball to instantly throw it out of the gravity well, so the player has to pump in energy over time. It can be very tricky, but if the two players get good at it over time they can play a sustained game of catch, transferring balls back and forth between their respective gravity wells.

Notes:

-I experimented with creating “arenas” in solidworks and importing them into webots. This worked fine, but I wasn’t really satisfied with the types of geometries I could create in solidworks, and found it to be tedious to CAD up a new geometry, import it to webots, find out I don’t like it, then go back to CAD and try to come up with something new. A much better approach I found was using the built-in perlin noise generator in webots to create smooth, natural terrains. If I continue with this, I think the ideal workflow would be to write my own surface generator in matlab or python, where I specify where I want hilltops and valleys to be, their intensities, and other parameters like curvature, and a mesh is generated automatically. The geometry of the field is important to getting a “game” that feels right, so being able to tune it quickly and programmatically will be very useful.

– Being able to tune the mass of the ball so it’s not so light that it flies away, but not too heavy that it’s impossible to liberate from the gravity well was very useful.

First attempt at a game field, made in solidworks and exported to .STL

Final result of game field, generated in webots. Much easier to get natural-looking terrain, and tweak parameters on the fly.

3. Next steps:

Taking what I learned from simulation, I think there are 2 ways to go forward with this.

  • Build 2 force feedback paddles in hardware, have them control a simulation like the one I outlined above. The simulator used could be webots, but I suspect a video game engine might be better, as it could let you control the visual properties better and create a more aesthetically pleasing result. Forces from the joysticks are communicated to the simulator, and vice versa. The game could take place over the internet, with the simulator running on a central server, and two players with their force feedback joysticks connecting in from home. Alternatively, the simulation could be projected or played on a large screen, with a wired connection going to the two joysticks. (2 physical degrees of freedom, 2 virtual degrees of freedom)
  • Build 2 force feedback paddles in hardware, but have them control a physical kinetic sculpture that looks like the simulation outlined above. Take 3D mesh used in simulation and 3D print or CNC machine the curved surface. Two direct drive actuators would be embedded in the sculpture to actuate the paddles, communicating with their respective joysticks over a wired connection. Use steel ball bearings for the balls and wood for the curved surface. The sculpture as well as two joysticks would all be in the same gallery, and viewers play the game with eachother in person. (4 physical degrees of freedom total).

4. Video

Energy Pump up
Spring-loaded action
Both players flailing about

Note for webots world:

Use left and right arrows and A and D keys to control the paddles. Use V and S to switch back between velocity mode and spring mode. The equilibrium point for spring mode is defined as the position the paddle was at when you last hit V. Spring mode is only possibly for blue paddle (controlled by A and D keys)