Git Product home page Git Product logo

justagist / franka_ros_interface Goto Github PK

View Code? Open in Web Editor NEW
146.0 5.0 57.0 36.18 MB

A ROS/Python API for controlling and managing the Franka Emika Panda robot (real and simulated).

Home Page: http://justagist.github.io/franka_ros_interface

License: Apache License 2.0

CMake 3.93% Python 53.90% Shell 3.38% C++ 38.79%
franka-emika franka-panda franka-ros franka-panda-python franka-emika-python franka-panda-api panda-robot-api

franka_ros_interface's Introduction

Franka ROS Interface Release ROS Version Python 2.7+, 3.6+

Codacy Badge Build Status

A ROS interface library for the Franka Emika Panda robot (real and simulated), extending the franka-ros library to expose more information about the robot, and providing low-level control of the robot using ROS and Python API.

Franka ROS Interface provides utilites for controlling and managing the Franka Emika Panda robot. Contains exposed customisable controllers for the robot (joint position, velocity, torque), interfaces for the gripper, controller manager, coordinate frames interface, etc. Also provides utilities to control the robot using 'MoveIt!' and ROS Trajectory Action & ActionClient. This package also provides almost complete sim-to-real / real-to-sim transfer of code with the Panda Simulator package.

Documentation Page: https://justagist.github.io/franka_ros_interface

This branch requires franka_ros release version 0.7.1 franka_ros_version. (For older franka_ros versions, try building this package from the corresponding branches of this repo. All functionalities may not be available in older versions.)

A more unified ROS Python interface built over this package is available at PandaRobot, which provides a more intuitive interface class that combines the different API classes in this package. Simple demos are also available.

Features

  • Low-level controllers (joint position, velocity, torque, impedance) available that can be controlled through ROS topics and Python API (including position control for gripper).
  • Real-time robot state (end-effector state, joint state, controller state, etc.) available through ROS topics and Python API.
  • Python API for managing controllers, coordinate frames, collision behaviour, controlling and monitoring the gripper.
  • Python API classes and utility functions to control the robot using MoveIt! and ROS Trajectory Action Service.
  • The panda_simulator package (which is Gazebo-based simulator for the robot) can also be controlled using this package (ROS and Python interface), providing almost complete sim-to-real transfer of code.

Demo Using PandaRobot API and Panda Simulator

vid Watch video here

vid Watch video here

vid Watch video here

Installation

This branch works with ROS Melodic and ROS Noetic. Build Status

NOTE: Tested on:

ROS Version Python Version Franka ROS Branch
Melodic 2.7+ melodic-devel
Noetic 3.6+ noetic-devel

Dependencies

  • ROS Melodic / Noetic (preferably the 'desktop-full' version)
  • libfranka (required version >= 0.8.0) (sudo apt install ros-$ROS_DISTRO-libfranka or install from source). Use the release version if building from source for reliable build.
  • franka-ros v0.7.1 (sudo apt install ros-$ROS_DISTRO-franka-ros or install from source). Make sure to use the appropriate branch of franka_ros (melodic-devel or noetic-devel) depending on your ROS version.
  • panda_moveit_config (sudo apt install ros-$ROS_DISTRO-panda-moveit-config or install from source (the 'melodic-devel' branch also works for ROS Noetic))
  • franka_panda_description (Clone this repository to the src folder of your workspace. See Related Packages section for information about package). NOTE: Installing this package is optional, but recommended. If you do not want to use the franka_panda_description package, make sure you modify the franka_interface/launch/interface.launch file and replace all occurences of franka_panda_description with franka_description (two occurences).

Once the above dependencies are installed, the package can be installed using catkin:

   cd <catkin_ws>
   git clone -b v0.7.1-dev https://github.com/justagist/franka_ros_interface src/franka_ros_interface
   catkin build # or catkin_make (catkin build is recommended)
   source devel/setup.bash

Note: Python code in this package is written to be compatible with both Python 2 and 3, so make sure you have the Python future module installed (pip install future (or pip3 install ..)).

After building the package (this is not required if using with simulated robot):

  • Copy/move the franka.sh file to the root of the catkin_ws $ cp src/franka_ros_interface/franka.sh ./
  • Change the values in the copied file (described in the file).

Usage

NOTE: For using this package with Panda Simulator, the following sections are not required; all the required "driver" nodes are started along with the simulation launch file, and the Franka ROS Interface API (as well as PandaRobot API) can be directly used. Follow instructions in the demos section in the Panda Simulator package. See their corresponding source files for usage examples.

The franka.sh environments

Once the values are correctly modified in the franka.sh file, different environments can be set for controlling the robot by sourcing this file.

  • For instance, running ./franka.sh master would start an environment assuming that the computer is directly connected to the robot (requires Real-Time kernel set up as described in the FCI documentation).
  • On the other hand, ./franka.sh remote would start an environment assuming that the robot is not connected directly to the computer, but to another computer in the network (whose IP must be specified in franka.sh). This way, if the 'master' is connected to the robot and running the driver node (see below), the 'remote' can control the robot (no need for Real Time kernel!) as long as they are in the same network.
  • Simulation environment can be started by running ./franka.sh sim (only required when using panda_simulator package). Not required anymore

More information regarding the usage of franka.sh can be found within the franka.sh file.

Starting the Franka ROS Interface 'Driver'

The 'driver' node can be started by running (can only be used if run in 'master' environment - see Environments section above):

    roslaunch franka_interface interface.launch # (use argument load_gripper:=false for starting without gripper)

Available keyword arguments for launch file:

  • load_gripper: start driver node with the Franka gripper (default: true).
  • start_controllers: load the available controllers to the controller manager (default: true).
  • start_moveit: start moveit server along with the driver node (default: true).
  • load_demo_planning_scene: loads a default planning scene for MoveIt planning with simple objects for collision avoidance (default: true). See create_demo_planning_scene.py.

This starts the robot controllers and drivers to expose a variety of ROS topics and services for communicating with and controlling the robot.

Controlling and Monitoring the Robot

Once the 'driver' is running, the robot can be controlled from another terminal by running in 'master' environment (if running in the same machine as 'driver'), or 'remote' environment (if using a different connected computer). The robot can then be controlled and monitored using ROS topics and services (see below to find out about some of the available topics and services), or using the provided Python API (also see PandaRobot).

Example of the robot working with MoveIt can be found by running roslaunch franka_moveit demo_moveit.launch.

Basic usage of the Python API is shown in the demo_interface.py example file. An example of controlling the robot joints with keyboard using direct position control is shown in demo_joint_positions_keyboard.py (read the notes in the file before running the demo. start this demo by running rosrun franka_interface joint_position_keyboard.py).

See documentation for all available methods and functionalities.

See the tests and scripts directories in franka_interface for few more usage examples.

More usage examples can be found in the PandaRobot package.

Some useful ROS topics

Published Topics
ROS Topic Data
/franka_ros_interface/custom_franka_state_controller/robot_state gravity, coriolis, jacobian, cartesian velocity, etc.
/franka_ros_interface/custom_franka_state_controller/tip_state end-effector pose, wrench, etc.
/franka_ros_interface/joint_states joint positions, velocities, efforts
/franka_ros_interface/franka_gripper/joint_states joint positions, velocities, efforts of gripper joints
Subscribed Topics
ROS Topic Data
/franka_ros_interface/motion_controller/arm/joint_commands command the robot using the currently active controller
/franka_ros_interface/franka_gripper/[move/grasp/stop/homing] (action msg) command the joints of the gripper

Other topics for changing the controller gains (also dynamically configurable), command timeout, etc. are also available.

ROS Services

Controller manager service can be used to switch between all available controllers (joint position, velocity, effort). Gripper joints can be controlled using the ROS ActionClient. Other services for changing coordinate frames, adding gripper load configuration, etc. are also available.

Python API

Most of the above services and topics are wrapped using simple Python classes or utility functions, providing more control and simplicity. This includes direct control of the robot and gripper using the provided custom low-level controllers, MoveIt, and JointTrajectoryAction. Refer README files in individual subpackages.

Documentation

More usage examples in the PandaRobot package.

Related Packages

  • panda_simulator : A Gazebo simulator for the Franka Emika Panda robot with ROS interface, providing exposed controllers and real-time robot state feedback similar to the real robot when using the franka_ros_interface package. Provides almost complete real-to-sim transfer of code.
  • PandaRobot : Python interface providing higher-level control of the robot integrated with its gripper control, controller manager, coordinate frames manager, etc. with safety checks and other helper utilities. It also provides the kinematics and dynamics of the robot using the KDL library. It is built over Franka ROS Interface and provides a more intuitive and unified single-class interface.
  • franka_panda_description : Robot description package modified from franka_ros package to include dynamics parameters for the robot arm (as estimated in this paper). Also includes transmission and control definitions required for the panda_simulator package.

License

License

Copyright (c) 2019-2021, Saif Sidhik

If you use this software for research, please considering citing using DOI.

franka_ros_interface's People

Contributors

justagist avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

franka_ros_interface's Issues

catkin build issue

HI! I suffered a catkin build issue:

franks_ros : 0.7.1
libfranka:0.7.0
franka_ros_interface: master

It is weird because I found "NE_T_EE" in the msg folder. However, I still got the following error. Could you help?

error: ‘struct franka::RobotState’ has no member named ‘NE_T_EE’; did you mean ‘O_T_EE’?
static_assert(sizeof(robot_state_.NE_T_EE) == sizeof(robot_state_.O_T_EE),
^~~~~~~
O_T_EE
/home/airlab/catkin_ws/src/franka_ros_interface/franka_interface/src/robot_state_controller.cpp:369:63: error: ‘struct franka::RobotState’ has no member named ‘F_T_NE’; did you mean ‘F_T_EE’?
publisher_franka_state_.msg_.F_T_NE[i] = robot_state_.F_T_NE[i];
^~~~~~
F_T_EE
/home/airlab/catkin_ws/src/franka_ros_interface/franka_interface/src/robot_state_controller.cpp:370:64: error: ‘struct franka::RobotState’ has no member named ‘NE_T_EE’; did you mean ‘O_T_EE’?
publisher_franka_state_.msg_.NE_T_EE[i] = robot_state_.NE_T_EE[i];
^~~~~~~
O_T_EE
/home/airlab/catkin_ws/src/franka_ros_interface/franka_interface/src/robot_state_controller.cpp: In member function ‘void franka_interface::CustomFrankaStateController::publishTransforms(const ros::Time&)’:
/home/airlab/catkin_ws/src/franka_ros_interface/franka_interface/src/robot_state_controller.cpp:474:74: error: ‘struct franka::RobotState’ has no member named ‘F_T_NE’; did you mean ‘F_T_EE’?
tf::StampedTransform stamped_transform(convertArrayToTf(robot_state_.F_T_NE), time,
^~~~~~
F_T_EE
/home/airlab/catkin_ws/src/franka_ros_interface/franka_interface/src/robot_state_controller.cpp:480:76: error: ‘struct franka::RobotState’ has no member named ‘NE_T_EE’; did you mean ‘O_T_EE’?
stamped_transform = tf::StampedTransform(convertArrayToTf(robot_state_.NE_T_EE), time,
^~~~~~~
O_T_EE

Any control interface for cartesian velocity control?

Hello,
I want to control the velocity of panda in cartesian space. Is there any functions to realize it?
For example:
robot = PandaArm()
robot.move_to_cartesian_pose([0.428, -0.02, 0.16])
can move the robot in cartesian space using position control
I'm seeking for a function that can give the velocity command in cartesian space.
PS: The only way i can think of is to define the desired cartesian velocity and use the pseudoinverse of Jacobian to get the desired joint velocity. Then send the joint velocity command.
Any suggestions will be helpful!

Fix shebang for python2 and python3 compatibility

Hello @justagist ! I hope you are doing fine :)

I wanted to directly make a pull request with this but I cannot due to time constraints :/ so I'll just give you a hint that I think you'll find useful.

If you use the shebang #!/usr/bin/env python at the top of your python scripts and add your python scripts in the CMakeList.txt like this for example:

catkin_python_setup()
catkin_install_python(PROGRAMS scripts/enable_robot.py 
                               scripts/move_to_neutral.py
                               scripts/simple_gripper.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})

like described here http://wiki.ros.org/UsingPython3/SourceCodeChanges

Then catkin will take care of replacing the shebang with the correct one and you can avoid

#!/bin/sh
''':'
if [ "$ROS_PYTHON_VERSION" = "3" ]; then
  exec python3 "$0" "$@"
else
  exec python2 "$0" "$@"
fi
'''

I hope this helps :)

[franka_control-2] has died! please help

Hi! I suffered the following error when I run
$ roslaunch franka_interface interface.launch

Ubuntu 16.04, Kinetic.
I was running as the "master"
$ ./franka.sh master

By the way, I can control the real robot by using panda_moveit_config moveit_rviz.launch

Here is the error

REQUIRED process [franka_control-2] has died!
process has died [pid 27696, exit code -6, cmd /home/sission/ws_moveit/devel/lib/franka_interface/custom_franka_control_node __name:=franka_control __log:=/home/sission/.ros/log/65158e3c-8e7b-11eb-8b22-000c2918a907/franka_control-2.log].
log file: /home/sission/.ros/log/65158e3c-8e7b-11eb-8b22-000c2918a907/franka_control-2*.log
Initiating shutdown!

----------FULL LOG--------------
roslaunch franka_interface interface.launch load_gripper:=false
... logging to /home/sission/.ros/log/65158e3c-8e7b-11eb-8b22-000c2918a907/roslaunch-Ubuntu16-27648.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://192.168.126.9:33143/

SUMMARY

PARAMETERS

  • /controllers_config/command_timeout: 0.2
  • /controllers_config/default_controller: position_joint_tr...
  • /controllers_config/impedance_controller: franka_ros_interf...
  • /controllers_config/position_controller: franka_ros_interf...
  • /controllers_config/torque_controller: franka_ros_interf...
  • /controllers_config/trajectory_controller: position_joint_tr...
  • /controllers_config/velocity_controller: franka_ros_interf...
  • /franka_control/publish_frequency: 1000
  • /franka_control/robot_ip: 192.168.126.3
  • /franka_ros_interface/custom_franka_state_controller/arm_id: panda
  • /franka_ros_interface/custom_franka_state_controller/joint_names: ['panda_joint1', ...
  • /franka_ros_interface/custom_franka_state_controller/publish_rate: 1000
  • /franka_ros_interface/custom_franka_state_controller/type: franka_interface/...
  • /franka_ros_interface/effort_joint_impedance_controller/arm_id: panda
  • /franka_ros_interface/effort_joint_impedance_controller/coriolis_factor: 1.0
  • /franka_ros_interface/effort_joint_impedance_controller/d_gains: [50.0, 50.0, 50.0...
  • /franka_ros_interface/effort_joint_impedance_controller/joint_names: ['panda_joint1', ...
  • /franka_ros_interface/effort_joint_impedance_controller/k_gains: [1200.0, 1000.0, ...
  • /franka_ros_interface/effort_joint_impedance_controller/publish_rate: 30.0
  • /franka_ros_interface/effort_joint_impedance_controller/type: franka_ros_contro...
  • /franka_ros_interface/effort_joint_position_controller/arm_id: panda
  • /franka_ros_interface/effort_joint_position_controller/d_gains: [50.0, 50.0, 50.0...
  • /franka_ros_interface/effort_joint_position_controller/joint_names: ['panda_joint1', ...
  • /franka_ros_interface/effort_joint_position_controller/k_gains: [1200.0, 1000.0, ...
  • /franka_ros_interface/effort_joint_position_controller/publish_rate: 30.0
  • /franka_ros_interface/effort_joint_position_controller/type: franka_ros_contro...
  • /franka_ros_interface/effort_joint_torque_controller/arm_id: panda
  • /franka_ros_interface/effort_joint_torque_controller/compensate_coriolis: False
  • /franka_ros_interface/effort_joint_torque_controller/joint_names: ['panda_joint1', ...
  • /franka_ros_interface/effort_joint_torque_controller/type: franka_ros_contro...
  • /franka_ros_interface/position_joint_position_controller/joint_names: ['panda_joint1', ...
  • /franka_ros_interface/position_joint_position_controller/type: franka_ros_contro...
  • /franka_ros_interface/velocity_joint_velocity_controller/joint_names: ['panda_joint1', ...
  • /franka_ros_interface/velocity_joint_velocity_controller/type: franka_ros_contro...
  • /gripper_config/default_grasp_epsilon/inner: 0.005
  • /gripper_config/default_grasp_epsilon/outer: 0.005
  • /gripper_config/default_speed: 0.1
  • /gripper_config/joint_names: ['panda_finger_jo...
  • /joint_state_desired_publisher/rate: 1000
  • /joint_state_desired_publisher/source_list: ['franka_ros_inte...
  • /joint_state_publisher/rate: 1000
  • /joint_state_publisher/source_list: ['franka_ros_inte...
  • /move_group/allow_trajectory_execution: True
  • /move_group/controller_list: [{'default': True...
  • /move_group/hand/planner_configs: ['SBLkConfigDefau...
  • /move_group/jiggle_fraction: 0.05
  • /move_group/max_range: 5.0
  • /move_group/max_safe_path_cost: 1
  • /move_group/moveit_controller_manager: moveit_simple_con...
  • /move_group/moveit_manage_controllers: True
  • /move_group/octomap_frame: camera_rgb_optica...
  • /move_group/octomap_resolution: 0.05
  • /move_group/panda_arm/planner_configs: ['SBLkConfigDefau...
  • /move_group/panda_arm_hand/planner_configs: ['SBLkConfigDefau...
  • /move_group/planner_configs/BFMTkConfigDefault/balanced: 0
  • /move_group/planner_configs/BFMTkConfigDefault/cache_cc: 1
  • /move_group/planner_configs/BFMTkConfigDefault/extended_fmt: 1
  • /move_group/planner_configs/BFMTkConfigDefault/heuristics: 1
  • /move_group/planner_configs/BFMTkConfigDefault/nearest_k: 1
  • /move_group/planner_configs/BFMTkConfigDefault/num_samples: 1000
  • /move_group/planner_configs/BFMTkConfigDefault/optimality: 1
  • /move_group/planner_configs/BFMTkConfigDefault/radius_multiplier: 1.0
  • /move_group/planner_configs/BFMTkConfigDefault/type: geometric::BFMT
  • /move_group/planner_configs/BKPIECEkConfigDefault/border_fraction: 0.9
  • /move_group/planner_configs/BKPIECEkConfigDefault/failed_expansion_score_factor: 0.5
  • /move_group/planner_configs/BKPIECEkConfigDefault/min_valid_path_fraction: 0.5
  • /move_group/planner_configs/BKPIECEkConfigDefault/range: 0.0
  • /move_group/planner_configs/BKPIECEkConfigDefault/type: geometric::BKPIECE
  • /move_group/planner_configs/BiESTkConfigDefault/range: 0.0
  • /move_group/planner_configs/BiESTkConfigDefault/type: geometric::BiEST
  • /move_group/planner_configs/BiTRRTkConfigDefault/cost_threshold: 1e300
  • /move_group/planner_configs/BiTRRTkConfigDefault/frountier_node_ratio: 0.1
  • /move_group/planner_configs/BiTRRTkConfigDefault/frountier_threshold: 0.0
  • /move_group/planner_configs/BiTRRTkConfigDefault/init_temperature: 100
  • /move_group/planner_configs/BiTRRTkConfigDefault/range: 0.0
  • /move_group/planner_configs/BiTRRTkConfigDefault/temp_change_factor: 0.1
  • /move_group/planner_configs/BiTRRTkConfigDefault/type: geometric::BiTRRT
  • /move_group/planner_configs/ESTkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/ESTkConfigDefault/range: 0.0
  • /move_group/planner_configs/ESTkConfigDefault/type: geometric::EST
  • /move_group/planner_configs/FMTkConfigDefault/cache_cc: 1
  • /move_group/planner_configs/FMTkConfigDefault/extended_fmt: 1
  • /move_group/planner_configs/FMTkConfigDefault/heuristics: 0
  • /move_group/planner_configs/FMTkConfigDefault/nearest_k: 1
  • /move_group/planner_configs/FMTkConfigDefault/num_samples: 1000
  • /move_group/planner_configs/FMTkConfigDefault/radius_multiplier: 1.1
  • /move_group/planner_configs/FMTkConfigDefault/type: geometric::FMT
  • /move_group/planner_configs/KPIECEkConfigDefault/border_fraction: 0.9
  • /move_group/planner_configs/KPIECEkConfigDefault/failed_expansion_score_factor: 0.5
  • /move_group/planner_configs/KPIECEkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/KPIECEkConfigDefault/min_valid_path_fraction: 0.5
  • /move_group/planner_configs/KPIECEkConfigDefault/range: 0.0
  • /move_group/planner_configs/KPIECEkConfigDefault/type: geometric::KPIECE
  • /move_group/planner_configs/LBKPIECEkConfigDefault/border_fraction: 0.9
  • /move_group/planner_configs/LBKPIECEkConfigDefault/min_valid_path_fraction: 0.5
  • /move_group/planner_configs/LBKPIECEkConfigDefault/range: 0.0
  • /move_group/planner_configs/LBKPIECEkConfigDefault/type: geometric::LBKPIECE
  • /move_group/planner_configs/LBTRRTkConfigDefault/epsilon: 0.4
  • /move_group/planner_configs/LBTRRTkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/LBTRRTkConfigDefault/range: 0.0
  • /move_group/planner_configs/LBTRRTkConfigDefault/type: geometric::LBTRRT
  • /move_group/planner_configs/LazyPRMkConfigDefault/range: 0.0
  • /move_group/planner_configs/LazyPRMkConfigDefault/type: geometric::LazyPRM
  • /move_group/planner_configs/LazyPRMstarkConfigDefault/type: geometric::LazyPR...
  • /move_group/planner_configs/PDSTkConfigDefault/type: geometric::PDST
  • /move_group/planner_configs/PRMkConfigDefault/max_nearest_neighbors: 10
  • /move_group/planner_configs/PRMkConfigDefault/type: geometric::PRM
  • /move_group/planner_configs/PRMstarkConfigDefault/type: geometric::PRMstar
  • /move_group/planner_configs/ProjESTkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/ProjESTkConfigDefault/range: 0.0
  • /move_group/planner_configs/ProjESTkConfigDefault/type: geometric::ProjEST
  • /move_group/planner_configs/RRTConnectkConfigDefault/range: 0.0
  • /move_group/planner_configs/RRTConnectkConfigDefault/type: geometric::RRTCon...
  • /move_group/planner_configs/RRTkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/RRTkConfigDefault/range: 0.0
  • /move_group/planner_configs/RRTkConfigDefault/type: geometric::RRT
  • /move_group/planner_configs/RRTstarkConfigDefault/delay_collision_checking: 1
  • /move_group/planner_configs/RRTstarkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/RRTstarkConfigDefault/range: 0.0
  • /move_group/planner_configs/RRTstarkConfigDefault/type: geometric::RRTstar
  • /move_group/planner_configs/SBLkConfigDefault/range: 0.0
  • /move_group/planner_configs/SBLkConfigDefault/type: geometric::SBL
  • /move_group/planner_configs/SPARSkConfigDefault/dense_delta_fraction: 0.001
  • /move_group/planner_configs/SPARSkConfigDefault/max_failures: 1000
  • /move_group/planner_configs/SPARSkConfigDefault/sparse_delta_fraction: 0.25
  • /move_group/planner_configs/SPARSkConfigDefault/stretch_factor: 3.0
  • /move_group/planner_configs/SPARSkConfigDefault/type: geometric::SPARS
  • /move_group/planner_configs/SPARStwokConfigDefault/dense_delta_fraction: 0.001
  • /move_group/planner_configs/SPARStwokConfigDefault/max_failures: 5000
  • /move_group/planner_configs/SPARStwokConfigDefault/sparse_delta_fraction: 0.25
  • /move_group/planner_configs/SPARStwokConfigDefault/stretch_factor: 3.0
  • /move_group/planner_configs/SPARStwokConfigDefault/type: geometric::SPARStwo
  • /move_group/planner_configs/STRIDEkConfigDefault/degree: 16
  • /move_group/planner_configs/STRIDEkConfigDefault/estimated_dimension: 0.0
  • /move_group/planner_configs/STRIDEkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/STRIDEkConfigDefault/max_degree: 18
  • /move_group/planner_configs/STRIDEkConfigDefault/max_pts_per_leaf: 6
  • /move_group/planner_configs/STRIDEkConfigDefault/min_degree: 12
  • /move_group/planner_configs/STRIDEkConfigDefault/min_valid_path_fraction: 0.2
  • /move_group/planner_configs/STRIDEkConfigDefault/range: 0.0
  • /move_group/planner_configs/STRIDEkConfigDefault/type: geometric::STRIDE
  • /move_group/planner_configs/STRIDEkConfigDefault/use_projected_distance: 0
  • /move_group/planner_configs/TRRTkConfigDefault/frountierNodeRatio: 0.1
  • /move_group/planner_configs/TRRTkConfigDefault/frountier_threshold: 0.0
  • /move_group/planner_configs/TRRTkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/TRRTkConfigDefault/init_temperature: 10e-6
  • /move_group/planner_configs/TRRTkConfigDefault/k_constant: 0.0
  • /move_group/planner_configs/TRRTkConfigDefault/max_states_failed: 10
  • /move_group/planner_configs/TRRTkConfigDefault/min_temperature: 10e-10
  • /move_group/planner_configs/TRRTkConfigDefault/range: 0.0
  • /move_group/planner_configs/TRRTkConfigDefault/temp_change_factor: 2.0
  • /move_group/planner_configs/TRRTkConfigDefault/type: geometric::TRRT
  • /move_group/planner_configs/TrajOptDefault/type: geometric::TrajOpt
  • /move_group/planning_plugin: ompl_interface/OM...
  • /move_group/planning_scene_monitor/publish_geometry_updates: True
  • /move_group/planning_scene_monitor/publish_planning_scene: True
  • /move_group/planning_scene_monitor/publish_state_updates: True
  • /move_group/planning_scene_monitor/publish_transforms_updates: True
  • /move_group/request_adapters: default_planner_r...
  • /move_group/sensors: [{'point_subsampl...
  • /move_group/start_state_max_bounds_error: 0.1
  • /move_group/trajectory_execution/allowed_execution_duration_scaling: 1.2
  • /move_group/trajectory_execution/allowed_goal_duration_margin: 0.5
  • /move_group/trajectory_execution/allowed_start_tolerance: 0.01
  • /position_joint_trajectory_controller/constraints/goal_time: 0.5
  • /position_joint_trajectory_controller/constraints/panda_joint1/goal: 0.05
  • /position_joint_trajectory_controller/constraints/panda_joint2/goal: 0.05
  • /position_joint_trajectory_controller/constraints/panda_joint3/goal: 0.05
  • /position_joint_trajectory_controller/constraints/panda_joint4/goal: 0.05
  • /position_joint_trajectory_controller/constraints/panda_joint5/goal: 0.05
  • /position_joint_trajectory_controller/constraints/panda_joint6/goal: 0.05
  • /position_joint_trajectory_controller/constraints/panda_joint7/goal: 0.05
  • /position_joint_trajectory_controller/joints: ['panda_joint1', ...
  • /position_joint_trajectory_controller/type: position_controll...
  • /robot_config/arm_id: panda
  • /robot_config/cutoff_frequency: 100
  • /robot_config/internal_controller: joint_impedance
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint1: 15.0
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint2: 7.5
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint3: 10.0
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint4: 12.5
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint5: 15.0
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint6: 20.0
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint7: 20.0
  • /robot_config/joint_config/joint_effort_limit/panda_joint1: 87
  • /robot_config/joint_config/joint_effort_limit/panda_joint2: 87
  • /robot_config/joint_config/joint_effort_limit/panda_joint3: 87
  • /robot_config/joint_config/joint_effort_limit/panda_joint4: 87
  • /robot_config/joint_config/joint_effort_limit/panda_joint5: 12
  • /robot_config/joint_config/joint_effort_limit/panda_joint6: 12
  • /robot_config/joint_config/joint_effort_limit/panda_joint7: 12
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint1: -2.8973
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint2: -1.7628
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint3: -2.8973
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint4: -3.0718
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint5: -2.8973
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint6: -0.0175
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint7: -2.8973
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint1: 2.8973
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint2: 1.7628
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint3: 2.8973
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint4: -0.0698
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint5: 2.8973
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint6: 3.7525
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint7: 2.8973
  • /robot_config/joint_config/joint_velocity_limit/panda_joint1: 2.175
  • /robot_config/joint_config/joint_velocity_limit/panda_joint2: 2.175
  • /robot_config/joint_config/joint_velocity_limit/panda_joint3: 2.175
  • /robot_config/joint_config/joint_velocity_limit/panda_joint4: 2.175
  • /robot_config/joint_config/joint_velocity_limit/panda_joint5: 2.61
  • /robot_config/joint_config/joint_velocity_limit/panda_joint6: 2.61
  • /robot_config/joint_config/joint_velocity_limit/panda_joint7: 2.61
  • /robot_config/joint_names: ['panda_joint1', ...
  • /robot_config/neutral_pose/panda_joint1: -0.0177920602278
  • /robot_config/neutral_pose/panda_joint2: -0.760123541104
  • /robot_config/neutral_pose/panda_joint3: 0.0197826070234
  • /robot_config/neutral_pose/panda_joint4: -2.34205014054
  • /robot_config/neutral_pose/panda_joint5: 0.0298405313558
  • /robot_config/neutral_pose/panda_joint6: 1.54119352986
  • /robot_config/neutral_pose/panda_joint7: 0.753448658975
  • /robot_config/rate_limiting: True
  • /robot_description: <?xml version="1....
  • /robot_description_kinematics/panda_arm/kinematics_solver: kdl_kinematics_pl...
  • /robot_description_kinematics/panda_arm/kinematics_solver_search_resolution: 0.005
  • /robot_description_kinematics/panda_arm/kinematics_solver_timeout: 0.05
  • /robot_description_planning/joint_limits/panda_finger_joint1/has_acceleration_limits: False
  • /robot_description_planning/joint_limits/panda_finger_joint1/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_finger_joint1/max_acceleration: 0
  • /robot_description_planning/joint_limits/panda_finger_joint1/max_velocity: 0.1
  • /robot_description_planning/joint_limits/panda_finger_joint2/has_acceleration_limits: False
  • /robot_description_planning/joint_limits/panda_finger_joint2/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_finger_joint2/max_acceleration: 0
  • /robot_description_planning/joint_limits/panda_finger_joint2/max_velocity: 0.1
  • /robot_description_planning/joint_limits/panda_joint1/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint1/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint1/max_acceleration: 3.75
  • /robot_description_planning/joint_limits/panda_joint1/max_velocity: 2.175
  • /robot_description_planning/joint_limits/panda_joint2/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint2/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint2/max_acceleration: 1.875
  • /robot_description_planning/joint_limits/panda_joint2/max_velocity: 2.175
  • /robot_description_planning/joint_limits/panda_joint3/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint3/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint3/max_acceleration: 2.5
  • /robot_description_planning/joint_limits/panda_joint3/max_velocity: 2.175
  • /robot_description_planning/joint_limits/panda_joint4/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint4/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint4/max_acceleration: 3.125
  • /robot_description_planning/joint_limits/panda_joint4/max_velocity: 2.175
  • /robot_description_planning/joint_limits/panda_joint5/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint5/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint5/max_acceleration: 3.75
  • /robot_description_planning/joint_limits/panda_joint5/max_velocity: 2.61
  • /robot_description_planning/joint_limits/panda_joint6/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint6/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint6/max_acceleration: 5
  • /robot_description_planning/joint_limits/panda_joint6/max_velocity: 2.61
  • /robot_description_planning/joint_limits/panda_joint7/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint7/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint7/max_acceleration: 5
  • /robot_description_planning/joint_limits/panda_joint7/max_velocity: 2.61
  • /robot_description_semantic: <?xml version="1....
  • /robot_state_publisher/publish_frequency: 1000
  • /rosdistro: kinetic
  • /rosversion: 1.12.17

NODES
/
base_to_link0 (tf/static_transform_publisher)
controllers (controller_manager/spawner)
demo_scene_loader (franka_moveit/create_demo_planning_scene.py)
franka_control (franka_interface/custom_franka_control_node)
joint_state_desired_publisher (joint_state_publisher/joint_state_publisher)
joint_state_publisher (joint_state_publisher/joint_state_publisher)
load_controllers (controller_manager/controller_manager)
move_group (moveit_ros_move_group/move_group)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
state_controller_spawner (controller_manager/spawner)
world_to_base (tf/static_transform_publisher)

auto-starting new master
process[master]: started with pid [27666]
ROS_MASTER_URI=http://192.168.126.9:11311

setting /run_id to 65158e3c-8e7b-11eb-8b22-000c2918a907
process[rosout-1]: started with pid [27679]
started core service [/rosout]
process[franka_control-2]: started with pid [27696]
process[state_controller_spawner-3]: started with pid [27697]
process[robot_state_publisher-4]: started with pid [27703]
process[joint_state_publisher-5]: started with pid [27711]
terminate called after throwing an instance of 'franka::IncompatibleVersionException'
what(): libfranka: Incompatible library version (server version: 3, library version: 4). Please check https://frankaemika.github.io for Panda system updates or use a different version of libfranka.
process[joint_state_desired_publisher-6]: started with pid [27723]
process[controllers-7]: started with pid [27734]
process[load_controllers-8]: started with pid [27740]
process[base_to_link0-9]: started with pid [27741]
process[world_to_base-10]: started with pid [27756]
process[move_group-11]: started with pid [27762]
process[demo_scene_loader-12]: started with pid [27767]
[ INFO] [1616794620.703314411]: Loading robot model 'panda'...
[ WARN] [1616794620.703414492]: Skipping virtual joint 'virtual_joint' because its child frame 'panda_link0' does not match the URDF frame 'world'
[ INFO] [1616794620.703446625]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ INFO] [1616794620.789231351]: Loading robot model 'panda'...
[ WARN] [1616794620.789315386]: Skipping virtual joint 'virtual_joint' because its child frame 'panda_link0' does not match the URDF frame 'world'
[ INFO] [1616794620.789343735]: No root/virtual joint specified in SRDF. Assuming fixed joint
================================================================================REQUIRED process [franka_control-2] has died!
process has died [pid 27696, exit code -6, cmd /home/sission/ws_moveit/devel/lib/franka_interface/custom_franka_control_node __name:=franka_control __log:=/home/sission/.ros/log/65158e3c-8e7b-11eb-8b22-000c2918a907/franka_control-2.log].
log file: /home/sission/.ros/log/65158e3c-8e7b-11eb-8b22-000c2918a907/franka_control-2*.log
Initiating shutdown!

[ INFO] [1616794620.820620780]: Publishing maintained planning scene on 'monitored_planning_scene'
[ INFO] [1616794620.824001852]: MoveGroup debug mode is ON
Starting context monitors...
[ INFO] [1616794620.824068831]: Starting scene monitor
[ INFO] [1616794620.827450039]: Listening to '/planning_scene'
[ INFO] [1616794620.827513880]: Starting world geometry monitor
[ INFO] [1616794620.830515661]: Listening to '/collision_object' using message notifier with target frame '/world '
[ INFO] [1616794620.835004460]: Listening to '/planning_scene_world' for planning scene world geometry
[ INFO] [1616794620.857181827]: Listening to '/camera/depth_registered/points' using message filter with target frame '/world '
[ INFO] [1616794620.871207186]: Listening to '/attached_collision_object' for attached collision objects
Context monitors started.
[INFO] [1616794620.874708]: Controller Spawner: Waiting for service controller_manager/load_controller
[demo_scene_loader-12] killing on exit
Traceback (most recent call last):
File "/home/sission/ws_moveit/src/franka_ros_interface/franka_moveit/scripts/create_demo_planning_scene.py", line 31, in
import moveit_commander
File "/home/sission/ws_moveit/devel/lib/python2.7/dist-packages/moveit_commander/init.py", line 34, in
exec(__fh.read())
File "", line 3, in
File "/home/sission/ws_moveit/src/moveit/moveit_commander/src/moveit_commander/planning_scene_interface.py", line 36, in
import conversions
File "/home/sission/ws_moveit/src/moveit/moveit_commander/src/moveit_commander/conversions.py", line 39, in
import tf
File "/opt/ros/kinetic/lib/python2.7/dist-packages/tf/init.py", line 28, in
from tf2_ros import TransformException as Exception, ConnectivityException, LookupException, ExtrapolationException
File "/opt/ros/kinetic/lib/python2.7/dist-packages/tf2_ros/init.py", line 39, in
from .buffer_interface import *
File "/opt/ros/kinetic/lib/python2.7/dist-packages/tf2_ros/buffer_interface.py", line 32, in
import roslib; roslib.load_manifest('tf2_ros')
File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslib/launcher.py", line 62, in load_manifest
sys.path = _generate_python_path(package_name, _rospack) + sys.path
File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslib/launcher.py", line 93, in _generate_python_path
m = rospack.get_manifest(pkg)
File "/usr/lib/python2.7/dist-packages/rospkg/rospack.py", line 171, in get_manifest
return self._load_manifest(name)
File "/usr/lib/python2.7/dist-packages/rospkg/rospack.py", line 215, in _load_manifest
retval = self._manifests[name] = parse_manifest_file(self.get_path(name), self._manifest_name, rospack=self)
File "/usr/lib/python2.7/dist-packages/rospkg/manifest.py", line 410, in parse_manifest_file
from rosdep2.rospack import init_rospack_interface, is_ros_package, is_system_dependency, is_view_empty
File "/usr/lib/python2.7/dist-packages/rosdep2/init.py", line 45, in
from .lookup import RosdepDefinition, RosdepView, RosdepLookup,
File "/usr/lib/python2.7/dist-packages/rosdep2/lookup.py", line 44, in
from .sources_list import SourcesListLoader
File "/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py", line 50, in
from .gbpdistro_support import get_gbprepo_as_rosdep_data, download_gbpdistro_as_rosdep_data
File "/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py", line 18, in
from .platforms.debian import APT_INSTALLER
File "/usr/lib/python2.7/dist-packages/rosdep2/platforms/debian.py", line 45, in
from .pip import PIP_INSTALLER
File "/usr/lib/python2.7/dist-packages/rosdep2/platforms/pip.py", line 33, in
import pkg_resources
File "/usr/lib/python2.7/dist-packages/pkg_resources/init.py", line 2927, in
@_call_aside
File "/usr/lib/python2.7/dist-packages/pkg_resources/init.py", line 2913, in _call_aside
[move_group-11] killing on exit
f(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/pkg_resources/init.py", line 2955, in _initialize_master_working_set
list(map(working_set.add_entry, sys.path))
File "/usr/lib/python2.7/dist-packages/pkg_resources/init.py", line 675, in add_entry
for dist in find_distributions(entry, True):
File "/usr/lib/python2.7/dist-packages/pkg_resources/init.py", line 1973, in find_on_path
lower = entry.lower()
KeyboardInterrupt
[world_to_base-10] killing on exit
[base_to_link0-9] killing on exit
[ INFO] [1616794620.913301995]: Initializing OMPL interface using ROS parameters
[controllers-7] killing on exit
[load_controllers-8] killing on exit
[joint_state_publisher-5] killing on exit
[robot_state_publisher-4] killing on exit
[joint_state_desired_publisher-6] killing on exit
[state_controller_spawner-3] killing on exit
[INFO] [1616794621.064937]: Controller Spawner: Waiting for service controller_manager/load_controller
[WARN] [1616794621.065196]: Controller Spawner couldn't find the expected controller_manager ROS interface.
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/controller_manager/controller_manager", line 48, in
controller_manager_interface.load_controller(c)
File "/opt/ros/kinetic/lib/python2.7/dist-packages/controller_manager/controller_manager_interface.py", line 59, in load_controller
rospy.wait_for_service('controller_manager/load_controller')
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 159, in wait_for_service
raise ROSInterruptException("rospy shutdown")
rospy.exceptions.ROSInterruptException: rospy shutdown
[franka_control-2] killing on exit
[WARN] [1616794621.555903]: Controller Spawner couldn't find the expected controller_manager ROS interface.
Loading 'move_group/ApplyPlanningSceneService'...
Loading 'move_group/ClearOctomapService'...
Loading 'move_group/MoveGroupCartesianPathService'...
Loading 'move_group/MoveGroupExecuteTrajectoryAction'...
Loading 'move_group/MoveGroupGetPlanningSceneService'...
Loading 'move_group/MoveGroupKinematicsService'...
Loading 'move_group/MoveGroupMoveAction'...
Loading 'move_group/MoveGroupPickPlaceAction'...
Loading 'move_group/MoveGroupPlanService'...
Loading 'move_group/MoveGroupQueryPlannersService'...
Loading 'move_group/MoveGroupStateValidationService'...

You can start planning now!

[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

load_gripper:=false doesn't work

Hi, thank you for your great contributions!
When I use roslaunch franka_interface interface.launch load_gripper:=false to launch the driver without gripper. The instruction load_gripper:=false doesn't work, I also set the value of "load gripper" to "false" in the interface.launch. But these way don't work. The output info show that the driver tries to launch gripper, but failed.
Screenshot from 2023-05-27 15-15-02
While if 'load_gripper' is false, the driver won't launch the gripper:
Screenshot from 2023-05-27 15-15-23
So, do you have any ideas to fix this issue? Thank you in advance!

REQUIRED process [franka_control-3] has died error when running driver node

I'm having trouble getting the franka_ros_interface to connect with my real robot.

What I've done so far

  1. updated the franka.sh file such that FRANKA_ROBOT_IP="172.16.0.2", your_ip="172.16.0.1", and ros_version="noetic" and moved it into the root of my catkin workspace (/home/oclab/code/panda_robot/franka.sh)
  2. confirmed that I can run libfranka examples. Entering /home/oclab/code/libfranka/build/examples/communication_test 172.16.0.2 moves the robot and returns the expected result
  3. confirmed that I can run franka_ros examples. Entering
source /home/oclab/code/panda_robot/devel/setup.bash
roslaunch franka_example_controllers joint_impedance_example_controller.launch \
  robot_ip:=172.16.0.2 load_gripper:=true

moves the robot. (panda_robot is my catkin workspace)

But when I go to launch the franka_ros_interface, I get the following errors:

(base) oclab@panda1:~/code/panda_robot$ source /home/oclab/code/panda_robot/devel/setup.bash
(base) oclab@panda1:~/code/panda_robot$ ./franka.sh master

ROBOT: 172.16.0.2

[franka <Master> - [email protected]] (base) oclab@panda1:~/code/panda_robot$ roslaunch franka_interface interface.launch
... logging to /home/oclab/.ros/log/04472a8a-52fb-11ec-8004-61c0d9261ce8/roslaunch-panda1-16578.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

xacro: in-order processing became default in ROS Melodic. You can drop the option.
started roslaunch server http://172.16.0.1:42079/

SUMMARY
========

PARAMETERS
 * /controllers_config/command_timeout: 0.2
 * /controllers_config/default_controller: position_joint_tr...
 * /controllers_config/impedance_controller: franka_ros_interf...
 * /controllers_config/position_controller: franka_ros_interf...
 * /controllers_config/torque_controller: franka_ros_interf...
 * /controllers_config/trajectory_controller: position_joint_tr...
 * /controllers_config/velocity_controller: franka_ros_interf...
 * /franka_control/publish_frequency: 1000
 * /franka_gripper/default_grasp_epsilon/inner: 0.005
 * /franka_gripper/default_grasp_epsilon/outer: 0.005
 * /franka_gripper/default_speed: 0.1
 * /franka_gripper/joint_names: ['panda_finger_jo...
 * /franka_gripper/publish_rate: 30
 * /franka_gripper/robot_ip: 172.16.0.2
 * /franka_gripper/stop_at_shutdown: False
 * /franka_ros_interface/custom_franka_state_controller/arm_id: panda
 * /franka_ros_interface/custom_franka_state_controller/joint_names: ['panda_joint1', ...
 * /franka_ros_interface/custom_franka_state_controller/publish_rate: 1000
 * /franka_ros_interface/custom_franka_state_controller/type: franka_interface/...
 * /franka_ros_interface/effort_joint_impedance_controller/arm_id: panda
 * /franka_ros_interface/effort_joint_impedance_controller/coriolis_factor: 1.0
 * /franka_ros_interface/effort_joint_impedance_controller/d_gains: [50.0, 50.0, 50.0...
 * /franka_ros_interface/effort_joint_impedance_controller/joint_names: ['panda_joint1', ...
 * /franka_ros_interface/effort_joint_impedance_controller/k_gains: [1200.0, 1000.0, ...
 * /franka_ros_interface/effort_joint_impedance_controller/publish_rate: 30.0
 * /franka_ros_interface/effort_joint_impedance_controller/type: franka_ros_contro...
 * /franka_ros_interface/effort_joint_position_controller/arm_id: panda
 * /franka_ros_interface/effort_joint_position_controller/d_gains: [50.0, 50.0, 50.0...
 * /franka_ros_interface/effort_joint_position_controller/joint_names: ['panda_joint1', ...
 * /franka_ros_interface/effort_joint_position_controller/k_gains: [1200.0, 1000.0, ...
 * /franka_ros_interface/effort_joint_position_controller/publish_rate: 30.0
 * /franka_ros_interface/effort_joint_position_controller/type: franka_ros_contro...
 * /franka_ros_interface/effort_joint_torque_controller/arm_id: panda
 * /franka_ros_interface/effort_joint_torque_controller/compensate_coriolis: False
 * /franka_ros_interface/effort_joint_torque_controller/joint_names: ['panda_joint1', ...
 * /franka_ros_interface/effort_joint_torque_controller/type: franka_ros_contro...
 * /franka_ros_interface/position_joint_position_controller/joint_names: ['panda_joint1', ...
 * /franka_ros_interface/position_joint_position_controller/type: franka_ros_contro...
 * /franka_ros_interface/velocity_joint_velocity_controller/joint_names: ['panda_joint1', ...
 * /franka_ros_interface/velocity_joint_velocity_controller/type: franka_ros_contro...
 * /gripper_config/default_grasp_epsilon/inner: 0.005
 * /gripper_config/default_grasp_epsilon/outer: 0.005
 * /gripper_config/default_speed: 0.1
 * /gripper_config/joint_names: ['panda_finger_jo...
 * /joint_state_desired_publisher/rate: 1000
 * /joint_state_desired_publisher/source_list: ['franka_ros_inte...
 * /joint_state_publisher/rate: 1000
 * /joint_state_publisher/source_list: ['franka_ros_inte...
 * /move_group/allow_trajectory_execution: True
 * /move_group/controller_list: [{'name': 'positi...
 * /move_group/hand/planner_configs: ['SBLkConfigDefau...
 * /move_group/jiggle_fraction: 0.05
 * /move_group/max_range: 5.0
 * /move_group/max_safe_path_cost: 1
 * /move_group/moveit_controller_manager: moveit_simple_con...
 * /move_group/moveit_manage_controllers: True
 * /move_group/octomap_frame: camera_rgb_optica...
 * /move_group/octomap_resolution: 0.05
 * /move_group/panda_arm/planner_configs: ['SBLkConfigDefau...
 * /move_group/panda_arm_hand/planner_configs: ['SBLkConfigDefau...
 * /move_group/planner_configs/BFMTkConfigDefault/balanced: 0
 * /move_group/planner_configs/BFMTkConfigDefault/cache_cc: 1
 * /move_group/planner_configs/BFMTkConfigDefault/extended_fmt: 1
 * /move_group/planner_configs/BFMTkConfigDefault/heuristics: 1
 * /move_group/planner_configs/BFMTkConfigDefault/nearest_k: 1
 * /move_group/planner_configs/BFMTkConfigDefault/num_samples: 1000
 * /move_group/planner_configs/BFMTkConfigDefault/optimality: 1
 * /move_group/planner_configs/BFMTkConfigDefault/radius_multiplier: 1.0
 * /move_group/planner_configs/BFMTkConfigDefault/type: geometric::BFMT
 * /move_group/planner_configs/BKPIECEkConfigDefault/border_fraction: 0.9
 * /move_group/planner_configs/BKPIECEkConfigDefault/failed_expansion_score_factor: 0.5
 * /move_group/planner_configs/BKPIECEkConfigDefault/min_valid_path_fraction: 0.5
 * /move_group/planner_configs/BKPIECEkConfigDefault/range: 0.0
 * /move_group/planner_configs/BKPIECEkConfigDefault/type: geometric::BKPIECE
 * /move_group/planner_configs/BiESTkConfigDefault/range: 0.0
 * /move_group/planner_configs/BiESTkConfigDefault/type: geometric::BiEST
 * /move_group/planner_configs/BiTRRTkConfigDefault/cost_threshold: 1e300
 * /move_group/planner_configs/BiTRRTkConfigDefault/frountier_node_ratio: 0.1
 * /move_group/planner_configs/BiTRRTkConfigDefault/frountier_threshold: 0.0
 * /move_group/planner_configs/BiTRRTkConfigDefault/init_temperature: 100
 * /move_group/planner_configs/BiTRRTkConfigDefault/range: 0.0
 * /move_group/planner_configs/BiTRRTkConfigDefault/temp_change_factor: 0.1
 * /move_group/planner_configs/BiTRRTkConfigDefault/type: geometric::BiTRRT
 * /move_group/planner_configs/ESTkConfigDefault/goal_bias: 0.05
 * /move_group/planner_configs/ESTkConfigDefault/range: 0.0
 * /move_group/planner_configs/ESTkConfigDefault/type: geometric::EST
 * /move_group/planner_configs/FMTkConfigDefault/cache_cc: 1
 * /move_group/planner_configs/FMTkConfigDefault/extended_fmt: 1
 * /move_group/planner_configs/FMTkConfigDefault/heuristics: 0
 * /move_group/planner_configs/FMTkConfigDefault/nearest_k: 1
 * /move_group/planner_configs/FMTkConfigDefault/num_samples: 1000
 * /move_group/planner_configs/FMTkConfigDefault/radius_multiplier: 1.1
 * /move_group/planner_configs/FMTkConfigDefault/type: geometric::FMT
 * /move_group/planner_configs/KPIECEkConfigDefault/border_fraction: 0.9
 * /move_group/planner_configs/KPIECEkConfigDefault/failed_expansion_score_factor: 0.5
 * /move_group/planner_configs/KPIECEkConfigDefault/goal_bias: 0.05
 * /move_group/planner_configs/KPIECEkConfigDefault/min_valid_path_fraction: 0.5
 * /move_group/planner_configs/KPIECEkConfigDefault/range: 0.0
 * /move_group/planner_configs/KPIECEkConfigDefault/type: geometric::KPIECE
 * /move_group/planner_configs/LBKPIECEkConfigDefault/border_fraction: 0.9
 * /move_group/planner_configs/LBKPIECEkConfigDefault/min_valid_path_fraction: 0.5
 * /move_group/planner_configs/LBKPIECEkConfigDefault/range: 0.0
 * /move_group/planner_configs/LBKPIECEkConfigDefault/type: geometric::LBKPIECE
 * /move_group/planner_configs/LBTRRTkConfigDefault/epsilon: 0.4
 * /move_group/planner_configs/LBTRRTkConfigDefault/goal_bias: 0.05
 * /move_group/planner_configs/LBTRRTkConfigDefault/range: 0.0
 * /move_group/planner_configs/LBTRRTkConfigDefault/type: geometric::LBTRRT
 * /move_group/planner_configs/LazyPRMkConfigDefault/range: 0.0
 * /move_group/planner_configs/LazyPRMkConfigDefault/type: geometric::LazyPRM
 * /move_group/planner_configs/LazyPRMstarkConfigDefault/type: geometric::LazyPR...
 * /move_group/planner_configs/PDSTkConfigDefault/type: geometric::PDST
 * /move_group/planner_configs/PRMkConfigDefault/max_nearest_neighbors: 10
 * /move_group/planner_configs/PRMkConfigDefault/type: geometric::PRM
 * /move_group/planner_configs/PRMstarkConfigDefault/type: geometric::PRMstar
 * /move_group/planner_configs/ProjESTkConfigDefault/goal_bias: 0.05
 * /move_group/planner_configs/ProjESTkConfigDefault/range: 0.0
 * /move_group/planner_configs/ProjESTkConfigDefault/type: geometric::ProjEST
 * /move_group/planner_configs/RRTConnectkConfigDefault/range: 0.0
 * /move_group/planner_configs/RRTConnectkConfigDefault/type: geometric::RRTCon...
 * /move_group/planner_configs/RRTkConfigDefault/goal_bias: 0.05
 * /move_group/planner_configs/RRTkConfigDefault/range: 0.0
 * /move_group/planner_configs/RRTkConfigDefault/type: geometric::RRT
 * /move_group/planner_configs/RRTstarkConfigDefault/delay_collision_checking: 1
 * /move_group/planner_configs/RRTstarkConfigDefault/goal_bias: 0.05
 * /move_group/planner_configs/RRTstarkConfigDefault/range: 0.0
 * /move_group/planner_configs/RRTstarkConfigDefault/type: geometric::RRTstar
 * /move_group/planner_configs/SBLkConfigDefault/range: 0.0
 * /move_group/planner_configs/SBLkConfigDefault/type: geometric::SBL
 * /move_group/planner_configs/SPARSkConfigDefault/dense_delta_fraction: 0.001
 * /move_group/planner_configs/SPARSkConfigDefault/max_failures: 1000
 * /move_group/planner_configs/SPARSkConfigDefault/sparse_delta_fraction: 0.25
 * /move_group/planner_configs/SPARSkConfigDefault/stretch_factor: 3.0
 * /move_group/planner_configs/SPARSkConfigDefault/type: geometric::SPARS
 * /move_group/planner_configs/SPARStwokConfigDefault/dense_delta_fraction: 0.001
 * /move_group/planner_configs/SPARStwokConfigDefault/max_failures: 5000
 * /move_group/planner_configs/SPARStwokConfigDefault/sparse_delta_fraction: 0.25
 * /move_group/planner_configs/SPARStwokConfigDefault/stretch_factor: 3.0
 * /move_group/planner_configs/SPARStwokConfigDefault/type: geometric::SPARStwo
 * /move_group/planner_configs/STRIDEkConfigDefault/degree: 16
 * /move_group/planner_configs/STRIDEkConfigDefault/estimated_dimension: 0.0
 * /move_group/planner_configs/STRIDEkConfigDefault/goal_bias: 0.05
 * /move_group/planner_configs/STRIDEkConfigDefault/max_degree: 18
 * /move_group/planner_configs/STRIDEkConfigDefault/max_pts_per_leaf: 6
 * /move_group/planner_configs/STRIDEkConfigDefault/min_degree: 12
 * /move_group/planner_configs/STRIDEkConfigDefault/min_valid_path_fraction: 0.2
 * /move_group/planner_configs/STRIDEkConfigDefault/range: 0.0
 * /move_group/planner_configs/STRIDEkConfigDefault/type: geometric::STRIDE
 * /move_group/planner_configs/STRIDEkConfigDefault/use_projected_distance: 0
 * /move_group/planner_configs/TRRTkConfigDefault/frountierNodeRatio: 0.1
 * /move_group/planner_configs/TRRTkConfigDefault/frountier_threshold: 0.0
 * /move_group/planner_configs/TRRTkConfigDefault/goal_bias: 0.05
 * /move_group/planner_configs/TRRTkConfigDefault/init_temperature: 10e-6
 * /move_group/planner_configs/TRRTkConfigDefault/k_constant: 0.0
 * /move_group/planner_configs/TRRTkConfigDefault/max_states_failed: 10
 * /move_group/planner_configs/TRRTkConfigDefault/min_temperature: 10e-10
 * /move_group/planner_configs/TRRTkConfigDefault/range: 0.0
 * /move_group/planner_configs/TRRTkConfigDefault/temp_change_factor: 2.0
 * /move_group/planner_configs/TRRTkConfigDefault/type: geometric::TRRT
 * /move_group/planner_configs/TrajOptDefault/type: geometric::TrajOpt
 * /move_group/planning_plugin: ompl_interface/OM...
 * /move_group/planning_scene_monitor/publish_geometry_updates: True
 * /move_group/planning_scene_monitor/publish_planning_scene: True
 * /move_group/planning_scene_monitor/publish_state_updates: True
 * /move_group/planning_scene_monitor/publish_transforms_updates: True
 * /move_group/request_adapters: default_planner_r...
 * /move_group/sensors: [{'sensor_plugin'...
 * /move_group/start_state_max_bounds_error: 0.1
 * /move_group/trajectory_execution/allowed_execution_duration_scaling: 1.2
 * /move_group/trajectory_execution/allowed_goal_duration_margin: 0.5
 * /move_group/trajectory_execution/allowed_start_tolerance: 0.01
 * /position_joint_trajectory_controller/constraints/goal_time: 0.5
 * /position_joint_trajectory_controller/constraints/panda_joint1/goal: 0.05
 * /position_joint_trajectory_controller/constraints/panda_joint2/goal: 0.05
 * /position_joint_trajectory_controller/constraints/panda_joint3/goal: 0.05
 * /position_joint_trajectory_controller/constraints/panda_joint4/goal: 0.05
 * /position_joint_trajectory_controller/constraints/panda_joint5/goal: 0.05
 * /position_joint_trajectory_controller/constraints/panda_joint6/goal: 0.05
 * /position_joint_trajectory_controller/constraints/panda_joint7/goal: 0.05
 * /position_joint_trajectory_controller/joints: ['panda_joint1', ...
 * /position_joint_trajectory_controller/type: position_controll...
 * /robot_config/arm_id: panda
 * /robot_config/collision_config/lower_force_thresholds_acceleration: [20.0, 20.0, 20.0...
 * /robot_config/collision_config/lower_force_thresholds_nominal: [20.0, 20.0, 20.0...
 * /robot_config/collision_config/lower_torque_thresholds_acceleration: [20.0, 20.0, 18.0...
 * /robot_config/collision_config/lower_torque_thresholds_nominal: [20.0, 20.0, 18.0...
 * /robot_config/collision_config/upper_force_thresholds_acceleration: [20.0, 20.0, 20.0...
 * /robot_config/collision_config/upper_force_thresholds_nominal: [20.0, 20.0, 20.0...
 * /robot_config/collision_config/upper_torque_thresholds_acceleration: [20.0, 20.0, 18.0...
 * /robot_config/collision_config/upper_torque_thresholds_nominal: [20.0, 20.0, 18.0...
 * /robot_config/cutoff_frequency: 100
 * /robot_config/internal_controller: joint_impedance
 * /robot_config/joint_config/joint_acceleration_limit/panda_joint1: 15.0
 * /robot_config/joint_config/joint_acceleration_limit/panda_joint2: 7.5
 * /robot_config/joint_config/joint_acceleration_limit/panda_joint3: 10.0
 * /robot_config/joint_config/joint_acceleration_limit/panda_joint4: 12.5
 * /robot_config/joint_config/joint_acceleration_limit/panda_joint5: 15.0
 * /robot_config/joint_config/joint_acceleration_limit/panda_joint6: 20.0
 * /robot_config/joint_config/joint_acceleration_limit/panda_joint7: 20.0
 * /robot_config/joint_config/joint_effort_limit/panda_joint1: 87
 * /robot_config/joint_config/joint_effort_limit/panda_joint2: 87
 * /robot_config/joint_config/joint_effort_limit/panda_joint3: 87
 * /robot_config/joint_config/joint_effort_limit/panda_joint4: 87
 * /robot_config/joint_config/joint_effort_limit/panda_joint5: 12
 * /robot_config/joint_config/joint_effort_limit/panda_joint6: 12
 * /robot_config/joint_config/joint_effort_limit/panda_joint7: 12
 * /robot_config/joint_config/joint_position_limit/lower/panda_joint1: -2.8973
 * /robot_config/joint_config/joint_position_limit/lower/panda_joint2: -1.7628
 * /robot_config/joint_config/joint_position_limit/lower/panda_joint3: -2.8973
 * /robot_config/joint_config/joint_position_limit/lower/panda_joint4: -3.0718
 * /robot_config/joint_config/joint_position_limit/lower/panda_joint5: -2.8973
 * /robot_config/joint_config/joint_position_limit/lower/panda_joint6: -0.0175
 * /robot_config/joint_config/joint_position_limit/lower/panda_joint7: -2.8973
 * /robot_config/joint_config/joint_position_limit/upper/panda_joint1: 2.8973
 * /robot_config/joint_config/joint_position_limit/upper/panda_joint2: 1.7628
 * /robot_config/joint_config/joint_position_limit/upper/panda_joint3: 2.8973
 * /robot_config/joint_config/joint_position_limit/upper/panda_joint4: -0.0698
 * /robot_config/joint_config/joint_position_limit/upper/panda_joint5: 2.8973
 * /robot_config/joint_config/joint_position_limit/upper/panda_joint6: 3.7525
 * /robot_config/joint_config/joint_position_limit/upper/panda_joint7: 2.8973
 * /robot_config/joint_config/joint_velocity_limit/panda_joint1: 2.175
 * /robot_config/joint_config/joint_velocity_limit/panda_joint2: 2.175
 * /robot_config/joint_config/joint_velocity_limit/panda_joint3: 2.175
 * /robot_config/joint_config/joint_velocity_limit/panda_joint4: 2.175
 * /robot_config/joint_config/joint_velocity_limit/panda_joint5: 2.61
 * /robot_config/joint_config/joint_velocity_limit/panda_joint6: 2.61
 * /robot_config/joint_config/joint_velocity_limit/panda_joint7: 2.61
 * /robot_config/joint_limit_warning_threshold: 0.1
 * /robot_config/joint_names: ['panda_joint1', ...
 * /robot_config/neutral_pose/panda_joint1: -0.01779206022777...
 * /robot_config/neutral_pose/panda_joint2: -0.7601235411041661
 * /robot_config/neutral_pose/panda_joint3: 0.019782607023391807
 * /robot_config/neutral_pose/panda_joint4: -2.342050140544315
 * /robot_config/neutral_pose/panda_joint5: 0.029840531355804868
 * /robot_config/neutral_pose/panda_joint6: 1.5411935298621688
 * /robot_config/neutral_pose/panda_joint7: 0.7534486589746342
 * /robot_config/rate_limiting: True
 * /robot_config/realtime_config: enforce
 * /robot_config/robot_ip: 172.16.0.2
 * /robot_description: <?xml version="1....
 * /robot_description_kinematics/panda_arm/kinematics_solver: kdl_kinematics_pl...
 * /robot_description_kinematics/panda_arm/kinematics_solver_search_resolution: 0.005
 * /robot_description_kinematics/panda_arm/kinematics_solver_timeout: 0.05
 * /robot_description_planning/joint_limits/panda_finger_joint1/has_acceleration_limits: False
 * /robot_description_planning/joint_limits/panda_finger_joint1/has_velocity_limits: True
 * /robot_description_planning/joint_limits/panda_finger_joint1/max_acceleration: 0
 * /robot_description_planning/joint_limits/panda_finger_joint1/max_velocity: 0.1
 * /robot_description_planning/joint_limits/panda_finger_joint2/has_acceleration_limits: False
 * /robot_description_planning/joint_limits/panda_finger_joint2/has_velocity_limits: True
 * /robot_description_planning/joint_limits/panda_finger_joint2/max_acceleration: 0
 * /robot_description_planning/joint_limits/panda_finger_joint2/max_velocity: 0.1
 * /robot_description_planning/joint_limits/panda_joint1/has_acceleration_limits: True
 * /robot_description_planning/joint_limits/panda_joint1/has_velocity_limits: True
 * /robot_description_planning/joint_limits/panda_joint1/max_acceleration: 3.75
 * /robot_description_planning/joint_limits/panda_joint1/max_velocity: 2.175
 * /robot_description_planning/joint_limits/panda_joint2/has_acceleration_limits: True
 * /robot_description_planning/joint_limits/panda_joint2/has_velocity_limits: True
 * /robot_description_planning/joint_limits/panda_joint2/max_acceleration: 1.875
 * /robot_description_planning/joint_limits/panda_joint2/max_velocity: 2.175
 * /robot_description_planning/joint_limits/panda_joint3/has_acceleration_limits: True
 * /robot_description_planning/joint_limits/panda_joint3/has_velocity_limits: True
 * /robot_description_planning/joint_limits/panda_joint3/max_acceleration: 2.5
 * /robot_description_planning/joint_limits/panda_joint3/max_velocity: 2.175
 * /robot_description_planning/joint_limits/panda_joint4/has_acceleration_limits: True
 * /robot_description_planning/joint_limits/panda_joint4/has_velocity_limits: True
 * /robot_description_planning/joint_limits/panda_joint4/max_acceleration: 3.125
 * /robot_description_planning/joint_limits/panda_joint4/max_velocity: 2.175
 * /robot_description_planning/joint_limits/panda_joint5/has_acceleration_limits: True
 * /robot_description_planning/joint_limits/panda_joint5/has_velocity_limits: True
 * /robot_description_planning/joint_limits/panda_joint5/max_acceleration: 3.75
 * /robot_description_planning/joint_limits/panda_joint5/max_velocity: 2.61
 * /robot_description_planning/joint_limits/panda_joint6/has_acceleration_limits: True
 * /robot_description_planning/joint_limits/panda_joint6/has_velocity_limits: True
 * /robot_description_planning/joint_limits/panda_joint6/max_acceleration: 5
 * /robot_description_planning/joint_limits/panda_joint6/max_velocity: 2.61
 * /robot_description_planning/joint_limits/panda_joint7/has_acceleration_limits: True
 * /robot_description_planning/joint_limits/panda_joint7/has_velocity_limits: True
 * /robot_description_planning/joint_limits/panda_joint7/max_acceleration: 5
 * /robot_description_planning/joint_limits/panda_joint7/max_velocity: 2.61
 * /robot_description_semantic: <?xml version="1....
 * /robot_state_publisher/publish_frequency: 1000
 * /rosdistro: noetic
 * /rosversion: 1.15.11

NODES
  /
    base_to_link0 (tf/static_transform_publisher)
    controllers (controller_manager/spawner)
    demo_scene_loader (franka_moveit/create_demo_planning_scene.py)
    franka_control (franka_interface/custom_franka_control_node)
    franka_gripper (franka_gripper/franka_gripper_node)
    joint_state_desired_publisher (joint_state_publisher/joint_state_publisher)
    joint_state_publisher (joint_state_publisher/joint_state_publisher)
    load_controllers (controller_manager/controller_manager)
    move_group (moveit_ros_move_group/move_group)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    state_controller_spawner (controller_manager/spawner)
    world_to_base (tf/static_transform_publisher)

auto-starting new master
process[master]: started with pid [16636]
ROS_MASTER_URI=http://172.16.0.1:11311

setting /run_id to 04472a8a-52fb-11ec-8004-61c0d9261ce8
process[rosout-1]: started with pid [16646]
started core service [/rosout]
process[franka_gripper-2]: started with pid [16653]
process[franka_control-3]: started with pid [16654]
process[state_controller_spawner-4]: started with pid [16655]
/home/oclab/code/panda_robot/devel/lib/franka_interface/custom_franka_control_node: Symbol `_ZTVN9franka_hw8FrankaHWE' has different size in shared object, consider re-linking
/home/oclab/code/panda_robot/devel/lib/franka_interface/custom_franka_control_node: symbol lookup error: /home/oclab/code/panda_robot/devel/lib/franka_interface/custom_franka_control_node: undefined symbol: _ZNK9franka_hw8FrankaHW7controlERKSt8functionIFbRKN3ros4TimeERKNS2_8DurationEEE
[ INFO] [1638399861.230149073]: franka_gripper_node: Found default_speed 0.1
process[robot_state_publisher-5]: started with pid [16658]
[ INFO] [1638399861.230586104]: franka_gripper_node: Found default_grasp_epsilon inner: 0.005, outer: 0.005
================================================================================REQUIRED process [franka_control-3] has died!
process has died [pid 16654, exit code 127, cmd /home/oclab/code/panda_robot/devel/lib/franka_interface/custom_franka_control_node __name:=franka_control __log:=/home/oclab/.ros/log/04472a8a-52fb-11ec-8004-61c0d9261ce8/franka_control-3.log].
log file: /home/oclab/.ros/log/04472a8a-52fb-11ec-8004-61c0d9261ce8/franka_control-3*.log
Initiating shutdown!
================================================================================
RLException: cannot add process [joint_state_publisher-6] after process monitor has been shut down
The traceback for the exception was written to the log file
[robot_state_publisher-5] killing on exit
[state_controller_spawner-4] killing on exit
[franka_control-3] killing on exit
[franka_gripper-2] killing on exit
[franka <Master> - [email protected]] (base) oclab@panda1:~/code/panda_robot$ [INFO] [1638399861.495801]: Controller Spawner: Waiting for service controller_manager/load_controller
[WARN] [1638399891.671958]: Controller Spawner couldn't find the expected controller_manager ROS interface.

In case the output of /home/oclab/code/libfranka/build/examples/echo_robot_state 172.16.0.2 is helpful, here it is:

{"O_T_EE": [0.998995,-0.0438993,-0.00790835,0,-0.0436144,-0.998488,0.0331812,0,-0.0093532,-0.0328035,-0.999418,0,0.302331,0.173787,0.465025,1], "O_T_EE_d": [0.998995,-0.0438995,-0.00791904,0,-0.0436141,-0.998487,0.0331915,0,-0.00936433,-0.0328134,-0.999418,0,0.302335,0.173788,0.465021,1], "F_T_NE": [0.7071,-0.7071,0,0,0.7071,0.7071,0,0,0,0,1,0,0,0,0.1034,1], "NE_T_EE": [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1], "F_T_EE": [0.7071,-0.7071,0,0,0.7071,0.7071,0,0,0,0,1,0,0,0,0.1034,1], "EE_T_K": [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1], "m_ee": 0.73, "F_x_Cee": [-0.01,0,0.03], "I_ee": [0.001,0,0,0,0.0025,0,0,0,0.0017], "m_load": 0, "F_x_Cload": [0,0,0], "I_load": [0,0,0,0,0,0,0,0,0], "m_total": 0.73, "F_x_Ctotal": [-0.01,0,0.03], "I_total": [0.001,0,0,0,0.0025,0,0,0,0.0017], "elbow": [0.0118932,-1], "elbow_d": [0.011903,-1], "elbow_c": [0.011903,-1], "delbow_c": [0,0], "ddelbow_c": [0,0], "tau_J": [-0.0262443,-8.68335,-0.787238,22.7851,0.814284,2.13832,-0.0168133], "tau_J_d": [0,0,0,0,0,0,0], "dtau_J": [54.0963,-219.42,41.8383,13.3756,36.4945,-35.4212,5.58874], "q": [0.519095,-0.646616,0.0118932,-2.32042,-0.0164992,1.6492,1.35918], "dq": [-0.000521154,0.00229842,-0.00135589,-0.000156747,-0.000637353,0.000470845,-0.000805113], "q_d": [0.519081,-0.646593,0.011903,-2.32041,-0.0164965,1.6492,1.35917], "dq_d": [0,0,0,0,0,0,0], "ddq_d": [0,0,0,0,0,0,0], "joint_contact": [0,0,0,0,0,0,0], "cartesian_contact": [0,0,0,0,0,0], "joint_collision": [0,0,0,0,0,0,0], "cartesian_collision": [0,0,0,0,0,0], "tau_ext_hat_filtered": [-0.0416108,-0.224339,-0.0550402,0.539869,0.0756463,-0.0680105,-0.0123975], "O_F_ext_hat_K": [0.355217,0.153844,1.5997,0.136658,-0.0323647,-0.0210621], "K_F_ext_hat_K": [0.335462,-0.116026,-1.60714,-0.0822474,-0.282803,-0.00289346], "O_dP_EE_d": [0,0,0,0,0,0], "O_T_EE_c": [0.998995,-0.0438995,-0.00791904,0,-0.0436141,-0.998487,0.0331915,0,-0.00936433,-0.0328134,-0.999418,0,0.302335,0.173788,0.465021,1], "O_dP_EE_c": [0,0,0,0,0,0], "O_ddP_EE_c": [0,0,0,0,0,0], "theta": [0.519093,-0.647225,0.0118372,-2.31882,-0.0164088,1.64944,1.35917], "dtheta": [0,0,0,0,0,0,0], "current_errors": [], "last_motion_errors": [], "control_command_success_rate": 0, "robot_mode": "Idle", "time": 1229644}
Done.

Any ideas as to what might be causing this?

ArmInterface() seems to get stuck moveit '/get_planning_scene'

Hi,

I would like to test the franka_ros_interface for controlling the joints using torque mode.

Here are some details about my setup:

ROS noetic
Python 3.8.10

I have run (with no errors):

roslaunch franka_interface interface.launch load_demo_planning_scene:=false start_moveit:=false

However, when I load the ArmInterface, I get the following warnings and it gets stuck here:

[ INFO] [1626184277.199462070]: waitForService: Service [/get_planning_scene] has not been advertised, waiting...
[ WARN] [1626184282.209219557]: service '/get_planning_scene' not advertised yet. Continue waiting...

Could you kindly let me know how I could resolve this issue please?

If you need further information I would be happy to provide.

Regards,
Gabriella

catkin_make error(can't find header files)

Hi! I've built libfranka and franka_ros from source.
But when I built franka_ros_interface, I got errors shows "no franka_hw/services.h".
Maybe the Makefiles can't find the right path of libfranka. So I wanna figure out how to add the franka_hw path in to franka_ros_interface' CMakeLists.txt.

All packages and libs are 0.6.0.

I appreciate any helps, thanks!

ps: I show my workspace and error log in pictures.
Screenshot from 2021-01-06 10-10-58

webwxgetmsgimg(1)

Switch Controller Failed

Hi, justagist,
Thank you for your nice work of franka arm!
I meet a problem when I try to send a joints position command after a joints velocity command.
There was an error that "robot still moving", and the following position command failed.

I found a notice in franka FCI website, which says "When using velocity interfaces, do not simply command zero velocity in stopping. Since it might be called while the robot is still moving, it would be equivalent to commanding a jump in velocity leading to very high resulting joint-level torques."
It seems that I need to call stopping function to stop velocity controller before I start position controller.

Then, I try to stop the velocity controller and switch to position controller, but the position command failed too. My code looks like that:

robot.exec_velocity_cmd(joints_velocity) # send a velocity command
robot.exit_control_mode() # exit currernt control mode
robot.move_to_joint_positions(joints_positions) # send a position command, but failed

Could you please give some suggestions about that?
Thank you so much!

move_to_joint_positions in simulation

First, thank you for this and the other repositories - they are incredibly useful!

Wondering about this:

if self._params._in_sim:
rospy.logwarn("ArmInterface: move_to_joint_positions not implemented for simulation. Use set_joint_positions instead.")
self.set_joint_positions(positions)
return

Can you elaborate on why move_to_joint_positions is not enabled in simulation? What are the roadblocks to support that?

CMake Error

Hi! I tried to catkin build your package, however, it shows this error:

Errors << franka_core_msgs:cmake /home/sission/ws_moveit/logs/franka_core_msgs/build.cmake.002.log
CMake Error at /home/sission/ws_moveit/build/franka_core_msgs/cmake/franka_core_msgs-genmsg.cmake:3 (message):
Could not find messages which
'/home/sission/ws_moveit/src/franka_ros_interface/franka_common/franka_core_msgs/msg/RobotState.msg'
depends on. Did you forget to specify generate_messages(DEPENDENCIES ...)?

Cannot locate message [Errors] in package [franka_msgs] with paths
[['/home/sission/ws_moveit/src/src/franka_ros/franka_msgs/msg',
'/home/sission/ws_moveit/devel/.private/franka_msgs/share/franka_msgs/msg']]
Call Stack (most recent call first):
/opt/ros/melodic/share/genmsg/cmake/genmsg-extras.cmake:307 (include)
CMakeLists.txt:34 (generate_messages)

Cmake error : catkin build and catkin_make

Hello, I am a student who is studying grasping with franka panda.
I'm trying to install the Franka_ros_interface package because I think it will complement our franka panda. The src file in my ros workspace(catkin_ws) contains the package of Franka_ros 0.6.0, libfranka, and the Franka_description in the Franka_ros package.
so I did modify all occurences franka_panda_description with franka_description. But I get an error at franka_ros_interface/franka_interface/CMakeLists.txt
Why can't I do catkin_make when I think I installed basic defendencies well?

Any advice or help is appreciated.
Thanks you a lot !

Integrating cartesian impedance controller

First of all, thank you for sharing this awesome library! It's really helpful.

I'm wondering if you have any plan to integrate the cartesian impedance controller (e.g., the example controller in the franka_ros repo)? Or at least could you list the steps one should take to integrate it into the controller manager? Thank you so much!

I got a Problem with the arm controller

When I launch the moveit demo and want to execute an arm movement, I receive the following error:

[ERROR] [1616651255.407653286]: Unable to identify any set of controllers that can actuate the specified joints: [ panda_joint1 panda_joint2 panda_joint3 panda_joint4 panda_joint5 panda_joint6 panda_joint7 ]
[ERROR] [1616651255.407667569]: Known controllers and their joints:
controller 'franka_gripper' controls joints:
panda_finger_joint1
panda_finger_joint2

There is no problem with executing a hand movement and the franka-ros and also the libfranka demos are working fine.
The panda robot is on firmware 4.0.4. libfranka on 0.8.0 and franka-ros on 0.7.1

about control frequency

Hi, Im recently trying to use this api, and Im wondering what's the highest control frequency can this api reach, I have tested like moving continuously, and it's about 1s for each action, is there is a way to have higher frequency?

use franka_ros_interface with two panda arm simultaneously

Hi @justagist, thanks for the great library!

I'm currently working on the dual panda(two panda arms located on the same desk).

And I don't know the proper way to control the dual panda arm at the same time(cause right now we don't have any special controller for the dual panda, I guess I can only treat them as two single robots).

Can I just launch two franka.sh with different robot_ip in different terminals?

Or is there another suitable way to control dual panda simultaneous?

Looking forward to your advice!

Values of width and force in grasp

Hi!

I am trying to make Panda grasp a cylindrical object and wonder whether my width and force are set correctly.
The object is 16mm in diameter. I have tried various different values, but the object either slid out of the gripper or got squeezed out. Do you know what values I should set? Presumably, once the grasp function is called, the robot keeps grasping while it is moving?

    p = PandaArm()
    g = p.get_gripper()

    p.move_to_neutral()
    g.open()

    p.move_to_cartesian_pose([0.428, -0.02, 0.16])  # hard-coded some values for testing purposes
    g.grasp(0.015, 1)

width=0.015(m), force=1(N)
https://youtu.be/NMTkZuU9lw4

width=0.012(m), force=5(N)
https://youtu.be/IMmdG0u4l7o

FYI, cylindrical object: mu=0.64, mu2=0.6, mass=0.01, (inertia) ixx=ixy=ixz=iyy=iyz=izz=0.00001

Looking forward to your advice!

'franka::NetworkException' libfranka: Connection error: Connection refused

Hello, I'm trying to use the franka_ros_interface with the panda_simulator.
I set up the franka.sh file to:
FRANKA_ROBOT_IP="sim"
your_ip="127.0.0.1"
ROS_MASTER_IP="127.0.0.1"
When launching the interface.launch file I get:

NODES
/
base_to_link0 (tf/static_transform_publisher)
controllers (controller_manager/spawner)
demo_scene_loader (franka_moveit/create_demo_planning_scene.py)
franka_control (franka_interface/custom_franka_control_node)
joint_state_desired_publisher (joint_state_publisher/joint_state_publisher)
joint_state_publisher (joint_state_publisher/joint_state_publisher)
load_controllers (controller_manager/controller_manager)
move_group (moveit_ros_move_group/move_group)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
state_controller_spawner (controller_manager/spawner)
world_to_base (tf/static_transform_publisher)

ROS_MASTER_URI=http://127.0.0.1:11311

process[franka_control-1]: started with pid [9425]
process[state_controller_spawner-2]: started with pid [9426]
terminate called after throwing an instance of 'franka::NetworkException'
what(): libfranka: Connection error: Connection refused
process[robot_state_publisher-3]: started with pid [9432]
process[joint_state_publisher-4]: started with pid [9434]
process[joint_state_desired_publisher-5]: started with pid [9441]
process[controllers-6]: started with pid [9442]
[ WARN] [1600183441.136527432]: Shutdown request received.
[ WARN] [1600183441.137741024]: Reason given for shutdown: [[/robot_state_publisher] Reason: new node registered with same name]
[ WARN] [1600183441.138798262]: Shutdown request received.
[ WARN] [1600183441.140150070]: Reason given for shutdown: [[/robot_state_publisher] Reason: new node registered with same name]
[ WARN] [1600183441.144822500]: Shutdown request received.
process[load_controllers-7]: started with pid [9443]
process[base_to_link0-8]: started with pid [9444]
process[world_to_base-9]: started with pid [9450]
process[move_group-10]: started with pid [9455]
process[demo_scene_loader-11]: started with pid [9457]
================================================================================REQUIRED process [franka_control-1] has died!

I hope you can help me.
Thanks a lot.

Error occurs with libfranka 0.8 and no real time kernel

Hey,

I am trying to run it with libfranka 0.8 and NO real time kernel. I get the following error message when running:
roslaunch franka_interface interface.launch

started roslaunch server http://cell2:40065/

SUMMARY

PARAMETERS

  • /controllers_config/command_timeout: 0.2
  • /controllers_config/default_controller: position_joint_tr...
  • /controllers_config/impedance_controller: franka_ros_interf...
  • /controllers_config/position_controller: franka_ros_interf...
  • /controllers_config/torque_controller: franka_ros_interf...
  • /controllers_config/trajectory_controller: position_joint_tr...
  • /controllers_config/velocity_controller: franka_ros_interf...
  • /franka_control/publish_frequency: 1000
  • /franka_gripper/default_grasp_epsilon/inner: 0.005
  • /franka_gripper/default_grasp_epsilon/outer: 0.005
  • /franka_gripper/default_speed: 0.2
  • /franka_gripper/joint_names: ['panda_finger_jo...
  • /franka_gripper/publish_rate: 30
  • /franka_gripper/robot_ip: 192.168.50.234
  • /franka_ros_interface/custom_franka_state_controller/arm_id: panda
  • /franka_ros_interface/custom_franka_state_controller/joint_names: ['panda_joint1', ...
  • /franka_ros_interface/custom_franka_state_controller/publish_rate: 1000
  • /franka_ros_interface/custom_franka_state_controller/type: franka_interface/...
  • /franka_ros_interface/effort_joint_impedance_controller/arm_id: panda
  • /franka_ros_interface/effort_joint_impedance_controller/coriolis_factor: 1.0
  • /franka_ros_interface/effort_joint_impedance_controller/d_gains: [50.0, 50.0, 50.0...
  • /franka_ros_interface/effort_joint_impedance_controller/joint_names: ['panda_joint1', ...
  • /franka_ros_interface/effort_joint_impedance_controller/k_gains: [1200.0, 1000.0, ...
  • /franka_ros_interface/effort_joint_impedance_controller/publish_rate: 30.0
  • /franka_ros_interface/effort_joint_impedance_controller/type: franka_ros_contro...
  • /franka_ros_interface/effort_joint_position_controller/arm_id: panda
  • /franka_ros_interface/effort_joint_position_controller/d_gains: [50.0, 50.0, 50.0...
  • /franka_ros_interface/effort_joint_position_controller/joint_names: ['panda_joint1', ...
  • /franka_ros_interface/effort_joint_position_controller/k_gains: [1200.0, 1000.0, ...
  • /franka_ros_interface/effort_joint_position_controller/publish_rate: 30.0
  • /franka_ros_interface/effort_joint_position_controller/type: franka_ros_contro...
  • /franka_ros_interface/effort_joint_torque_controller/arm_id: panda
  • /franka_ros_interface/effort_joint_torque_controller/compensate_coriolis: False
  • /franka_ros_interface/effort_joint_torque_controller/joint_names: ['panda_joint1', ...
  • /franka_ros_interface/effort_joint_torque_controller/type: franka_ros_contro...
  • /franka_ros_interface/position_joint_position_controller/joint_names: ['panda_joint1', ...
  • /franka_ros_interface/position_joint_position_controller/type: franka_ros_contro...
  • /franka_ros_interface/velocity_joint_velocity_controller/joint_names: ['panda_joint1', ...
  • /franka_ros_interface/velocity_joint_velocity_controller/type: franka_ros_contro...
  • /gripper_config/default_grasp_epsilon/inner: 0.005
  • /gripper_config/default_grasp_epsilon/outer: 0.005
  • /gripper_config/default_speed: 0.1
  • /gripper_config/joint_names: ['panda_finger_jo...
  • /joint_state_desired_publisher/rate: 1000
  • /joint_state_desired_publisher/source_list: ['franka_ros_inte...
  • /joint_state_publisher/rate: 1000
  • /joint_state_publisher/source_list: ['franka_ros_inte...
  • /move_group/allow_trajectory_execution: True
  • /move_group/controller_list: [{'name': 'positi...
  • /move_group/hand/planner_configs: ['SBLkConfigDefau...
  • /move_group/jiggle_fraction: 0.05
  • /move_group/max_range: 5.0
  • /move_group/max_safe_path_cost: 1
  • /move_group/moveit_controller_manager: moveit_simple_con...
  • /move_group/moveit_manage_controllers: True
  • /move_group/octomap_frame: camera_rgb_optica...
  • /move_group/octomap_resolution: 0.05
  • /move_group/panda_arm/planner_configs: ['SBLkConfigDefau...
  • /move_group/panda_arm_hand/planner_configs: ['SBLkConfigDefau...
  • /move_group/planner_configs/BFMTkConfigDefault/balanced: 0
  • /move_group/planner_configs/BFMTkConfigDefault/cache_cc: 1
  • /move_group/planner_configs/BFMTkConfigDefault/extended_fmt: 1
  • /move_group/planner_configs/BFMTkConfigDefault/heuristics: 1
  • /move_group/planner_configs/BFMTkConfigDefault/nearest_k: 1
  • /move_group/planner_configs/BFMTkConfigDefault/num_samples: 1000
  • /move_group/planner_configs/BFMTkConfigDefault/optimality: 1
  • /move_group/planner_configs/BFMTkConfigDefault/radius_multiplier: 1.0
  • /move_group/planner_configs/BFMTkConfigDefault/type: geometric::BFMT
  • /move_group/planner_configs/BKPIECEkConfigDefault/border_fraction: 0.9
  • /move_group/planner_configs/BKPIECEkConfigDefault/failed_expansion_score_factor: 0.5
  • /move_group/planner_configs/BKPIECEkConfigDefault/min_valid_path_fraction: 0.5
  • /move_group/planner_configs/BKPIECEkConfigDefault/range: 0.0
  • /move_group/planner_configs/BKPIECEkConfigDefault/type: geometric::BKPIECE
  • /move_group/planner_configs/BiESTkConfigDefault/range: 0.0
  • /move_group/planner_configs/BiESTkConfigDefault/type: geometric::BiEST
  • /move_group/planner_configs/BiTRRTkConfigDefault/cost_threshold: 1e300
  • /move_group/planner_configs/BiTRRTkConfigDefault/frountier_node_ratio: 0.1
  • /move_group/planner_configs/BiTRRTkConfigDefault/frountier_threshold: 0.0
  • /move_group/planner_configs/BiTRRTkConfigDefault/init_temperature: 100
  • /move_group/planner_configs/BiTRRTkConfigDefault/range: 0.0
  • /move_group/planner_configs/BiTRRTkConfigDefault/temp_change_factor: 0.1
  • /move_group/planner_configs/BiTRRTkConfigDefault/type: geometric::BiTRRT
  • /move_group/planner_configs/ESTkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/ESTkConfigDefault/range: 0.0
  • /move_group/planner_configs/ESTkConfigDefault/type: geometric::EST
  • /move_group/planner_configs/FMTkConfigDefault/cache_cc: 1
  • /move_group/planner_configs/FMTkConfigDefault/extended_fmt: 1
  • /move_group/planner_configs/FMTkConfigDefault/heuristics: 0
  • /move_group/planner_configs/FMTkConfigDefault/nearest_k: 1
  • /move_group/planner_configs/FMTkConfigDefault/num_samples: 1000
  • /move_group/planner_configs/FMTkConfigDefault/radius_multiplier: 1.1
  • /move_group/planner_configs/FMTkConfigDefault/type: geometric::FMT
  • /move_group/planner_configs/KPIECEkConfigDefault/border_fraction: 0.9
  • /move_group/planner_configs/KPIECEkConfigDefault/failed_expansion_score_factor: 0.5
  • /move_group/planner_configs/KPIECEkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/KPIECEkConfigDefault/min_valid_path_fraction: 0.5
  • /move_group/planner_configs/KPIECEkConfigDefault/range: 0.0
  • /move_group/planner_configs/KPIECEkConfigDefault/type: geometric::KPIECE
  • /move_group/planner_configs/LBKPIECEkConfigDefault/border_fraction: 0.9
  • /move_group/planner_configs/LBKPIECEkConfigDefault/min_valid_path_fraction: 0.5
  • /move_group/planner_configs/LBKPIECEkConfigDefault/range: 0.0
  • /move_group/planner_configs/LBKPIECEkConfigDefault/type: geometric::LBKPIECE
  • /move_group/planner_configs/LBTRRTkConfigDefault/epsilon: 0.4
  • /move_group/planner_configs/LBTRRTkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/LBTRRTkConfigDefault/range: 0.0
  • /move_group/planner_configs/LBTRRTkConfigDefault/type: geometric::LBTRRT
  • /move_group/planner_configs/LazyPRMkConfigDefault/range: 0.0
  • /move_group/planner_configs/LazyPRMkConfigDefault/type: geometric::LazyPRM
  • /move_group/planner_configs/LazyPRMstarkConfigDefault/type: geometric::LazyPR...
  • /move_group/planner_configs/PDSTkConfigDefault/type: geometric::PDST
  • /move_group/planner_configs/PRMkConfigDefault/max_nearest_neighbors: 10
  • /move_group/planner_configs/PRMkConfigDefault/type: geometric::PRM
  • /move_group/planner_configs/PRMstarkConfigDefault/type: geometric::PRMstar
  • /move_group/planner_configs/ProjESTkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/ProjESTkConfigDefault/range: 0.0
  • /move_group/planner_configs/ProjESTkConfigDefault/type: geometric::ProjEST
  • /move_group/planner_configs/RRTConnectkConfigDefault/range: 0.0
  • /move_group/planner_configs/RRTConnectkConfigDefault/type: geometric::RRTCon...
  • /move_group/planner_configs/RRTkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/RRTkConfigDefault/range: 0.0
  • /move_group/planner_configs/RRTkConfigDefault/type: geometric::RRT
  • /move_group/planner_configs/RRTstarkConfigDefault/delay_collision_checking: 1
  • /move_group/planner_configs/RRTstarkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/RRTstarkConfigDefault/range: 0.0
  • /move_group/planner_configs/RRTstarkConfigDefault/type: geometric::RRTstar
  • /move_group/planner_configs/SBLkConfigDefault/range: 0.0
  • /move_group/planner_configs/SBLkConfigDefault/type: geometric::SBL
  • /move_group/planner_configs/SPARSkConfigDefault/dense_delta_fraction: 0.001
  • /move_group/planner_configs/SPARSkConfigDefault/max_failures: 1000
  • /move_group/planner_configs/SPARSkConfigDefault/sparse_delta_fraction: 0.25
  • /move_group/planner_configs/SPARSkConfigDefault/stretch_factor: 3.0
  • /move_group/planner_configs/SPARSkConfigDefault/type: geometric::SPARS
  • /move_group/planner_configs/SPARStwokConfigDefault/dense_delta_fraction: 0.001
  • /move_group/planner_configs/SPARStwokConfigDefault/max_failures: 5000
  • /move_group/planner_configs/SPARStwokConfigDefault/sparse_delta_fraction: 0.25
  • /move_group/planner_configs/SPARStwokConfigDefault/stretch_factor: 3.0
  • /move_group/planner_configs/SPARStwokConfigDefault/type: geometric::SPARStwo
  • /move_group/planner_configs/STRIDEkConfigDefault/degree: 16
  • /move_group/planner_configs/STRIDEkConfigDefault/estimated_dimension: 0.0
  • /move_group/planner_configs/STRIDEkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/STRIDEkConfigDefault/max_degree: 18
  • /move_group/planner_configs/STRIDEkConfigDefault/max_pts_per_leaf: 6
  • /move_group/planner_configs/STRIDEkConfigDefault/min_degree: 12
  • /move_group/planner_configs/STRIDEkConfigDefault/min_valid_path_fraction: 0.2
  • /move_group/planner_configs/STRIDEkConfigDefault/range: 0.0
  • /move_group/planner_configs/STRIDEkConfigDefault/type: geometric::STRIDE
  • /move_group/planner_configs/STRIDEkConfigDefault/use_projected_distance: 0
  • /move_group/planner_configs/TRRTkConfigDefault/frountierNodeRatio: 0.1
  • /move_group/planner_configs/TRRTkConfigDefault/frountier_threshold: 0.0
  • /move_group/planner_configs/TRRTkConfigDefault/goal_bias: 0.05
  • /move_group/planner_configs/TRRTkConfigDefault/init_temperature: 10e-6
  • /move_group/planner_configs/TRRTkConfigDefault/k_constant: 0.0
  • /move_group/planner_configs/TRRTkConfigDefault/max_states_failed: 10
  • /move_group/planner_configs/TRRTkConfigDefault/min_temperature: 10e-10
  • /move_group/planner_configs/TRRTkConfigDefault/range: 0.0
  • /move_group/planner_configs/TRRTkConfigDefault/temp_change_factor: 2.0
  • /move_group/planner_configs/TRRTkConfigDefault/type: geometric::TRRT
  • /move_group/planner_configs/TrajOptDefault/type: geometric::TrajOpt
  • /move_group/planning_plugin: ompl_interface/OM...
  • /move_group/planning_scene_monitor/publish_geometry_updates: True
  • /move_group/planning_scene_monitor/publish_planning_scene: True
  • /move_group/planning_scene_monitor/publish_state_updates: True
  • /move_group/planning_scene_monitor/publish_transforms_updates: True
  • /move_group/request_adapters: default_planner_r...
  • /move_group/sensors: [{'sensor_plugin'...
  • /move_group/start_state_max_bounds_error: 0.1
  • /move_group/trajectory_execution/allowed_execution_duration_scaling: 1.2
  • /move_group/trajectory_execution/allowed_goal_duration_margin: 0.5
  • /move_group/trajectory_execution/allowed_start_tolerance: 0.01
  • /position_joint_trajectory_controller/constraints/goal_time: 0.5
  • /position_joint_trajectory_controller/constraints/panda_joint1/goal: 0.05
  • /position_joint_trajectory_controller/constraints/panda_joint2/goal: 0.05
  • /position_joint_trajectory_controller/constraints/panda_joint3/goal: 0.05
  • /position_joint_trajectory_controller/constraints/panda_joint4/goal: 0.05
  • /position_joint_trajectory_controller/constraints/panda_joint5/goal: 0.05
  • /position_joint_trajectory_controller/constraints/panda_joint6/goal: 0.05
  • /position_joint_trajectory_controller/constraints/panda_joint7/goal: 0.05
  • /position_joint_trajectory_controller/joints: ['panda_joint1', ...
  • /position_joint_trajectory_controller/type: position_controll...
  • /robot_config/arm_id: panda
  • /robot_config/collision_config/lower_force_thresholds_acceleration: [20.0, 20.0, 20.0...
  • /robot_config/collision_config/lower_force_thresholds_nominal: [20.0, 20.0, 20.0...
  • /robot_config/collision_config/lower_torque_thresholds_acceleration: [20.0, 20.0, 18.0...
  • /robot_config/collision_config/lower_torque_thresholds_nominal: [20.0, 20.0, 18.0...
  • /robot_config/collision_config/upper_force_thresholds_acceleration: [20.0, 20.0, 20.0...
  • /robot_config/collision_config/upper_force_thresholds_nominal: [20.0, 20.0, 20.0...
  • /robot_config/collision_config/upper_torque_thresholds_acceleration: [20.0, 20.0, 18.0...
  • /robot_config/collision_config/upper_torque_thresholds_nominal: [20.0, 20.0, 18.0...
  • /robot_config/cutoff_frequency: 100
  • /robot_config/internal_controller: joint_impedance
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint1: 15.0
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint2: 7.5
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint3: 10.0
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint4: 12.5
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint5: 15.0
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint6: 20.0
  • /robot_config/joint_config/joint_acceleration_limit/panda_joint7: 20.0
  • /robot_config/joint_config/joint_effort_limit/panda_joint1: 87
  • /robot_config/joint_config/joint_effort_limit/panda_joint2: 87
  • /robot_config/joint_config/joint_effort_limit/panda_joint3: 87
  • /robot_config/joint_config/joint_effort_limit/panda_joint4: 87
  • /robot_config/joint_config/joint_effort_limit/panda_joint5: 12
  • /robot_config/joint_config/joint_effort_limit/panda_joint6: 12
  • /robot_config/joint_config/joint_effort_limit/panda_joint7: 12
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint1: -2.8973
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint2: -1.7628
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint3: -2.8973
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint4: -3.0718
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint5: -2.8973
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint6: -0.0175
  • /robot_config/joint_config/joint_position_limit/lower/panda_joint7: -2.8973
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint1: 2.8973
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint2: 1.7628
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint3: 2.8973
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint4: -0.0698
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint5: 2.8973
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint6: 3.7525
  • /robot_config/joint_config/joint_position_limit/upper/panda_joint7: 2.8973
  • /robot_config/joint_config/joint_velocity_limit/panda_joint1: 2.175
  • /robot_config/joint_config/joint_velocity_limit/panda_joint2: 2.175
  • /robot_config/joint_config/joint_velocity_limit/panda_joint3: 2.175
  • /robot_config/joint_config/joint_velocity_limit/panda_joint4: 2.175
  • /robot_config/joint_config/joint_velocity_limit/panda_joint5: 2.61
  • /robot_config/joint_config/joint_velocity_limit/panda_joint6: 2.61
  • /robot_config/joint_config/joint_velocity_limit/panda_joint7: 2.61
  • /robot_config/joint_config/realtime_config: RealtimeConfig::k...
  • /robot_config/joint_limit_warning_threshold: 0.1
  • /robot_config/joint_names: ['panda_joint1', ...
  • /robot_config/neutral_pose/panda_joint1: -0.01779206022777...
  • /robot_config/neutral_pose/panda_joint2: -0.7601235411041661
  • /robot_config/neutral_pose/panda_joint3: 0.019782607023391807
  • /robot_config/neutral_pose/panda_joint4: -2.342050140544315
  • /robot_config/neutral_pose/panda_joint5: 0.029840531355804868
  • /robot_config/neutral_pose/panda_joint6: 1.5411935298621688
  • /robot_config/neutral_pose/panda_joint7: 0.7534486589746342
  • /robot_config/rate_limiting: True
  • /robot_config/robot_ip: 192.168.50.234
  • /robot_description: <?xml version="1....
  • /robot_description_kinematics/panda_arm/kinematics_solver: kdl_kinematics_pl...
  • /robot_description_kinematics/panda_arm/kinematics_solver_search_resolution: 0.005
  • /robot_description_kinematics/panda_arm/kinematics_solver_timeout: 0.05
  • /robot_description_planning/joint_limits/panda_finger_joint1/has_acceleration_limits: False
  • /robot_description_planning/joint_limits/panda_finger_joint1/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_finger_joint1/max_acceleration: 0
  • /robot_description_planning/joint_limits/panda_finger_joint1/max_velocity: 0.1
  • /robot_description_planning/joint_limits/panda_finger_joint2/has_acceleration_limits: False
  • /robot_description_planning/joint_limits/panda_finger_joint2/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_finger_joint2/max_acceleration: 0
  • /robot_description_planning/joint_limits/panda_finger_joint2/max_velocity: 0.1
  • /robot_description_planning/joint_limits/panda_joint1/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint1/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint1/max_acceleration: 3.75
  • /robot_description_planning/joint_limits/panda_joint1/max_velocity: 2.175
  • /robot_description_planning/joint_limits/panda_joint2/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint2/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint2/max_acceleration: 1.875
  • /robot_description_planning/joint_limits/panda_joint2/max_velocity: 2.175
  • /robot_description_planning/joint_limits/panda_joint3/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint3/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint3/max_acceleration: 2.5
  • /robot_description_planning/joint_limits/panda_joint3/max_velocity: 2.175
  • /robot_description_planning/joint_limits/panda_joint4/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint4/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint4/max_acceleration: 3.125
  • /robot_description_planning/joint_limits/panda_joint4/max_velocity: 2.175
  • /robot_description_planning/joint_limits/panda_joint5/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint5/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint5/max_acceleration: 3.75
  • /robot_description_planning/joint_limits/panda_joint5/max_velocity: 2.61
  • /robot_description_planning/joint_limits/panda_joint6/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint6/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint6/max_acceleration: 5
  • /robot_description_planning/joint_limits/panda_joint6/max_velocity: 2.61
  • /robot_description_planning/joint_limits/panda_joint7/has_acceleration_limits: True
  • /robot_description_planning/joint_limits/panda_joint7/has_velocity_limits: True
  • /robot_description_planning/joint_limits/panda_joint7/max_acceleration: 5
  • /robot_description_planning/joint_limits/panda_joint7/max_velocity: 2.61
  • /robot_description_semantic: <?xml version="1....
  • /robot_state_publisher/publish_frequency: 1000
  • /rosdistro: noetic
  • /rosversion: 1.15.13

NODES
/
base_to_link0 (tf/static_transform_publisher)
controllers (controller_manager/spawner)
demo_scene_loader (franka_moveit/create_demo_planning_scene.py)
franka_control (franka_interface/custom_franka_control_node)
franka_gripper (franka_gripper/franka_gripper_node)
joint_state_desired_publisher (joint_state_publisher/joint_state_publisher)
joint_state_publisher (joint_state_publisher/joint_state_publisher)
load_controllers (controller_manager/controller_manager)
move_group (moveit_ros_move_group/move_group)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
state_controller_spawner (controller_manager/spawner)
world_to_base (tf/static_transform_publisher)

auto-starting new master
process[master]: started with pid [146155]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 35a1e71e-4d1a-11ec-84c7-bd43e44a67b6
process[rosout-1]: started with pid [146188]
started core service [/rosout]
process[franka_gripper-2]: started with pid [146195]
process[franka_control-3]: started with pid [146196]
process[state_controller_spawner-4]: started with pid [146197]
process[robot_state_publisher-5]: started with pid [146198]
[ INFO] [1637753551.656617041]: franka_gripper_node: Found default_speed 0.2
process[joint_state_publisher-6]: started with pid [146202]
[ INFO] [1637753551.657485585]: franka_gripper_node: Found default_grasp_epsilon inner: 0.005, outer: 0.005
process[joint_state_desired_publisher-7]: started with pid [146210]
process[controllers-8]: started with pid [146212]
process[load_controllers-9]: started with pid [146217]
process[base_to_link0-10]: started with pid [146224]
process[world_to_base-11]: started with pid [146225]
process[move_group-12]: started with pid [146227]
process[demo_scene_loader-13]: started with pid [146228]
Im here 1
Im here 2
[ INFO] [1637753551.720551149]: MotionControllerInterface Initialised
[ WARN] [1637753551.733439501]: MoveGroup launched without ~default_planning_pipeline specifying the namespace for the default planning pipeline configuration
[ WARN] [1637753551.733998004]: Falling back to using the the move_group node namespace (deprecated behavior).
[ INFO] [1637753551.738914607]: Loading robot model 'panda'...
[ WARN] [1637753551.738981848]: Skipping virtual joint 'virtual_joint' because its child frame 'panda_link0' does not match the URDF frame 'world'
[ INFO] [1637753551.739023788]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ INFO] [1637753551.804954456]: Publishing maintained planning scene on 'monitored_planning_scene'
[ INFO] [1637753551.806468843]: Listening to 'joint_states' for joint states
[ INFO] [1637753551.809197586]: Listening to '/attached_collision_object' for attached collision objects
[ INFO] [1637753551.809220716]: Starting planning scene monitor
[ INFO] [1637753551.810526742]: Listening to '/planning_scene'
[ INFO] [1637753551.810549862]: Starting world geometry update monitor for collision objects, attached objects, octomap updates.
[ INFO] [1637753551.811790758]: Listening to '/collision_object'
[ INFO] [1637753551.812830343]: Listening to '/planning_scene_world' for planning scene world geometry
[ INFO] [1637753551.823258263]: Listening to '/camera/depth_registered/points' using message filter with target frame 'world '
[ INFO] [1637753551.823279403]: Loading planning pipeline ''
[ INFO] [1637753551.856875856]: Using planning interface 'OMPL'
[ INFO] [1637753551.859467769]: Param 'default_workspace_bounds' was not set. Using default value: 10
[ INFO] [1637753551.859677430]: Param 'start_state_max_bounds_error' was set to 0.1
[ INFO] [1637753551.859838180]: Param 'start_state_max_dt' was not set. Using default value: 0.5
[ INFO] [1637753551.860010051]: Param 'start_state_max_dt' was not set. Using default value: 0.5
[ INFO] [1637753551.860160392]: Param 'jiggle_fraction' was set to 0.05
[ INFO] [1637753551.860309743]: Param 'max_sampling_attempts' was not set. Using default value: 100
[ INFO] [1637753551.860342223]: Using planning request adapter 'Add Time Parameterization'
[ INFO] [1637753551.860357973]: Using planning request adapter 'Resolve constraint frames to robot links'
[ INFO] [1637753551.860372393]: Using planning request adapter 'Fix Workspace Bounds'
[ INFO] [1637753551.860386173]: Using planning request adapter 'Fix Start State Bounds'
[ INFO] [1637753551.860400263]: Using planning request adapter 'Fix Start State In Collision'
[ INFO] [1637753551.860413823]: Using planning request adapter 'Fix Start State Path Constraints'
[ INFO] [1637753551.897497321]: EffortJointImpedanceController: Did not find controller_state_publish_rate. Using default 30 [Hz].
Loaded 'franka_ros_interface/effort_joint_impedance_controller'
[ INFO] [1637753551.915999390]: EffortJointPositionController: Did not find controller_state_publish_rate. Using default 30 [Hz].
Loaded 'franka_ros_interface/effort_joint_position_controller'
[ INFO] [1637753551.930620951]: EffortJointTorqueController: Coriolis compensation disabled!
[ INFO] [1637753551.930940323]: EffortJointTorqueController: Did not find controller_state_publish_rate. Using default 30 [Hz].
Loaded 'franka_ros_interface/effort_joint_torque_controller'
[ INFO] [1637753551.936285399]: VelocityJointVelocityController: Did not find controller_state_publish_rate. Using default 30 [Hz].
Loaded 'franka_ros_interface/velocity_joint_velocity_controller'
[ INFO] [1637753551.949808523]: PositionJointPositionController: Did not find controller_state_publish_rate. Using default 30 [Hz].
Loaded 'franka_ros_interface/position_joint_position_controller'
/home/flairop/.local/lib/python3.8/site-packages/quaternion/numba_wrapper.py:23: UserWarning:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Could not import from numba, which means that some
parts of this code may run MUCH more slowly. You
may wish to install numba.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

warnings.warn(warning_text)
[INFO] [1637753551.982437]: Controller Spawner: Waiting for service controller_manager/load_controller
[INFO] [1637753551.986958]: Controller Spawner: Waiting for service controller_manager/load_controller
[INFO] [1637753551.988586]: Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [1637753551.989586]: Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [1637753551.991397]: Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [1637753551.992577]: Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [1637753551.995733]: Loading controller: position_joint_trajectory_controller
[INFO] [1637753551.996171]: Loading controller: franka_ros_interface/custom_franka_state_controller
[INFO] [1637753552.003887]: Controller Spawner: Loaded controllers: franka_ros_interface/custom_franka_state_controller
[INFO] [1637753552.038058]: Controller Spawner: Loaded controllers: position_joint_trajectory_controller
[ INFO] [1637753552.043750665]: FrankaHW: Prepared switching controllers to joint_position with parameters limit_rate=1, cutoff_frequency=100, internal_controller=joint_impedance
[INFO] [1637753552.043854]: Started controllers: franka_ros_interface/custom_franka_state_controller
terminate called after throwing an instance of 'franka::RealtimeException'
what(): libfranka: unable to set realtime scheduling: Operation not permitted
[INFO] [1637753552.044894]: Started controllers: position_joint_trajectory_controller
================================================================================REQUIRED process [franka_control-3] has died!
process has died [pid 146196, exit code -6, cmd /home/flairop/Gilles/flairop_cell_ws/devel/lib/franka_interface/custom_franka_control_node __name:=franka_control __log:=/home/flairop/.ros/log/35a1e71e-4d1a-11ec-84c7-bd43e44a67b6/franka_control-3.log].
log file: /home/flairop/.ros/log/35a1e71e-4d1a-11ec-84c7-bd43e44a67b6/franka_control-3*.log
Initiating shutdown!

[INFO] [1637753552.156802]: Creating Demo Planning Scene
[ INFO] [1637753552.158436849]: waitForService: Service [/get_planning_scene] has not been advertised, waiting...
[demo_scene_loader-13] killing on exit
[move_group-12] killing on exit
[world_to_base-11] killing on exit
[base_to_link0-10] killing on exit
[load_controllers-9] killing on exit
[controllers-8] killing on exit
[joint_state_desired_publisher-7] killing on exit
[joint_state_publisher-6] killing on exit
[robot_state_publisher-5] killing on exit
[state_controller_spawner-4] killing on exit
[INFO] [1637753552.251627]: Shutting down spawner. Stopping and unloading controllers...
[INFO] [1637753552.252046]: Shutting down spawner. Stopping and unloading controllers...
[INFO] [1637753552.254120]: Stopping all controllers...
[INFO] [1637753552.254740]: Stopping all controllers...
[WARN] [1637753552.258847]: Controller Spawner error while taking down controllers: unable to connect to service: [Errno 111] Connection refused
[WARN] [1637753552.258966]: Controller Spawner error while taking down controllers: unable to connect to service: [Errno 111] Connection refused
[franka_control-3] killing on exit
[franka_gripper-2] killing on exit
Loading 'move_group/ApplyPlanningSceneService'...
Loading 'move_group/ClearOctomapService'...
Loading 'move_group/MoveGroupCartesianPathService'...
Loading 'move_group/MoveGroupExecuteTrajectoryAction'...
Loading 'move_group/MoveGroupGetPlanningSceneService'...
Loading 'move_group/MoveGroupKinematicsService'...
Loading 'move_group/MoveGroupMoveAction'...
Loading 'move_group/MoveGroupPickPlaceAction'...
Loading 'move_group/MoveGroupPlanService'...
Loading 'move_group/MoveGroupQueryPlannersService'...
Loading 'move_group/MoveGroupStateValidationService'...

You can start planning now!

[ WARN] [1637753557.159884818]: service '/get_planning_scene' not advertised yet. Continue waiting...
[ INFO] [1637753557.160280250]: waitForService: Service [/get_planning_scene] has not been advertised, waiting...
[demo_scene_loader-13] escalating to SIGTERM
[demo_scene_loader-13] escalating to SIGKILL
[rosout-1] killing on exit
[master] killing on exit
Shutdown errors:

  • process[demo_scene_loader-13, pid 146228]: required SIGKILL. May still be running.
    shutting down processing monitor...
    ... shutting down processing monitor complete
    done

I am guessing that this error is related to the real time kernel, is there a way how I can tell libfranka to enable robot without real time kernel, as it is possible in the new version of libfranka?


[ INFO] [1637753552.043750665]: FrankaHW: Prepared switching controllers to joint_position with parameters limit_rate=1, cutoff_frequency=100, internal_controller=joint_impedance
[INFO] [1637753552.043854]: Started controllers: franka_ros_interface/custom_franka_state_controller
terminate called after throwing an instance of 'franka::RealtimeException'
  what():  libfranka: unable to set realtime scheduling: Operation not permitted
[INFO] [1637753552.044894]: Started controllers: position_joint_trajectory_controller

Thanks a lot!

Issue when controlling and moving the robot

Hi,

When I run the command (roslaunch franka_moveit demo_moveit.launch), I am getting below issue:

Traceback (most recent call last):
File "/home/jayaram/catkin_ws/devel/lib/franka_moveit/test_scene_interface.py", line 15, in
exec(compile(fh.read(), python_script, 'exec'), context)
File "/home/jayaram/catkin_ws/src/franka_ros_interface/franka_moveit/tests/test_scene_interface.py", line 5, in
import moveit_commander
File "/opt/ros/noetic/lib/python3/dist-packages/moveit_commander/init.py", line 4, in
from .move_group import *
File "/opt/ros/noetic/lib/python3/dist-packages/moveit_commander/move_group.py", line 52, in
from moveit_ros_planning_interface import _moveit_move_group_interface
ImportError: /usr/lib/x86_64-linux-gnu/libp11-kit.so.0: undefined symbol: ffi_type_pointer, version LIBFFI_BASE_7.0

But when I import moveit_commander, I dont get any issue. Can you help me resolve this?

Thanks

RLException:ERROR : cloud not contact master [http://172.27.183.229:11311]

Hello, I am a student who study using franka panda robot
I am building and using your package well.
but, when i tried to use ./franka.sh master in robot computer, I got an error

actually, i did set up ./franka.sh file well as following your documentary.
It is revised franka.sh file

=========================================

===== EDIT THESE VALUES AS REQUIRED =====

=========================================

----- EDIT THIS TO MATCH THE IP OF THE FRANKA ROBOT CONTROLLER IN THE NETWORK

FRANKA_ROBOT_IP="172.27.183.230"

----- EDIT THIS TO MATCH YOUR IP IN THE NETWORK

your_ip="172.27.183.229"

----- EDIT THIS TO MATCH THE IP OF THE MAIN ROS MASTER PC (CONNECTED TO THE FRANKA CONTROLLER)

ROS_MASTER_IP="http://localhost:11311/"

ros_version="melodic"

=========================================

=========================================

=========================================

It is part of the contents of the terminal.

NODES
/
base_to_link0 (tf/static_transform_publisher)
controllers (controller_manager/spawner)
demo_scene_loader (franka_moveit/create_demo_planning_scene.py)
franka_control (franka_interface/custom_franka_control_node)
franka_gripper (franka_gripper/franka_gripper_node)
joint_state_desired_publisher (joint_state_publisher/joint_state_publisher)
joint_state_publisher (joint_state_publisher/joint_state_publisher)
load_controllers (controller_manager/controller_manager)
move_group (moveit_ros_move_group/move_group)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
state_controller_spawner (controller_manager/spawner)
world_to_base (tf/static_transform_publisher)

auto-starting new master
process[master]: started with pid [10444]
RLException: ERROR: could not contact master [http://172.27.183.229:11311]
The traceback for the exception was written to the log file
[master] killing on exit

The odd thing is, I got a lot of ros node list you made, but soon the connection is automatically shut down.

I will wait your answer. Have a nice day and thank you a lot

FrankaHW: Failed to initialize libfranka robot. libfranka: Connection error: DNS error

Installation

Ubuntu 18.04
ROS Melodic

libfranka and franka-ros are installed with apt.

I am experiencing some issues with franka_ros_interface. I can't understand why libfranka gets a "connection error : dns error".
I can run other packages like panda_moveit_config so i don't think the problem is from my machine.

It could be a configuration problem. My only modification on franka.sh is :
your_ip="127.0.0.1"

Process to get error :

./franka.sh
roslaunch franka_interface interface.launch

ROS_MASTER_URI=http://127.0.0.1:11311
process[franka_gripper-1]: started with pid [25172]
process[franka_control-2]: started with pid [25173]
process[state_controller_spawner-3]: started with pid [25174]
process[robot_state_publisher-4]: started with pid [25175]
process[joint_state_publisher-5]: started with pid [25176]
[ INFO] [1613051592.615273834]: franka_gripper_node: Found default_speed 0.1
[ INFO] [1613051592.625174552]: franka_gripper_node: Found default_grasp_epsilon inner: 0.005, outer: 0.005
process[joint_state_desired_publisher-6]: started with pid [25182]
terminate called after throwing an instance of 'franka::NetworkException'
what(): libfranka: Connection error: DNS error
process[controllers-7]: started with pid [25183]
process[load_controllers-8]: started with pid [25185]
process[base_to_link0-9]: started with pid [25192]
[ERROR] [1613051592.958992321]: FrankaHW: Failed to initialize libfranka robot. libfranka: Connection error: DNS error
[ERROR] [1613051592.964004733]: franka_control_node: Failed to initialize FrankaHW class. Shutting down!
process[world_to_base-10]: started with pid [25197]
[franka_gripper-1] process has died [pid 25172, exit code -6, cmd /opt/ros/melodic/lib/franka_gripper/franka_gripper_node __name:=franka_gripper __log:=/home/ubuntu/.ros/log/938277ba-6c63-11eb-acc5-fa163e5fc21e/franka_gripper-1.log].
log file: /home/ubuntu/.ros/log/938277ba-6c63-11eb-acc5-fa163e5fc21e/franka_gripper-1*.log

camke error: can't find franka_hw

Hi,
I am trying to build your package but run into the following issue when executing catkin build franka_ros_interface:
Screenshot from 2021-01-20 18-40-59

I built libfranka and frankros from source. It looks like the cmakefile can't find the franka_hw built in frank_ros.
So how to make the franka_ros_interface find the franka_hw path?
Thanks for your help!
Thanks!

Lacks dependencies about quaternion

I found it necessary to run pip install numpy numpy-quaternion to make roslaunch franka_interface interface.launch work
Maybe informative: my franka_ros is 0.8.0

Strange noises and barely noticable jerky movement when using test_controller.py

Hello!

I recently connected my workstation to a real Panda robot and tested moving the robot.

Here some details about my setup:

  • ROS melodic
  • Python 2.7.17
  • ros-melodic-libfranka version: 0.8.0-1bionic.20201017.031455
  • ros-melodic-franka-ros version: 0.7.1-1bionic.20210304.174422

The movement works as expected using the libfranka executables such as communication_test.

But when I use the franka_ros_interface/franka_ros_controllers/scripts/test_controller.py file the robot starts to make some weird noises similar to old HDD drives reading input and has barely noticeable jerky movement.
This behavior is also present when using the joint_positions_keyboard.py file.

Beforehand I started the interface.launch file using the command: roslaunch franka_interface interface.launch load_demo_planning_scene:=false start_moveit:=false

If you need further information please let me know.

Kind Regards,
Christian

Chaotic movement when launching the driver node.

Our team has been using this package for several weeks now and it worked well. But a few days ago we launched some scripts that used the torque control and, suddenly, robot started to move unexpectedly fast in a dangerous manner and then it slammed its end-effector on the table. We have run this script many times before and we have not encountered problems until that moment.

Now when we try to launch the driver node, it makes these abrupt movements every time. We contacted the Franka office and sent them the log file. They inspected it and didn't find any issue with the robot. In the interface file we set all the arguments to false and it still showed the same behavior.

Any advice or help is appreciated.

Cmake error franka_control

Hi,
I am trying to build your package but run into the following issue when executing catkin build franka_ros_interface :

image

It looks like it is unable to locate parts of the franka_ros package which I installed earlier. Also running roslaunch franka_control franka_control.launch is working, indicating to me that the package should be accessible.
I appreciate any hints, thanks.

Trouble in executing a plan using move group interface

Hi,

I'm having a really strange issue when executing plans with the move group interface in Gazebo. I have a set of waypoints containing joint value targets (generated by a DMP) that I want the robot to execute. I take these sets of targets and create a RobotTrajectory plan which is then sent to the move group interface to execute the plan (using the execute_plan method). However, for some odd reason, I get the following error:

JointTrajectoryActionServer: Exceeded Error Threshold on panda_jointx.

Upon further inspection, the threshold error it shows is between the first waypoint target value and the final waypoint target value. For instance, if this is the first and last target:

first: (0.5506333239656609, -0.5516712630390663, 0.07962400626558634, -2.2278973029167877, 0.10920540955632561, 1.678958868214459, 1.5042823665087401)

last: (0.6314878008421038, -0.5918658233568661, 0.34556952933794505, -2.221073606844203, 0.28302357696594, 1.6974351499160627, 1.921374168797591)

The error that occurs would be "JointTrajectoryActionServer: Exceeded Error Threshold on panda_joint3: 0.266121303193". However, there are several waypoints between the start and end that need to be executed. It seems that the action server is attempting to move to the final target without attempting to move to any of the intermediate targets before it. I suspect it is because the generated waypoints do not have a time associated with them, which could be confusing the server. Could you provide some guidance on why this is occurring? Thanks!

EDIT: After adding a time_from_start to each point, now the trajectory is completely random and does not reach the end goal and reaches some unknown target.

The only approach that seems to work consistently is using plan_joint_path but this is a blocking method and the resulting trajectory is painfully slow (each point has its own plan).

The other approach seems to be to publish joint commands manually for each point and then sleep for a short duration.

Is it possible to launch the interface in sim without Gazebo?

Hi,

Thank you for the awesome set of packages! I'm trying to use ROS# to control my arm in Unity using a joystick but want to leverage the IK solutions built-in to the panda_robot package. However, I do not require the extra overhead through the Gazebo simulation (since my robot moves in Unity). I tried to launch using ./franka.sh sim but was greeted with the error:

FrankaHW: Failed to initialize libfranka robot. libfranka: Connection error: Host not found

I'm wondering if this is indeed possible or would I still need to use the panda_simulator to launch the arm interface and then access the panda_robot IK methods?

Thanks!

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.