Skip to content

Commit a8b0f78

Browse files
authored
Feature: Franka in Jazzy (#266)
* Feature: Franka Hand (#252) * Add frank gripper launch * Add manipulators to namespace * Add remapping of joint states * Fix joint names * Define arm_id in joint names to franka_gripper_node * Rename franka_gripper node
1 parent 45807da commit a8b0f78

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
@@ -517,8 +518,8 @@ def generate_platform(self) -> None:
517518

518519
def generate_manipulators(self) -> None:
519520
manipulator_service_launch_writer = LaunchWriter(self.manipulators_service_launch_file)
520-
# Universal Robots Tool Communication
521521
for arm in self.clearpath_config.manipulators.get_all_arms():
522+
# Universal Robots Tool Communication
522523
if arm.MANIPULATOR_MODEL == UniversalRobots.MANIPULATOR_MODEL:
523524
node = LaunchFile.Node(
524525
name=f'{arm.name}_ur_tool_comm',
@@ -536,6 +537,34 @@ def generate_manipulators(self) -> None:
536537
self.manipulators_launch_file.args.append(
537538
('control_delay', '1.0')
538539
)
540+
# Franka Hand Communication
541+
if arm.MANIPULATOR_MODEL == Franka.MANIPULATOR_MODEL:
542+
if arm.gripper:
543+
if arm.gripper.MANIPULATOR_MODEL == FrankaGripper.MANIPULATOR_MODEL:
544+
node = LaunchFile.Node(
545+
name=f'{arm.gripper.name}_controller',
546+
package='franka_gripper',
547+
executable='franka_gripper_node',
548+
namespace=f'{self.namespace}/manipulators',
549+
parameters=[{
550+
'robot_ip': arm.ip,
551+
'joint_names': [
552+
f'{arm.gripper.name}_{arm.gripper.arm_id}_finger_joint1',
553+
f'{arm.gripper.name}_{arm.gripper.arm_id}_finger_joint2'
554+
],
555+
'state_publish_rate': 15, # [Hz]
556+
'feedback_publish_rate': 30, # [Hz]
557+
'default_speed': 0.1, # [m/s]
558+
'default_grasp_epsilon': {
559+
'inner': 0.005, # [m]
560+
'outer': 0.005 # [m]
561+
}
562+
}],
563+
remappings=[
564+
('~/joint_states', f'/{self.namespace}/platform/joint_states')
565+
]
566+
)
567+
manipulator_service_launch_writer.add_node(node)
539568
if self.clearpath_config.manipulators.get_all_manipulators():
540569
manipulator_service_launch_writer.add(self.manipulators_launch_file)
541570
manipulator_service_launch_writer.generate_file()

0 commit comments

Comments
 (0)