University of Turku

Capstone

About

Panda from Franka Emika is a robotic manipulator that is marketed as an easy collaborative robot. Multitude of different learning resources, versions, libraries and frameworks and inconsistencies between all of these can be overwhelming.

Project goal

Our initial goal from our topic owner was to create a teleoperator for moving Panda. We decided to build a web-based UI that allows to control Panda remotely via a ZeroTier-network. We set the following requirements:

  • Be able to grasp objects and move them from place A to place B (within the reach of the arm)
  • Easy to use
  • Shows live camera feed from the arm
  • Allow intuitive control with and without external bluetooth gamepad (PS4, XBOX one)

Results

Our product, Panda Teleoperator, meets the set of requirements listed above. It consists of a React-client, NodeJs-server and ROS2-nodes. NodeJs-server uses rclnodejs to create ROS2-messages that ROS2-nodes listen. NodeJs-server is running on our control-computer with ROS2-system, and is physically linked to Panda.

Our codebase consist of React-client and NodeJs-server. Instructions for making few small but necessary changes to already existing examples in MoveIt- and Franka-libraries are given in our step-by-step-instructions that also cover everything from a clean install of Ubunutu 20.04 LTS to setting up our system as it is.

Future

We hope that our project can be used as a basis for other projects or as a starting point to get known to working with Panda robotic arm. With our documentation, setting up our system should be straightforward and provide useful insight to get started.
Bild av projektet