Welcome to my projects page. Here you will find all the projects I have undertaken relevant to my current research. Some of these projects were carried out a long time ago, but I have included them as they are relevant to my current interests, and they provide some interesting history.
Python-Instinct
I have a current project running (summer 2020) with Alberto Crudo, MSc Computer Science student at Bath, to develop a python integration with Instinct, and additionally see if we can use an Instinct reactive plan to bootstrap a neural network based controller using supervised learning.
ROS-Instinct Reactive Planner for ROS
This project, developed in 2020 by a final year undergraduate in Computer Science at Bath, integrates the Instinct Reactive Planner with the Robot Operating System (ROS). The result is a flexible and powerful framework to enable the integration of ROS based robots with Instinct. The target platform used for the project is the Husarion ROSbot (shown). For further details please contact me.
Instinct Robot World
This is a simple graphical 2D world, in which multiple virtual robots, or agents, can operate. Originally designed as a test platform for the Instinct Planner, it has been enhanced to produce a useful simulation tool for Multi Agent System (MAS) simulations, and also as a means to exercise the Transparency feed mechanism within the Instinct Planner, without the necessity to deploy Instinct in a physical robot. This is proving extremely useful for subsequent projects that use Instinct and the graphical debug tool ABOD3, developed by Andreas Theodorou.
R5 Robot - A low cost Arduino based robot platform
I started designing this platform in 2013. It has speech synthesis, rudimentary speech recognition (simple commands), an audio record/playback capability, a real time clock and a wifi interface. The robot has a head with two degrees of freedom. In addition there is closed loop odometry, infrared proximity sensors, an ultrasonic range finder and a passive IR (human) detector. The original concept was to design a small low cost robot that would roam autonomously, and be able to accept simple voice commands, access information via the internet and pursue both pre-defined, and user directed/prioritised goals. An 'intelligent pet' for £400, and no need to walk it or kennel it for vacations.
At the time of design, I wondered how much functionality would be required to give the illusion of 'intelligent' interaction with humans. This of course raises the question of the difference between the illusion of intelligence, and intelligence itself. See my blog for a discussion.
The R5 Robot is now fully functional, and uses the Instinct Planner as its central action planning mechanism. Currently I am working on the speech output.
Instinct - A Reactive Planner
The Instinct Planner has been a significant development project in its own right, and in order to develop and test it I have also had to develop a virtual-world test harness. The test harness may be enhanced to provide a virtual environment for learning and experimentation with reactive planning tools such as Instinct.
Warning: Array to string conversion in /home/drivinga/public_html/www.robwortham.com/wp-includes/formatting.php on line 1096
An open loop control strategy and implementation for robotic legs
This was my final year project in the Electrical Engineering Dept at the University of Bath, undertaken in 1984/5. Although it's now very old, I have included it because there is still some work being undertaken relating to statically stable walking, and this project provided all the underlying theory.
The goal was to drive a pair of robotic legs to achieve walking. The legs were driven by stepper motors. The project involved developing a mathematical theory of statically stable walking, i.e. walking whilst maintaining the centre of gravity of the robot over the foot currently in contact with the floor. The resulting equations are non linear and transcendental, and required me to generate software to calculate tables of sequential numerical position data. A micro-controller was then programmed to take this tabular positional data and drive the stepper motors via control pulses.
Just for good measure I also had to build a terminal emulator onto the mainframe in order to be able to use the assembly language compiler!