Skip to content

Commit b03c65d

Browse files
authored
Merge branch 'main' into objectathon2
2 parents 26c268c + 874619f commit b03c65d

21 files changed

+408
-958
lines changed

src/moveit_pro_franka_configs/franka_dual_arm_sim/config/config.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ hardware:
3333
# [Optional]
3434
urdf_params:
3535
- mujoco_model: "description/mujoco/scene.xml"
36+
- mujoco_viewer: false
3637
simulated_hardware_launch_file:
3738
package: "moveit_studio_agent"
3839
path: "launch/blank.launch.py"
@@ -129,6 +130,8 @@ ros2_control:
129130
# for running the application.
130131
# [Optional, default=[]]
131132
controllers_active_at_startup:
133+
- "left_gripper_controller"
134+
- "right_gripper_controller"
132135
- "joint_state_broadcaster"
133136
- "joint_trajectory_controller"
134137
# Load but do not start these controllers so they can be activated later if needed.

src/moveit_pro_franka_configs/franka_dual_arm_sim/config/control/franka_ros2_control.yaml

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ controller_manager:
1515
type: velocity_force_controller/VelocityForceController
1616
right_velocity_force_controller:
1717
type: velocity_force_controller/VelocityForceController
18+
left_gripper_controller:
19+
type: position_controllers/GripperActionController
20+
right_gripper_controller:
21+
type: position_controllers/GripperActionController
1822

1923
joint_trajectory_controller:
2024
ros__parameters:
@@ -38,6 +42,7 @@ joint_trajectory_controller:
3842
- right_fr3_joint5
3943
- right_fr3_joint6
4044
- right_fr3_joint7
45+
allow_partial_joints_goal: true
4146
gains:
4247
left_fr3_joint1: { p: 600., d: 30., i: 0., i_clamp: 1. }
4348
left_fr3_joint2: { p: 600., d: 30., i: 0., i_clamp: 1. }
@@ -54,6 +59,22 @@ joint_trajectory_controller:
5459
right_fr3_joint6: { p: 150., d: 10., i: 0., i_clamp: 1. }
5560
right_fr3_joint7: { p: 50., d: 5., i: 0., i_clamp: 1. }
5661

62+
left_gripper_controller:
63+
ros__parameters:
64+
default: true
65+
joint: left_fr3_finger_joint1
66+
allow_stalling: true
67+
stall_timeout: 0.1
68+
goal_tolerance: 0.005
69+
70+
right_gripper_controller:
71+
ros__parameters:
72+
default: true
73+
joint: right_fr3_finger_joint1
74+
allow_stalling: true
75+
stall_timeout: 0.1
76+
goal_tolerance: 0.005
77+
5778
left_joint_trajectory_controller:
5879
ros__parameters:
5980
command_interfaces:
@@ -154,7 +175,7 @@ left_velocity_force_controller:
154175
# Base frame of the kinematic chain, for computation of arm kinematics.
155176
base_frame: left_fr3_link0
156177
# The tip link of the kinematic chain, i.e. the frame that will be controlled.
157-
ee_frame: left_fr3_link8
178+
ee_frame: left_grasp_link
158179
# The frame where the force / torque sensor reading is given.
159180
# (Needs to exist in the kinematic chain).
160181
sensor_frame: left_fr3_link8
@@ -229,7 +250,7 @@ right_velocity_force_controller:
229250
# Base frame of the kinematic chain, for computation of arm kinematics.
230251
base_frame: right_fr3_link0
231252
# The tip link of the kinematic chain, i.e. the frame that will be controlled.
232-
ee_frame: right_fr3_link8
253+
ee_frame: right_grasp_link
233254
# The frame where the force / torque sensor reading is given.
234255
# (Needs to exist in the kinematic chain).
235256
sensor_frame: right_fr3_link8

src/moveit_pro_franka_configs/franka_dual_arm_sim/config/moveit/franka.srdf

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,49 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<robot name="franka">
33
<!-- Planning groups -->
4-
<!-- Right arm -->
5-
<group name="right_arm">
6-
<chain base_link="right_fr3_link0" tip_link="right_fr3_link8"/>
7-
</group>
8-
<group name="right_hand">
9-
<link name="right_fr3_hand"/>
4+
5+
<!-- All right gripper links, excluding arm. -->
6+
<group name="right_gripper">
7+
<link name="right_fr3_hand_tcp"/> <!-- root of gripper -->
108
<link name="right_fr3_leftfinger"/>
119
<link name="right_fr3_rightfinger"/>
12-
<link name="right_fr3_hand_tcp"/>
13-
<!--<link name="right_grasp_link"/>-->
10+
<link name="right_grasp_link"/>
1411
<joint name="right_fr3_finger_joint1"/>
1512
<passive_joint name="right_fr3_finger_joint2"/>
1613
</group>
14+
15+
<!-- All right robot links, including gripper. -->
1716
<group name="right_manipulator">
18-
<chain base_link="right_fr3_link0" tip_link="right_fr3_link8"/>
17+
<chain base_link="right_fr3_link0" tip_link="right_grasp_link"/>
1918
</group>
20-
<!-- Left arm -->
21-
<group name="left_arm">
22-
<chain base_link="left_fr3_link0" tip_link="left_fr3_link8"/>
23-
</group>
24-
<group name="left_hand">
25-
<link name="left_fr3_hand"/>
19+
20+
<!-- Right end effectors -->
21+
<end_effector name="right_hand_tcp" parent_link="right_grasp_link" group="right_gripper" parent_group="right_manipulator"/>
22+
23+
<!-- All left gripper links, excluding arm. -->
24+
<group name="left_gripper">
25+
<link name="left_fr3_hand_tcp"/>
2626
<link name="left_fr3_leftfinger"/>
2727
<link name="left_fr3_rightfinger"/>
28-
<link name="left_fr3_hand_tcp"/>
29-
<!--<link name="left_grasp_link"/>-->
28+
<link name="left_grasp_link"/>
3029
<joint name="left_fr3_finger_joint1"/>
3130
<passive_joint name="left_fr3_finger_joint2"/>
3231
</group>
32+
33+
<!-- All left robot links, including gripper. -->
3334
<group name="left_manipulator">
34-
<chain base_link="left_fr3_link0" tip_link="left_fr3_link8"/>
35+
<chain base_link="left_fr3_link0" tip_link="left_grasp_link"/>
3536
</group>
3637

38+
<!-- Left end effectors -->
39+
<end_effector name="left_hand_tcp" parent_link="left_grasp_link" group="left_gripper" parent_group="left_manipulator"/>
40+
3741
<!-- Group containing both arms -->
3842
<group name="manipulator">
3943
<group name="left_manipulator"/>
4044
<group name="right_manipulator"/>
4145
</group>
4246

43-
<end_effector name="left_hand_tcp" parent_link="left_fr3_link8" group="left_hand" parent_group="left_arm"/>
44-
<end_effector name="right_hand_tcp" parent_link="right_fr3_link8" group="right_hand" parent_group="right_arm"/>
45-
4647
<!-- Arm collisions -->
4748
<virtual_joint name="right_virtual_joint" type="fixed" parent_frame="right_mount" child_link="right_fr3_link0"/>
4849
<virtual_joint name="left_virtual_joint" type="fixed" parent_frame="left_mount" child_link="left_fr3_link0"/>

src/moveit_pro_franka_configs/franka_dual_arm_sim/config/moveit/pose_ik_distance.yaml

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,9 @@
1-
left_arm:
2-
kinematics_solver: pose_ik_plugin/PoseIKPlugin
3-
target_tolerance: 0.001
4-
solve_mode: "optimize_distance"
5-
optimization_timeout: 0.005
61
left_manipulator:
72
kinematics_solver: pose_ik_plugin/PoseIKPlugin
83
target_tolerance: 0.001
94
solve_mode: "optimize_distance"
105
optimization_timeout: 0.005
11-
right_arm:
12-
kinematics_solver: pose_ik_plugin/PoseIKPlugin
13-
target_tolerance: 0.001
14-
solve_mode: "optimize_distance"
15-
optimization_timeout: 0.005
6+
167
right_manipulator:
178
kinematics_solver: pose_ik_plugin/PoseIKPlugin
189
target_tolerance: 0.001
Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,9 @@
1-
right_arm:
1+
left_manipulator:
22
kinematics_solver: pose_ik_plugin/PoseIKPlugin
33
target_tolerance: 0.001
44
solve_mode: "first_found"
5+
56
right_manipulator:
67
kinematics_solver: pose_ik_plugin/PoseIKPlugin
78
target_tolerance: 0.001
89
solve_mode: "first_found"
9-
left_arm:
10-
kinematics_solver: pose_ik_plugin/PoseIKPlugin
11-
target_tolerance: 0.001
12-
solve_mode: "first_found"
13-
left_manipulator:
14-
kinematics_solver: pose_ik_plugin/PoseIKPlugin
15-
target_tolerance: 0.001
16-
solve_mode: "first_found"

src/moveit_pro_franka_configs/franka_dual_arm_sim/description/franka.urdf.xacro

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@
3030
arm_prefix="right"
3131
connected_to= "right_mount">
3232
</xacro:franka_robot>
33+
34+
<!-- This link aligns the axes of the grasp frame to our required convention for motion planning tasks. -->
3335
<link name="right_grasp_link" />
3436
<joint name="right_grasp_link_joint" type="fixed">
35-
<parent link="right_fr3_link8"/>
37+
<parent link="right_fr3_hand_tcp"/>
3638
<child link = "right_grasp_link"/>
3739
<origin xyz="0 0 0" rpy="0 0 -1.5708"/>
3840
</joint>
@@ -42,6 +44,7 @@
4244
<child link = "left_mount"/>
4345
<origin xyz="0.035 0.050681 0.356" rpy="-0.8936 -0.1746 -0.4636"/>
4446
</joint>
47+
4548
<xacro:franka_robot arm_id="fr3"
4649
joint_limits="${xacro.load_yaml('$(find franka_description)/robots/fr3/joint_limits.yaml')}"
4750
inertials="${xacro.load_yaml('$(find franka_description)/robots/fr3/inertials.yaml')}"
@@ -61,10 +64,10 @@
6164
connected_to= "left_mount">
6265
</xacro:franka_robot>
6366

64-
<!-- This link aligns the axes of the grasp frame to our required convention for motion planning tasks. -->
67+
<!-- This link aligns the axes of the grasp frame to our required convention for motion planning tasks. -->
6568
<link name="left_grasp_link" />
6669
<joint name="left_grasp_link_joint" type="fixed">
67-
<parent link="world"/>
70+
<parent link="left_fr3_hand_tcp"/>
6871
<child link = "left_grasp_link"/>
6972
<origin xyz="0 0 0" rpy="0 0 -1.5708"/>
7073
</joint>
@@ -147,6 +150,17 @@
147150
<state_interface name="velocity"/>
148151
<state_interface name="effort"/>
149152
</joint>
153+
<joint name="right_fr3_finger_joint1">
154+
<command_interface name="position">
155+
<param name="min">-0.0</param>
156+
<param name="max">0.04</param>
157+
</command_interface>
158+
<state_interface name="position">
159+
<param name="initial_value">0.035</param>
160+
</state_interface>
161+
<state_interface name="velocity"/>
162+
<state_interface name="effort"/>
163+
</joint>
150164
<joint name="left_fr3_joint1">
151165
<command_interface name="position">
152166
<param name="min">-2.8973</param>
@@ -224,14 +238,25 @@
224238
<state_interface name="velocity"/>
225239
<state_interface name="effort"/>
226240
</joint>
241+
<joint name="left_fr3_finger_joint1">
242+
<command_interface name="position">
243+
<param name="min">-0.0</param>
244+
<param name="max">0.04</param>
245+
</command_interface>
246+
<state_interface name="position">
247+
<param name="initial_value">0.035</param>
248+
</state_interface>
249+
<state_interface name="velocity"/>
250+
<state_interface name="effort"/>
251+
</joint>
227252
<hardware>
228253
<plugin>picknik_mujoco_ros/MujocoSystem</plugin>
229254
<param name="mujoco_model">$(arg mujoco_model)</param>
230255
<param name="mujoco_model_package">franka_dual_arm_sim</param>
231256
<param name="render_publish_rate">10</param>
232257
<param name="tf_publish_rate">60</param>
233-
<param name="mujoco_viewer">false</param>
234258
<param name="mujoco_keyframe">home</param>
259+
<param name="mujoco_viewer">$(arg mujoco_viewer)</param>
235260
</hardware>
236261
</ros2_control>
237262
</robot>

0 commit comments

Comments
 (0)