Skip to content

Franka Emika Panda beginner guide

RValner edited this page Feb 14, 2018 · 4 revisions

This guide is oriented towards Ubuntu operating system. The Panda robot has a pretty comprehensive documentation but there are still few things that are worth mentioning.

Table of Contents

The first steps

  1. Read the good-to-know section.
  2. If you want to control the robot with your own PC, then you probably need to install a real-time kernel if you don't have one yet. Follow the step-by-step installation guide and pay attention to every detail. By the time of writing this tutorial, the RT kernel did not support NVIDIA graphics drivers, use X.Org Nouveau if possible.
  3. If you want to access the internet while working with the robot, then read the 'Internet access vs. the robot' section and find a suitable hardware configuration that is closest to your set-up.
  4. Follow the 'Starting/stopping the robot' section to start the robot
  5. For any further details refer to the user manual, official support or bother the people sitting next to you.

good-to-know

  • Panda comprises two main units: the arm itself and its controller/power supply. Both have an ethernet port but under normal circumstances, the user PC is connected to the controller not the arm. The arm manages its own local network with DHCP (accessed via ethernet port x5), which means that if you connect your laptop to it, the laptop receives an IP address and you can connect to the arm via internet browser (search/type robot.franka.de and you’re done, the server inside the arm can resolve the name)
PC → Arm
The controller box on the other hand is a regular client and it is not connected to the same network where the arm is. Instead it has its own way for communicating with the arm. Hence if you connect the controller to an external router, you can send commands to the arm through the controller box (and access the web interface with the IP of the controller, robot.franka.de name resolution does not work in this case).
PC → Router ← Controller ← Arm
  • Panda has loads of requirements regarding network latency (a, b). So make sure that the following equipment supports gigabit ethernet speeds:
    • Router/Switch
    • Network adapter
    • Ethernet cable - The cable might have been built improperly, which means that the data might be transferred through incorrect cable pairs and as a result the network adapters might negotiate the connection speed to a lower standard.

Internet access vs. the robot

It's not the best idea to connect robots to a public network, hence they are maintained in a private network. This in turn sets some restrictions to how one could work with a robot and access the internet at the same time on the same PC. It's a pretty reasonable assumption that most computers do not have more than one ethernet port, hence the options for solving this problem:

  1. Direct all robot related traffic through ethernet connection and internet through a wireless connection.
  2. Configure the router's routing tables to provide internet access only to certain ethernet ports and to wireless network.
Only the first option is discussed in this guide. The following subsections provide guidelines for common PC network adapter configurations.

Segregating internet and robot traffic

In case you have a wireless + wired PC network adapter configuration (a typical laptop), then the operating system usually automatically prefers the wired connection for internet traffic. You have to specify which connection is being used for local (robot) traffic (meaning that other connections are used for accessing the internet). For that:

  1. Open the network manager
  2. Select the 'Wired' network and click 'Options'
  3. Select the 'IPv4 Settings' tab and click on 'Routes'
  4. In the routes window, select the 'Use this connection only for resources on its network' box

Starting/stopping the robot

Please refer to the user manual if you need more information the about start/stop sequences. The manual can be accessed via robot's web interface and there is also a printed copy somewhere near the robot.

Starting the robot

  1. Flip the switch behind the arm controller unit (FCI) to enabled state.
  2. The robot starts blinking yellow, which indicates that its initializing. This process takes up to few minutes. The robot shows continuous yellow light after it has initialized.
  3. Open an internet browser and type the static IP address of the FCI (written on the FCI) into the search bar, this opens up the robot's control interface. A login is required. Use the user account written on the FCI.
  4. Make sure that the end-effector of the robot is configured properly, i.e., check if robot knows that the end-effector is attached/de-attached or a custom end-effector is used. For that select 'Settings' in the upper right corner of the web interface and go to 'End-Effector' tab. Check the configurations, modify if necessary and after any modifications click 'Apply'.
  5. Open the mechanical locks of the robot. For that select 'Desk' from the top-right menu and click 'Open' in the bottom-right corner of the 'Desk' (the lock control might be hidden by default, just click the little triangle).
  6. Release the software-stop button (connected to the port 'x4' of the arm) if you want to command the robot. Otherwise it's a good safety measure to keep the software-stop at a closed state if you are not working with the robot for a while.

Stopping the robot

  1. Close the mechanical locks of the robot. In order to avoid any damages caused by slight movements during locking process, make sure that the tip of the robot's end-effector is at least 20 cm above the workspace before closing the locks.
  2. Go to the web interface of the robot and select 'Shutdown' from the top-right menu.
  3. It will take few minutes for the controller to shut the robot down. You can hear the fans of the FCI stopping and a message is printed in the web interface after a successful shut-down.
  4. Flip the switch behind the FCI to disabled state.

Controlling the robot via ROS

The manufacturers guidelines (a, b) are comprehensive but make sure you read all the hints and notes.