Developing a Windows interface for serial communication with MARC

interface development

This control, currently being developed, allows a user to control the robot via serial communication between the arduino board and a PC. The controller is written in C# and uses panels for control clusters; a user picks the part of the body to move on the diagram, which enables the controls for that part of the robot.

Interacting with the world

arm vs claw

Consideration should be given to the various ways in which a robotic system can interact with its environment – traditionally production and industrial robots have used a variety of means, including claws and clamps. Marc is styled as a humanoid robot, and as such its manipulating limbs are styled after human arms and hands (See above image, left panel). Whilst this looks more human, having 5 digits with multiple degrees of freedom and points of articulation makes the manipulators far harder to develop and work with, as greater precision and complexity of control are required. By contrast, simpler manipulators (such as the simple claw arm robot I have built as a side project, pictured above) are much easier to develop and program for, but lack dexterity.

It seems sensible to conclude that the type of manipulator deemed appropriate to be integrated into a system should be determined by the purpose the system serves – for human-robot interaction research with a humanoid platform, a more human-looking design makes sense, whereas if the research is looking at interacting with the environment, such as for object manipulation, removing the complexity of a multi-digit, complexly articulated manipulator in favour of a simpler claw grabber mechanism may make sense.

Robot Arm

This video shows how Marc’s arm works – the model is similar to various organic anatomical models – wire acts in an agonistic-antagonistic pairing – one pulls a finger so it follows its path of least resistance in its articulation and contracts; the opposite wire in the pairing straightens the digit back out.

Each digit has a servo which manipulates the wire ligaments; the wrist also has it’s own servo to allow degrees of freedom to the joint which are approximate to those in a human arm.