Git Product home page Git Product logo

justagist / franka_ros_interface Goto Github PK

View Code? Open in Web Editor NEW
167.0 5.0 59.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 Issues

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

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 :)

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

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!

'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.

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)

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?

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?

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?

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

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

Build Error: Cannot locate message [Errors] in package [franka_core_msgs]

If you're experiencing the following error when building the franka_ros_interface package:

CMake Error at .../franka_core_msgs-genmsg.cmake:3 (message):
Could not find messages which ... depends on.
Cannot locate message [Errors] in package [franka_core_msgs]

Even though the Errors.msg file exists in the franka_core_msgs/msg directory, here's a potential solution:

Possible Cause:

The build system might be getting confused about where to find the Errors.msg file due to an outdated or incorrect dependency configuration.

Solution:

Verify Repository and Branch:
    Ensure you're using the correct repository:

    https://github.com/justagist/franka_ros_interface

    Make sure you're on the appropriate branch (e.g., noetic-devel for ROS Noetic).

Clean and Rebuild:

    Thoroughly clean your workspace:
    Bash

    cd <your_workspace>
    catkin clean -y 

    Use code [with caution.](https://github.com/faq#coding)

Rebuild the entire workspace from scratch:
Bash

catkin_make_isolated --install

Use code with caution.

Check for Missing Dependencies:
Bash

rosdep install --from-paths src --ignore-src -r -y

Use code with caution.

Manually Trigger Message Generation:

If the error persists, try forcing message generation specifically for franka_core_msgs:

Bash

catkin_make_isolated --install --pkg franka_core_msgs --catkin-make-args run_tests

Use code with caution.

Re-clone the Repository (If Necessary):

If all else fails, remove the franka_ros_interface folder and re-clone it, making sure to initialize and update the submodules:

Bash

cd <your_workspace/src>
rm -rf franka_ros_interface
git clone https://github.com/justagist/franka_ros_interface.git
cd franka_ros_interface
git submodule update --init --recursive

Use code with caution.

Explanation:

These steps resolve common issues related to:

Outdated/Incorrect Configuration: Cleaning and rebuilding refreshes the configuration files.
Missing Dependencies: The rosdep command ensures all required packages are installed.
Stale Build Artifacts: Cleaning the workspace eliminates old files that might cause conflicts.
Repository Problems: Re-cloning the repository can fix issues with missing or corrupted files.

Additional Notes:

Make sure to source your workspace after rebuilding (source devel_isolated/setup.bash).
If you're still having trouble, provide the following information in your GitHub issue:
    The full output of the catkin_make_isolated --install command
    The contents of franka_core_msgs/CMakeLists.txt and franka_core_msgs/package.xml

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

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.

[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

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!

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!

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

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.

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

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!

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!

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!

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!

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.

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!

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)

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!

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.