diff --git a/components/manipulators/franka/activate_fci.png b/components/manipulators/franka/activate_fci.png new file mode 100644 index 000000000..9da3236fd Binary files /dev/null and b/components/manipulators/franka/activate_fci.png differ diff --git a/components/manipulators/franka/network.png b/components/manipulators/franka/network.png new file mode 100644 index 000000000..ad6864fbd Binary files /dev/null and b/components/manipulators/franka/network.png differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/failed.png b/components/manipulators/universal_robots/failed.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/failed.png rename to components/manipulators/universal_robots/failed.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/headless_0.png b/components/manipulators/universal_robots/headless_0.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/headless_0.png rename to components/manipulators/universal_robots/headless_0.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/headless_1.png b/components/manipulators/universal_robots/headless_1.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/headless_1.png rename to components/manipulators/universal_robots/headless_1.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/headless_2.png b/components/manipulators/universal_robots/headless_2.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/headless_2.png rename to components/manipulators/universal_robots/headless_2.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_0.png b/components/manipulators/universal_robots/initialize_0.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_0.png rename to components/manipulators/universal_robots/initialize_0.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_1.png b/components/manipulators/universal_robots/initialize_1.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_1.png rename to components/manipulators/universal_robots/initialize_1.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_2.png b/components/manipulators/universal_robots/initialize_2.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_2.png rename to components/manipulators/universal_robots/initialize_2.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_3.png b/components/manipulators/universal_robots/initialize_3.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_3.png rename to components/manipulators/universal_robots/initialize_3.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_4.png b/components/manipulators/universal_robots/initialize_4.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/initialize_4.png rename to components/manipulators/universal_robots/initialize_4.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/installation_default_program.png b/components/manipulators/universal_robots/installation_default_program.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/installation_default_program.png rename to components/manipulators/universal_robots/installation_default_program.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/installation_urcaps.png b/components/manipulators/universal_robots/installation_urcaps.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/installation_urcaps.png rename to components/manipulators/universal_robots/installation_urcaps.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/program_urcaps.png b/components/manipulators/universal_robots/program_urcaps.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/program_urcaps.png rename to components/manipulators/universal_robots/program_urcaps.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/settings_network.png b/components/manipulators/universal_robots/settings_network.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/settings_network.png rename to components/manipulators/universal_robots/settings_network.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/settings_remote_control.png b/components/manipulators/universal_robots/settings_remote_control.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/settings_remote_control.png rename to components/manipulators/universal_robots/settings_remote_control.png diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/settings_urcaps.png b/components/manipulators/universal_robots/settings_urcaps.png similarity index 100% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots/settings_urcaps.png rename to components/manipulators/universal_robots/settings_urcaps.png diff --git a/components/rviz_models/manipulators/franka/fer.png b/components/rviz_models/manipulators/franka/fer.png new file mode 100644 index 000000000..f1fab56e7 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fer.png differ diff --git a/components/rviz_models/manipulators/franka/fer_franka_hand.png b/components/rviz_models/manipulators/franka/fer_franka_hand.png new file mode 100644 index 000000000..ae7e004cc Binary files /dev/null and b/components/rviz_models/manipulators/franka/fer_franka_hand.png differ diff --git a/components/rviz_models/manipulators/franka/fer_robotiq_2f_140.png b/components/rviz_models/manipulators/franka/fer_robotiq_2f_140.png new file mode 100644 index 000000000..0904d4e9a Binary files /dev/null and b/components/rviz_models/manipulators/franka/fer_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/franka/fer_robotiq_2f_85.png b/components/rviz_models/manipulators/franka/fer_robotiq_2f_85.png new file mode 100644 index 000000000..8f74ea1c5 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fer_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/franka/fp3.png b/components/rviz_models/manipulators/franka/fp3.png new file mode 100644 index 000000000..93668a367 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fp3.png differ diff --git a/components/rviz_models/manipulators/franka/fp3_franka_hand.png b/components/rviz_models/manipulators/franka/fp3_franka_hand.png new file mode 100644 index 000000000..2b529dd1a Binary files /dev/null and b/components/rviz_models/manipulators/franka/fp3_franka_hand.png differ diff --git a/components/rviz_models/manipulators/franka/fp3_robotiq_2f_140.png b/components/rviz_models/manipulators/franka/fp3_robotiq_2f_140.png new file mode 100644 index 000000000..5aa124151 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fp3_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/franka/fp3_robotiq_2f_85.png b/components/rviz_models/manipulators/franka/fp3_robotiq_2f_85.png new file mode 100644 index 000000000..94e257ff9 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fp3_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/franka/fr3.png b/components/rviz_models/manipulators/franka/fr3.png new file mode 100644 index 000000000..51afe92d4 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fr3.png differ diff --git a/components/rviz_models/manipulators/franka/fr3_franka_hand.png b/components/rviz_models/manipulators/franka/fr3_franka_hand.png new file mode 100644 index 000000000..f1aa7a687 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fr3_franka_hand.png differ diff --git a/components/rviz_models/manipulators/franka/fr3_robotiq_2f_140.png b/components/rviz_models/manipulators/franka/fr3_robotiq_2f_140.png new file mode 100644 index 000000000..3bf9b2c77 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fr3_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/franka/fr3_robotiq_2f_85.png b/components/rviz_models/manipulators/franka/fr3_robotiq_2f_85.png new file mode 100644 index 000000000..f2e2f9c83 Binary files /dev/null and b/components/rviz_models/manipulators/franka/fr3_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/franka/franka_lineup.png b/components/rviz_models/manipulators/franka/franka_lineup.png new file mode 100644 index 000000000..6304c98b7 Binary files /dev/null and b/components/rviz_models/manipulators/franka/franka_lineup.png differ diff --git a/components/rviz_models/manipulators/kinova/gen3_6dof_140.png b/components/rviz_models/manipulators/kinova/gen3_6dof_140.png new file mode 100644 index 000000000..335b73257 Binary files /dev/null and b/components/rviz_models/manipulators/kinova/gen3_6dof_140.png differ diff --git a/components/rviz_models/manipulators/kinova/gen3_6dof_85.png b/components/rviz_models/manipulators/kinova/gen3_6dof_85.png new file mode 100644 index 000000000..c6410eec1 Binary files /dev/null and b/components/rviz_models/manipulators/kinova/gen3_6dof_85.png differ diff --git a/components/rviz_models/manipulators/kinova/gen3_7dof_140.png b/components/rviz_models/manipulators/kinova/gen3_7dof_140.png new file mode 100644 index 000000000..57fd88313 Binary files /dev/null and b/components/rviz_models/manipulators/kinova/gen3_7dof_140.png differ diff --git a/components/rviz_models/manipulators/kinova/gen3_7dof_85.png b/components/rviz_models/manipulators/kinova/gen3_7dof_85.png new file mode 100644 index 000000000..3db64674c Binary files /dev/null and b/components/rviz_models/manipulators/kinova/gen3_7dof_85.png differ diff --git a/components/rviz_models/manipulators/kinova/gen3_lite.png b/components/rviz_models/manipulators/kinova/gen3_lite.png new file mode 100644 index 000000000..50b429d62 Binary files /dev/null and b/components/rviz_models/manipulators/kinova/gen3_lite.png differ diff --git a/components/rviz_models/manipulators/kinova/kinova_lineup.png b/components/rviz_models/manipulators/kinova/kinova_lineup.png new file mode 100644 index 000000000..e96d365b7 Binary files /dev/null and b/components/rviz_models/manipulators/kinova/kinova_lineup.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur10e.png b/components/rviz_models/manipulators/universal_robots/ur10e.png new file mode 100644 index 000000000..a18418efe Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur10e.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur10e_robotiq_2f_140.png b/components/rviz_models/manipulators/universal_robots/ur10e_robotiq_2f_140.png new file mode 100644 index 000000000..daab38389 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur10e_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur10e_robotiq_2f_85.png b/components/rviz_models/manipulators/universal_robots/ur10e_robotiq_2f_85.png new file mode 100644 index 000000000..dbb76c7e3 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur10e_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur16e.png b/components/rviz_models/manipulators/universal_robots/ur16e.png new file mode 100644 index 000000000..bf17dd403 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur16e.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur16e_robotiq_2f_140.png b/components/rviz_models/manipulators/universal_robots/ur16e_robotiq_2f_140.png new file mode 100644 index 000000000..b7d9ffc0d Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur16e_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur16e_robotiq_2f_85.png b/components/rviz_models/manipulators/universal_robots/ur16e_robotiq_2f_85.png new file mode 100644 index 000000000..fb0136ae9 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur16e_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur20.png b/components/rviz_models/manipulators/universal_robots/ur20.png new file mode 100644 index 000000000..b54c135b0 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur20.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur20_robotiq_2f_140.png b/components/rviz_models/manipulators/universal_robots/ur20_robotiq_2f_140.png new file mode 100644 index 000000000..1c1551191 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur20_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur20_robotiq_2f_85.png b/components/rviz_models/manipulators/universal_robots/ur20_robotiq_2f_85.png new file mode 100644 index 000000000..6e48150ec Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur20_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur30.png b/components/rviz_models/manipulators/universal_robots/ur30.png new file mode 100644 index 000000000..03a99b27d Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur30.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur30_robotiq_2f_140.png b/components/rviz_models/manipulators/universal_robots/ur30_robotiq_2f_140.png new file mode 100644 index 000000000..6f942dd2a Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur30_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur30_robotiq_2f_85.png b/components/rviz_models/manipulators/universal_robots/ur30_robotiq_2f_85.png new file mode 100644 index 000000000..c7c487db8 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur30_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur3e.png b/components/rviz_models/manipulators/universal_robots/ur3e.png new file mode 100644 index 000000000..8a03e43ac Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur3e.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur3e_robotiq_2f_140.png b/components/rviz_models/manipulators/universal_robots/ur3e_robotiq_2f_140.png new file mode 100644 index 000000000..23303ef1b Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur3e_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur3e_robotiq_2f_85.png b/components/rviz_models/manipulators/universal_robots/ur3e_robotiq_2f_85.png new file mode 100644 index 000000000..3f0d3337e Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur3e_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur5e.png b/components/rviz_models/manipulators/universal_robots/ur5e.png new file mode 100644 index 000000000..dee96bfbb Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur5e.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur5e_robotiq_2f_140.png b/components/rviz_models/manipulators/universal_robots/ur5e_robotiq_2f_140.png new file mode 100644 index 000000000..cad94578d Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur5e_robotiq_2f_140.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur5e_robotiq_2f_85.png b/components/rviz_models/manipulators/universal_robots/ur5e_robotiq_2f_85.png new file mode 100644 index 000000000..041ba57dc Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur5e_robotiq_2f_85.png differ diff --git a/components/rviz_models/manipulators/universal_robots/ur_lineup.png b/components/rviz_models/manipulators/universal_robots/ur_lineup.png new file mode 100644 index 000000000..d4a0e97c8 Binary files /dev/null and b/components/rviz_models/manipulators/universal_robots/ur_lineup.png differ diff --git a/docs_robots/accessories/manipulators/kinova_gen3_lite.mdx b/docs_robots/accessories/manipulators/kinova_gen3_lite.mdx index 69f493626..c3352b7b2 100644 --- a/docs_robots/accessories/manipulators/kinova_gen3_lite.mdx +++ b/docs_robots/accessories/manipulators/kinova_gen3_lite.mdx @@ -3,8 +3,9 @@ title: Kinova Gen3 Lite sidebar_position: 3 --- -import KinovaGen3Lite from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_lite.mdx"; -import Kinova2FLite from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_2f_lite.mdx"; +import KinovaLineUp from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/lineup.mdx"; +import KinovaConfigs from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/configs.mdx"; + import Support from "/components/support.mdx"; import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; @@ -91,9 +92,8 @@ The PACS™ kit for this sensor includes: This manipulator is included in the Clearpath Robotics descriptino and robot package that is installed on all of our robots. This allows you to add or remove manipulator from your robot's software configuration by modying the [robot configuration yaml](/docs/ros/config/yaml/manipulators). - - - + + ### Networking, with netplan diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka.mdx new file mode 100644 index 000000000..4e5c341ee --- /dev/null +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka.mdx @@ -0,0 +1,206 @@ + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+ +
+ + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fp3 + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fp3 + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+ + +
+ + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fer + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fer + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+ + +
+
+ + +
+Franka Setup + +### Package and Setup +The Franka arms use the `franka_description` and `franka_ros2` ROS 2 packages abd the `libfranka` SDK. The description and driver are open source, maintained by Franka Robotics, and hosted on GitHub. Refer to the [description repository](https://github.com/frankarobotics/franka_description), [driver repository](https://github.com/frankarobotics/franka_ros2), and [SDK repository](https://github.com/frankarobotics/libfranka). Follow the [instructions in the driver repository's README](https://github.com/frankarobotics/franka_ros2/blob/humble/README.md#franka-ros-2-dependencies-setup) to build the Franka packages in a workspace. + +For more specifics on the way Clearpath's configuration system adds the arm to the robot description, see the [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/franka.urdf.xacro). Note, all parameters to the `xacro:macro franka` can be passed through the `robot.yaml` entry above. For examples, read the sections below. + +### Franka Desk Setup + +#### Networking Settings +
+ +
+By default, the `C2 - Shop Floor network` should have `DHCP Client` disabled and set to the static `192.168.131.40` IP address. If changed to an IP other than `192.168.131.40`, then that new address must be passed to the `robot.yaml` entry through the `robot_ip` parameter. + +#### Initializing the Arm +
+ +
+To begin moving the arm, unlock the joints. Then, enable the `FCI` mode to allow a an external computer to control the arm. + +### Parameter: Device IP +The `robot_ip` must be set to match the networking settings of the arm's control box. By default, we use the `192.168.131.40` address. + + +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka_gripper.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka_gripper.mdx new file mode 100644 index 000000000..622fad2a9 --- /dev/null +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka_gripper.mdx @@ -0,0 +1,38 @@ + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+ +
+Franka Gripper Setup + +### Package and Setup +The Franka grippers can only be used with the Franka arms and have the same dependencies. They use the `franka_description` and `franka_ros2` ROS 2 packages abd the `libfranka` SDK. The description and driver are open source, maintained by Franka Robotics, and hosted on GitHub. Refer to the [description repository](https://github.com/frankarobotics/franka_description), [driver repository](https://github.com/frankarobotics/franka_ros2), and [SDK repository](https://github.com/frankarobotics/libfranka). Follow the [instructions in the driver repository's README](https://github.com/frankarobotics/franka_ros2/blob/humble/README.md#franka-ros-2-dependencies-setup) to build the Franka packages in a workspace. + +For more specifics on the way Clearpath's configuration system adds the arm to the robot description, see the [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/franka.urdf.xacro). Note, all parameters to the `xacro:macro franka` can be passed through the `robot.yaml` entry above. For examples, read the sections below. + +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka.png new file mode 100644 index 000000000..4a976d819 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/activate_fci.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/activate_fci.png new file mode 100644 index 000000000..9da3236fd Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/activate_fci.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fer.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fer.png new file mode 100644 index 000000000..b9c6459b2 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fer.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fer_w_gripper.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fer_w_gripper.png new file mode 100644 index 000000000..a9c3f9ace Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fer_w_gripper.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fp3.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fp3.png new file mode 100644 index 000000000..d52ad00fa Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fp3.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fp3_w_gripper.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fp3_w_gripper.png new file mode 100644 index 000000000..0fee2b0a7 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fp3_w_gripper.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fr3.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fr3.png new file mode 100644 index 000000000..50d28b368 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fr3.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fr3_w_gripper.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fr3_w_gripper.png new file mode 100644 index 000000000..eec3af4b7 Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/fr3_w_gripper.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/network.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/network.png new file mode 100644 index 000000000..ad6864fbd Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka/network.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka_gripper.png b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka_gripper.png new file mode 100644 index 000000000..f1710821d Binary files /dev/null and b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/img/franka_gripper.png differ diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_2f_lite.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_2f_lite.mdx index 8f167a281..8b4c2fb42 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_2f_lite.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_2f_lite.mdx @@ -1,3 +1,5 @@ +import KinovaCommon from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx"; +
@@ -27,11 +29,11 @@ manipulators:
-#### Package and Setup +
+Kinova 2F Lite Gripper Setup :::note The Kinova 2F Lite gripper is the standard gripper on the Kinova Gen3 Lite. It is controlled via the arm's hardware interface and therefore, does not need its own controller. ::: -The Kinova 2F Lite gripper uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintained by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova 2F Lite gripper [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/gripper/kinova_2f_lite.urdf.xacro) in `clearpath_manipulators_description`. + +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx new file mode 100644 index 000000000..839b2c2a4 --- /dev/null +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx @@ -0,0 +1,7 @@ +### Package and Setup +Kinova manipulators the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintained by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). + +For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova [description files](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm) in `clearpath_manipulators_description`. + +### Device IP and Port +The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_6dof.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_6dof.mdx index a724dd0c7..580161088 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_6dof.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_6dof.mdx @@ -1,3 +1,5 @@ +import KinovaCommon from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx"; +
@@ -27,10 +29,9 @@ manipulators:
-#### Package and Setup -The Kinova Gen3 6Dof uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintained by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). +
+Kinova Gen3 6DoF Setup -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova Gen3 6Dof [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/kinova_gen3_6dof.urdf.xacro) in `clearpath_manipulators_description`. + -#### Device IP and Port -The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_7dof.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_7dof.mdx index 206d996cf..dea254bba 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_7dof.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_7dof.mdx @@ -1,3 +1,5 @@ +import KinovaCommon from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx"; +
@@ -27,10 +29,9 @@ manipulators:
-#### Package and Setup -The Kinova Gen3 7Dof uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintained by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). +
+Kinova Gen3 7DoF Setup -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova Gen3 7Dof [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/kinova_gen3_6dof.urdf.xacro) in `clearpath_manipulators_description`. + -#### Device IP and Port -The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_lite.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_lite.mdx index 1b69fac91..ec143029b 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_lite.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_gen3_lite.mdx @@ -1,3 +1,5 @@ +import KinovaCommon from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/kinova_common.mdx"; +
@@ -27,10 +29,9 @@ manipulators:
-#### Package and Setup -The Kinova Gen3 Lite uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintained by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). +
+Kinova Gen3 Lite Setup -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova Gen3 Lite [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/kinova_gen3_lite.urdf.xacro) in `clearpath_manipulators_description`. + -#### Device IP and Port -The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_140.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_140.mdx index 115744fd5..caf0e3c9a 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_140.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_140.mdx @@ -27,7 +27,10 @@ manipulators: -#### Package and Setup +
+Robotiq 2F 140 Setup + +### Package and Setup :::note The Robotiq 2F 140 gripper is supported by the Kinova Gen3 arm's wrist connector and hardware interface. Therefore, when attached to Kinova arm's the Robotiq gripper does not need its own controller. ::: @@ -35,3 +38,4 @@ The Robotiq 2F 140 uses the `robotiq_description` and `robotiq_driver` ROS 2 Pac For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Robotiq 2F 140 gripper [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/gripper/robotiq_2f_140.urdf.xacro) in `clearpath_manipulators_description`. +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_85.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_85.mdx index c5379d402..663803424 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_85.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_85.mdx @@ -27,7 +27,10 @@ manipulators: -#### Package and Setup +
+Robotiq 2F 85 Setup + +### Package and Setup :::note The Robotiq 2F 85 gripper is supported by the Kinova Gen3 arm's wrist connector and hardware interface. Therefore, when attached to Kinova arm's the Robotiq gripper does not need its own controller. ::: @@ -35,3 +38,4 @@ The Robotiq 2F 85 uses the `robotiq_description` and `robotiq_driver` ROS 2 Pack For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Robotiq 2F 85 gripper [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/gripper/robotiq_2f_85.urdf.xacro) in `clearpath_manipulators_description`. +
diff --git a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx index 2e55a1db5..30c61ac8f 100644 --- a/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx +++ b/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx @@ -26,16 +26,20 @@ manipulators: -#### Package and Setup +
+Universal Robots Setup + +### Package and Setup The Universal Robots arms use the `ur_description` and `ur_driver` ROS 2 Packages. The description and driver are open source, maintained by Universal Robots, and are hosted on GitHub. Refer to the [description repository](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description) and [driver repository](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver). For more specifics on the way Clearpath's configuration system adds the arm to the robot description, see the [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/universal_robots.urdf.xacro). Note, all parameters to the `xacro:macro universal_robots` can be passed through the `robot.yaml` entry above. For examples, read the sections below. -#### Teach Pendant Setup +### Teach Pendant Setup The following sub-sections will cover the standard UR teach pendant setup, but with the specific Clearpath parameters. For the UR instructions see: [**Setting up a UR robot for ur_robot_driver**](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/robot_setup.html) and [**Installing a URCap on a e-Series robot**](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/install_urcap_e_series.html). -##### Networking Settings + +#### Networking Settings At Clearpath, we use the `192.168.131.x` subnet and assign manipulators to the range `192.168.131.40-49`. Therefore, when setting up a UR arm, we encourage the use of the `192.168.131.40` address. Navigate to the **Settings/System/Networking** page of the UR teach pendant and set the following: @@ -46,7 +50,7 @@ Navigate to the **Settings/System/Networking** page of the UR teach pendant and -##### URCap +#### URCap In order to control the arm from an external device, the `External Control` URCap needs to be setup. You can find the latest `externalcontrol-x.x.x.urcap` in its [repository](https://github.com/UniversalRobots/Universal_Robots_ExternalControl_URCap/releases). Install it by adding it to the `programs` folder in the `/`, root directory of the arm's control box. Use a USB stick or `scp`. Navigate to the **Settings/System/URCaps** page to install the URCap. Note, you will be prompted and must restart before using the URCap. @@ -63,7 +67,7 @@ Navigate to the **Installation/URCaps** page to configure the IP address and hos -##### External Control Program +#### External Control Program Once the URCap has been installed and configured, a program that launches the **ExternalControl** task needs to be created and set as default. Begin by navigating to the **Programs/URCap** section, make sure the program is empty except for the addition of the **ExternalControl** task. Save the program as `external_control.urp`: @@ -81,7 +85,7 @@ Now, set the program as default so that it is automatically loaded and ready to -##### Initializing the Arm +#### Initializing the Arm At start up, the arm needs to be turned on and initialized. Press the button in the bottom left corner which will bring-up the arm start-up sequence window. Follow the instructions to initialize the arm: @@ -131,13 +135,12 @@ At start up, the arm needs to be turned on and initialized. Press the button in Once the robot is in normal mode, you can proceed to initialize the external control program. - -#### Standard Initialization (Recommended) +### Standard Initialization (Recommended) At start up, the robot computer will launch the arm's controller using the `clearpath-manipulators.service`. Once the arm is on and initialized through the teach pendant, start the `external_control` program, which will begin communication with the ROS driver. Start the program by pressing the play button on the **Run** page. -##### Troubleshooting +#### Troubleshooting If the following error pop-up window appears, then ensure that the arm's URCap configuration matches the robot's computer and that the robot's computer is able to ping the arm. The error also indicates that the ROS driver is not currently running or has been stopped. Restart the `clearpath-manipulators.service` and try again: ```yaml sudo systemctl stop clearpath-manipulators.service @@ -151,10 +154,10 @@ sudo systemctl start clearpath-manipulators.service -#### Headless Initialization +### Headless Initialization If the arm has been setup to accept external control by surrendering manual control in the teach pendant, then it is possible to bypass the manual initialization of the UR program on the tablet. If this is the case, make sure the arm has been turned on and initialized through the teach pendant, then set, `headless: true` in the `robot.yaml`. This will restart the services and the arm should connect automatically. -##### Setup +#### Setup The headless setup is not recommended as it is more complicated, however it exposes the entire teach pendant's functionality to the ROS interface, and thus, provides experienced ROS users with the ability to detect arm faults, clear faults, and restart the arm programmatically. To begin the setup, make sure that remote control is enabled in the **Settings/System/Remote Control** page: @@ -186,13 +189,13 @@ Then, you will be able to switch from **Automatic** to **Remote Control**: In this mode, you will be unable to interface with the arm directly from the tablet. Instead, all commands must be sent by the external device. You can restore manual control by following the steps above in reverse. -#### Parameter: Device IP +### Parameter: Device IP The `robot_ip` must be set to match the networking settings of the arm's control box. By default, we use the `192.168.131.40` address. -#### Parameter: UR Type +### Parameter: UR Type The `ur_type` parameter can be modified to change the type of the arm. By default, it is set to `ur5e`. But, it is critical that it is changed to match the real arm type. The following types are supported: `ur3`, `ur3e`, `ur5`, `ur5e`, `ur10`, `ur10e`, `ur16e`, `ur20`, `ur30`. -#### Parameter: Calibration Parameters +### Parameter: Calibration Parameters By default, the default kinematics parameter file is passed to the arm's ROS controller. Because each arm has it's own measurable offsets, it is likely that without updating this calibration file the arm's movements will not be as accurate as could be. Therefore, use the [`ur_calibration`](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/robot_setup.html#extract-calibration-information) package to obtain the calibration parameter file. ```bash @@ -218,3 +221,4 @@ Note, you can also pass in substitution arguments: ```yaml kinematics_parameters_file: "$(find package_name)/path/to/my_robot_calibration.yaml" ``` + diff --git a/docs_versioned_docs/version-ros2humble/ros/changelog.mdx b/docs_versioned_docs/version-ros2humble/ros/changelog.mdx index 2ad052b2b..06085d079 100644 --- a/docs_versioned_docs/version-ros2humble/ros/changelog.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/changelog.mdx @@ -80,8 +80,8 @@ The `StopStatus` message in `clearpath_msgs` has an additional field in the `0.3 - R100 Platform and [Attachments](./config/yaml/platform/attachments/r100.mdx) - [Manipulator Generators](./config/generators.mdx#manipulation-generation) - MoveIt! Configuration Generation -- [Kinova Gen3 Lite, 6Dof, and 7Dof Arms](./config/yaml/manipulators.mdx#kinova-arms) -- [Robotiq 2F 85 and 140 Grippers](./config/yaml/manipulators.mdx#robotiq-grippers) +- [Kinova Gen3 Lite, 6Dof, and 7Dof Arms](./config/yaml/manipulators.mdx#kinova-gen3-lite) +- [Robotiq 2F 85 and 140 Grippers](./config/yaml/manipulators.mdx#robotiq-2F-85) ### Changed - `StopStatus` message added `needs_reset` parameter for R100 platform. diff --git a/docs_versioned_docs/version-ros2humble/ros/config/yaml/manipulators.mdx b/docs_versioned_docs/version-ros2humble/ros/config/yaml/manipulators.mdx index b9b0c899f..3848b1779 100644 --- a/docs_versioned_docs/version-ros2humble/ros/config/yaml/manipulators.mdx +++ b/docs_versioned_docs/version-ros2humble/ros/config/yaml/manipulators.mdx @@ -12,7 +12,8 @@ import Kinova2FLite from "/docs_versioned_docs/version-ros2humble/components/yam import Robotiq2F85 from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_85.mdx"; import Robotiq2F140 from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/robotiq_2f_140.mdx"; import UniversalRobots from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/universal_robots.mdx"; - +import Franka from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka.mdx"; +import FrankaGripper from "/docs_versioned_docs/version-ros2humble/components/yaml/manipulators/franka_gripper.mdx"; Manipulators include all robotic arms and grippers. Unlike sensors, manipulators are not controlled by external drivers. Instead, a hardware controller must be loaded into the controller manager to handle the joint interface to move the specific manipulator joints. @@ -20,27 +21,44 @@ Additionally, MoveIt! must be launched to plan paths and move manipulators to a Every arm can have at most one gripper, and grippers can only be added to an existing arm. This way, depending on the arm and the gripper, the configuration system can determine whether the arm handles communication with the gripper or whether it must be done through an external connection directly to the robot computer. -## Kinova Arms {#kinova-arms} +# Arms + +## Kinova Gen3 Lite {#kinova-gen3-lite}
+## Kinova Gen3 6DoF {#kinova-gen3-6dof}
+## Kinova Gen3 7DoF {#kinova-gen3-7dof}
-## Kinova Grippers {#kinova-grippers} +## Universal Robots {#universal-robots} + +
+ +## Franka {#franka} + +
+ +# Grippers + +## Kinova 2F Lite {#kinova-2f-lite}
-## Robotiq Grippers {#robotiq-grippers} +## Robotiq 2F 85 {#robotiq-2F-85}
+## Robotiq 2F 140 {#robotiq-2F-140}
-## Universal Robots {#universal-robots} - +## Franka Hand {#franka-hand} +
+ + diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/configs.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/configs.mdx new file mode 100644 index 000000000..52a173f56 --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/configs.mdx @@ -0,0 +1,330 @@ + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + + + + + +
+ + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fr3 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+ + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fp3 + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fp3 + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fp3 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fp3 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+ +
+ + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fer + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fer + robot_ip: 192.168.131.40 + gripper: + model: franka_gripper +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fer + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: franka + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + arm_id: fer + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+ +
+ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/details.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/details.mdx new file mode 100644 index 000000000..e9047b58c --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/details.mdx @@ -0,0 +1,34 @@ +### Package and Setup {#franka_package_and_setup} +The Franka arms use the `franka_description` and `franka_ros2` ROS 2 packages abd the `libfranka` SDK. The description and driver are open source, maintained by Franka Robotics, and hosted on GitHub. Refer to the [description repository](https://github.com/frankarobotics/franka_description), [driver repository](https://github.com/frankarobotics/franka_ros2), and [SDK repository](https://github.com/frankarobotics/libfranka). Follow the [instructions in the driver repository's README](https://github.com/frankarobotics/franka_ros2/blob/humble/README.md#franka-ros-2-dependencies-setup) to build the Franka packages in a workspace. + +For more specifics on the way Clearpath's configuration system adds the arm to the robot description, see the [description file](https://github.com/clearpathrobotics/clearpath_common/blob/humble/clearpath_manipulators_description/urdf/arm/franka.urdf.xacro). Note, all parameters to the `xacro:macro franka` can be passed through the `robot.yaml` entry above. For examples, read the sections below. + +### Franka Desk Setup {#franka_desk_setup} + +#### Networking Settings {#franka_networking_settings} +
+ +Networking Settings Setup + +
+ +
+By default, the `C2 - Shop Floor network` should have `DHCP Client` disabled and set to the static `192.168.131.40` IP address. If changed to an IP other than `192.168.131.40`, then that new address must be passed to the `robot.yaml` entry through the `robot_ip` parameter. + +
+ +#### Initializing the Arm {#franka_arm_initialization} +
+ +Initializing the Arm + +
+ +
+To begin moving the arm, unlock the joints. Then, enable the `FCI` mode to allow a an external computer to control the arm. + +
+ +### Parameter: Device IP {#franka_param_ip} +The `robot_ip` must be set to match the networking settings of the arm's control box. By default, we use the `192.168.131.40` address. + diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/lineup.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/lineup.mdx new file mode 100644 index 000000000..66e4aaec2 --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/lineup.mdx @@ -0,0 +1,5 @@ +
+
+ +
+
diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_2f_lite.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_2f_lite.png deleted file mode 100644 index 0d8d94034..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_2f_lite.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_6dof.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_6dof.png deleted file mode 100644 index 558188107..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_6dof.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_7dof.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_7dof.png deleted file mode 100644 index 9daea80ba..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_7dof.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_lite.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_lite.png deleted file mode 100644 index 42133ee56..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/kinova_gen3_lite.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/robotiq_2f_140.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/robotiq_2f_140.png deleted file mode 100644 index a70468213..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/robotiq_2f_140.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/robotiq_2f_85.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/robotiq_2f_85.png deleted file mode 100644 index 4968f30f1..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/robotiq_2f_85.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots.png b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots.png deleted file mode 100644 index ce8e12dcf..000000000 Binary files a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/img/universal_robots.png and /dev/null differ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/configs.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/configs.mdx new file mode 100644 index 000000000..ff7a337dc --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/configs.mdx @@ -0,0 +1,160 @@ +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: kinova_gen3_lite + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ip: 192.168.131.40 + port: 10000 + gripper: + model: kinova_2f_lite +``` +
+
+ + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: kinova_gen3_6dof + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ip: 192.168.131.40 + port: 10000 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: kinova_gen3_6dof + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ip: 192.168.131.40 + port: 10000 + gripper: + model: robotiq_2f_140 +``` +
+
+ + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: kinova_gen3_7dof + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ip: 192.168.131.40 + port: 10000 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: kinova_gen3_7dof + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ip: 192.168.131.40 + port: 10000 + gripper: + model: robotiq_2f_140 +``` +
+
+ +
diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/details.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/details.mdx new file mode 100644 index 000000000..94f901750 --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/details.mdx @@ -0,0 +1,8 @@ +### Package and Setup {#kinova_package_and_setup} +Kinova manipulators uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintained by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). + +For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova's [description files](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/arm/) in `clearpath_manipulators_description`. + +### Device IP and Port {#kinova_param_ip_port} +The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. + diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/lineup.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/lineup.mdx new file mode 100644 index 000000000..849469cbe --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/lineup.mdx @@ -0,0 +1,6 @@ +
+
+ +
+
+ diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_2f_lite.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_2f_lite.mdx deleted file mode 100644 index 66b9d4f02..000000000 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_2f_lite.mdx +++ /dev/null @@ -1,37 +0,0 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: kinova_gen3_lite - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ip: 192.168.131.40 - port: 10000 - gripper: - model: kinova_2f_lite -``` -
- -#### Package and Setup -:::note -The Kinova 2F Lite gripper is the standard gripper on the Kinova Gen3 Lite. It is controlled via the arm's hardware interface and therefore, does not need its own controller. -::: -The Kinova 2F Lite gripper uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintained by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova 2F Lite gripper [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/gripper/kinova_2f_lite.urdf.xacro) in `clearpath_manipulators_description`. - diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_6dof.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_6dof.mdx deleted file mode 100644 index 940834aef..000000000 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_6dof.mdx +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: kinova_gen3_6dof - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ip: 192.168.131.40 - port: 10000 - gripper: - model: robotiq_2f_85 -``` -
- -#### Package and Setup -The Kinova Gen3 6Dof uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintained by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova Gen3 6Dof [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/arm/kinova_gen3_6dof.urdf.xacro) in `clearpath_manipulators_description`. - -#### Device IP and Port -The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_7dof.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_7dof.mdx deleted file mode 100644 index 0aa5da453..000000000 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_7dof.mdx +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: kinova_gen3_7dof - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ip: 192.168.131.40 - port: 10000 - gripper: - model: robotiq_2f_85 -``` -
- -#### Package and Setup -The Kinova Gen3 7Dof uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintained by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova Gen3 7Dof [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/arm/kinova_gen3_6dof.urdf.xacro) in `clearpath_manipulators_description`. - -#### Device IP and Port -The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_lite.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_lite.mdx deleted file mode 100644 index 28c9d3700..000000000 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_lite.mdx +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: kinova_gen3_lite - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ip: 192.168.131.40 - port: 10000 - gripper: - model: kinova_2f_lite -``` -
- -#### Package and Setup -The Kinova Gen3 Lite uses the `kortex_description` and `kortex_driver` ROS 2 Packages. The driver is open source, maintained by Kinova Robotics, and hosted on [GitHub](https://github.com/Kinovarobotics/ros2_kortex). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Kinova Gen3 Lite [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/arm/kinova_gen3_lite.urdf.xacro) in `clearpath_manipulators_description`. - -#### Device IP and Port -The `ip` and `port` parameters must be set to the corresponding values set on the manipulators configuration page. diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/robotiq_2f_140.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/robotiq_2f_140.mdx deleted file mode 100644 index f3d6b4bb0..000000000 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/robotiq_2f_140.mdx +++ /dev/null @@ -1,37 +0,0 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: kinova_gen3_6dof - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ip: 192.168.131.40 - port: 10000 - gripper: - model: robotiq_2f_140 -``` -
- -#### Package and Setup -:::note -The Robotiq 2F 140 gripper is supported by the Kinova Gen3 arm's wrist connector and hardware interface. Therefore, when attached to Kinova arm's the Robotiq gripper does not need its own controller. -::: -The Robotiq 2F 140 uses the `robotiq_description` and `robotiq_driver` ROS 2 Packages. The driver is open source, maintained by PickNik Robotics, and hosted on [GitHub](https://github.com/PickNikRobotics/ros2_robotiq_gripper). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Robotiq 2F 140 gripper [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/gripper/robotiq_2f_140.urdf.xacro) in `clearpath_manipulators_description`. - diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/robotiq_2f_85.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/robotiq_2f_85.mdx deleted file mode 100644 index f8e363d25..000000000 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/robotiq_2f_85.mdx +++ /dev/null @@ -1,37 +0,0 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: kinova_gen3_6dof - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ip: 192.168.131.40 - port: 10000 - gripper: - model: robotiq_2f_85 -``` -
- -#### Package and Setup -:::note -The Robotiq 2F 85 gripper is supported by the Kinova Gen3 arm's wrist connector and hardware interface. Therefore, when attached to Kinova arm's the Robotiq gripper does not need its own controller. -::: -The Robotiq 2F 85 uses the `robotiq_description` and `robotiq_driver` ROS 2 Packages. The driver is open source, maintained by PickNik Robotics, and hosted on [GitHub](https://github.com/PickNikRobotics/ros2_robotiq_gripper). - -For more specifics on the way Clearpath's configuration system adds the manipulator to the robot description, see the Robotiq 2F 85 gripper [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/gripper/robotiq_2f_85.urdf.xacro) in `clearpath_manipulators_description`. - diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/configs.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/configs.mdx new file mode 100644 index 000000000..720e1fce4 --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/configs.mdx @@ -0,0 +1,522 @@ +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur3e + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur3e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur3e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+
+ + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur5e + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur5e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur5e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+
+ + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur10e + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur10e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur10e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur16e + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur16e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur16e + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+
+ + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur20 + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur20 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur20 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur30 + robot_ip: 192.168.131.40 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur30 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_85 +``` +
+
+
+ +
+
+
+ +```yaml +manipulators: + moveit: + enable: false + arms: + - model: universal_robots + parent: default_mount + xyz: [0.0, 0.0, 0.0] + rpy: [0.0, 0.0, 0.0] + ur_type: ur30 + robot_ip: 192.168.131.40 + gripper: + model: robotiq_2f_140 +``` +
+
+ +
diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/details.mdx similarity index 73% rename from docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots.mdx rename to docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/details.mdx index c409fb1a9..654753e7c 100644 --- a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots.mdx +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/details.mdx @@ -1,94 +1,88 @@ - - - - - -
-
-
- -
-
-
- -```yaml -manipulators: - moveit: - enable: false - arms: - - model: universal_robots - parent: default_mount - xyz: [0.0, 0.0, 0.0] - rpy: [0.0, 0.0, 0.0] - ur_type: ur5e - robot_ip: 192.168.131.40 - headless: false -``` -
- -#### Package and Setup +### Package and Setup {#ur_package_and_setup} The Universal Robots arms use the `ur_description` and `ur_driver` ROS 2 Packages. The description and driver are open source, maintained by Universal Robots, and are hosted on GitHub. Refer to the [description repository](https://github.com/UniversalRobots/Universal_Robots_ROS2_Description) and [driver repository](https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver). For more specifics on the way Clearpath's configuration system adds the arm to the robot description, see the [description file](https://github.com/clearpathrobotics/clearpath_common/blob/jazzy/clearpath_manipulators_description/urdf/arm/universal_robots.urdf.xacro). Note, all parameters to the `xacro:macro universal_robots` can be passed through the `robot.yaml` entry above. For examples, read the sections below. -#### Teach Pendant Setup +### Teach Pendant Setup {#ur_teach_pendant_setup} The following sub-sections will cover the standard UR teach pendant setup, but with the specific Clearpath parameters. For the UR instructions see: [**Setting up a UR robot for ur_robot_driver**](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/robot_setup.html) and [**Installing a URCap on a e-Series robot**](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/install_urcap_e_series.html). -##### Networking Settings + + +#### Networking Settings {#ur_networking_setup} +
+Network Settings Setup + At Clearpath, we use the `192.168.131.x` subnet and assign manipulators to the range `192.168.131.40-49`. Therefore, when setting up a UR arm, we encourage the use of the `192.168.131.40` address. Navigate to the **Settings/System/Networking** page of the UR teach pendant and set the following:
- +
-##### URCap +
+ +#### URCap +
+ +URCap Setup + In order to control the arm from an external device, the `External Control` URCap needs to be setup. You can find the latest `externalcontrol-x.x.x.urcap` in its [repository](https://github.com/UniversalRobots/Universal_Robots_ExternalControl_URCap/releases). Install it by adding it to the `programs` folder in the `/`, root directory of the arm's control box. Use a USB stick or `scp`. Navigate to the **Settings/System/URCaps** page to install the URCap. Note, you will be prompted and must restart before using the URCap.
- +
Navigate to the **Installation/URCaps** page to configure the IP address and hostname of the external device. The standard Clearpath robot computer IP address is `192.168.131.40`. Each robot has its own hostname, we will use `cpr-a300-0000` as a placeholder:
- +
-##### External Control Program +
+ +#### External Control Program {#ur_external_control_prog} +
+ +External Control Program Setup + Once the URCap has been installed and configured, a program that launches the **ExternalControl** task needs to be created and set as default. Begin by navigating to the **Programs/URCap** section, make sure the program is empty except for the addition of the **ExternalControl** task. Save the program as `external_control.urp`:
- +
Now, set the program as default so that it is automatically loaded and ready to run on start-up. Navigate to the **Installation/General/Startup** page and set the `external_control.urp` program as the default:
- +
+
+ +#### Initializing the Arm {#ur_arm_initialization} +
+ +Initializing the Arm in Teach Pendant -##### Initializing the Arm At start up, the arm needs to be turned on and initialized. Press the button in the bottom left corner which will bring-up the arm start-up sequence window. Follow the instructions to initialize the arm: @@ -98,7 +92,7 @@ At start up, the arm needs to be turned on and initialized. Press the button in @@ -106,7 +100,7 @@ At start up, the arm needs to be turned on and initialized. Press the button in @@ -114,7 +108,7 @@ At start up, the arm needs to be turned on and initialized. Press the button in @@ -122,7 +116,7 @@ At start up, the arm needs to be turned on and initialized. Press the button in @@ -131,13 +125,18 @@ At start up, the arm needs to be turned on and initialized. Press the button in Once the robot is in normal mode, you can proceed to initialize the external control program. + -#### Standard Initialization (Recommended) +### Standard Initialization (Recommended) {#ur_standard_initialization} At start up, the robot computer will launch the arm's controller using the `clearpath-manipulators.service`. Once the arm is on and initialized through the teach pendant, start the `external_control` program, which will begin communication with the ROS driver. Start the program by pressing the play button on the **Run** page. -##### Troubleshooting +#### Troubleshooting {#ur_init_troubleshooting} +
+ +Troubleshooting Initialization + If the following error pop-up window appears, then ensure that the arm's URCap configuration matches the robot's computer and that the robot's computer is able to ping the arm. The error also indicates that the ROS driver is not currently running or has been stopped. Restart the `clearpath-manipulators.service` and try again: ```yaml sudo systemctl stop clearpath-manipulators.service @@ -146,55 +145,65 @@ sudo systemctl start clearpath-manipulators.service
- +
+
-#### Headless Initialization +### Headless Initialization {#ur_headless_initialization} If the arm has been setup to accept external control by surrendering manual control in the teach pendant, then it is possible to bypass the manual initialization of the UR program on the tablet. If this is the case, make sure the arm has been turned on and initialized through the teach pendant, then set, `headless: true` in the `robot.yaml`. This will restart the services and the arm should connect automatically. -##### Setup +
+ +Headless Initialization Setup + The headless setup is not recommended as it is more complicated, however it exposes the entire teach pendant's functionality to the ROS interface, and thus, provides experienced ROS users with the ability to detect arm faults, clear faults, and restart the arm programmatically. To begin the setup, make sure that remote control is enabled in the **Settings/System/Remote Control** page:
- +
To enter **Remote Control** mode, first put the teach pendant in **Automatic**:
- +
Then, you will be able to switch from **Automatic** to **Remote Control**:
- +
- +
In this mode, you will be unable to interface with the arm directly from the tablet. Instead, all commands must be sent by the external device. You can restore manual control by following the steps above in reverse. -#### Parameter: Device IP +
+ +### Parameter: Device IP {#ur_param_ip} The `robot_ip` must be set to match the networking settings of the arm's control box. By default, we use the `192.168.131.40` address. -#### Parameter: UR Type +### Parameter: UR Type {#ur_param_type} The `ur_type` parameter can be modified to change the type of the arm. By default, it is set to `ur5e`. But, it is critical that it is changed to match the real arm type. The following types are supported: `ur3`, `ur3e`, `ur5`, `ur5e`, `ur10`, `ur10e`, `ur16e`, `ur20`, `ur30`. -#### Parameter: Calibration Parameters +### Parameter: Calibration Parameters {#ur_param_calib} By default, the default kinematics parameter file is passed to the arm's ROS controller. Because each arm has it's own measurable offsets, it is likely that without updating this calibration file the arm's movements will not be as accurate as could be. Therefore, use the [`ur_calibration`](https://docs.universal-robots.com/Universal_Robots_ROS2_Documentation/doc/ur_robot_driver/ur_robot_driver/doc/installation/robot_setup.html#extract-calibration-information) package to obtain the calibration parameter file. +
+ +UR Retrieve Calibration + ```bash ros2 launch ur_calibration calibration_correction.launch.py robot_ip:= target_filename:="${HOME}/my_robot_calibration.yaml" ``` @@ -218,3 +227,5 @@ Note, you can also pass in substitution arguments: ```yaml kinematics_parameters_file: "$(find package_name)/path/to/my_robot_calibration.yaml" ``` + +
diff --git a/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/lineup.mdx b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/lineup.mdx new file mode 100644 index 000000000..10579c37a --- /dev/null +++ b/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/lineup.mdx @@ -0,0 +1,5 @@ +
+
+ +
+
diff --git a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/manipulators.mdx b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/manipulators.mdx index 643f057df..931ceb0b9 100644 --- a/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/manipulators.mdx +++ b/docs_versioned_docs/version-ros2jazzy/ros/config/yaml/manipulators.mdx @@ -5,13 +5,29 @@ sidebar_position: 8 toc_min_heading_level: 2 toc_max_heading_level: 4 --- -import KinovaGen3Lite from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova_gen3_lite.mdx"; + + + +import KinovaLineUp from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/lineup.mdx"; +import KinovaConfigs from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/configs.mdx"; +import KinovaDetails from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/kinova/details.mdx"; + +import UniversalRobotsLineUp from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/lineup.mdx"; +import UniversalRobotsConfigs from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/configs.mdx"; +import UniversalRobotsDetails from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/universal_robots/details.mdx"; + +import FrankaLineUp from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/lineup.mdx"; +import FrankaConfigs from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/configs.mdx"; +import FrankaDetails from "/docs_versioned_docs/version-ros2jazzy/components/yaml/manipulators/franka/details.mdx"; Manipulators include all robotic arms and grippers. Unlike sensors, manipulators are not controlled by external drivers. Instead, a hardware controller must be loaded into the controller manager to handle the joint interface to move the specific manipulator joints. @@ -22,29 +38,52 @@ Every arm can have at most one gripper, and grippers can only be added to an exi By default, MoveIt! is disabled but can be enabled in the `robot.yaml`. -## Supported Manipulators - -### Kinova Arms {#kinova-arms} + +## Franka {#franka} + + + +
-### Kinova Grippers {#kinova-grippers} +## Kinova {#kinova} + + + +
+ +## Universal Robots {#universal-robots} + + + +
+ + +
- +
- +
- +
- +
- +