Panda Teleoperator 2022
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.