Code Monkey home page Code Monkey logo

franka_lock_unlock's Introduction

Franka Lock Unlock

Locking and unlocking of Franka Emika Franka Researcher 3 (FR3) joint brakes programmatically. Open or close all joint locks either from the command-line, or from any Python program.
For Franka Emika Panda robot checkout the panda branch.

Also supports the activation of the Franka Control Interface (FCI) and other options.

Problem Description

While the Franka FR3 is a great robot for research and industrial use cases, it lacks the option of unlocking or locking its joints from a different source other than the Franka Desk Web UI. However, this is crucial if you want to automate the entire startup and shutdown phase of the robot. That is now possible with the introduction of this package.

Command-Line Usage

Ensure to have python3 installed.

usage: ./__init__.py [-h] [-u] [-l] [-w] [-r] [-p] [-c] [-i] [-s] hostname username password

positional arguments:
  hostname          The Franka Desk IP address or hostname, for example "1.2.3.4".
  username          The Franka Desk username, usually "admin".
  password          The Franka Desk password.

optional arguments:
  -h, --help        show this help message and exit
  -u, --unlock      Unlock the brakes. Otherwise, lock them.
  -l, --relock      Relock the brakes on exit.
  -w, --wait        Wait in case the robot web UI is currently in use.
  -r, --request     Request control by confirming physical access to the robot in case the robot web UI is currently in use.
  -p, --persistent  Keep the connection to the robot open persistently.
  -c, --fci         Activate the FCI.
  -i, --home        Home the gripper.
  -s, --shutdown    Shutdown the robot (PAY ATTENTION TO TIME PASSED WHEN LAUNCHED BEFORE TURN OFF THE CONTROLLER SWITCH).
  -e, --execution_mode    Activate the execution mode
  -p, --programming_mode   Activate the programming mode

ROS Package

This repository exports a ROS package. This is useful for starting up the robot and FCI by means of a single launch file that also spawns the franka_ros interface at the same time. It will speed up your entire robot workflow dramatically.

The ROS package can be installed and invoked by the following commands.

Installation

git clone https://github.com/jk-ethz/franka_lock_unlock
catkin build franka_lock_unlock

Simple Usage

rosrun franka_lock_unlock __init__.py <PARAMS>

Advanced Usage

If you want to launch the franka_control node while unlocking the joints, ensure to add the respawn=true parameter to the node tag, such that the control node retries to connect to the robot until all joints have been fully unlocked and the FCI has been activated.

<node name="franka_control" pkg="franka_control" type="franka_control_node" output="screen" respawn="true" />

The following launch file unlocks the joints, activates the FCI and connects to the robot via ROS. Also, it allows to re-lock the brakes automatically as soon as the launch file is exited via SIGINT or SIGTERM (CTRL+C).

roslaunch franka_lock_unlock franka_start.launch hostname:=<HOSTNAME> username:=<USERNAME> password:=<PASSWORD>

franka_lock_unlock's People

Contributors

jk-ethz avatar gr130398 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.