Skip to content

About

An octopus-inspired simulation of distributed arm control, local sensing, obstacle avoidance and grasping

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

GitHub issues Releases License Language GitHub code size in bytes

Octopus Controller

Behaviour Showcase

A simulation of octopus-inspired distributed arm control, local sensing, obstacle avoidance and grasping.

Introduction

An octopus presents a fascinating problem in biological control. Unlike animals whose limbs are controlled predominantly through a central nervous system, an octopus has a highly distributed nervous system, with a substantial proportion of its neurons located in its eight arms.

Each arm is capable of complex, flexible movement and possesses extensive sensory capabilities. Rather than requiring the brain to specify every detail of an arm's movement, much of the processing involved in controlling and responding to the environment can take place locally.

This raises an interesting computational question: how much complex, apparently intelligent behaviour can emerge from relatively simple, locally controlled mechanisms?

Octopus Controller is an experimental simulation inspired by this question. It explores how multiple flexible arms can operate through a combination of movement control, local sensory feedback and responses to environmental constraints.

The objective is not to reproduce the octopus nervous system in complete biological detail, but to investigate some of the principles underlying distributed control and embodied behaviour.

What the simulation demonstrates

The project currently explores eight progressively more sophisticated capabilities:

  1. Single-arm control — controlling the movement and curvature of an individual flexible arm towards a target
  2. Multi-arm control — extending the control system to eight arms capable of operating simultaneously
  3. Local sensing — allowing individual arms to respond to objects detected in their immediate environment
  4. Obstacle avoidance — modifying arm movements in response to obstacles encountered while reaching towards a target
  5. Grasping — demonstrating object interaction through the coordinated positioning and curling of an arm
  6. Local Hazards and Recoil - detection of hazards by the arms with recoil interrupting local reaching
  7. Escalation - priority signalling of hazards with escalation to the central controller
  8. Conflict resolution — explicit priorities for safety, grip, shared targets and incidental discoveries

Together, these demonstrations illustrate a progression from simple movement control towards more complex, environmentally responsive behaviour.

Project scope

Octopus Controller is a computational experiment in biologically inspired control, rather than a biologically validated simulation of octopus anatomy or neurophysiology.

Its primary purpose is to explore how local control, sensory feedback and the coordination of multiple flexible appendages can produce useful and potentially complex behaviours without requiring every movement to be explicitly choreographed by a central controller.

The project provides a foundation for further experiments involving tactile feedback, arm cooperation, autonomous exploration and increasingly sophisticated interactions with the environment.

A Tribute to Charles 🐙

Octopus Controller is dedicated to Charles, a common octopus (Octopus vulgaris) who participated in a series of learning experiments conducted by P. B. Dews at the Naples Zoological Station in the 1950s.

The experiment was straightforward: teach three octopuses — Albert, Bertram and Charles — to operate a lever in exchange for food.

Albert and Bertram cooperated reasonably well.

Charles had other ideas.

He repeatedly bent the lever by applying excessive force, attempted to pull the experimental lamp into his tank, and directed jets of water at the experimenter. Eventually, he broke the lever altogether.

Charles became a memorable example of the difficulty of studying an animal whose behaviour doesn’t necessarily conform to the experimenter’s expectations.

His apparent determination to investigate and manipulate his surroundings, whether or not those activities contributed to the assigned task, captures much of what makes octopuses such fascinating animals.

This project is a small tribute to Charles and, more broadly, to the remarkable behavioural flexibility and individuality of cephalopods.

Read the full story of Charles in the Wiki.

In memory of Charles — who demonstrated that an octopus may have more interesting things to do than follow instructions. 🐙

Getting Started

Please see the Wiki for the user guide, controls and further details.

Authors

  • Dave Walker - Initial work

Feedback

To report an issue or suggest an improvement, please use the project's GitHub Issues page.

License

This project is licensed under the MIT License — see the LICENSE file for details.

About

An octopus-inspired simulation of distributed arm control, local sensing, obstacle avoidance and grasping

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages