From 57c04d72a17902e4f20aa289798ef1155cb3ee90 Mon Sep 17 00:00:00 2001 From: Victor LEUNG Date: Tue, 19 Nov 2024 22:57:15 +0800 Subject: [PATCH] Unfinished doc migration --- docs/backends/analytical_kinematics.rst | 6 + docs/backends/analytical_pybullet.rst | 5 + docs/backends/pybullet.rst | 26 +- docs/backends/ros.rst | 179 +- .../ros}/06_ros_in_grasshopper.rst | 2 +- ..._create_urdf_ur5_with_measurement_tool.rst | 6 +- ...create_moveit_package_from_custom_urdf.rst | 24 +- .../ros}/09_ros_create_urdf_ur10_on_tower.rst | 20 +- .../ros/10_ros_custom_nodes.rst} | 35 +- .../ros/files/10_ros_hello_world_listener.py} | 0 .../ros/files/10_ros_hello_world_talker.py} | 0 .../ros/files/Construct Robot Cell.py} | 0 .../ros}/files/gh_forward_kinematics.py | 0 .../ros}/files/gh_inverse_kinematics.py | 0 .../ros}/files/gh_plan_cartesian_motion.py | 0 .../ros}/files/gh_plan_motion.py | 0 .../ros}/files/gh_robot_visualisation.py | 0 .../ros}/files/robot-playground.ghx | 0 .../ros/images}/06_ros_in_grasshopper.jpg | Bin .../ros/images}/07_urdf_tool_00.jpg | Bin .../ros/images}/07_urdf_tool_01.jpg | Bin .../08_ros_create_moveit_package_00.jpg | Bin .../08_ros_create_moveit_package_01.jpg | Bin .../08_ros_create_moveit_package_02.jpg | Bin .../08_ros_create_moveit_package_03.jpg | Bin .../08_ros_create_moveit_package_04.jpg | Bin .../08_ros_create_moveit_package_05.jpg | Bin .../08_ros_create_moveit_package_06.jpg | Bin .../08_ros_create_moveit_package_07.jpg | Bin .../08_ros_create_moveit_package_08.jpg | Bin .../08_ros_create_moveit_package_09.jpg | Bin .../08_ros_create_moveit_package_10.jpg | Bin .../ros/images}/09_ur10_tower_urdf_00-1.jpg | Bin .../ros/images}/09_ur10_tower_urdf_00-2.jpg | Bin .../ros/images}/09_ur10_tower_urdf_00.jpg | Bin .../ros/images}/09_ur10_tower_urdf_01.jpg | Bin .../ros/images}/09_ur10_tower_urdf_02.jpg | Bin .../ros/images}/09_ur10_tower_urdf_03.jpg | Bin .../ros/images}/09_ur10_tower_urdf_04.jpg | Bin .../ros/images}/09_ur10_tower_urdf_06.jpg | Bin .../ros/images}/09_ur10_tower_urdf_07.jpg | Bin .../ros/images}/09_ur10_tower_urdf_08.jpg | Bin .../01_frame_and_transformation.rst | 103 - .../01_fundamentals/02_coordinate_frames.rst | 127 - .../files/02_coordinate_frames.jpg | Bin 165780 -> 0 bytes docs/examples/02_description_models.rst | 11 - .../01_kinematic_model.rst | 92 - .../02_description_models/02_robot.rst | 92 - .../03_robot_instances.rst | 53 - .../02_description_models/03_targets.rst | 65 - .../files/01_robot_links_and_joints.jpg | Bin 82541 -> 0 bytes .../files/01_robot_model.jpg | Bin 142764 -> 0 bytes .../files/02_robot_from_disk.py | 17 - .../files/02_robot_from_github.py | 18 - .../files/02_robot_from_library.py | 10 - .../files/02_robot_from_ros.py | 6 - .../files/02_robot_from_ros_with_cache.py | 10 - .../files/03_robot_blender.py | 15 - .../files/03_robot_grasshopper.ghx | 2648 ---------- .../files/03_robot_grasshopper_from_ros.ghx | 2902 ----------- .../files/03_robot_rhino.py | 17 - .../files/03_robot_rhino_from_ros.py | 11 - .../files/04_robot_cell_library_pybullet.py | 10 - .../files/05_robot_model_chains.py | 88 - .../files/05_robot_viewer.py | 53 - .../03_backends_ros/02_robot_models.rst | 23 - .../03_forward_and_inverse_kinematics.rst | 55 - .../03_backends_ros/04_plan_motion.rst | 33 - .../03_backends_ros/05_collision_objects.rst | 100 - .../01_robot_cell_with_kinematic_tools.py | 51 - .../files/01_ros_robot_cell_with_tools.py | 84 - .../files/01_ros_set_robot_cell.py | 61 - .../03_backends_ros/files/02_robot_model.py | 7 - .../03_forward_and_inverse_kinematics.jpg | Bin 142896 -> 0 bytes .../files/03_forward_kinematics.py | 17 - .../files/03_forward_kinematics_urdf.py | 12 - .../files/03_forward_kinematics_with_tools.py | 37 - .../files/03_inverse_kinematics.py | 29 - .../files/03_iter_inverse_kinematics.py | 22 - .../files/04_plan_cartesian_motion.py | 30 - .../03_backends_ros/files/04_plan_motion.py | 39 - .../files/05_collision_objects.jpg | Bin 182669 -> 0 bytes .../files/05_collision_objects_append.jpg | Bin 195498 -> 0 bytes .../files/05_collision_objects_attached.jpg | Bin 178836 -> 0 bytes .../05_collision_objects_attached_empty.jpg | Bin 42948 -> 0 bytes .../05_grasshopper_collision_objects.ghx | 4411 ----------------- .../05_grasshopper_collision_objects.jpg | Bin 110974 -> 0 bytes .../01_pybullet_examples.rst | 70 - .../02_forward_and_inverse_kinematics.rst | 38 - .../files/01_robot_cell_basics.py | 30 - .../files/01_robot_cell_with_tools.py | 69 - .../files/02_forward_kinematics with_tools.py | 43 - .../files/02_forward_kinematics.py | 39 - .../files/02_inverse_kinematics.py | 39 - .../files/02_inverse_kinematics_errors.py | 53 - ...2_inverse_kinematics_multiple_solutions.py | 35 - ...02_inverse_kinematics_point_axis_target.py | 44 - ...tics_point_axis_target_check_collisions.py | 52 - .../02_inverse_kinematics_semi_constrained.py | 87 - .../files/02_inverse_kinematics_with_tools.py | 42 - .../files/02_iter_inverse_kinematics.py | 26 - .../files/03_check_collision.py | 74 - ...4_plan_cartesian_motion_frame_waypoints.py | 49 - ...cartesian_motion_interpolation_settings.py | 65 - ...n_cartesian_motion_point_axis_waypoints.py | 84 - .../files/_pybullet_demo_helper.py | 22 - docs/examples/06_backends_kinematics.rst | 11 - docs/examples/07_reachability_map.rst | 11 - docs/examples/conftest.py | 45 - docs/frontends/features_and_requirements.csv | 20 + .../rhino/files/visualize_with_eto_form.py | 0 .../abb-irb120-demo/docker-compose.yml | 0 .../abb-irb120t-demo/docker-compose.yml | 0 .../abb-irb1600-demo/docker-compose.yml | 0 .../docker-compose.yml | 0 .../docker-compose.yml | 0 .../docker_files}/base/docker-compose.yml | 0 .../panda-demo/docker-compose.yml | 0 .../docker_files}/rfl-demo/docker-compose.yml | 0 .../ur10-demo/docker-compose.yml | 0 .../ur10e-demo/docker-compose.yml | 0 .../docker_files}/ur3-demo/docker-compose.yml | 0 .../ur3e-demo/docker-compose.yml | 0 .../docker_files}/ur5-demo/docker-compose.yml | 0 .../ur5-demo/docker-compose_gui_xming.yml | 0 .../ur5e-demo/docker-compose.yml | 0 docs/installation/install_compas_fab.rst | 119 + .../ros_setup_ur.txt | 0 .../installation/setup_backend_no_backend.rst | 33 + .../setup_backend_pybullet.rst} | 9 +- docs/installation/setup_backend_ros.rst | 213 + docs/installation/setup_frontend_blender.rst | 9 + docs/installation/setup_frontend_rhino.rst | 24 + .../setup_frontend_rhino_8.rst} | 9 +- .../setup_frontend_viewer.rst} | 10 +- docs/installation/setup_frontend_vscode.rst | 63 + .../web_x11_gui.rst | 4 +- 137 files changed, 584 insertions(+), 12619 deletions(-) create mode 100644 docs/backends/analytical_kinematics.rst create mode 100644 docs/backends/analytical_pybullet.rst rename docs/{examples/03_backends_ros => backends/ros}/06_ros_in_grasshopper.rst (95%) rename docs/{examples/03_backends_ros => backends/ros}/07_ros_create_urdf_ur5_with_measurement_tool.rst (98%) rename docs/{examples/03_backends_ros => backends/ros}/08_ros_create_moveit_package_from_custom_urdf.rst (91%) rename docs/{examples/03_backends_ros => backends/ros}/09_ros_create_urdf_ur10_on_tower.rst (96%) rename docs/{examples/03_backends_ros/01_ros_examples.rst => backends/ros/10_ros_custom_nodes.rst} (68%) rename docs/{examples/03_backends_ros/files/01_ros_hello_world_listener.py => backends/ros/files/10_ros_hello_world_listener.py} (100%) rename docs/{examples/03_backends_ros/files/01_ros_hello_world_talker.py => backends/ros/files/10_ros_hello_world_talker.py} (100%) rename docs/{examples/03_backends_ros/files/04_plan_cartesian_motion_with_attached_objects.py => backends/ros/files/Construct Robot Cell.py} (100%) rename docs/{examples/03_backends_ros => backends/ros}/files/gh_forward_kinematics.py (100%) rename docs/{examples/03_backends_ros => backends/ros}/files/gh_inverse_kinematics.py (100%) rename docs/{examples/03_backends_ros => backends/ros}/files/gh_plan_cartesian_motion.py (100%) rename docs/{examples/03_backends_ros => backends/ros}/files/gh_plan_motion.py (100%) rename docs/{examples/03_backends_ros => backends/ros}/files/gh_robot_visualisation.py (100%) rename docs/{examples/03_backends_ros => backends/ros}/files/robot-playground.ghx (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/06_ros_in_grasshopper.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/07_urdf_tool_00.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/07_urdf_tool_01.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/08_ros_create_moveit_package_00.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/08_ros_create_moveit_package_01.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/08_ros_create_moveit_package_02.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/08_ros_create_moveit_package_03.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/08_ros_create_moveit_package_04.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/08_ros_create_moveit_package_05.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/08_ros_create_moveit_package_06.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/08_ros_create_moveit_package_07.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/08_ros_create_moveit_package_08.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/08_ros_create_moveit_package_09.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/08_ros_create_moveit_package_10.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/09_ur10_tower_urdf_00-1.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/09_ur10_tower_urdf_00-2.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/09_ur10_tower_urdf_00.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/09_ur10_tower_urdf_01.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/09_ur10_tower_urdf_02.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/09_ur10_tower_urdf_03.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/09_ur10_tower_urdf_04.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/09_ur10_tower_urdf_06.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/09_ur10_tower_urdf_07.jpg (100%) rename docs/{examples/03_backends_ros/files => backends/ros/images}/09_ur10_tower_urdf_08.jpg (100%) delete mode 100644 docs/examples/01_fundamentals/01_frame_and_transformation.rst delete mode 100644 docs/examples/01_fundamentals/02_coordinate_frames.rst delete mode 100644 docs/examples/01_fundamentals/files/02_coordinate_frames.jpg delete mode 100644 docs/examples/02_description_models.rst delete mode 100644 docs/examples/02_description_models/01_kinematic_model.rst delete mode 100644 docs/examples/02_description_models/02_robot.rst delete mode 100644 docs/examples/02_description_models/03_robot_instances.rst delete mode 100644 docs/examples/02_description_models/03_targets.rst delete mode 100644 docs/examples/02_description_models/files/01_robot_links_and_joints.jpg delete mode 100644 docs/examples/02_description_models/files/01_robot_model.jpg delete mode 100644 docs/examples/02_description_models/files/02_robot_from_disk.py delete mode 100644 docs/examples/02_description_models/files/02_robot_from_github.py delete mode 100644 docs/examples/02_description_models/files/02_robot_from_library.py delete mode 100644 docs/examples/02_description_models/files/02_robot_from_ros.py delete mode 100644 docs/examples/02_description_models/files/02_robot_from_ros_with_cache.py delete mode 100644 docs/examples/02_description_models/files/03_robot_blender.py delete mode 100644 docs/examples/02_description_models/files/03_robot_grasshopper.ghx delete mode 100644 docs/examples/02_description_models/files/03_robot_grasshopper_from_ros.ghx delete mode 100644 docs/examples/02_description_models/files/03_robot_rhino.py delete mode 100644 docs/examples/02_description_models/files/03_robot_rhino_from_ros.py delete mode 100644 docs/examples/02_description_models/files/04_robot_cell_library_pybullet.py delete mode 100644 docs/examples/02_description_models/files/05_robot_model_chains.py delete mode 100644 docs/examples/02_description_models/files/05_robot_viewer.py delete mode 100644 docs/examples/03_backends_ros/02_robot_models.rst delete mode 100644 docs/examples/03_backends_ros/03_forward_and_inverse_kinematics.rst delete mode 100644 docs/examples/03_backends_ros/04_plan_motion.rst delete mode 100644 docs/examples/03_backends_ros/05_collision_objects.rst delete mode 100644 docs/examples/03_backends_ros/files/01_robot_cell_with_kinematic_tools.py delete mode 100644 docs/examples/03_backends_ros/files/01_ros_robot_cell_with_tools.py delete mode 100644 docs/examples/03_backends_ros/files/01_ros_set_robot_cell.py delete mode 100644 docs/examples/03_backends_ros/files/02_robot_model.py delete mode 100644 docs/examples/03_backends_ros/files/03_forward_and_inverse_kinematics.jpg delete mode 100644 docs/examples/03_backends_ros/files/03_forward_kinematics.py delete mode 100644 docs/examples/03_backends_ros/files/03_forward_kinematics_urdf.py delete mode 100644 docs/examples/03_backends_ros/files/03_forward_kinematics_with_tools.py delete mode 100644 docs/examples/03_backends_ros/files/03_inverse_kinematics.py delete mode 100644 docs/examples/03_backends_ros/files/03_iter_inverse_kinematics.py delete mode 100644 docs/examples/03_backends_ros/files/04_plan_cartesian_motion.py delete mode 100644 docs/examples/03_backends_ros/files/04_plan_motion.py delete mode 100644 docs/examples/03_backends_ros/files/05_collision_objects.jpg delete mode 100644 docs/examples/03_backends_ros/files/05_collision_objects_append.jpg delete mode 100644 docs/examples/03_backends_ros/files/05_collision_objects_attached.jpg delete mode 100644 docs/examples/03_backends_ros/files/05_collision_objects_attached_empty.jpg delete mode 100644 docs/examples/03_backends_ros/files/05_grasshopper_collision_objects.ghx delete mode 100644 docs/examples/03_backends_ros/files/05_grasshopper_collision_objects.jpg delete mode 100644 docs/examples/05_backends_pybullet/01_pybullet_examples.rst delete mode 100644 docs/examples/05_backends_pybullet/02_forward_and_inverse_kinematics.rst delete mode 100644 docs/examples/05_backends_pybullet/files/01_robot_cell_basics.py delete mode 100644 docs/examples/05_backends_pybullet/files/01_robot_cell_with_tools.py delete mode 100644 docs/examples/05_backends_pybullet/files/02_forward_kinematics with_tools.py delete mode 100644 docs/examples/05_backends_pybullet/files/02_forward_kinematics.py delete mode 100644 docs/examples/05_backends_pybullet/files/02_inverse_kinematics.py delete mode 100644 docs/examples/05_backends_pybullet/files/02_inverse_kinematics_errors.py delete mode 100644 docs/examples/05_backends_pybullet/files/02_inverse_kinematics_multiple_solutions.py delete mode 100644 docs/examples/05_backends_pybullet/files/02_inverse_kinematics_point_axis_target.py delete mode 100644 docs/examples/05_backends_pybullet/files/02_inverse_kinematics_point_axis_target_check_collisions.py delete mode 100644 docs/examples/05_backends_pybullet/files/02_inverse_kinematics_semi_constrained.py delete mode 100644 docs/examples/05_backends_pybullet/files/02_inverse_kinematics_with_tools.py delete mode 100644 docs/examples/05_backends_pybullet/files/02_iter_inverse_kinematics.py delete mode 100644 docs/examples/05_backends_pybullet/files/03_check_collision.py delete mode 100644 docs/examples/05_backends_pybullet/files/04_plan_cartesian_motion_frame_waypoints.py delete mode 100644 docs/examples/05_backends_pybullet/files/04_plan_cartesian_motion_interpolation_settings.py delete mode 100644 docs/examples/05_backends_pybullet/files/04_plan_cartesian_motion_point_axis_waypoints.py delete mode 100644 docs/examples/05_backends_pybullet/files/_pybullet_demo_helper.py delete mode 100644 docs/examples/06_backends_kinematics.rst delete mode 100644 docs/examples/07_reachability_map.rst delete mode 100644 docs/examples/conftest.py create mode 100644 docs/frontends/features_and_requirements.csv rename docs/{examples => frontends}/rhino/files/visualize_with_eto_form.py (100%) rename docs/{backends/files => installation/docker_files}/abb-irb120-demo/docker-compose.yml (100%) rename docs/{backends/files => installation/docker_files}/abb-irb120t-demo/docker-compose.yml (100%) rename docs/{backends/files => installation/docker_files}/abb-irb1600-demo/docker-compose.yml (100%) rename docs/{backends/files => installation/docker_files}/abb-irb4600_40_255-demo/docker-compose.yml (100%) rename docs/{backends/files => installation/docker_files}/abb-irb4600_60_205-demo/docker-compose.yml (100%) rename docs/{backends/files => installation/docker_files}/base/docker-compose.yml (100%) rename docs/{backends/files => installation/docker_files}/panda-demo/docker-compose.yml (100%) rename docs/{backends/files => installation/docker_files}/rfl-demo/docker-compose.yml (100%) rename docs/{backends/files => installation/docker_files}/ur10-demo/docker-compose.yml (100%) rename docs/{backends/files => installation/docker_files}/ur10e-demo/docker-compose.yml (100%) rename docs/{backends/files => installation/docker_files}/ur3-demo/docker-compose.yml (100%) rename docs/{backends/files => installation/docker_files}/ur3e-demo/docker-compose.yml (100%) rename docs/{backends/files => installation/docker_files}/ur5-demo/docker-compose.yml (100%) rename docs/{backends/files => installation/docker_files}/ur5-demo/docker-compose_gui_xming.yml (100%) rename docs/{backends/files => installation/docker_files}/ur5e-demo/docker-compose.yml (100%) create mode 100644 docs/installation/install_compas_fab.rst rename docs/{examples => installation}/ros_setup_ur.txt (100%) create mode 100644 docs/installation/setup_backend_no_backend.rst rename docs/{examples/03_backends_ros.rst => installation/setup_backend_pybullet.rst} (62%) create mode 100644 docs/installation/setup_backend_ros.rst create mode 100644 docs/installation/setup_frontend_blender.rst create mode 100644 docs/installation/setup_frontend_rhino.rst rename docs/{examples/01_fundamentals.rst => installation/setup_frontend_rhino_8.rst} (60%) rename docs/{examples/05_backends_pybullet.rst => installation/setup_frontend_viewer.rst} (58%) create mode 100644 docs/installation/setup_frontend_vscode.rst rename docs/{backends => installation}/web_x11_gui.rst (98%) diff --git a/docs/backends/analytical_kinematics.rst b/docs/backends/analytical_kinematics.rst new file mode 100644 index 000000000..f8a70c186 --- /dev/null +++ b/docs/backends/analytical_kinematics.rst @@ -0,0 +1,6 @@ +.. _backends_analytical_kinematics: + +******************************************************************************** +Using Analytical Kinematics Planner +******************************************************************************** + diff --git a/docs/backends/analytical_pybullet.rst b/docs/backends/analytical_pybullet.rst new file mode 100644 index 000000000..b63be35f3 --- /dev/null +++ b/docs/backends/analytical_pybullet.rst @@ -0,0 +1,5 @@ +.. _backends_analytical_pybullet: + +******************************************************************************** +Using Analytical PyBullet Planner +******************************************************************************** \ No newline at end of file diff --git a/docs/backends/pybullet.rst b/docs/backends/pybullet.rst index 24dc9001b..1c9e2e7c8 100644 --- a/docs/backends/pybullet.rst +++ b/docs/backends/pybullet.rst @@ -1,8 +1,8 @@ -.. _pybullet_backend: +.. _backends_pybullet: -**************** -PyBullet -**************** +******************************************************************************** +Using PyBullet Planner +******************************************************************************** .. highlight:: bash @@ -13,10 +13,20 @@ robotics simulation and machine learning." It also provides bindings for render and visualization, and support for virtual reality headsets. While PyBullet is based on a client-server architecture, there is no need to spin up any Docker containers to run the server. This, along with its speed, may make PyBullet a -preferable backend for COMPAS_FAB. However, it, alone, does not provide motion -planning functionality. PyBullet is also not compatible with IronPython. Hence to use -it with Rhinoceros and Grasshopper it must be invoked through the -:mod:`compas.rpc` module. +preferable backend for COMPAS_FAB. + +PyBullet is able to import Robot Models as URDF packages and provides forward +and inverse kinematics functions. Unlike ROS, the robot models can be loaded +dynamically and multiple robots can be loaded in the same environment. This allows +for the simulation of kinematic tools. + +The **COMPAS FAB** PyBullet backend provides the :class:`PyBulletClient` and the +:class:`PyBulletPlanner` classes to interact with PyBullet. The motion planning +functions are implemented by **COMPAS FAB**, building on top of the inverse +kinematics and collision checking functions offered by PyBullet. + +PyBullet is not compatible with IronPython. Therefor, it is not possible to use +it with Rhino 7 or its associated Grasshopper. Next Steps ========== diff --git a/docs/backends/ros.rst b/docs/backends/ros.rst index db777a0ca..46d24d240 100644 --- a/docs/backends/ros.rst +++ b/docs/backends/ros.rst @@ -1,160 +1,47 @@ -.. _ros_backend: +.. _backends_ros_moveit: -**************** -ROS -**************** +******************************************************************************** +Using ROS MoveIt Planner +******************************************************************************** -.. highlight:: bash +.. currentmodule:: compas_fab -The `Robot Operating System `_ (ROS) is a flexible framework -for writing robot software. It is a collection of tools, libraries, and -conventions that aim to simplify the task of creating complex and robust -robot behavior across a wide variety of robotic platforms. +The ROS MoveIt planner is a wrapper that allows you to use the MoveIt motion +planning framework in a running ROS environment. The ROS and MoveIt environment +must be properly set up and running for this planner to work. -Running a ROS system usually involves multiple nodes (i.e. computers, real or -virtual), interconnected through a master controller. +The robot definition used by the planner must be installed in the ROS workspace +and launched together with the MoveIt configuration. Contrary to other backends, +the RobotModel cannot be changed after MoveIt is launched. -There are at least 3 different ways to run ROS: using Docker, using Linux, and -using WSL on Windows. In recent times, it became possible to install ROS using -Conda on Windows as well. +The user can only modify the initial robot cell, which is retrieved by calling +:meth:`compas_fab.backends.RosClient.load_robot_cell`. It contains +the :class:`compas_robots.RobotModel` and :class:`compas_fab.robots.RobotSemantics` +but have no tools and rigid bodies in it. +Users can customize this robot cell by adding tools and rigid bodies as needed. +The typical code snippet to use the MoveIt planner is as follows: -ROS on Docker -============= +.. code-block:: python -To massively simplify the use of these tools, we package complete ROS systems -into bundles of `Docker`_ containers. Each of these bundles runs in a -virtualized network within your computer. + from compas_fab.backends import RosClient + from compas_fab.backends import MoveItPlanner + with RosClient() as client: + planner = MoveItPlanner(client) + robot_cell = client.load_robot_cell() -Besides easing deployment, containers have the added benefit of ensuring -repeatability. +.. note:: -Once you made sure `Docker`_ is running, you can run ROS nodes as containers. -Gramazio Kohler Research publishes ROS images on `Docker Hub`_ but there are -many more to be found online. + The following examples use the `ROS `_ backend. + Before running them, please make sure you have the :ref:`ROS backend ` + installed and the :ref:`UR5 Demo ` started. + It maybe beneficial to :ref:`enable GUI `. -You can start a minimally functional ROS system, containing a ROS master and -the `ROS Bridge`_ with the following command:: +.. toctree:: + :maxdepth: 2 + :titlesonly: + :glob: - docker run -p 9090:9090 -t gramaziokohler/ros-noetic-base roslaunch rosbridge_server rosbridge_websocket.launch + ros/* -Complete ROS systems --------------------- -It is usually not enough to run single ROS nodes. ROS systems are networks of -multiple interconnected nodes. Docker provides a way to compose virtualized -networks using the ``docker-compose`` command. These commands take one simple -configuration file as input, and handle all tasks required to run and connect -all the nodes. - -As an example, download :download:`this file `, -open the command prompt, go to the folder where the file was downloaded, -and run the following command:: - - docker-compose up -d - -You now have a ROS system with two nodes running: a ROS master and -the `ROS Bridge`_ which adds a web socket channel to communicate with ROS. - -Creating new ROS bundles using containers is usually only a matter of combining -them into a new ``docker-compose.yml`` file, which is relatively simple but we -prepared some very common ones as examples. - -.. _ros_bundles_list: - -**Complete ROS system examples** - -* ROS Noetic Base setup: :download:`Link ` -* ABB IRB120: :download:`Link ` -* ABB IRB120T: :download:`Link ` -* ABB IRB1600: :download:`Link ` -* ABB IRB4600 40/255: :download:`Link ` -* ABB IRB4600 60/205: :download:`Link ` -* Panda: :download:`Link ` -* RFL: :download:`Link ` -* UR3: :download:`Link ` -* UR3e: :download:`Link ` -* UR5: :download:`Link ` -* UR5e: :download:`Link ` -* UR10: :download:`Link ` -* UR10e: :download:`Link ` - -Once the containers are running, it is possible to access the graphic user interface. -Check :ref:`the following page ` for more details. - -ROS on Linux -============ - -The usual but most involved way to install ROS is on a Linux machine, -either virtual or real. The machine should have an IP address reachable -from your computer. - -Follow the `ROS installation instructions`_ for all the details, or -alternatively, use the following commands as a brief outline of the steps -required to install ROS on **Ubuntu 20.04**: - -:: - - sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' - curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - - sudo apt update - sudo apt install ros-noetic-desktop-full ros-noetic-rosbridge-server python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential - - sudo rosdep init && rosdep update - echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc - source ~/.bashrc - - mkdir -p ~/catkin_ws/src - cd ~/catkin_ws/ - catkin_make - - echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc - source ~/.bashrc - -Once ROS is installed, you can start a minimally functional ROS system, -containing a ROS master and the `ROS Bridge`_ with the following command:: - - roslaunch rosbridge_server rosbridge_websocket.launch - - -ROS on WSL -========== - -For Windows 10 users, an alternative is to install the -`Windows Subsystem for Linux`_ (WSL). WSL allows to run Linux within -Windows without the need for an additional virtual machine. - -To install WSL, open PowerShell as administrator and run: - -:: - - wsl --install - -This command will enable the required optional components, download the latest Linux kernel, -set WSL 2 as your default, and install a Linux distribution for you. -Once the installation is completed, run ``bash`` and follow the instructions -above to install ROS on Linux. - -After installation, it is possible to access the graphic user interface. -Check :ref:`the following page ` for more details. - -.. seealso:: - - For additional details, see `Microsoft WSL documentation`_. - - - -.. _ROS installation instructions: https://wiki.ros.org/ROS/Installation -.. _Windows Subsystem for Linux: https://docs.microsoft.com/en-us/windows/wsl/about -.. _Microsoft WSL documentation: https://docs.microsoft.com/en-us/windows/wsl/install-win10 -.. _Docker: https://www.docker.com/ -.. _Docker Hub: https://hub.docker.com/u/gramaziokohler/ -.. _ROS Bridge: https://wiki.ros.org/rosbridge_suite - -Next Steps -========== - -* :doc:`Tutorial: COMPAS Robots ` -* :ref:`Examples: Description models ` -* :ref:`Examples: ROS Backend ` -* :ref:`COMPAS FAB API Reference ` diff --git a/docs/examples/03_backends_ros/06_ros_in_grasshopper.rst b/docs/backends/ros/06_ros_in_grasshopper.rst similarity index 95% rename from docs/examples/03_backends_ros/06_ros_in_grasshopper.rst rename to docs/backends/ros/06_ros_in_grasshopper.rst index a72eb5a8c..fcdfa0a8c 100644 --- a/docs/examples/03_backends_ros/06_ros_in_grasshopper.rst +++ b/docs/backends/ros/06_ros_in_grasshopper.rst @@ -31,7 +31,7 @@ Many of the features of the Grasshopper playground have been packaged into Grass components for simplicity of use. Below is a screenshot of a canvas which loads a robot from ROS and visualizes it using the Grasshopper components of **COMPAS FAB**. -.. figure:: files/06_ros_in_grasshopper.jpg +.. figure:: images/06_ros_in_grasshopper.jpg :figclass: figure :class: figure-img img-fluid diff --git a/docs/examples/03_backends_ros/07_ros_create_urdf_ur5_with_measurement_tool.rst b/docs/backends/ros/07_ros_create_urdf_ur5_with_measurement_tool.rst similarity index 98% rename from docs/examples/03_backends_ros/07_ros_create_urdf_ur5_with_measurement_tool.rst rename to docs/backends/ros/07_ros_create_urdf_ur5_with_measurement_tool.rst index 79fcddbf4..7dfc37a55 100644 --- a/docs/examples/03_backends_ros/07_ros_create_urdf_ur5_with_measurement_tool.rst +++ b/docs/backends/ros/07_ros_create_urdf_ur5_with_measurement_tool.rst @@ -1,7 +1,7 @@ .. _ros_examples_create_urdf_ur5_with_measurement_tool: ******************************************************************************** -Creating a URDF with an UR5 robot and a custom end-effector +Advanced: Creating a URDF with an UR5 robot and a custom end-effector ******************************************************************************** Export your meshes @@ -20,7 +20,7 @@ point to the flange (tool0) is in (0,0,0). The geometry of your end-effector has to be defined in *meters*. Then export both visual and a collision meshes of your end-effector in a ROS-friendly format, like .stl or .obj (see below). -.. figure:: files/07_urdf_tool_00.jpg +.. figure:: images/07_urdf_tool_00.jpg :figclass: figure :class: figure-img img-fluid @@ -276,7 +276,7 @@ And then run:: roslaunch ur5_with_measurement_tool display.launch -.. figure:: files/07_urdf_tool_01.jpg +.. figure:: images/07_urdf_tool_01.jpg :figclass: figure :class: figure-img img-fluid diff --git a/docs/examples/03_backends_ros/08_ros_create_moveit_package_from_custom_urdf.rst b/docs/backends/ros/08_ros_create_moveit_package_from_custom_urdf.rst similarity index 91% rename from docs/examples/03_backends_ros/08_ros_create_moveit_package_from_custom_urdf.rst rename to docs/backends/ros/08_ros_create_moveit_package_from_custom_urdf.rst index 657e592eb..5c16acfba 100644 --- a/docs/examples/03_backends_ros/08_ros_create_moveit_package_from_custom_urdf.rst +++ b/docs/backends/ros/08_ros_create_moveit_package_from_custom_urdf.rst @@ -1,7 +1,7 @@ .. _ros_examples_create_moveit_package_from_custom_urdf: ******************************************************************************** -Creating a MoveIt! package from the custom created URDF +Advanced: Using custom URDF in MoveIt! ******************************************************************************** This example is mainly copied from `MoveIt! Setup Assistant Tutorial `_ @@ -27,7 +27,7 @@ and to define the planning groups. *Load Files.* The Setup Assistant will load the files (this might take a few seconds) and present you with this screen: -.. figure:: files/08_ros_create_moveit_package_00.jpg +.. figure:: images/08_ros_create_moveit_package_00.jpg :figclass: figure :class: figure-img img-fluid @@ -42,7 +42,7 @@ Note: The sampling density specifies how many random robot positions to check for self collision. The default value of 10'000 collision checks should be fine. -.. figure:: files/08_ros_create_moveit_package_01.jpg +.. figure:: images/08_ros_create_moveit_package_01.jpg :figclass: figure :class: figure-img img-fluid @@ -60,7 +60,7 @@ frame. We will define only one virtual joint, attaching the * Set the Joint Type as "fixed". * Click *Save*. -.. figure:: files/08_ros_create_moveit_package_02.jpg +.. figure:: images/08_ros_create_moveit_package_02.jpg :figclass: figure :class: figure-img img-fluid @@ -75,7 +75,7 @@ is later used for path- and motion planning. * Click on the *Planning Groups* pane selector. * Click on *Add Group* and you should see the following screen: -.. figure:: files/08_ros_create_moveit_package_03.jpg +.. figure:: images/08_ros_create_moveit_package_03.jpg :figclass: figure :class: figure-img img-fluid @@ -87,13 +87,13 @@ Add the arm * Let *Kin. Search Resolution*, *Kin. Search Timeout (sec)*, *Kin. Solver Attempts* and *Group Default Planner* stay at their default values. -.. figure:: files/08_ros_create_moveit_package_04.jpg +.. figure:: images/08_ros_create_moveit_package_04.jpg :figclass: figure :class: figure-img img-fluid * Click on the *Add Kin. Chain* button. Press *Expand All* -.. figure:: files/08_ros_create_moveit_package_05.jpg +.. figure:: images/08_ros_create_moveit_package_05.jpg :figclass: figure :class: figure-img img-fluid @@ -118,7 +118,7 @@ We will also add a group for the end-effector. * Choose measurment_tool and tcp (The links you defined in the measurement_tool.xacro) and add them to the list of *Selected Links* on the right hand side. * Click *Save* -.. figure:: files/08_ros_create_moveit_package_06.jpg +.. figure:: images/08_ros_create_moveit_package_06.jpg :figclass: figure :class: figure-img img-fluid @@ -140,7 +140,7 @@ Tip: Try to move all the joints around. If there is something wrong with the joint limits in your URDF, you should be able to see it immediately here. -.. figure:: files/08_ros_create_moveit_package_07.jpg +.. figure:: images/08_ros_create_moveit_package_07.jpg :figclass: figure :class: figure-img img-fluid @@ -158,7 +158,7 @@ this group as a special group: end effectors. * Leave *Parent Group* empty. * Press *Save*. -.. figure:: files/08_ros_create_moveit_package_08.jpg +.. figure:: images/08_ros_create_moveit_package_08.jpg :figclass: figure :class: figure-img img-fluid @@ -187,7 +187,7 @@ You are almost there. One last step! All the generated files will appear in the Generated Files/Folders tab and you can click on each of them for a description of what they contain. -.. figure:: files/08_ros_create_moveit_package_09.jpg +.. figure:: images/08_ros_create_moveit_package_09.jpg :figclass: figure :class: figure-img img-fluid @@ -203,7 +203,7 @@ Now, optionally, you can already start the MoveIt! Demo and play:: roslaunch ur5_with_measurement_tool_moveit_config demo.launch rviz_tutorial:=true -.. figure:: files/08_ros_create_moveit_package_10.jpg +.. figure:: images/08_ros_create_moveit_package_10.jpg :figclass: figure :class: figure-img img-fluid diff --git a/docs/examples/03_backends_ros/09_ros_create_urdf_ur10_on_tower.rst b/docs/backends/ros/09_ros_create_urdf_ur10_on_tower.rst similarity index 96% rename from docs/examples/03_backends_ros/09_ros_create_urdf_ur10_on_tower.rst rename to docs/backends/ros/09_ros_create_urdf_ur10_on_tower.rst index 87dc60495..6f2e22ffb 100644 --- a/docs/examples/03_backends_ros/09_ros_create_urdf_ur10_on_tower.rst +++ b/docs/backends/ros/09_ros_create_urdf_ur10_on_tower.rst @@ -1,7 +1,7 @@ .. _ros_examples_create_urdf_ur10_on_tower: ******************************************************************************** -Creating a URDF of the UR10 on two linear axes +Advanced: Creating a custom URDF of the UR10 on two linear axes for MoveIt! ******************************************************************************** Export meshes @@ -16,23 +16,23 @@ Export meshes The export format must be ROS-friendly, like .stl or .obj (see below). (Here we use the same visual and collision meshes.) -.. figure:: files/09_ur10_tower_urdf_01.jpg +.. figure:: images/09_ur10_tower_urdf_01.jpg :figclass: figure :class: figure-img img-fluid -.. figure:: files/09_ur10_tower_urdf_00-1.jpg +.. figure:: images/09_ur10_tower_urdf_00-1.jpg :figclass: figure :class: figure-img img-fluid -.. figure:: files/09_ur10_tower_urdf_00-2.jpg +.. figure:: images/09_ur10_tower_urdf_00-2.jpg :figclass: figure :class: figure-img img-fluid -.. figure:: files/09_ur10_tower_urdf_02.jpg +.. figure:: images/09_ur10_tower_urdf_02.jpg :figclass: figure :class: figure-img img-fluid -.. figure:: files/09_ur10_tower_urdf_03.jpg +.. figure:: images/09_ur10_tower_urdf_03.jpg :figclass: figure :class: figure-img img-fluid @@ -329,7 +329,7 @@ And then run:: roslaunch ur10_tower display.launch -.. figure:: files/09_ur10_tower_urdf_04.jpg +.. figure:: images/09_ur10_tower_urdf_04.jpg :figclass: figure :class: figure-img img-fluid @@ -341,7 +341,7 @@ Under Global Options > Fixed Frame > change ``base_link`` to ``tower`` or Then you should see something like that: -.. figure:: files/09_ur10_tower_urdf_06.jpg +.. figure:: images/09_ur10_tower_urdf_06.jpg :figclass: figure :class: figure-img img-fluid @@ -351,11 +351,11 @@ You can play with the sliders on the side to move the elements and check if all And later create a MoveIt! package from it. -.. figure:: files/09_ur10_tower_urdf_07.jpg +.. figure:: images/09_ur10_tower_urdf_07.jpg :figclass: figure :class: figure-img img-fluid -.. figure:: files/09_ur10_tower_urdf_08.jpg +.. figure:: images/09_ur10_tower_urdf_08.jpg :figclass: figure :class: figure-img img-fluid diff --git a/docs/examples/03_backends_ros/01_ros_examples.rst b/docs/backends/ros/10_ros_custom_nodes.rst similarity index 68% rename from docs/examples/03_backends_ros/01_ros_examples.rst rename to docs/backends/ros/10_ros_custom_nodes.rst index a43ccc8e5..9c02662d1 100644 --- a/docs/examples/03_backends_ros/01_ros_examples.rst +++ b/docs/backends/ros/10_ros_custom_nodes.rst @@ -1,32 +1,11 @@ -.. _ros_examples: ******************************************************************************* -Using ROS +Advanced ROS Concepts ******************************************************************************* -.. note:: - - The following examples use the `ROS `_ backend. - Before running them, please make sure you have the - :ref:`ROS backend ` correctly configured and - the :ref:`Base ` system started. - -First step -========== - -The first step is to connect to ROS to verify that the system is working. - -Copy and paste the following example into any Python environment -(a standalone script, a CAD environment, etc) and run it, you should -see the output ``Connected: True`` if everything is working properly: - -.. code-block:: python - - from compas_fab.backends import RosClient - with RosClient() as client: - print('Connected: ', client.is_connected) -*Yay! Our first connection to ROS!* +Without a context manager +========================= If you prefer to work without a context manager, the equivalent code is: @@ -61,7 +40,7 @@ Writing the talker node The following example starts a ROS node and begins to publish messages in loop (to terminate, press ``ctrl+c``): -.. literalinclude :: files/01_ros_hello_world_talker.py +.. literalinclude :: files/10_ros_hello_world_talker.py :language: python .. raw:: html @@ -70,7 +49,7 @@ messages in loop (to terminate, press ``ctrl+c``):
Downloads
-* :download:`Talker node (.PY) ` +* :download:`Talker node (.PY) ` .. raw:: html @@ -82,7 +61,7 @@ Writing the listener node Now let's move on to the listener side: -.. literalinclude :: files/01_ros_hello_world_listener.py +.. literalinclude :: files/10_ros_hello_world_listener.py :language: python .. raw:: html @@ -91,7 +70,7 @@ Now let's move on to the listener side:
Downloads
-* :download:`Listener node (.PY) ` +* :download:`Listener node (.PY) ` .. raw:: html diff --git a/docs/examples/03_backends_ros/files/01_ros_hello_world_listener.py b/docs/backends/ros/files/10_ros_hello_world_listener.py similarity index 100% rename from docs/examples/03_backends_ros/files/01_ros_hello_world_listener.py rename to docs/backends/ros/files/10_ros_hello_world_listener.py diff --git a/docs/examples/03_backends_ros/files/01_ros_hello_world_talker.py b/docs/backends/ros/files/10_ros_hello_world_talker.py similarity index 100% rename from docs/examples/03_backends_ros/files/01_ros_hello_world_talker.py rename to docs/backends/ros/files/10_ros_hello_world_talker.py diff --git a/docs/examples/03_backends_ros/files/04_plan_cartesian_motion_with_attached_objects.py b/docs/backends/ros/files/Construct Robot Cell.py similarity index 100% rename from docs/examples/03_backends_ros/files/04_plan_cartesian_motion_with_attached_objects.py rename to docs/backends/ros/files/Construct Robot Cell.py diff --git a/docs/examples/03_backends_ros/files/gh_forward_kinematics.py b/docs/backends/ros/files/gh_forward_kinematics.py similarity index 100% rename from docs/examples/03_backends_ros/files/gh_forward_kinematics.py rename to docs/backends/ros/files/gh_forward_kinematics.py diff --git a/docs/examples/03_backends_ros/files/gh_inverse_kinematics.py b/docs/backends/ros/files/gh_inverse_kinematics.py similarity index 100% rename from docs/examples/03_backends_ros/files/gh_inverse_kinematics.py rename to docs/backends/ros/files/gh_inverse_kinematics.py diff --git a/docs/examples/03_backends_ros/files/gh_plan_cartesian_motion.py b/docs/backends/ros/files/gh_plan_cartesian_motion.py similarity index 100% rename from docs/examples/03_backends_ros/files/gh_plan_cartesian_motion.py rename to docs/backends/ros/files/gh_plan_cartesian_motion.py diff --git a/docs/examples/03_backends_ros/files/gh_plan_motion.py b/docs/backends/ros/files/gh_plan_motion.py similarity index 100% rename from docs/examples/03_backends_ros/files/gh_plan_motion.py rename to docs/backends/ros/files/gh_plan_motion.py diff --git a/docs/examples/03_backends_ros/files/gh_robot_visualisation.py b/docs/backends/ros/files/gh_robot_visualisation.py similarity index 100% rename from docs/examples/03_backends_ros/files/gh_robot_visualisation.py rename to docs/backends/ros/files/gh_robot_visualisation.py diff --git a/docs/examples/03_backends_ros/files/robot-playground.ghx b/docs/backends/ros/files/robot-playground.ghx similarity index 100% rename from docs/examples/03_backends_ros/files/robot-playground.ghx rename to docs/backends/ros/files/robot-playground.ghx diff --git a/docs/examples/03_backends_ros/files/06_ros_in_grasshopper.jpg b/docs/backends/ros/images/06_ros_in_grasshopper.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/06_ros_in_grasshopper.jpg rename to docs/backends/ros/images/06_ros_in_grasshopper.jpg diff --git a/docs/examples/03_backends_ros/files/07_urdf_tool_00.jpg b/docs/backends/ros/images/07_urdf_tool_00.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/07_urdf_tool_00.jpg rename to docs/backends/ros/images/07_urdf_tool_00.jpg diff --git a/docs/examples/03_backends_ros/files/07_urdf_tool_01.jpg b/docs/backends/ros/images/07_urdf_tool_01.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/07_urdf_tool_01.jpg rename to docs/backends/ros/images/07_urdf_tool_01.jpg diff --git a/docs/examples/03_backends_ros/files/08_ros_create_moveit_package_00.jpg b/docs/backends/ros/images/08_ros_create_moveit_package_00.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/08_ros_create_moveit_package_00.jpg rename to docs/backends/ros/images/08_ros_create_moveit_package_00.jpg diff --git a/docs/examples/03_backends_ros/files/08_ros_create_moveit_package_01.jpg b/docs/backends/ros/images/08_ros_create_moveit_package_01.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/08_ros_create_moveit_package_01.jpg rename to docs/backends/ros/images/08_ros_create_moveit_package_01.jpg diff --git a/docs/examples/03_backends_ros/files/08_ros_create_moveit_package_02.jpg b/docs/backends/ros/images/08_ros_create_moveit_package_02.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/08_ros_create_moveit_package_02.jpg rename to docs/backends/ros/images/08_ros_create_moveit_package_02.jpg diff --git a/docs/examples/03_backends_ros/files/08_ros_create_moveit_package_03.jpg b/docs/backends/ros/images/08_ros_create_moveit_package_03.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/08_ros_create_moveit_package_03.jpg rename to docs/backends/ros/images/08_ros_create_moveit_package_03.jpg diff --git a/docs/examples/03_backends_ros/files/08_ros_create_moveit_package_04.jpg b/docs/backends/ros/images/08_ros_create_moveit_package_04.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/08_ros_create_moveit_package_04.jpg rename to docs/backends/ros/images/08_ros_create_moveit_package_04.jpg diff --git a/docs/examples/03_backends_ros/files/08_ros_create_moveit_package_05.jpg b/docs/backends/ros/images/08_ros_create_moveit_package_05.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/08_ros_create_moveit_package_05.jpg rename to docs/backends/ros/images/08_ros_create_moveit_package_05.jpg diff --git a/docs/examples/03_backends_ros/files/08_ros_create_moveit_package_06.jpg b/docs/backends/ros/images/08_ros_create_moveit_package_06.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/08_ros_create_moveit_package_06.jpg rename to docs/backends/ros/images/08_ros_create_moveit_package_06.jpg diff --git a/docs/examples/03_backends_ros/files/08_ros_create_moveit_package_07.jpg b/docs/backends/ros/images/08_ros_create_moveit_package_07.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/08_ros_create_moveit_package_07.jpg rename to docs/backends/ros/images/08_ros_create_moveit_package_07.jpg diff --git a/docs/examples/03_backends_ros/files/08_ros_create_moveit_package_08.jpg b/docs/backends/ros/images/08_ros_create_moveit_package_08.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/08_ros_create_moveit_package_08.jpg rename to docs/backends/ros/images/08_ros_create_moveit_package_08.jpg diff --git a/docs/examples/03_backends_ros/files/08_ros_create_moveit_package_09.jpg b/docs/backends/ros/images/08_ros_create_moveit_package_09.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/08_ros_create_moveit_package_09.jpg rename to docs/backends/ros/images/08_ros_create_moveit_package_09.jpg diff --git a/docs/examples/03_backends_ros/files/08_ros_create_moveit_package_10.jpg b/docs/backends/ros/images/08_ros_create_moveit_package_10.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/08_ros_create_moveit_package_10.jpg rename to docs/backends/ros/images/08_ros_create_moveit_package_10.jpg diff --git a/docs/examples/03_backends_ros/files/09_ur10_tower_urdf_00-1.jpg b/docs/backends/ros/images/09_ur10_tower_urdf_00-1.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/09_ur10_tower_urdf_00-1.jpg rename to docs/backends/ros/images/09_ur10_tower_urdf_00-1.jpg diff --git a/docs/examples/03_backends_ros/files/09_ur10_tower_urdf_00-2.jpg b/docs/backends/ros/images/09_ur10_tower_urdf_00-2.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/09_ur10_tower_urdf_00-2.jpg rename to docs/backends/ros/images/09_ur10_tower_urdf_00-2.jpg diff --git a/docs/examples/03_backends_ros/files/09_ur10_tower_urdf_00.jpg b/docs/backends/ros/images/09_ur10_tower_urdf_00.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/09_ur10_tower_urdf_00.jpg rename to docs/backends/ros/images/09_ur10_tower_urdf_00.jpg diff --git a/docs/examples/03_backends_ros/files/09_ur10_tower_urdf_01.jpg b/docs/backends/ros/images/09_ur10_tower_urdf_01.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/09_ur10_tower_urdf_01.jpg rename to docs/backends/ros/images/09_ur10_tower_urdf_01.jpg diff --git a/docs/examples/03_backends_ros/files/09_ur10_tower_urdf_02.jpg b/docs/backends/ros/images/09_ur10_tower_urdf_02.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/09_ur10_tower_urdf_02.jpg rename to docs/backends/ros/images/09_ur10_tower_urdf_02.jpg diff --git a/docs/examples/03_backends_ros/files/09_ur10_tower_urdf_03.jpg b/docs/backends/ros/images/09_ur10_tower_urdf_03.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/09_ur10_tower_urdf_03.jpg rename to docs/backends/ros/images/09_ur10_tower_urdf_03.jpg diff --git a/docs/examples/03_backends_ros/files/09_ur10_tower_urdf_04.jpg b/docs/backends/ros/images/09_ur10_tower_urdf_04.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/09_ur10_tower_urdf_04.jpg rename to docs/backends/ros/images/09_ur10_tower_urdf_04.jpg diff --git a/docs/examples/03_backends_ros/files/09_ur10_tower_urdf_06.jpg b/docs/backends/ros/images/09_ur10_tower_urdf_06.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/09_ur10_tower_urdf_06.jpg rename to docs/backends/ros/images/09_ur10_tower_urdf_06.jpg diff --git a/docs/examples/03_backends_ros/files/09_ur10_tower_urdf_07.jpg b/docs/backends/ros/images/09_ur10_tower_urdf_07.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/09_ur10_tower_urdf_07.jpg rename to docs/backends/ros/images/09_ur10_tower_urdf_07.jpg diff --git a/docs/examples/03_backends_ros/files/09_ur10_tower_urdf_08.jpg b/docs/backends/ros/images/09_ur10_tower_urdf_08.jpg similarity index 100% rename from docs/examples/03_backends_ros/files/09_ur10_tower_urdf_08.jpg rename to docs/backends/ros/images/09_ur10_tower_urdf_08.jpg diff --git a/docs/examples/01_fundamentals/01_frame_and_transformation.rst b/docs/examples/01_fundamentals/01_frame_and_transformation.rst deleted file mode 100644 index f9c4c65ce..000000000 --- a/docs/examples/01_fundamentals/01_frame_and_transformation.rst +++ /dev/null @@ -1,103 +0,0 @@ -.. _frame_and_transformation: - -******************************************************************************* -Frame and Transformation -******************************************************************************* - -.. currentmodule:: compas.geometry - -:class:`Frame` and :class:`Transformation` are two basic classes in the -**COMPAS** framework and can be used to describe position/orientation and -coordinate systems. The :class:`Frame` consists of a point and and two -orthonormal base vectors (xaxis, yaxis). :class:`Transformation` is the base -class for transformations like :class:`Rotation`, :class:`Translation`, -:class:`Scale`, :class:`Reflection`, :class:`Projection` and :class:`Shear`. - -Here is a simple example of how to use a frame as a coordinate system: Starting -from a point ``P`` in the local (user-defined, relative) coordinate system of -frame ``F``, i.e. its position is relative to the origin and orientation of -``F``, we want to get the position of ``P`` in the global (world, absolute) -coordinate system. - -.. code-block:: python - - from compas.geometry import Point - from compas.geometry import Vector - from compas.geometry import Frame - - point = Point(146.00, 150.00, 161.50) - xaxis = Vector(0.9767, 0.0010, -0.214) - yaxis = Vector(0.1002, 0.8818, 0.4609) - - # coordinate system F - F = Frame(point, xaxis, yaxis) - - # point in F (local coordinates) - P = Point(35., 35., 35.) - # point in global (world) coordinates - P_ = F.to_world_coordinates(P) - - -Industrial robots do not have a common way of describing the pose orientation. -The frame provides methods to specify the orientation in various conventions. - -.. code-block:: python - - from compas.geometry import Point - from compas.geometry import Vector - from compas.geometry import Frame - - point = Point(146.00, 150.00, 161.50) - xaxis = Vector(0.9767, 0.0010, -0.214) - yaxis = Vector(0.1002, 0.8818, 0.4609) - - F = Frame(point, xaxis, yaxis) - - print(F.quaternion) # ABB - print(F.euler_angles(static=False, axes='xyz')) # Staubli - print(F.euler_angles(static=False, axes='zyx')) # KUKA - print(F.axis_angle_vector) # UR - - -From the orientation (:class:`Rotation`) -of the frame, several other representations of rotation can be derived, such as -Euler angles, axis-angle representation, and quaternion. - -.. code-block:: python - - from compas.geometry import Frame - from compas.geometry import Rotation - - F1 = Frame([0, 0, 0], [0.68, 0.68, 0.27], [-0.67, 0.73, -0.15]) - - # euler angles - args = False, 'xyz' - alpha, beta, gamma = F1.euler_angles(*args) - - # check if angles are correct - xaxis, yaxis, zaxis = [1, 0, 0], [0, 1, 0], [0, 0, 1] - Rx = Rotation.from_axis_and_angle(xaxis, alpha) - Ry = Rotation.from_axis_and_angle(yaxis, beta) - Rz = Rotation.from_axis_and_angle(zaxis, gamma) - F2 = Frame.worldXY() - print('Are equal?', F1 == F2.transformed(Rx * Ry * Rz)) - - # quaternion - q = F1.quaternion - F2 = Frame.from_quaternion(q) - print('Are equal?', F1 == F2) - - # axis-angle - ax = F1.axis_angle_vector - F2 = Frame.from_axis_angle_vector(ax) - print('Are equal?', F1 == F2) - - -Further information -=================== - -* `Rotation `_ -* `Euler angles `_ -* `Quaternion `_ -* `Axis–angle representation `_ - diff --git a/docs/examples/01_fundamentals/02_coordinate_frames.rst b/docs/examples/01_fundamentals/02_coordinate_frames.rst deleted file mode 100644 index 722d58d01..000000000 --- a/docs/examples/01_fundamentals/02_coordinate_frames.rst +++ /dev/null @@ -1,127 +0,0 @@ -.. _coordinate_frames: - -******************************************************************************* -Coordinate frames -******************************************************************************* - -.. currentmodule:: compas_fab.robots - -Developers and users of robot drivers, models, and libraries need a shared -convention for coordinate frames in order to better integrate and re-use -software components. To plan robotic fabrication processes, the definition of -robotic targets has to follow the convention of a specific relationship between -coordinate frames, for example: - -* World coordinate frame (WCF) -* Robot coordinate frame (RCF) -* Tool0 coordinate frame (T0CF) -* Tool coordinate frame (TCF) -* Object coordinate frame (OCF) - -.. figure:: files/02_coordinate_frames.jpg - :figclass: figure - :class: figure-img img-fluid - - Coordinate frame convention of a robotic setup. - -To describe these coordinate frames, the :class:`compas.geometry.Frame` class -of the **COMPAS** framework is used. - -World coordinate frame (WCF) -============================ - -The world coordinate frame (WCF) has its origin on a fixed position with -its Z-axis pointing upwards (= ``map`` in ROS convention). -The WCF is important for processes that use several robots which share one -space, robots with external axes, and mobile robots. By default, the WCF -coincides with the robot coordinate system (RCF). - -Robot coordinate frame (RCF) -============================ - -The robot coordinate frame (RCF) (= ``base_link`` in ROS convention) has -its origin in the base of the robot and is the reference system for the -mechanical buildup of the robot. It must be defined in reference to the -fixed coordinate frame WCF. - -Tool0 coordinate frame (T0CF) -============================= - -The tool0 coordinate frame (T0CF) has its origin at the tip of last link -of the robot. It is dependent on the RCF. - -Tool coordinate frame (TCF) -=========================== - -The tool coordinate frame (TCF) has its origin at the tip of the tool (Tool -Center Point: TCP). It must be defined in reference to the T0CF. - -Object coordinate frame (OCF) -============================= - -The object coordinate frame (OCF) corresponds to the work object or the built -structure. It defines the location of the work object in relation to the world -coordinate frame (WCF). - - -Example -======= - -Here is a simple example of how to express the frame of an object that is -defined in the world coordinate frame in the robot's own coordinate frame -before sending it as a target pose to the robot. - -.. code-block:: python - - from compas_fab.robots import Robot - - from compas_robots import RobotModel - from compas_robots.model import Joint - from compas_robots.model import Link - - from compas.geometry import Frame - from compas.geometry import Transformation - - - robot_model = RobotModel('ur5', - joints=[ - Joint('shoulder_pan_joint', 'revolute', parent='base_link', child='shoulder_link'), - Joint('shoulder_lift_joint', 'revolute', parent='shoulder_link', child='upper_arm_link'), - Joint('elbow_joint', 'revolute', parent='upper_arm_link', child='forearm_link'), - Joint('wrist_1_joint', 'revolute', parent='forearm_link', child='wrist_1_link'), - Joint('wrist_2_joint', 'revolute', parent='wrist_1_link', child='wrist_2_link'), - Joint('wrist_3_joint', 'revolute', parent='wrist_2_link', child='wrist_3_link'), - ], links=[ - Link('base_link'), - Link('shoulder_link'), - Link('upper_arm_link'), - Link('forearm_link'), - Link('wrist_1_link'), - Link('wrist_2_link'), - Link('wrist_3_link'), - ]) - - print("robot model: ", robot_model) - - robot = Robot(robot_model) - - print("robot coordinate frame (base)", robot.get_base_frame()) - - point = [6.0, 4.0, 2.0] - xaxis = [-1.0, 0.0, 0.0] - yaxis = [0.0, -1.0, 0.0] - - frame_WCF = Frame(point, xaxis, yaxis) - print("frame in WCF", frame_WCF) - - frame_RCF = robot.to_local_coordinates(frame_WCF) - print("frame in RCF", frame_RCF) - - frame_WCF = robot.to_world_coordinates(frame_RCF) - print("frame in WCF", frame_WCF) - -Links -===== - -* `ROS REP-105: Coordinate Frames for Mobile Platforms `_ - diff --git a/docs/examples/01_fundamentals/files/02_coordinate_frames.jpg b/docs/examples/01_fundamentals/files/02_coordinate_frames.jpg deleted file mode 100644 index f05917d560a86cc0ca62fab1d894d950c190c19c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165780 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 -* `Create your own URDF file `_ diff --git a/docs/examples/02_description_models/02_robot.rst b/docs/examples/02_description_models/02_robot.rst deleted file mode 100644 index 60baa6fb7..000000000 --- a/docs/examples/02_description_models/02_robot.rst +++ /dev/null @@ -1,92 +0,0 @@ -.. _robot_model: - -******************************************************************************* -Robot models -******************************************************************************* - -Robot models can be programatically defined, as shown in the previous examples, -but in most cases, they are loaded from an existing location. -**COMPAS FAB** supports loading models from local files, from remote Github -repositories as well as from a running ROS instance. - -Loading model from disk -======================= - -The installation of **COMPAS FAB** includes some robot models which are used -to exemplify loading from disk: - -.. literalinclude :: files/02_robot_from_disk.py - :language: python - - -Loading model from Github -========================= - -Since a large amount of robot models defined in URDF are available on Github, -**COMPAS FAB** provides a specialized loader that follows the conventions -defined by ROS to locate a Robot's model and geometry files. - -.. literalinclude :: files/02_robot_from_github.py - :language: python - -Loading model from ROS -====================== - -.. note:: - - The following example uses the `ROS `_ backend - and loads the robot description model from it. Before running it, please - make sure you have the :ref:`ROS backend ` correctly - configured and the :ref:`Panda Demo ` started. - -In most situations, we will load the robot model directly from a running ROS -instance. The following code exemplifies how to do that. - -.. literalinclude :: files/02_robot_from_ros.py - :language: python - -.. note:: - - For more details about ROS, go to the :ref:`ROS Examples `. - -Additionally, the ROS loader allows to cache the results locally for faster reloads, -to enable this behavior, pass an argument with the folder where the cache should be stored: - -.. literalinclude :: files/02_robot_from_ros_with_cache.py - :language: python - -Visualizing robot models -======================== - -Once a model is loaded, we can visualize it in our favorite design environment. - -**COMPAS** includes the concept of ``scene objects``: classes that assist with the -visualization of datastructures and models, in a way that maintains the data -separated from the specific CAD interfaces, while providing a way to leverage -native performance of the CAD environment. - -We use the ``compas_robots`` extension and its ``RobotModelObject`` to visualize -robots easily and efficiently. - -The following example illustrates how to load an entire robot model from -ROS and render it in Rhino: - -.. literalinclude :: files/03_robot_rhino_from_ros.py - :language: python - -.. raw:: html - -
-
-
Downloads
- -* :download:`Visualize robot from ROS (Rhino) (.PY) ` -* :download:`Visualize robot from ROS (Grasshopper) (.GHX) ` -* :download:`Visualize robot from Github (Rhino) (.PY) ` -* :download:`Visualize robot from Github (Blender) (.PY) ` -* :download:`Visualize robot from Github (Grasshopper) (.GHX) ` - -.. raw:: html - -
-
diff --git a/docs/examples/02_description_models/03_robot_instances.rst b/docs/examples/02_description_models/03_robot_instances.rst deleted file mode 100644 index ab3f8ddaf..000000000 --- a/docs/examples/02_description_models/03_robot_instances.rst +++ /dev/null @@ -1,53 +0,0 @@ -******************************************************************************** -RobotModel Packages -******************************************************************************** - -.. rst-class:: lead - -``COMPAS FAB`` provides several ready-to-use robot packages that can be used for -demonstrating the capabilities of the package. These packages can be accessed from the -:class:`compas_fab.robots.RobotLibrary`. The robot packages are loaded from local data -files. They contain -the `robot.model`, `robot.semantics` and meshes associated with the robot links. - - -The following packages are available: - - -.. list-table:: Robot Packages - :widths: 25 25 50 25 - :header-rows: 1 - - * - Model - - Brand - - Description - - Location - * - UR5 - - Universal Robots - - 6 DOF offset-wrist robot - - :class:`~compas_fab.robots.RobotLibrary.ur5` - * - UR10e - - Universal Robots - - 6 DOF offset-wrist robot - - :class:`~compas_fab.robots.RobotLibrary.ur10e` - * - IRB 4600-40/2.55 - - ABB - - 6 DOF spherical-wrist robot - - :class:`~compas_fab.robots.RobotLibrary.abb_irb4600_40_255` - * - RFL - - ETH Arch_Tec_Lab - - Multi-​robotic system with 2 gantry and 4 robotic arms - - :class:`~compas_fab.robots.RobotLibrary.rfl` - - -Description of the RFL Robotic Setup (`Robotic Fabrication Laboratory `_) - - -Origin of the packages -====================== - -The robot packages originates from ROS MoveIt Robot Packages located in -`gramaziokohler/ros_docker `_. -The docker files are *composed up* and extracted over ROS to a local folder structure -that is compatible with the COMPAS Fab package. The convertion script can be found in the -source code repository folder `scripts/extact_robot_package_from_ros.py`. diff --git a/docs/examples/02_description_models/03_targets.rst b/docs/examples/02_description_models/03_targets.rst deleted file mode 100644 index 021c59346..000000000 --- a/docs/examples/02_description_models/03_targets.rst +++ /dev/null @@ -1,65 +0,0 @@ -.. _targets: - -******************************************************************************* -Targets and Waypoints -******************************************************************************* - ------------------------ -Targets (Single Goal) ------------------------ - -Target classes are used to describe the goal condition (i.e. end condition) of a robot -for motion planning. They can be used for Free-space Motion Planning with :meth:`compas_fab.robots.Robot.plan_motion`. - -The :class:`compas_fab.robots.FrameTarget` is the most common target for motion planning. -It defines the complete pose of the end-effector (or the robot flange, if no tool is attached). -A frame target is commonly created from a :class:`compas.geometry.Frame` object, or alternatively from a :class:`compas.geometry.Transformation` object. - -The :class:`compas_fab.robots.PointAxisTarget` class is used for specifying a target -based on a point (`target_point`) and a Z-Axis (`target_z_axis`). -This is useful for example when the robot is using a cylindrical tool to perform a task, -for example 3D printing, welding or drilling. -In a more general case, it can be used for any tools for which the rotation -around its own Z axis is acceptable during use. -The point and the Z-Axis are defined relative to the tool coordinate frame (TCF). -The goal is (1) for the tool's TCF point to coincide with the `target_point`, -and (2) for the TCF's Z-axis to become parallel to the `target_z_axis`. -Note that the exact orientatio of the TCF is not determined until after the target is planned. - -The :class:`compas_fab.robots.ConfigurationTarget` class is used to specify a target -based on a specific robot configuration (joint values). -For example, it can be used to move the robot to a taught position acquired by jogging. -Typically, the ConfigurationTarget should have the same number of joints as the planning group -of the robot. However, it is possible to specify a subset of the joints, in which -case the remaining joints are left unspecified. - -The :class:`compas_fab.robots.ConstraintSetTarget` class is used to specify a list of -constraints as a planning target. This is intended for advanced users who want to create custom -combination of constraints. See :class:`compas_fab.robots.Constraint` for available -constraints. At the moment, only the ROS MoveIt planning backend supports this target type. - -.. _waypoints: - ------------------------------------------- -Waypoints (Multiple Points / Segments) ------------------------------------------- - -Waypoints classes are used to describe a sequence of -waypoints that the robot should pass through in a planned motion. They are similar to Targets classes -but contain a list of targets instead of a single target, which is useful for tasks such as -drawing, welding or 3D printing. -They can be used for Cartesian Motion Planning with :meth:`compas_fab.robots.Robot.plan_cartesian_motion`. - -The :class:`compas_fab.robots.FrameWaypoints` is the most common waypoint for Cartesian motion planning. -It defines a list of complete pose for the end-effector (or the robot flange, if no tool is attached). -It is created by a list of :class:`compas.geometry.Frame` objects or alternatively from a list of -:class:`compas.geometry.Transformation` objects. - -The :class:`compas_fab.robots.PointAxisWaypoints` class is used for specifying a list of waypoints based on -the Point-Axis concept used in the :class:`compas_fab.robots.PointAxisTarget`. Compared to -:class:`~compas_fab.robots.FrameWaypoints`, this class allows for specifying targets where the rotation -around the Z-axis is not fixed. This is useful for example when the robot is using a cylindrical tool -to perform a task, for example 3D printing, welding or drilling. The freely rotating axis is defined relative -to the Z-axis of the tool coordinate frame (TCF). Note that the orientation of the tool -at the end of the motion is not determined until after the motion is planned. - diff --git a/docs/examples/02_description_models/files/01_robot_links_and_joints.jpg b/docs/examples/02_description_models/files/01_robot_links_and_joints.jpg deleted file mode 100644 index f8e83736242c8da793cf88e11fbf727f5fcf0e9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82541 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 diff --git a/docs/examples/02_description_models/files/01_robot_model.jpg b/docs/examples/02_description_models/files/01_robot_model.jpg deleted file mode 100644 index edd3380177e431d120838122784ae3a951ff523d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142764 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�b 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 - - - - - - - 0 - 2 - 2 - - - - - - - 1 - 0 - 7 - - - - - - be8074bb-8e96-4832-8044-be1802d61475 - Shaded - 1 - - 100;150;0;0 - - - 100;0;150;0 - - - - - - 636715287477544574 - - 03_robot_grasshopper.ghx - - - - - 0 - - - - - - 87 - 244 - - 0.614125133 - - - - - 0 - - - - - - - 0 - - - - - 1 - - - - - GhPython, Version=7.28.23058.3001, Culture=neutral, PublicKeyToken=null - 7.28.23058.3001 - - 00000000-0000-0000-0000-000000000000 - - - - - - - - - 26 - - - - - c552a431-af5b-46a9-a8a4-0fcbc27ef596 - Group - - - - - 1 - - 150;255;255;255 - - A group of Grasshopper objects - e3519229-ca14-4046-9d11-7a716a404611 - 4f3ab972-52d8-4dfe-96cf-8a5bd67b3336 - e4d3df7f-9bf6-4904-a0fb-866c58065392 - 3c5b08e1-3320-45e7-b710-dcff1c931d17 - 2004e9d5-6229-4005-b011-5a487d9d26d4 - 8f17853c-ec39-418d-8403-ec3f431cc3c4 - a9eca4b1-fc4a-4f24-88ac-745bb2a4c6eb - c0ee2b14-be7e-40ae-a58a-9c0dda14bcc0 - 5764ad31-7a82-4273-8d0a-c7b3751d9044 - d88c50d4-08aa-4515-af81-6e282faa6879 - 10 - 9dbdf6e0-3aef-4a69-bf3b-3bde98a5165b - Group - - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - Python Script - - - - - from scriptcontext import sticky as st - -import compas - -from compas_robots import RobotModel -from compas_robots.resources import GithubPackageMeshLoader -from compas_robots.ghpython.scene import RobotModelObject -from compas_fab.robots import Robot - -# Store robot in component-based key -robot_key = 'robot_{}'.format(str(ghenv.Component.InstanceGuid)) - -if robot_key not in st: - st[robot_key] = None - -if load: - # Load robot (try other repo/package combinations, e.g. 'abb_irb120_support') - repo = 'ros-industrial/abb' - package = 'abb_irb6600_support' - branch = 'kinetic-devel' - - github = GithubPackageMeshLoader(repo, package, branch) - - model = RobotModel.from_urdf_file(github.load_urdf('irb6640.urdf')) - model.load_geometry(github, precision=12) - scene_object = RobotModelObject(model) - robot = Robot(model, scene_object) - - st[robot_key] = robot - -robot = st[robot_key] - - GhPython provides a Python script component - - -8 - -8 - - - 1454 - 1050 - - true - true - 2 - false - e3519229-ca14-4046-9d11-7a716a404611 - false - true - Python Script - Python - - - - - - 187 - 118 - 99 - 28 - - - 232 - 132 - - - - - - 1 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 1 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - Script variable Python - b845a43d-038e-4745-9da8-0868a6372819 - load - load - true - 0 - true - e4d3df7f-9bf6-4904-a0fb-866c58065392 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 189 - 120 - 28 - 24 - - - 204.5 - 132 - - - - - - - - Script output robot. - 8d0c519a-1fce-4cbb-88d0-15d30b363874 - robot - robot - false - 0 - - - - - - 247 - 120 - 37 - 24 - - - 265.5 - 132 - - - - - - - - - - - - - - 8ec86459-bf01-4409-baee-174d0d2b13d0 - Data - - - - - Contains a collection of generic data - 1 - 4f3ab972-52d8-4dfe-96cf-8a5bd67b3336 - Data - robot - false - 8d0c519a-1fce-4cbb-88d0-15d30b363874 - 1 - - - - - - 317 - 122 - 50 - 20 - - - 342.4251 - 132.7259 - - - - - - - - - - a8b97322-2d53-47cd-905e-b932c3ccd74e - Button - - - - - Button object with two values - False - True - e4d3df7f-9bf6-4904-a0fb-866c58065392 - Button - Load - false - 0 - - - - - - 48 - 121 - 94 - 22 - - - - - - - - - - c552a431-af5b-46a9-a8a4-0fcbc27ef596 - Group - - - - - 1 - - 150;255;255;255 - - A group of Grasshopper objects - eee82406-b14b-4ac3-b15a-b1e5ef338f81 - 252795c8-0af3-408a-afcd-68922325c144 - 1d64e9e6-fab2-40b7-aeeb-a0b863eba38c - abd8ff11-fb3b-499e-af56-138ee2b7bdfe - 035dac9f-6d96-40ef-8a6d-11539ffb4e73 - bd3bc033-cab0-4715-ba95-fd0a4d671fad - ecee4657-2cf3-4e4e-b878-7d63a24b29b1 - d33a91db-afca-4e47-9440-82f794770b4d - 8 - 600d8045-03b6-40b7-8618-3c16c25cd973 - Group - forward kinematics - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - Python Script - - - - - import math -from compas_robots import Configuration -from compas_rhino.conversions import frame_to_rhino_plane - -if robot: - config = robot.zero_configuration() - config.joint_values = [math.radians(v) for v in (a1, a2, a3, a4, a5, a6)] - frame = frame_to_rhino_plane(robot.forward_kinematics(config)) - GhPython provides a Python script component - - 184 - 666 - - - 1300 - 740 - - true - true - 1 - false - eee82406-b14b-4ac3-b15a-b1e5ef338f81 - false - true - Python Script - forward kinematics - - - - - - 686 - 120 - 108 - 144 - - - 737 - 192 - - - - - - 7 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 2 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - Script variable Python - a71fb026-a64b-4610-bae6-c82c158359cf - robot - robot - true - 0 - true - 4f3ab972-52d8-4dfe-96cf-8a5bd67b3336 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - 2 - - - - - - 688 - 122 - 34 - 20 - - - 706.5 - 132 - - - - - - - - true - Script input a1. - 6de3c98a-61cc-435b-bc2a-c9e7d243fb96 - a1 - a1 - true - 0 - true - 252795c8-0af3-408a-afcd-68922325c144 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 688 - 142 - 34 - 20 - - - 706.5 - 152 - - - - - - - - true - Script input a2. - c8b04805-a3b5-4722-97aa-6b3806f3a17a - a2 - a2 - true - 0 - true - 1d64e9e6-fab2-40b7-aeeb-a0b863eba38c - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 688 - 162 - 34 - 20 - - - 706.5 - 172 - - - - - - - - true - Script input a3. - 14afa5f0-fda2-4a29-a2fa-3a38f53d9970 - a3 - a3 - true - 0 - true - abd8ff11-fb3b-499e-af56-138ee2b7bdfe - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 688 - 182 - 34 - 20 - - - 706.5 - 192 - - - - - - - - true - Script input a4. - b9f1cc41-d5ba-424f-8180-77e6ea93fcc9 - a4 - a4 - true - 0 - true - 035dac9f-6d96-40ef-8a6d-11539ffb4e73 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 688 - 202 - 34 - 20 - - - 706.5 - 212 - - - - - - - - true - Script input a5. - cff1c9ae-c969-4afe-a02c-e6475a790084 - a5 - a5 - true - 0 - true - bd3bc033-cab0-4715-ba95-fd0a4d671fad - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 688 - 222 - 34 - 20 - - - 706.5 - 232 - - - - - - - - true - Script input a6. - 6d91349b-34ed-4408-8418-7d7932bd91b2 - a6 - a6 - true - 0 - true - ecee4657-2cf3-4e4e-b878-7d63a24b29b1 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 688 - 242 - 34 - 20 - - - 706.5 - 252 - - - - - - - - Script output config. - e9124a0a-6f25-4430-8741-b5183bd4ccbe - configuration - config - false - 0 - - - - - - 752 - 122 - 40 - 70 - - - 772 - 157 - - - - - - - - Script output frame. - 51ad41c7-a986-4e8f-a1d6-52a464a4a5fe - a - frame - false - 0 - - - - - - 752 - 192 - 40 - 70 - - - 772 - 227 - - - - - - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - 252795c8-0af3-408a-afcd-68922325c144 - Number Slider - a1 - false - 0 - - - - - - 420 - 142 - 227 - 20 - - - 420.9646 - 142.3925 - - - - - - 3 - 1 - 1 - 360 - -360 - 0 - 0 - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - 1d64e9e6-fab2-40b7-aeeb-a0b863eba38c - Number Slider - a2 - false - 0 - - - - - - 420 - 162 - 227 - 20 - - - 420.2376 - 162.8233 - - - - - - 3 - 1 - 1 - 360 - -360 - 0 - 0 - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - abd8ff11-fb3b-499e-af56-138ee2b7bdfe - Number Slider - a3 - false - 0 - - - - - - 420 - 182 - 227 - 20 - - - 420.9646 - 182.5925 - - - - - - 3 - 1 - 1 - 360 - -360 - 0 - 0 - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - 035dac9f-6d96-40ef-8a6d-11539ffb4e73 - Number Slider - a4 - false - 0 - - - - - - 420 - 202 - 227 - 20 - - - 420.9646 - 202.3124 - - - - - - 3 - 1 - 1 - 360 - -360 - 0 - 0 - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - bd3bc033-cab0-4715-ba95-fd0a4d671fad - Number Slider - a5 - false - 0 - - - - - - 420 - 222 - 227 - 20 - - - 420.3647 - 222.3127 - - - - - - 3 - 1 - 1 - 360 - -360 - 0 - 0 - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - ecee4657-2cf3-4e4e-b878-7d63a24b29b1 - Number Slider - a6 - false - 0 - - - - - - 420 - 242 - 227 - 20 - - - 420.9646 - 242.3126 - - - - - - 3 - 1 - 1 - 360 - -360 - 0 - 0 - - - - - - - - - 7f5c6c55-f846-4a08-9c9a-cfdc285cc6fe - Scribble - - - - - true - - 424.5905 - 76.55536 - - - 695.9352 - 76.55536 - - - 695.9352 - 115.0329 - - - 424.5905 - 115.0329 - - A quick note - Arial - d33a91db-afca-4e47-9440-82f794770b4d - false - Scribble - Scribble - 41 - Configuration - - - - - - 419.5905 - 71.55536 - 281.3447 - 48.47754 - - - 424.5905 - 76.55536 - - - - - - - - - - c552a431-af5b-46a9-a8a4-0fcbc27ef596 - Group - - - - - 1 - - 150;255;255;255 - - A group of Grasshopper objects - 9b3cbd56-42b2-432b-8212-76f874ee84fe - 5f732c3a-3fa7-4ccb-b165-aedbf736a624 - 7b279625-b2ec-4866-8c2e-b5cd5304b5fc - fe6c1d5a-1e70-42a9-86d4-49550602f4be - d546900d-eccd-43dd-a4e3-02e090309597 - 5c9a2cf1-d287-4b54-95dc-f64bc7e489d1 - 34cec146-a15f-4660-ab2e-05e0dd646833 - 16042d38-d8f7-4fb5-9a93-245fc82b6f0b - 34bc32ac-e1f0-4fbe-8177-a76181477691 - c0d8eb5b-306a-48f6-9576-4da067d5f746 - 6833b4c4-c4dd-49d4-85ec-96eb473c6565 - 9d856649-32ef-4307-a36f-e6fdf4411dad - 647192de-6731-4001-a550-a7bb64e7b4dd - deb98de4-9ccd-4fd0-aaff-0ff7c8a1888a - 2cc05e7d-1304-4686-b8c3-b64ab7a6576c - 1b8eefa5-318f-4238-ad73-6e333116ec5d - 658b680c-d715-4c4e-ab69-f2cac1a27fec - 7e52a138-26d3-4ede-9534-5e36da5cf0bb - f0f11867-4b30-4131-b76a-c0b259213863 - 9c02e436-53dc-42d1-ad1f-088b73b5ab35 - 66a5123a-695b-4310-8871-0924a2e545aa - 15de06b3-21f7-4781-9533-a21cde643b2b - 359073c2-7d54-43ee-b79f-541624831879 - 1ccc9c49-e39b-42f2-b19b-9655e2617f96 - 6c5e3139-e0ba-4d8c-807f-1b000ac11869 - 705221ac-23ec-4064-b979-31568adab126 - cd0faa70-db46-4f75-88ed-3cf54981bb53 - 15d4a881-525a-4c3a-a5c0-0ceebe2bdb87 - f81ad674-aca3-4510-9fcf-14cd56c9144b - ec364427-4632-4580-a5ae-7b3f1ffd4622 - de217ebc-7ca7-48aa-b897-2c5fe30cc707 - a446aa93-7438-4afe-acc3-336e398535f1 - 22c4b412-f738-4e12-a694-d490bdf6e42a - 06c03af4-3049-42a0-a430-071a84302d23 - f5566d43-040e-4af9-a5d3-74f5052b748c - d24d5caa-39b0-49d8-87a1-e1e8593054ec - 147a563c-fc7c-4a47-90db-7da557d41411 - da249536-c8c4-48ab-9398-bfbdd60c8aab - 17247fd0-fcce-482c-97b8-ba0f96540579 - b26cb4fc-26b9-4a1e-b40a-569e24cb5238 - 0931eac6-365f-4a7a-86dd-4f50d3f30b80 - fca06c26-f348-4faa-9c4d-3ab2d2e0ba73 - 12d89d98-1903-4c41-8695-87603697f4a9 - d2b0bf6d-5330-43b3-9b1a-f3d61cc0ca38 - d5b48afe-402c-48b5-8ed0-867c5582dcd3 - f710a46a-804a-4d6f-8c6f-ccbb543beadb - edba7503-689f-4efb-afce-e44cd8e06271 - d8678bc9-86e6-4417-8f4d-d18cf57b17a1 - 49b0dacd-bcc6-48ea-9d2c-77862d12d28a - cd1113be-4c5e-43cf-89f4-3bfec05d1b55 - 2f8fa55d-ff2f-4145-9fdb-42346f54251b - a96def9e-37d4-4a46-abea-05544402c8ae - 601f7392-de55-4af1-b035-34947de6e7f8 - 9eb273ad-eae3-44f1-9bb3-391b93e3d291 - 9282ba2b-c1e5-4558-9b52-ebd039083c7a - 87ab8970-11b0-40cd-930a-5b5194dc1916 - 92d5f782-bd68-44e4-a51b-b3467193ec30 - 245caec6-fef3-4844-abe1-4ee98eb7e8d3 - 54f69083-9f65-4ad5-a0df-c2e648be7f71 - db3c817d-66d7-4f78-a30d-7640db120aa1 - 77ad3ede-ad90-4979-82e8-5da65398b04b - 095333d4-4aa8-47ac-b242-6b2aefffbc50 - a11a9cbc-2779-42c6-b6bd-c0de4194cf0f - eb478f26-ffb0-4166-ae11-56c33b606a6d - d5a5d016-018d-4fdf-9c39-cca3847596d0 - 0da0195f-f786-4b14-a075-51271a46a8e3 - 4febdca0-5d9c-49d8-ac06-83cffc970ddb - 06207700-b114-406c-9b5d-d3ba24e6f67d - 74951752-2d75-4720-8648-3727f08e4b17 - 6e5237df-4f5d-4f2d-9fca-ba3a8aece19b - 50924452-73fd-4c6a-89f5-80888158e917 - 50ae1e6b-93bc-4ba7-958f-0d9b29ee1eff - bd631697-13f0-4723-a05f-176e4cce6716 - 089232ae-9d13-47b9-bbf7-5cedf61bea66 - 74 - 0cfd740c-8dfe-4a2a-ba4d-9681d5e560b2 - Group - - - - - - - - - - - 7f5c6c55-f846-4a08-9c9a-cfdc285cc6fe - Scribble - - - - - true - - 888.0784 - 80.36942 - - - 1141.946 - 80.36942 - - - 1141.946 - 110.1985 - - - 888.0784 - 110.1985 - - A quick note - Arial - 49b0dacd-bcc6-48ea-9d2c-77862d12d28a - false - Scribble - Scribble - 41 - Visualization - - - - - - 883.0784 - 75.36942 - 263.8676 - 39.8291 - - - 888.0784 - 80.36942 - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - eb478f26-ffb0-4166-ae11-56c33b606a6d - Boolean Toggle - show_visual - false - 0 - true - - - - - - 956 - 192 - 127 - 22 - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - d5a5d016-018d-4fdf-9c39-cca3847596d0 - Boolean Toggle - show_collision - false - 0 - false - - - - - - 944 - 212 - 139 - 22 - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - 0da0195f-f786-4b14-a075-51271a46a8e3 - Boolean Toggle - show_frames - false - 0 - true - - - - - - 950 - 232 - 133 - 22 - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - 4febdca0-5d9c-49d8-ac06-83cffc970ddb - Boolean Toggle - show_end_effector_frame - false - 0 - true - - - - - - 890 - 272 - 193 - 22 - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - 06207700-b114-406c-9b5d-d3ba24e6f67d - Boolean Toggle - show_base_frame - false - 0 - true - - - - - - 928 - 252 - 155 - 22 - - - - - - - - - - 7f5c6c55-f846-4a08-9c9a-cfdc285cc6fe - Scribble - - - - - true - - 53.39706 - 73.41287 - - - 171.4522 - 73.41287 - - - 171.4522 - 103.242 - - - 53.39706 - 103.242 - - A quick note - Arial - c0ee2b14-be7e-40ae-a58a-9c0dda14bcc0 - false - Scribble - Scribble - 41 - Robot - - - - - - 48.39706 - 68.41287 - 128.0551 - 39.8291 - - - 53.39706 - 73.41287 - - - - - - - - - - 11e95a7b-1e2c-4b66-bd95-fcad51f8662a - Vector Display Ex - - - - - Preview vectors in the viewport - 50924452-73fd-4c6a-89f5-80888158e917 - Vector Display Ex - VDisEx - - - - - - 1584 - 250 - 48 - 84 - - - 1618 - 292 - - - - - - Start point of vector - f7177981-695c-418a-a010-7dd99d5a8f29 - Point - P - true - d962205a-6e76-4ca6-8dcd-02887bad430e - 1 - - - - - - 1586 - 252 - 17 - 20 - - - 1596 - 262 - - - - - - - - Vector to display - 835f1cbc-caec-4c43-983c-26fe617f1c79 - Vector - V - true - c9f33911-c95c-42f4-885a-2667387e2399 - 1 - - - - - - 1586 - 272 - 17 - 20 - - - 1596 - 282 - - - - - - - - Colour of vector - 58ad43af-e9b5-49d8-9d81-5842d8c93999 - Colour - C - true - 50588f92-6509-40a1-9194-2ff9d746d25e - 1 - - - - - - 1586 - 292 - 17 - 20 - - - 1596 - 302 - - - - - - 1 - - - - - 1 - {0} - - - - - - 255;0;0;0 - - - - - - - - - - - - Width of vector lines - 9b598ca0-2f78-41cb-b49b-2e52ca65444f - Width - W - true - 8ca6f7d9-32cf-4f92-9c92-841f23816947 - 1 - - - - - - 1586 - 312 - 17 - 20 - - - 1596 - 322 - - - - - - 1 - - - - - 1 - {0} - - - - - 2 - - - - - - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - GhPython Script - - - - - from System.Drawing import Color - -red = Color.FromArgb(255, 0, 0) -green = Color.FromArgb(0, 255, 0) -blue = Color.FromArgb(0, 0, 255) - -P = [] -V = [] -C = [] - -scale = float(scale) - -for plane in planes: - if not plane: - continue - P += [plane.Origin] * 3 - V.append(plane.XAxis * scale) - V.append(plane.YAxis * scale) - V.append(plane.ZAxis * scale) - C += [red, green, blue] - -W = 3 - GhPython provides a Python script component - - 567 - 256 - - - 741 - 702 - - true - true - true - false - 50ae1e6b-93bc-4ba7-958f-0d9b29ee1eff - false - true - GhPython Script - draw - - - - - - 1435 - 250 - 92 - 84 - - - 1490 - 292 - - - - - - 2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 4 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - 1 - true - Script input frames. - 0895e9a1-7bb6-41eb-bf22-20720a1c02a0 - frames - planes - true - 1 - true - 39c00f15-b4ee-488c-aa21-024433e7d772 - d5455fce-a4c0-4ce6-afa9-e8af471ffc4f - 3e799e8d-2d64-44e9-81bc-220de754087e - 3 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 1437 - 252 - 38 - 40 - - - 1457.5 - 272 - - - - - - - - true - Script input scale. - d8ac5fbf-6602-46e9-83f5-86c2111c3756 - scale - scale - true - 0 - true - df710f60-0af2-4824-a791-db8f5e415e90 - 1 - 37261734-eec7-4f50-b6a8-b8d1f3c4396b - - - - - - 1437 - 292 - 38 - 40 - - - 1457.5 - 312 - - - - - - 1 - - - - - 1 - {0} - - - - - Grasshopper.Kernel.Types.GH_Number - 0.1 - - - - - - - - - - - Script output P. - d962205a-6e76-4ca6-8dcd-02887bad430e - P - P - false - 0 - - - - - - 1505 - 252 - 20 - 20 - - - 1515 - 262 - - - - - - - - Script output V. - c9f33911-c95c-42f4-885a-2667387e2399 - V - V - false - 0 - - - - - - 1505 - 272 - 20 - 20 - - - 1515 - 282 - - - - - - - - Script output C. - 50588f92-6509-40a1-9194-2ff9d746d25e - C - C - false - 0 - - - - - - 1505 - 292 - 20 - 20 - - - 1515 - 302 - - - - - - - - Script output W. - 8ca6f7d9-32cf-4f92-9c92-841f23816947 - W - W - false - 0 - - - - - - 1505 - 312 - 20 - 20 - - - 1515 - 322 - - - - - - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - df710f60-0af2-4824-a791-db8f5e415e90 - Number Slider - - false - 0 - - - - - - 1435 - 214 - 160 - 20 - - - 1435.45 - 214.3584 - - - - - - 1 - 1 - 0 - 1 - 0 - 0 - 0.1 - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - COMPAS FAB: Robot Visualize - - - - - """ -Visualizes the robot. - -COMPAS FAB v0.28.0 -""" - -import time - -from compas.geometry import Frame -from compas.geometry import Transformation -from compas_rhino.conversions import frame_to_rhino_plane -from compas_ghpython import create_id -from ghpythonlib.componentbase import executingcomponent as component -from scriptcontext import sticky as st - -from compas_fab.robots import PlanningScene - - -class RobotVisualize(component): - def RunScript( - self, - robot, - group, - configuration, - show_visual, - show_collision, - show_frames, - show_base_frame, - show_end_effector_frame, - show_cm, - show_acm, - ): - visual = None - collision = None - collision_meshes = None - attached_meshes = None - frames = None - base_frame = None - ee_frame = None - - if robot: - show_visual = True if show_visual is None else show_visual - show_cm = True if show_cm is None else show_cm - show_acm = True if show_acm is None else show_acm - configuration = configuration or robot.zero_configuration() - - robot.update(configuration, visual=show_visual, collision=show_collision) - compas_frames = robot.transformed_frames(configuration, group) - - if show_visual: - visual = robot.scene_object.draw_visual() - - if show_collision: - collision = robot.scene_object.draw_collision() - - if show_base_frame: - base_compas_frame = compas_frames[0] - base_frame = frame_to_rhino_plane(base_compas_frame) - - if show_end_effector_frame: - ee_compas_frame = robot.forward_kinematics(configuration, group, options=dict(solver="model")) - ee_frame = frame_to_rhino_plane(ee_compas_frame) - - if show_frames: - frames = [] - for compas_frame in compas_frames[1:]: - frames.append(frame_to_rhino_plane(compas_frame)) - - cached_scene_key = create_id(self, "cached_scene") - - if show_cm or show_acm: - cached_scene = st.get(cached_scene_key) - if not cached_scene: - cached_scene = {"time": 0} - - # expire cache if the component has not been executed in the last 2 seconds - # this allows to slide through a list of configurations - # without triggering refreshes of the scene in the middle of it - if time.time() - cached_scene["time"] > 2: - update_scene = True - else: - update_scene = False - - if update_scene: - scene = PlanningScene(robot) - scene = robot.client.get_planning_scene() - - if update_scene and show_cm: - collision_meshes = [] - - for co in scene.world.collision_objects: - header = co.header - frame_id = header.frame_id - cms = co.to_collision_meshes() - - for cm in cms: - if cm.frame != Frame.worldXY(): - t = Transformation.from_frame(cm.frame) - mesh = cm.mesh.transformed(t) - else: - mesh = cm.mesh - - collision_meshes.extend(SceneObject(mesh).draw()) - - cached_scene["cm"] = collision_meshes - - collision_meshes = cached_scene.get("cm", []) - - if update_scene and show_acm: - attached_meshes = [] - - for aco in scene.robot_state.attached_collision_objects: - for acm in aco.to_attached_collision_meshes(): - frame_id = aco.object["header"]["frame_id"] - frame = robot.forward_kinematics(configuration, options=dict(link=frame_id)) - t = Transformation.from_frame(frame) - - # Local CM frame - if acm.collision_mesh.frame and acm.collision_mesh.frame != Frame.worldXY(): - t = t * Transformation.from_frame(acm.collision_mesh.frame) - - mesh = acm.collision_mesh.mesh.transformed(t) - - attached_meshes.extend(SceneObject(mesh).draw()) - - cached_scene["acm"] = attached_meshes - - attached_meshes = cached_scene.get("acm", []) - - cached_scene["time"] = time.time() - st[cached_scene_key] = cached_scene - - return ( - visual, - collision, - collision_meshes, - attached_meshes, - frames, - base_frame, - ee_frame, - ) - - Visualizes the robot. -COMPAS FAB v0.28.0 - - 153 - 222 - - - 558 - 571 - - true - true - 2 - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAHYSURBVEhLtZSxSgNBEIZVCEFQTDoRi4BgLcQHCGJpkSaVja2dnYUglqlEbcQulUUqHyGFpYUvEMgTBDs7z/87do7ZvVUixIPvbndm55/Z2btbKYriX8kal0nW+Bd2b19b4oJnzl8z/BUJv4hCfIh+6o8mVCFGYiII7Hm/R74zMROI2xOI7di6NAhnGtATiN04vJ8xhXWExb/XEoQFpVM8iuswvxPWhhxRWzQ/ENXOUwcBz4IkD2FOAtrmRT1RGzWv2gPcKoOcCBNkT+gLkrB9gwM1f9kOPWkT7cM2M01uVQVysAvrIyL0PqoorKOdiFkhtNAfeNQin8AO1A7NKqolCetZ5w+c9dH3wC3toW+PMfFrPPJRCIVli6gZwuI0AUSFLErWKLHcW1MenK6BYACXFqOrLebBPq7sNvBIjG37N8W4wZ8VihMPKrsNUhBLxIGkLQkMnVib9c429zqRaIrE/BtijCTSDWJQVqvLdjX0GpFgisR+PHAJTYPgk/AJj71GJAgK5qvNiUZsnZyXgmvrG1+Nnb37ID5N9aIJKNi+5F/ZvhqXCWC10fwM46g9EE1AwQslgOb+YZUk0E31ogkokF+F/dR+ZfPo1M4B3lItqBmWTda4PIqVb4c7lSMXBSLEAAAAAElFTkSuQmCC - - false - 089232ae-9d13-47b9-bbf7-5cedf61bea66 - true - true - COMPAS FAB: Robot Visualize - COMPAS FAB: Robot Visualize - - - - - - 1125 - 131 - 257 - 204 - - - 1272 - 233 - - - - - - 10 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 7 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - The robot. - ed7aeae8-ae1f-46df-a1ad-2a2a92bac11e - robot - robot - true - 0 - true - 4f3ab972-52d8-4dfe-96cf-8a5bd67b3336 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - 2 - - - - - - 1127 - 133 - 130 - 20 - - - 1193.5 - 143 - - - - - - - - true - The planning group used for end-effector and base visualization. - 28171b68-b0e6-4913-be4a-7340e5cc0466 - group - group - true - 0 - true - 0 - 37261734-eec7-4f50-b6a8-b8d1f3c4396b - - - - - - 1127 - 153 - 130 - 20 - - - 1193.5 - 163 - - - - - - - - true - The robot's full configuration. - eff2d0d9-722f-4af8-8926-457056c4c505 - configuration - configuration - true - 0 - true - e9124a0a-6f25-4430-8741-b5183bd4ccbe - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 1127 - 173 - 130 - 20 - - - 1193.5 - 183 - - - - - - - - true - Whether or not to show the robot's visual meshes. - f914f749-364f-4edc-b262-6db9cb830e8b - show_visual - show_visual - true - 0 - true - eb478f26-ffb0-4166-ae11-56c33b606a6d - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1127 - 193 - 130 - 20 - - - 1193.5 - 203 - - - - - - - - true - Whether or not to show the robot's collision meshes. - 73e3cff7-c3b7-417f-819c-57fda0b4e2c9 - show_collision - show_collision - true - 0 - true - d5a5d016-018d-4fdf-9c39-cca3847596d0 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1127 - 213 - 130 - 20 - - - 1193.5 - 223 - - - - - - - - true - Whether or not to show the robot's joint frames. - 40b17ffb-a2cc-4d3d-91ae-c91464b9ab74 - show_frames - show_frames - true - 0 - true - 0da0195f-f786-4b14-a075-51271a46a8e3 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1127 - 233 - 130 - 20 - - - 1193.5 - 243 - - - - - - - - true - Whether or not to show the robot's base frame. - 7b0944c3-bc0f-4813-a94b-3c5b3ca25806 - show_base_frame - show_base_frame - true - 0 - true - 06207700-b114-406c-9b5d-d3ba24e6f67d - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1127 - 253 - 130 - 20 - - - 1193.5 - 263 - - - - - - - - true - Whether or not to show the robot's end-effector frame. - ddcd0ffd-6cf5-44cb-942b-679d262e66f2 - show_end_effector_frame - show_end_effector_frame - true - 0 - true - 4febdca0-5d9c-49d8-ac06-83cffc970ddb - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1127 - 273 - 130 - 20 - - - 1193.5 - 283 - - - - - - - - true - Whether or not to show the collision meshes (if any). - aa96108d-190d-43b6-8af0-ecfae4ca6de8 - show_cm - show_cm - true - 0 - true - bd631697-13f0-4723-a05f-176e4cce6716 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1127 - 293 - 130 - 20 - - - 1193.5 - 303 - - - - - - - - true - Whether or not to show the attached collision meshes (if any). - d5f2de9e-8cee-4166-93dd-aa9ed453506c - show_acm - show_acm - true - 0 - true - bd631697-13f0-4723-a05f-176e4cce6716 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1127 - 313 - 130 - 20 - - - 1193.5 - 323 - - - - - - - - Rhino meshes of the robot's visual geometry (if any). - dedff080-7b4c-4e57-a37c-49980bbfda6a - visual - visual - false - 0 - - - - - - 1287 - 133 - 93 - 28 - - - 1333.5 - 147.2857 - - - - - - - - Rhino meshes of the robot's collision geometry (if any). - ab643dd2-b703-4681-a0a6-71377a110bd7 - collision - collision - false - 0 - - - - - - 1287 - 161 - 93 - 29 - - - 1333.5 - 175.8571 - - - - - - - - Rhino meshes of the scene's collision meshes (if any). - 6fc85cf9-cb9b-4588-99ec-598f249631e9 - collision_meshes - collision_meshes - false - 0 - - - - - - 1287 - 190 - 93 - 28 - - - 1333.5 - 204.4286 - - - - - - - - Rhino meshes of the scene's attached collision meshes (if any). - a09b99e2-40e8-4011-a407-b0ca69102ee2 - attached_meshes - attached_meshes - false - 0 - - - - - - 1287 - 218 - 93 - 29 - - - 1333.5 - 233 - - - - - - - - The robot's joint frames as Rhino planes (if any). - 39c00f15-b4ee-488c-aa21-024433e7d772 - frames - frames - false - 0 - - - - - - 1287 - 247 - 93 - 28 - - - 1333.5 - 261.5714 - - - - - - - - The robot's base frame as a Rhino plane (if any). - d5455fce-a4c0-4ce6-afa9-e8af471ffc4f - base_frame - base_frame - false - 0 - - - - - - 1287 - 275 - 93 - 29 - - - 1333.5 - 290.1429 - - - - - - - - The robot's end-effector frame as a Rhino plane (if any). - 3e799e8d-2d64-44e9-81bc-220de754087e - ee_frame - ee_frame - false - 0 - - - - - - 1287 - 304 - 93 - 29 - - - 1333.5 - 318.7143 - - - - - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - bd631697-13f0-4723-a05f-176e4cce6716 - Boolean Toggle - show cm/acm - false - 0 - false - - - - - - 946 - 292 - 137 - 22 - - - - - - - - - - - - - - - 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 - - - - - diff --git a/docs/examples/02_description_models/files/03_robot_grasshopper_from_ros.ghx b/docs/examples/02_description_models/files/03_robot_grasshopper_from_ros.ghx deleted file mode 100644 index 48c09068a..000000000 --- a/docs/examples/02_description_models/files/03_robot_grasshopper_from_ros.ghx +++ /dev/null @@ -1,2902 +0,0 @@ - - - - - - - - 0 - 2 - 2 - - - - - - - 1 - 0 - 7 - - - - - - be8074bb-8e96-4832-8044-be1802d61475 - Shaded - 1 - - 100;150;0;0 - - - 100;0;150;0 - - - - - - 636715287477544574 - - 03_robot_grasshopper_from_ros.ghx - - - - - 0 - - - - - - -19 - 288 - - 1 - - - - - 0 - - - - - - - 0 - - - - - 1 - - - - - GhPython, Version=7.28.23058.3001, Culture=neutral, PublicKeyToken=null - 7.28.23058.3001 - - 00000000-0000-0000-0000-000000000000 - - - - - - - - - 27 - - - - - c552a431-af5b-46a9-a8a4-0fcbc27ef596 - Group - - - - - 1 - - 150;255;255;255 - - A group of Grasshopper objects - e3519229-ca14-4046-9d11-7a716a404611 - 4f3ab972-52d8-4dfe-96cf-8a5bd67b3336 - e4d3df7f-9bf6-4904-a0fb-866c58065392 - 3c5b08e1-3320-45e7-b710-dcff1c931d17 - 2004e9d5-6229-4005-b011-5a487d9d26d4 - 8f17853c-ec39-418d-8403-ec3f431cc3c4 - a9eca4b1-fc4a-4f24-88ac-745bb2a4c6eb - c0ee2b14-be7e-40ae-a58a-9c0dda14bcc0 - 5764ad31-7a82-4273-8d0a-c7b3751d9044 - d88c50d4-08aa-4515-af81-6e282faa6879 - 3baa202e-129d-4f24-954d-1f254e37bc84 - bb355b6f-cfb9-4581-b0ad-b09d16e92ee4 - c065745d-022a-4ca0-a2ce-81247e4e47db - 489ef918-ba4b-44ed-9006-2e1c07a933e1 - 14 - 9dbdf6e0-3aef-4a69-bf3b-3bde98a5165b - Group - - - - - - - - - - - 7f5c6c55-f846-4a08-9c9a-cfdc285cc6fe - Scribble - - - - - true - - 40.64706 - 63.21286 - - - 365.6041 - 63.21286 - - - 365.6041 - 93.58249 - - - 40.64706 - 93.58249 - - A quick note - Arial - c0ee2b14-be7e-40ae-a58a-9c0dda14bcc0 - false - Scribble - Scribble - 41 - Robot from ROS - - - - - - 35.64706 - 58.21286 - 334.957 - 40.36963 - - - 40.64706 - 63.21286 - - - - - - - - - - c552a431-af5b-46a9-a8a4-0fcbc27ef596 - Group - - - - - 1 - - 150;255;255;255 - - A group of Grasshopper objects - afc79051-3927-4795-bce8-ca269b2fe0e6 - 85d96bb8-92a2-4714-8efd-7b8336b9b3a5 - 2268fd80-95ad-4e4a-a7fa-1dfd60c24579 - 86e26c64-f159-499f-b150-09803c463c92 - 61973f51-a3b1-4698-a226-0e86ee343d7c - d9e55d56-74dd-4dbd-bf42-7f5b867e2c14 - 2579ac8b-5fbd-4a7c-9b63-d3f05f33731c - caf1afc7-7300-4ead-866d-88b383508fd9 - 8 - 81e2395c-dc1f-4ea1-aede-34ae1f3e76b7 - Group - forward kinematics - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - Python Script - - - - - import math -from compas_robots import Configuration -from compas_rhino.conversions import frame_to_rhino_plane - -if robot: - config = robot.zero_configuration() - config.joint_values = [math.radians(v) for v in (a1, a2, a3, a4, a5, a6)] - frame = frame_to_rhino_plane(robot.forward_kinematics(config)) - GhPython provides a Python script component - - 184 - 666 - - - 1300 - 740 - - true - true - 1 - false - afc79051-3927-4795-bce8-ca269b2fe0e6 - false - true - Python Script - forward kinematics - - - - - - 952 - 106 - 108 - 144 - - - 1003 - 178 - - - - - - 7 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 2 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - Script variable Python - 3e9782fc-dd32-4dd5-8a86-6633d309e1c9 - robot - robot - true - 0 - true - 8a040a4e-60fc-40d6-9700-909f7566e143 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - 2 - - - - - - 954 - 108 - 34 - 20 - - - 972.5 - 118 - - - - - - - - true - Script input a1. - 79eb4385-f892-44aa-9a38-f4805006d4b1 - a1 - a1 - true - 0 - true - 85d96bb8-92a2-4714-8efd-7b8336b9b3a5 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 954 - 128 - 34 - 20 - - - 972.5 - 138 - - - - - - - - true - Script input a2. - ee7dac93-faa1-45c0-bc07-f6cd571cccc8 - a2 - a2 - true - 0 - true - 2268fd80-95ad-4e4a-a7fa-1dfd60c24579 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 954 - 148 - 34 - 20 - - - 972.5 - 158 - - - - - - - - true - Script input a3. - b53678c9-c108-4256-b6b9-b13ab404eca8 - a3 - a3 - true - 0 - true - 86e26c64-f159-499f-b150-09803c463c92 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 954 - 168 - 34 - 20 - - - 972.5 - 178 - - - - - - - - true - Script input a4. - 7e4f16c4-3831-4acb-aa40-76f85a19880d - a4 - a4 - true - 0 - true - 61973f51-a3b1-4698-a226-0e86ee343d7c - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 954 - 188 - 34 - 20 - - - 972.5 - 198 - - - - - - - - true - Script input a5. - b18ba65c-4975-404b-9d65-2719a212a60c - a5 - a5 - true - 0 - true - d9e55d56-74dd-4dbd-bf42-7f5b867e2c14 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 954 - 208 - 34 - 20 - - - 972.5 - 218 - - - - - - - - true - Script input a6. - 725046b1-9d72-4773-b37b-9fedffe315c0 - a6 - a6 - true - 0 - true - 2579ac8b-5fbd-4a7c-9b63-d3f05f33731c - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 954 - 228 - 34 - 20 - - - 972.5 - 238 - - - - - - - - Script output config. - 302c152e-eb00-4f1c-b11b-f6f67ff39ccd - config - config - false - 0 - - - - - - 1018 - 108 - 40 - 70 - - - 1038 - 143 - - - - - - - - Script output frame. - 7cf81e60-3ca0-4a59-894f-2e085658d298 - frame - frame - false - 0 - - - - - - 1018 - 178 - 40 - 70 - - - 1038 - 213 - - - - - - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - 85d96bb8-92a2-4714-8efd-7b8336b9b3a5 - Number Slider - a1 - false - 0 - - - - - - 687 - 129 - 227 - 20 - - - 687.9531 - 129.05 - - - - - - 3 - 1 - 1 - 360 - -360 - 0 - 0 - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - 2268fd80-95ad-4e4a-a7fa-1dfd60c24579 - Number Slider - a2 - false - 0 - - - - - - 687 - 149 - 227 - 20 - - - 687.2261 - 149.4808 - - - - - - 3 - 1 - 1 - 360 - -360 - 0 - 0 - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - 86e26c64-f159-499f-b150-09803c463c92 - Number Slider - a3 - false - 0 - - - - - - 687 - 169 - 227 - 20 - - - 687.9531 - 169.25 - - - - - - 3 - 1 - 1 - 360 - -360 - 0 - 0 - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - 61973f51-a3b1-4698-a226-0e86ee343d7c - Number Slider - a4 - false - 0 - - - - - - 687 - 188 - 227 - 20 - - - 687.9531 - 188.9699 - - - - - - 3 - 1 - 1 - 360 - -360 - 0 - 0 - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - d9e55d56-74dd-4dbd-bf42-7f5b867e2c14 - Number Slider - a5 - false - 0 - - - - - - 687 - 208 - 227 - 20 - - - 687.3532 - 208.9702 - - - - - - 3 - 1 - 1 - 360 - -360 - 0 - 0 - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - 2579ac8b-5fbd-4a7c-9b63-d3f05f33731c - Number Slider - a6 - false - 0 - - - - - - 687 - 228 - 227 - 20 - - - 687.9531 - 228.9701 - - - - - - 3 - 1 - 1 - 360 - -360 - 0 - 0 - - - - - - - - - 7f5c6c55-f846-4a08-9c9a-cfdc285cc6fe - Scribble - - - - - true - - 691.579 - 63.21286 - - - 962.9238 - 63.21286 - - - 962.9238 - 101.6904 - - - 691.579 - 101.6904 - - A quick note - Arial - caf1afc7-7300-4ead-866d-88b383508fd9 - false - Scribble - Scribble - 41 - Configuration - - - - - - 686.579 - 58.21286 - 281.3447 - 48.47753 - - - 691.579 - 63.21286 - - - - - - - - - - c552a431-af5b-46a9-a8a4-0fcbc27ef596 - Group - - - - - 1 - - 150;255;255;255 - - A group of Grasshopper objects - 9b3cbd56-42b2-432b-8212-76f874ee84fe - 5f732c3a-3fa7-4ccb-b165-aedbf736a624 - 7b279625-b2ec-4866-8c2e-b5cd5304b5fc - fe6c1d5a-1e70-42a9-86d4-49550602f4be - d546900d-eccd-43dd-a4e3-02e090309597 - 5c9a2cf1-d287-4b54-95dc-f64bc7e489d1 - 34cec146-a15f-4660-ab2e-05e0dd646833 - 16042d38-d8f7-4fb5-9a93-245fc82b6f0b - 34bc32ac-e1f0-4fbe-8177-a76181477691 - c0d8eb5b-306a-48f6-9576-4da067d5f746 - 6833b4c4-c4dd-49d4-85ec-96eb473c6565 - 9d856649-32ef-4307-a36f-e6fdf4411dad - 647192de-6731-4001-a550-a7bb64e7b4dd - deb98de4-9ccd-4fd0-aaff-0ff7c8a1888a - 2cc05e7d-1304-4686-b8c3-b64ab7a6576c - 1b8eefa5-318f-4238-ad73-6e333116ec5d - 658b680c-d715-4c4e-ab69-f2cac1a27fec - 7e52a138-26d3-4ede-9534-5e36da5cf0bb - f0f11867-4b30-4131-b76a-c0b259213863 - 9c02e436-53dc-42d1-ad1f-088b73b5ab35 - 66a5123a-695b-4310-8871-0924a2e545aa - 15de06b3-21f7-4781-9533-a21cde643b2b - 359073c2-7d54-43ee-b79f-541624831879 - 1ccc9c49-e39b-42f2-b19b-9655e2617f96 - 6c5e3139-e0ba-4d8c-807f-1b000ac11869 - 705221ac-23ec-4064-b979-31568adab126 - cd0faa70-db46-4f75-88ed-3cf54981bb53 - 15d4a881-525a-4c3a-a5c0-0ceebe2bdb87 - f81ad674-aca3-4510-9fcf-14cd56c9144b - ec364427-4632-4580-a5ae-7b3f1ffd4622 - de217ebc-7ca7-48aa-b897-2c5fe30cc707 - a446aa93-7438-4afe-acc3-336e398535f1 - 22c4b412-f738-4e12-a694-d490bdf6e42a - 06c03af4-3049-42a0-a430-071a84302d23 - f5566d43-040e-4af9-a5d3-74f5052b748c - d24d5caa-39b0-49d8-87a1-e1e8593054ec - 147a563c-fc7c-4a47-90db-7da557d41411 - da249536-c8c4-48ab-9398-bfbdd60c8aab - 17247fd0-fcce-482c-97b8-ba0f96540579 - b26cb4fc-26b9-4a1e-b40a-569e24cb5238 - 0931eac6-365f-4a7a-86dd-4f50d3f30b80 - fca06c26-f348-4faa-9c4d-3ab2d2e0ba73 - 12d89d98-1903-4c41-8695-87603697f4a9 - d2b0bf6d-5330-43b3-9b1a-f3d61cc0ca38 - d5b48afe-402c-48b5-8ed0-867c5582dcd3 - f710a46a-804a-4d6f-8c6f-ccbb543beadb - edba7503-689f-4efb-afce-e44cd8e06271 - d8678bc9-86e6-4417-8f4d-d18cf57b17a1 - 09be5df0-d2a3-44b2-8d39-dcc06ee81021 - cd1113be-4c5e-43cf-89f4-3bfec05d1b55 - 2f8fa55d-ff2f-4145-9fdb-42346f54251b - a96def9e-37d4-4a46-abea-05544402c8ae - 601f7392-de55-4af1-b035-34947de6e7f8 - 9eb273ad-eae3-44f1-9bb3-391b93e3d291 - 9282ba2b-c1e5-4558-9b52-ebd039083c7a - 87ab8970-11b0-40cd-930a-5b5194dc1916 - 92d5f782-bd68-44e4-a51b-b3467193ec30 - 245caec6-fef3-4844-abe1-4ee98eb7e8d3 - 54f69083-9f65-4ad5-a0df-c2e648be7f71 - db3c817d-66d7-4f78-a30d-7640db120aa1 - 77ad3ede-ad90-4979-82e8-5da65398b04b - 095333d4-4aa8-47ac-b242-6b2aefffbc50 - a11a9cbc-2779-42c6-b6bd-c0de4194cf0f - b73218f3-52b2-4f84-a515-25e93f3c30a3 - 3cbcfa36-0445-4d8e-a4f6-91592d2814c2 - 24ee6b42-8732-4d33-999e-786dd108c02a - b4cba781-37d4-4fdd-963a-59800dfa5f5d - 9cbf677b-7fc4-4dc0-9375-3d91ccea91d9 - 74951752-2d75-4720-8648-3727f08e4b17 - 6e5237df-4f5d-4f2d-9fca-ba3a8aece19b - ad9e4831-7c2b-4daa-b0d1-a8e2562aa6f4 - d6971c2b-1d7c-4ed9-bb4c-75ad42bd30d1 - 87da4025-86f5-4353-ba38-3f6c62734882 - 3f7bedac-4bf6-4ccd-b6bf-1a805c5f8278 - 74 - d562f5d7-be3b-42fd-9bfd-ace1423a55e9 - Group - - - - - - - - - - - 7f5c6c55-f846-4a08-9c9a-cfdc285cc6fe - Scribble - - - - - true - - 1133.139 - 63.21286 - - - 1387.007 - 63.21286 - - - 1387.007 - 93.04196 - - - 1133.139 - 93.04196 - - A quick note - Arial - 09be5df0-d2a3-44b2-8d39-dcc06ee81021 - false - Scribble - Scribble - 41 - Visualization - - - - - - 1128.139 - 58.21286 - 263.8677 - 39.8291 - - - 1133.139 - 63.21286 - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - b73218f3-52b2-4f84-a515-25e93f3c30a3 - Boolean Toggle - show_visual - false - 0 - true - - - - - - 1201 - 174 - 127 - 22 - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - 3cbcfa36-0445-4d8e-a4f6-91592d2814c2 - Boolean Toggle - show_collision - false - 0 - false - - - - - - 1189 - 194 - 139 - 22 - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - 24ee6b42-8732-4d33-999e-786dd108c02a - Boolean Toggle - show_frames - false - 0 - true - - - - - - 1195 - 214 - 133 - 22 - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - b4cba781-37d4-4fdd-963a-59800dfa5f5d - Boolean Toggle - show_end_effector_frame - false - 0 - true - - - - - - 1135 - 254 - 193 - 22 - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - 9cbf677b-7fc4-4dc0-9375-3d91ccea91d9 - Boolean Toggle - show_base_frame - false - 0 - true - - - - - - 1173 - 234 - 155 - 22 - - - - - - - - - - 11e95a7b-1e2c-4b66-bd95-fcad51f8662a - Vector Display Ex - - - - - Preview vectors in the viewport - ad9e4831-7c2b-4daa-b0d1-a8e2562aa6f4 - Vector Display Ex - VDisEx - - - - - - 1829 - 232 - 48 - 84 - - - 1863 - 274 - - - - - - Start point of vector - b28e91c8-2ade-46c3-bf94-672d5b36ea69 - Point - P - true - 511793ed-e61f-45ca-afc9-6f1755e37f8f - 1 - - - - - - 1831 - 234 - 17 - 20 - - - 1841 - 244 - - - - - - - - Vector to display - 189ce788-8499-4572-943b-32e50ff056ae - Vector - V - true - 2d6cfe13-6e87-4cec-9683-a067433fe3da - 1 - - - - - - 1831 - 254 - 17 - 20 - - - 1841 - 264 - - - - - - - - Colour of vector - 6a0a85a2-e425-4314-8e40-5aae22a2b469 - Colour - C - true - 4523b4a7-9440-47e5-b209-e6a13aa89a8b - 1 - - - - - - 1831 - 274 - 17 - 20 - - - 1841 - 284 - - - - - - 1 - - - - - 1 - {0} - - - - - - 255;0;0;0 - - - - - - - - - - - - Width of vector lines - 4b5e813d-126d-4b7f-b173-d5639beb4abf - Width - W - true - c788f743-c8e4-4105-931e-d9ad1e328881 - 1 - - - - - - 1831 - 294 - 17 - 20 - - - 1841 - 304 - - - - - - 1 - - - - - 1 - {0} - - - - - 2 - - - - - - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - GhPython Script - - - - - from System.Drawing import Color - -red = Color.FromArgb(255, 0, 0) -green = Color.FromArgb(0, 255, 0) -blue = Color.FromArgb(0, 0, 255) - -P = [] -V = [] -C = [] - -scale = float(scale) - -for plane in planes: - if not plane: - continue - P += [plane.Origin] * 3 - V.append(plane.XAxis * scale) - V.append(plane.YAxis * scale) - V.append(plane.ZAxis * scale) - C += [red, green, blue] - -W = 3 - GhPython provides a Python script component - - 567 - 256 - - - 741 - 702 - - true - true - true - false - d6971c2b-1d7c-4ed9-bb4c-75ad42bd30d1 - false - true - GhPython Script - draw - - - - - - 1680 - 232 - 92 - 84 - - - 1735 - 274 - - - - - - 2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 4 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - 1 - true - Script input frames. - 5886e7ff-f09c-4e5c-84e6-e288175bfbcd - planes - planes - true - 1 - true - 13b8418e-c1d3-422a-ade3-b53f9c9eb3d3 - fa63e065-9738-499c-a26c-a9f912e7c11c - ff5ebf61-d9ba-4ded-8dc0-a9ef79f70bbd - 3 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 1682 - 234 - 38 - 40 - - - 1702.5 - 254 - - - - - - - - true - Script input scale. - 7a83416c-b791-4100-9f19-7afba954b144 - scale - scale - true - 0 - true - cf6f2365-cebc-4985-9046-566c97e7585c - 1 - 37261734-eec7-4f50-b6a8-b8d1f3c4396b - - - - - - 1682 - 274 - 38 - 40 - - - 1702.5 - 294 - - - - - - 1 - - - - - 1 - {0} - - - - - Grasshopper.Kernel.Types.GH_Number - 0.1 - - - - - - - - - - - Script output P. - 511793ed-e61f-45ca-afc9-6f1755e37f8f - P - P - false - 0 - - - - - - 1750 - 234 - 20 - 20 - - - 1760 - 244 - - - - - - - - Script output V. - 2d6cfe13-6e87-4cec-9683-a067433fe3da - V - V - false - 0 - - - - - - 1750 - 254 - 20 - 20 - - - 1760 - 264 - - - - - - - - Script output C. - 4523b4a7-9440-47e5-b209-e6a13aa89a8b - C - C - false - 0 - - - - - - 1750 - 274 - 20 - 20 - - - 1760 - 284 - - - - - - - - Script output W. - c788f743-c8e4-4105-931e-d9ad1e328881 - W - W - false - 0 - - - - - - 1750 - 294 - 20 - 20 - - - 1760 - 304 - - - - - - - - - - - - - - 57da07bd-ecab-415d-9d86-af36d7073abc - Number Slider - - - - - Numeric slider for single values - cf6f2365-cebc-4985-9046-566c97e7585c - Number Slider - - false - 0 - - - - - - 1632 - 224 - 160 - 20 - - - 1632.511 - 224.3584 - - - - - - 1 - 1 - 0 - 1 - 0 - 0 - 0.1 - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - COMPAS FAB: Robot Visualize - - - - - """ -Visualizes the robot. - -COMPAS FAB v0.28.0 -""" - -import time - -from compas.geometry import Frame -from compas.geometry import Transformation -from compas_rhino.conversions import frame_to_rhino_plane -from compas_ghpython import create_id -from ghpythonlib.componentbase import executingcomponent as component -from scriptcontext import sticky as st - -from compas_fab.robots import PlanningScene - - -class RobotVisualize(component): - def RunScript( - self, - robot, - group, - configuration, - show_visual, - show_collision, - show_frames, - show_base_frame, - show_end_effector_frame, - show_cm, - show_acm, - ): - visual = None - collision = None - collision_meshes = None - attached_meshes = None - frames = None - base_frame = None - ee_frame = None - - if robot: - show_visual = True if show_visual is None else show_visual - show_cm = True if show_cm is None else show_cm - show_acm = True if show_acm is None else show_acm - configuration = configuration or robot.zero_configuration() - - robot.update(configuration, visual=show_visual, collision=show_collision) - compas_frames = robot.transformed_frames(configuration, group) - - if show_visual: - visual = robot.scene_object.draw_visual() - - if show_collision: - collision = robot.scene_object.draw_collision() - - if show_base_frame: - base_compas_frame = compas_frames[0] - base_frame = frame_to_rhino_plane(base_compas_frame) - - if show_end_effector_frame: - ee_compas_frame = robot.forward_kinematics(configuration, group, options=dict(solver="model")) - ee_frame = frame_to_rhino_plane(ee_compas_frame) - - if show_frames: - frames = [] - for compas_frame in compas_frames[1:]: - frames.append(frame_to_rhino_plane(compas_frame)) - - cached_scene_key = create_id(self, "cached_scene") - - if show_cm or show_acm: - cached_scene = st.get(cached_scene_key) - if not cached_scene: - cached_scene = {"time": 0} - - # expire cache if the component has not been executed in the last 2 seconds - # this allows to slide through a list of configurations - # without triggering refreshes of the scene in the middle of it - if time.time() - cached_scene["time"] > 2: - update_scene = True - else: - update_scene = False - - if update_scene: - scene = PlanningScene(robot) - scene = robot.client.get_planning_scene() - - if update_scene and show_cm: - collision_meshes = [] - - for co in scene.world.collision_objects: - header = co.header - frame_id = header.frame_id - cms = co.to_collision_meshes() - - for cm in cms: - if cm.frame != Frame.worldXY(): - t = Transformation.from_frame(cm.frame) - mesh = cm.mesh.transformed(t) - else: - mesh = cm.mesh - - collision_meshes.extend(SceneObject(mesh).draw()) - - cached_scene["cm"] = collision_meshes - - collision_meshes = cached_scene.get("cm", []) - - if update_scene and show_acm: - attached_meshes = [] - - for aco in scene.robot_state.attached_collision_objects: - for acm in aco.to_attached_collision_meshes(): - frame_id = aco.object["header"]["frame_id"] - frame = robot.forward_kinematics(configuration, options=dict(link=frame_id)) - t = Transformation.from_frame(frame) - - # Local CM frame - if acm.collision_mesh.frame and acm.collision_mesh.frame != Frame.worldXY(): - t = t * Transformation.from_frame(acm.collision_mesh.frame) - - mesh = acm.collision_mesh.mesh.transformed(t) - - attached_meshes.extend(SceneObject(mesh).draw()) - - cached_scene["acm"] = attached_meshes - - attached_meshes = cached_scene.get("acm", []) - - cached_scene["time"] = time.time() - st[cached_scene_key] = cached_scene - - return ( - visual, - collision, - collision_meshes, - attached_meshes, - frames, - base_frame, - ee_frame, - ) - - Visualizes the robot. -COMPAS FAB v0.28.0 - - 153 - 222 - - - 558 - 571 - - true - true - 2 - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEAAACxABrSO9dQAAAdhJREFUSEu1lLFKA0EQhlUIQVBMOhGLgGAtxAcIYmmRJpWNrZ2dhSCWqURtxC6VRSofIYWlhS8QyBMEOzvP/zt2jtm9VSLEg+9ud2bnn9nZu1spiuJfyRqXSdb4F3ZvX1vigmfOXzP8FQm/iEJ8iH7qjyZUIUZiIgjseb9HvjMxE4jbE4jt2Lo0CGca0BOI3Ti8nzGFdYTFv9cShAWlUzyK6zC/E9aGHFFbND8Q1c5TBwHPgiQPYU4C2uZFPVEbNa/aA9wqg5wIE2RP6AuSsH2DAzV/2Q49aRPtwzYzTW5VBXKwC+sjIvQ+qiiso52IWSG00B941CKfwA7UDs0qqiUJ61nnD5z10ffALe2hb48x8Ws88lEIhWWLqBnC4jQBRIUsStYosdxbUx6croFgAJcWo6st5sE+ruw28EiMbfs3xbjBnxWKEw8quw1SEEvEgaQtCQydWJv1zjb3OpFoisT8G2KMJNINYlBWq8t2NfQakWCKxH48cAlNg+CT8AmPvUYkCArmq82JRmydnJeCa+sbX42dvfsgPk31ogko2L7kX9m+GpcJYLXR/AzjqD0QTUDBCyWA5v5hlSTQTfWiCSiQX4X91H5l8+jUzgHeUi2oGZZN1rg8ipVvhzuVIxcFIsQAAAAASUVORK5CYII= - - false - 3f7bedac-4bf6-4ccd-b6bf-1a805c5f8278 - true - true - COMPAS FAB: Robot Visualize - COMPAS FAB: Robot Visualize - - - - - - 1370 - 113 - 257 - 204 - - - 1517 - 215 - - - - - - 10 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 7 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - The robot. - e4b65ee8-f694-45c6-8a9f-1794ea672ec5 - robot - robot - true - 0 - true - 8a040a4e-60fc-40d6-9700-909f7566e143 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - 2 - - - - - - 1372 - 115 - 130 - 20 - - - 1438.5 - 125 - - - - - - - - true - The planning group used for end-effector and base visualization. - 64a0d740-9eb8-4b79-9983-cfe571108f63 - group - group - true - 0 - true - 0 - 37261734-eec7-4f50-b6a8-b8d1f3c4396b - - - - - - 1372 - 135 - 130 - 20 - - - 1438.5 - 145 - - - - - - - - true - The robot's full configuration. - 847e54c0-9756-464a-8bb5-ded64c19d348 - configuration - configuration - true - 0 - true - 302c152e-eb00-4f1c-b11b-f6f67ff39ccd - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 1372 - 155 - 130 - 20 - - - 1438.5 - 165 - - - - - - - - true - Whether or not to show the robot's visual meshes. - b10baa97-5354-465c-aa1d-0416e30c083b - show_visual - show_visual - true - 0 - true - b73218f3-52b2-4f84-a515-25e93f3c30a3 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1372 - 175 - 130 - 20 - - - 1438.5 - 185 - - - - - - - - true - Whether or not to show the robot's collision meshes. - ac0be9da-bbdc-4c37-988d-a7d2b6fa9b4a - show_collision - show_collision - true - 0 - true - 3cbcfa36-0445-4d8e-a4f6-91592d2814c2 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1372 - 195 - 130 - 20 - - - 1438.5 - 205 - - - - - - - - true - Whether or not to show the robot's joint frames. - 46d37c95-88dd-4334-af9a-0914c020acd2 - show_frames - show_frames - true - 0 - true - 24ee6b42-8732-4d33-999e-786dd108c02a - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1372 - 215 - 130 - 20 - - - 1438.5 - 225 - - - - - - - - true - Whether or not to show the robot's base frame. - b34b3e0f-740c-4a66-a441-3c42b59e96df - show_base_frame - show_base_frame - true - 0 - true - 9cbf677b-7fc4-4dc0-9375-3d91ccea91d9 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1372 - 235 - 130 - 20 - - - 1438.5 - 245 - - - - - - - - true - Whether or not to show the robot's end-effector frame. - 4e1cb854-27c3-4d9a-a858-a05710df5a6d - show_end_effector_frame - show_end_effector_frame - true - 0 - true - b4cba781-37d4-4fdd-963a-59800dfa5f5d - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1372 - 255 - 130 - 20 - - - 1438.5 - 265 - - - - - - - - true - Whether or not to show the collision meshes (if any). - 40cba76e-3a06-44dd-9994-94bab29a2b59 - show_cm - show_cm - true - 0 - true - 87da4025-86f5-4353-ba38-3f6c62734882 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1372 - 275 - 130 - 20 - - - 1438.5 - 285 - - - - - - - - true - Whether or not to show the attached collision meshes (if any). - 99ce4fc3-25f3-49b8-858a-42689d554e6e - show_acm - show_acm - true - 0 - true - 87da4025-86f5-4353-ba38-3f6c62734882 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1372 - 295 - 130 - 20 - - - 1438.5 - 305 - - - - - - - - Rhino meshes of the robot's visual geometry (if any). - 0c6ffec8-7558-4199-a2e2-6d2d465797c0 - visual - visual - false - 0 - - - - - - 1532 - 115 - 93 - 28 - - - 1578.5 - 129.2857 - - - - - - - - Rhino meshes of the robot's collision geometry (if any). - ba23f8e5-4063-45b9-bf4d-f58eb84d8fbf - collision - collision - false - 0 - - - - - - 1532 - 143 - 93 - 29 - - - 1578.5 - 157.8571 - - - - - - - - Rhino meshes of the scene's collision meshes (if any). - 7dac3fba-39ae-4519-b713-f652db404939 - collision_meshes - collision_meshes - false - 0 - - - - - - 1532 - 172 - 93 - 28 - - - 1578.5 - 186.4286 - - - - - - - - Rhino meshes of the scene's attached collision meshes (if any). - ccc106b2-f81f-4838-a179-170b5dc67ded - attached_meshes - attached_meshes - false - 0 - - - - - - 1532 - 200 - 93 - 29 - - - 1578.5 - 215 - - - - - - - - The robot's joint frames as Rhino planes (if any). - 13b8418e-c1d3-422a-ade3-b53f9c9eb3d3 - frames - frames - false - 0 - - - - - - 1532 - 229 - 93 - 28 - - - 1578.5 - 243.5714 - - - - - - - - The robot's base frame as a Rhino plane (if any). - fa63e065-9738-499c-a26c-a9f912e7c11c - base_frame - base_frame - false - 0 - - - - - - 1532 - 257 - 93 - 29 - - - 1578.5 - 272.1429 - - - - - - - - The robot's end-effector frame as a Rhino plane (if any). - ff5ebf61-d9ba-4ded-8dc0-a9ef79f70bbd - ee_frame - ee_frame - false - 0 - - - - - - 1532 - 286 - 93 - 29 - - - 1578.5 - 300.7143 - - - - - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - 87da4025-86f5-4353-ba38-3f6c62734882 - Boolean Toggle - show cm/acm - false - 0 - false - - - - - - 1191 - 274 - 137 - 22 - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - COMPAS FAB: ROS Connect - - - - - """ -Connect or disconnect to ROS. - -COMPAS FAB v0.28.0 -""" - -from ghpythonlib.componentbase import executingcomponent as component -from scriptcontext import sticky as st - -from compas_fab.backends import RosClient -from compas_fab.ghpython.components import create_id - - -class ROSConnect(component): - def RunScript(self, ip, port, connect): - ros_client = None - - ip = ip or "127.0.0.1" - port = port or 9090 - - key = create_id(self, "ros_client") - ros_client = st.get(key, None) - - if ros_client: - st[key].close() - if connect: - st[key] = RosClient(ip, port) - st[key].run(5) - - ros_client = st.get(key, None) - is_connected = ros_client.is_connected if ros_client else False - return (ros_client, is_connected) - - Connect or disconnect to ROS. -COMPAS FAB v0.28.0 - true - true - 2 - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAHWSURBVEhLtZQ9juJAEEa5AXMD9gZwA3wEbgARIXADHBBMgkCrlQghJGNuwNwAwslAIpkMh5v1fq/WzTaeYki8LT1hf/Xb3WUaIYT/iivWiSvWiSvWiSs6ZOJNPFuF2IgfwmKriTyW1+s1TKfT0G63FdF4SLfbDev1WiFWaEC8lzBlQvKYmF8KeYzH49Bqtcyv3+8r1FbHSxp5EQVdEZR09v4Nlhx/iqJ5iSODw+GQOh8FRT3fSEdYU81mU4++k3I2stVq9UFiCpxOp9Dr9ew54V3kolp0yW7x2e/3dwZDa4NxNpv9jgW4h+FwiE5C4PmITZzFbWpEbom9AloDDGJTFMXrbrczx/L8GdNH/hwfGrs5x3ugsWoA3ZzLd87TzpLpwFmLIj3Bd2GMRqNfWZaF7Xb7U+/HeG/cg1aRJn/BIPKoibe4CwotFgvb9iMY1ejLvWlN0gIdjGISNcGWjwTHGX8GnZfJ+aKl/EsmuzmZIYEiaIHtV7tOKRPzrdxOIU1EAZsgwfne2QSFOH+CDQZhPp9/5nkeLpfLUtqXuPuXv/dQlEUYx+wbmCCGAl/73/H4KmimBR8RL8+gmYfJwRVBi0Je5ze8uCquWCeuWCeuWCeuWB+h8Qe29eD9QdtraQAAAABJRU5ErkJggg== - - false - 3baa202e-129d-4f24-954d-1f254e37bc84 - true - true - COMPAS FAB: ROS Connect - COMPAS FAB: ROS Connect - - - - - - 188 - 103 - 153 - 64 - - - 251 - 135 - - - - - - 3 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 2 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - The ip address ROS. Defaults to 127.0.0.1. - c7a9d6d2-b389-40c7-ba33-1495fc5d1e21 - ip - ip - true - 0 - true - 0 - 37261734-eec7-4f50-b6a8-b8d1f3c4396b - - - - - - 190 - 105 - 46 - 20 - - - 214.5 - 115 - - - - - - - - true - The port of ROS. Defaults to 9090. - 8f44879c-87ab-4821-926f-e0310abe4287 - port - port - true - 0 - true - 0 - 48d01794-d3d8-4aef-990e-127168822244 - - - - - - 190 - 125 - 46 - 20 - - - 214.5 - 135 - - - - - - - - true - If True, connects to ROS. If False, disconnects from ROS. Defaults to False. - 3cb85218-7e0f-4f74-b116-a0bd1101e137 - connect - connect - true - 0 - true - bb355b6f-cfb9-4581-b0ad-b09d16e92ee4 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 190 - 145 - 46 - 20 - - - 214.5 - 155 - - - - - - - - The ROS client. - 42a4eec4-4482-4f43-a8ba-760a4ba431a6 - ros_client - ros_client - false - 0 - - - - - - 266 - 105 - 73 - 30 - - - 302.5 - 120 - - - - - - - - True if connection established. - 5dac46c4-89e3-4df2-a309-74ba6345a00b - is_connected - is_connected - false - 0 - - - - - - 266 - 135 - 73 - 30 - - - 302.5 - 150 - - - - - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - bb355b6f-cfb9-4581-b0ad-b09d16e92ee4 - Boolean Toggle - Connect - false - 0 - false - - - - - - 43 - 144 - 110 - 22 - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - COMPAS FAB: ROS Robot - - - - - """ -Load robot directly from ROS. - -COMPAS FAB v0.28.0 -""" - -from compas.scene import SceneObject -from ghpythonlib.componentbase import executingcomponent as component -from scriptcontext import sticky as st - -from compas_fab.ghpython.components import create_id - - -class ROSRobot(component): - def RunScript(self, ros_client, load): - key = create_id(self, "robot") - - if ros_client and ros_client.is_connected and load: - # Load URDF from ROS - st[key] = ros_client.load_robot(load_geometry=True, precision=12) - st[key].scene_object = SceneObject(st[key].model) - - robot = st.get(key, None) - if robot: # client sometimes need to be restarted, without needing to reload geometry - robot.client = ros_client - return robot - - Load robot directly from ROS. -COMPAS FAB v0.28.0 - true - true - 2 - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAFbSURBVEhLvZTBUcMwEEVTAiWkhJSQElICJVABkxIYLlxz4pwSUgIlpAQ6MP/Z+mZlrUM8GHbmjaXVarX+a3nTdd2fkjrXJHUuQfYgnnim65lzCbKzYPApDs16NRmqOYmLYOM+rkdkj+IqmPgJ7N2OcZNNLE437AXJjoG4zpjCtsL7P5oDSkC/KN7Ec5m/CMuQUcki24nxzacLDN4Fh7yWOQcgG+OMSkbZKE8/ryZDYgZ+wkFwCK9vaKjXezlkyIR8TK5jTg9KEG9hHUmC9lVFJQ45SeZCkDA2vJWobHRD3TRX1BxS4omLDSe+ug/Vht5Ry2Mu0zgjoxAKy4toHEOwE0dm78Qtcmf+1YyNW0LuHF47finmmMXfInUCyUJiw6HpT22O1Glk8Qsxpyx2jtRpZL9ueOsYbm1M9hPItpvmMa3j+yYvYbb5reMfDuBX4Z/avdwv0dqkzvXoNl8X2cTgqAi1xAAAAABJRU5ErkJggg== - - false - c065745d-022a-4ca0-a2ce-81247e4e47db - true - true - COMPAS FAB: ROS Robot - COMPAS FAB: ROS Robot - - - - - - 509 - 108 - 124 - 44 - - - 579 - 130 - - - - - - 2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 1 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - The ROS client. - 87aa7c93-511c-4419-a404-e70c741e9cc0 - ros_client - ros_client - true - 0 - true - 42a4eec4-4482-4f43-a8ba-760a4ba431a6 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 511 - 110 - 53 - 20 - - - 539 - 120 - - - - - - - - true - If True, loads the robot from ROS. Defaults to False. - 4956a023-a1a5-4d8a-84a9-33d5bc74d6de - load - load - true - 0 - true - 489ef918-ba4b-44ed-9006-2e1c07a933e1 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 511 - 130 - 53 - 20 - - - 539 - 140 - - - - - - - - The robot. - 8a040a4e-60fc-40d6-9700-909f7566e143 - robot - robot - false - 0 - - - - - - 594 - 110 - 37 - 40 - - - 612.5 - 130 - - - - - - - - - - - - - - a8b97322-2d53-47cd-905e-b932c3ccd74e - Button - - - - - Button object with two values - False - True - 489ef918-ba4b-44ed-9006-2e1c07a933e1 - Button - Button - false - 0 - - - - - - 368 - 129 - 103 - 22 - - - - - - - - - - - - - - - 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 - - - - - \ No newline at end of file diff --git a/docs/examples/02_description_models/files/03_robot_rhino.py b/docs/examples/02_description_models/files/03_robot_rhino.py deleted file mode 100644 index 8f1491fb3..000000000 --- a/docs/examples/02_description_models/files/03_robot_rhino.py +++ /dev/null @@ -1,17 +0,0 @@ -from compas.scene import Scene -from compas_robots import RobotModel -from compas_robots.resources import GithubPackageMeshLoader - -r = "ros-industrial/abb" -p = "abb_irb6600_support" -b = "kinetic-devel" - -github = GithubPackageMeshLoader(r, p, b) -urdf = github.load_urdf("irb6640.urdf") - -model = RobotModel.from_urdf_file(urdf) -model.load_geometry(github, precision=12) - -scene = Scene() -scene_object = scene.add(model) -scene.draw() \ No newline at end of file diff --git a/docs/examples/02_description_models/files/03_robot_rhino_from_ros.py b/docs/examples/02_description_models/files/03_robot_rhino_from_ros.py deleted file mode 100644 index af186e0ae..000000000 --- a/docs/examples/02_description_models/files/03_robot_rhino_from_ros.py +++ /dev/null @@ -1,11 +0,0 @@ -from compas_fab.backends import RosClient -from compas.scene import Scene - -with RosClient() as ros: - # Load complete model from ROS - robot_cell = ros.load_robot_cell(load_geometry=True, precision=12) - - # Visualize robot - scene = Scene() - scene_object = scene.add(robot_cell) - scene.draw() diff --git a/docs/examples/02_description_models/files/04_robot_cell_library_pybullet.py b/docs/examples/02_description_models/files/04_robot_cell_library_pybullet.py deleted file mode 100644 index 57dbea5fc..000000000 --- a/docs/examples/02_description_models/files/04_robot_cell_library_pybullet.py +++ /dev/null @@ -1,10 +0,0 @@ -from compas_fab.backends.pybullet import PyBulletClient -from compas_fab.backends.pybullet import PyBulletPlanner - -from compas_fab.robots import RobotCellLibrary - -with PyBulletClient() as client: - planner = PyBulletPlanner(client) - robot_cell, robot_cell_state = RobotCellLibrary.abb_irb4600_40_255_gripper_one_beam(client, load_geometry=True) - planner.set_robot_cell(robot_cell, robot_cell_state) - input("Press Enter to exit...") diff --git a/docs/examples/02_description_models/files/05_robot_model_chains.py b/docs/examples/02_description_models/files/05_robot_model_chains.py deleted file mode 100644 index 5abe88459..000000000 --- a/docs/examples/02_description_models/files/05_robot_model_chains.py +++ /dev/null @@ -1,88 +0,0 @@ -# This example file demonstrates how to print the chain of links and joints in a robot model. - -from compas_fab.robots import RobotCellLibrary -from compas_robots.model import Joint - -# RobotCellLibrary also contains .ur5(), .ur10e(), abb_irb120_3_58(), abb_irb4600_40_255(), .rfl(), .panda() -robot_cell, robot_cell_state = RobotCellLibrary.panda(load_geometry=False) - -model = robot_cell.robot_model -print("Robot Model Chain:") - -# ---------------------------------------------- -# Example 1: Print the chain of links and joints -# ---------------------------------------------- - -base_link_name = model.get_base_link_name() -print("Base Link: {}".format(base_link_name)) - - -# Iteratively print the chain of links and joints -def print_joint(joint, level=1): - # type: (Joint, int) -> None - link = joint.child_link - print("-" * level + "Joint: {} Link: {}".format(joint.name, link.name)) - for child_joint in link.joints: - print_joint(child_joint, level + 1) - - -first_joint = model.joints[0] -print_joint(first_joint) - -# --------------------------------------------------------------------------------- -# Example 2: Print the chain and highlight the links and joints in a planning group -# --------------------------------------------------------------------------------- - -print("") - - -def print_planning_group_chain(group): - print("Planning Group: {}".format(group)) - base_link = robot_cell.get_base_link_name(group) - print("Base Link: {}".format(base_link)) - tip_link = robot_cell.get_end_effector_link_name(group) - print("Tip Link: {}".format(tip_link)) - print("--------------------") - group_object = robot_cell.robot_semantics.groups[group] - joints_in_group = group_object["joints"] - links_in_group = group_object["links"] - - # Iteratively print the chain of links and joints - def print_joint(joint, level=1): - # type: (Joint, int) -> None - link = joint.child_link - line = "-" * level - - # Joint info - if joint.name in joints_in_group: - line += " [Joint: {}]".format(joint.name) - else: - line += " Joint: {}".format(joint.name) - - # Type of joint - line += " (" - if joint.is_configurable(): - line += "Configurable" - elif joint.mimic: - line += "Mimic" - else: - line += "Fixed" - line += " {})".format(Joint.SUPPORTED_TYPES[joint.type]) - - # Link info - if link.name in links_in_group: - line += " [Link: {}]".format(link.name) - else: - line += " Link: {}".format(link.name) - print(line) - for child_joint in link.joints: - print_joint(child_joint, level + 1) - - print("Base Link: {}".format(model.get_base_link_name())) - first_joint = model.joints[0] - print_joint(first_joint) - print("") - - -for group in robot_cell.robot_semantics.groups: - print_planning_group_chain(group) diff --git a/docs/examples/02_description_models/files/05_robot_viewer.py b/docs/examples/02_description_models/files/05_robot_viewer.py deleted file mode 100644 index 0d383e5f2..000000000 --- a/docs/examples/02_description_models/files/05_robot_viewer.py +++ /dev/null @@ -1,53 +0,0 @@ -# This example does not work with IronPython -from compas_fab.robots import RobotCellLibrary -from compas_robots.viewer.scene.robotmodelobject import RobotModelObject -from compas_robots.model import Joint -from compas_viewer.components import Slider -from compas_viewer import Viewer - -# Initialize the viewer -viewer = Viewer() -viewer.renderer.rendermode = "lighted" -viewer.ui.sidedock.show = True - -# Load robot from RobotCellLibrary -# RobotCellLibrary also contains .ur5(), .ur10e(), abb_irb120_3_58(), abb_irb4600_40_255(), .rfl(), .panda() -robot_cell, robot_cell_state = RobotCellLibrary.ur5() -model = robot_cell.robot_model - -start_configuration = model.zero_configuration() -robot_object: RobotModelObject = viewer.scene.add(model, show_lines=False, configuration=start_configuration) # type: ignore - - -# Callback function when the slider is moved to update the robot's joint values -def make_rotate_function(joint_name): - def rotate(slider: Slider, value: float): - config = robot_object.configuration - config[joint_name] = value - robot_object.update_joints(config) - - return rotate - - -# Create one slider for each joint -for joint in robot_cell.get_configurable_joints(): - starting_val = start_configuration[joint.name] - print(joint.name, Joint.SUPPORTED_TYPES[joint.type], joint.limit.lower, joint.limit.upper, starting_val) - # Units are in radians or meters - step_size = (joint.limit.upper - joint.limit.lower) / 100 - rotate_function = make_rotate_function(joint.name) - viewer.ui.sidedock.add( - Slider( - title=joint.name + " (" + Joint.SUPPORTED_TYPES[joint.type] + ")", - starting_val=starting_val, - min_val=joint.limit.lower, - max_val=joint.limit.upper, - step=step_size, - action=rotate_function, - ) - ) - -# configuration = model.zero_configuration() -robot_object.update_joints(start_configuration) - -viewer.show() diff --git a/docs/examples/03_backends_ros/02_robot_models.rst b/docs/examples/03_backends_ros/02_robot_models.rst deleted file mode 100644 index 9ac5a7429..000000000 --- a/docs/examples/03_backends_ros/02_robot_models.rst +++ /dev/null @@ -1,23 +0,0 @@ -******************************************************************************* -Robots in ROS -******************************************************************************* - -.. note:: - - The following examples use the `ROS `_ backend - and the MoveIt! planner for UR5 robots. Before running them, please - make sure you have the :ref:`ROS backend ` correctly - configured and the :ref:`UR5 Demo ` started. - -Once ROS is running and MoveIt! planner has started with a robot, we can -start interacting with the robot model. There are two basic ways to work -with a robot model that is loaded in ROS. - -Load model from ROS -==================== - -This is the easiest and preferable way to load a robot model: -request the full model to be loaded from ROS. - -.. literalinclude :: files/02_robot_model.py - :language: python diff --git a/docs/examples/03_backends_ros/03_forward_and_inverse_kinematics.rst b/docs/examples/03_backends_ros/03_forward_and_inverse_kinematics.rst deleted file mode 100644 index fc9118e45..000000000 --- a/docs/examples/03_backends_ros/03_forward_and_inverse_kinematics.rst +++ /dev/null @@ -1,55 +0,0 @@ -******************************************************************************* -Forward and inverse kinematics -******************************************************************************* - -.. figure:: files/03_forward_and_inverse_kinematics.jpg - :figclass: figure - :class: figure-img img-fluid - -.. note:: - - The following examples use the `ROS `_ backend - and the MoveIt! planner for UR5 robots. Before running them, please - make sure you have the :ref:`ROS backend ` correctly - configured and the :ref:`UR5 Demo ` started. - -Forward kinematics -================== - -The forward kinematics function calculates the pose of the robot's end-effector -from joint states (**joint space** to **cartesian space**). This means the -state of each joint in the articulated body of a robot needs to be defined. - -Joint states are described in **COMPAS FAB** with the -:class:`compas_fab.robots.Configuration` class. - -The simplest way to calculate forward kinematics is based on the properties defined -by the robot model and does not require ROS to be running: - -.. literalinclude :: files/03_forward_kinematics_urdf.py - :language: python - -Additionally, if the :class:`compas_fab.robots.Robot` is assigned a ``client``, it -will try to use it to resolve forward kinematics. The following example shows the same -solutions but calculated by ROS: - -.. literalinclude :: files/03_forward_kinematics.py - :language: python - -Inverse kinematics -================== - -Inverse kinematics is the inverse function of forward kinematics. The -inverse kinematics function calculates the feasible joint states for the -end-effector to reach a certain target pose (**cartesian space** to -**joint space**). - -The following code exemplifies how to calculate this: - -.. literalinclude :: files/03_inverse_kinematics.py - :language: python - -It is also possible to request multiple inverse kinematic solutions: - -.. literalinclude :: files/03_iter_inverse_kinematics.py - :language: python diff --git a/docs/examples/03_backends_ros/04_plan_motion.rst b/docs/examples/03_backends_ros/04_plan_motion.rst deleted file mode 100644 index 3df3f4988..000000000 --- a/docs/examples/03_backends_ros/04_plan_motion.rst +++ /dev/null @@ -1,33 +0,0 @@ -******************************************************************************* -Plan motion -******************************************************************************* - -.. note:: - - The following examples use the `ROS `_ backend - and the MoveIt! planner for UR5 robots. Before running them, please - make sure you have the :ref:`ROS backend ` correctly - configured and the :ref:`UR5 Demo ` started. - -There are 2 function that allow to plan a robotic movement without collisions: -:class:`~compas_fab.robots.plan_cartesian_motion` and -:class:`~compas_fab.robots.plan_motion`. - -.. More coming soon ... - -Plan cartesian motion -===================== - -Cartesian planning allows to plan motions that follow a sequence of defined frames. - -.. literalinclude :: files/04_plan_cartesian_motion.py - :language: python - -Plan motion -=========== - -In contrast to the cartesian path, the :class:`~compas_fab.robots.plan_motion` -allows to describe the goal with constraints rather than defined frames. - -.. literalinclude :: files/04_plan_motion.py - :language: python diff --git a/docs/examples/03_backends_ros/05_collision_objects.rst b/docs/examples/03_backends_ros/05_collision_objects.rst deleted file mode 100644 index 327f39709..000000000 --- a/docs/examples/03_backends_ros/05_collision_objects.rst +++ /dev/null @@ -1,100 +0,0 @@ -******************************************************************************* -Planning scene and collision objects -******************************************************************************* - -.. note:: - - The following examples use the `ROS `_ backend - and the MoveIt! planner for UR5e robots. Before running them, please - make sure you have the :ref:`ROS backend ` correctly - configured and the :ref:`UR5e Demo ` started. - -There are two types of collision meshes: - 1. Non-attached collision meshes - 2. Attached collision meshes - -To plan motion paths that avoid collisions with other objects than the robot -itself, the backend's planning scene has to be updated. - -After the planner starts, the scene will only contain the robot: - -.. figure:: files/05_collision_objects_attached_empty.jpg - :figclass: figure - :class: figure-img img-fluid - -1. Non-attached Collision meshes -================================ - -Add/remove a single mesh ------------------------- - -The following script adds and then removes a floor to the planning scene. - -.. literalinclude :: files/05_add_collision_mesh.py - :language: python - -The backend's updated planning scene while executing the above script. - -.. figure:: files/05_collision_objects.jpg - :figclass: figure - :class: figure-img img-fluid - -Add/remove several meshes -------------------------- - -The following script adds several boxes (bricks) to the planning scene. Here, -we use ``append`` instead of ``add`` to have multiple collision objects -clustered under the same identifier. Like that, we don't need to keep track of -all identifiers when we later remove them. - -.. literalinclude :: files/05_append_collision_meshes.py - :language: python - -The backend's updated planning scene while executing the above script. - -.. figure:: files/05_collision_objects_append.jpg - :figclass: figure - :class: figure-img img-fluid - - - -2. Attached collision meshes -============================ - -Attach end-effector -------------------- - -The following script defines a tool -also called end effector- which is described by a collision mesh and a frame, and -attaches it to the robot. - -.. literalinclude :: files/05_attach_ee.py - :language: python - -In this case, we are not adding it to the planning scene explicitely, only attaching it to the robot instance itself. - -.. figure:: files/05_collision_objects_attached.jpg - :figclass: figure - :class: figure-img img-fluid - - -Grasshopper example -=================== - -The following Grasshopper document showcases all the options described above: - -.. figure:: files/05_grasshopper_collision_objects.jpg - :figclass: figure - :class: figure-img img-fluid - -.. raw:: html - -
-
-
Download
- -* :download:`Robot playground (Grasshopper) (.GHX) ` - -.. raw:: html - -
-
diff --git a/docs/examples/03_backends_ros/files/01_robot_cell_with_kinematic_tools.py b/docs/examples/03_backends_ros/files/01_robot_cell_with_kinematic_tools.py deleted file mode 100644 index 02ef26005..000000000 --- a/docs/examples/03_backends_ros/files/01_robot_cell_with_kinematic_tools.py +++ /dev/null @@ -1,51 +0,0 @@ -from compas.geometry import Frame - -from compas_fab.backends import MoveItPlanner -from compas_fab.backends import RosClient -from compas_fab.robots import ToolLibrary - -with RosClient() as client: - robot_cell = client.load_robot_cell() - planner = MoveItPlanner(client) - - # ========= - # Example 1 - # ========= - - # Add a kinematic gripper tool to the robot cell - gripper = ToolLibrary.kinematic_gripper() - robot_cell.tool_models[gripper.name] = gripper - # Attach the gripper to the robot - robot_cell_state = robot_cell.default_cell_state() - robot_cell_state.set_tool_attached_to_group( - gripper.name, - robot_cell.main_group_name, - attachment_frame=Frame([0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [1.0, 0.0, 0.0]), - touch_links=["wrist_3_link"], # This is the link that the tool is attached to - ) - - # Move the robot to a different configuration - robot_cell_state.robot_configuration._joint_values[1] = -1.0 - robot_cell_state.robot_configuration._joint_values[2] = 0.5 - result = planner.set_robot_cell(robot_cell, robot_cell_state) - print(result) - - # If you are running ROS with UI, you should see the gripper attached to the robot - input("Press Enter to continue...") - - # ========= - # Example 2 - # ========= - - # Kinematic tools can be moved with it's Configuration - # The gripper tool's zero_configuration is a closed gripper state at [0, 0] - print(gripper.zero_configuration) - # The gripper tool's open gripper state is at [0.025, 0.025] - robot_cell_state.tool_states[gripper.name].configuration.joint_values = [0.025, 0.025] - - # Remember to call `set_robot_cell_state` to update the robot cell in the planner - result = planner.set_robot_cell_state(robot_cell_state) - print(result) - - # If you are running ROS with UI, you should see the gripper fingers in an opened state. - input("Press Enter to continue...") diff --git a/docs/examples/03_backends_ros/files/01_ros_robot_cell_with_tools.py b/docs/examples/03_backends_ros/files/01_ros_robot_cell_with_tools.py deleted file mode 100644 index 0ddda2239..000000000 --- a/docs/examples/03_backends_ros/files/01_ros_robot_cell_with_tools.py +++ /dev/null @@ -1,84 +0,0 @@ -from compas.datastructures import Mesh -from compas.geometry import Frame -from compas.geometry import Box - -import compas_fab -from compas_fab.backends import RosClient -from compas_fab.backends import MoveItPlanner -from compas_fab.robots import ToolLibrary -from compas_fab.robots import RigidBody - -with RosClient() as client: - robot_cell = client.load_robot_cell() - planner = MoveItPlanner(client) - - # ========= - # Example 1 - # ========= - - # Create a robot cell with the robot from the client - # Add a floor as rigid body to the robot cell, this will be static. - floor_mesh = Mesh.from_stl(compas_fab.get("planning_scene/floor.stl")) - robot_cell.rigid_body_models["floor"] = RigidBody.from_mesh(floor_mesh) - # Add a demo cone tool to the robot cell, attachment is set later - cone_tool = ToolLibrary.cone(radius=0.1, length=0.3) - robot_cell.tool_models[cone_tool.name] = cone_tool - # Set the robot cell in the planner - result = planner.set_robot_cell(robot_cell) - # If you are running ROS with UI, you should see a floor in the PyBullet world but the cone is not attached yet - input("Press Enter to continue...") - - # In order to see the tool attached it is necessary to update the robot_cell_state - robot_cell_state = robot_cell.default_cell_state() - # Modify the tool state to attach the cone to the robot - robot_cell_state.tool_states["cone"].attached_to_group = robot_cell.main_group_name - robot_cell_state.tool_states["cone"].attachment_frame = Frame([0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [1.0, 0.0, 0.0]) - # Specify the link of the robot that the tool is allowed to collide with - robot_cell_state.tool_states["cone"].touch_links = ["wrist_3_link"] - # Move the robot to a different configuration - robot_cell_state.robot_configuration._joint_values[1] = -0.5 - robot_cell_state.robot_configuration._joint_values[2] = 0.5 - # Specify the base of the robot is allowed to collide with the floor - robot_cell_state.rigid_body_states["floor"].touch_links = ["base_link_inertia"] - # Set the robot cell state in the planner - result = planner.set_robot_cell_state(robot_cell_state) - # If you are running ROS with UI, the cone should be attached to the robot - input("Press Enter to continue...") - - # ========= - # Example 2 - # ========= - # Demonstrate that it is possible to have multiple tools in the robot cell - - # Create a robot cell with the robot from the client - robot_cell = client.load_robot_cell() - # Add a two tools (gripper and cone) to the robot cell - gripper = ToolLibrary.static_gripper_small() - robot_cell.tool_models[gripper.name] = gripper - robot_cell.tool_models[cone_tool.name] = cone_tool - # Attach the gripper to the robot - robot_cell_state = robot_cell.default_cell_state() - # The following function `set_tool_attached_to_group` is an alternative way than that in example 1 - # It will also ensure that only one tool is attached to the specified group by removing others - robot_cell_state.set_tool_attached_to_group( - gripper.name, - robot_cell.main_group_name, - attachment_frame=Frame([0.0, 0.0, 0.0], [0.0, 0.0, 1.0], [1.0, 0.0, 0.0]), - touch_links=["wrist_3_link"], - ) - # Specify the location of the detached cone tool - robot_cell_state.tool_states[cone_tool.name].frame = Frame([1.0, 1.0, 0.0], [0.0, 0.0, 1.0], [1.0, 0.0, 0.0]) - # Move the robot to a different configuration - robot_cell_state.robot_configuration = robot_cell.zero_configuration() - robot_cell_state.robot_configuration._joint_values[1] = -0.5 - robot_cell_state.robot_configuration._joint_values[2] = 0.5 - result = planner.set_robot_cell(robot_cell, robot_cell_state) - # If you are running ROS with UI, you should see a floor in the PyBullet world - input("Press Enter to continue...") - - # ========= - # Example 3 - # ========= - - # It is possible to remove all tools and objects from the robot cell - planner.reset_planning_scene() diff --git a/docs/examples/03_backends_ros/files/01_ros_set_robot_cell.py b/docs/examples/03_backends_ros/files/01_ros_set_robot_cell.py deleted file mode 100644 index 3e013c569..000000000 --- a/docs/examples/03_backends_ros/files/01_ros_set_robot_cell.py +++ /dev/null @@ -1,61 +0,0 @@ -from compas.datastructures import Mesh - -import compas_fab -from compas_fab.backends import RosClient -from compas_fab.backends import MoveItPlanner -from compas_fab.robots import RobotCell -from compas_fab.robots import RigidBody - -with RosClient() as client: - robot_cell = client.load_robot_cell() - planner = MoveItPlanner(client) - - # ========= - # Example 1 - # ========= - - floor_mesh = Mesh.from_stl(compas_fab.get("planning_scene/floor.stl")) - robot_cell.rigid_body_models["floor"] = RigidBody.from_mesh(floor_mesh) - - result = planner.set_robot_cell(robot_cell) - print(result) - - # If you are running ROS with UI, you should see a floor in the PyBullet world - input("Press Enter to continue...") - - # ========= - # Example 2 - # ========= - - # Create another robot cell with a cone geometry - robot_cell = client.load_robot_cell() - cone = Mesh.from_stl(compas_fab.get("planning_scene/cone.stl")).scaled(5) - robot_cell.rigid_body_models["cone"] = RigidBody.from_mesh(cone) - - # This will replace the previous robot cell in the planner - # There will not be any `floor`` in the PyBullet world - result = planner.set_robot_cell(robot_cell) - print(result) - - # If you are running ROS with UI, you should see a cone in the PyBullet world - # and the floor should be gone - input("Press Enter to continue...") - - # ========= - # Example 3 - # ========= - - # Add the floor mesh to this robot cell - # The `cone` rigid body is also in the robot cell - floor_mesh = Mesh.from_stl(compas_fab.get("planning_scene/floor.stl")) - robot_cell.rigid_body_models["floor"] = RigidBody.from_mesh(floor_mesh) - - # Calling `set_robot_cell` again will update the robot cell in the planner - # Behind the scene, compas_fab will compare the new robot cell with the previous one - # Because the cone rigid body is identical to the previous one, the `cone` rigid body - # will not be sent again to the PyBullet backend. Only the `floor` rigid body will be sent. - result = planner.set_robot_cell(robot_cell) - print(result) - - # If you are running ROS with UI, you should see the floor and the cone in the PyBullet world - input("Press Enter to continue...") diff --git a/docs/examples/03_backends_ros/files/02_robot_model.py b/docs/examples/03_backends_ros/files/02_robot_model.py deleted file mode 100644 index ab271e95b..000000000 --- a/docs/examples/03_backends_ros/files/02_robot_model.py +++ /dev/null @@ -1,7 +0,0 @@ -from compas_fab.backends import RosClient - -with RosClient() as client: - robot_cell = client.load_robot_cell() - robot_cell.print_info() - - assert robot_cell.robot_model.name == "ur5_robot" diff --git a/docs/examples/03_backends_ros/files/03_forward_and_inverse_kinematics.jpg b/docs/examples/03_backends_ros/files/03_forward_and_inverse_kinematics.jpg deleted file mode 100644 index 67ceeb22b7b2352dcd2a831921a49f01dfad9d2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142896 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
YXEDP*Y- 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 G_x}gpVXwmg diff --git a/docs/examples/03_backends_ros/files/05_collision_objects_append.jpg b/docs/examples/03_backends_ros/files/05_collision_objects_append.jpg deleted file mode 100644 index fe4744b3c437b581014e3c07b822dc2bb0b4fb68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195498 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%0AFI(zj%(o(5epn0i|nI6wq8@6nRRbP3n)KSdu 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

Cx-T)67d;VX~g@2=h@Y?0YvXU8{f;#@tq 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 diff --git a/docs/examples/03_backends_ros/files/05_collision_objects_attached_empty.jpg b/docs/examples/03_backends_ros/files/05_collision_objects_attached_empty.jpg deleted file mode 100644 index 4512c33e62fc4f9c30fa7ddc8dbe0c1cb2473039..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42948 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 - - - - - - - 0 - 2 - 2 - - - - - - - 1 - 0 - 7 - - - - - - dda6c3bb-aea9-4b94-8919-59e8cba46d20 - Shaded - 1 - - 100;150;0;0 - - - 100;0;150;0 - - - - - - 637965131115724216 - - 05_grasshopper_collision_objects.ghx - - - - - 0 - - - - - - 76 - 15 - - 0.5220064 - - - - - 0 - - - - - - - 0 - - - - - 1 - - - - - GhPython, Version=7.28.23058.3001, Culture=neutral, PublicKeyToken=null - 7.28.23058.3001 - - 00000000-0000-0000-0000-000000000000 - - - - - - - - - 40 - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - 029d0009-dc73-46ab-8603-1f39dc276f38 - Boolean Toggle - Toggle - false - 0 - false - - - - - - 44 - 376 - 104 - 22 - - - - - - - - - - 2e78987b-9dfb-42a2-8b76-3923ac8bd91a - Boolean Toggle - - - - - Boolean (true/false) toggle - ef1c073b-2b46-4fc4-8bf3-e0be8dcd1630 - Boolean Toggle - Toggle - false - 0 - false - - - - - - 406 - 361 - 104 - 22 - - - - - - - - - - fbac3e32-f100-4292-8692-77240a42fd1a - Point - - - - - Contains a collection of three-dimensional points - 87f56c71-61bd-4a57-bcb3-c732c17e7ea4 - Point - Pt - false - 0 - - - - - - 1471 - 391 - 50 - 24 - - - 1496.961 - 403 - - - - - - 1 - - - - - 1 - {0} - - - - - - - 0.337810202698484 - 0.237583330362025 - 0.328528429822667 - - - - - - - - - - - - - - 17b7152b-d30d-4d50-b9ef-c9fe25576fc2 - XY Plane - - - - - World XY plane. - d44b564f-2a74-426a-af33-9c95ad0866cd - XY Plane - XY - - - - - - 1553 - 389 - 65 - 28 - - - 1585 - 403 - - - - - - Origin of plane - 144eb6ad-1cad-4dd1-8a3c-9ed9f46e641f - Origin - O - false - 87f56c71-61bd-4a57-bcb3-c732c17e7ea4 - 1 - - - - - - 1555 - 391 - 15 - 24 - - - 1564 - 403 - - - - - - 1 - - - - - 1 - {0} - - - - - - - 0 - 0 - 0 - - - - - - - - - - - - World XY plane - 55c23c26-fa82-4f06-ba20-65050916d0a5 - Plane - P - false - 0 - - - - - - 1600 - 391 - 16 - 24 - - - 1608 - 403 - - - - - - - - - - - - c73e1ed0-82a2-40b0-b4df-8f10e445d60b - Flip Plane - - - - - Flip or swap the axes of a plane - ff60154a-4c30-43e8-a79b-ca8aa18deb1c - Flip Plane - PFlip - - - - - - 1640 - 390 - 64 - 84 - - - 1671 - 432 - - - - - - Plane to adjust - 9fe13d1a-d7d3-4014-89fb-296d9a1f5504 - Plane - P - false - 55c23c26-fa82-4f06-ba20-65050916d0a5 - 1 - - - - - - 1642 - 392 - 14 - 20 - - - 1650.5 - 402 - - - - - - 1 - - - - - 1 - {0} - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - - - - - - - - - - - - Reverse the x-axis direction - 867683e9-683e-4c69-b324-1cc07cfe1d0c - Reverse X - X - false - 0 - - - - - - 1642 - 412 - 14 - 20 - - - 1650.5 - 422 - - - - - - 1 - - - - - 1 - {0} - - - - - false - - - - - - - - - - - Reverse the y-axis direction - 91b38fbd-f065-4ca1-ba8d-d2ae79e934d4 - Reverse Y - Y - false - 0 - - - - - - 1642 - 432 - 14 - 20 - - - 1650.5 - 442 - - - - - - 1 - - - - - 1 - {0} - - - - - false - - - - - - - - - - - Swap the x and y axis directions - d26efde5-016e-41ce-b1f1-0270466f2a7f - Swap axes - S - false - 0 - - - - - - 1642 - 452 - 14 - 20 - - - 1650.5 - 462 - - - - - - 1 - - - - - 1 - {0} - - - - - true - - - - - - - - - - - Flipped plane - c7e688b2-7437-46fd-a31c-fec66f177c69 - Plane - P - false - 0 - - - - - - 1686 - 392 - 16 - 80 - - - 1694 - 432 - - - - - - - - - - - - 1e936df3-0eea-4246-8549-514cb8862b7a - Mesh - - - - - Contains a collection of polygon meshes - true - 60bb0bf1-f87e-41a9-ada6-7df682319a90 - Mesh - Mesh - false - 0 - - - - - - 1105 - 370 - 50 - 24 - - - 1130.161 - 382 - - - - - - 1 - - - - - 1 - {0} - - - - - - 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 - - 00000000-0000-0000-0000-000000000000 - - - - - - - - - - - - - 1e936df3-0eea-4246-8549-514cb8862b7a - Mesh - - - - - Contains a collection of polygon meshes - true - 39692b79-3a00-4d8a-8333-0b468bc5ef1d - Mesh - Mesh - false - 0 - - - - - - 723 - 538 - 50 - 24 - - - 748.8106 - 550.1003 - - - - - - 1 - - - - - 1 - {0} - - - - - - Y2BkYGD4DwQgGgR4mIBEWFBGZl6+c35ubn6ejkJYalFxZn6erbmekYWekbGBqYWesYGBoY6Cc2lOSWlRqm1eamlJUWKOjkJAaVJOZrJ3amVIfnZqnq2pqZGRhWGqpXmyuampqbEBK8gSYbDZeu6p+bmpJUWVer6pxRksQHH2Mog1XIlFyRmZZanGKbmc+QWpeXmlRUnFLCmJJYkgRRwcHEwgFwqoMzDYAOmzLQV9nMxABj+IWAIkmH7VMzHMYIb45vd/JgYRqM+eXLnu5/7ysuD+pwwCzYxKH3R3Ssf8AconQNVaSAAJDgZ08MEeF3/K7vPT7qwQcIDxgy7f+d//c6U9THzJy+ch95rf23MXGOxfGH9xX0Ps5T2vHO/ZHb3FYy+2/eIOBoYGeyS8HwmjiMGihgHMYGJmZGFjZ+Xg4ubk4ePnFRQQFhYWEhQUFRcRERcVE1MAKlIIS7rGyNDA4OAH1Vhx67GWwY36J2L9e39867beseDNrxunq+Os7m1u7jx8o+WI+JH4O+zC7Bs/dja/aQKLbNwpHClzN/fFsweflDdZT7zLkMTMYFg466E2U9p/kBUzdy/0BVthCLciOSEhg0Gpmo1DoYlXXHkS77Xd8k7Ch9kuG6x12fDw19vOlMkJZYfrGPyOKb7MrngVdQCo6XB/wSSwKb5IpjgwXO7t+bbpUWyZglnHsWPsRm8Xnnq78ePvHbEHawR6e88fuMAQep/hMn+a85vGC9sCCgVivxw9dU9s1XmxdfsZdfgWMVpOVPrurm4BMxMraAD6IXGphgrY9lIk2w/w2d2t/r1ZqWDa3+dn5uf/rK/b0t55+MeRU/43a+tuzRXl4TOolJgf8XNfk/FeTW/Lh58M7DZ+EvjMcuGMeMPpw0ea9e7/vP+/WPWO/Yua6c+nzl494crhH7/axWZKthVZHPhh8PniT4PPCa8SaxievFkpbai8oAnkgCVIEcyIxbVp1cz/sKdGXID66kDuslEq7mWEOtCBke/ZfhDji/YtEP1gffYsEK1ge+I2yNCGiNkPQfSDR2ZS+xO7Gu78r2dqgBnHTZyto2AUjIJRQC0AAA== - - 00000000-0000-0000-0000-000000000000 - - - - - - - - - - - - - 59e0b89a-e487-49f8-bab8-b5bab16be14c - Panel - - - - - A panel for custom notes and text values - ffafe9d7-fc42-4046-b08f-e8eb7f93b658 - Panel - - false - 0 - 0 - table - - - - - - 723 - 560 - 56 - 20 - - 0 - 0 - 0 - - 723.6606 - 560.1003 - - - - - - - 255;255;250;90 - - true - true - true - false - false - true - - - - - - - - - a8b97322-2d53-47cd-905e-b932c3ccd74e - Button - - - - - Button object with two values - False - True - 34d0c928-ce8b-468c-b6e8-25231d9c557e - Button - Button - false - 0 - - - - - - 948 - 579 - 103 - 22 - - - - - - - - - - a8b97322-2d53-47cd-905e-b932c3ccd74e - Button - - - - - Button object with two values - False - True - 116821f0-66f4-4df7-a45c-b5a7fec7cdf4 - Button - Button - false - 0 - - - - - - 836 - 599 - 103 - 22 - - - - - - - - - - a8b97322-2d53-47cd-905e-b932c3ccd74e - Button - - - - - Button object with two values - False - True - af14dac5-9e8a-408b-9fe1-432389324846 - Button - Button - false - 0 - - - - - - 723 - 619 - 103 - 22 - - - - - - - - - - 1e936df3-0eea-4246-8549-514cb8862b7a - Mesh - - - - - Contains a collection of polygon meshes - true - 76e9a544-9ebc-433f-92f8-55737c25b332 - Mesh - Mesh - false - 0 - - - - - - 724 - 717 - 50 - 24 - - - 749.1606 - 729.2504 - - - - - - 1 - - - - - 5 - {0} - - - - - - Y2BkYGD4DwQgGgR4mIBEWFBGZl6+c35ubn6ejkJYalFxZn6erbmekYWekbGBqYWesYGBoY6Cc2lOSWlRqm1eamlJUWKOjkJAaVJOZrJ3amVIfnZqnq2pqZGRhWGqpXmyuampqbEBK8gSYbDZeu6p+bmpJUWVer6pxRksQHH2Mog1XIlFyRmZZanGKbmc+QWpeXmlRUnFLCmJJYkgRRwcHEwgFwqoMzDYAOmzLQV9nMxABj+I8AAaxPSrnonBhgXim9//mRhEoD57cuW6n/vLy4L7nzIINDMqfdDdKR3zByjPAlVrIQEkOBjQwQd7XPyYlob4tdUn4HyuzecOb9k4115k97IFUgsP2xskvwvpe77CfvmnhXZNAWvtQGosj22009x/xO6e/USg8xvskfB+JIwiBgo1RoYGBoepUItEYTbCIg0Z6DrLvH5kJoXmagkHLEpRQLvLcy+J8G1gfaAQZtCM6T/0VWOPPcRumJ2MUGkYZgj+olx1Y2/qTbh7mJgZWdjYWTm4uDl5+Ph5BQWEhYWFBAVFxUVExEXFxBSAir6WNXmDTfWCmlpxK/pj5sLY4gNR1mwKEYyp97fOz0guzFGOkTmmprJu43+OGJkjx9T5NnGr8SULCx1/5pdSWLJ94ezm0/0n3rmUMXfwMqSolXfG2G53Bxl/dwFHIth4XbjxyQkMjW1/eQocOu4m9Ku4sUify1fo8+2KVpBRqT2yQdLjIzsD0wrZl715wZsOADXItcQdBZsQhGSCA8P7Msnf23aFWQtIuyQ/Zp75LeDptxs/zv2ee6BGoLf3/IELDKH3GZ61z5mZyJ7U/MKgo5LHQGrRtoN2POvWH/x3yyfZgleInSGfSUtY06U2FV9cNAA9Me3/hzlgJ1QjOeEA36+8/zN+RtdO+ts858OdtbLabxMfGdht/GSoy/sxe3X5gaeJNUlPL6cc3REpJtN0+vCPI6ecz1g3pv3j3GFzWp396Plp2W93ms233pP6OMbif8ODK8H1DZ8Mal/UzKiaUWlQKSGvVn/7bsKuxneOPHY+tgwPkyccD5L6qAxyxhKkBIAt3aVVM/+DsNBzDC5AfXUgd9koFffChULtroA0JwisuopiyHGLa2D+0+k3QPSC3+qT7O8fPFPzv56pAaaGmzhbR8EoGAWjYCQBAA== - - 00000000-0000-0000-0000-000000000000 - - - - - - Y2BkYGD4DwQgGgR4mIBEWFBGZl6+c35ubn6ejkJYalFxZn6erbmekYWekbGBqYWesYGBoY6Cc2lOSWlRqm1eamlJUWKOjkJAaVJOZrJ3amVIfnZqnq2pqZGRhWGqpXmyuampqbEBK8gSYbDZeu6p+bmpJUWVer6pxRksQHH2Mog1XIlFyRmZZanGKbmc+QWpeXmlRUnFLCmJJYkgRRwcHEwgFwqoMzDYAOmzLQV9nMxABj+I8AQaxPSrnonBlgXim9//mRhEoD57cuW6n/vLy4L7nzIINDMqfdDdKR3zByjPClVrIQEkOBjQwQd7XPyYlob4tdUn4HyuzecOb9k4115k97IFUgsP2xskvwvpe77CfvmnhXZNAWvt/Hun21ge22inuf+I3fQ0EVsGhgZ7JLwfCaOIgUKNkaGBwWEq1CJRmI2MDJhA11nm9SMzKTRXSzhgUYoC2l2ee0mEbwPrA4Uwg2ZM/6GvGnvsIXbD7GSESsMwQ/AX5aobe1Nvwt3DxMzIwsbOysHFzcnDx88rKCAsLCwkKCgqLiIiLiompgBU5LFuXT/YVG+oqRW3oj9mLowtPhC1u+HeSzPtBW8yM5W2iR03O3Q0McfpkdTv/gNHHXNqHinsTnhkYKZYmPPORcy9XHqX5Y4/HW/8UswbbjCc5GqpzDh4lAVk/t0FHIlg83Xh5icnMDS2/eUpcOi4m9Cv4sYifS5foc+3K1pBRqX2yAZJj4/sDEwrZF/25gVvOgDUINcSdxRsQhCSCQ4M78skf2/bFWYtIO2S/Jh55reAp99u/Dj3e+6BGoHe3vMHLjCE3md41j5nZiJ7UvMLg45KHgOpRdsO2vGsW3/w3y2fZAteIXaGfCYtYU2X2lR8kdEA9MS0/x/mgJ1QjeSEA3y/8v7P+BldO+lv85wPd9bKar9NfGRgt/GToS7vx+zV5QeeJtYkPb2ccnRHpJhM0+nDP46ccj5j3Zj2j3OHzWl19qPnp2W/3Wk233pP6uMYi/8ND64E1zd8Mqh9UTOjakalQaWEvFr97bsJuxrfOfLY+dgyPEyecDxI6qMyyBlLkFIAtoSXVs38D8JCzzK4APXVgdxlo1TcCxcKtbsC0pwgsOoq2JBVHyeB6eMW18D00+k3QPSBSz2L7LkLtGb8r2dqgOnlJs7WUTAKRsEoGFEAAA== - - 00000000-0000-0000-0000-000000000000 - - - - - - Y2BkYGD4DwQgGgR4mIBEWFBGZl6+c35ubn6ejkJYalFxZn6erbmekYWekbGBqYWesYGBoY6Cc2lOSWlRqm1eamlJUWKOjkJAaVJOZrJ3amVIfnZqnq2pqZGRhWGqpXmyuampqbEBK8gSYbDZeu6p+bmpJUWVer6pxRksQHH2Mog1XIlFyRmZZanGKbmc+QWpeXmlRUnFLCmJJYkgRRwcHEwgFwqoMzDYAOmzLQV9nMxABj+I8AQaxPSrnonBlgXim9//mRhEoD57cuW6n/vLy4L7nzIINDMqfdDdKR3zByjPClVrIQEkOBjQwQd7XPyYlob4tdUn4HyuzecOb9k4115k97IFUgsP2xskvwvpe77CfvmnhXZNAWvt/HvFbS2PbbTT3H/Ezl43wZaBocEeCe9HwihioFBjZGhgcJgKtUgUZiMjAybQdZZ5/chMCs3VEg5YlKKAdpfnXhLh28D6QCHMoBnTf+irxh57iN0wOxmh0jDMEPxFuerG3tSbcPcwMTOysLGzcnBxc/Lw8fMKCggLCwsJCoqKi4iIi4qJKQAVSZ3ZbAA21RtqasWt6I+ZC2OLD0TtbogrvC0asG1uXtPaoxt7CwolZk/YceyfckGhgPR8ixN6Myx6fD1kZltPPHrxblsen5690m7hm7wKZgzTnld7rj29+QzI/LsLOBLB5uvCzU9OYGhs+8tT4NBxN6FfxY1F+ly+Qp9vV7SCjErtkQ2SHh/ZGZhWyL7szQvedACoQa4l7ijYhCAkExwY3pdJ/t62K8xaQNol+THzzG8BT7/d+HHu99wDNQK9vecPXGAIvc/wrH3OzET2pOYXBh2VPAZSi7YdtONZt/7gv1s+yRa8QuwM+Uxawpoutan4IqMB6Ilp/z/MATuhGskJB/h+5f2f8TO6dtLf5jkf7qyV1X6b+MjAbuMnQ13ej9mryw88TaxJeno55eiOSDGZptOHfxw55XzGujHtH+cOm9Pq7EfPT8t+u9NsvvWe1McxFv8bHlwJrm/4ZFD7omZG1YxKg0oJebX623cTdjW+c+Sx87FleJg84XiQ1EdlkDOWIKUAbAkvrZr5H4SFnmVwAeqrA7nLRqm4Fy4UancFpDlBYNVVsCGrPi4C08ctroHpp9NvgOgDy1nX2CdOLFz/v56pAaaXmzhbR8EoGAWjYEQBAA== - - 00000000-0000-0000-0000-000000000000 - - - - - - Y2BkYGD4DwQgGgR4mIBEWFBGZl6+c35ubn6ejkJYalFxZn6erbmekYWekbGBqYWesYGBoY6Cc2lOSWlRqm1eamlJUWKOjkJAaVJOZrJ3amVIfnZqnq2pqZGRhWGqpXmyuampqbEBK8gSYbDZeu6p+bmpJUWVer6pxRksQHH2Mog1XIlFyRmZZanGKbmc+QWpeXmlRUnFLCmJJYkgRRwcHEwgFwqoMzDYAOmzLQV9nMxABj+I8AIaxPSrnonBjgXim9//mRhEoD57cuW6n/vLy4L7nzIINDMqfdDdKR3zByjPBlVrIQEkOBjQwQd7XPyYlob4tdUn4HzOzecOb9k4115k97IFUgsP2xsmvwvpe77CfvmnhXZNAWvtvgcn21oe22inuf+I3ZefU20ZGBrskfB+JIwiBgo1RoYGBoepUItEYTYyMmACXWeZ14/MpNBcLeGARSkKaHd57iURvg2sDxTCDJox/Ye+auyxh9gNs5MRKg3DDMFflKtu7E29CXcPEzMjCxs7KwcXNycPHz+voICwsLCQoKCouIiIuKiYmAJQ0aP0sBNgU32gplbciv6YuTC2+EDUbvmDJ7dpL3hz3n75rSiZ2xzi7Rs5O7Pf2DOJs2/82Nn8pqnz8I2WIxt3CkfK3M198ezBJ+VN1hPvMiQxMxgsn9G5sH+mCciCuws4EsEW6MItSE5gaGz7y1Pg0HE3oV/FjUX6XL5Cn29XtIKMSu2RDZIeH9kZmFbIvuzNC950AKhBriXuKNiEICQTHBjel0n+3rYrzFpA2iX5MfPMbwFPv934ce733AM1Ar295w9cYAi9z/Csfc7MRPak5hcGHZU8BlKLth2041m3/uC/Wz7JFrxC7Az5TFrCmi61qfhiowHoiZOKMevBTqhGcsIBvl95/2f8jK6d9Ld5zoc7a2W13yY+MrDb+MlQl/dj9uryA08Ta5KeXk45uiNSTKbp9OEfR045n7FuTPvHucPmtDr70fPTst9ams+33pP6OMbif8ODK8H1DZ8Mal/UzKiaUWlQKSGvVn/7bsKuxneOPHY+tgwPkiccDsnZaghyxhKkJIAt5aVVM/+DsNDzDC5AfXUgd9koFffChULtroA0Jwisugo2pD5rDZg+bnENTD+dfgMsb7d/k72XQmLU/3qmBphebuJsHQWjYBSMgpEFAA== - - 00000000-0000-0000-0000-000000000000 - - - - - - Y2BkYGD4DwQgGgR4mIBEWFBGZl6+c35ubn6ejkJYalFxZn6erbmekYWekbGBqYWesYGBoY6Cc2lOSWlRqm1eamlJUWKOjkJAaVJOZrJ3amVIfnZqnq2pqZGRhWGqpXmyuampqbEBK8gSYbDZeu6p+bmpJUWVer6pxRksQHH2Mog1XIlFyRmZZanGKbmc+QWpeXmlRUnFLCmJJYkgRRwcHEwgFwqoMzDYAOmzLQV9nMxABj+I8AQaxPSrnonBlgXim9//mRhEoD57cuW6n/vLy4L7nzIINDMqfdDdKR3zByjPClVrIQEkOBjQwQd7XPyYlob4tdUn4HzOzecOb9k4115k97IFUgsP2xsmvwvpe77CfvmnhXZNAWvt/Hun21oe22inuf+Incfd3bYMDA32SHg/EkYRA4UaI0MDg8NUqEWiMBsZGTCBrrPM60dmUmiulnDAohQFtLs895II3wbWBwphBs2Y/kNfNfbYQ+yG2ckIlYZhhuAvylU39qbehLuHiZmRhY2dlYOLm5OHj59XUEBYWFhIUFBUXEREXFRMTAGoSH2TxASwqd5QUytuRX/MXBhbfCBqd8O9l9u0F+R83707V7cvt6X78I2WI6bf5Bu7m2/8OOJYdvBIYo7Toxt3OnX63pmVFBf8FLw590Qew0bGFVP7LC/w7/8DMv/uAo5EsPm6cPOTExga2/7yFDh03E3oV3FjkT6Xr9Dn2xWtIKNSe2SDpMdHdgamFbIve/OCNx0AapBriTsKNiEIyQQHhvdlkr+37QqzFpB2SX7MPPNbwNNvN36c+z33QI1Ab+/5AxcYQu8zPGufMzORPan5hUFHJY+B1KJtB+141q0/+O+WT7IFrxA7Qz6TlrCmS20qvshoAHripGLMerATqpGccIDvV97/GT+jayf9bZ7z4c5aWe23iY8M7DZ+MtTl/Zi9uvzA08SapKeXU47uiBSTaTp9+MeRU85nrBvT/nHusDmtzn70/LTst5bm8633pD6Osfjf8OBKcH3DJ4PaFzUzqmZUGlRKyKvV376bsKvxnSOPnY8tw4PkCYdDcrYagpyxBCkFYEt4adXM/yAs9CyDC1BfHchdNkrFvXChULsrIM0JAquugg1Z9XETmD5ucQ1MP51+A0Q/WFG93f7g25W7/9czNcD0chNn6ygYBaNgFIwoAAA= - - 00000000-0000-0000-0000-000000000000 - - - - - - - - - - - - - 59e0b89a-e487-49f8-bab8-b5bab16be14c - Panel - - - - - A panel for custom notes and text values - 25a75d7f-140e-4b93-ab78-90fe58cfd259 - Panel - - false - 0 - 0 - brick - - - - - - 724 - 739 - 56 - 20 - - 0 - 0 - 0 - - 724.0106 - 739.2504 - - - - - - - 255;255;250;90 - - true - true - true - false - false - true - - - - - - - - - a8b97322-2d53-47cd-905e-b932c3ccd74e - Button - - - - - Button object with two values - False - True - 796e1e55-0027-4740-941c-130ba0dc6ac9 - Button - Button - false - 0 - - - - - - 948 - 758 - 103 - 22 - - - - - - - - - - a8b97322-2d53-47cd-905e-b932c3ccd74e - Button - - - - - Button object with two values - False - True - 8760616c-f4d0-491f-b9b7-2997f3f3a597 - Button - Button - false - 0 - - - - - - 836 - 778 - 103 - 22 - - - - - - - - - - a8b97322-2d53-47cd-905e-b932c3ccd74e - Button - - - - - Button object with two values - False - True - 954c29fe-a9db-426c-8814-cb4bac2d4abb - Button - Button - false - 0 - - - - - - 723 - 798 - 103 - 22 - - - - - - - - - - 1e936df3-0eea-4246-8549-514cb8862b7a - Mesh - - - - - Contains a collection of polygon meshes - true - fb96cc69-4e0a-44c0-954d-324ccdcba70f - Mesh - Mesh - false - 0 - - - - - - 723 - 916 - 50 - 24 - - - 748.1606 - 928.8004 - - - - - - 1 - - - - - 1 - {0} - - - - - - 7Vh5OJRt27+GQiSVQiVrJSmKJGVokZRdZSmyJ9m3NJaZSo+lPJY8SWUp2kS2ZF8qlGXw5NFQWZLdyNjGMsz4znvqeY/3e7/vPb73OL5/nb/jOs/f+bvO+7rO67rNHI5BOITQIhgWMVvJAc7E+KKTm/tRd1dXd7edEiYOXt5O7m54FXnF/fKKSruV98sr7d69Z6fEUV8XH18vB7ybg6+Pl43LTglDX1sXJzsdB8Jpd2cHN7yysqLi/j0Oqip2KsrKykq7l2ObCLLXlj/u4O7q4ONFkNdz8L64DHTuyz+34bXxsrvodNlByd51hbuHg5ubr5et9zJ7Gx8brIiHh4cD63C1DEJqEBtueESu4AQigLn3wghxMEgcqFj452nmFznQul8n621p1T8+9Neaij60OhgnNbaraJPFAsxf/1W7XwraWwajebNSUtls3+K/iw/Ht15X6s2qEO72r5os+qjxa31UXvm8XT417x/53zZ87Wupa7dE6f2C5Xj5Oyy1k8xo/OFMczxCVzX+aVT80/hv2t+vBnGw/TIkgHBoOeJC/GgVZMvBC6CVkHEhbsSD+IBzQy0n4kUrALyg8KBdaCcSQ1Lg5ZEEMDHwkkgcFDHw0sBXw02tg7gOrQdIIiEkDBCBWSxKwhAHrAddEiAB9ViUR3JoDWA1KFiUA2UHQAIilsvDjtuRLCjy4GVhBRG0ASANYyNgEzAsiqK1wKSRIHS0lg0pdr4JZrC4HdbZDJCBsRMgAyfaBtgFDMsxthWwBcYuNgSBbwG/C1aSYu+I9a+AlJA62o2U4c8Hj/ZCtheiOjoIuTLaB1BBByDbgxSRKtoPUIVcBVmgc0gPGYG3RAbA9MAbIn1Q9MAbA9dARwGGMDQBhugY0gIch1ksGsLQB2iCbggwgHosWqKz6BBAAxQsngXFHGAAEcstYUdTZAaKJXgzWOE40gYYwzgBOAkMizroMDBjdAQ6OsyGETs/CTNYNIV1dAEmMM4BTOBEZwAWwLAcY6cBp2BYsHEE+CnwFrCSEXtHrH8ndBFZIxt0CZgNskV2wGwBLsgZ2SMH5I7coMIJeQBzgjlv5AWKO/IB5g7qFeQHijciAPMGlYiCQLmCSMCugHoVGAH5o2vA/FEAug4sAAWi39B5lMCGNXAM1rCPI3oAEVNtgN0H2KJ7KB5wD5gN5DYw/wAQArUXoZNn0NNzwFPo5Rk7ewYMw1PoxgcqvJAnVNvB89g6l1Aauz4OTmeH7sJwBu0SxHjI7qI7oMcBHID9AbBCF4D/Ad4V7sQBYA8zd6DeHp7EnnVGLwDOKAOlAzCGRRfIsflYYK6AJIgv2XABLRYlQkwCJEKdC+AF9IX14QW3dxk69oN7DAX2GM7wBOAD58GiP9zmY7b6GBgBpYKC5UEoDAXDE0EoHFgY3P5NYEFw+7eAESFGALsFngRv4ip6BG8hBeAPK/yMKaAEoIcwHgFeAksGvES+6Da8r4fAAgEvoXdfQCC7FqtJYp/qGopEv8O611AUMIxHsPe5Dvk1QAywQFgpGmIMugExCth1VIRyUDYqRMUoF1gRegWxGFCKXqM8VIIqQCtE5egNaEWQVcIoR+9QFShYVgPjHfqAakHBskYYH1ADagIFy/5EdcCa0EdUD+xP1IzIwD6iT2gEZQJGgGUDPqEC2CcbUUHB8hw0DJwK3QyiITaGQcN6pLLnKdBFITwzg2bZ/U4De8Pu8g0wjFeBNg1VFPQWOnwF6+SyzzaL5gD9aAC0PBjFcMoSiANQMYj6YCYP8Br1Au9DWRBfo3zAa7iTMvB97PlX8AwWixGD/XwJmkcLAAZELCuFgeU98EwpYBQx2ZEJChZ/gPIzlv56rpjd1zvo9j3c4AfwrXCPU4gOJ8FAZ5+nDpRa9m3XAptCkzDqAA1Q/Rdqg9iGPgMagX1GX+DmG8F/hfgVtbPxJ/AmNI4m4D1g72QC1piEWA9sAo3BDKYzEQ34GEQy+o6qgZGBY6iGE/RANsauo4EyCvgI63agToidqAvQATm2WzMoWN4Nq5Ah+4ZagGOxma1L4hCOhVjwjwIHjhO3HDzC4YDx4Lhw3LgVuJU4Xhwfjh8ggFvFznhA5YPZZVDNDbWSuEW0iBBEzNbiVuPW4ARxQrh1uPU4YfBrIVuP24gTwW3AbcJJ4MRwomxshGwzqEJQtQGYBFtdDbsIwAoSoIgD4vkR4juUmoSDz9Khy5w//3G48qUsTk/7D6N1IUaKIbxbnmcfkdtRc2y5+erGiPW869edzcveYtEiNSggxcMx5NiaUnNsW1Ft9rHVTJ4LZN3Du3gjInj2ruUVXhHMdU1ujXSnQXJ9/cBgc0dlX6d3E36mdCBh4fdH7UXd9KLIzts+xJAZ9YNJnf40q5u+ZlSaeqfAfDrFbUX7F6OE37jFAvXf3QsSvp54+xF5Z5zedJiq3Pun8SXtoXML68QTih9csCQzhpSkN1DEu4YM3nXoOZ7y+O7r/q2DJsNBE5UV2CfwO2WZOr1AdexreutfxLiAalJxAXcm1VxwvEH6jg08/G2OsZdqS3EQf1AsHKeRvXCDLmTmfoN+OSp8/jMrRb6dr16l0NDljkZG5dlWq1eZFSH01mzWRopVJYO6P1Zgt2Ot+M9uyE2Plu8h7ejPqu69Gt++OlbJ1uuEbmR4LX6Paq356FZH6z6Qr5rL3LWmzFmN/lbLvXCjVryTJ9a9qop52s1DQZdVZUclMfq/N10qTHuyZ7lKAX25voX5mmkBjRf8CUMVe+UMSuXDcxTel4vM27rczBkiPBetjBQ5aDtypUPwlRWZmEPzs7zS0JsR/8q28WZ4uMhi9WxWwgd2RViO9Hsg4xupJNPnrIBEqxr/g6aJ419yo8+yjFvuMT2/e9g/c7czvfC5LnVNBaNcei77teT3u2XJt+lWArrzGsV7Xxfv2Oy5WHCz5fSn/DA59T+eRDKTpgfmXo7bl6fu/Z4ynW9/7PP3MDkZedOoxJ03C7uHWC49Hp5VrftW2if7yIdfcemYaM/Cp0uNnnCp06O4RF75aE/IpE5nhp17/yz3SfDrR+qxnOP+2g2aFdleK00i39btMVPlqlcfed0xrz79USEiaIrPTqlTOjuYaDMyO3KNaDOd2nWk7P3AhsYUq/hXg8LvSVM6Te9WMX7LwSoeWiXHBMrfbDJSd55zEUrmD7wwZv7OcWUyIXDV+FzVgBAjbOYiraOzqyfow3zMjCzNqtOg7AOBNplUE/AxS4R5E3NarKZB0whi9b9ztQZeb7qMn8vPbSrTmgsoOz/3tewyQbQ0kqBb+pQQWFpOyCilENpLRwkry7j81crE/F3K9vknlOn7k8su+C+UERlWVxTCPohTyP0L4umKRmE3ldeGYB/FYrK2Hfuj+AX9/VH80YLnfXdodUj3j1Lt7LFV2353zBaaQkKU3Gi+tito0e1RrblxL890Y8ERiwsiu0ViYviXicX18m/Y57kqNMvSz+yVQoqyjrpAHovzQVLJONPtU6NGU3ZcQoJLfd1iS3IKXTfnMu1g69SIc0NnokGn88N7gQH5tYs/WsXMfozOTRTydHmO5Ds9jaWbFIrS0o+WrFi82taqY9J0XMlm6vk5z9TjHZtU/FsaxjPaBo0KvmlFFb8bNDIVwQ/zph63tJnaLez2z8OVdV+cM3ei7f6Tt06rVyCk6YO/wD6u4bK/j6v3iaR754zoB89DIqToatd127meyF1Iz7l8NJce2HQmp+1iu5BdT+jGmksvGzhuONRm3NLsu15dfErmXLfoaZaU98OwfFkHecsCxVxRO6N085f7HDV5HyTOzKgZxJLOByZNMpO8k7yLQjM/5Ne9C1EdOmng+8XCwsq55kVDjlnIlwnfSMaI5cxz5/vvLk3Za1qu39FafijI7dOB9GlzXzG5SSGr50onpp+lbE+5rUK851Kjrc4wavHe1uKa3H9z0cIiSLd98rzvTI4kSe3RNi6ioIqVromf+iOiV/ZwSMLIgH0Dd4i+kxbjOrH/aP9xindTKrGRf1htscjPzTUtM5g84JXrU5aUMtBwkFr0lUygbvAY3UctOkcvzfAnmuAN0pOy7kw+VYge0N7cHEoOJj/wqRTw9qAsRNpP6/dbRvt5q+7IlN82SsiquzdL3+Eo1FI0l9Mx+Wqg8WGHSnWPS03juihiQdSNuoUafxZrIWFTC+FteTB9R2PkUGDNgbY7nd2LZX7axl1y25gv/bba7T4VNFm+9RKjU+r1q4en9X5kGX0VdjccClD21hw4zIghPhYfOsqILncenzwb1SJN38XHap6L9rQXDfZkONad4vfV3mwc2iI5r0U5ThGYuZEnlnZ8OMb/sViau1ryM6q1h7799K2W5T2two4Xg06ZRDK8v3Rc6iNzDg/ppMhXmD0dxZ97In9gPO9LULZ5K3+nwn6ZXm9b0bTjjJi56LkYejQ9hikxP3/5s/BaJ3NHIb0oHStCouz+6dgIfg2HOBbrmcXnivc+LxPjShd2TBoOvsi4LdPwW9qGe4xHZPI2+VuaYsqmoQonqM5yDY9IMr3TQWuUVrNOZmZY2DAGgrbZRd2NX++eHJ0orNMwHb7GSWyXitKGVMUkK6fyop7HLhvTPjZFeX+i3S2bnwpwdKUm5JGO1vdR3q+hBw8XFhd5JzKIvnHu7XA5hLNCallMbY3mqCnVHrHhma4sgZmpi3jjKLLft3zmgcgI6R5tDWPTbGoeRRLuK9fdPsixnW94fuLpr+tybD9KMS90pHREmXiNdb4lpvUkWScEcBTJRAe8o1e3SE+XezR5MxPGPFo6hd8eIIeOCJuHeqrLDBvRNjUYnaEpBXWmD+MdPgXUv5iJpxcZ3m8XJR4tV7hH36FQIR00efsxsdCAuKJrC3/FaGzPg4neyeHKXDuWotN9kqaXeuTJ/t7o+CdN2h+LDn+O79rRXcnZ3NaxjbRQpiNWvugwl5N9jnXvq0Rs69e+xtTXiomTKRnnjaVom/0P67sWmQ4rPXiigtfJFW9PGagbMN3jNpXkvnKgZLFkn5WOjtoRrQlKqWJURO+53MsXtSaqGpXux1icU3q2wTIov5DhYplFLznSMMjQqabfvTQa5FR2YUvBJ1dKRG//n/satEfdOzM31DrxB+xNPef+p5W74WRo9Qfl1AoSiamUW546RlKNWkQV8/aCsrXTnv/628o/m8RahEIblH9+AVX+4wvoRxxJt8VB9IPkVi1V8wNrfezzyLY3tHn1Y2R27lu3YcdpF93ja6z7fMiVImLCe4iabbMpg7KKtIBBgqiXh9/VY3qrlvNLEi22pSzsrtq7xfLS/hNpooFd4tNB8ncXPzBnilsnmQvFA/NqA9/GaOJ2up6ZNhlhzIWxQ7q5lJoxvMj5rdtDJ9wcoptEHK/N2s9MsKZvcCYIhysr48fVOw+4lb2NjBGgvg3jzj8513tewuQkXd2J5M3VfH+UkrhFIESAx9Wffg8nOBc6J+eTU7Cr6neNs6URka+rCGKdoSz/UefvNft/tPsqfFqjkeVn6syskB4tM989P/pCsOqJTsJvBakZVcpyn/962c9VcuW5QaO5qJxZe4pBzyut9Np687fX+c65Tr6jYjRafM5QXIQe/FFcZBLZnbcmxyardHVNjTz2uJN7dZgzVXyMxEwSHG/0mlTTIRLnMmY7+0/1Crsp+KkFPYppU7h452IpRVN00Ef2SleNky0lqf3ZfRbeM/7LsXt7Sz5jR0wjyYqJzL15zr1w/TQtdlplj8AmFfFNhPq88tHTNCG3ivy1zzLDic8c5gTaWa7SSbNBX4qY7YcXWoQUmOOtB4uY+NrwzE2C8gqvP1cfDfJq/G72tvExV3s6vvPk+UZeiqDr8KU2ygmgIQs1oYw3z61Y6j4etKOb9vQvvxzbv2Lficn++UqiVpD1FCeRPD5q2GVGoQYUah0QV2ozm1AQZ+ar3LVTzqlz1bHPPVFPwOfkwpdYs750QafuziaZtg7hiQWOu1bfJvgs1K/VyxiWcw2pHwpUTQ/vGz9WMn/yfHLNJ5kv+KiFBSaXlhrIawxG6VWDVuWdO+l23xjKHsyN28vbqeFrQFlom1/LnFjknp1PrugaL7V6UxA8d2+DbiOH56w/nXCuh2i76KmgSGBJtzMUv4+yRi5Xf+IdJQiOB/V9LyzvEAph/Bm1vUE4gvhmkLPpL7xENbe0RuKkcZB1+umKhbnaIBFZusJMLO3jrWb4o4zcGKhCsyPcb/iiqbM1XaH4jkZudryym9/mF2aW1Ue+TtCcTERtZZ3Uw8mpN1U1ZysOXtazfya2V958+EztBdYf5wvs9GXn7bRMGSZ2y/nkAj6PazrIelu0KklXvEz43STkudSZJ+SzZdQjP1IZlQvymfwNH3NnpDX7hEliDmmSlQFnXmnmd+vmhTrfiiwqXJmxSnu7zahfRP4F0ub6kUCqF4vB3OlkFrYqrDUnzim5NL/tbFW7hlgDUWl6e7qI6szhsacdI63x1MONm/3zd0oNJBCMJKmeJbalRk7Wli4/qi2PSE7mzfKfrVB9z2Hqz+WkNJ2dOJr0VkVDxYuWShheeHBg8WljRdokjRTACi8Qti/3fF13yTfflXxCX5qyvilh0WX88Da3MdnTySr6/uHdqSmKXdRynwg1EfWpSo6+LtOVvW/H6o1P5mWtpNYGd3OWnNSzmh6uCe4OLRmlXdy8X1dsZRepI623MTpOLZ6xiWZaSc+SzEqbFhZPUNUWW0k7/ZUW63YqlruySyTLUYCQrUbC3a24uhDzx/Gs25J31USIY35dL7KaNaQFQsRFBlxhs/3vu9+WWr1S3rLP+rzkD4ExjZZGLTc9yVPYryKHHv/6jsP9Gv9qFwI4WT/Z2P/4/fl/t/+8zoOPaDWZ//D/qB/TwPrq7laxxP1qUALv8aAC4tVdojewaP1rkYdPmpOxKJEmnstetEY5XUNGt1tukcRx9e/l+P6z7pZsyZZsyZZsyZZsyZZsyZZsyZZsyZZsyZZsyZZsyZZsyZZsyf7/9l8= - - 00000000-0000-0000-0000-000000000000 - - - - - - - - - - - - - 59e0b89a-e487-49f8-bab8-b5bab16be14c - Panel - - - - - A panel for custom notes and text values - d2173b4a-9de4-40cc-af6b-333d79a04a94 - Panel - - false - 0 - 0 - backpack - - - - - - 724 - 938 - 67 - 20 - - 0 - 0 - 0 - - 724.1783 - 938.8004 - - - - - - - 255;255;250;90 - - true - true - true - false - false - true - - - - - - - - - a8b97322-2d53-47cd-905e-b932c3ccd74e - Button - - - - - Button object with two values - False - True - 89d7b441-8a3f-4c38-98f1-4c9fd3a914d2 - Button - Button - false - 0 - - - - - - 948 - 997 - 103 - 22 - - - - - - - - - - a8b97322-2d53-47cd-905e-b932c3ccd74e - Button - - - - - Button object with two values - False - True - 398e1b3c-d787-4dc6-b78f-5c1dd777df55 - Button - Button - false - 0 - - - - - - 836 - 1017 - 103 - 22 - - - - - - - - - - 59e0b89a-e487-49f8-bab8-b5bab16be14c - Panel - - - - - A panel for custom notes and text values - 7807c1c9-5064-44f7-8831-0e95c2d1f05c - Panel - - false - 0 - 0 - wrist_2_link - - - - - - 805 - 960 - 98 - 20 - - 0 - 0 - 0 - - 805.7691 - 960.7004 - - - - - - - 255;255;250;90 - - true - true - true - false - false - true - - - - - - - - - c552a431-af5b-46a9-a8a4-0fcbc27ef596 - Group - - - - - 1 - - 150;170;135;255 - - A group of Grasshopper objects - 39692b79-3a00-4d8a-8333-0b468bc5ef1d - ffafe9d7-fc42-4046-b08f-e8eb7f93b658 - 34d0c928-ce8b-468c-b6e8-25231d9c557e - 116821f0-66f4-4df7-a45c-b5a7fec7cdf4 - 0593fb99-e39d-4782-a099-8afbb62fb880 - af14dac5-9e8a-408b-9fe1-432389324846 - d932a68e-f50c-4953-b2bb-7691aa3ec94e - c7617dc1-7ff7-4ff8-920a-70985fd19964 - 8 - 2e6876b6-f711-4821-b1e8-f5f538fa048d - Group - - - - - - - - - - - c552a431-af5b-46a9-a8a4-0fcbc27ef596 - Group - - - - - 1 - - 150;170;135;255 - - A group of Grasshopper objects - 76e9a544-9ebc-433f-92f8-55737c25b332 - 25a75d7f-140e-4b93-ab78-90fe58cfd259 - 796e1e55-0027-4740-941c-130ba0dc6ac9 - 8760616c-f4d0-491f-b9b7-2997f3f3a597 - 59062c84-7b04-49a3-8312-e58bfdff2e99 - 954c29fe-a9db-426c-8814-cb4bac2d4abb - 7d12b88d-857b-47bd-9aed-bdce75407248 - c3a4dcb7-8acc-472b-81f6-5a262f339f71 - 8 - 057da597-ec67-4681-91c9-de18e5838c9c - Group - - - - - - - - - - - c552a431-af5b-46a9-a8a4-0fcbc27ef596 - Group - - - - - 1 - - 150;170;135;255 - - A group of Grasshopper objects - 4053da4a-2327-42d7-8cc9-28c183960b5d - fb96cc69-4e0a-44c0-954d-324ccdcba70f - d2173b4a-9de4-40cc-af6b-333d79a04a94 - 89d7b441-8a3f-4c38-98f1-4c9fd3a914d2 - 398e1b3c-d787-4dc6-b78f-5c1dd777df55 - 7807c1c9-5064-44f7-8831-0e95c2d1f05c - 8ced8ee4-46d8-422d-9228-fce16da34079 - 5279808a-6bd1-467c-ace6-de7eaf64d121 - 8 - 0e76e9be-93d0-4251-b37c-d628daca9ca4 - Group - - - - - - - - - - - 7f5c6c55-f846-4a08-9c9a-cfdc285cc6fe - Scribble - - - - - true - - 724.8511 - 503.8735 - - - 980.7783 - 503.8735 - - - 980.7783 - 523.9814 - - - 724.8511 - 523.9814 - - A quick note - Microsoft Sans Serif - d932a68e-f50c-4953-b2bb-7691aa3ec94e - false - Scribble - Scribble - 21 - Add table (collision mesh) - - - - - - 719.8511 - 498.8735 - 265.9272 - 30.10794 - - - 724.8511 - 503.8735 - - - - - - - - - - 7f5c6c55-f846-4a08-9c9a-cfdc285cc6fe - Scribble - - - - - true - - 726.6157 - 684.4616 - - - 1016.278 - 684.4616 - - - 1016.278 - 704.5695 - - - 726.6157 - 704.5695 - - A quick note - Microsoft Sans Serif - 7d12b88d-857b-47bd-9aed-bdce75407248 - false - Scribble - Scribble - 21 - Add bricks (collision meshes) - - - - - - 721.6157 - 679.4616 - 299.6626 - 30.10791 - - - 726.6157 - 684.4616 - - - - - - - - - - 7f5c6c55-f846-4a08-9c9a-cfdc285cc6fe - Scribble - - - - - true - - 721.9099 - 884.4616 - - - 1115.65 - 884.4616 - - - 1115.65 - 904.5695 - - - 721.9099 - 904.5695 - - A quick note - Microsoft Sans Serif - 8ced8ee4-46d8-422d-9228-fce16da34079 - false - Scribble - Scribble - 21 - Add backpack (attached collision mesh) - - - - - - 716.9099 - 879.4616 - 403.7397 - 30.10791 - - - 721.9099 - 884.4616 - - - - - - - - - - c552a431-af5b-46a9-a8a4-0fcbc27ef596 - Group - - - - - 1 - - 150;170;135;255 - - A group of Grasshopper objects - 890cdb7c-c7b2-4687-b04f-0b544a15574e - 60bb0bf1-f87e-41a9-ada6-7df682319a90 - 1168b969-2a1d-4241-b5a0-2a1fc526c886 - 65ab2de8-6703-4d63-8f86-6b09e3c24c44 - 4 - 4b434146-21f1-47a6-91a9-5fe11e8e14e4 - Group - - - - - - - - - - - 7f5c6c55-f846-4a08-9c9a-cfdc285cc6fe - Scribble - - - - - true - - 724.8511 - 357.4721 - - - 914.9688 - 357.4721 - - - 914.9688 - 373.4272 - - - 724.8511 - 373.4272 - - A quick note - Microsoft Sans Serif - 1168b969-2a1d-4241-b5a0-2a1fc526c886 - false - Scribble - Scribble - 21 - Attach end-effector - - - - - - 719.8511 - 352.4721 - 200.1177 - 25.95508 - - - 724.8511 - 357.4721 - - - - - - - - - - c552a431-af5b-46a9-a8a4-0fcbc27ef596 - Group - - - - - 1 - - 150;170;135;255 - - A group of Grasshopper objects - 19697128-0098-4788-9af6-983e90e9851c - ac4bd771-f5e9-48e0-9cb7-75003b5729bc - 0d98e522-044f-4baf-ab67-2276bb33001e - 3 - 5665b39b-b845-4afc-b4ed-ac9cc25e129e - Group - - - - - - - - - - - 7f5c6c55-f846-4a08-9c9a-cfdc285cc6fe - Scribble - - - - - true - - 2026.2 - 350.8631 - - - 2115.799 - 350.8631 - - - 2115.799 - 366.5618 - - - 2026.2 - 366.5618 - - A quick note - Microsoft Sans Serif - ac4bd771-f5e9-48e0-9cb7-75003b5729bc - false - Scribble - Scribble - 21 - Visualize - - - - - - 2021.2 - 345.8631 - 99.59863 - 25.69873 - - - 2026.2 - 350.8631 - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - COMPAS FAB: ROS Robot - - - - - """ -Load robot directly from ROS. - -COMPAS FAB v0.28.0 -""" - -from compas.scene import SceneObject -from ghpythonlib.componentbase import executingcomponent as component -from scriptcontext import sticky as st - -from compas_fab.ghpython.components import create_id - - -class ROSRobot(component): - def RunScript(self, ros_client, load): - key = create_id(self, "robot") - - if ros_client and ros_client.is_connected and load: - # Load URDF from ROS - st[key] = ros_client.load_robot(load_geometry=True, precision=12) - st[key].scene_object = SceneObject(st[key].model) - - robot = st.get(key, None) - if robot: # client sometimes need to be restarted, without needing to reload geometry - robot.client = ros_client - return robot - - Load robot directly from ROS. -COMPAS FAB v0.28.0 - true - true - 2 - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAFbSURBVEhLvZTBUcMwEEVTAiWkhJSQElICJVABkxIYLlxz4pwSUgIlpAQ6MP/Z+mZlrUM8GHbmjaXVarX+a3nTdd2fkjrXJHUuQfYgnnim65lzCbKzYPApDs16NRmqOYmLYOM+rkdkj+IqmPgJ7N2OcZNNLE437AXJjoG4zpjCtsL7P5oDSkC/KN7Ec5m/CMuQUcki24nxzacLDN4Fh7yWOQcgG+OMSkbZKE8/ryZDYgZ+wkFwCK9vaKjXezlkyIR8TK5jTg9KEG9hHUmC9lVFJQ45SeZCkDA2vJWobHRD3TRX1BxS4omLDSe+ug/Vht5Ry2Mu0zgjoxAKy4toHEOwE0dm78Qtcmf+1YyNW0LuHF47finmmMXfInUCyUJiw6HpT22O1Glk8Qsxpyx2jtRpZL9ueOsYbm1M9hPItpvmMa3j+yYvYbb5reMfDuBX4Z/avdwv0dqkzvXoNl8X2cTgqAi1xAAAAABJRU5ErkJggg== - - false - f5716f49-f1f1-4be9-9e8e-a5b5b4e0fde4 - true - true - COMPAS FAB: ROS Robot - COMPAS FAB: ROS Robot - - - - - - 556 - 340 - 124 - 44 - - - 626 - 362 - - - - - - 2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 1 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - The ROS client. - 5ff49e2d-38b1-4ad4-b09f-24c407823004 - ros_client - ros_client - true - 0 - true - 15eb41b8-7f37-46ff-8223-2f539f9b5493 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 558 - 342 - 53 - 20 - - - 586 - 352 - - - - - - - - true - If True, loads the robot from ROS. Defaults to False. - 32181eed-bf58-4e5a-92d1-f9d7d30391c2 - load - load - true - 0 - true - ef1c073b-2b46-4fc4-8bf3-e0be8dcd1630 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 558 - 362 - 53 - 20 - - - 586 - 372 - - - - - - - - The robot. - 853a5a36-5155-4809-9845-f85e28873c08 - robot - robot - false - 0 - - - - - - 641 - 342 - 37 - 40 - - - 659.5 - 362 - - - - - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - COMPAS FAB: Planning Scene - - - - - """ -Create a planning scene. - -COMPAS FAB v0.28.0 -""" - -from ghpythonlib.componentbase import executingcomponent as component -from scriptcontext import sticky as st - -from compas_fab.ghpython.components import create_id -from compas_fab.robots import PlanningScene - - -class PlanningSceneComponent(component): - def RunScript(self, robot): - key = create_id(self, "planning_scene") - if robot: - st[key] = PlanningScene(robot) - return st.get(key, None) - - Create a planning scene. -COMPAS FAB v0.28.0 - true - true - 2 - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAGJSURBVEhL1dU/S8NQFAXwIIiICG4idcigQyfr4J7JwamDH0D8BC0ITkJHF6Uggm6tbuKgkw4OVeofELEidHASLHZtnQSH67mx7/GaHK2UOBj4EXpe7r1p8mg9EflTNEwSDZNEwyTRkJncrPqQg0rn7LPromhooEkGClADITT/cRgNjZ3bhiwf11ljS9f3Hpp1Vq9oaGiDxYNHKddeoWmH6dlk8/v3EpTuGqxe0dBw7zS9fS350ydpv3+EZ3fNL15WWb2ioeE2Ma5eWrEMKqxe0dAgjf7bgI2Lt2gzNiC1fnbD6hUPPW8MCgPDo+2RuQWZWDu0zdwB4ysl0XVcq4paF+sVCzwvC89gCkNDU7Mys7or5ZNzSee3ZDA13bXe0YJcVz+ncQYq4Bb0qwaBHYBD79q9ICmB+w0C0MnRi/pxBOHvkx3gDFoCfZZuwW/puwsfje3nfrDh1y7SXeEW/yT2cm0vFho4fOj14un2NGgYhUPfT3Tr6uCefzo0/A6OHOhGyLJ1hobJEe8TjeBiI74N1WoAAAAASUVORK5CYII= - - false - bff459fb-0d90-48cd-b710-b4f8d4f85bdd - true - true - COMPAS FAB: Planning Scene - COMPAS FAB: Planning Scene - - - - - - 575 - 417 - 105 - 28 - - - 626 - 431 - - - - - - 1 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 1 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - The robot. - ed400ec6-948b-457f-bca7-d5b173e13241 - robot - robot - true - 0 - true - 853a5a36-5155-4809-9845-f85e28873c08 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - 2 - - - - - - 577 - 419 - 34 - 24 - - - 595.5 - 431 - - - - - - - - A planning scene. - 42f083c4-c365-4dff-a020-fb2cb2a55f89 - scene - scene - false - 0 - - - - - - 641 - 419 - 37 - 24 - - - 659.5 - 431 - - - - - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - COMPAS FAB: Attached Tool - - - - - """ -Attach a tool to the robot. - -COMPAS FAB v0.28.0 -""" - -from compas.geometry import Frame -from compas_rhino.conversions import mesh_to_compas -from compas_rhino.conversions import plane_to_compas_frame -from ghpythonlib.componentbase import executingcomponent as component - -from compas_fab.robots import Tool - - -class AttachToolComponent(component): - def RunScript(self, robot, visual_mesh, collision_mesh, tcf_plane, group): - if robot and robot.client and robot.client.is_connected and visual_mesh: - if not collision_mesh: - collision_mesh = visual_mesh - - c_visual_mesh = mesh_to_compas(visual_mesh) - c_collision_mesh = mesh_to_compas(collision_mesh) - - if not tcf_plane: - frame = Frame.worldXY() - else: - frame = plane_to_compas_frame(tcf_plane) - tool = Tool(c_visual_mesh, frame, c_collision_mesh) - - robot.attach_tool(tool, group) - - return robot - - Attach a tool to the robot. -COMPAS FAB v0.28.0 - true - true - 2 - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAP4SURBVEhLnZT9T1NXGMeLMJ2/MP8Is6Bu01RgwJCX0W1tYSLtShEqslhwxs0IDKwprQouM4vL4kiWhSVkW/bDNl8AIW6ZWHkJqAPdxL5QkFIpsgqdi/Olk9ue7557TU1f7qjsh0/uPc+5z/d7z3mecyQA4rLomk6Y2teQJDYXD9FgNJ5G84SnwXTPc+KL58Xml0I0GA4JJxB+m0IF+7aysXFV+RZ6F/1WDNFgOCT+HPG3XVkKe6GGcxSXcc7SSs+zmogGwyFxieeAeYA1dzPW0g00d8NepGFTe+tvegyHz3sOHBLNCyEaDEcwIGDuArgg+OcNWUnwmlzFkXg7bzDx8acr5k53rRXLjwmIwRuwj3oYzJ3CCn5Nz2c29Y69JL5mLEuWMJqaoxjclLnPNziUEp0bMVgSU6fEUbm7a/i1NxeGMgryZz9oSOTrMFmkSZyr0HcNp0g5a52hPTovYrAkZEArSbrT2rbGU29cRX+/2lFZk3TzvdoRl7bqr9+zZLiUr5x54JxcHZ4XKRKHCymbBXhxYqW79mDrcJYsMK3TB6x5Sgxnvo5btQd7wzssQiAeoYKTQPJMvfHb/o3ZCJo6wI79BHb4LC5lFoDa+DHNrwqZxIg8C5T82WT5LnZDuR042gMEqbvI5EqOHI6S7Qs0/8L/NqDEBmLeqdZxVrmGwdgBHDkL1tSJMYWasxe+46X5lcs1WMc47sjtT05M2JTqP8eLyx65K6ofundUY17fiN/kWozkFcGqUPHbI+XFl2tQ99h8BtRJYLTn3p31gVvad4X9Dx47B7/pJHrXb8ad8xYpbZMgvlwDA+MPGZ1kRiaz2hrMlFZBiC3cB6M6zHz9nY4XDxmEcsNFYvDbx5PpHvrcV2dsoxUwrrkTAfrr64pSXE7LFd75VXHmDsZ/HzII14gYhOMfurz2j1pDm1u2FbYcBayybZiu2IORXAUsKVIMSLPh1L9/93bL8bS7h04miGnwxAQeudyJE3WGttkK/S++ihrMle8S9p0d7UaA6nDhxU24+NKrGJWr3FON5iI6Fyv4Uy4QpcUTE5j/6pudnOkMGN96tHx35YdCMeG9B3b8Z1jWp+Hiyxm4VqjxXlWoJfT3T4nW4okJeHfv/x50KuFfRKDpNKZ0+/FP0ylhr/3GH2HZkM5ImCMe8gbC1cFf51E6ISIGvi/bq6ffKrEFmp60ZIBWMpKnAIlgIDUHfRszsWg8xRgVlb5h/7Ut4Tx9uW93JA+m5y7YC96Gr2oPXGodbAo1rmS/IRj0bUiHZV0qC7b2Am4f1YM6ZzkGD6glr9ON6Couw2i+En2pW+DcqsVV6pp+2vP+VzIEI7/xB6Cl50ld4hpA8i+7qidKHFrjTAAAAABJRU5ErkJggg== - - false - 65ab2de8-6703-4d63-8f86-6b09e3c24c44 - true - true - COMPAS FAB: Attached Tool - COMPAS FAB: Attached Tool - - - - - - 1224 - 350 - 148 - 104 - - - 1318 - 402 - - - - - - 5 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 1 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - The robot. - 67768a51-6bd2-4831-be13-2e2e3f7935bf - robot - robot - true - 0 - true - 853a5a36-5155-4809-9845-f85e28873c08 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - 2 - - - - - - 1226 - 352 - 77 - 20 - - - 1266 - 362 - - - - - - - - true - A visual mesh for the tool. - b087b207-4338-42bb-8206-0734f4c900eb - visual_mesh - visual_mesh - true - 0 - true - 60bb0bf1-f87e-41a9-ada6-7df682319a90 - 1 - 794a1f9d-21d5-4379-b987-9e8bbf433912 - - - - - - 1226 - 372 - 77 - 20 - - - 1266 - 382 - - - - - - - - true - A collision mesh for the tool. - ff6afe96-afa7-427d-94e5-6cbd17089a21 - collision_mesh - collision_mesh - true - 0 - true - 0 - 794a1f9d-21d5-4379-b987-9e8bbf433912 - - - - - - 1226 - 392 - 77 - 20 - - - 1266 - 402 - - - - - - - - true - The frame of the tool in tool0 frame. - 2bb29fc8-b7ce-4edb-a2e2-2266e2f7603a - tcf_plane - tcf_plane - true - 0 - true - 0 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 1226 - 412 - 77 - 20 - - - 1266 - 422 - - - - - - - - true - The planning group to which the tool should be attached. - b4432e04-9de3-4d73-a5b2-ce83e2ba9cef - group - group - true - 0 - true - 0 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 1226 - 432 - 77 - 20 - - - 1266 - 442 - - - - - - - - The robot. - 3aa7a053-d892-471a-9f6b-5b553bb1fdb1 - robot - robot - false - 0 - - - - - - 1333 - 352 - 37 - 100 - - - 1351.5 - 402 - - - - - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - COMPAS FAB: Collision Mesh - - - - - """ -Add or remove a collision mesh from the planning scene. - -COMPAS FAB v0.28.0 -""" - -from compas_rhino.conversions import mesh_to_compas -from ghpythonlib.componentbase import executingcomponent as component - -from compas_fab.robots import CollisionMesh - - -class CollisionMeshComponent(component): - def RunScript(self, scene, M, name, add, append, remove): - ok = False - self.Message = "" - - if (add and append) or (append and remove) or (add and remove): - self.Message = "Use only one operation at a time\n(add, append or remove)" - raise Exception(self.Message) - - if scene and M and name: - mesh = mesh_to_compas(M) - collision_mesh = CollisionMesh(mesh, name) - if add: - scene.add_collision_mesh(collision_mesh) - self.Message = "Added" - ok = True - if append: - scene.append_collision_mesh(collision_mesh) - self.Message = "Appended" - ok = True - if remove: - scene.remove_collision_mesh(name) - self.Message = "Removed" - ok = True - return ok - - Add or remove a collision mesh from the planning scene. -COMPAS FAB v0.28.0 - true - true - 2 - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAFuSURBVEhL7ZUxboNAEEXduCY+AakpQgp6U9HaZTpyAyL5AE5JZykXIBUtuQEUqUOkNGkicgP7Bpv/Nwbtwjg4kdP5S09eZmfm7yBrmSil/hUxeErE4CGgENyDW3Ah5fQRgybQEjyCHWDApAJ34FKqJcMATgZ4widgNhvjFXC6a6tfu8jz/Mr3/Xej4M/MZrPdarV6sAxAuN1uVZZlarFYDIqOwXVdlSSJapoG7VTFvp1BFEU38/lcG9DoWLO2aV3XbKp/4zhWQRB8sG9nAPEfooscx9FJZVmyRpttNhuFVyg25Ym5z3jbYzqdPmMLK8HAhEUs3o9tqSiKnya0XxEkGphwKoqTcUopx+D3BoRar9fiXo+zgbxvcDaQ9w1sA/3wfYt+7hNEqBEDXuu83vUVbhm0QJyGSWahhjpgwIMNPkTdQoLJgHd8NxXVM+BBwramjxiUgJae571hXaVp+oKrIkVs9LMpBk+JGDwdavIFCdRgYZL/CZkAAAAASUVORK5CYII= - - false - c7617dc1-7ff7-4ff8-920a-70985fd19964 - true - true - COMPAS FAB: Collision Mesh - COMPAS FAB: Collision Mesh - - - - - - 1224 - 518 - 106 - 124 - - - 1291 - 580 - - - - - - 6 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 1 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - The planning scene. - 7435aaa7-87f4-4936-86c6-06ddd2abfde5 - scene - scene - true - 0 - true - 42f083c4-c365-4dff-a020-fb2cb2a55f89 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - 2 - - - - - - 1226 - 520 - 50 - 20 - - - 1252.5 - 530 - - - - - - - - true - A collision mesh. - e44542ab-39ce-4f6f-be16-9caadb07654f - mesh - mesh - true - 0 - true - 39692b79-3a00-4d8a-8333-0b468bc5ef1d - 1 - 794a1f9d-21d5-4379-b987-9e8bbf433912 - - - - - - 1226 - 540 - 50 - 20 - - - 1252.5 - 550 - - - - - - - - true - The identifier of the collision mesh. - ab313ab9-e18c-4a65-9ffe-84ee02a5d5f2 - identifier - identifier - true - 0 - true - ffafe9d7-fc42-4046-b08f-e8eb7f93b658 - 1 - 37261734-eec7-4f50-b6a8-b8d1f3c4396b - - - - - - 1226 - 560 - 50 - 20 - - - 1252.5 - 570 - - - - - - - - true - If True, adds the collision mesh to the planning scene. - e8fe1617-64b5-48e6-b9f0-50114eed2705 - add - add - true - 0 - true - 34d0c928-ce8b-468c-b6e8-25231d9c557e - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1226 - 580 - 50 - 20 - - - 1252.5 - 590 - - - - - - - - true - If True, appends the collision mesh to the planning scene. - 3c251931-7b6c-4eee-8675-8d5513123938 - append - append - true - 0 - true - 116821f0-66f4-4df7-a45c-b5a7fec7cdf4 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1226 - 600 - 50 - 20 - - - 1252.5 - 610 - - - - - - - - true - If True, removes the collision mesh from the planning scene. - 89f36f34-0088-496b-b502-6912ff27971d - remove - remove - true - 0 - true - af14dac5-9e8a-408b-9fe1-432389324846 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1226 - 620 - 50 - 20 - - - 1252.5 - 630 - - - - - - - - True if the operation was successfully performed. - 149f539b-a4ee-4107-90a3-ef35a6adb3cd - ok - ok - false - 0 - - - - - - 1306 - 520 - 22 - 120 - - - 1317 - 580 - - - - - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - COMPAS FAB: Collision Mesh - - - - - """ -Add or remove a collision mesh from the planning scene. - -COMPAS FAB v0.28.0 -""" - -from compas_rhino.conversions import mesh_to_compas -from ghpythonlib.componentbase import executingcomponent as component - -from compas_fab.robots import CollisionMesh - - -class CollisionMeshComponent(component): - def RunScript(self, scene, M, name, add, append, remove): - ok = False - self.Message = "" - - if (add and append) or (append and remove) or (add and remove): - self.Message = "Use only one operation at a time\n(add, append or remove)" - raise Exception(self.Message) - - if scene and M and name: - mesh = mesh_to_compas(M) - collision_mesh = CollisionMesh(mesh, name) - if add: - scene.add_collision_mesh(collision_mesh) - self.Message = "Added" - ok = True - if append: - scene.append_collision_mesh(collision_mesh) - self.Message = "Appended" - ok = True - if remove: - scene.remove_collision_mesh(name) - self.Message = "Removed" - ok = True - return ok - - Add or remove a collision mesh from the planning scene. -COMPAS FAB v0.28.0 - true - true - 2 - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEQAACxEBf2RfkQAAAW5JREFUSEvtlTFug0AQRd24Jj4BqSlCCnpT0dplOnIDIvkATklnKRcgFS25ARSpQ6Q0aSJyA/sGm/83Bu3CODiR0/lLT15mZ+bvIGuZKKX+FTF4SsTgIaAQ3INbcCHl9BGDJtASPIIdYMCkAnfgUqolwwBOBnjCJ2A2G+MVcLprq1+7yPP8yvf9d6Pgz8xms91qtXqwDEC43W5VlmVqsVgMio7BdV2VJIlqmgbtVMW+nUEURTfz+Vwb0OhYs7ZpXddsqn/jOFZBEHywb2cA8R+iixzH0UllWbJGm202G4VXKDblibnPeNtjOp0+YwsrwcCERSzej22pKIqfJrRfESQamHAqipNxSinH4PcGhFqv1+Jej7OBvG9wNpD3DWwD/fB9i37uE0SoEQNe67ze9RVuGbRAnIZJZqGGOmDAgw0+RN1CgsmAd3w3FdUz4EHCtqaPGJSAlp7nvWFdpWn6gqsiRWz0sykGT4kYPB1q8gUJ1GBhkv8JmQAAAABJRU5ErkJggg== - - false - c3a4dcb7-8acc-472b-81f6-5a262f339f71 - true - true - COMPAS FAB: Collision Mesh - COMPAS FAB: Collision Mesh - - - - - - 1224 - 697 - 106 - 124 - - - 1291 - 759 - - - - - - 6 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 1 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - The planning scene. - 08cd6300-d97a-41ad-a79f-9de7b3c698bf - scene - scene - true - 0 - true - 42f083c4-c365-4dff-a020-fb2cb2a55f89 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - 2 - - - - - - 1226 - 699 - 50 - 20 - - - 1252.5 - 709 - - - - - - - - true - A collision mesh. - ffaef735-360b-4fe9-9604-963da12f55b6 - mesh - mesh - true - 0 - true - 76e9a544-9ebc-433f-92f8-55737c25b332 - 1 - 794a1f9d-21d5-4379-b987-9e8bbf433912 - - - - - - 1226 - 719 - 50 - 20 - - - 1252.5 - 729 - - - - - - - - true - The identifier of the collision mesh. - 53f1fa65-0ba9-4d63-ac8c-e98c631fc517 - identifier - identifier - true - 0 - true - 25a75d7f-140e-4b93-ab78-90fe58cfd259 - 1 - 37261734-eec7-4f50-b6a8-b8d1f3c4396b - - - - - - 1226 - 739 - 50 - 20 - - - 1252.5 - 749 - - - - - - - - true - If True, adds the collision mesh to the planning scene. - c8bc6616-0a97-4431-bd0a-da25ac0fab7c - add - add - true - 0 - true - 796e1e55-0027-4740-941c-130ba0dc6ac9 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1226 - 759 - 50 - 20 - - - 1252.5 - 769 - - - - - - - - true - If True, appends the collision mesh to the planning scene. - 2553d622-43c2-4d33-bd30-193c91f921b8 - append - append - true - 0 - true - 8760616c-f4d0-491f-b9b7-2997f3f3a597 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1226 - 779 - 50 - 20 - - - 1252.5 - 789 - - - - - - - - true - If True, removes the collision mesh from the planning scene. - 77390c47-378f-4213-8177-860c7860be36 - remove - remove - true - 0 - true - 954c29fe-a9db-426c-8814-cb4bac2d4abb - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1226 - 799 - 50 - 20 - - - 1252.5 - 809 - - - - - - - - True if the operation was successfully performed. - 6a602684-7ca1-4eb3-8c35-7b726c67b9cc - ok - ok - false - 0 - - - - - - 1306 - 699 - 22 - 120 - - - 1317 - 759 - - - - - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - COMPAS FAB: Inverse Kinematics - - - - - """ -Calculate the robot's inverse kinematic for a given plane. - -COMPAS FAB v0.28.0 -""" - -from compas_rhino.conversions import plane_to_compas_frame -from ghpythonlib.componentbase import executingcomponent as component - - -class InverseKinematics(component): - def RunScript(self, robot, plane, start_configuration, group): - configuration = None - if robot and robot.client and robot.client.is_connected and plane: - frame = plane_to_compas_frame(plane) - configuration = robot.inverse_kinematics(frame, start_configuration, group) - return configuration - - Calculate the robot's inverse kinematic for a given plane. -COMPAS FAB v0.28.0 - true - true - 2 - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAKtSURBVEhLlZQ7aFVBEIb33JdXE2OUBB+NQQI2Vr4rCyWIRSSNCGLju1B8tYmiIinEzl5BS0GbWMTCFKIigihJpY1YxQdIQCzUeP3+vTPHzfXmaAY+dmd25p+9e/Zu6L72rB2ZjeuSWE8yr4FySqLRaIT58IIUL0xjFdgBfUksXZu3SWuySMX3wzA8hwZ8gQm4DVqLIoxqkrWKCxdy/GjEGZCoMwnf4GcSu+JCzMvwV5NUWAnu3wAJzEIn+NEsAeUdAa0pZ8TFtJaKCxdUA9+9xFT4xuaKrYIVNvcjXA8/QLkD1iDqtGvg6HaMg4rOWiwHy+oDR0saLbYNlDulRRnzsk2bRsCTxUZQgZp4TDvWR6yCcpeCNuLrh0A1r10vCrtZknMOlNxvfn6jll180BHK1auU3Mqq9dUehxOgmlemt5ihonk0AougNfmw+dptXMMkMAMcbJgEfReGMHfHIXTChuaUNRcw7oIa5LGuC2O9JJ4GXc8Yw2ZhhLmOLB5fqFQHiY3DTdgOTWNxMzyFXSBfDbbY/Csp+minIG+MTcuHJ3AerpufMgT5N3gEEpi28ZfhojoGFb20UdyD94k/BrJNIP9F9ExAv+I7SFB3e8bml8EbjIIX6j8Qa7E9SVy2BuR/jJ4nwgGQqPMJfE13/zGosDeJS0Kmc9faZxvFJYgN0sdtFLyB/OWg3auBiqYsrlLF/QZ1wx1QzgcYhqZJALyJPxP3zV+pETsGKj5p8ZzEtAldz77ouZGUNtCVG4St5rvIW1CDrjRua8WWJKdPhp6FclaprSVFV1Hifmxz+Ke1KxKY/mAToN0/BDUZapNXbK0Fei0Zs1Aq7WM537XmoGZ1j1m82NK3O77ff2wnKNADu23+Dmrw/1bQoAPy8zcOwsKsoIHbXjgO/dFbkIXwGxyktOwtbANCAAAAAElFTkSuQmCC - - false - 3d7dd37d-0e48-4b8f-af38-c2ca64fbb0ec - true - true - COMPAS FAB: Inverse Kinematics - COMPAS FAB: Inverse Kinematics - - - - - - 1752 - 400 - 207 - 84 - - - 1867 - 442 - - - - - - 4 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 1 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - The robot. - 333a447d-de6f-490f-87e4-7f0fa1c9a62d - robot - robot - true - 0 - true - 3aa7a053-d892-471a-9f6b-5b553bb1fdb1 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - 2 - - - - - - 1754 - 402 - 98 - 20 - - - 1804.5 - 412 - - - - - - - - true - The plane or frame to calculate the inverse kinematic for. - 84608e19-fdf0-4edb-8e74-1a54d21542e0 - plane - plane - true - 0 - true - c7e688b2-7437-46fd-a31c-fec66f177c69 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 1754 - 422 - 98 - 20 - - - 1804.5 - 432 - - - - - - - - true - If passed, calculates the inverse such that the joint positions differ the least from the start_configuration. Defaults to the zero configuration. - adbaf89d-f2c3-4cf6-8fed-c4b469672305 - start_configuration - start_configuration - true - 0 - true - 0 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 1754 - 442 - 98 - 20 - - - 1804.5 - 452 - - - - - - - - true - The planning group used for calculation. Defaults to the robot's main planning group. - 737fcfb0-231e-4eeb-9f5a-031892428735 - group - group - true - 0 - true - 0 - 37261734-eec7-4f50-b6a8-b8d1f3c4396b - - - - - - 1754 - 462 - 98 - 20 - - - 1804.5 - 472 - - - - - - - - The planning group's configuration. - 76437f62-bdfa-4755-99ff-27b41ae15f8e - configuration - configuration - false - 0 - - - - - - 1882 - 402 - 75 - 80 - - - 1919.5 - 442 - - - - - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - COMPAS FAB: Robot Visualize - - - - - """ -Visualizes the robot. - -COMPAS FAB v0.28.0 -""" - -import time - -from compas.geometry import Frame -from compas.geometry import Transformation -from compas.scene import SceneObject -from compas_ghpython import create_id -from ghpythonlib.componentbase import executingcomponent as component -from scriptcontext import sticky as st - -from compas_fab.robots import PlanningScene - - -class RobotVisualize(component): - def RunScript( - self, - robot, - group, - configuration, - show_visual, - show_collision, - show_frames, - show_base_frame, - show_end_effector_frame, - show_cm, - show_acm, - ): - visual = None - collision = None - collision_meshes = None - attached_meshes = None - frames = None - base_frame = None - ee_frame = None - - if robot: - show_visual = True if show_visual is None else show_visual - show_cm = True if show_cm is None else show_cm - show_acm = True if show_acm is None else show_acm - configuration = configuration or robot.zero_configuration() - - robot.update(configuration, visual=show_visual, collision=show_collision) - compas_frames = robot.transformed_frames(configuration, group) - - if show_visual: - visual = robot.scene_object.draw_visual() - - if show_collision: - collision = robot.scene_object.draw_collision() - - if show_base_frame: - base_compas_frame = compas_frames[0] - sceneobject = SceneObject(base_compas_frame) - base_frame = sceneobject.draw() - - if show_end_effector_frame: - ee_compas_frame = robot.forward_kinematics(configuration, group, options=dict(solver="model")) - sceneobject = SceneObject(ee_compas_frame) - ee_frame = sceneobject.draw() - - if show_frames: - frames = [] - for compas_frame in compas_frames[1:]: - sceneobject = SceneObject(compas_frame) - frame = sceneobject.draw() - frames.append(frame) - - cached_scene_key = create_id(self, "cached_scene") - - if show_cm or show_acm: - cached_scene = st.get(cached_scene_key) - if not cached_scene: - cached_scene = {"time": 0} - - # expire cache if the component has not been executed in the last 2 seconds - # this allows to slide through a list of configurations - # without triggering refreshes of the scene in the middle of it - if time.time() - cached_scene["time"] > 2: - update_scene = True - else: - update_scene = False - - if update_scene: - scene = PlanningScene(robot) - scene = robot.client.get_planning_scene() - - if update_scene and show_cm: - collision_meshes = [] - - for co in scene.world.collision_objects: - header = co.header - frame_id = header.frame_id - cms = co.to_collision_meshes() - - for cm in cms: - if cm.frame != Frame.worldXY(): - t = Transformation.from_frame(cm.frame) - mesh = cm.mesh.transformed(t) - else: - mesh = cm.mesh - - collision_meshes.extend(SceneObject(mesh).draw()) - - cached_scene["cm"] = collision_meshes - - collision_meshes = cached_scene.get("cm", []) - - if update_scene and show_acm: - attached_meshes = [] - - for aco in scene.robot_state.attached_collision_objects: - for acm in aco.to_attached_collision_meshes(): - frame_id = aco.object["header"]["frame_id"] - frame = robot.forward_kinematics(configuration, options=dict(link=frame_id)) - t = Transformation.from_frame(frame) - - # Local CM frame - if acm.collision_mesh.frame and acm.collision_mesh.frame != Frame.worldXY(): - t = t * Transformation.from_frame(acm.collision_mesh.frame) - - mesh = acm.collision_mesh.mesh.transformed(t) - - attached_meshes.extend(SceneObject(mesh).draw()) - - cached_scene["acm"] = attached_meshes - - attached_meshes = cached_scene.get("acm", []) - - cached_scene["time"] = time.time() - st[cached_scene_key] = cached_scene - - return ( - visual, - collision, - collision_meshes, - attached_meshes, - frames, - base_frame, - ee_frame, - ) - - Visualizes the robot. -COMPAS FAB v0.28.0 - - 690 - 264 - - - 558 - 571 - - true - true - 2 - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAHYSURBVEhLtZSxSgNBEIZVCEFQTDoRi4BgLcQHCGJpkSaVja2dnYUglqlEbcQulUUqHyGFpYUvEMgTBDs7z/87do7ZvVUixIPvbndm55/Z2btbKYriX8kal0nW+Bd2b19b4oJnzl8z/BUJv4hCfIh+6o8mVCFGYiII7Hm/R74zMROI2xOI7di6NAhnGtATiN04vJ8xhXWExb/XEoQFpVM8iuswvxPWhhxRWzQ/ENXOUwcBz4IkD2FOAtrmRT1RGzWv2gPcKoOcCBNkT+gLkrB9gwM1f9kOPWkT7cM2M01uVQVysAvrIyL0PqoorKOdiFkhtNAfeNQin8AO1A7NKqolCetZ5w+c9dH3wC3toW+PMfFrPPJRCIVli6gZwuI0AUSFLErWKLHcW1MenK6BYACXFqOrLebBPq7sNvBIjG37N8W4wZ8VihMPKrsNUhBLxIGkLQkMnVib9c429zqRaIrE/BtijCTSDWJQVqvLdjX0GpFgisR+PHAJTYPgk/AJj71GJAgK5qvNiUZsnZyXgmvrG1+Nnb37ID5N9aIJKNi+5F/ZvhqXCWC10fwM46g9EE1AwQslgOb+YZUk0E31ogkokF+F/dR+ZfPo1M4B3lItqBmWTda4PIqVb4c7lSMXBSLEAAAAAElFTkSuQmCC - - false - 0d98e522-044f-4baf-ab67-2276bb33001e - true - true - COMPAS FAB: Robot Visualize - COMPAS FAB: Robot Visualize - - - - - - 2097 - 390 - 257 - 204 - - - 2244 - 492 - - - - - - 10 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 7 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - The robot. - 41c04be7-539e-4a8c-898d-a0dbe88a70eb - robot - robot - true - 0 - true - 3aa7a053-d892-471a-9f6b-5b553bb1fdb1 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - 2 - - - - - - 2099 - 392 - 130 - 20 - - - 2165.5 - 402 - - - - - - - - true - The planning group used for end-effector and base visualization. - 73afeddf-8fea-4578-bbf7-0876f04a818c - group - group - true - 0 - true - 0 - 37261734-eec7-4f50-b6a8-b8d1f3c4396b - - - - - - 2099 - 412 - 130 - 20 - - - 2165.5 - 422 - - - - - - - - true - The robot's full configuration. - ad8d8b00-cfc7-4d91-86ce-2f37de6ad430 - configuration - configuration - true - 0 - true - 76437f62-bdfa-4755-99ff-27b41ae15f8e - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - - - - - - 2099 - 432 - 130 - 20 - - - 2165.5 - 442 - - - - - - - - true - Whether or not to show the robot's visual meshes. - c1185abb-238e-4598-900e-cbac1a2e9669 - show_visual - show_visual - true - 0 - true - 0 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 2099 - 452 - 130 - 20 - - - 2165.5 - 462 - - - - - - - - true - Whether or not to show the robot's collision meshes. - ec57634c-4874-4bfd-bc85-840904926923 - show_collision - show_collision - true - 0 - true - 0 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 2099 - 472 - 130 - 20 - - - 2165.5 - 482 - - - - - - - - true - Whether or not to show the robot's joint frames. - 4bc05eb3-d395-4247-b709-35710f05a79e - show_frames - show_frames - true - 0 - true - 0 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 2099 - 492 - 130 - 20 - - - 2165.5 - 502 - - - - - - - - true - Whether or not to show the robot's base frame. - 334dec4c-9185-4694-9df7-39683213b8ba - show_base_frame - show_base_frame - true - 0 - true - 0 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 2099 - 512 - 130 - 20 - - - 2165.5 - 522 - - - - - - - - true - Whether or not to show the robot's end-effector frame. - b5d02631-1abc-408b-be0b-6a53b35682cb - show_end_effector_frame - show_end_effector_frame - true - 0 - true - 0 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 2099 - 532 - 130 - 20 - - - 2165.5 - 542 - - - - - - - - true - Whether or not to show the collision meshes (if any). - 80e42d5b-dd06-4f35-b133-79c6d8bb6a4a - show_cm - show_cm - true - 0 - true - 0 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 2099 - 552 - 130 - 20 - - - 2165.5 - 562 - - - - - - - - true - Whether or not to show the attached collision meshes (if any). - cc5ebb26-2a3b-4d4b-aa57-74d218dbecc4 - show_acm - show_acm - true - 0 - true - 0 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 2099 - 572 - 130 - 20 - - - 2165.5 - 582 - - - - - - - - Rhino meshes of the robot's visual geometry (if any). - 7f7fd577-e404-444a-89e6-e671c0441dfe - visual - visual - false - 0 - - - - - - 2259 - 392 - 93 - 28 - - - 2305.5 - 406.2857 - - - - - - - - Rhino meshes of the robot's collision geometry (if any). - e25bb43b-3294-4618-a0a1-5a872926cb0e - collision - collision - false - 0 - - - - - - 2259 - 420 - 93 - 29 - - - 2305.5 - 434.8571 - - - - - - - - Rhino meshes of the scene's collision meshes (if any). - cfd3df76-e496-49b5-b60b-bed9b110aea2 - collision_meshes - collision_meshes - false - 0 - - - - - - 2259 - 449 - 93 - 28 - - - 2305.5 - 463.4286 - - - - - - - - Rhino meshes of the scene's attached collision meshes (if any). - b0a234a2-f5f6-407f-b3d8-9be8e5b61f69 - attached_meshes - attached_meshes - false - 0 - - - - - - 2259 - 477 - 93 - 29 - - - 2305.5 - 492 - - - - - - - - The robot's joint frames as Rhino planes (if any). - fa874a3f-277f-4757-bdef-29a9552c258e - frames - frames - false - 0 - - - - - - 2259 - 506 - 93 - 28 - - - 2305.5 - 520.5714 - - - - - - - - The robot's base frame as a Rhino plane (if any). - 9b0a5e76-dd9b-4275-ae96-ebd44287a050 - base_frame - base_frame - false - 0 - - - - - - 2259 - 534 - 93 - 29 - - - 2305.5 - 549.1429 - - - - - - - - The robot's end-effector frame as a Rhino plane (if any). - c52e959f-7d6f-4b5e-96d1-9da9b7ac65f4 - ee_frame - ee_frame - false - 0 - - - - - - 2259 - 563 - 93 - 29 - - - 2305.5 - 577.7143 - - - - - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - COMPAS FAB: Attached Collision Mesh - - - - - """ -Add an attached collision mesh to the robot. - -COMPAS FAB v0.28.0 -""" - -from compas_rhino.conversions import mesh_to_compas -from ghpythonlib.componentbase import executingcomponent as component - -from compas_fab.robots import AttachedCollisionMesh -from compas_fab.robots import CollisionMesh - - -class AttachedCollisionMeshComponent(component): - def RunScript(self, scene, mesh, identifier, link_name, touch_links, add, remove): - attached_collision_mesh = None - if scene and mesh and identifier and link_name: - compas_mesh = mesh_to_compas(mesh) - collision_mesh = CollisionMesh(compas_mesh, identifier) - attached_collision_mesh = AttachedCollisionMesh(collision_mesh, link_name, touch_links) - if add: - scene.add_attached_collision_mesh(attached_collision_mesh) - if remove: - scene.remove_attached_collision_mesh(identifier) - scene.remove_collision_mesh(identifier) - return attached_collision_mesh - - Add an attached collision mesh to the robot. -COMPAS FAB v0.28.0 - true - true - 2 - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAG4SURBVEhLtZO/S0JRFMfdIlqEpqBBoqVBsK2GoCloCYegMf8EHVtKaA8hEocIIYpokMaGIIfoBwYJCkFECDqUk0RrnL7fl/d23+uIJq8DH3jn+979nnvPOzciIv+KKoaJKoaJKoaJKoaJKpLJnasoSIEsSGrfDIIvgVEMpEEZSIAOKII/FfMlJ/W3g42LZ5nbrwTNPZYOH6Rw35LSY3vNXYeIgiJYdHXvnZssH1WLM3s3kjl/kuPaq2xdvsjqaU1275pSqLS8At1i1oimoAyYEBaK2vfmgWAh+213zJPU2x82N4zNr9AkC866piQJ0qADGgMVINfNji8nI9OzxtRQtobf7fo5oXkgWDxsgQbw2oLwTmY8hyoAvB0i2P8cYML/wEJ8zhrPYAGOKUfRmrkFJjZLn+Pr2xxh+xMJIgXYexZJ+N65iYEGIB3P376zwFQmL6PxBToRGsW0dRqqGARh2mCwPe6HKgZBcDK4c7fIr0uloYoaCPbZLVDVvguiikEQCcCJMVNi4EhS73kaVXRB8Ia6pr3Iqes10QXBXbpGvbC32bdeE10QbA/nux8pdb0mhokqhodEvgBXEJju+phgNQAAAABJRU5ErkJggg== - - false - 5279808a-6bd1-467c-ace6-de7eaf64d121 - true - true - COMPAS FAB: Attached Collision Mesh - COMPAS FAB: Attached Collision Mesh - - - - - - 1224 - 898 - 222 - 144 - - - 1302 - 970 - - - - - - 7 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 1 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - The planning scene. - 6f294db5-2134-4e20-9080-26e82d334522 - scene - scene - true - 0 - true - 42f083c4-c365-4dff-a020-fb2cb2a55f89 - 1 - 87f87f55-5b71-41f4-8aea-21d494016f81 - 2 - - - - - - 1226 - 900 - 61 - 20 - - - 1258 - 910 - - - - - - - - true - A collision mesh. - 9bfa115e-7085-446d-847d-0e420b54aabd - mesh - mesh - true - 0 - true - fb96cc69-4e0a-44c0-954d-324ccdcba70f - 1 - 794a1f9d-21d5-4379-b987-9e8bbf433912 - - - - - - 1226 - 920 - 61 - 20 - - - 1258 - 930 - - - - - - - - true - The identifier of the collision mesh. - 26f7c52f-e962-4f9a-939c-a3ae11aad2c8 - identifier - identifier - true - 0 - true - d2173b4a-9de4-40cc-af6b-333d79a04a94 - 1 - 37261734-eec7-4f50-b6a8-b8d1f3c4396b - - - - - - 1226 - 940 - 61 - 20 - - - 1258 - 950 - - - - - - - - true - The robot's link name to attach the mesh to. - 37202be9-5a79-4c2b-b5ff-74e7bd4b944a - link_name - link_name - true - 0 - true - 7807c1c9-5064-44f7-8831-0e95c2d1f05c - 1 - 37261734-eec7-4f50-b6a8-b8d1f3c4396b - - - - - - 1226 - 960 - 61 - 20 - - - 1258 - 970 - - - - - - - - 1 - true - Names of links that the robot is allowed to touch. - 92c7db92-2b3b-409f-b9d9-9052374c302c - touch_links - touch_links - true - 1 - true - 7807c1c9-5064-44f7-8831-0e95c2d1f05c - 1 - 37261734-eec7-4f50-b6a8-b8d1f3c4396b - - - - - - 1226 - 980 - 61 - 20 - - - 1258 - 990 - - - - - - - - true - If True, adds the collision mesh to the planning scene. - ee023235-a36d-47be-912f-213f301fc5a4 - add - add - true - 0 - true - 89d7b441-8a3f-4c38-98f1-4c9fd3a914d2 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1226 - 1000 - 61 - 20 - - - 1258 - 1010 - - - - - - - - true - If True, removes the collision mesh from the planning scene. - 0de0e045-68a5-441c-a233-f25ec7177ff4 - remove - remove - true - 0 - true - 398e1b3c-d787-4dc6-b78f-5c1dd777df55 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 1226 - 1020 - 61 - 20 - - - 1258 - 1030 - - - - - - - - A collision mesh that is attached to a robot's link. - e86749ba-fa33-4454-9de1-7f796591a41b - attached_collision_mesh - attached_collision_mesh - false - 0 - - - - - - 1317 - 900 - 127 - 140 - - - 1380.5 - 970 - - - - - - - - - - - - - - 410755b1-224a-4c1e-a407-bf32fb45ea7e - 00000000-0000-0000-0000-000000000000 - COMPAS FAB: ROS Connect - - - - - """ -Connect or disconnect to ROS. - -COMPAS FAB v0.28.0 -""" - -from ghpythonlib.componentbase import executingcomponent as component -from scriptcontext import sticky as st - -from compas_fab.backends import RosClient -from compas_fab.ghpython.components import create_id - - -class ROSConnect(component): - def RunScript(self, ip, port, connect): - ros_client = None - - ip = ip or "127.0.0.1" - port = port or 9090 - - key = create_id(self, "ros_client") - ros_client = st.get(key, None) - - if ros_client: - st[key].close() - if connect: - st[key] = RosClient(ip, port) - st[key].run(5) - - ros_client = st.get(key, None) - is_connected = ros_client.is_connected if ros_client else False - return (ros_client, is_connected) - - Connect or disconnect to ROS. -COMPAS FAB v0.28.0 - true - true - 2 - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAHWSURBVEhLtZQ9juJAEEa5AXMD9gZwA3wEbgARIXADHBBMgkCrlQghJGNuwNwAwslAIpkMh5v1fq/WzTaeYki8LT1hf/Xb3WUaIYT/iivWiSvWiSvWiSs6ZOJNPFuF2IgfwmKriTyW1+s1TKfT0G63FdF4SLfbDev1WiFWaEC8lzBlQvKYmF8KeYzH49Bqtcyv3+8r1FbHSxp5EQVdEZR09v4Nlhx/iqJ5iSODw+GQOh8FRT3fSEdYU81mU4++k3I2stVq9UFiCpxOp9Dr9ew54V3kolp0yW7x2e/3dwZDa4NxNpv9jgW4h+FwiE5C4PmITZzFbWpEbom9AloDDGJTFMXrbrczx/L8GdNH/hwfGrs5x3ugsWoA3ZzLd87TzpLpwFmLIj3Bd2GMRqNfWZaF7Xb7U+/HeG/cg1aRJn/BIPKoibe4CwotFgvb9iMY1ejLvWlN0gIdjGISNcGWjwTHGX8GnZfJ+aKl/EsmuzmZIYEiaIHtV7tOKRPzrdxOIU1EAZsgwfne2QSFOH+CDQZhPp9/5nkeLpfLUtqXuPuXv/dQlEUYx+wbmCCGAl/73/H4KmimBR8RL8+gmYfJwRVBi0Je5ze8uCquWCeuWCeuWCeuWB+h8Qe29eD9QdtraQAAAABJRU5ErkJggg== - - false - 73a8457f-3d5f-46f9-aa4c-f85d75d08a1c - true - true - COMPAS FAB: ROS Connect - COMPAS FAB: ROS Connect - - - - - - 204 - 335 - 153 - 64 - - - 267 - 367 - - - - - - 3 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 84fa917c-1ed8-4db3-8be1-7bdc4a6495a2 - 2 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - 8ec86459-bf01-4409-baee-174d0d2b13d0 - - - - - true - The ip address ROS. Defaults to 127.0.0.1. - caeae7c5-2f1c-4a3e-ab26-dcca1485d773 - ip - ip - true - 0 - true - 0 - 37261734-eec7-4f50-b6a8-b8d1f3c4396b - - - - - - 206 - 337 - 46 - 20 - - - 230.5 - 347 - - - - - - - - true - The port of ROS. Defaults to 9090. - f79146f6-adbc-47bf-8d42-bca8f42255b4 - port - port - true - 0 - true - 0 - 48d01794-d3d8-4aef-990e-127168822244 - - - - - - 206 - 357 - 46 - 20 - - - 230.5 - 367 - - - - - - - - true - If True, connects to ROS. If False, disconnects from ROS. Defaults to False. - 1ae038f5-2888-48fb-bfad-d3ed1d39155c - connect - connect - true - 0 - true - 029d0009-dc73-46ab-8603-1f39dc276f38 - 1 - d60527f5-b5af-4ef6-8970-5f96fe412559 - - - - - - 206 - 377 - 46 - 20 - - - 230.5 - 387 - - - - - - - - The ROS client. - 15eb41b8-7f37-46ff-8223-2f539f9b5493 - ros_client - ros_client - false - 0 - - - - - - 282 - 337 - 73 - 30 - - - 318.5 - 352 - - - - - - - - True if connection established. - b94b75ca-3410-4cb5-a9ec-fffddf9d36c1 - is_connected - is_connected - false - 0 - - - - - - 282 - 367 - 73 - 30 - - - 318.5 - 382 - - - - - - - - - - - - - - - - - - - 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 - - - - - \ No newline at end of file diff --git a/docs/examples/03_backends_ros/files/05_grasshopper_collision_objects.jpg b/docs/examples/03_backends_ros/files/05_grasshopper_collision_objects.jpg deleted file mode 100644 index aa7cc50810c3059ad659c6c7592d803d3a6e82f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110974 zcmeFZ2V9femNy)_bU})A1q76)R23wm(nLg%-eN;agoyMSiu5L+ARtY8mtG}wP^34h zfgrsl)BquQAMZV$b3EtFoqOl|X1;m9naIOW^6awKUVE>-)_<+N310~_pp&oPeOv`3q9gGP0Mi zT)lZqNm)fz?e={gT|IpRL!-w}%%56VT3OpWI667IxVrhh^bZIO3J!^mdHp6f?rnU+ z`}B;=tn8fJywbAripr|$n%d@;*0%PJ&QG5Q28V`6M!$}Y&!XnO%`Yr2Ew5mIrq$C&Sbh_hcA`;D)05Df_tAUqNV5Eyi% z7a|-tRBvu)kvnD7lHDQE*hCX;!o>eZZ|NifrJ5q}~$v0BQ#adbzNV_i+MVoJQiT zBiHIJa7Q@Amn()}wM^iDB(&MyodCLC2glLC@X{(j28pv^O{fU`2QvS_#F01~0i-|x ziEq>Wt3xVBB^>!jGXKB@zN;PHi|E3&yh-wB?jV4Ert^K zN4f~|^MngnZ67UFPCpWx^jLz=Vd^e|w|^7W6~l@D3A6eC&RMX+PXN7o3Euszx$x#u zbu6Z0xjvWxDqY7apFVo*EKC61InIOq8weXn8y<)&jU4|dP`|2A07V7r0ZMz70D7NZoZ3kM zO{b(EQ%B5eUh(9>W5Kg3?;3#Z&4UM>Jgm`ma_9bGU3mG6B>;kG;Pdig9j-k-5;fCO`srktdCo4@a`@85w-Ah}PIF zp=07otpZgNHSI`c3N@MCZFExjh5yK3NHy_{Yu6-OF;hrvl1V;WQH!~CHY~wGE~^s#-_z&9v=bX&KL$I|I&K8uld&F*@h)N$?{I_ z<0ygfC*g1U19V@1V_2c(=UI7706D-ffc`8LC6MF~&a{4!=lPv`e<8j9`hqG_UFFY_ zu5j#Y1$&A(SmKQaOzED8Ond#xZcngFV_g)ix2;_!^@#RL$a)^V9V0dxZq zhCsg>h99sul;cMt@orRI7>ZU}l4iYN$0BHgSGe_>*3%&|ZPKSy2Hri_dzeyE1tQnq zscaQ@;93BR;Qt;)%N+2~WQKZ-K>F;2CX*FwGT-2=EUTMz#g4XF(`hPa`Lk6y2ZPa| zgSa7GFtLX%IV%8$$kw!QsQcSRUmZpjk!NhCs+|v1NExOh*TVq5 zYY3pX?s^_+|6Z@V*?Z;i?LMvJLLS@>6Z{zp{KgBsz&)b!3H}GE<>1GFM$;he5Ui>- z0v8T3fS>uKaYnyH$T>Pt8SP5TY{{ti`FN=5eoE4bY=Ke;F!*l%&(^8`?F4Pr;q)O84~G$}wFJ;o&T2ojrviR(+7WiRfjGQy z^^hj=c=-_ASG}QMoP>CWI5p8V+e?j8@Vw0>g6+}`8QEB|iaqDsE});(b;<`vl3c^v z5L`?$)Ic`rarZcF7jepE`)1jY{MoE!JF8meqzV2{l4Y>ir(vhc118g*@3jm@mbRV$ zoWjpiIygUy7SpeY@;Q=m2~|Qv+BJh9G&?r8+xJ_xJLQ$qI5=L$@<-fzk0QIE%E4pH zdZkgIh9}?<+I^M$(e%+dqdb$0CF6E_*Qv$c?SdSVPeTDtTx?kK-J1SlFOn}D>eqyjFlkeKQ z6xYGd(+uHWaS}F1kp*ghWVtG_UgZjF@BT6FT`Lu^bpaO{_i!GV5!#SL>LS>ue9t zz(z?k3)?NIu^ma?B66T*zxY(%1KYG}k`n550;hpVY4((DI)pX#(z;wKU$zNv+cC;4 zk7Hd>pia9k^KCxy%L~n#A{g?1=IN%}%dVU7RZqE7c}Cnwj4;YMT)H-IZ-+ z^wJ2nSD9b9@;rWIoN<@z&oc*=-WLZD0xH~tgVm-#T{=cFc>>&0IhYQ zB+sP28>nE0(uyOw(s&Ta$>v0#OLVSV7@5~YxNoy*<;p5$X5x10XB=l_!jot1t{ZJ#B~?B zt2sQ;S641X??rixjt-0rcI_gf?jF9Y!Ny_i0ejKUiwm1=T8-ZA@Y|&qK_XmG$z=;g)Xow_LrXpWJ?^-vn6Cuf73 zny%H3_VJUGGDMlWxb!f-HeEMIpmb~_L+6fj%D;1p8&wv} zN8`0*5w2>RD*XTppMgg-(2TD(u=aZ~V;`er;_aM84#7dv)QJX}CE@s$yU|(8GRe=g zYZhNoJj9U9K*A~_{SdScLhC#E$dguPg5@L9kF##lhL^q%u6li);cnkjJx!%#$oAvi zWJA-s3DbRqCYJqVO{kH6D=Y*|-yrKE*_?b0(dYP4ww=M$6+FgLOl_b+MR9?ev-SnK zam+hR7~>!c+)4n2CCg)ys#?}nZlX5>>jgc=4Px}lpm9SRgS^+Doh~ zh0&ia`iM%2t&kdymj%DBD8C}+I_N?+cgtEFfE7{50^h@g93B8u%hTfQPkBtM>)7lc5F2R z3onQpm_NCcx;~O~y4<6jGz$qzC|-}6i!6nXQ?0Vp>bwx`o=z}Vs(4C%df2|D_)|^Y z%;D%`U2LD>9H~+L+}`7Z@#kdNB8XT*98V>8R#4rKi0q;HSuw zs|XqgO#sL}>3CEqt3BxO@v#Kxtut(p96C=m-JG^+%;enAw zI2-h~Vb$BVYok5|w&|>W#+}N{9ACuD?;#~#Ijt`}S8~(zhFf?(TAhWp0j4GP4XZj} z_vAww8cLF{Fg{Z`6V`GTlpNvx=JI8(+EI?j=nhnY0_&g$2SqcOc=_;6UYj*u?(NuQ z3%_L}o5Gj=cYWw%ykcUV`!wff-NW6qgdK(Xey!ecGK(y7K z^LS;1yrOfV^{e>kf$oS?&mQ1i!DpJ_7dcBQaoapeTA;ytw+HyysM+NkvK4A|}GE-0_YntF{ zI>s}i7Z7ze>x*zK_^h>lAD+*{3>%C|@4%l%ujBo)ExFl-MMu=@R$mOdikv656;wj+Yd-_Oy#Mlff^>k_Bfi{Uj`8fr0}+Eu*Xe)4TXI(Pw~aL( zT9{jo9%iM#5EUt8ZuNTRZ`fmi&dZ5db8Sw4aLU^Oh(|zh8uH=dP1oIIgT*DWa~j~D z>ea_W_u@p=3~_*u!ui^n_kAW{`gvmH@IJ|u0B{q#PXN6shc`E1lYoFhFDcN7IuJVe zJl=AoP7T!YBY@7jtM32P)xhN+5WQIN7QGesHyvG5cO?wMcgJ`NW;P(NFfRI1!`@vi zys+C|>SXGd=z|yIH`ufk9|s6hJ*RAx$#m}ws;8l$sycB^nTk_?s(a#9Hilj%)L69;cWra{(x&f zJYw#)MT>jVn6|jkXE3QF2o=&rY_)}(8Q3y5cS0v1f?c(~8uvOefNP+N{6fc%=k1VR zD7yKKw^4qE>=XXXRf|agx@t;R;CETXH(eFSM+^%u+FMf&>K5nqHD@@~tQ{>O?`@Tamp-Iui7bf3;mbzprv<6o z6Zf516Z+s5NMJh~0&YQqhw)Fs+OiM;cwNd+XKD ziX_qZbL32E$Z`R^pxJSWH|v0yRpI7AvSf~jG$tjuz(cpdTBer#4N5~zs(QUVkxSWX zP4la*(X5eiY^4hA*%vQ^?zY`JIu;%m&4@2VL0_t73(*8~#OXeJL2{CkZPO=3QDaJZ zMeKH8q9?}+*N|<7gv|~t$62e^TL7ti80g56Lu|9#hJ(SdrCobsP{F5ZU-Z))5K5lSUj*$38!`yrL51o)%)5wh?8(qF-z zKYf>_h|dD=t88Tto*{tl^Bkog+#^|f9|98k2haH*t6VcnV_)T{3)cox0J->Ry?z=FsYO0M;!<-Xl8 zvYbUkONUX4t?xx9DbMuq-AnH}6XuXIR*8R73b*KJFpNbhZ;_iRQRRJ`izU(_86x9; zla%iwt~k0jFnAw5os=`)Avwv<>U8OIsBpB|^@0rYb8ll;)D$YZIt${mXAr#*IetKC zh}L=O;p;c{rRrUelw3*xg~&E;%Io4G6KE$BV?)D89T4^ChB@oipD`x@TTIiF-C+vS_)L-A-!xF@cumebAu zcnfQ@xzJtUs*|&nP%E0zqwfglq#=L^)0v8M2p1!*h*C*|k zV^($E7aqeQBeBZ1hg`@uSO|5V$2rVy%B$5y7nn}uxj^?T(Dq_4Q7ELWw++JVA&QO3 zMTBiiy{xJmtiPFM*g+bnHz+V880w-E<>pb-3$ahfP`R=K_Erer*J<1`# zitv+eWs(TAGPQ7hj3b`a3}NXVGqTE?u98+i7?)15LE~zReI{> zonjTDyZMD~cR#@nEgiJ)9&!faqyt~Vm$(Yy$RId&od-R_4XoT$rwRZnI15C=E7qm- z2VUsm;VpQ|VT(z$I5QA(W$p8j&9jy{R4%r&gWB+y+~l{rAm@Kh_pPcb=^Q_a&-lmu zJx%mx=#F|JR0mTPBhZEfI0;~R1xKl?DTjP5y%iWrfg+$JXL+5RM^tO`nGuY6-s zY~`F_n+D^W^8Y3dvx5nJ{={)!Py5;lem&>4>=_=cF8(a0I52h8(G+^SV$i`Zt0P}? z@tS{CVy;a^cuC56I#lWoGGcgUVQ6*h{1r2>UHGjvPp*a%d7FG|BXNJ}Ybt8K!uhM0 z!<#3*WWLOMDVf?tVSna9cIqR^s5a|OK)vUGET3#LI!u=I#N2E(LWI1JYjN`|D&!i8 zDwwp4Dr^lB!}shlq?t>Kh}RklG(E_+yvKcU!$^Z?P8S={!!f0<-cZdhPy%YEx-<9nl-#sFYi^Xr2J^^0(!6k#tt9>`!DOvpXzA!!)Rj6}r)+ z!af|XcJrX7uQi-hX?Ezi#wsI)HyPbC2)gb}D+xA-RW_*{c4}F{b7?mcA78oh+1oO% zrHi{84)_+r*$bmLUdPpWr3@o9#bsP0!ZCAgZh@_c69%5KJ)6x5+th5f=^qSe3zr6y z*XPs{b~9f4@hDp7kj!<9yp&DDF^|Bc>3tL^hc<1WHXssP_To;Nn5sUBHl(3yOA78{ zbmf2dZX~m+1%ATNCD`!@PPOz3nwR6J6M5I));HrRKewgnSA$QAy;OFCA(`~vV$U2W zjKjfgwGHvJM^7Sz>V++!*#ZeAd87=HJ2xeY*&1IzPHjXL+1!>0bAX|dfC)lZ7envp zK0b~FuWA}Y)W2d@!4dFNK4?;!~Go zkwuj}A;^=vk)h*RG4EZjo4KgmZn$bb^(E!0GNWgb`F2?Qj;f!8GAaD=v)oDkgAdna z@eEv`iHe$jsX-DWvE)Zb{O%g1i_cEC%a_EwT#|6ft3uM@&gHozgBi`R5T!Z{lilf4 z`YD?J8zT}0nWSyb{ukCRy?Yq6VRg-E8@F?mo{iUN*tUUmZH;ca;W@Z(G$>#;gA$wd zAma&Mi6|hML)E+tQIe=uQ|{Y#H(oxUsh>KYZ0UX=J!d}WOB&`28g7ft1Q0XCrKR!E zD>FB<-Yt2#un6B-@S(i#3%avEpHY`BU4)3=`#S%e6ahqwyM|8jD_CEbqNlMO=gO>K zccfvrd8xO|^u?cDN#`EP>vQUKs{9Uxi5wiJVw1*W#y72O+1@D;lbU{Mdpkq(q>M$d zhJQb6d>K$yaQ9H->|@xmm;d?>EH6&K?`z}Wqz327;^}C8s`Pg+G}IS#;w+#suyoIx z4dFW{{A=1R69mx0y6~>&xw-o~Tz1q1{I`-N~0I=L5 ziNiN60PubHi`^j)Fc4+tMC|U%;sc;7Wt%fMM|Uiq^u&e;6$eTFrTP5btllmJKz}Y{ zd|fdhpb$kOIfaf zX6uy(0%A(sx8U2|@XaWQo3%oSMHCNi8*=nb>zfJzBtMEjU;_PWA1HD%Y{czD_Yt+% z$kcv&e|SFmmljlhsSFqcf6+c*-N*l0>$mO!E8s6W{m*Ii$&Waid=L;F0em+kZ@TXZ z+*<<33E==gv6D*q-<0sb7~)^OrXQoOW3R~Fe^dcjR(wPENO$i4#$zNe_+SCC-^bDO_uf28lAV!w*W%+Xq2JzvA`aUpbjlJ2fN(~g;p>bKcYXSYc4@MG zuZ6!rqO)*BfNKQ~0L*JGAX}?d-}on7#BS7%J$XNuA$(R7bFu|J>(GCawDg_~(Y1(ktEKvypz~a!bYKo0Lm#o@;`aCXJRqbntS=)8w7N z31|JqG}S-depSif@n1~@9pX>C?O_{D49e=48cBvmG}i_(!YwJMdSXw+1b#5&6S{@HJnu)vmSN3Pvvxg@k5p|)R*hF+pi96s$gBQzN@n-Avm4G zqQU~D_m;I4yVL$a#OGM%&^X^bP_uzm^lW@;aDu*`BlWyDv9c^@w1PH^t^Bn9(e66=N80Fcay50E~z<^-_ZF~owfP)vUZwXeVRG> zbQFfCWt!JhddJ4B#c*(!8k(3RElj=YS~zybW#A5jz+#J@Jvh~#YpeA&<5{DRubQ>gU_Sx0j!aJUID{yt_deOFJ1WlJ zC4k7Mv)|*i(aynAR~!ok+iJOU(_1cA#M~<#N=uj$kh5cpGRU$2s9>_V!2P~LUJez` z)6Oo>Ug?)_uAwaf7x zebUrRd=aXsNXBm3Iu#B!zNjG4#s?jREc(z50_YQ54srKB`BY3*aV!B8qvp|*cn|w& zM)cg~z)?G%v()q2O*7HMnQ1{J2FEN8&YOrTXY={E6p*sT!8LA)2GvAfa%# z?y^0Wwz($Bc+YVdR=ndhBvR<1_2f`2K6Axs+oeutAYG+`w&tbYQvXysiwKMEjT2Y+ z6ddAPxPFVxQD)LRe@r_wqAB7g??GKG-JP#-ScC?R(soqxvzSsE~ z>G?_YqUT59+psM)NB0A$=+P(93Y_S{)Nvb<+43GXyQOMe2iIoLJs_dOc!H1LKFsHx zQ?X3hsJH_C($)5~LUj?N>#wt-(z>4u)->mIZog2RHSoR&`nE1e(uY$*b&EGU39RaV z3>c81;XQTxRQL0Ym!vyAmy*Yd$ts7X!JHn-7|wCMs;m{a!tgp{ql{Pbm38MXTudiT zJxy8z3bP>cX8xp`Ujzv{TJxhYW(#~LJoYeV!KNs0TyWq}U|-!fyPsXG0*LhS_G*{B z*06GB>^>E-(!z(?%iH%7?^}}&Do-qgYE}-LYf8wm6{Q-uw>&4SIiV;(}bp#M~def*Gkh%NP zPYpwtgc9Y1G-Z8qeLvme$aG(w-_CoZxWefmr@QCIyBUl=V%FN_qKgWiu?%%g>SFBF zyWYDlC637~s>)r7HDepx&0pTJslDZFZ)Ua596nYp z%3nzOtY>!Y(){cVLD6w2JfK0cvQ|OlNIdW<=00=)DtH5W5Re=)qGnzJ_(vwH45Y~x zV+Z2AHbhn74rPd4K#lHA#}3V}0qJ1~G;93yq{maVBO=7(QYySzFpm^Weymd#2dig22K5F8krH*Ge5P?}+LO}stsZ}qA1Z67ti+o72R5XB*||MHCP z;!Ww#W1TVJ7BF+U^00?^o=UD!$Jqe$@%}DSzdSV#P$yEWS1Zaa9Uvcn9Z0JiokSk8 z6(`|Ha^cNG$7u?JINd?{OYXCplu*o=k--G8)GVrpp7@`L#-Q+AV~v8b6oT(Y`xJ;u zDm@t=jbJVvnM}UsK}v5vePdxvb~j@<5x(G9Ij)gp&I~zH7{z<00fGF-I3av5;C!c8 z!Z*JH;P`=rI+HH^HzPOw_a%wj{y|MpiIVlaS zAD>CNc*bN?KKk1eZ^{E4s{FB<_R8+1yq%KGx?k{R*Ux{)m$xHB;}rNq4ba3caD$2g zZBLh*PE|6|J%W*IgOx3%me>PLisw@w0GF9^SZrOq{;KSl?7nbvA^=Wrr?k?uV2|2( zC~-=K%MEAx%Y~^66&JS6KUOGuRhGKOopGJwGU!Kmrq+ zz*&Ws==tG21Zs2v!Q?6UomJZsOg`!vdm1_`Jk0NDZJ1>6)2}L%59WAoe4W&=Glz+`0Vuuda7L9FXL~EL{_~j`OjHL`Y>BqSAB$%G|^b9#N=CgV8N+ozg}jwM)_05>`)|a`=dLuQBG{xX62^lZXnmCZX1&d}$oV zjCGgw6?NoTT{5p4mW~wLIAmj&Q7xi$isBQ}{7g-kz1^<)9*7`3WWO!8j@(cvV{LVL zXGS~Y`Hqj4C3yPNl<1RBRs9WV0KWe9;KpyTx`}f;;BSOVVkq!!-Rj>}SW&T~9fF+$ zFEZLnf5hr2eta(4`^w>p0uQkE=pcvRL(?~Hj?ce> z=SCj)<8pU8!9yMRCA<#k@ZXA<{rLXhi=6!~A^;He9l9sZD$F!o9XDM_%rWk8e&|X) zF=_l+qEz{_?(4`Kl*~O|-3ov|=l>7|V|8)ka@HLw&o`A+V}IsWj<^46>{=TzVKBkA z^=jh+y#{vO^hvacWzQM|(~~kz&^3)0$TGkIET;3ggCT$-rRiy`)$$FD46U3bOmBqo zS!o;ZJqWu_S8cZ~rnBt}ZR+8pf0T$VP760S*bkrHvEBb3G-;5U7ns^KJe>B)bV=xb zwi_B}E``NSk)>m`T4I$DR>J}5Q zfE4-^$C5WOUp(tlpu7y#@0ck*6bNE9#d0mK#Rb({6uT5PtB1P#Smh~Z7g+XvDfKxD zRqYaHrfLc`w-4in)=n94^J0T%VHDHjW2@8W2Bg&MGF(O1cR8?y-{S9?k1>B`p}NBF zke&y5?ku{5rv@TwJ5zFZ2X?q5H3oOa*rCG4a+gsdBg%AaD5ZN0LDAQ5d*9vLmA-!y zYcaD)-NJuW)?ezH02_aVeniLJ0A`EuFHt2_>E}#hDN6VwtVSCY&^?KEIf~9G(F-Fs z3gk8Q5zwWm!nAvt8LwClm?&--%m8VnI<>Ol9$=IxSQ9beI3=r7GQ^c$R$EpdVOeB) zlf_`nAdv6zH!-`CkF;`Cn-uB*_@1G_i-pe8pT7P8Fc#iJpC?9Eyxrxx%Hc2hhH_zc z2zPYdbm}>1*_3@&hp3SgBpmk<8$Zh>168%f>AoNDcD zqEAAN4$}P_nS+P;$`6i!l8xcLdbmLB z-!L#6APv)ai)U6P7P&o)IE!Zj0l3yL1+?a?aJ#Thxc_$m?8kf8A2q&%Wj_jV|7SM2 z{EPa@`N3?uuguot<5kc8uWp_~#BTrH=ml_@A7k{pQT;_B{yL^AQa0sYyA4}=-09=q zg8xNB`PZcVvjfPP(zZ#x!YzX}Ms<^@y)|AjijB8}+OAC~@7*Ad`N}zy+&By$3+!Mq z6A5-Wg8dTKXY8v7!!sa82fT7Q=Z5Y?vf_5aag8WV)TDh6wETxmtGO)Z1pO2!J#HcD zFmb^mJ3)@&7Y2lG6>;C|(|GaX(RB#ab&-bE_VEMN%e}o8ryVa?SLr;|yJ~Vs@!h6@ z&(<`M16HgepywNnQ-GtDI9b_7qkB9J?AZ0Jc#gyw*fA3a7)J&q zB?D(iTkJh(fm1Mk76g!Y6&PpjeQnj#V;-~8VOEXd33lM(P%?ey(sH|^M6w~tLnB6c z%U{9G_*#ic!1Hv(|^N6NcUB{dT89ilD+Xea5Zf zD1nj1{$#vE$t~!qr;pX6h+cdp)?Q$U6}hOe`{Yk7L}G1WK8T%r&j9R`Wf3@!dq31p z4>E#Gxp4IH<{=Qe>3*w)#xBwkWg82m$q7UJGZTmC0mI-PZ)Ez z-gX3hRUaMb$8SiRELyf}xbDRiyCkB#5-Eb}Puk3&$Im49XlPHX_S8i6JA?Xe`ri1g zQzmozd^p_w^D4ZOwYiwmI%b($0K?~EVODWgY$xgVXUF6*G~LL!zor?R;hO-e=o9?Q z4_4u;?~fVQ6PJ)?)IhML8!d|up-sUPPXcgi9{7*KRi$?W5*W~sKXR${r>da+!W~#K z*`LM1gPuf^z?V|TfJ4EefQ;Bvfi?l_EfBEYY0nNFlEeil3gB@<<#=X>ScG!mM#uuwv0Ery2@+s-pxE9eon1c^@Ji{|7Y8-=zbUM zU%zo_szOERnR1P^LHGt1Z!2Nm9p_Yi96M)0i2(V3cNWYE+c0oi3p2%a7 zTFDvm^K0-dOFw*x;UTboKjE3+unyqhIT%gyZYKR`0Ej0YlPS~*!>E_09Y=AuMOFoXgG2!5K zw0PM_7|7-SiHkqba^wZx-UP~fbN&k>JZo9B`V$jB(enE-m7w3fL;%%--#8|p`)Rogx71sBrO+!}UX2T$ z?Y1fJzS)wXb4fD|>$bJWk|3O<+F4+e_Pl__GJ=DGMmUB!QH51=OvrfQ*1UszFOFa3 zXb0YW3yv@Y{1ocw!RL@Q9(G&4Gw^2C0t>*+@mz+_+8M+95OWY5?`|YsshDMH@fs4( z$aj1Qp5+B2i%$TaY#U(F0***H9346WK46K&n&=^S#Id7*68ZQTIG1NxOELvyr~<{) z|5g+I=MsNzB{cPyezrElr!QfYV{0`QqFhnJqQv8J@w@KDG#y!8j*NL}%1=J((VphE z;yq_YN$u^%ZGmTHt~#d1O9KNXZUA^+MvL{PC=5#yNe$Qlp;|6CX96D z>tu`)(}kGx?J}LGA4G+ndVOdZA=8lUobT1|wx)2#omQ~9@-WlSI{5trvbVsM92zV# zvLO59WaZcAZKkD$&#BrE8Y@`WX>&AqUaIx4i6|FKPE1c)U(I+mKB2*hqVQ$&ucOQo zuj^9T@@TB*{3f0v8&WSds%{4iO=LJ}msjmu;hE!SM9)72>7qqTS|5lZ>yT^mY!5`vFOZOyK!0eNDPSk=h=)n@R|Vo(3mpo)3#!@n0@`lVhy-=B*7p^f)T^glYO-`tBBy@M

(_c@d;;w4Zw?F@6TzR(m?lyi%D~-D}5}h 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 diff --git a/docs/examples/05_backends_pybullet/01_pybullet_examples.rst b/docs/examples/05_backends_pybullet/01_pybullet_examples.rst deleted file mode 100644 index e19135c0f..000000000 --- a/docs/examples/05_backends_pybullet/01_pybullet_examples.rst +++ /dev/null @@ -1,70 +0,0 @@ -.. _pybullet_examples: - -******************************************************************************* -Using PyBullet -******************************************************************************* - -First Step -========== - -The first step is to connect to PyBullet and verify that the system is working. - -Copy and paste the following example into a Python script or REPL. If, when run, -you see the output ``Connected: True``, then everything is working properly. - -.. code-block:: python - - from compas_fab.backends import PyBulletClient - with PyBulletClient(connection_type='direct') as client: - print('Connected:', client.is_connected) - -.. note:: - - From the PyBullet user manual: - The GUI connection will create a new graphical user interface (GUI) with 3D OpenGL - rendering, within the same process space as PyBullet. On Linux and Windows this GUI - runs in a separate thread, while on OSX it runs in the same thread due to operating - system limitations. On Mac OSX you may see a spinning wheel in the OpenGL Window, - until you run a 'stepSimulation' or other PyBullet command. - -Our first example loads the UR5 robot from a URDF and then adds, then removes, a -floor as a collision mesh. The calls to ``sleep`` are only necessary to prevent the -gui from closing this example too quickly. - -.. literalinclude :: files/01_add_collision_mesh.py - :language: python - -.. raw:: html - -

- -Adding and removing a collision mesh attached to the end effector link of the -robot is similar. Again, the calls to ``sleep`` and ``step_simulation`` exist only -to make the GUI rendering smoother. Note that it is required to load the geometry -of the robot before calling methods which add and remove attached collision meshes. - -.. literalinclude :: files/01_add_attached_collision_mesh.py - :language: python - -.. raw:: html - -
-
-
Downloads
- -* :download:`Add Attached Collision Mesh (.PY) ` - -.. raw:: html - -
-
- diff --git a/docs/examples/05_backends_pybullet/02_forward_and_inverse_kinematics.rst b/docs/examples/05_backends_pybullet/02_forward_and_inverse_kinematics.rst deleted file mode 100644 index 8cc6c3501..000000000 --- a/docs/examples/05_backends_pybullet/02_forward_and_inverse_kinematics.rst +++ /dev/null @@ -1,38 +0,0 @@ -******************************************************************************* -Forward and inverse kinematics -******************************************************************************* - -Forward kinematics -================== - -The forward kinematics function calculates the pose of the robot's -end-effector from joint states. This means the state of each joint in the -articulated body of a robot needs to be defined. - -Joint states are described in **COMPAS FAB** with the -:class:`compas_fab.robots.Configuration` class. - -Below we demonstrate calculating the forward kinematics for a UR5 robot. -(Note: Since the PyBullet server has the capacity to load multiple robots, -which robot the forward kinematics are being calculated for must be specified.) - -.. literalinclude :: files/02_forward_kinematics.py - :language: python - - -Inverse kinematics -================== - -Inverse kinematics is the inverse function of forward kinematics. The -inverse kinematics function calculates the joint states required for the -end-effector to reach a certain target pose. - -Here is an example of such a calculation using PyBullet: - -.. literalinclude :: files/02_inverse_kinematics.py - :language: python - -It is also possible to request multiple inverse kinematic solutions: - -.. literalinclude :: files/02_iter_inverse_kinematics.py - :language: python diff --git a/docs/examples/05_backends_pybullet/files/01_robot_cell_basics.py b/docs/examples/05_backends_pybullet/files/01_robot_cell_basics.py deleted file mode 100644 index 5df2b1526..000000000 --- a/docs/examples/05_backends_pybullet/files/01_robot_cell_basics.py +++ /dev/null @@ -1,30 +0,0 @@ -from compas.datastructures import Mesh - -import compas_fab -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner -from compas_fab.robots import RobotCell -from compas_fab.robots import RigidBody - -with PyBulletClient() as client: - - # Create a robot cell - robot_cell = RobotCell() # Typically RobotCell is initialed with a Robot, but here it is empty for simplicity - - # Add some RigidBodies as stationary obstacles - floor_mesh = Mesh.from_stl(compas_fab.get("planning_scene/floor.stl")) - robot_cell.rigid_body_models["floor"] = RigidBody.from_mesh(floor_mesh) - cone = Mesh.from_stl(compas_fab.get("planning_scene/cone.stl")) - robot_cell.rigid_body_models["cone"] = RigidBody.from_mesh(cone) - - # Add a target marker as a RigidBody with visual mesh but no collision mesh - target_marker = Mesh.from_obj(compas_fab.get("planning_scene/target_marker.obj")) - robot_cell.rigid_body_models["target_marker"] = RigidBody(target_marker, None) - - # The planner object is needed to pass the robot cell into the PyBullet client - planner = PyBulletPlanner(client) - planner.set_robot_cell(robot_cell) - - # No RobotCellState is passed in this example, so the rigid bodies are added to the PyBullet world's origin - # The floor and cone should appear in the PyBullet's GUI - input("Press Enter to continue...") diff --git a/docs/examples/05_backends_pybullet/files/01_robot_cell_with_tools.py b/docs/examples/05_backends_pybullet/files/01_robot_cell_with_tools.py deleted file mode 100644 index 5995cb28e..000000000 --- a/docs/examples/05_backends_pybullet/files/01_robot_cell_with_tools.py +++ /dev/null @@ -1,69 +0,0 @@ -from compas.datastructures import Mesh - -import compas_fab -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner -from compas_fab.robots import RobotCell -from compas_fab.robots import RobotCellState -from compas_fab.robots import RigidBody -from compas_fab.robots import RobotCellLibrary -from compas.geometry import Frame -from compas.geometry import Box -from compas_robots import ToolModel - -with PyBulletClient() as client: - # --------------------------------------------------------------------- - # Create a robot cell and add objects to it - # --------------------------------------------------------------------- - robot_cell, robot_cell_state = RobotCellLibrary.abb_irb4600_40_255() - - # Add Static Collision Geometry - floor_mesh = Mesh.from_stl(compas_fab.get("planning_scene/floor.stl")) - robot_cell.rigid_body_models["floor"] = RigidBody.from_mesh(floor_mesh) - - # Add Tool - tool_mesh = Mesh.from_stl(compas_fab.get("planning_scene/cone.stl")) - tool_frame = Frame([0, 0, 0.14], [1, 0, 0], [0, 1, 0]) - robot_cell.tool_models["cone"] = ToolModel(tool_mesh, tool_frame) - - # Add workpiece at tool tip - workpiece_mesh = Box(1.0, 0.1, 0.2).to_mesh(triangulated=True) - robot_cell.rigid_body_models["workpiece"] = RigidBody.from_mesh(workpiece_mesh) - - # ------------------------------------------------------------------------ - # Create a RobotCellState to represent the current state of the robot cell - # ------------------------------------------------------------------------ - - # Change the robot's configuration for demonstration purposes - configuration = robot_cell.zero_configuration() - configuration.joint_values[1] = 0.5 # Change the second joint angle to 0.5 [rad] - robot_cell_state.robot_configuration = configuration - - # Attach the tool to the robot's main group - robot_cell_state.set_tool_attached_to_group("cone", robot_cell.main_group_name) - - # Attach the workpiece to the tool - workpiece_grasp_frame = Frame([0, 0, 0.1], [1, 0, 0], [0, 1, 0]) - robot_cell_state.set_rigid_body_attached_to_tool("workpiece", "cone", workpiece_grasp_frame) - - # The planner is used for passing the robot cell into the PyBullet client - planner = PyBulletPlanner(client) - planner.set_robot_cell(robot_cell) # or planner.set_robot_cell(robot_cell, robot_cell_state) - planner.set_robot_cell_state(robot_cell_state) - - # ------------------------------------------------------------------------ - # Change the robot_cell_state and observe the effect in the PyBullet GUI - # ------------------------------------------------------------------------ - - # Typically the robot_cell_state is passed to the - # planning functions such as planner.plan_motion(start_state, target), or - # visualization functions such as robot_cell_scene_object.update(robot_cell_state). - # In this example, we are directly calling set_robot_cell_state() to see the effect, - # which can be seen in the PyBullet GUI. - - input("Observe the PyBullet GUI, Press Enter to continue...") - - for i in range(10): - robot_cell_state.robot_configuration.joint_values[1] += 0.1 - planner.set_robot_cell_state(robot_cell_state) - input("Observe the PyBullet GUI, Press Enter to continue...") diff --git a/docs/examples/05_backends_pybullet/files/02_forward_kinematics with_tools.py b/docs/examples/05_backends_pybullet/files/02_forward_kinematics with_tools.py deleted file mode 100644 index 00c95742a..000000000 --- a/docs/examples/05_backends_pybullet/files/02_forward_kinematics with_tools.py +++ /dev/null @@ -1,43 +0,0 @@ -from compas.datastructures import Mesh - -import compas_fab -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import TargetMode -from compas_fab.robots import RobotCellState -from compas_fab.robots import RigidBody -from compas_fab.robots import RobotCellLibrary -from compas.geometry import Frame -from compas.geometry import Box -from compas_robots import Configuration -from compas_robots import ToolModel - -# Starting the PyBulletClient with the "direct" mode means that the GUI is not shown -with PyBulletClient("direct") as client: - - # Load a pre-made robot cell with one tool from the RobotCellLibrary - robot_cell, robot_cell_state = RobotCellLibrary.ur5_cone_tool() - - # The planner is used for passing the robot cell into the PyBullet client - planner = PyBulletPlanner(client) - planner.set_robot_cell(robot_cell) - - # --------------------- - # Compute FK with tools - # --------------------- - # The input configuration used for the forward kinematics is provided through the RobotCellState - robot_cell_state.robot_configuration.joint_values = [-2.238, -1.153, -2.174, 0.185, 0.667, 0.0] - - # To retrieve the tool frame, the TargetMode.TOOL is used - print("Frame of the attached tool TCF in World Coordinate Frame:") - print(planner.forward_kinematics(robot_cell_state, TargetMode.TOOL)) - - # To retrieve the Planner Coordinate Frame, the TargetMode.ROBOT is used - print("Frame of the Planner Coordinate Frame PCF in World Coordinate Frame:") - print(planner.forward_kinematics(robot_cell_state, TargetMode.ROBOT)) - - # It is also possible to retrieve the PCF by requesting with the end effector link name - ee_link_name = robot_cell.robot.get_end_effector_link_name() - print("Frame of the T0CF (name='{}') in World Coordinate Frame:".format(ee_link_name)) - print(planner.forward_kinematics_to_link(robot_cell_state, ee_link_name)) diff --git a/docs/examples/05_backends_pybullet/files/02_forward_kinematics.py b/docs/examples/05_backends_pybullet/files/02_forward_kinematics.py deleted file mode 100644 index b8ad255a0..000000000 --- a/docs/examples/05_backends_pybullet/files/02_forward_kinematics.py +++ /dev/null @@ -1,39 +0,0 @@ -import compas_fab -from compas_robots import Configuration -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner -from compas_fab.robots import RobotCell -from compas_fab.robots import RobotCellState -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import TargetMode - -# Starting the PyBulletClient with the "direct" mode means that the GUI is not shown -with PyBulletClient("direct") as client: - - # The robot in this example is loaded from a URDF file - robot_cell, robot_cell_state = RobotCellLibrary.ur5() - - # The planner object is needed to call the forward kinematics function - planner = PyBulletPlanner(client) - - # ---------------- - # FK without tools - # ---------------- - # This is a simple robot cell with only the robot - planner.set_robot_cell(robot_cell) - - robot_cell_state.robot_configuration.joint_values = [-2.238, -1.153, -2.174, 0.185, 0.667, 0.0] - - # In this demo, the default planning group is used for the forward kinematics - frame_WCF = planner.forward_kinematics(robot_cell_state, TargetMode.ROBOT) - - print("Robot flange frame of the default planning group in the world coordinate system:") - print(frame_WCF) - print(" ") - - # --------------------------------- - # FK for all the links in the robot - # --------------------------------- - for link_name in robot_cell.get_link_names(): - frame_WCF = planner.forward_kinematics_to_link(robot_cell_state, link_name) - print("Frame of link '{}' : {}".format(link_name, frame_WCF)) diff --git a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics.py b/docs/examples/05_backends_pybullet/files/02_inverse_kinematics.py deleted file mode 100644 index dbe2eb167..000000000 --- a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics.py +++ /dev/null @@ -1,39 +0,0 @@ -from compas.geometry import Frame -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner - -from compas_fab.robots import FrameTarget -from compas_fab.robots import RobotCell -from compas_fab.robots import RobotCellState -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import TargetMode - -with PyBulletClient() as client: - # Create a robot cell with a UR5 robot - robot_cell, robot_cell_state = RobotCellLibrary.ur5() - - planner = PyBulletPlanner(client) - planner.set_robot_cell(robot_cell) - - # The FrameTarget represents the robot's planner coordinate frame (PCF) - # For the UR5 robot, the PCF is equal to the frame of the 'tool0' link - frame_WCF = Frame([0.3, 0.1, 0.5], [1, 0, 0], [0, 1, 0]) - target = FrameTarget(frame_WCF, TargetMode.ROBOT) - config = planner.inverse_kinematics(target, robot_cell_state) - - print("Inverse kinematics result: ", config) - - input("Observe the IK result in PyBullet's GUI, Press Enter to continue...") - - # To verify the IK result, we can compute the FK with the obtained joint positions - robot_cell_state.robot_configuration.merge(config) - frame_WCF = planner.forward_kinematics(robot_cell_state, TargetMode.ROBOT) - print("Forward kinematics result (main group): \n ", frame_WCF) - - # The result is the same as the 'tool0' link's frame - frame_WCF = planner.forward_kinematics_to_link(robot_cell_state, "tool0") - print("Forward kinematics result: (tool0 link): \n ", frame_WCF) - - # However, note that the 'flange' link's frame has a different orientation - frame_WCF = planner.forward_kinematics_to_link(robot_cell_state, "flange") - print("Forward kinematics result: (flange link): \n ", frame_WCF) diff --git a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_errors.py b/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_errors.py deleted file mode 100644 index 0ee9d53e3..000000000 --- a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_errors.py +++ /dev/null @@ -1,53 +0,0 @@ -from compas.geometry import Frame -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner - -from compas_fab.robots import FrameTarget -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import RigidBodyLibrary -from compas_fab.robots import RigidBodyState -from compas_fab.robots import TargetMode - -from compas_fab.backends.exceptions import InverseKinematicsError - -with PyBulletClient() as client: - - # Load a pre-made robot cell with one tool from the RobotCellLibrary - robot_cell, robot_cell_state = RobotCellLibrary.ur10e_gripper_one_beam() - planner = PyBulletPlanner(client) - - # Load a target marker for illustration - target_marker = RigidBodyLibrary.target_marker(0.5) - robot_cell.rigid_body_models["target_marker"] = target_marker - planner.set_robot_cell(robot_cell) - - # Choose TargetMode.WORKPIECE for the FrameTarget to directly specify the beam's location - beam_target_point = [0.0, 0.5, 0.01] - frame_WCF = Frame(beam_target_point, [0, 0, -1], [-1, 0, 0]) - robot_cell_state.rigid_body_states["target_marker"] = RigidBodyState(frame_WCF) - target = FrameTarget(frame_WCF, TargetMode.WORKPIECE) - - # ---------------------------------------------- - # Example 1: IK without collision checking - # ---------------------------------------------- - - # The target is causing the attached beam to collide with the floor. - # However, if the planner does not check for collisions, it will returns a solution. - options = {"check_collision": False} - config = planner.inverse_kinematics(target, robot_cell_state, options=options) - input("Observe the IK result in PyBullet's GUI, Press Enter to continue...") - - # ---------------------------------------------- - # Example 2: Enable collision checking in the IK - # ---------------------------------------------- - try: - # Enable the check_collision mode via options - options = {"check_collision": True, "max_results": 1000} # Default is True - config = planner.inverse_kinematics(target, robot_cell_state, options=options) - except InverseKinematicsError as e: - # The planner will try many times but still unable to find a solution - # after "max_results", it will return InverseKinematicsError. - print(e) - print(e.message) - print(e.target_pcf) - input("Observe the IK result in PyBullet's GUI, Press Enter to continue...") diff --git a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_multiple_solutions.py b/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_multiple_solutions.py deleted file mode 100644 index 47ba5f0cc..000000000 --- a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_multiple_solutions.py +++ /dev/null @@ -1,35 +0,0 @@ -from compas.geometry import Frame -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner - -from compas_fab.robots import FrameTarget -from compas_fab.robots import RobotCell -from compas_fab.robots import RobotCellState -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import TargetMode - -with PyBulletClient() as client: - # This example uses the panda robot, which has 7 joints. - # When given a FrameTarget, the robot will have multiple inverse kinematics solutions. - robot_cell, robot_cell_state = RobotCellLibrary.panda() - - # Set RobotCell using the planner function - planner = PyBulletPlanner(client) - planner.set_robot_cell(robot_cell) - - # Create target - frame_WCF = Frame([0.5, 0.1, 0.5], [1, 0, 0], [0, 1, 0]) - target = FrameTarget(frame_WCF, TargetMode.ROBOT) - - # The following demonstration shows that calling inverse_kinematics() - # multiple times with exactly the same input will return different solutions - # This can also be achieved by calling the function iter_inverse_kinematics() - while True: - # Verbose is set to True to show the collision checking process - config = planner.inverse_kinematics(target, robot_cell_state, options={"verbose": True}) - if config is None: - break - # Note that the result are all unique because a uniqueness filter is built-in to the planner - # The uniqueness tolerance can be adjusted with the options parameter - print("Inverse kinematics result: ", config.joint_values) - input("Observe the IK result in PyBullet's GUI, Press Enter to find next solution...") diff --git a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_point_axis_target.py b/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_point_axis_target.py deleted file mode 100644 index b944be882..000000000 --- a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_point_axis_target.py +++ /dev/null @@ -1,44 +0,0 @@ -from compas.geometry import Frame -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner - -from compas_fab.robots import PointAxisTarget -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import TargetMode - -with PyBulletClient() as client: - - # Load a pre-made robot cell with one tool from the RobotCellLibrary - robot_cell, robot_cell_state = RobotCellLibrary.abb_irb4600_40_255_printing_tool() - planner = PyBulletPlanner(client) - planner.set_robot_cell(robot_cell) - planner.set_robot_cell_state(robot_cell_state) - # Observe the starting configuration in PyBullet's GUI - input("Observe the IK result in PyBullet's GUI, Press Enter to continue...") - - # Create a PointAxisTarget to represents the tool's coordinate frame (TCF) - target_center_point = [0.5, 1.5, 0.2] - target_z_axis = [0.2, 0.2, -1] # Slightly tilted - target = PointAxisTarget(target_center_point, target_z_axis, TargetMode.TOOL) - - # Options for planning with PointAxisTarget - # See documentation of PyBulletInverseKinematics._iter_inverse_kinematics_point_axis_target() for more options - options = {"num_rotation_steps": 20, "max_random_restart": 5} - config = planner.inverse_kinematics(target, robot_cell_state, options=options) - print("Inverse kinematics result: ", config) - input("Observe the IK result in PyBullet's GUI, Press Enter to continue...") - - # The planner automatically plans such that the tool's tip is at the target's center point - # The following `iter_` method will return all possible configurations that can reach the target - # In PyBullet's GUI, notice the tool's tip stays at the same location, only the orientation changes - total_results = 0 - for config in planner.iter_inverse_kinematics(target, robot_cell_state): - total_results += 1 - print("Inverse kinematics result: ", config) - input("Observe the IK result in PyBullet's GUI, Press Enter to continue...") - - # The total number of results is affected by many factors. - # Firstly, the degree of freedom of the robot. - # Secondly, the reachability of the target and the presence of collision objects limits the number of results. - # Finally, planning options such as the number of random restarts, the number of rotation steps, etc. - print("Total results: ", total_results) diff --git a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_point_axis_target_check_collisions.py b/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_point_axis_target_check_collisions.py deleted file mode 100644 index 4f5bf62e2..000000000 --- a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_point_axis_target_check_collisions.py +++ /dev/null @@ -1,52 +0,0 @@ -# This example demonstrates the ability of PointAxisTarget to search a valid -# configuration around collision objects - -from compas.geometry import Frame -from compas.geometry import Box -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner - -from compas_fab.robots import PointAxisTarget -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import TargetMode -from compas_fab.robots import RigidBodyState -from compas_fab.robots import RigidBody - -with PyBulletClient() as client: - - # Load a pre-made robot cell with one tool from the RobotCellLibrary - robot_cell, robot_cell_state = RobotCellLibrary.abb_irb4600_40_255_printing_tool() - planner = PyBulletPlanner(client) - - # Add a collision object to the robot cell - box = Box.from_corner_corner_height([0.0, 0.0, 0.0], [0.1, 0.2, 0.0], 2.0) - rigid_body = RigidBody.from_mesh(box.to_mesh()) - robot_cell.rigid_body_models["box"] = rigid_body - - planner.set_robot_cell(robot_cell) - - # Create a PointAxisTarget to represents the tool's coordinate frame (TCF) - target_center_point = [0.5, 2.0, 0.2] - target_z_axis = [0, 1.0, -1.0] # Tilted Axis - target = PointAxisTarget(target_center_point, target_z_axis, TargetMode.TOOL) - - # Set the position of the box near the target - robot_cell_state.rigid_body_states["box"] = RigidBodyState( - Frame([0.15, 1.5, 0.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0]) - ) - - # Run the IK function without collision checking, note the the robot's wrist is in collision with the box - options = {"check_collision": False} - config = planner.inverse_kinematics(target, robot_cell_state, options=options) - input("Observe the IK result in PyBullet's GUI, Press Enter to continue...") - - # Run the IK function with collision checking, the planner will search for a different pose around the box - options = {"check_collision": True} - config = planner.inverse_kinematics(target, robot_cell_state, options=options) - print("IK result with collision checking:", config) - input("Observe the IK result in PyBullet's GUI, Press Enter to continue...") - - # Using iter_inverse_kinematics to explore all possible configurations around the box - for config in planner.iter_inverse_kinematics(target, robot_cell_state, options=options): - print("IK result:", config) - input("Observe the IK result in PyBullet's GUI, Press Enter to continue...") diff --git a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_semi_constrained.py b/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_semi_constrained.py deleted file mode 100644 index 88e5934e5..000000000 --- a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_semi_constrained.py +++ /dev/null @@ -1,87 +0,0 @@ -# This example demonstrates the semi-constrained mode of the PyBullet Inverse Kinematics (IK) solver. -# The semi-constrained mode will cause the IK solver to only the target's point position and ignore the target's orientation. -# It is only possible to use a Target with TargetMode.ROBOT in this mode. - -from compas.geometry import Frame -from compas.geometry import distance_point_point - -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner - -from compas_fab.robots import FrameTarget -from compas_fab.robots import RobotCell -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import RigidBodyLibrary -from compas_fab.robots import RobotCellState -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import TargetMode - -# NOTE: The semi-constrained IK mode cannot be used with tools - -with PyBulletClient() as client: - # Create a robot cell with a UR5 robot - robot_cell, robot_cell_state = RobotCellLibrary.ur5() - - # Add a target marker to visualize the target - robot_cell.rigid_body_models["target_marker"] = RigidBodyLibrary.target_marker(size=0.15) - - planner = PyBulletPlanner(client) - planner.set_robot_cell(robot_cell) - - # The initial configuration changes the IK result - start_configuration = robot_cell.robot.zero_configuration() - - # Note that the semi-constrained IK mode only accepts ROBOT mode. - frame_WCF = Frame([0.3, 0.1, 0.5], [1, 1, 0], [0, 0, 1]) - target = FrameTarget(frame_WCF, TargetMode.ROBOT) - - # Place the target marker at the target's frame - robot_cell_state.rigid_body_states["target_marker"].frame = frame_WCF - - print(" ") - - # ============================= - # IK with semi-constrained mode - # ============================= - - config = planner.inverse_kinematics(target, robot_cell_state, options={"semi-constrained": True}) - - print("Inverse kinematics result: ", config) - - result_state = robot_cell_state.copy() # type: RobotCellState - result_state.robot_configuration = config - - # Perform forward kinematics to verify the result - fk_frame = planner.forward_kinematics(result_state, TargetMode.ROBOT) - print("Forward kinematics frame: \n", fk_frame) - distance_to_target = distance_point_point(fk_frame.point, target.target_frame.point) - assert distance_to_target < PyBulletPlanner.DEFAULT_TARGET_TOLERANCE_POSITION - print( - "Distance to target: {} is smaller than DEFAULT_TARGET_TOLERANCE_POSITION({})".format( - distance_to_target, PyBulletPlanner.DEFAULT_TARGET_TOLERANCE_POSITION - ) - ) - - # The FK result above shows that only the position of the frame matches with the target at Point(x=0.300, y=0.100, z=0.500) - # The orientation of the frame is arbitrary - - input("Observe the IK result in PyBullet's GUI, Press Enter to continue...") - print(" ") - - # ============================= - # IK in normal operation - # ============================= - - config = planner.inverse_kinematics(target, robot_cell_state) - - print("Inverse kinematics result: ", config) - - result_state = robot_cell_state.copy() # type: RobotCellState - result_state.robot_configuration = config - - # Perform forward kinematics to verify the result - fk_frame = planner.forward_kinematics(result_state, TargetMode.ROBOT) - print("Forward kinematics frame: \n", fk_frame) - - # The FK result above shows that the position and orientation of the frame matches with the target - input("Observe the IK result in PyBullet's GUI, Press Enter to continue...") diff --git a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_with_tools.py b/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_with_tools.py deleted file mode 100644 index 51a5acafb..000000000 --- a/docs/examples/05_backends_pybullet/files/02_inverse_kinematics_with_tools.py +++ /dev/null @@ -1,42 +0,0 @@ -from compas.geometry import Frame -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner - -from compas_fab.robots import FrameTarget -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import TargetMode - -with PyBulletClient() as client: - - # Load a pre-made robot cell with one tool from the RobotCellLibrary - robot_cell, robot_cell_state = RobotCellLibrary.ur5_cone_tool() - planner = PyBulletPlanner(client) - planner.set_robot_cell(robot_cell) - - # Create a FrameTarget to represents the tool's coordinate frame (TCF) - target_center_point = [0.0, 0.5, 0.5] - frame_WCF = Frame(target_center_point, [1, 0, 0], [0, 0, -1]) - target = FrameTarget(frame_WCF, TargetMode.TOOL) - - config = planner.inverse_kinematics(target, robot_cell_state) - - print("Inverse kinematics result: ", config) - - input("Observe the IK result in PyBullet's GUI, Press Enter to continue...") - - # The planner automatically plans such that the tool tip point stays on the target frame - # In PyBullet's GUI, notice the tool's tip stays at the same location, only the orientation changes - - frame_WCFs = [] - frame_WCFs.append(Frame(target_center_point, [1, 1, 0], [0, 0, -1])) - frame_WCFs.append(Frame(target_center_point, [0, 1, 0], [0, 0, -1])) - frame_WCFs.append(Frame(target_center_point, [-1, 1, 0], [0, 0, -1])) - frame_WCFs.append(Frame(target_center_point, [-1, 0, 0], [0, 0, -1])) - frame_WCFs.append(Frame(target_center_point, [-1, -1, 0], [0, 0, -1])) - frame_WCFs.append(Frame(target_center_point, [0, -1, 0], [0, 0, -1])) - - for frame_WCF in frame_WCFs: - target = FrameTarget(frame_WCF, TargetMode.TOOL) - config = planner.inverse_kinematics(target, robot_cell_state) - print("Inverse kinematics result: ", config) - input("Observe the IK result in PyBullet's GUI, Press Enter to continue...") diff --git a/docs/examples/05_backends_pybullet/files/02_iter_inverse_kinematics.py b/docs/examples/05_backends_pybullet/files/02_iter_inverse_kinematics.py deleted file mode 100644 index 3c3bdef37..000000000 --- a/docs/examples/05_backends_pybullet/files/02_iter_inverse_kinematics.py +++ /dev/null @@ -1,26 +0,0 @@ -import compas_fab -from compas.geometry import Frame -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner - -from compas_fab.robots import FrameTarget -from compas_fab.robots import RobotCell -from compas_fab.robots import RobotCellState -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import TargetMode - - -with PyBulletClient(connection_type="direct") as client: - robot_cell, robot_cell_state = RobotCellLibrary.ur5() - planner = PyBulletPlanner(client) - planner.set_robot_cell(robot_cell) - - frame_WCF = Frame([0.3, 0.1, 0.5], [1, 0, 0], [0, 1, 0]) - target = FrameTarget(frame_WCF, TargetMode.ROBOT) - - options = {"max_results": 20} - result_count = 0 - for config in planner.iter_inverse_kinematics(target, robot_cell_state, options=options): - print("Found configuration", config) - result_count += 1 - print("Found %d configurations" % result_count) diff --git a/docs/examples/05_backends_pybullet/files/03_check_collision.py b/docs/examples/05_backends_pybullet/files/03_check_collision.py deleted file mode 100644 index 14bd40c13..000000000 --- a/docs/examples/05_backends_pybullet/files/03_check_collision.py +++ /dev/null @@ -1,74 +0,0 @@ -import time - -import compas_fab -from compas_robots import Configuration -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner -from compas_fab.robots import RobotCell -from compas_fab.robots import RobotCellState -from compas_fab.robots import RobotCellLibrary -from compas_fab.backends import CollisionCheckError - -with PyBulletClient("gui") as client: - planner = PyBulletPlanner(client) - print("Observe the Pybullet GUI window to see the robot cell state being checked") - - # The robot cell is loaded from RobotCellLibrary - robot_cell, robot_cell_state = RobotCellLibrary.ur10e_gripper_one_beam() - planner.set_robot_cell(robot_cell) - - # --------------------------------------------- - # Example 1 - No collision - # --------------------------------------------- - - # This configuration is not in collision - robot_cell_state.robot_configuration.joint_values = [0, -1.5, 2.0, 0, 0, 0] - - # The following check_collision should pass without raising an exception - start = time.time() - planner.check_collision(robot_cell_state) - print("Time taken for collision check: {}".format(time.time() - start)) - input("Press Enter to continue...\n") - - # --------------------------------------------- - # Example 2 - Collision between beam and floor - # --------------------------------------------- - - robot_cell_state.robot_configuration.joint_values = [0, -1.0, 2.0, 0, 0, 0] - - # The following check_collision should raise an exception - try: - planner.check_collision(robot_cell_state) - except CollisionCheckError as e: - print("\nCollision detected: \n{}".format(e)) - input("Press Enter to continue...\n") - - # --------------------------------------------- - # Example 3 - Multiple Collisions - # --------------------------------------------- - - robot_cell_state.robot_configuration.joint_values = [0, -0.8, 2.0, 0, 0, 0] - - # The following check_collision should raise an exception - # The `full_report` option will return all failed collision pairs in the exception message - try: - planner.check_collision(robot_cell_state, options={"full_report": True}) - except CollisionCheckError as e: - print("\nCollision detected: \n{}".format(e)) - input("Press Enter to continue...\n") - - # --------------------------------------------- - # Example 4 - Verbose Mode - # --------------------------------------------- - - robot_cell_state.robot_configuration.joint_values = [0, -0.7, 2.0, 0, 0, 0] - - # The following check_collision should raise an exception - # The `full_report` option will print all failed collision pairs` - try: - planner.check_collision(robot_cell_state, options={"verbose": True, "full_report": True}) - except CollisionCheckError as e: - print("\nCollision detected: \n{}".format(e)) - input("Press Enter to continue...\n") - - # The verbose action will print all tested collision pairs diff --git a/docs/examples/05_backends_pybullet/files/04_plan_cartesian_motion_frame_waypoints.py b/docs/examples/05_backends_pybullet/files/04_plan_cartesian_motion_frame_waypoints.py deleted file mode 100644 index 534c11d07..000000000 --- a/docs/examples/05_backends_pybullet/files/04_plan_cartesian_motion_frame_waypoints.py +++ /dev/null @@ -1,49 +0,0 @@ -import compas_fab - -from compas.geometry import Frame -from compas_robots import Configuration -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner -from compas_fab.robots import FrameWaypoints -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import TargetMode - -from _pybullet_demo_helper import trajectory_replay - -with PyBulletClient("gui") as client: - planner = PyBulletPlanner(client) - - # The robot cell in this example is loaded from RobotCellLibrary - robot_cell, robot_cell_state = RobotCellLibrary.ur5_cone_tool() - planner.set_robot_cell(robot_cell) - - # --------------------------------------------- - # Plan Cartesian Motion with FrameWaypoints - # --------------------------------------------- - - # The starting robot configuration is set in the robot cell state - robot_cell_state.robot_configuration.joint_values = [-2.238, -1.153, -2.174, 0.185, 0.667, 0.0] - # FrameWaypoints can hold more than one target frame - target_frames = [] - # Move to X direction and move back - target_frames.append(Frame([0.6, 0.1, 0.5], [1.0, 0.0, 0.0], [0.0, -1.0, 0.0])) - target_frames.append(Frame([0.4, 0.1, 0.5], [1.0, 0.0, 0.0], [0.0, -1.0, 0.0])) - # Move to Y direction and move back - target_frames.append(Frame([0.4, 0.3, 0.5], [1.0, 0.0, 0.0], [0.0, -1.0, 0.0])) - target_frames.append(Frame([0.4, 0.1, 0.5], [1.0, 0.0, 0.0], [0.0, -1.0, 0.0])) - # Move to Z direction and move back - target_frames.append(Frame([0.4, 0.1, 0.7], [1.0, 0.0, 0.0], [0.0, -1.0, 0.0])) - target_frames.append(Frame([0.4, 0.1, 0.5], [1.0, 0.0, 0.0], [0.0, -1.0, 0.0])) - waypoints = FrameWaypoints(target_frames, target_mode=TargetMode.TOOL) - - # In this demo, the default planning group is used for the forward kinematics - trajectory = planner.plan_cartesian_motion(waypoints, robot_cell_state) - - print("Planned trajectory has {} points.".format(len(trajectory.points))) - for i, point in enumerate(trajectory.points): - print("- JointTrajectoryPoint {}, joint_values: {}".format(i, point.joint_values)) - - # ------------------------------------------------ - # Replay the trajectory in the PyBullet simulation - # ------------------------------------------------ - trajectory_replay(planner, robot_cell_state, trajectory) diff --git a/docs/examples/05_backends_pybullet/files/04_plan_cartesian_motion_interpolation_settings.py b/docs/examples/05_backends_pybullet/files/04_plan_cartesian_motion_interpolation_settings.py deleted file mode 100644 index 182000619..000000000 --- a/docs/examples/05_backends_pybullet/files/04_plan_cartesian_motion_interpolation_settings.py +++ /dev/null @@ -1,65 +0,0 @@ -import compas_fab - -from compas.geometry import Frame -from compas_robots import Configuration -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner -from compas_fab.robots import FrameWaypoints -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import TargetMode - -from _pybullet_demo_helper import trajectory_replay - -with PyBulletClient("gui") as client: - planner = PyBulletPlanner(client) - - # The robot cell in this example is loaded from RobotCellLibrary - robot_cell, robot_cell_state = RobotCellLibrary.ur5_cone_tool() - planner.set_robot_cell(robot_cell) - - # The starting robot configuration is set in the robot cell state - robot_cell_state.robot_configuration.joint_values = [-2.238, -1.153, -2.174, 0.185, 0.667, 0.0] - - # The following waypoint will cause the tool tip to rotate for 45 degrees and rotate back - target_frames = [] - target_frames.append(Frame([0.4, 0.1, 0.5], [1.0, 1.0, 0.0], [1.0, -1.0, 0.0])) - target_frames.append(Frame([0.4, 0.1, 0.5], [1.0, 0.0, 0.0], [0.0, -1.0, 0.0])) - waypoints = FrameWaypoints(target_frames, target_mode=TargetMode.TOOL) - - # ------------------------------------------------------- - # Example 1 - Plan Cartesian Motion with default settings - # ------------------------------------------------------- - # The following trajectory will have very few points because rotation around Z axis has virtually no distance - trajectory = planner.plan_cartesian_motion(waypoints, robot_cell_state) - - print("Example 1: Planned trajectory with default settings has {} points.".format(len(trajectory.points))) - - # -------------------------------------------------------- - # Example 2 - Controlling max_step_angle - # -------------------------------------------------------- - - # Increasing the `max_step_angle` will cause the planner to have finer steps in the interpolation - options = {"max_step_angle": 0.017} # Roughly 1 degree - trajectory = planner.plan_cartesian_motion(waypoints, robot_cell_state, options=options) - # The frame is rotated by 90 degrees in total, so the trajectory should have roughly 90 points - print("Example 2: Planned trajectory with max_step_angle=0.017 has {} points.".format(len(trajectory.points))) - - # -------------------------------------------------------- - # Example 3 - Controlling max_jump_revolute - # -------------------------------------------------------- - - # An alternative is to increase the `max_jump_revolute` parameter - # This will cause the planner to insert more points in the interpolation because the planned - # configuration has too much distance to the next point - - options = {"max_jump_revolute": 0.087} # Roughly 5 degrees - # This means between each point, no revolute joint will move more than 5 degrees - trajectory = planner.plan_cartesian_motion(waypoints, robot_cell_state, options=options) - print("Example 3: Planned trajectory with max_jump_revolute=0.1 has {} points.".format(len(trajectory.points))) - - # ------------------------------------------------ - # Replay the trajectory in the PyBullet simulation - # ------------------------------------------------ - # The following code only serves demonstration purposes - # User can step through the trajectory points by pressing 'Enter' key - trajectory_replay(planner, robot_cell_state, trajectory) diff --git a/docs/examples/05_backends_pybullet/files/04_plan_cartesian_motion_point_axis_waypoints.py b/docs/examples/05_backends_pybullet/files/04_plan_cartesian_motion_point_axis_waypoints.py deleted file mode 100644 index 8d440ca70..000000000 --- a/docs/examples/05_backends_pybullet/files/04_plan_cartesian_motion_point_axis_waypoints.py +++ /dev/null @@ -1,84 +0,0 @@ -import compas_fab - -from compas.geometry import Frame -from compas.geometry import Point -from compas.geometry import Box -from compas.geometry import Vector -from compas_robots import Configuration -from compas_fab.backends import PyBulletClient -from compas_fab.backends import PyBulletPlanner -from compas_fab.robots import PointAxisWaypoints -from compas_fab.robots import PointAxisTarget -from compas_fab.robots import RobotCellLibrary -from compas_fab.robots import TargetMode -from compas_fab.robots import RigidBody -from compas_fab.robots import RigidBodyState -from compas_fab.backends import MPNoPlanFoundError -from compas_fab.backends import MPNoIKSolutionError - -from _pybullet_demo_helper import trajectory_replay - -with PyBulletClient("gui") as client: - planner = PyBulletPlanner(client) - - # The robot cell in this example is loaded from RobotCellLibrary - # The printing tool TCP is defined with its Z axis pointing out of nozzle - robot_cell, robot_cell_state = RobotCellLibrary.abb_irb4600_40_255_printing_tool() - - # Add a box (without collision geometry) for demonstration visualization - # Printing tool will trace a square around this box - # box_size = 0.6 will demonstrate a successful planning - # box_size = 0.8 will demonstrate a failure because it is out of reach - box_size = 0.6 - box = Box.from_corner_corner_height([1.0, 1.0, 0], [1.0 + box_size, 1.0 + box_size, 0], 0.50) - rigidbody = RigidBody(box.to_mesh(True), None) - robot_cell.rigid_body_models["box"] = rigidbody - robot_cell_state.rigid_body_states["box"] = RigidBodyState(Frame.worldXY()) - - planner.set_robot_cell(robot_cell) - # -------------------------------------- - # ------- - # Plan Cartesian Motion with FrameWaypoints - # --------------------------------------------- - - # Perform IK to get the initial configuration - first corner of box - first_target = PointAxisTarget(Point(1.0, 1.0, 0.5), Vector(0.5, 0.5, -1.0), TargetMode.TOOL) - initial_configuration = planner.inverse_kinematics(first_target, robot_cell_state) - - # PointAxisWaypoints accepts a list of tuples, each containing a point and an axis - points_and_axes = [] - # Move around in a square with some axis inclinations - points_and_axes.append((Point(1.0 + box_size, 1.0, 0.5), Vector(-0.5, 0.5, -1.0))) - points_and_axes.append((Point(1.0 + box_size, 1.0 + box_size, 0.5), Vector(-0.5, -0.5, -1.0))) - points_and_axes.append((Point(1.0, 1.0 + box_size, 0.5), Vector(0.5, -0.5, -1.0))) - points_and_axes.append((Point(1.0, 1.0, 0.5), Vector(0.5, 0.5, -1.0))) - - waypoints = PointAxisWaypoints(points_and_axes, target_mode=TargetMode.TOOL) - - print("initial_target:", first_target) - print("initial_configuration:", initial_configuration) - input("Press Enter to plan the trajectory...") - - # In this demo, the default planning group is used for the forward kinematics - robot_cell_state.robot_configuration = initial_configuration - try: - trajectory = planner.plan_cartesian_motion(waypoints, robot_cell_state) - print("Planned trajectory has {} points.".format(len(trajectory.points))) - except MPNoIKSolutionError as e: - # This exception is raised when part of the trajectory has no IK solution, - # either due to collision or it is not reachable. - print("No IK solution found. Reason:", e.message) - print("Target that could not be reached:", e.target) - trajectory = e.partial_trajectory - print("Partial trajectory returned has {} points.".format(len(trajectory.points))) - except MPNoPlanFoundError as e: - # This exception is raised when no plan could be found, the IK solutions along the - # trajectory are valid, but the planner could not find a continuous path between them. - print("No plan found. Reason:", e.message) - trajectory = e.partial_trajectory - print("Partial trajectory returned has {} points.".format(len(trajectory.points))) - - # ------------------------------------------------ - # Replay the trajectory in the PyBullet simulation - # ------------------------------------------------ - trajectory_replay(planner, robot_cell_state, trajectory) diff --git a/docs/examples/05_backends_pybullet/files/_pybullet_demo_helper.py b/docs/examples/05_backends_pybullet/files/_pybullet_demo_helper.py deleted file mode 100644 index f68bb9466..000000000 --- a/docs/examples/05_backends_pybullet/files/_pybullet_demo_helper.py +++ /dev/null @@ -1,22 +0,0 @@ -def trajectory_replay(planner, robot_cell_state, trajectory): - """The function only helps with demonstration using PyBullet's GUI mode. - User can step through the trajectory points by pressing 'Enter' key - - In a real application, the trajectory should be visualized in - a frontend such as Rhino or compas_viewer. - The use of PyBullet's GUI mode is discouraged in production code. - - """ - print("Replaying trajectory with {} points. Auto loop enabled.".format(len(trajectory.points))) - step = 0 - intermediate_robot_cell_state = robot_cell_state.copy() # type: RobotCellState - while True: - if step >= len(trajectory.points): - step = 0 - - print("Step: {} - joint_values = {}".format(step, trajectory.points[step].joint_values)) - intermediate_robot_cell_state.robot_configuration = trajectory.points[step] - planner.set_robot_cell_state(intermediate_robot_cell_state) - - input("Press Enter to continue...") - step += 1 diff --git a/docs/examples/06_backends_kinematics.rst b/docs/examples/06_backends_kinematics.rst deleted file mode 100644 index 99b33b838..000000000 --- a/docs/examples/06_backends_kinematics.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. _examples_kinematics: - -******************************************************************************* -Backends: Analytical Kinematics -******************************************************************************* - -.. toctree:: - :maxdepth: 2 - :glob: - - 06_backends_kinematics/* diff --git a/docs/examples/07_reachability_map.rst b/docs/examples/07_reachability_map.rst deleted file mode 100644 index 29a4d1f38..000000000 --- a/docs/examples/07_reachability_map.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. _reachability_map: - -******************************************************************************* -Planning: Reachability Map -******************************************************************************* - -.. toctree:: - :maxdepth: 2 - :glob: - - 07_reachability_map/* diff --git a/docs/examples/conftest.py b/docs/examples/conftest.py deleted file mode 100644 index b00d9f97f..000000000 --- a/docs/examples/conftest.py +++ /dev/null @@ -1,45 +0,0 @@ -import fnmatch -import io -import os -import re - -from sybil import Region -from sybil import Sybil -from sybil.parsers.codeblock import PythonCodeBlockParser -from sybil.parsers.doctest import DocTestParser - -LITERALPYTHON_START = re.compile(r"\.\.\s*literalinclude\s*::(.*\.py)") -LITERALPYTHON_END = re.compile(r"(\n\Z|\n(?=\S))") -IGNORES = [ - "files/01_ros_*.py", - "files/03_robot_rhino*.py", - "files/04_cartesian_path_analytic_pybullet.py", -] - - -def evaluate_literalinclude_python_blocks(block_match): - source_path = os.path.dirname(block_match.path) - literalinclude_python = os.path.join(source_path, block_match.parsed) - - with io.open(literalinclude_python, "r", encoding="utf-8") as f: - filecontent = f.read() - exec(filecontent) - - -def parse_literalinclude_python_blocks(document): - for start_match, end_match, source in document.find_region_sources(LITERALPYTHON_START, LITERALPYTHON_END): - literalinclude_python = start_match.groups()[0].strip() - - if any([fnmatch.fnmatch(literalinclude_python, ignore_pattern) for ignore_pattern in IGNORES]): - continue - - print(literalinclude_python) - yield Region(start_match.start(), end_match.end(), literalinclude_python, evaluate_literalinclude_python_blocks) - - -pytest_collect_file = Sybil( - parsers=[DocTestParser(), PythonCodeBlockParser(), parse_literalinclude_python_blocks], - pattern="*.rst", - fixtures=[], - excludes=[], -).pytest() diff --git a/docs/frontends/features_and_requirements.csv b/docs/frontends/features_and_requirements.csv new file mode 100644 index 000000000..ec9ef1c58 --- /dev/null +++ b/docs/frontends/features_and_requirements.csv @@ -0,0 +1,20 @@ + ,ROS MoveIt,PyBullet Planner,Analytical Kinematics,Analytical PyBullet Planner +Environment,ROS in Docker, PyBullet in CPython, CPython or IronPython, PyBullet in CPython +Custom Robot,Requiring editing URDF package in ROS,Support custom RobotModel,OffsetWrist and SphericalWrist Robots only,OffsetWrist and SphericalWrist Robots only +Loading Robot Model,Must be pre-loaded in ROS,Dynamic loading supported,Dynamic loading supported,Dynamic loading supported +Planning Groups,As defined in URDF,Limited to root chain,Support only six revolute joints,Support only six revolute joints +Custom Tool Models,Support,Support,Support Tool Frame but no collision check,Support +Stationary Collision Objects,Support,Support,Not available,Support +Attached Collision Objects,Support,Support,Not available,Support +Collision Checking (CC),Support,Support,Not available,Support +Forward Kinematics (FK),Support,Support,Support,Support +Inverse Kinematics (IK),,,, +IK with FrameTarget,Support,Support,Support,Support +IK with PointAxisTarget,Not available,Support,Not available,Not available +Plan Motion (PM),,,, +PM with Path Constraints,Available as MoveIt path constraints,Not available,Not available,Not available +PM with Frame Target,Support,Support,Not available,Not available +PM with Point Axis Target,Not available,Support,Not available,Not available +Plan Cartesian Motion (CM),,,, +CM with FrameWaypoints,Support,Support,Not available,Not available +CM with PointAxisWaypoints,Not available,Support,Not available,Not available diff --git a/docs/examples/rhino/files/visualize_with_eto_form.py b/docs/frontends/rhino/files/visualize_with_eto_form.py similarity index 100% rename from docs/examples/rhino/files/visualize_with_eto_form.py rename to docs/frontends/rhino/files/visualize_with_eto_form.py diff --git a/docs/backends/files/abb-irb120-demo/docker-compose.yml b/docs/installation/docker_files/abb-irb120-demo/docker-compose.yml similarity index 100% rename from docs/backends/files/abb-irb120-demo/docker-compose.yml rename to docs/installation/docker_files/abb-irb120-demo/docker-compose.yml diff --git a/docs/backends/files/abb-irb120t-demo/docker-compose.yml b/docs/installation/docker_files/abb-irb120t-demo/docker-compose.yml similarity index 100% rename from docs/backends/files/abb-irb120t-demo/docker-compose.yml rename to docs/installation/docker_files/abb-irb120t-demo/docker-compose.yml diff --git a/docs/backends/files/abb-irb1600-demo/docker-compose.yml b/docs/installation/docker_files/abb-irb1600-demo/docker-compose.yml similarity index 100% rename from docs/backends/files/abb-irb1600-demo/docker-compose.yml rename to docs/installation/docker_files/abb-irb1600-demo/docker-compose.yml diff --git a/docs/backends/files/abb-irb4600_40_255-demo/docker-compose.yml b/docs/installation/docker_files/abb-irb4600_40_255-demo/docker-compose.yml similarity index 100% rename from docs/backends/files/abb-irb4600_40_255-demo/docker-compose.yml rename to docs/installation/docker_files/abb-irb4600_40_255-demo/docker-compose.yml diff --git a/docs/backends/files/abb-irb4600_60_205-demo/docker-compose.yml b/docs/installation/docker_files/abb-irb4600_60_205-demo/docker-compose.yml similarity index 100% rename from docs/backends/files/abb-irb4600_60_205-demo/docker-compose.yml rename to docs/installation/docker_files/abb-irb4600_60_205-demo/docker-compose.yml diff --git a/docs/backends/files/base/docker-compose.yml b/docs/installation/docker_files/base/docker-compose.yml similarity index 100% rename from docs/backends/files/base/docker-compose.yml rename to docs/installation/docker_files/base/docker-compose.yml diff --git a/docs/backends/files/panda-demo/docker-compose.yml b/docs/installation/docker_files/panda-demo/docker-compose.yml similarity index 100% rename from docs/backends/files/panda-demo/docker-compose.yml rename to docs/installation/docker_files/panda-demo/docker-compose.yml diff --git a/docs/backends/files/rfl-demo/docker-compose.yml b/docs/installation/docker_files/rfl-demo/docker-compose.yml similarity index 100% rename from docs/backends/files/rfl-demo/docker-compose.yml rename to docs/installation/docker_files/rfl-demo/docker-compose.yml diff --git a/docs/backends/files/ur10-demo/docker-compose.yml b/docs/installation/docker_files/ur10-demo/docker-compose.yml similarity index 100% rename from docs/backends/files/ur10-demo/docker-compose.yml rename to docs/installation/docker_files/ur10-demo/docker-compose.yml diff --git a/docs/backends/files/ur10e-demo/docker-compose.yml b/docs/installation/docker_files/ur10e-demo/docker-compose.yml similarity index 100% rename from docs/backends/files/ur10e-demo/docker-compose.yml rename to docs/installation/docker_files/ur10e-demo/docker-compose.yml diff --git a/docs/backends/files/ur3-demo/docker-compose.yml b/docs/installation/docker_files/ur3-demo/docker-compose.yml similarity index 100% rename from docs/backends/files/ur3-demo/docker-compose.yml rename to docs/installation/docker_files/ur3-demo/docker-compose.yml diff --git a/docs/backends/files/ur3e-demo/docker-compose.yml b/docs/installation/docker_files/ur3e-demo/docker-compose.yml similarity index 100% rename from docs/backends/files/ur3e-demo/docker-compose.yml rename to docs/installation/docker_files/ur3e-demo/docker-compose.yml diff --git a/docs/backends/files/ur5-demo/docker-compose.yml b/docs/installation/docker_files/ur5-demo/docker-compose.yml similarity index 100% rename from docs/backends/files/ur5-demo/docker-compose.yml rename to docs/installation/docker_files/ur5-demo/docker-compose.yml diff --git a/docs/backends/files/ur5-demo/docker-compose_gui_xming.yml b/docs/installation/docker_files/ur5-demo/docker-compose_gui_xming.yml similarity index 100% rename from docs/backends/files/ur5-demo/docker-compose_gui_xming.yml rename to docs/installation/docker_files/ur5-demo/docker-compose_gui_xming.yml diff --git a/docs/backends/files/ur5e-demo/docker-compose.yml b/docs/installation/docker_files/ur5e-demo/docker-compose.yml similarity index 100% rename from docs/backends/files/ur5e-demo/docker-compose.yml rename to docs/installation/docker_files/ur5e-demo/docker-compose.yml diff --git a/docs/installation/install_compas_fab.rst b/docs/installation/install_compas_fab.rst new file mode 100644 index 000000000..31eeced72 --- /dev/null +++ b/docs/installation/install_compas_fab.rst @@ -0,0 +1,119 @@ +.. _install_compas_fab: + +******************************************************************************** +Install COMPAS FAB +******************************************************************************** + +.. highlight:: bash + +**COMPAS FAB** can be easily installed on multiple platforms, +using popular package managers such as conda or pip. + +Install with conda +================== + +The recommended way to install **COMPAS FAB** is with `conda `_. +For example, create an environment named ``project_name`` and install COMPAS and COMPAS FAB. + +:: + + conda create -n project_name -c conda-forge compas_fab + +Afterwards, simply activate the environment and run the following +command to check if the installation process was successful. + +.. code-block:: bash + + conda activate project_name + python -m compas_fab + +.. code-block:: none + + Yay! COMPAS FAB is installed correctly! + +You are ready to use **COMPAS FAB**! + +Installation options +-------------------- + +Install COMPAS FAB in an environment with a specific version of Python. + +.. code-block:: bash + + conda create -n project_name python=3.8 compas_fab + +Install COMPAS FAB in an existing environment. + +.. code-block:: bash + + conda install -n project_name compas_fab + +Install with pip +================ + +Install COMPAS FAB using ``pip`` from the Python Package Index. + +.. code-block:: bash + + pip install compas_fab + +Install an editable version from local source. + +.. code-block:: bash + + cd path/to/compas_fab + pip install -e . + +Note that installation with ``pip`` is also possible within a ``conda`` environment. + +.. code-block:: bash + + conda activate project_name + pip install -e . + +.. note:: + + On Windows, you may need to install + `Microsoft Visual C++ 14.0 `_. + + +Update with conda +================= + +To update COMPAS FAB to the latest version with ``conda`` + +.. code-block:: bash + + conda update compas_fab + +To switch to a specific version + +.. code-block:: bash + + conda install compas_fab=1.0.2 + + +Update with pip +=============== + +If you installed COMPAS FAB with ``pip`` the update command is the following + +.. code-block:: bash + + pip install --upgrade compas_fab + +Or to switch to a specific version + +.. code-block:: bash + + pip install compas_fab==1.0.2 + + +Next Steps +========== + +* :ref:`Working with backends ` +* :ref:`COMPAS FAB Examples ` +* :ref:`COMPAS FAB API Reference ` +* `COMPAS User Guide `_ +* `COMPAS API Reference `_ diff --git a/docs/examples/ros_setup_ur.txt b/docs/installation/ros_setup_ur.txt similarity index 100% rename from docs/examples/ros_setup_ur.txt rename to docs/installation/ros_setup_ur.txt diff --git a/docs/installation/setup_backend_no_backend.rst b/docs/installation/setup_backend_no_backend.rst new file mode 100644 index 000000000..6acae1dde --- /dev/null +++ b/docs/installation/setup_backend_no_backend.rst @@ -0,0 +1,33 @@ +.. _setup_backend_no_backend: + +******************************************************************************* +Working without backend +******************************************************************************* + +Without a planning backend, the user can still use the core functionality of +**COMPAS FAB** to create and visualize robots. The following functions are +available: + +.. currentmodule:: compas_fab + +#. Create or load a :class:`robots.RobotCell` instance that includes a + :class:`compas_robots.RobotModel` instance, :class:`compas_robots.ToolModel` + instance(s) and :class:`robots.RigidBody` instance(s). + +#. Create a :class:`robots.RobotCellState` instance to model the current state, + including the :class:`compas_robots.Configuration` of the robot, + :class:`robots.ToolState` and :class:`robots.RigidBodyState` instances. + +#. Create a :class:`robots.Target` or :class:`robots.Waypoints` instance and + serialize them such that they can be planned on another computer with a + planning backend. + +#. Visualize the RobotCell and its associated RobotCellState using one of the + CAD frontend environments. + +#. Compute forward kinematics using the :meth:`compas_robots.RobotModel.forward_kinematics` + method. + +#. Compute forward and inverse kinematics using the :class:`backends.AnalyticalKinematics` + backend. (This backend does not have collision checking capabilities.) + diff --git a/docs/examples/03_backends_ros.rst b/docs/installation/setup_backend_pybullet.rst similarity index 62% rename from docs/examples/03_backends_ros.rst rename to docs/installation/setup_backend_pybullet.rst index 77b0de582..28b3360d5 100644 --- a/docs/examples/03_backends_ros.rst +++ b/docs/installation/setup_backend_pybullet.rst @@ -1,11 +1,6 @@ -.. _examples_ros: +.. _setup_backend_pybullet: ******************************************************************************* -Backends: ROS +Setup PyBullet Planner ******************************************************************************* -.. toctree:: - :maxdepth: 2 - :glob: - - 03_backends_ros/* diff --git a/docs/installation/setup_backend_ros.rst b/docs/installation/setup_backend_ros.rst new file mode 100644 index 000000000..3402c14b4 --- /dev/null +++ b/docs/installation/setup_backend_ros.rst @@ -0,0 +1,213 @@ +.. _setup_backend_ros: + +******************************************************************************* +Setup ROS MoveIt! +******************************************************************************* + +.. highlight:: bash + +The `Robot Operating System `_ (ROS) is a flexible framework +for writing robot software. It is a collection of tools, libraries, and +conventions that aim to simplify the task of creating complex and robust +robot behavior across a wide variety of robotic platforms. +A ROS system typically involves multiple nodes (i.e. different software services +running on real or virtual computers), interconnected through a master controller. + +The `MoveIt! package `_ is a ROS package that provides +services for robotic motion planning, manipulation, and perception. +It is a widely used software for manipulation and mobile robots. + +**COMPAS FAB** provides :class:`compas_fab.backends.RosClient` for communicating +with a ROS system via RosBridge over WebSockets. This client is used to send and +receive data from the ROS modes. The :class:`compas_fab.backends.MoveItPlanner` +relies the RosClient to interact with the MoveIt planning service in ROS, which +exposes these services to the **COMPAS FAB** user. + +Before using ROS and MoveIt, the ROS system must be installed. +There are at least 3 different ways to run ROS: using Docker, using Linux, and +using WSL on Windows. In recent times, it became possible to install ROS using +Conda on Windows as well. + + +Installing ROS with Docker +========================== + +In order to simplify working with ROS in Ubuntu and have a consistent way +to use and test different backends, **COMPAS FAB** provides ROS and MoveIt as +`Docker containers`_. Docker containers are a way to bundle systems into +isolated, standardized software units with full reproducibility. It greatly +reduces the time it takes to get a backend up and running. + + +Installing Docker +----------------- + +Download and install `Docker Desktop`_: + +* `Docker for Windows`_ +* `Docker for Mac`_ + +.. note:: + + Make sure you have enabled virtualization in your BIOS. + Docker will complain if not. + +.. note:: + + If you're a Windows user, you will need at least Windows 10 Pro. + + After installation, make sure Docker runs in Linux containers mode: right-click + the docker icon on the tray bar; if there is an option to ``Switch to Linux containers``, + **select it** and wait for Docker to switch before moving forward. + + +For Visual Studio Code users, we recommend installing the ``Docker`` extension. +It will allow you to right-click on a .yml file and select ``Compose Up`` to +start the containers. + +ROS on Docker +------------- + +We package complete ROS systems +into bundles of `Docker`_ containers. Each of these bundles runs in a +virtualized network within your computer. + +Besides easing deployment, containers have the added benefit of ensuring +repeatability. + +Once you made sure `Docker`_ is running, you can run ROS nodes as containers. +Gramazio Kohler Research publishes ROS images on `Docker Hub`_ but there are +many more to be found online. + +You can start a minimally functional ROS system, containing a ROS master and +the `ROS Bridge`_ with the following command:: + + docker run -p 9090:9090 -t gramaziokohler/ros-noetic-base roslaunch rosbridge_server rosbridge_websocket.launch + +Running ROS and MoveIt with a specific Robot +-------------------------------------------- + +It is usually not enough to run single ROS nodes. ROS systems are networks of +multiple interconnected nodes. Docker provides a way to compose virtualized +networks using the ``docker-compose`` command. These commands take one simple +configuration file as input, and handle all tasks required to run and connect +all the nodes. + +As an example, download :download:`this file `, +open the command prompt, go to the folder where the file was downloaded, +and run the following command:: + + docker-compose up -d + +You now have a ROS system with two nodes running: a ROS master and +the `ROS Bridge`_ which adds a web socket channel to communicate with ROS. + +Creating new ROS bundles using containers is usually only a matter of combining +them into a new ``docker-compose.yml`` file, which is relatively simple but we +prepared some very common ones as examples. + +.. _ros_bundles_list: + +**ROS system with example robots** + +* ROS Noetic Base setup: :download:`Link ` +* ABB IRB120: :download:`Link ` +* ABB IRB120T: :download:`Link ` +* ABB IRB1600: :download:`Link ` +* ABB IRB4600 40/255: :download:`Link ` +* ABB IRB4600 60/205: :download:`Link ` +* Panda: :download:`Link ` +* RFL: :download:`Link ` +* UR3: :download:`Link ` +* UR3e: :download:`Link ` +* UR5: :download:`Link ` +* UR5e: :download:`Link ` +* UR10: :download:`Link ` +* UR10e: :download:`Link ` + +Once the containers are running, it is possible to access the graphic user interface. +See :ref:`this page ` for more details. + +ROS on Linux +============ + +The usual but most involved way to install ROS is on a Linux machine, +either virtual or real. The machine must have an IP address reachable +from your computer. + +Follow the `ROS installation instructions`_ for all the details, or +alternatively, use the following commands as a brief outline of the steps +required to install ROS on **Ubuntu 20.04**: + +:: + + sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' + curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - + sudo apt update + sudo apt install ros-noetic-desktop-full ros-noetic-rosbridge-server python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential + + sudo rosdep init && rosdep update + echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc + source ~/.bashrc + + mkdir -p ~/catkin_ws/src + cd ~/catkin_ws/ + catkin_make + + echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc + source ~/.bashrc + +Once ROS is installed, you can start a minimally functional ROS system, +containing a ROS master and the `ROS Bridge`_ with the following command:: + + roslaunch rosbridge_server rosbridge_websocket.launch + +You will need to setup your own robot models and MoveIt configurations to +use the MoveItPlanner with your robot. + +ROS on WSL +========== + +For Windows 10 users, an alternative is to install the +`Windows Subsystem for Linux`_ (WSL). WSL allows to run Linux within +Windows without the need for an additional virtual machine. + +To install WSL, open PowerShell as administrator and run: + +:: + + wsl --install + +This command will enable the required optional components, download the latest Linux kernel, +set WSL 2 as your default, and install a Linux distribution for you. +Once the installation is completed, run ``bash`` and follow the instructions +above to install ROS on Linux. + +After installation, it is possible to access the graphic user interface. +Check :ref:`this page ` for more details. + +.. seealso:: + + For additional details, see `Microsoft WSL documentation`_. + + + +.. _ROS installation instructions: https://wiki.ros.org/ROS/Installation +.. _Windows Subsystem for Linux: https://docs.microsoft.com/en-us/windows/wsl/about +.. _Microsoft WSL documentation: https://docs.microsoft.com/en-us/windows/wsl/install-win10 +.. _Docker: https://www.docker.com/ +.. _Docker Hub: https://hub.docker.com/u/gramaziokohler/ +.. _ROS Bridge: https://wiki.ros.org/rosbridge_suite + +.. _Docker Desktop: https://www.docker.com/get-started +.. _Docker containers: https://www.docker.com/resources/what-container +.. _Docker for Windows: https://hub.docker.com/editions/community/docker-ce-desktop-windows +.. _Docker for Mac: https://hub.docker.com/editions/community/docker-ce-desktop-mac + +Next Steps +========== + +* :doc:`Tutorial: COMPAS Robots ` +* :ref:`Examples: Description models ` +* :ref:`Examples: ROS Backend ` +* :ref:`COMPAS FAB API Reference ` diff --git a/docs/installation/setup_frontend_blender.rst b/docs/installation/setup_frontend_blender.rst new file mode 100644 index 000000000..e56ca2bd7 --- /dev/null +++ b/docs/installation/setup_frontend_blender.rst @@ -0,0 +1,9 @@ +.. _setup_frontend_blender: + +******************************************************************************* +Setup Blender +******************************************************************************* + +Once **COMPAS** itself is installed for Blender following the +`documented procedure `_, +**COMPAS FAB** will automatically be available as well after installing it. \ No newline at end of file diff --git a/docs/installation/setup_frontend_rhino.rst b/docs/installation/setup_frontend_rhino.rst new file mode 100644 index 000000000..1dc61c25b --- /dev/null +++ b/docs/installation/setup_frontend_rhino.rst @@ -0,0 +1,24 @@ +.. _setup_frontend_rhino: + +******************************************************************************* +Setup Rhino 7 (IronPython) +******************************************************************************* + +To make **COMPAS FAB** available inside Rhino, open the *command prompt*, +activate the appropriate environment, and type the following: + +:: + + python -m compas_rhino.install + +Open Rhino, start the Python script editor, type ``import compas_fab`` and +run it to verify that your installation is working. + +Making **COMPAS FAB** available in Rhino also installs a suite of Grasshopper +components with **COMPAS FAB** functionality. See +:ref:`ROS in Grasshopper ` for an example. + + +******************************************************************************* +Working with Grasshopper +******************************************************************************* diff --git a/docs/examples/01_fundamentals.rst b/docs/installation/setup_frontend_rhino_8.rst similarity index 60% rename from docs/examples/01_fundamentals.rst rename to docs/installation/setup_frontend_rhino_8.rst index c1e2c8c03..25991710c 100644 --- a/docs/examples/01_fundamentals.rst +++ b/docs/installation/setup_frontend_rhino_8.rst @@ -1,11 +1,6 @@ -.. _examples_fundamentals: +.. _setup_frontend_rhino_8: ******************************************************************************* -Fundamentals +Setup Rhino 8 (CPython) ******************************************************************************* -.. toctree:: - :maxdepth: 2 - :glob: - - 01_fundamentals/* diff --git a/docs/examples/05_backends_pybullet.rst b/docs/installation/setup_frontend_viewer.rst similarity index 58% rename from docs/examples/05_backends_pybullet.rst rename to docs/installation/setup_frontend_viewer.rst index b5f5478dc..1dd946de2 100644 --- a/docs/examples/05_backends_pybullet.rst +++ b/docs/installation/setup_frontend_viewer.rst @@ -1,11 +1,5 @@ -.. _examples_pybullet: +.. _setup_frontend_viewer: ******************************************************************************* -Backends: PyBullet +Setup COMPAS Viewer ******************************************************************************* - -.. toctree:: - :maxdepth: 2 - :glob: - - 05_backends_pybullet/* diff --git a/docs/installation/setup_frontend_vscode.rst b/docs/installation/setup_frontend_vscode.rst new file mode 100644 index 000000000..64696ef0f --- /dev/null +++ b/docs/installation/setup_frontend_vscode.rst @@ -0,0 +1,63 @@ +.. _setup_frontend_vscode: + +******************************************************************************* +Setup Visual Studio Code +******************************************************************************* + +`Visual Studio Code `_ is a free and open source text +editor with very good support for Python programming. + +We recommend installing the following VS Code extensions: + +* `Python `_ + + *Official extension to add support for Python programming, including + debugging, auto-complete, formatting, etc.* + +* `Docker `_ + + *Add support for ``Dockerfile`` and ``docker-compose.yml`` files to VS Code.* + +* `EditorConfig `_ + + *Add support for ``.editorconfig`` files to VS Code.* + +To install the above extensions, open the ``Extensions`` view by clicking on +the corresponding icon in the **Activity Bar** on the left side of VS Code +and search the extension name in the search box. Once found, select it and +click ``Install``. + +We recommend tweaking some of the default VS Code settings: + +* Python Linter: + + Select ``flake8`` as your default python linter: open the ``Command Palette`` + (``Ctrl+Shift+P``), type ``Python: Select Linter``, select it and select + ``flake8`` from the list. + +* *[Windows Only]* Default Shell: + + Change the default shell from ``PowerShell`` to ``Command Prompt``: open the + ``Command Palette`` (``Ctrl+Shift+P``), type ``Select Default Shell``, + select it and from the options, select ``Command Prompt``. + Kill all opened terminals for it to take effect. + +Run scripts +----------- + +To run Python scripts from within VS Code, simply open the file and press +``F5``. This will start the script with the debugger attached, which means +you can add breakpoints (clicking on the gutter, next to the line numbers), +inspect variables and step into your code for debugging. + +Alternatively, use ``Ctrl+F5`` to start the script without debugger. + +Virtual environments +-------------------- + +If you are using ``conda`` to manage your virtual environments, VS Code has +built-in support for them. When a ``.py`` file is open on VS Code, the bottom +right side of the **Status bar** will show the Python interpreter used to run +scripts. Click on it and a list of all available interpreters including all +environments will be shown. Select one, and the next time you run a script, +the newly selected interpreter will be used. diff --git a/docs/backends/web_x11_gui.rst b/docs/installation/web_x11_gui.rst similarity index 98% rename from docs/backends/web_x11_gui.rst rename to docs/installation/web_x11_gui.rst index 878a9a7b6..b3d724f88 100644 --- a/docs/backends/web_x11_gui.rst +++ b/docs/installation/web_x11_gui.rst @@ -1,7 +1,7 @@ -.. _backends_gui: +.. _docker_gui: ******************************************************************************** -Access backend GUI +Access Docker Backend GUI ******************************************************************************** .. highlight:: bash

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