Skip to content

Commit fe5f502

Browse files
authored
Feature: Franka Hand (#252)
* Add frank gripper launch * Add manipulators to namespace * Add remapping of joint states * Fix joint names
1 parent 255fdb0 commit fe5f502

File tree

1 file changed

+31
-2
lines changed
  • clearpath_generator_robot/clearpath_generator_robot/launch

1 file changed

+31
-2
lines changed

clearpath_generator_robot/clearpath_generator_robot/launch/generator.py

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@
3434
import os
3535

3636
from clearpath_config.common.types.platform import Platform
37-
from clearpath_config.manipulators.types.arms import UniversalRobots
37+
from clearpath_config.manipulators.types.arms import Franka, UniversalRobots
38+
from clearpath_config.manipulators.types.grippers import FrankaGripper
3839
from clearpath_config.platform.battery import BatteryConfig
3940
from clearpath_generator_common.common import LaunchFile, Package
4041
from clearpath_generator_common.launch.generator import LaunchGenerator
@@ -342,8 +343,8 @@ def generate_platform(self) -> None:
342343

343344
def generate_manipulators(self) -> None:
344345
manipulator_service_launch_writer = LaunchWriter(self.manipulators_service_launch_file)
345-
# Universal Robots Tool Communication
346346
for arm in self.clearpath_config.manipulators.get_all_arms():
347+
# Universal Robots Tool Communication
347348
if arm.MANIPULATOR_MODEL == UniversalRobots.MANIPULATOR_MODEL:
348349
node = LaunchFile.Node(
349350
name=f'{arm.name}_ur_tool_comm',
@@ -361,6 +362,34 @@ def generate_manipulators(self) -> None:
361362
self.manipulators_launch_file.args.append(
362363
('control_delay', '1.0')
363364
)
365+
# Franka Hand Communication
366+
if arm.MANIPULATOR_MODEL == Franka.MANIPULATOR_MODEL:
367+
if arm.gripper:
368+
if arm.gripper.MANIPULATOR_MODEL == FrankaGripper.MANIPULATOR_MODEL:
369+
node = LaunchFile.Node(
370+
name=f'{arm.gripper.name}_node',
371+
package='franka_gripper',
372+
executable='franka_gripper_node',
373+
namespace=f'{self.namespace}/manipulators',
374+
parameters=[{
375+
'robot_ip': arm.ip,
376+
'joint_names': [
377+
f'{arm.gripper.name}_finger_joint1',
378+
f'{arm.gripper.name}_finger_joint2'
379+
],
380+
'state_publish_rate': 15, # [Hz]
381+
'feedback_publish_rate': 30, # [Hz]
382+
'default_speed': 0.1, # [m/s]
383+
'default_grasp_epsilon': {
384+
'inner': 0.005, # [m]
385+
'outer': 0.005 # [m]
386+
}
387+
}],
388+
remappings=[
389+
('~/joint_states', f'/{self.namespace}/platform/joint_states')
390+
]
391+
)
392+
manipulator_service_launch_writer.add_node(node)
364393
if self.clearpath_config.manipulators.get_all_manipulators():
365394
manipulator_service_launch_writer.add(self.manipulators_launch_file)
366395
manipulator_service_launch_writer.generate_file()

0 commit comments

Comments
 (0)