diff --git a/Dockerfile b/Dockerfile
index c47903857..0ebfd8ff3 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -67,7 +67,7 @@ RUN groupadd realtime && \
# hadolint ignore=SC1091
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
- --mount=type=bind,target=${USER_WS}/,source=. \
+ --mount=type=bind,target=${USER_WS}/src,source=./src \
. /opt/overlay_ws/install/setup.sh && \
apt-get update && \
rosdep install -q -y \
@@ -105,139 +105,11 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
less \
gdb \
nano \
- tmux
+ tmux
# Set up the user's .bashrc file and shell.
CMD ["/usr/bin/bash"]
-
-##################################################
-# Starting from the specified MoveIt Pro release with CUDA GPU #
-##################################################
-# The image tag is specified in the argument itself.
-# hadolint ignore=DL3006
-FROM ${MOVEIT_STUDIO_BASE_IMAGE} AS base-gpu
-
-# Create a non-root user
-ARG USERNAME
-ARG USER_UID
-ARG USER_GID
-
-# hadolint ignore=DL3008
-RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
- --mount=type=cache,target=/var/lib/apt,sharing=locked \
- apt-get update && apt-get install wget -y -q --no-install-recommends && \
- wget --progress=dot:giga https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb && \
- dpkg -i cuda-keyring_1.1-1_all.deb && \
- apt-get update && \
- apt-get install -q -y --no-install-recommends \
- libcudnn9-cuda-12 \
- libcudnn9-dev-cuda-12 \
- libcublas-12-6 \
- cuda-cudart-12-6 \
- libcurand-12-6 \
- libcufft-12-6 \
- libnvinfer10 \
- libnvinfer-plugin10 \
- libnvonnxparsers10 \
- libtree
-
-# Misleading name: onnxruntime_gpu is actually specifically the CUDA package. This is only shipped for x86-64
-RUN if [ "$(uname -m)" = "x86_64" ]; then pip3 install --no-cache-dir onnxruntime_gpu==1.19.0; fi
-
-# Copy source code from the workspace's ROS 2 packages to a workspace inside the container
-ARG USER_WS=/home/${USERNAME}/user_ws
-ENV USER_WS=${USER_WS}
-
-# Also mkdir with user permission directories which will be mounted later to avoid docker creating them as root
-WORKDIR $USER_WS
-# hadolint ignore=DL3008
-RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
- --mount=type=cache,target=/var/lib/apt,sharing=locked \
- groupadd --gid $USER_GID ${USERNAME} && \
- useradd --uid $USER_UID --gid $USER_GID --shell /bin/bash --create-home ${USERNAME} && \
- apt-get update && \
- apt-get install -q -y --no-install-recommends sudo && \
- echo ${USERNAME} ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/${USERNAME} && \
- chmod 0440 /etc/sudoers.d/${USERNAME} && \
- cp -r /etc/skel/. /home/${USERNAME} && \
- mkdir -p \
- /home/${USERNAME}/.ccache \
- /home/${USERNAME}/.config \
- /home/${USERNAME}/.ignition \
- /home/${USERNAME}/.colcon \
- /home/${USERNAME}/.ros && \
- chown -R $USER_UID:$USER_GID /home/${USERNAME} /opt/overlay_ws/
-
-# Install additional dependencies
-# You can also add any necessary apt-get install, pip install, etc. commands at this point.
-# NOTE: The /opt/overlay_ws folder contains MoveIt Pro binary packages and the source file.
-# hadolint ignore=SC1091
-RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
- --mount=type=cache,target=/var/lib/apt,sharing=locked \
- --mount=type=bind,target=${USER_WS}/,source=. \
- . /opt/overlay_ws/install/setup.sh && \
- apt-get update && \
- rosdep install -q -y \
- --from-paths src \
- --ignore-src
-
-# Set up colcon defaults for the new user
-USER ${USERNAME}
-RUN colcon mixin add default \
- https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml && \
- colcon mixin update && \
- colcon metadata add default \
- https://raw.githubusercontent.com/colcon/colcon-metadata-repository/master/index.yaml && \
- colcon metadata update
-COPY colcon-defaults.yaml /home/${USERNAME}/.colcon/defaults.yaml
-
-# hadolint ignore=DL3002
-USER root
-
-# Set up the user's .bashrc file and shell.
-CMD ["/usr/bin/bash"]
-
-###################################################################
-# Target for the developer build which does not compile any code. #
-###################################################################
-FROM base-gpu AS user-overlay-gpu-dev
-
-ARG USERNAME
-ARG USER_WS=/home/${USERNAME}/user_ws
-ENV USER_WS=${USER_WS}
-
-# Install any additional packages for development work
-# hadolint ignore=DL3008
-RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
- --mount=type=cache,target=/var/lib/apt,sharing=locked \
- apt-get update && \
- apt-get install -y --no-install-recommends \
- less \
- gdb \
- nano
-
-# Set up the user's .bashrc file and shell.
-CMD ["/usr/bin/bash"]
-
-#########################################
-# Target for compiled, deployable image with GPU support #
-#########################################
-FROM base-gpu AS user-overlay-gpu
-
-ARG USERNAME
-ARG USER_WS=/home/${USERNAME}/user_ws
-ENV USER_WS=${USER_WS}
-
-ENV LD_LIBRARY_PATH=/usr/local/lib/python3.10/dist-packages/onnxruntime/capi:/usr/lib/x86_64-linux-gnu:/usr/local/cuda-12.6/targets/x86_64-linux/lib:$LD_LIBRARY_PATH
-
-# Compile the workspace
-WORKDIR $USER_WS
-
-# Set up the user's .bashrc file and shell.
-CMD ["/usr/bin/bash"]
-
-
#########################################
# Target for compiled, deployable image #
#########################################
diff --git a/src/lab_sim/objectives/_scan_scene.xml b/src/lab_sim/objectives/_scan_scene.xml
index 352a6be1c..5efd09a67 100644
--- a/src/lab_sim/objectives/_scan_scene.xml
+++ b/src/lab_sim/objectives/_scan_scene.xml
@@ -14,6 +14,13 @@
joint_group_name="manipulator"
controller_names="joint_trajectory_controller"
waypoint_name="Park Far Right"
+ acceleration_scale_factor="1.0"
+ controller_action_server="/joint_trajectory_controller/follow_joint_trajectory"
+ keep_orientation="false"
+ keep_orientation_tolerance="0.05"
+ link_padding="0.01"
+ seed="0"
+ velocity_scale_factor="1.0"
/>
diff --git a/src/lab_sim/objectives/close_gripper.xml b/src/lab_sim/objectives/close_gripper.xml
index afb243195..6960f3d7f 100644
--- a/src/lab_sim/objectives/close_gripper.xml
+++ b/src/lab_sim/objectives/close_gripper.xml
@@ -1,8 +1,9 @@
+
diff --git a/src/lab_sim/objectives/joint_diagnostic.xml b/src/lab_sim/objectives/joint_diagnostic.xml
index 411f9f151..256af4b3d 100644
--- a/src/lab_sim/objectives/joint_diagnostic.xml
+++ b/src/lab_sim/objectives/joint_diagnostic.xml
@@ -1,9 +1,10 @@
+
diff --git a/src/lab_sim/objectives/load_and_execute_joint_trajectory.xml b/src/lab_sim/objectives/load_and_execute_joint_trajectory.xml
index d8a502e19..e8fcb9326 100644
--- a/src/lab_sim/objectives/load_and_execute_joint_trajectory.xml
+++ b/src/lab_sim/objectives/load_and_execute_joint_trajectory.xml
@@ -1,10 +1,10 @@
-
+
diff --git a/src/lab_sim/objectives/load_mesh_as_red_pointcloud.xml b/src/lab_sim/objectives/load_mesh_as_red_pointcloud.xml
index 220506451..29dfd62d6 100644
--- a/src/lab_sim/objectives/load_mesh_as_red_pointcloud.xml
+++ b/src/lab_sim/objectives/load_mesh_as_red_pointcloud.xml
@@ -29,7 +29,6 @@
-
diff --git a/src/lab_sim/objectives/ml_segment_image_from_text_prompt.xml b/src/lab_sim/objectives/ml_segment_image.xml
similarity index 82%
rename from src/lab_sim/objectives/ml_segment_image_from_text_prompt.xml
rename to src/lab_sim/objectives/ml_segment_image.xml
index 23066b781..1d34c70f5 100644
--- a/src/lab_sim/objectives/ml_segment_image_from_text_prompt.xml
+++ b/src/lab_sim/objectives/ml_segment_image.xml
@@ -1,9 +1,9 @@
-
+
@@ -27,7 +27,7 @@
-
+
diff --git a/src/lab_sim/objectives/ml_segment_point_cloud_from_text_prompt.xml b/src/lab_sim/objectives/ml_segment_point_cloud.xml
similarity index 84%
rename from src/lab_sim/objectives/ml_segment_point_cloud_from_text_prompt.xml
rename to src/lab_sim/objectives/ml_segment_point_cloud.xml
index e7376992f..b51e1479b 100644
--- a/src/lab_sim/objectives/ml_segment_point_cloud_from_text_prompt.xml
+++ b/src/lab_sim/objectives/ml_segment_point_cloud.xml
@@ -1,12 +1,9 @@
-
+
@@ -32,7 +29,7 @@
-
+
diff --git a/src/lab_sim/objectives/ml_segment_point_cloud_from_clicked_point.xml b/src/lab_sim/objectives/ml_segment_point_cloud_from_clicked_point.xml
index 98b13fe2f..991f93b06 100644
--- a/src/lab_sim/objectives/ml_segment_point_cloud_from_clicked_point.xml
+++ b/src/lab_sim/objectives/ml_segment_point_cloud_from_clicked_point.xml
@@ -7,7 +7,7 @@
-
+
@@ -132,7 +132,7 @@
-
+
diff --git a/src/lab_sim/objectives/ml_auto_grasp_object_from_text_prompt.xml b/src/lab_sim/objectives/pick_all_pill_bottles.xml
similarity index 93%
rename from src/lab_sim/objectives/ml_auto_grasp_object_from_text_prompt.xml
rename to src/lab_sim/objectives/pick_all_pill_bottles.xml
index 2fbeae716..c75c32d17 100644
--- a/src/lab_sim/objectives/ml_auto_grasp_object_from_text_prompt.xml
+++ b/src/lab_sim/objectives/pick_all_pill_bottles.xml
@@ -1,12 +1,9 @@
-
+
@@ -113,7 +110,7 @@
-
+
diff --git a/src/lab_sim/objectives/playback_square_trajectory.xml b/src/lab_sim/objectives/playback_square_trajectory.xml
index 6c8ef60d9..df810fd27 100644
--- a/src/lab_sim/objectives/playback_square_trajectory.xml
+++ b/src/lab_sim/objectives/playback_square_trajectory.xml
@@ -1,9 +1,10 @@
+
+
diff --git a/src/lab_sim/objectives/record_square_trajectory.xml b/src/lab_sim/objectives/record_square_trajectory.xml
index e628866f2..e75785690 100644
--- a/src/lab_sim/objectives/record_square_trajectory.xml
+++ b/src/lab_sim/objectives/record_square_trajectory.xml
@@ -1,10 +1,10 @@
-
+
diff --git a/src/lab_sim/objectives/fuse_multiple_views.xml b/src/lab_sim/objectives/scan_multiple_views.xml
similarity index 83%
rename from src/lab_sim/objectives/fuse_multiple_views.xml
rename to src/lab_sim/objectives/scan_multiple_views.xml
index fca6155d5..16448fe6f 100644
--- a/src/lab_sim/objectives/fuse_multiple_views.xml
+++ b/src/lab_sim/objectives/scan_multiple_views.xml
@@ -1,8 +1,8 @@
-
+
@@ -16,7 +16,7 @@
/>
-
+
diff --git a/src/lab_sim/test/objectives_integration_test.py b/src/lab_sim/test/objectives_integration_test.py
index 61bd2965e..9ddb04e4c 100644
--- a/src/lab_sim/test/objectives_integration_test.py
+++ b/src/lab_sim/test/objectives_integration_test.py
@@ -37,6 +37,7 @@
run_objective,
)
+# Looping objectives to cancel partway through
cancel_objectives = {
"3 Waypoints Pick and Place",
"Stationary Admittance",
@@ -55,17 +56,18 @@
"ML Grasp Object from Text Prompt",
}
+# Objectives to skip entirely from integration testing
skip_objectives = {
"Grasp Object from Text Prompt", # https://github.com/PickNikRobotics/moveit_pro/issues/13236
"Grasp Planning",
"Joint Diagnostic",
- "Fuse Multiple Views",
+ "Scan Multiple Views",
"MPC Pose Tracking",
"MPC Pose Tracking With Point Cloud Avoidance",
- "ML Segment Image from Text Prompt",
+ "ML Segment Image",
"ML Segment Point Cloud from Clicked Point",
"ML Auto Grasp Object from Clicked Point", # Skipped because there is no primary ui to switch to in ci
- "ML Auto Grasp Object from Text Prompt",
+ "Pick All Pill Bottles",
"Pick up Cube",
"Place Object",
"Record Square Trajectory",
diff --git a/src/lab_sim/waypoints/ur_waypoints.yaml b/src/lab_sim/waypoints/ur_waypoints.yaml
index bebed4097..49c7ec672 100644
--- a/src/lab_sim/waypoints/ur_waypoints.yaml
+++ b/src/lab_sim/waypoints/ur_waypoints.yaml
@@ -601,7 +601,7 @@
wrench: []
name: Flask 3d - Place
- description: ''
- favorite: false
+ favorite: true
joint_group_names:
- gripper
- linear_actuator
diff --git a/src/moveit_pro_franka_configs/franka_behaviors/CMakeLists.txt b/src/moveit_pro_franka_configs/franka_behaviors/CMakeLists.txt
index 5e4aa9cff..976cbce49 100644
--- a/src/moveit_pro_franka_configs/franka_behaviors/CMakeLists.txt
+++ b/src/moveit_pro_franka_configs/franka_behaviors/CMakeLists.txt
@@ -1,9 +1,9 @@
cmake_minimum_required(VERSION 3.22)
project(franka_behaviors CXX)
-find_package(moveit_studio_common REQUIRED)
+find_package(moveit_pro_package REQUIRED)
find_package(franka_msgs REQUIRED)
-moveit_studio_package()
+moveit_pro_package()
set(THIS_PACKAGE_INCLUDE_DEPENDS moveit_studio_behavior moveit_studio_behavior_interface pluginlib
franka_msgs)
diff --git a/src/moveit_pro_franka_configs/franka_behaviors/package.xml b/src/moveit_pro_franka_configs/franka_behaviors/package.xml
index dabee26b3..9b26bd9e5 100644
--- a/src/moveit_pro_franka_configs/franka_behaviors/package.xml
+++ b/src/moveit_pro_franka_configs/franka_behaviors/package.xml
@@ -11,7 +11,7 @@
ament_cmake
- moveit_studio_common
+ moveit_pro_package
franka_msgs
moveit_studio_behavior_interface
diff --git a/src/moveit_pro_franka_configs/franka_dual_arm_sim/description/franka.urdf.xacro b/src/moveit_pro_franka_configs/franka_dual_arm_sim/description/franka.urdf.xacro
index 72556275c..80628041e 100644
--- a/src/moveit_pro_franka_configs/franka_dual_arm_sim/description/franka.urdf.xacro
+++ b/src/moveit_pro_franka_configs/franka_dual_arm_sim/description/franka.urdf.xacro
@@ -255,7 +255,7 @@
franka_dual_arm_sim
10
60
- home
+ default
$(arg mujoco_viewer)
diff --git a/src/moveit_pro_franka_configs/franka_dual_arm_sim/scripts/svg_to_yaml.py b/src/moveit_pro_franka_configs/franka_dual_arm_sim/scripts/svg_to_yaml.py
index 375611d1d..eab0d943b 100755
--- a/src/moveit_pro_franka_configs/franka_dual_arm_sim/scripts/svg_to_yaml.py
+++ b/src/moveit_pro_franka_configs/franka_dual_arm_sim/scripts/svg_to_yaml.py
@@ -124,7 +124,10 @@ def extract_waypoints_from_paths(paths, density):
points = path_to_points(path, density)
log(f"Path has {len(points)} waypoints")
waypoints = [
- list(a) for a in zip(points.real, points.imag, np.zeros(len(points.real)))
+ list(a)
+ for a in zip(
+ points.real, points.imag, np.zeros(len(points.real)), strict=True
+ )
]
log(f"Subpath has {len(waypoints)} waypoints")
# Add a pre-waypoint and post-waypoint with Z clearance for transitions between subpaths.
diff --git a/src/moveit_pro_kinova_configs/kinova_sim/config/config.yaml b/src/moveit_pro_kinova_configs/kinova_sim/config/config.yaml
index ae09b8692..1cc3b3d32 100644
--- a/src/moveit_pro_kinova_configs/kinova_sim/config/config.yaml
+++ b/src/moveit_pro_kinova_configs/kinova_sim/config/config.yaml
@@ -61,6 +61,7 @@ hardware:
- wrist_realsense: "true"
- use_internal_bus_gripper_comm: "false"
- mujoco_model: "description/mujoco/rafti_fingers_scene.xml"
+ - mujoco_viewer: false
# Sets ROS global params for launch.
# [Optional]
diff --git a/src/moveit_pro_kinova_configs/kinova_sim/description/mujoco/rafti_fingers_scene.xml b/src/moveit_pro_kinova_configs/kinova_sim/description/mujoco/rafti_fingers_scene.xml
index 806786318..735efb6ca 100644
--- a/src/moveit_pro_kinova_configs/kinova_sim/description/mujoco/rafti_fingers_scene.xml
+++ b/src/moveit_pro_kinova_configs/kinova_sim/description/mujoco/rafti_fingers_scene.xml
@@ -168,4 +168,13 @@