Below are some examples of the implementation of perceptual control, on real-world robots and in simulated environments. All are developed by Perceptual Robots apart from the baseball catching demo which is by an associate from the Control Systems Group. For more videos see the Perceptual Robots YouTube channel.
This robot uses a four-level hierarchical control system to perceive and control the angular velocity perceived by the gyroscope, as well as the gyroscope position, the robot velocity and the robot position. A fifth, higher, level controls a step function which sets the reference for the angular velocity resulting in the unit moving backwards and forwards while balancing.
This roving robot controls a relatively, complex set of perceptions within a hierarchical control system.
The sort of behaviour that is observed is target search and location, obstacle avoidance and recovery from deadlock. However, none of these behaviours have been explicitly programmed into the system, and neither are there different solutions utilised for the different types of behaviour, as per behavior-based robotics. All the behaviours are the observed outcomes (side-effects) of a set of units sharing a common architecture, of perceptual control systems.
This system and the methodology for the perceptual control approach to robotics is outlined in the paper, “A General Architecture for Robotics Systems: A Perception-Based Approach to Artificial Life“, Rupert Young Artificial Life Volume 23 | Issue 2 | Spring 2017 p.236-286.
An implementation on a real robot of an arm perceptual control system, with the addition of a layer for the control of a list of goals using an associative memory system from which the Tai Chi movement emerges.
This was implemented on the Baxter robot in the Robotics Innovation Facility at Bristol Robotics Laboratory using ROS and PCT Framework. The arm has seven degrees of freedom, shoulder yaw, shoulder pitch, elbow pitch, elbow angle, elbow roll, wrist pitch and wrist roll. The system is able to control goals, such as elevation (of the hand) and reach (of the arm). It achieves this not by computing inverse kinematics or by specifying what the outputs should be, but by specifying what the lower-level goals should be and varying them until the higher-level goals are realised.
Dynamic Visual Robot Arm Control
This second arm control system builds on that above by including the control of visual perception. It is a fully closed loop solution implemented with a hierarchy of perceptual control systems, rather than kinematics. As such it is computationally-lightweight and negates the requirement for precision engineering, 3D positioning, camera calibration, trajectory planning and joint planning; the complex processes usually associated with the control of robot arms.
The principles of PCT are elegantly demonstrated by Richard S. Marken‘s interactive, online simulation of baseball catching. The conventional view of how a fielder catches a baseball may involve complex computations of predicting the trajectory of the ball as well as replaying a sequence of muscle commands from memory. Marken’s demonstration, and associated research publications, shows that there is much simpler and parsimonious solution to the baseball-catching problem. The solution is simply the control of the perceptual input variables of the vertical and horizontal retinal optical velocities of the ball and not output variables. In basic terms this involves moving the body relative to the ball until it is in a position where the perceived velocities of the baseball on the retina are zero.