Robot Monkey

Background

During the first three semesters of my master's degree, I was a research assistant at the Neurotechnology Group of ETH Zurich. We wanted to study the mechanisms behind imitation learning in Marmoset monkeys and needed a realistically looking robot that could show the monkeys the tasks they were supposed to learn.

I lead the project to built that robot from conception to deployment, after developing the specifications and framework, I recruited and supervised students for different parts of the project.
The robot without cover, demonstrating smooth movements.

Hardware

Marmoset monkeys are very small and have thin arms, therefore the actuators could not be placed on the robot itself. Instead, the robot is controlled by strings, which are connected to servo motors in the base of the robot. The biggest concern with this kind of design is joints influencing each other, which was solved by routing the strings for distal joints through the rotation axis of proximal joints. Where this was not possible, the strings were routed in a way that both flexor and extensor muscles were affected equally. To mitigate the change in tension that this causes, the servos are spring-mounted.

The robot with cover, demonstrating fast movements.

Software

We developed a software framework based on ROS/MoveIt/Gazebo to simulate the robot and plan its movements. In Rviz, the robot can be controlled by dragging its end effectors. The joint angles are then generated through inverse kinematics and interpolated between timesteps to generate smooth movements. When requested through the GUI, the file is sent to the robot and the movements are executed.