Remove moveit from main (#44)

- As it is still work in progress, we will keep the experiments in
`moveit2` branch.
This commit is contained in:
Yue Yin 2025-07-23 16:25:21 +09:00 committed by GitHub
parent 110fd278ff
commit 1058044306
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
24 changed files with 0 additions and 2055 deletions

View File

@ -24,7 +24,6 @@
<buildtool_depend>ament_cmake</buildtool_depend> <buildtool_depend>ament_cmake</buildtool_depend>
<exec_depend>openarm_bimanual_moveit_config</exec_depend>
<exec_depend>openarm_bringup</exec_depend> <exec_depend>openarm_bringup</exec_depend>
<exec_depend>openarm_description</exec_depend> <exec_depend>openarm_description</exec_depend>
<exec_depend>openarm_hardware</exec_depend> <exec_depend>openarm_hardware</exec_depend>

View File

@ -1,24 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
moveit_setup_assistant_config:
urdf:
package: openarm_bimanual_description
relative_path: urdf/openarm_bimanual.urdf.xacro
srdf:
relative_path: config/openarm_bimanual.srdf
package_settings:
author_name: Thomason Zhou
author_email: t95zhou@uwaterloo.ca
generated_timestamp: 1745486864

View File

@ -1,30 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
cmake_minimum_required(VERSION 3.22)
project(openarm_bimanual_moveit_config)
find_package(ament_cmake REQUIRED)
ament_package()
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/launch")
install(
DIRECTORY launch
DESTINATION share/${PROJECT_NAME}
PATTERN "setup_assistant.launch" EXCLUDE)
endif()
install(DIRECTORY config DESTINATION share/${PROJECT_NAME})
install(FILES .setup_assistant DESTINATION share/${PROJECT_NAME})

View File

@ -1,202 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -1,19 +0,0 @@
# MoveIt2 on Bimanual Openarms
Ensure the ROS2 packages and dependencies are installed by following the instructions in `openarm_ros2/README.md`.
## Physical Hardware
1. Run `init_can.sh` from `openarm_bringup/utils`.
By default, can0 is the right arm and can1 is the left arm, but this can be adjusted in the ros2_control definition in `openarm_description/urdf/openarm.ros2_control.xacro`.
2. Optionally, start the head-mounted realsense camera. This enables the octomap occupancy grid for planning around obstacles.
```sh
ros2 launch openarm_bimanual_bringup depth_camera.launch.py
```
## Launch the demo
```sh
ros2 launch openarm_bimanual_moveit_config demo.launch.py
```

View File

@ -1,33 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Default initial positions for openarm_bimanual's ros2_control fake system
initial_positions:
left_gripper: 0
left_rev1: 0
left_rev2: 0
left_rev3: 0
left_rev4: 0
left_rev5: 0
left_rev6: 0
left_rev7: 0
right_gripper: 0
right_rev1: 0
right_rev2: 0
right_rev3: 0
right_rev4: 0
right_rev5: 0
right_rev6: 0
right_rev7: 0

View File

@ -1,104 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed
# For beginners, we downscale velocity and acceleration limits.
# You can always specify higher scaling factors (<= 1.0) in your motion requests. # Increase the values below to 1.0 to always move at maximum speed.
default_velocity_scaling_factor: 0.1
default_acceleration_scaling_factor: 0.1
# Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration]
# Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits]
joint_limits:
left_gripper:
has_velocity_limits: true
max_velocity: 0.10000000000000001
has_acceleration_limits: false
max_acceleration: 0
left_rev1:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
left_rev2:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
left_rev3:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
left_rev4:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
left_rev5:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
left_rev6:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
left_rev7:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
right_gripper:
has_velocity_limits: true
max_velocity: 0.10000000000000001
has_acceleration_limits: false
max_acceleration: 0
right_rev1:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
right_rev2:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
right_rev3:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
right_rev4:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
right_rev5:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
right_rev6:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0
right_rev7:
has_velocity_limits: false
max_velocity: 0
has_acceleration_limits: false
max_acceleration: 0

View File

@ -1,34 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
left_arm:
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
kinematics_solver_search_resolution: 0.0050000000000000001
kinematics_solver_timeout: 0.0050000000000000001
left_side:
kinematics_solver: cached_ik_kinematics_plugin/CachedKDLKinematicsPlugin
kinematics_solver_search_resolution: 0.0050000000000000001
kinematics_solver_timeout: 0.0050000000000000001
right_arm:
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
kinematics_solver_search_resolution: 0.0050000000000000001
kinematics_solver_timeout: 0.0050000000000000001
right_side:
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
kinematics_solver_search_resolution: 0.0050000000000000001
kinematics_solver_timeout: 0.0050000000000000001
upper_body:
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
kinematics_solver_search_resolution: 0.0050000000000000001
kinematics_solver_timeout: 0.0050000000000000001

View File

@ -1,562 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
Panels:
- Class: rviz_common/Displays
Help Height: 70
Name: Displays
Property Tree Widget:
Expanded:
- /MotionPlanning1
- /MotionPlanning1/Planning Request1
Splitter Ratio: 0.5
Tree Height: 160
- Class: rviz_common/Help
Name: Help
- Class: rviz_common/Views
Expanded:
- /Current View1
Name: Views
Splitter Ratio: 0.5
Visualization Manager:
Class: ""
Displays:
- Alpha: 0.5
Cell Size: 1
Class: rviz_default_plugins/Grid
Color: 160; 160; 164
Enabled: true
Line Style:
Line Width: 0.029999999329447746
Value: Lines
Name: Grid
Normal Cell Count: 0
Offset:
X: 0
Y: 0
Z: 0
Plane: XY
Plane Cell Count: 10
Reference Frame: <Fixed Frame>
Value: true
- Acceleration_Scaling_Factor: 0.1
Class: moveit_rviz_plugin/MotionPlanning
Enabled: true
Move Group Namespace: ""
MoveIt_Allow_Approximate_IK: false
MoveIt_Allow_External_Program: false
MoveIt_Allow_Replanning: false
MoveIt_Allow_Sensor_Positioning: false
MoveIt_Planning_Attempts: 10
MoveIt_Planning_Time: 5
MoveIt_Use_Cartesian_Path: false
MoveIt_Use_Constraint_Aware_IK: false
MoveIt_Workspace:
Center:
X: 0
Y: 0
Z: 0
Size:
X: 2
Y: 2
Z: 2
Name: MotionPlanning
Planned Path:
Color Enabled: false
Interrupt Display: false
Links:
All Links Enabled: true
Expand Joint Details: false
Expand Link Details: false
Expand Tree: false
Link Tree Style: Links in Alphabetic Order
base_link:
Alpha: 1
Show Axes: false
Show Trail: false
camera_accel_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_accel_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_bottom_screw_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_color_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_color_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_depth_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_depth_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_gyro_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_gyro_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_infra1_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_infra1_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_infra2_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_infra2_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_dummy_link:
Alpha: 1
Show Axes: false
Show Trail: false
left_gripper_center:
Alpha: 1
Show Axes: false
Show Trail: false
left_link1:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link2:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link3:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link4:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link5:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link6:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link7:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link8:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link_left_jaw:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link_right_jaw:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
pedestal_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_dummy_link:
Alpha: 1
Show Axes: false
Show Trail: false
right_gripper_center:
Alpha: 1
Show Axes: false
Show Trail: false
right_link1:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link2:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link3:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link4:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link5:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link6:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link7:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link8:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link_left_jaw:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link_right_jaw:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
world:
Alpha: 1
Show Axes: false
Show Trail: false
Loop Animation: true
Robot Alpha: 0.5
Robot Color: 150; 50; 150
Show Robot Collision: false
Show Robot Visual: true
Show Trail: false
State Display Time: 0.05 s
Trail Step Size: 1
Trajectory Topic: display_planned_path
Use Sim Time: false
Planning Metrics:
Payload: 1
Show Joint Torques: false
Show Manipulability: false
Show Manipulability Index: false
Show Weight Limit: false
TextHeight: 0.07999999821186066
Planning Request:
Colliding Link Color: 255; 0; 0
Goal State Alpha: 1
Goal State Color: 250; 128; 0
Interactive Marker Size: 0.15000000596046448
Joint Violation Color: 255; 0; 255
Planning Group: upper_body
Query Goal State: true
Query Start State: false
Show Workspace: false
Start State Alpha: 1
Start State Color: 0; 255; 0
Planning Scene Topic: monitored_planning_scene
Robot Description: robot_description
Scene Geometry:
Scene Alpha: 1
Scene Color: 50; 230; 50
Scene Display Time: 0.009999999776482582
Show Scene Geometry: true
Voxel Coloring: Z-Axis
Voxel Rendering: Occupied Voxels
Scene Robot:
Attached Body Color: 150; 50; 150
Links:
All Links Enabled: true
Expand Joint Details: false
Expand Link Details: false
Expand Tree: false
Link Tree Style: Links in Alphabetic Order
base_link:
Alpha: 1
Show Axes: false
Show Trail: false
camera_accel_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_accel_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_bottom_screw_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_color_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_color_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_depth_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_depth_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_gyro_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_gyro_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_infra1_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_infra1_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_infra2_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_infra2_optical_frame:
Alpha: 1
Show Axes: false
Show Trail: false
camera_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_dummy_link:
Alpha: 1
Show Axes: false
Show Trail: false
left_gripper_center:
Alpha: 1
Show Axes: false
Show Trail: false
left_link1:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link2:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link3:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link4:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link5:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link6:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link7:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link8:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link_left_jaw:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_link_right_jaw:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
pedestal_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_dummy_link:
Alpha: 1
Show Axes: false
Show Trail: false
right_gripper_center:
Alpha: 1
Show Axes: false
Show Trail: false
right_link1:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link2:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link3:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link4:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link5:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link6:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link7:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link8:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link_left_jaw:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_link_right_jaw:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
world:
Alpha: 1
Show Axes: false
Show Trail: false
Robot Alpha: 0.5
Show Robot Collision: false
Show Robot Visual: true
Value: true
Velocity_Scaling_Factor: 0.1
Enabled: true
Global Options:
Background Color: 48; 48; 48
Fixed Frame: world
Frame Rate: 30
Name: root
Tools:
- Class: rviz_default_plugins/Interact
Hide Inactive Objects: true
- Class: rviz_default_plugins/MoveCamera
- Class: rviz_default_plugins/Select
Transformation:
Current:
Class: rviz_default_plugins/TF
Value: true
Views:
Current:
Class: rviz_default_plugins/Orbit
Distance: 3.150280475616455
Enable Stereo Rendering:
Stereo Eye Separation: 0.05999999865889549
Stereo Focal Distance: 1
Swap Stereo Eyes: false
Value: false
Focal Point:
X: -0.10000000149011612
Y: 0.25
Z: 0.30000001192092896
Focal Shape Fixed Size: true
Focal Shape Size: 0.05000000074505806
Invert Z Axis: false
Name: Current View
Near Clip Distance: 0.009999999776482582
Pitch: 0.5
Target Frame: world
Value: Orbit (rviz_default_plugins)
Yaw: -0.6230000257492065
Saved: ~
Window Geometry:
Displays:
collapsed: false
Height: 975
Help:
collapsed: false
Hide Left Dock: false
Hide Right Dock: false
MotionPlanning:
collapsed: false
MotionPlanning - Trajectory Slider:
collapsed: false
QMainWindow State: 000000ff00000000fd0000000100000000000002b400000375fc0200000005fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720000000000ffffffff0000004100fffffffb000000100044006900730070006c006100790073010000003d00000123000000c900fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e00670100000166000001910000017d00fffffffb0000000800480065006c0070000000029a0000006e0000006e00fffffffb0000000a0056006900650077007301000002fd000000b5000000a400ffffff000001f60000037500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Views:
collapsed: false
Width: 1200
X: 120
Y: 27

View File

@ -1,61 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# MoveIt uses this configuration for controller management
moveit_controller_manager: moveit_simple_controller_manager/MoveItSimpleControllerManager
moveit_simple_controller_manager:
controller_names:
- left_arm_controller
- right_arm_controller
- left_gripper_controller
- right_gripper_controller
left_arm_controller:
type: FollowJointTrajectory
joints:
- left_rev1
- left_rev2
- left_rev3
- left_rev4
- left_rev5
- left_rev6
- left_rev7
action_ns: follow_joint_trajectory
default: true
right_arm_controller:
type: FollowJointTrajectory
joints:
- right_rev1
- right_rev2
- right_rev3
- right_rev4
- right_rev5
- right_rev6
- right_rev7
action_ns: follow_joint_trajectory
default: true
left_gripper_controller:
type: GripperCommand
joints:
- left_gripper
action_ns: gripper_cmd
default: true
right_gripper_controller:
type: GripperCommand
joints:
- right_gripper
action_ns: gripper_cmd
default: true

View File

@ -1,456 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright 2025 Reazon Holdings, Inc.
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at
  http://www.apache.org/licenses/LICENSE-2.0
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->
<!--This does not replace URDF, and is not an extension of URDF.
This is a format for representing semantic information about the robot structure.
A URDF file must exist for this robot as well, where the joints and the links that are referenced are defined
-->
<robot name="openarm_bimanual">
<!--GROUPS: Representation of a set of joints and links. This can be useful for specifying DOF to plan for, defining arms, end effectors, etc-->
<!--LINKS: When a link is specified, the parent joint of that link (if it exists) is automatically included-->
<!--JOINTS: When a joint is specified, the child link of that joint (which will always exist) is automatically included-->
<!--CHAINS: When a chain is specified, all the links along the chain (including endpoints) are included in the group. Additionally, all the joints that are parents to included links are also included. This means that joints along the chain and the parent joint of the base link are included in the group-->
<!--SUBGROUPS: Groups can also be formed by referencing to already defined group names-->
<group name="left_arm">
<link name="left_link1"/>
<link name="left_link2"/>
<link name="left_link3"/>
<link name="left_link4"/>
<link name="left_link5"/>
<link name="left_link6"/>
<link name="left_link7"/>
<link name="left_link8"/>
<link name="left_gripper_center"/>
<joint name="left_rev1"/>
<joint name="left_rev2"/>
<joint name="left_rev3"/>
<joint name="left_rev4"/>
<joint name="left_rev5"/>
<joint name="left_rev6"/>
<joint name="left_rev7"/>
<joint name="left_virtual_gripper_center"/>
<chain base_link="left_link1" tip_link="left_link8"/>
</group>
<group name="right_arm">
<link name="right_link1"/>
<link name="right_link2"/>
<link name="right_link3"/>
<link name="right_link4"/>
<link name="right_link5"/>
<link name="right_link6"/>
<link name="right_link7"/>
<link name="right_link8"/>
<link name="right_gripper_center"/>
<joint name="right_rev1"/>
<joint name="right_rev2"/>
<joint name="right_rev3"/>
<joint name="right_rev4"/>
<joint name="right_rev5"/>
<joint name="right_rev6"/>
<joint name="right_rev7"/>
<joint name="right_virtual_gripper_center"/>
<chain base_link="right_link1" tip_link="right_link8"/>
</group>
<group name="left_gripper">
<link name="left_link_left_jaw"/>
<joint name="left_gripper"/>
</group>
<group name="right_gripper">
<link name="right_link_left_jaw"/>
<joint name="right_gripper"/>
</group>
<group name="left_side">
<group name="left_arm"/>
<group name="left_gripper"/>
</group>
<group name="right_side">
<group name="right_gripper"/>
<group name="right_arm"/>
</group>
<group name="upper_body">
<group name="left_side"/>
<group name="right_side"/>
</group>
<!--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'-->
<group_state name="home" group="upper_body">
<joint name="left_gripper" value="0"/>
<joint name="left_rev1" value="0"/>
<joint name="left_rev2" value="0"/>
<joint name="left_rev3" value="0"/>
<joint name="left_rev4" value="0"/>
<joint name="left_rev5" value="0"/>
<joint name="left_rev6" value="0"/>
<joint name="left_rev7" value="0"/>
<joint name="right_gripper" value="0"/>
<joint name="right_rev1" value="0"/>
<joint name="right_rev2" value="0"/>
<joint name="right_rev3" value="0"/>
<joint name="right_rev4" value="0"/>
<joint name="right_rev5" value="0"/>
<joint name="right_rev6" value="0"/>
<joint name="right_rev7" value="0"/>
</group_state>
<group_state name="ready" group="upper_body">
<joint name="left_gripper" value="0"/>
<joint name="left_rev1" value="0.2"/>
<joint name="left_rev2" value="0"/>
<joint name="left_rev3" value="0"/>
<joint name="left_rev4" value="1"/>
<joint name="left_rev5" value="0"/>
<joint name="left_rev6" value="0"/>
<joint name="left_rev7" value="0"/>
<joint name="right_gripper" value="0"/>
<joint name="right_rev1" value="-0.2"/>
<joint name="right_rev2" value="0"/>
<joint name="right_rev3" value="0"/>
<joint name="right_rev4" value="1"/>
<joint name="right_rev5" value="0"/>
<joint name="right_rev6" value="0"/>
<joint name="right_rev7" value="0"/>
</group_state>
<group_state name="open" group="left_gripper">
<joint name="left_gripper" value="0"/>
</group_state>
<group_state name="half_closed" group="left_gripper">
<joint name="left_gripper" value="-0.0225"/>
</group_state>
<group_state name="closed" group="left_gripper">
<joint name="left_gripper" value="-0.0451"/>
</group_state>
<group_state name="open" group="right_gripper">
<joint name="right_gripper" value="0"/>
</group_state>
<group_state name="half_closed" group="right_gripper">
<joint name="right_gripper" value="-0.0225"/>
</group_state>
<group_state name="center grip" group="upper_body">
<joint name="left_gripper" value="0"/>
<joint name="left_rev1" value="0.2"/>
<joint name="left_rev2" value="0"/>
<joint name="left_rev3" value="0.3384"/>
<joint name="left_rev4" value="1.3519"/>
<joint name="left_rev5" value="0"/>
<joint name="left_rev6" value="0"/>
<joint name="left_rev7" value="0"/>
<joint name="right_gripper" value="0"/>
<joint name="right_rev1" value="-0.2"/>
<joint name="right_rev2" value="0"/>
<joint name="right_rev3" value="-0.5"/>
<joint name="right_rev4" value="1.8379"/>
<joint name="right_rev5" value="0.0116"/>
<joint name="right_rev6" value="-0.2517"/>
<joint name="right_rev7" value="0.0053"/>
</group_state>
<group_state name="hands_up" group="upper_body">
<joint name="left_gripper" value="0"/>
<joint name="left_rev1" value="0.1"/>
<joint name="left_rev2" value="0"/>
<joint name="left_rev3" value="0"/>
<joint name="left_rev4" value="2.5"/>
<joint name="left_rev5" value="0"/>
<joint name="left_rev6" value="0"/>
<joint name="left_rev7" value="0"/>
<joint name="right_gripper" value="0"/>
<joint name="right_rev1" value="-0.1"/>
<joint name="right_rev2" value="0"/>
<joint name="right_rev3" value="0"/>
<joint name="right_rev4" value="2.5"/>
<joint name="right_rev5" value="0"/>
<joint name="right_rev6" value="0"/>
<joint name="right_rev7" value="0"/>
</group_state>
<group_state name="wave_1" group="upper_body">
<joint name="left_gripper" value="0"/>
<joint name="left_rev1" value="0.1"/>
<joint name="left_rev2" value="0"/>
<joint name="left_rev3" value="-0.5179"/>
<joint name="left_rev4" value="2.4627"/>
<joint name="left_rev5" value="-0.0116"/>
<joint name="left_rev6" value="-0.5814"/>
<joint name="left_rev7" value="0"/>
<joint name="right_gripper" value="0"/>
<joint name="right_rev1" value="-0.1"/>
<joint name="right_rev2" value="0"/>
<joint name="right_rev3" value="0"/>
<joint name="right_rev4" value="0"/>
<joint name="right_rev5" value="0"/>
<joint name="right_rev6" value="0"/>
<joint name="right_rev7" value="0"/>
</group_state>
<group_state name="wave_2" group="upper_body">
<joint name="left_gripper" value="0"/>
<joint name="left_rev1" value="0.1"/>
<joint name="left_rev2" value="0"/>
<joint name="left_rev3" value="0.4541"/>
<joint name="left_rev4" value="2.4627"/>
<joint name="left_rev5" value="-0.0116"/>
<joint name="left_rev6" value="-0.5814"/>
<joint name="left_rev7" value="0"/>
<joint name="right_gripper" value="0"/>
<joint name="right_rev1" value="-0.1"/>
<joint name="right_rev2" value="0"/>
<joint name="right_rev3" value="0"/>
<joint name="right_rev4" value="0"/>
<joint name="right_rev5" value="0"/>
<joint name="right_rev6" value="0"/>
<joint name="right_rev7" value="0"/>
</group_state>
<group_state name="x" group="upper_body">
<joint name="left_gripper" value="0"/>
<joint name="left_rev1" value="-0.2965"/>
<joint name="left_rev2" value="-0.1745"/>
<joint name="left_rev3" value="0.4513"/>
<joint name="left_rev4" value="1.9092"/>
<joint name="left_rev5" value="0.5207"/>
<joint name="left_rev6" value="-0.3384"/>
<joint name="left_rev7" value="-0.0795"/>
<joint name="right_gripper" value="0"/>
<joint name="right_rev1" value="0.4715"/>
<joint name="right_rev2" value="-0.1224"/>
<joint name="right_rev3" value="-1.0298"/>
<joint name="right_rev4" value="2.0827"/>
<joint name="right_rev5" value="-0.4513"/>
<joint name="right_rev6" value="0"/>
<joint name="right_rev7" value="0"/>
</group_state>
<group_state name="swing_arm_left_forward" group="upper_body">
<joint name="left_gripper" value="0"/>
<joint name="left_rev1" value="-0.6147"/>
<joint name="left_rev2" value="-0.0356"/>
<joint name="left_rev3" value="0.081"/>
<joint name="left_rev4" value="0"/>
<joint name="left_rev5" value="0.5207"/>
<joint name="left_rev6" value="-0.3384"/>
<joint name="left_rev7" value="-0.0795"/>
<joint name="right_gripper" value="0"/>
<joint name="right_rev1" value="-0.3876"/>
<joint name="right_rev2" value="0.0858"/>
<joint name="right_rev3" value="-0.567"/>
<joint name="right_rev4" value="0"/>
<joint name="right_rev5" value="-0.4513"/>
<joint name="right_rev6" value="0"/>
<joint name="right_rev7" value="0"/>
</group_state>
<group_state name="swing_arm_right_forward" group="upper_body">
<joint name="left_gripper" value="0"/>
<joint name="left_rev1" value="0.2762"/>
<joint name="left_rev2" value="0.1553"/>
<joint name="left_rev3" value="0.081"/>
<joint name="left_rev4" value="0"/>
<joint name="left_rev5" value="-0.4281"/>
<joint name="left_rev6" value="-0.3384"/>
<joint name="left_rev7" value="-0.0795"/>
<joint name="right_gripper" value="0"/>
<joint name="right_rev1" value="0.4556"/>
<joint name="right_rev2" value="-0.0009"/>
<joint name="right_rev3" value="-0.567"/>
<joint name="right_rev4" value="0.0723"/>
<joint name="right_rev5" value="0.243"/>
<joint name="right_rev6" value="0"/>
<joint name="right_rev7" value="0"/>
</group_state>
<group_state name="siu" group="upper_body">
<joint name="left_gripper" value="0"/>
<joint name="left_rev1" value="0.4512"/>
<joint name="left_rev2" value="0.2421"/>
<joint name="left_rev3" value="0.081"/>
<joint name="left_rev4" value="0"/>
<joint name="left_rev5" value="-0.4281"/>
<joint name="left_rev6" value="-0.3384"/>
<joint name="left_rev7" value="-0.1326"/>
<joint name="right_gripper" value="0"/>
<joint name="right_rev1" value="-0.4035"/>
<joint name="right_rev2" value="0.19"/>
<joint name="right_rev3" value="-0.567"/>
<joint name="right_rev4" value="0.0723"/>
<joint name="right_rev5" value="0.243"/>
<joint name="right_rev6" value="0"/>
<joint name="right_rev7" value="0"/>
</group_state>
<!--END EFFECTOR: Purpose: Represent information about an end effector.-->
<end_effector name="left_gripper" parent_link="left_link8" group="left_gripper" parent_group="left_side"/>
<end_effector name="right_gripper" parent_link="right_link8" group="right_gripper" parent_group="right_side"/>
<!--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)-->
<virtual_joint name="virtual_joint" type="fixed" parent_frame="base_link" child_link="pedestal_link"/>
<!--PASSIVE JOINT: Purpose: this element is used to mark joints that are not actuated-->
<passive_joint name="left_gripper_mimic"/>
<passive_joint name="right_gripper_mimic"/>
<!--DISABLE COLLISIONS: By default it is assumed that any link of the robot could potentially come into collision with any other link in the robot. This tag disables collision checking between a specified pair of links. -->
<disable_collisions link1="camera_link" link2="pedestal_link" reason="Adjacent"/>
<disable_collisions link1="left_link1" link2="left_link2" reason="Adjacent"/>
<disable_collisions link1="left_link1" link2="left_link3" reason="User"/>
<disable_collisions link1="left_link1" link2="left_link4" reason="User"/>
<disable_collisions link1="left_link1" link2="left_link5" reason="Never"/>
<disable_collisions link1="left_link1" link2="pedestal_link" reason="Adjacent"/>
<disable_collisions link1="left_link1" link2="right_link1" reason="Never"/>
<disable_collisions link1="left_link1" link2="right_link2" reason="Never"/>
<disable_collisions link1="left_link1" link2="right_link3" reason="Never"/>
<disable_collisions link1="left_link1" link2="right_link4" reason="Never"/>
<disable_collisions link1="left_link1" link2="right_link5" reason="Never"/>
<disable_collisions link1="left_link1" link2="right_link6" reason="Never"/>
<disable_collisions link1="left_link1" link2="right_link7" reason="Never"/>
<disable_collisions link1="left_link1" link2="right_link8" reason="Never"/>
<disable_collisions link1="left_link1" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link2" link2="left_link3" reason="Adjacent"/>
<disable_collisions link1="left_link2" link2="left_link4" reason="Never"/>
<disable_collisions link1="left_link2" link2="left_link5" reason="Never"/>
<disable_collisions link1="left_link2" link2="left_link6" reason="Never"/>
<disable_collisions link1="left_link2" link2="left_link7" reason="Never"/>
<disable_collisions link1="left_link2" link2="pedestal_link" reason="Never"/>
<disable_collisions link1="left_link2" link2="right_link1" reason="Never"/>
<disable_collisions link1="left_link2" link2="right_link2" reason="Never"/>
<disable_collisions link1="left_link2" link2="right_link3" reason="Never"/>
<disable_collisions link1="left_link2" link2="right_link4" reason="Never"/>
<disable_collisions link1="left_link2" link2="right_link5" reason="Never"/>
<disable_collisions link1="left_link2" link2="right_link6" reason="Never"/>
<disable_collisions link1="left_link2" link2="right_link7" reason="Never"/>
<disable_collisions link1="left_link2" link2="right_link8" reason="Never"/>
<disable_collisions link1="left_link2" link2="right_link_left_jaw" reason="Never"/>
<disable_collisions link1="left_link2" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link3" link2="left_link4" reason="Adjacent"/>
<disable_collisions link1="left_link3" link2="left_link5" reason="Never"/>
<disable_collisions link1="left_link3" link2="pedestal_link" reason="Never"/>
<disable_collisions link1="left_link3" link2="right_link1" reason="Never"/>
<disable_collisions link1="left_link3" link2="right_link2" reason="Never"/>
<disable_collisions link1="left_link3" link2="right_link3" reason="Never"/>
<disable_collisions link1="left_link3" link2="right_link4" reason="Never"/>
<disable_collisions link1="left_link3" link2="right_link5" reason="Never"/>
<disable_collisions link1="left_link3" link2="right_link6" reason="Never"/>
<disable_collisions link1="left_link3" link2="right_link7" reason="Never"/>
<disable_collisions link1="left_link3" link2="right_link8" reason="Never"/>
<disable_collisions link1="left_link3" link2="right_link_left_jaw" reason="Never"/>
<disable_collisions link1="left_link3" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link4" link2="left_link5" reason="Adjacent"/>
<disable_collisions link1="left_link4" link2="left_link7" reason="Never"/>
<disable_collisions link1="left_link4" link2="left_link_left_jaw" reason="Never"/>
<disable_collisions link1="left_link4" link2="left_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link4" link2="pedestal_link" reason="Never"/>
<disable_collisions link1="left_link4" link2="right_link1" reason="Never"/>
<disable_collisions link1="left_link4" link2="right_link2" reason="Never"/>
<disable_collisions link1="left_link4" link2="right_link3" reason="Never"/>
<disable_collisions link1="left_link4" link2="right_link4" reason="Never"/>
<disable_collisions link1="left_link4" link2="right_link5" reason="Never"/>
<disable_collisions link1="left_link4" link2="right_link6" reason="Never"/>
<disable_collisions link1="left_link4" link2="right_link7" reason="Never"/>
<disable_collisions link1="left_link4" link2="right_link8" reason="Never"/>
<disable_collisions link1="left_link4" link2="right_link_left_jaw" reason="Never"/>
<disable_collisions link1="left_link4" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link5" link2="left_link6" reason="Adjacent"/>
<disable_collisions link1="left_link5" link2="left_link7" reason="Never"/>
<disable_collisions link1="left_link5" link2="left_link8" reason="Never"/>
<disable_collisions link1="left_link5" link2="left_link_left_jaw" reason="Never"/>
<disable_collisions link1="left_link5" link2="left_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link5" link2="pedestal_link" reason="Never"/>
<disable_collisions link1="left_link5" link2="right_link1" reason="Never"/>
<disable_collisions link1="left_link5" link2="right_link2" reason="Never"/>
<disable_collisions link1="left_link5" link2="right_link3" reason="Never"/>
<disable_collisions link1="left_link5" link2="right_link4" reason="Never"/>
<disable_collisions link1="left_link5" link2="right_link5" reason="Never"/>
<disable_collisions link1="left_link5" link2="right_link6" reason="Never"/>
<disable_collisions link1="left_link5" link2="right_link7" reason="Never"/>
<disable_collisions link1="left_link5" link2="right_link8" reason="Never"/>
<disable_collisions link1="left_link5" link2="right_link_left_jaw" reason="Never"/>
<disable_collisions link1="left_link5" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link6" link2="left_link7" reason="Adjacent"/>
<disable_collisions link1="left_link6" link2="left_link8" reason="Default"/>
<disable_collisions link1="left_link6" link2="left_link_left_jaw" reason="Never"/>
<disable_collisions link1="left_link6" link2="left_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link6" link2="right_link1" reason="Never"/>
<disable_collisions link1="left_link6" link2="right_link2" reason="Never"/>
<disable_collisions link1="left_link6" link2="right_link3" reason="Never"/>
<disable_collisions link1="left_link6" link2="right_link4" reason="Never"/>
<disable_collisions link1="left_link6" link2="right_link5" reason="Never"/>
<disable_collisions link1="left_link6" link2="right_link6" reason="Never"/>
<disable_collisions link1="left_link6" link2="right_link7" reason="Never"/>
<disable_collisions link1="left_link6" link2="right_link_left_jaw" reason="Never"/>
<disable_collisions link1="left_link6" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link7" link2="left_link8" reason="Adjacent"/>
<disable_collisions link1="left_link7" link2="left_link_left_jaw" reason="Never"/>
<disable_collisions link1="left_link7" link2="left_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link7" link2="right_link1" reason="Never"/>
<disable_collisions link1="left_link7" link2="right_link2" reason="Never"/>
<disable_collisions link1="left_link7" link2="right_link3" reason="Never"/>
<disable_collisions link1="left_link7" link2="right_link4" reason="Never"/>
<disable_collisions link1="left_link7" link2="right_link5" reason="Never"/>
<disable_collisions link1="left_link7" link2="right_link6" reason="Never"/>
<disable_collisions link1="left_link7" link2="right_link7" reason="Never"/>
<disable_collisions link1="left_link7" link2="right_link_left_jaw" reason="Never"/>
<disable_collisions link1="left_link7" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link8" link2="left_link_left_jaw" reason="Adjacent"/>
<disable_collisions link1="left_link8" link2="left_link_right_jaw" reason="Adjacent"/>
<disable_collisions link1="left_link8" link2="right_link1" reason="Never"/>
<disable_collisions link1="left_link8" link2="right_link2" reason="Never"/>
<disable_collisions link1="left_link8" link2="right_link3" reason="Never"/>
<disable_collisions link1="left_link8" link2="right_link4" reason="Never"/>
<disable_collisions link1="left_link8" link2="right_link5" reason="Never"/>
<disable_collisions link1="left_link8" link2="right_link_left_jaw" reason="Never"/>
<disable_collisions link1="left_link8" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link_left_jaw" link2="left_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link_left_jaw" link2="right_link1" reason="Never"/>
<disable_collisions link1="left_link_left_jaw" link2="right_link2" reason="Never"/>
<disable_collisions link1="left_link_left_jaw" link2="right_link3" reason="Never"/>
<disable_collisions link1="left_link_left_jaw" link2="right_link4" reason="Never"/>
<disable_collisions link1="left_link_left_jaw" link2="right_link5" reason="Never"/>
<disable_collisions link1="left_link_left_jaw" link2="right_link6" reason="Never"/>
<disable_collisions link1="left_link_left_jaw" link2="right_link7" reason="Never"/>
<disable_collisions link1="left_link_left_jaw" link2="right_link8" reason="Never"/>
<disable_collisions link1="left_link_left_jaw" link2="right_link_left_jaw" reason="Never"/>
<disable_collisions link1="left_link_left_jaw" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="left_link_right_jaw" link2="right_link1" reason="Never"/>
<disable_collisions link1="left_link_right_jaw" link2="right_link2" reason="Never"/>
<disable_collisions link1="left_link_right_jaw" link2="right_link3" reason="Never"/>
<disable_collisions link1="left_link_right_jaw" link2="right_link4" reason="Never"/>
<disable_collisions link1="left_link_right_jaw" link2="right_link5" reason="Never"/>
<disable_collisions link1="left_link_right_jaw" link2="right_link6" reason="Never"/>
<disable_collisions link1="left_link_right_jaw" link2="right_link7" reason="Never"/>
<disable_collisions link1="left_link_right_jaw" link2="right_link_left_jaw" reason="Never"/>
<disable_collisions link1="left_link_right_jaw" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="pedestal_link" link2="right_link1" reason="Adjacent"/>
<disable_collisions link1="pedestal_link" link2="right_link2" reason="Never"/>
<disable_collisions link1="pedestal_link" link2="right_link3" reason="Never"/>
<disable_collisions link1="pedestal_link" link2="right_link4" reason="Never"/>
<disable_collisions link1="pedestal_link" link2="right_link5" reason="Never"/>
<disable_collisions link1="right_link1" link2="right_link2" reason="Adjacent"/>
<disable_collisions link1="right_link1" link2="right_link3" reason="User"/>
<disable_collisions link1="right_link1" link2="right_link4" reason="User"/>
<disable_collisions link1="right_link1" link2="right_link5" reason="Never"/>
<disable_collisions link1="right_link2" link2="right_link3" reason="Adjacent"/>
<disable_collisions link1="right_link2" link2="right_link4" reason="Never"/>
<disable_collisions link1="right_link2" link2="right_link5" reason="Never"/>
<disable_collisions link1="right_link2" link2="right_link6" reason="Never"/>
<disable_collisions link1="right_link2" link2="right_link7" reason="Never"/>
<disable_collisions link1="right_link3" link2="right_link4" reason="Adjacent"/>
<disable_collisions link1="right_link3" link2="right_link5" reason="Never"/>
<disable_collisions link1="right_link4" link2="right_link5" reason="Adjacent"/>
<disable_collisions link1="right_link4" link2="right_link7" reason="Never"/>
<disable_collisions link1="right_link4" link2="right_link_left_jaw" reason="Never"/>
<disable_collisions link1="right_link4" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="right_link5" link2="right_link6" reason="Adjacent"/>
<disable_collisions link1="right_link5" link2="right_link7" reason="Never"/>
<disable_collisions link1="right_link5" link2="right_link8" reason="Never"/>
<disable_collisions link1="right_link5" link2="right_link_left_jaw" reason="Never"/>
<disable_collisions link1="right_link5" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="right_link6" link2="right_link7" reason="Adjacent"/>
<disable_collisions link1="right_link6" link2="right_link8" reason="Default"/>
<disable_collisions link1="right_link6" link2="right_link_left_jaw" reason="Never"/>
<disable_collisions link1="right_link6" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="right_link7" link2="right_link8" reason="Adjacent"/>
<disable_collisions link1="right_link7" link2="right_link_left_jaw" reason="Never"/>
<disable_collisions link1="right_link7" link2="right_link_right_jaw" reason="Never"/>
<disable_collisions link1="right_link8" link2="right_link_left_jaw" reason="Adjacent"/>
<disable_collisions link1="right_link8" link2="right_link_right_jaw" reason="Adjacent"/>
<disable_collisions link1="right_link_left_jaw" link2="right_link_right_jaw" reason="Never"/>
</robot>

View File

@ -1,31 +0,0 @@
<?xml version="1.0"?>
<!--
 Copyright 2025 Reazon Holdings, Inc.
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at
  http://www.apache.org/licenses/LICENSE-2.0
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="openarm_bimanual">
<xacro:arg name="initial_positions_file" default="initial_positions.yaml" />
<xacro:arg name="hardware_type" default="real" />
<!-- Import openarm_bimanual urdf file -->
<xacro:include filename="$(find openarm_bimanual_description)/urdf/openarm_bimanual.urdf.xacro" />
<link name="base_link"/>
<joint name="world_to_pedestal" type="fixed">
<parent link="world"/>
<child link="base_link"/>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
</joint>
</robot>

View File

@ -1,20 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Limits for the Pilz planner
cartesian_limits:
max_trans_vel: 1.0
max_trans_acc: 2.25
max_trans_dec: -5.0
max_rot_vel: 1.57

View File

@ -1,147 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This config file is used by ros2_control
controller_manager:
ros__parameters:
update_rate: 100 # Hz
left_arm_controller:
type: joint_trajectory_controller/JointTrajectoryController
right_arm_controller:
type: joint_trajectory_controller/JointTrajectoryController
left_gripper_controller:
type: position_controllers/GripperActionController
right_gripper_controller:
type: position_controllers/GripperActionController
left_side_controller:
type: joint_trajectory_controller/JointTrajectoryController
right_side_controller:
type: joint_trajectory_controller/JointTrajectoryController
upper_body_controller:
type: joint_trajectory_controller/JointTrajectoryController
joint_state_broadcaster:
type: joint_state_broadcaster/JointStateBroadcaster
left_arm_controller:
ros__parameters:
joints:
- left_rev1
- left_rev2
- left_rev3
- left_rev4
- left_rev5
- left_rev6
- left_rev7
command_interfaces:
- position
- velocity
state_interfaces:
- position
- velocity
right_arm_controller:
ros__parameters:
joints:
- right_rev1
- right_rev2
- right_rev3
- right_rev4
- right_rev5
- right_rev6
- right_rev7
command_interfaces:
- position
- velocity
state_interfaces:
- position
- velocity
left_gripper_controller:
ros__parameters:
joint: left_gripper
right_gripper_controller:
ros__parameters:
joint: right_gripper
left_side_controller:
ros__parameters:
joints:
- left_rev1
- left_rev2
- left_rev3
- left_rev4
- left_rev5
- left_rev6
- left_rev7
- left_gripper
command_interfaces:
- position
- velocity
state_interfaces:
- position
- velocity
right_side_controller:
ros__parameters:
joints:
- right_rev1
- right_rev2
- right_rev3
- right_rev4
- right_rev5
- right_rev6
- right_rev7
- right_gripper
command_interfaces:
- position
- velocity
state_interfaces:
- position
- velocity
upper_body_controller:
ros__parameters:
joints:
- left_rev1
- left_rev2
- left_rev3
- left_rev4
- left_rev5
- left_rev6
- left_rev7
- left_gripper
- right_rev1
- right_rev2
- right_rev3
- right_rev4
- right_rev5
- right_rev6
- right_rev7
- right_gripper
command_interfaces:
- position
- velocity
state_interfaces:
- position
- velocity

View File

@ -1,37 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
sensors:
- default_sensor
- kinect_depthimage
default_sensor:
filtered_cloud_topic: filtered_cloud
max_range: 5.0
max_update_rate: 1.0
padding_offset: 0.1
padding_scale: 1.0
point_cloud_topic: /camera/camera/depth/color/points
point_subsample: 1
sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater
kinect_depthimage:
far_clipping_plane_distance: 5.0
filtered_cloud_topic: filtered_cloud
image_topic: /head_mount_kinect/depth_registered/image_raw
max_update_rate: 1.0
near_clipping_plane_distance: 0.3
padding_offset: 0.03
padding_scale: 4.0
queue_size: 5
sensor_plugin: occupancy_map_monitor/DepthImageOctomapUpdater
shadow_threshold: 0.2

View File

@ -1,66 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from moveit_configs_utils import MoveItConfigsBuilder
from moveit_configs_utils.launches import generate_demo_launch
from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration, Command, PathJoinSubstitution, FindExecutable
from launch_ros.substitutions import FindPackageShare
def generate_launch_description():
declared_arguments = []
declared_arguments.append(
DeclareLaunchArgument(
"hardware_type",
default_value="real",
description="Hardware interface type: 'real', 'sim' (MuJoCo), or 'mock'",
)
)
declared_arguments.append(
DeclareLaunchArgument(
"mock_sensor_commands",
default_value="false",
description="Enable writable sensor interfaces when using mock hardware",
)
)
hardware_type = LaunchConfiguration("hardware_type")
mock_sensor_commands = LaunchConfiguration("mock_sensor_commands")
moveit_config = (
MoveItConfigsBuilder("openarm_bimanual",
package_name="openarm_bimanual_moveit_config")
.robot_description(
file_path="config/openarm_bimanual.urdf.xacro",
mappings={
"hardware_type": hardware_type,
"mock_sensor_commands": mock_sensor_commands,
},
)
.to_moveit_configs()
)
demo_ld = generate_demo_launch(moveit_config)
ld = LaunchDescription()
for arg in declared_arguments:
ld.add_action(arg)
for entity in demo_ld.entities:
ld.add_action(entity)
return ld

View File

@ -1,23 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from moveit_configs_utils import MoveItConfigsBuilder
from moveit_configs_utils.launches import generate_move_group_launch
def generate_launch_description():
moveit_config = MoveItConfigsBuilder(
"openarm_bimanual", package_name="openarm_bimanual_moveit_config"
).to_moveit_configs()
return generate_move_group_launch(moveit_config)

View File

@ -1,23 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from moveit_configs_utils import MoveItConfigsBuilder
from moveit_configs_utils.launches import generate_moveit_rviz_launch
def generate_launch_description():
moveit_config = MoveItConfigsBuilder(
"openarm_bimanual", package_name="openarm_bimanual_moveit_config"
).to_moveit_configs()
return generate_moveit_rviz_launch(moveit_config)

View File

@ -1,23 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from moveit_configs_utils import MoveItConfigsBuilder
from moveit_configs_utils.launches import generate_rsp_launch
def generate_launch_description():
moveit_config = MoveItConfigsBuilder(
"openarm_bimanual", package_name="openarm_bimanual_moveit_config"
).to_moveit_configs()
return generate_rsp_launch(moveit_config)

View File

@ -1,23 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from moveit_configs_utils import MoveItConfigsBuilder
from moveit_configs_utils.launches import generate_setup_assistant_launch
def generate_launch_description():
moveit_config = MoveItConfigsBuilder(
"openarm_bimanual", package_name="openarm_bimanual_moveit_config"
).to_moveit_configs()
return generate_setup_assistant_launch(moveit_config)

View File

@ -1,23 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from moveit_configs_utils import MoveItConfigsBuilder
from moveit_configs_utils.launches import generate_spawn_controllers_launch
def generate_launch_description():
moveit_config = MoveItConfigsBuilder(
"openarm_bimanual", package_name="openarm_bimanual_moveit_config"
).to_moveit_configs()
return generate_spawn_controllers_launch(moveit_config)

View File

@ -1,23 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from moveit_configs_utils import MoveItConfigsBuilder
from moveit_configs_utils.launches import generate_static_virtual_joint_tfs_launch
def generate_launch_description():
moveit_config = MoveItConfigsBuilder(
"openarm_bimanual", package_name="openarm_bimanual_moveit_config"
).to_moveit_configs()
return generate_static_virtual_joint_tfs_launch(moveit_config)

View File

@ -1,23 +0,0 @@
# Copyright 2025 Reazon Holdings, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from moveit_configs_utils import MoveItConfigsBuilder
from moveit_configs_utils.launches import generate_warehouse_db_launch
def generate_launch_description():
moveit_config = MoveItConfigsBuilder(
"openarm_bimanual", package_name="openarm_bimanual_moveit_config"
).to_moveit_configs()
return generate_warehouse_db_launch(moveit_config)

View File

@ -1,67 +0,0 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<!--
 Copyright 2025 Reazon Holdings, Inc.
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at
  http://www.apache.org/licenses/LICENSE-2.0
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->
<package format="3">
<name>openarm_bimanual_moveit_config</name>
<version>1.0.0</version>
<description>
An automatically generated package with all the configuration and launch files for using the openarm_bimanual with the MoveIt Motion Planning Framework
</description>
<maintainer email="t95zhou@uwaterloo.ca">Thomason Zhou</maintainer>
<license>Apache-2.0</license>
<url type="website">http://moveit.ros.org/</url>
<url type="bugtracker">https://github.com/ros-planning/moveit2/issues</url>
<url type="repository">https://github.com/ros-planning/moveit2</url>
<author email="t95zhou@uwaterloo.ca">Thomason Zhou</author>
<buildtool_depend>ament_cmake</buildtool_depend>
<exec_depend>moveit_ros_move_group</exec_depend>
<exec_depend>moveit_kinematics</exec_depend>
<exec_depend>moveit_planners</exec_depend>
<exec_depend>moveit_simple_controller_manager</exec_depend>
<exec_depend>joint_state_publisher</exec_depend>
<exec_depend>joint_state_publisher_gui</exec_depend>
<exec_depend>tf2_ros</exec_depend>
<exec_depend>xacro</exec_depend>
<!-- The next 2 packages are required for the gazebo simulation.
We don't include them by default to prevent installing gazebo and all its dependencies. -->
<!-- <exec_depend>joint_trajectory_controller</exec_depend> -->
<!-- <exec_depend>gazebo_ros_control</exec_depend> -->
<exec_depend>controller_manager</exec_depend>
<exec_depend>moveit_configs_utils</exec_depend>
<exec_depend>moveit_ros_move_group</exec_depend>
<exec_depend>moveit_ros_visualization</exec_depend>
<exec_depend>moveit_ros_perception</exec_depend>
<exec_depend>moveit_setup_assistant</exec_depend>
<exec_depend>openarm_bimanual_description</exec_depend>
<exec_depend>robot_state_publisher</exec_depend>
<exec_depend>ros2_control</exec_depend>
<exec_depend>ros2_controllers</exec_depend>
<exec_depend>rviz2</exec_depend>
<exec_depend>rviz_common</exec_depend>
<exec_depend>rviz_default_plugins</exec_depend>
<exec_depend>tf2_ros</exec_depend>
<export>
<build_type>ament_cmake</build_type>
</export>
</package>