Skip to content

Commit 46618bc

Browse files
authored
Merge pull request #309 from PickNikRobotics/imarker-group-support
update multi_arm_sim to use UI-provided planning group and tip link
2 parents 3891efd + 1d5f35c commit 46618bc

File tree

4 files changed

+36
-2
lines changed

4 files changed

+36
-2
lines changed

src/hangar_sim/config/control/picknik_ur.ros2_control.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ joint_trajectory_controller:
203203
- platform_velocity_controller/rotational_yaw_joint
204204
state_publish_rate: 100.0
205205
action_monitor_rate: 20.0
206-
allow_partial_joints_goal: false
206+
allow_partial_joints_goal: true
207207
open_loop_control: false # this is closed loop
208208
gains:
209209
shoulder_pan_joint:

src/hangar_sim/objectives/request_teleoperation.xml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
current_teleop_mode="{teleop_mode}"
1919
planning_groups="{planning_groups}"
2020
controllers="{controllers}"
21+
tip_links="{tip_links}"
2122
/>
2223
<Decorator ID="KeepRunningUntilFailure">
2324
<Control ID="Sequence">
@@ -73,11 +74,29 @@
7374
timeout_sec="-1"
7475
pose="{target_pose}"
7576
/>
77+
<Decorator
78+
ID="ForEach"
79+
index="{index}"
80+
out="{planning_group}"
81+
vector_in="{planning_groups}"
82+
>
83+
<Action ID="AlwaysSuccess" />
84+
</Decorator>
85+
<Decorator
86+
ID="ForEach"
87+
index="{index}"
88+
out="{tip_link}"
89+
vector_in="{tip_links}"
90+
>
91+
<Action ID="AlwaysSuccess" />
92+
</Decorator>
7693
<SubTree
7794
ID="Move to Pose"
7895
_collapsed="false"
7996
target_pose="{target_pose}"
8097
link_padding="0.0"
98+
planning_group_name="{planning_group}"
99+
ik_frame="{tip_link}"
81100
controller_names="/joint_trajectory_controller"
82101
/>
83102
<Action

src/lab_sim/test/objectives_integration_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
cancel_objectives = {
4141
"3 Waypoints Pick and Place",
4242
"Cycle Between Waypoints",
43-
"Grasp Object from Text Prompt",
4443
"Grasp Planning",
4544
"Grasp Pose Tuning With April Tag",
4645
"Grasp Pose Using Yaml",
@@ -56,6 +55,7 @@
5655
}
5756

5857
skip_objectives = {
58+
"Grasp Object from Text Prompt", # https://github.com/PickNikRobotics/moveit_pro/issues/13236
5959
"Grasp Planning",
6060
"Joint Diagnostic",
6161
"Fuse Multiple Views",

src/moveit_pro_ur_configs/multi_arm_sim/config/moveit/multi_arm_ur.srdf

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,35 +29,47 @@
2929
</group>
3030
<group name="gripper">
3131
<joint name="first_robotiq_85_left_finger_tip_joint"/>
32+
<joint name="first_robotiq_85_left_finger_joint"/>
3233
<joint name="first_robotiq_85_left_inner_knuckle_joint"/>
3334
<joint name="first_robotiq_85_left_knuckle_joint"/>
3435
<joint name="first_robotiq_85_right_finger_tip_joint"/>
36+
<joint name="first_robotiq_85_right_finger_joint"/>
3537
<joint name="first_robotiq_85_right_inner_knuckle_joint"/>
3638
<joint name="first_robotiq_85_right_knuckle_joint"/>
39+
<link name="first_grasp_link"/>
3740
</group>
3841
<group name="second_gripper">
3942
<joint name="second_robotiq_85_left_finger_tip_joint"/>
43+
<joint name="second_robotiq_85_left_finger_joint"/>
4044
<joint name="second_robotiq_85_left_inner_knuckle_joint"/>
4145
<joint name="second_robotiq_85_left_knuckle_joint"/>
4246
<joint name="second_robotiq_85_right_finger_tip_joint"/>
47+
<joint name="second_robotiq_85_right_finger_joint"/>
4348
<joint name="second_robotiq_85_right_inner_knuckle_joint"/>
4449
<joint name="second_robotiq_85_right_knuckle_joint"/>
50+
<link name="second_grasp_link"/>
4551
</group>
4652
<group name="third_gripper">
4753
<joint name="third_robotiq_85_left_finger_tip_joint"/>
54+
<joint name="third_robotiq_85_left_finger_joint"/>
4855
<joint name="third_robotiq_85_left_inner_knuckle_joint"/>
4956
<joint name="third_robotiq_85_left_knuckle_joint"/>
5057
<joint name="third_robotiq_85_right_finger_tip_joint"/>
58+
<joint name="third_robotiq_85_right_finger_joint"/>
5159
<joint name="third_robotiq_85_right_inner_knuckle_joint"/>
5260
<joint name="third_robotiq_85_right_knuckle_joint"/>
61+
<link name="third_grasp_link"/>
5362
</group>
5463
<group name="fourth_gripper">
5564
<joint name="fourth_robotiq_85_left_finger_tip_joint"/>
65+
<joint name="fourth_robotiq_85_left_finger_joint"/>
5666
<joint name="fourth_robotiq_85_left_inner_knuckle_joint"/>
5767
<joint name="fourth_robotiq_85_left_knuckle_joint"/>
5868
<joint name="fourth_robotiq_85_right_finger_tip_joint"/>
69+
<joint name="fourth_robotiq_85_right_finger_joint"/>
5970
<joint name="fourth_robotiq_85_right_inner_knuckle_joint"/>
6071
<joint name="fourth_robotiq_85_right_knuckle_joint"/>
72+
<link name="fourth_grasp_link"/>
6173
</group>
6274
<!--GROUP STATES: Purpose: Define a named state for a particular group, in terms of joint values. This is useful to define states like 'folded arms'-->
6375
<group_state name="open_right" group="gripper">
@@ -126,6 +138,9 @@
126138
</group_state>
127139
<!--END EFFECTOR: Purpose: Represent information about an end effector.-->
128140
<end_effector name="first_ee" parent_link="first_tool0" group="gripper"/>
141+
<end_effector name="second_ee" parent_link="second_tool0" group="second_gripper"/>
142+
<end_effector name="third_ee" parent_link="third_tool0" group="third_gripper"/>
143+
<end_effector name="fourth_ee" parent_link="fourth_tool0" group="fourth_gripper"/>
129144
<!--VIRTUAL JOINT: Purpose: this element defines a virtual joint between a robot link and an external frame of reference (considered fixed with respect to the robot)-->
130145
<virtual_joint name="first_fixed_base" type="fixed" parent_frame="world" child_link="first_base_link"/>
131146
<virtual_joint name="second_fixed_base" type="fixed" parent_frame="world" child_link="second_base_link"/>

0 commit comments

Comments
 (0)