Photo

Contact

Mathematics

Robotics

Papers

Videos

Haptics

At this year's ICRA, I wandered into the haptics workshop and learned more in one day than I have in a long time.

To help the subject along here in Malaysia, we are building a set of McGill pantographs.

Tele-presence

The Department has a pair of wonderfully stiff and beautifully orange Kuka arms.

I'm working out how to use a Kuka arm, together with stereo projectors and a 3D tracker, to build a sort of virtual reality dissection scope.

Developmental Robotics

I am trying to find ways of programming robot brains without concrete knowledge of the body and/or world in which the brain will be expected to function.

One idea is to use the notion of reversiblity to structure the robot's behaviour and development. We have obtained emergent obstacle avoidance behaviour in this way.

Another idea is use the notion of consistency to calibrate sensors. We have calibrated a mobile camera in this way, without using image features.

Reversibility

Asimov's Three Laws of Robotics aren't very scientific. I think we should start with a New First Law of Robots

  • A robot must not do anything that cannot be undone.

Unlike programs, which act in a world that can be backed up and rebooted, robots act in a world of irreversible physical consequences. This means the question of reversibilty, which is a small question in computing, is a BIG question in robotics.

This seems like a very abstract approach, but in fact it leads to very useful concrete behaviours. For example, when following this abstract maxim, our robot spontaniously develops concrete obstacle avoidance behaviour.

At some level, every action is irreversible. Here we can use the fact that the degree of reversibility depends on the degree of abstraction: as we equate more situations, more actions become reversible. If we equate all situations, every action becomes reversible. Abstractions can be ordered. For example, we might say abstraction A is 'less than' abstraction B if any situations equated by A are also equated by B. This suggests the New Second Law of Robotics:

  • When no action can be undone, do what can be 'undone' with a minimum of abstraction.
For example, braking a supermarket egg is preferable to breaking the unique, hand-painted Easter egg on the mantel, because equating supermarket eggs (which allows us to 'unbreak' the egg by replacing it) is less abstraction than equating all eggs.

Calibration without Features

Riina Maigre has shown that camera and vehicle parameters may be recovered without detecting image features. Our method is an abstract form of focusing. Here is a video of a Khepera robot moving about in an environment that has no point features, and here are some occupancy models constructed with different parameter values. The model with the least blurring gives the correct value of the parameter.

Empty Space

What does empty space look like? This is an important question for autonomous robots with cameras. If the camera is able to track a feature in the environment, then the triangle swept out by the line to the feature is empty. Can we do without features?

Ignoring features, then an image is just a collection of point colours. If we know a given colour, or range of colours, only comes from 'far away' then we can mark the points along the corresponding pixel line as empty. This is the silhouette method. What if we don't know which colours are 'far away'?

Well, empty points look a lot like hidden points. In general, empty/hidden points are the points that are a different colour for each direction they are looked at. Surface points, on the other hand, are the same colour for every direction from which they can be seen. This type information can be computed, stored and accessed using a light field model.

Andres Ojamaa has used a very simple light field model construction, to map the empty space near a Khepera robot equipped with a linear camera. Here is a video that shows his program locating and passing through a gap in some obstacles. Note that no feature detection is performed and the scene, a mix of black and white objects viewed against a black and white background, contains no absolute silhouette information.

Papers

Online Notes

Khepera Code

Competitions

Students (some videos)

  • Gan Wei Jiann (2007) - A Limbed Robot Using Torque Amplifiers
  • Yu Chi Wu (2007) - A Force Amplifying Module for a Limbed Robot
  • Lim Sen Chuan (2007) - A Self-calibrating Controller for a Robotic Limb Actuator with Slack
  • Lim Teik Boon (2007) - Efficient Control of Multiple Capstan Force Amplifiers in a Robotic Limb
  • Yong Yeong Chow (2007) - Underwater Robot Attitude Control by Buoyancy Shifting
  • Juhan Aasaru (2005) - Structured Reactive Functional Robot Programming
  • Riina Maigre (2005) - Automated Parameter Recovery Using Occupancy Models
  • Andres Ojamaa (2005) - Seeing Empty Space with a Mobile Camera
  • Makoto Honda (2005) - Maze Algorithms on a Real Robot with Imagination
  • Usman Akhtar (2004) - Self-Localisation of a Mobile Camera
  • Savvas Christofides (2004) - A Universal Robot Brain
  • Ahmad Hashim (2004) - Emergent Coordination of a Robotic Lego Limb
  • Satish Khatri (2004) - Autonomous Collection of Lost Objects in a Known Environment
  • Suresh Sajnani (2004) - Self-constructing Robots
  • Shaun Satheesh (2004) - Determining the Features of an Object by Nudging
  • Parit Shah (2004) - Visual Communication Amongst Robots
  • Milan Verma (2003) - Autonomous Visual Navigation in a Known Environment
  • Hakim Miah (2002) - Remote Exploration with Parameter Recovery Using an Occupancy Model
  • Uhday Dasoar (2001)- Dead Reckoning and Visual Fixing on the Khepera Robot
  • Fai Hoang (2001) - Deblurring Khepera Robot Vision Data
  • Hiro Ono (2000) - Running Neural Nets on the Khepera Robot
  • Peter Schoonjans (1997) - Classifying Cellular Automata at the Transition from 1D to 2D
1 December 2006, A. Eppendahl http://homepage.mac.com/a.eppendahl/work/robotics.html