forked from PickNikRobotics/moveit_pro_empty_ws
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Squashed 'src/moveit_pro_mobile_manipulation/' content from commit e5…
…367b7 git-subtree-dir: src/moveit_pro_mobile_manipulation git-subtree-split: e5367b79e08113218f72804beda69ebe94a2b175
- Loading branch information
0 parents
commit 3ca0158
Showing
78 changed files
with
7,187 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# moveit_pro_mobile_manipulation |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
cmake_minimum_required(VERSION 3.22) | ||
project(mobile_manipulation_config) | ||
|
||
find_package(ament_cmake REQUIRED) | ||
find_package(picknik_accessories REQUIRED) | ||
|
||
|
||
|
||
# Install all XML files in directory | ||
set(PICKNIK_ACCESSORIES_SHARE_DIR | ||
"${CMAKE_INSTALL_PREFIX}/../picknik_accessories/share/picknik_accessories/mujoco_assets/" | ||
) | ||
# Destination directory | ||
set(DEST_DIR "${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/description/") | ||
|
||
install(DIRECTORY "${PICKNIK_ACCESSORIES_SHARE_DIR}" | ||
DESTINATION "${DEST_DIR}" | ||
FILES_MATCHING PATTERN "*") | ||
|
||
install( | ||
DIRECTORY | ||
config | ||
description | ||
launch | ||
objectives | ||
waypoints | ||
DESTINATION | ||
share/${PROJECT_NAME} | ||
) | ||
|
||
if(BUILD_TESTING) | ||
find_package(ament_lint_auto REQUIRED) | ||
ament_lint_auto_find_test_dependencies() | ||
endif() | ||
|
||
ament_package() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions are met: | ||
|
||
* Redistributions of source code must retain the above copyright | ||
notice, this list of conditions and the following disclaimer. | ||
|
||
* Redistributions in binary form must reproduce the above copyright | ||
notice, this list of conditions and the following disclaimer in the | ||
documentation and/or other materials provided with the distribution. | ||
|
||
* Neither the name of the copyright holder nor the names of its | ||
contributors may be used to endorse or promote products derived from | ||
this software without specific prior written permission. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE | ||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
POSSIBILITY OF SUCH DAMAGE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# mobile_manipulation_config | ||
|
||
A MoveIt Pro MuJoCo simulation of a UR5 arm on a mobile Ridgeback base. | ||
|
||
For detailed documentation see: [MoveIt Pro Documentation](https://docs.picknik.ai/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
# | ||
# This contains information for a unique instance of a robot. | ||
# | ||
|
||
# Name of the package to specialize | ||
based_on_package: "picknik_ur_mobile_config" | ||
hardware: | ||
# Parameters used to configure the robot description through XACRO. | ||
# A URDF and SRDF are both required. | ||
# [Required] | ||
robot_description: | ||
urdf: | ||
package: "mobile_manipulation_config" | ||
path: "description/picknik_ur.xacro" | ||
srdf: | ||
package: "picknik_ur_mobile_config" | ||
path: "config/moveit/picknik_ur.srdf" | ||
urdf_params: | ||
- joint_limits_parameters_file: | ||
package: "picknik_ur_mobile_config" | ||
path: "config/moveit/joint_limits.yaml" | ||
|
||
moveit_params: | ||
servo: | ||
package: "picknik_ur_mobile_config" | ||
path: "config/moveit/ur_servo.yaml" | ||
joint_limits: | ||
package: "picknik_ur_mobile_config" | ||
path: "config/moveit/joint_limits.yaml" | ||
servo_joint_limits: | ||
package: "picknik_ur_mobile_config" | ||
path: "config/moveit/hard_joint_limits.yaml" | ||
|
||
# Configuration for loading behaviors and objectives. | ||
# [Required] | ||
objectives: | ||
# List of plugins for loading custom behaviors. | ||
# [Required] | ||
behavior_loader_plugins: | ||
# This plugin will load the core MoveIt Pro Behaviors. | ||
# Add additional plugin loaders as needed. | ||
core: | ||
- "moveit_studio::behaviors::CoreBehaviorsLoader" | ||
- "moveit_studio::behaviors::MTCCoreBehaviorsLoader" | ||
- "moveit_studio::behaviors::ServoBehaviorsLoader" | ||
- "moveit_studio::behaviors::VisionBehaviorsLoader" | ||
# Specify source folder for objectives | ||
# [Required] | ||
objective_library_paths: | ||
sim_objectives: | ||
package_name: "mobile_manipulation_config" | ||
relative_path: "objectives" | ||
# Specify the location of the saved waypoints file. | ||
# [Required] | ||
waypoints_file: | ||
package_name: "mobile_manipulation_config" | ||
relative_path: "waypoints/ur_waypoints.yaml" | ||
|
||
|
||
# Configuration for launching ros2_control processes. | ||
# [Required, if using ros2_control] | ||
ros2_control: | ||
config: | ||
package: "picknik_ur_mobile_config" | ||
path: "config/control/picknik_ur.ros2_control.yaml" | ||
# MoveIt Pro will load and activate these controllers at start up to ensure they are available. | ||
# If not specified, it is up to the user to ensure the appropriate controllers are active and available | ||
# for running the application. | ||
# [Optional, default=[]] | ||
controllers_active_at_startup: | ||
- "force_torque_sensor_broadcaster" | ||
- "robotiq_gripper_controller" | ||
- "joint_state_broadcaster" | ||
- "servo_controller" | ||
# Load but do not start these controllers so they can be activated later if needed. | ||
controllers_inactive_at_startup: | ||
- "joint_trajectory_controller" | ||
# Any controllers here will not be spawned by MoveIt Pro. | ||
# [Optional, default=[]] | ||
controllers_not_managed: [] | ||
# Optionally configure remapping rules to let multiple controllers receive commands on the same topic. | ||
# [Optional, default=[]] | ||
controller_shared_topics: [] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
Copyright 2018 ROS Industrial Consortium | ||
|
||
Redistribution and use in source and binary forms, with or without modification, | ||
are permitted provided that the following conditions are met: | ||
|
||
1. Redistributions of source code must retain the above copyright notice, this | ||
list of conditions and the following disclaimer. | ||
|
||
2. Redistributions in binary form must reproduce the above copyright notice, | ||
this list of conditions and the following disclaimer in the documentation and/or | ||
other materials provided with the distribution. | ||
|
||
3. Neither the name of the copyright holder nor the names of its contributors | ||
may be used to endorse or promote products derived from this software without | ||
specific prior written permission. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | ||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR | ||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
104 changes: 104 additions & 0 deletions
104
mobile_manipulation_config/description/picknik_ur.xacro
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
<?xml version="1.0"?> | ||
<robot xmlns:xacro="http://wiki.ros.org/xacro" name="$(arg name)"> | ||
<!-- parameters --> | ||
<xacro:arg name="use_fake_hardware" default="false"/> | ||
<xacro:arg name="external_camera" default="false"/> | ||
<xacro:arg name="has_tool_changer" default="true"/> | ||
<xacro:arg name="use_pinch_links" default="true"/> | ||
<xacro:arg name="generate_ros2_control_tag" default="false"/> | ||
<xacro:arg name="name" default=""/> | ||
<xacro:arg name="joint_limits_parameters_file" default=""/> | ||
<xacro:arg name="kinematics_parameters_file" default=""/> | ||
<xacro:arg name="physical_parameters_file" default=""/> | ||
<xacro:arg name="visual_parameters_file" default=""/> | ||
<xacro:arg name="headless_mode" default="false"/> | ||
<xacro:arg name="robot_ip" default="0.0.0.0"/> | ||
<xacro:arg name="use_tool_communication" default="false"/> | ||
<xacro:arg name="tool_voltage" default="0"/> | ||
<xacro:arg name="tool_device_name" default="/dev/ttyUSB0"/> | ||
<xacro:arg name="initial_positions_file" default="$(find picknik_ur_base_config)/config/initial_positions.yaml"/> | ||
|
||
<!-- Import UR and environment macros --> | ||
<xacro:include filename="$(find picknik_ur_base_config)/description/picknik_ur_macro.xacro"/> | ||
<xacro:include filename="$(find mobile_manipulation_config)/description/picknik_ur_attachments_macro.xacro"/> | ||
<xacro:include filename="$(find mobile_manipulation_config)/description/picknik_ur_mujoco_ros2_control.xacro"/> | ||
<xacro:include filename="$(find ridgeback_description)/urdf/ridgeback.urdf.xacro"/> | ||
|
||
|
||
<link name="world"/> | ||
|
||
<!-- Gripper and UR adapter and realsense camera --> | ||
<xacro:picknik_ur_attachments parent="tool0" child="grasp_link" has_tool_changer="$(arg has_tool_changer)"/> | ||
|
||
<!-- Ridgeback --> | ||
<xacro:ridgeback parent="ridgeback_base_link"/> | ||
|
||
<joint name="airfoil_joint" type="fixed"> | ||
<parent link="world"/> | ||
<child link="airfoil"/> | ||
<origin xyz="4.5 0 0.5" rpy="0.0 0.0 1.5707"/> | ||
</joint> | ||
|
||
<link name="airfoil"> | ||
<visual> | ||
<geometry> | ||
<mesh filename="package://mobile_manipulation_config/description/assets/airfoil.stl"/> | ||
</geometry> | ||
<material name="grey"> | ||
<color rgba="0.4 0.4 0.4 1.0"/> | ||
</material> | ||
</visual> | ||
<collision> | ||
<geometry> | ||
<mesh filename="package://mobile_manipulation_config/description/assets/airfoil.stl"/> | ||
</geometry> | ||
</collision> | ||
</link> | ||
|
||
<joint name="rotational_yaw_joint" type="revolute"> | ||
<axis xyz="0 0 1"/> | ||
<parent link="world"/> | ||
<child link="virual_rail_link_1"/> | ||
<origin rpy="0 0 0" xyz="0 0 0"/> | ||
<limit effort="150.0" lower="-3.141592653589793" upper="3.141592653589793" velocity="0.5235987755982988"/> | ||
<dynamics damping="0" friction="0"/> | ||
</joint> | ||
|
||
<link name="virual_rail_link_1"/> | ||
|
||
<joint name="linear_x_joint" type="prismatic"> | ||
<axis xyz="1 0 0"/> | ||
<parent link="virual_rail_link_1" /> | ||
<child link="virual_rail_link_2" /> | ||
<origin xyz="0 0 0" rpy="0 0 0" /> | ||
<limit effort="1000.0" lower="-5.0" upper="5.0" velocity="0.175" acceleration="10.0"/> | ||
<dynamics damping="20.0" friction="500.0" /> | ||
</joint> | ||
|
||
<link name="virual_rail_link_2"/> | ||
|
||
<joint name="linear_y_joint" type="prismatic"> | ||
<axis xyz="0 1 0"/> | ||
<parent link="virual_rail_link_2" /> | ||
<child link="ridgeback_base_link" /> | ||
<origin xyz="0 0 0" rpy="0 0 0" /> | ||
<limit effort="1000.0" lower="-5.0" upper="5.0" velocity="0.175" acceleration="10.0"/> | ||
<dynamics damping="20.0" friction="500.0" /> | ||
</joint> | ||
|
||
<!-- Robot: contains robot description from the world frame to the tool frame --> | ||
<xacro:picknik_ur parent="ur_linear_rail_base" child="tool0" initial_positions_file="$(arg initial_positions_file)" generate_ros2_control_tag="$(arg generate_ros2_control_tag)" > | ||
<!-- Guesstimates below --> | ||
<origin xyz="0 0.0 0.0" rpy="0 0 0" /> | ||
</xacro:picknik_ur> | ||
|
||
<joint name="ur_ridgeback_mount" type="fixed"> | ||
<axis xyz="0 1 0"/> | ||
<parent link="mid_mount" /> | ||
<child link="ur_linear_rail_base" /> | ||
<origin xyz="0 0 0" rpy="0 0 0" /> | ||
</joint> | ||
|
||
<!-- MuJoCo Hardware interface --> | ||
<xacro:picknik_ur_mujoco_ros2_control /> | ||
</robot> |
Oops, something went wrong.