Requires libfranka
>= 0.8.0
franka_gazebo
: Offer bothpanda.launch
andfr3.launch
.franka_gazebo
: Fix velocity control by adding the missing effort.franka_control
: Clear the error flag if the robot is inkIdle
mode, i.e. ready to move.franka_control
: Fix unexpected long delay when calling error recovery (#317)- Fix a possible compilation error by sorting include directories by topological order (#319).
franka_control
: Fix a bug whereerror_recovery
actions recover future errors (#316).franka_gazebo
:FrankaHWSim
only acts on joints belonging to a Franka robot. This allows to combine a Franka robot and others (like mobile platforms) in same URDF (#313)franka_description
:<xacro:franka_robot/>
macro now supports to customize theparent
frame and itsxyz
+rpy
offsetfranka_hw
: Fix the bug where the previous controller is still running after switching the controller. (#326)franka_gazebo
: Addset_franka_model_configuration
service.
Requires libfranka
>= 0.8.0
franka_example_controllers
: Fix examples not working on melodic due to non-ascii symbols in comments offranka_example_controllers.yaml
.franka_example_controllers
: Thelink_name
incartesian_impedance_example_controller.launch
is now determined over thearm_id
.franka_description
: Fix catkin warning aboutcatkin_add_nosetests
Requires libfranka
>= 0.8.0
franka_example_controllers
: Normalize rotations before usagefranka_example_controllers
: Extend theteleop_joint_pd_example_controller
with markers indicating leader and follower roles + consistently use leader and follower as robot names in the example.franka_example_controllers
: Don't require MoveIt formove_to_start.launch
- BREAKING
franka_description
: Refactor URDF files to also support FR3 franka_control
: Introduce optionalrobot
argument in thefranka_control.launch
launch file that chooses either the URDF for panda or fr3. This argument can also be used in the launch files offranka_examples
. The default is "panda".
Requires libfranka
>= 0.8.0
franka_example_controllers
: Extend theteleop_joint_pd_example_controller
with markers indicating leader and follower roles + consistently use leader and follower as robot names in the example.franka_example_controllers
: Extend theteleop_joint_pd_example_controller
with a finite state machine that aligns the follower robot before starting to track the leader.franka_example_controllers
: Extend theteleop_joint_pd_example_controller
with joint walls to actively avoid position or velocity limit violations.franka_example_controllers
: Fix namespacing of dynamic reconfigure node of cartesian impedance example controllerfranka_control
: Configurablearm_id
in launch & config filesfranka_description
: URDF now contains$(arm_id)_linkN_sc
links containing the capsule collision modules used for self-collision avoidance (MoveIt).franka_description
: Unit test suite for URDFsfranka_description
: Makeutil.xacro
be includable from other packagesfranka_description
: Addtcp_xyz
&tcp_rpy
offsets to specify a custom TCP for MoveIT's$(arm_id)_manipulator
move groupfranka_control
:franka_control.launch
acceptsxacro_args
to pass down additional arguments to URDFfranka_gazebo
:panda.launch
acceptsxacro_args
to pass down additional arguments to URDFfranka_gazebo
: Fix motion generator config respectsarm_id
- BREAKING:
gripper_action
goes now to the commanded gripper position whenmax_effort
is zero franka_gazebo
: Dropdelayed_controller_spawner.py
script in favor of--wait-for TOPIC
flag from controller_managerfranka_gazebo
: Properly calculate inertial properties ofworld/stone/model.sdf
franka_gazebo
:set_user_stop
service to simulate User stop in Gazebofranka_gazebo
:error_recovery
action similar tofranka_control
- BREAKING:
franka_gazebo
: Move services likeset_EE_frame
,set_K_frame
... intofranka_control
namespace to be more consistent with real robot
Requires libfranka
>= 0.8.0
- Added support for libfranka 0.9.0
- BREAKING add base acceleration
O_ddP_O
(will for now always be {0,0,-9.81}) toFrankaState.msg
- BREAKING add following errors to
Errors.msg
:joint_move_in_wrong_direction
cartesian_spline_motion_generator_violation
joint_via_motion_generator_planning_joint_limit_violation
base_acceleration_initialization_timeout
base_acceleration_invalid_reading
franka_gazebo
:- Add JointPosition and JointVelocity Interface
- Fix: Robot now keeps position when no controller is running
- joint_{position,velocity}_example controller are now available in
franka_gazebo
Requires libfranka
>= 0.8.0
franka_gazebo
:- Fix: homing action works again
- Fix: move action can fail instead of blocking indefinitely
- Fix: align behavior of grasping action with
franka_gripper
- Add
joint_state_desired
publisher - Add singularity warning if Jacobian becomes singular
- Make
/panda
namespace optional - Make finger collisions primitive in
franka_gazebo
- Add 'gravity_vector' gravity ROS parameter to FrankaHWSim
- Improve Gazebo 'stone' world objects
- Introduce new
tau_ext_lowpass_filter
parameter forfranka_gazebo
to configure the filtering oftau_ext_hat_filtered
- Add realistic hand/finger collision geometries to the Gazebo robot description
- Fix: Allow interactive marker server to shut down if not initialized
- No further ROS Kinetic support, since End-of-Life was in April 2021
- Make position + orientation targets threadsafe in cartesian example controller
- Add effort joint trajectory controller to be used by MoveIT
- Fix "Failed to create robot simulation interface loader" bug when installing from APT
- Add
connected_to
option topanda_gazebo.xacro
macro, similar topanda_arm.xacro
- Rename
ns
->arm_id
inhand.xacro
macros to be consistent with the other xacro files
Requires libfranka
>= 0.8.0
franka_hw
:- Add
bool hasError()
member function toFrankaCombinableHW
- Only execute controller update in
franka_combined_control_node
when not in error state - Reset command buffer upon recover in
FrankaCombinableHW
- Add
Requires libfranka
>= 0.8.0
franka_hw
,franka_combinable_hw
,franka_combined_hw
: Added service interface to disconnect and reconnect when no controller is active. This allows mixing FCI- and DESK-based application without stopping the according hardware nodes.- BREAKING
franka_hw
,franka_combinable_hw
method control() now is non-const to allow locking a mutex member variable. - BREAKING Change behavior of
franka_msgs/SetEEFrame
. Previously, this method would set the flange-to-end-effector transformationF_T_EE
. This has been split up into two transformations:F_T_NE
, only settable in Desk, andNE_T_EE
, which can be set infranka_ros
withSetEEFrame
and defaults to the identity transformation. - Add
F_T_NE
andNE_T_EE
tofranka_msgs/FrankaState
. - Franka Gazebo Integration: Now you can simulate Panda robots in Gazebo including:
- gravity compensation
- non-realtime commands like
setEEFrame
orsetLoad
- gripper simulation with the same action interface as
franka_gripper
- estimated inertias in the URDF
- no need to change existing ROS controllers
- only torque control supported in this version
- Extract Model Library in abstract base class interface. This allows users to implement their own model.
- BREAKING Remove
panda_arm_hand.urdf.xacro
. Usepanda_arm.urdf.xacro hand:=true
instead.
Requires libfranka
>= 0.7.0
franka_example_controllers
: Added example for dual-arm teleoperation based onfranka_combinable_hw
.franka_gripper
: Made stopping on shutdown optional.franka_hw
: Addedfranka_control_services
install instruction.
Requires libfranka
>= 0.7.0
- BREAKING moved services and action from
franka_control
tofranka_msgs
. - BREAKING moved Service container from
franka_control
tofranka_hw
. franka_example_controllers
: Added example for dual-arm control based onfranka_combinable_hw
.franka_description
:- Added an example urdf with two panda arms.
- BREAKING Updated collision volumes.
- Removed invalid
axis
forjoint8
.
franka_hw
:- Added hardware classes to support torque-controlling multiple robots from one controller.
- Refactored FrankaHW class to serve as base class (e.g. for FrankaCombinableHW).
- Added joint limits checking to FrankaHW which means parameterized warning prints when approaching limits.
- Made initial collision behavior a parameter.
- Added default constructor and init method to FrankaHW.
- BREAKING moved parsing of parameters from control node to FrankaHW::init.
- BREAKING made libfranka robot a member of FrankaHW.
- Added missing return value to
franka::ControllerMode
stream operator function.
franka_control
:- Added control node that can runs a
FrankaCombinedHW
to control mulitple Pandas. - Publish whole
libfranka
franka::RobotState
infranka_state_controller
.
- Added control node that can runs a
franka_example_controllers
:- Cartesian impedance example controller: Interpolate desired orientations with slerp and change orientation error to quaternion.
- BREAKING Moved
panda_moveit_config
toros-planning
. - Added support for ROS Melodic Morenia.
- Raised minimum CMake version to 3.4 to match
libfranka
. - Add rosparam to choose value of
franka::RealtimeConfig
. - Fix unused parameter bugs in
FrankaModelHandle
(#78). - Added (experimental) support for ROS Noetic Ninjemys.
Requires libfranka
>= 0.5.0
- BREAKING Fixes for MoveIt, improving robot performance:
- Fixed joint velocity and acceleration limits in
joint_limits.yaml
- Use desired joint state for move group
- Fixed joint velocity and acceleration limits in
- BREAKING Updated joint limits in URDF
- BREAKING Fixed velocity, acceleration and jerk limits in
franka_hw
- BREAKING Start
franka_gripper_node
when givingload_gripper:=true
tofranka_control.launch
- Allow to configure rate limiting, filtering and internal controller in
franka_control_node
- BREAKING
FrankaHW::FrankaHW
takes additional parameters. - BREAKING Enabled rate limiting and low-pass filtering by default (
franka_control_node.yaml
) - Publish desired joint state in
/joint_state_desired
- Removed
effort_joint_trajectory_controller
fromdefault_controllers.yaml
- Fixed a bug when switching between controllers using the same
libfranka
interface
Requires libfranka
>= 0.4.0
- BREAKING Updated URDF:
- Adjusted maximum joint velocity
- Updated axis 4 hard and soft limits
Requires libfranka
>= 0.3.0
- Added some missing includes to
franka_hw
- Add support for commanding elbow in Cartesian pose and Cartesian velocity interfaces
Requires libfranka
>= 0.3.0
- BREAKING Removed
arm_id
and defaultrobot_ip
from launchfiles - BREAKING Changed namespace of
franka_control
controller manager - BREAKING Changed behavior of
gripper_action
for compatibility with MoveIt - Changes in
panda_moveit_config
:- Updated joint limits from URDF
- Removed
home
poses - Fixed fake execution
- Add
load_gripper
argument (default:true
) topanda_moveit.launch
- Conditionally load controllers/SRDFs based on
load_gripper
- Add gripper controller configuration (requires running
franka_gripper_node
)
- Added
mimic
tag for gripper fingers to URDF and fixed velocity limits
Requires libfranka
>= 0.3.0
- BREAKING Changed signatures in
franka_hw::FrankaModelHandle
- BREAKING Added epsilon parameters to
franka_gripper/Grasp
action - Added Collada meshes for Panda and Hand
- Added missing dependencies to
panda_moveit_config
andfranka_example_controllers
- Fixed linker errors when building with
-DFranka_DIR
while an older version ofros-kinetic-libfranka
is installed - Added gripper joint state publisher to
franka_visualization
- Moved
move_to_start.py
example script tofranka_example_controllers
Requires libfranka
>= 0.2.0
- Catkin-related fixes for
franka_example_controllers
- Added missing
<build_export_depend>
formessage_runtime
Requires libfranka
>= 0.2.0
- Added missing dependency to
franka_example_controllers
- Lowered rotational gains for Cartesian impedance example controller
Requires libfranka
>= 0.2.0
- Added missing run-time dependencies to
franka_description
andfranka_control
- Added
tau_J_d
,m_ee
,F_x_Cee
,I_ee
,m_total
,F_x_Ctotal
,I_total
,theta
anddtheta
tofranka_msgs/FrankaState
- Added new errors to
franka_msgs/Errors
- Updated and improved examples in
franka_example_controllers
- Fixed includes for Eigen3 in
franka_example_controllers
- Fixed gripper state publishing in
franka_gripper_node
- Fixed out-of-workspace build
- Integrated
franka_description
as subdirectory - Fixed dependencies on libfranka
- Fixed RViz config file paths
- Added missing
test_depend
tofranka_hw
- Added missing CMake install rules
- Initial release