From d892a9a27dff2c29d680f65e32c76de0e9033d2b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 14 Jun 2024 13:54:33 +0000 Subject: [PATCH] Deploy to GitHub pages --- ...kends.ABB_IRB4600_40_255Kinematics.doctree | Bin 9157 -> 9157 bytes ...B_IRB4600_40_255Kinematics.forward.doctree | Bin 5147 -> 5147 bytes ...B_IRB4600_40_255Kinematics.inverse.doctree | Bin 5132 -> 5132 bytes ...ckends.AnalyticalInverseKinematics.doctree | Bin 12679 -> 12679 bytes ...verseKinematics.inverse_kinematics.doctree | Bin 22409 -> 22409 bytes ...ends.AnalyticalPlanCartesianMotion.doctree | Bin 9303 -> 9303 bytes ...tesianMotion.plan_cartesian_motion.doctree | Bin 16092 -> 16092 bytes ...tesianMotion.smooth_configurations.doctree | Bin 5378 -> 5378 bytes ...Client.add_attached_collision_mesh.doctree | Bin 5829 -> 5829 bytes ...lPyBulletClient.add_collision_mesh.doctree | Bin 5692 -> 5692 bytes ...BulletClient.append_collision_mesh.doctree | Bin 5737 -> 5737 bytes ...yticalPyBulletClient.body_from_obj.doctree | Bin 18059 -> 18059 bytes ...alPyBulletClient.cache_robot_model.doctree | Bin 0 -> 10909 bytes ...ck_collision_objects_for_collision.doctree | Bin 6756 -> 6756 bytes ...lient.check_collision_with_objects.doctree | Bin 8617 -> 8617 bytes ...calPyBulletClient.check_collisions.doctree | Bin 10821 -> 10821 bytes ...tClient.check_robot_self_collision.doctree | Bin 8549 -> 8549 bytes ...s.AnalyticalPyBulletClient.connect.doctree | Bin 13477 -> 13477 bytes ...yBulletClient.convert_mesh_to_body.doctree | Bin 16926 -> 16926 bytes ...nalyticalPyBulletClient.disconnect.doctree | Bin 4885 -> 4885 bytes ....backends.AnalyticalPyBulletClient.doctree | Bin 53172 -> 53316 bytes ...etClient.ensure_cached_robot_model.doctree | Bin 0 -> 6264 bytes ...ensure_cached_robot_model_geometry.doctree | Bin 0 -> 6442 bytes ...filter_configurations_in_collision.doctree | Bin 11565 -> 11565 bytes ...lPyBulletClient.forward_kinematics.doctree | Bin 5690 -> 5690 bytes ...etClient.get_cached_robot_filepath.doctree | Bin 9386 -> 9386 bytes ...ulletClient.get_cached_robot_model.doctree | Bin 0 -> 9421 bytes ...lPyBulletClient.get_planning_scene.doctree | Bin 5692 -> 5692 bytes ...lletClient.get_robot_configuration.doctree | Bin 8202 -> 8202 bytes ...s.AnalyticalPyBulletClient.get_uid.doctree | Bin 8085 -> 8145 bytes ...lPyBulletClient.inverse_kinematics.doctree | Bin 6835 -> 6835 bytes ...nalyticalPyBulletClient.load_robot.doctree | Bin 16159 -> 16159 bytes ...ticalPyBulletClient.load_semantics.doctree | Bin 8544 -> 8544 bytes ....AnalyticalPyBulletClient.load_ur5.doctree | Bin 10986 -> 10986 bytes ...BulletClient.plan_cartesian_motion.doctree | Bin 6882 -> 6882 bytes ...alyticalPyBulletClient.plan_motion.doctree | Bin 5585 -> 5585 bytes ...alPyBulletClient.reload_from_cache.doctree | Bin 7152 -> 7152 bytes ...ent.remove_attached_collision_mesh.doctree | Bin 5874 -> 5874 bytes ...BulletClient.remove_collision_mesh.doctree | Bin 5737 -> 5737 bytes ...yBulletClient.reset_planning_scene.doctree | Bin 5722 -> 5722 bytes ...lletClient.set_robot_configuration.doctree | Bin 12018 -> 12018 bytes ...icalPyBulletClient.step_simulation.doctree | Bin 5647 -> 5647 bytes .../compas_fab.backends.BackendError.doctree | Bin 5429 -> 5429 bytes ...ds.BackendFeatureNotSupportedError.doctree | Bin 5649 -> 5649 bytes ...nds.CancellableFutureResult.cancel.doctree | Bin 5499 -> 5499 bytes ...b.backends.CancellableFutureResult.doctree | Bin 9935 -> 9935 bytes ...nds.CancellableFutureResult.result.doctree | Bin 5982 -> 5982 bytes ..._fab.backends.CartesianMotionError.doctree | Bin 5650 -> 5650 bytes ...compas_fab.backends.CollisionError.doctree | Bin 5660 -> 5660 bytes .../compas_fab.backends.FutureResult.doctree | Bin 7871 -> 7871 bytes ...s_fab.backends.FutureResult.result.doctree | Bin 5828 -> 5828 bytes ...ab.backends.InverseKinematicsError.doctree | Bin 5650 -> 5650 bytes ...ompas_fab.backends.KinematicsError.doctree | Bin 5494 -> 5494 bytes ...lanner.add_attached_collision_mesh.doctree | Bin 9663 -> 9663 bytes ....add_attached_collision_mesh_async.doctree | Bin 5848 -> 5848 bytes ...s.MoveItPlanner.add_collision_mesh.doctree | Bin 9282 -> 9282 bytes ...ItPlanner.add_collision_mesh_async.doctree | Bin 5599 -> 5599 bytes ...oveItPlanner.append_collision_mesh.doctree | Bin 9369 -> 9369 bytes ...lanner.append_collision_mesh_async.doctree | Bin 5665 -> 5665 bytes .../compas_fab.backends.MoveItPlanner.doctree | Bin 41286 -> 41286 bytes ...s.MoveItPlanner.forward_kinematics.doctree | Bin 16546 -> 16546 bytes ...ItPlanner.forward_kinematics_async.doctree | Bin 5984 -> 5984 bytes ...s.MoveItPlanner.get_planning_scene.doctree | Bin 8107 -> 8107 bytes ...ItPlanner.get_planning_scene_async.doctree | Bin 5344 -> 5344 bytes ...s.MoveItPlanner.inverse_kinematics.doctree | Bin 26375 -> 26375 bytes ...ItPlanner.inverse_kinematics_async.doctree | Bin 7115 -> 7115 bytes ...oveItPlanner.plan_cartesian_motion.doctree | Bin 26504 -> 26504 bytes ..._motion_with_frame_waypoints_async.doctree | Bin 8856 -> 8856 bytes ...on_with_point_axis_waypoints_async.doctree | Bin 7875 -> 7875 bytes ...backends.MoveItPlanner.plan_motion.doctree | Bin 26966 -> 26966 bytes ...ds.MoveItPlanner.plan_motion_async.doctree | Bin 6970 -> 6970 bytes ...ner.remove_attached_collision_mesh.doctree | Bin 8772 -> 8772 bytes ...move_attached_collision_mesh_async.doctree | Bin 5809 -> 5809 bytes ...oveItPlanner.remove_collision_mesh.doctree | Bin 8566 -> 8566 bytes ...lanner.remove_collision_mesh_async.doctree | Bin 5605 -> 5605 bytes ...MoveItPlanner.reset_planning_scene.doctree | Bin 7648 -> 7648 bytes ...Planner.reset_planning_scene_async.doctree | Bin 5414 -> 5414 bytes ...fab.backends.OffsetWristKinematics.doctree | Bin 8483 -> 8483 bytes ...ends.OffsetWristKinematics.forward.doctree | Bin 5022 -> 5022 bytes ...ends.OffsetWristKinematics.inverse.doctree | Bin 5007 -> 5007 bytes ...Client.add_attached_collision_mesh.doctree | Bin 5689 -> 5689 bytes ....PyBulletClient.add_collision_mesh.doctree | Bin 5552 -> 5552 bytes ...BulletClient.append_collision_mesh.doctree | Bin 5597 -> 5597 bytes ...kends.PyBulletClient.body_from_obj.doctree | Bin 17899 -> 17899 bytes ...s.PyBulletClient.cache_robot_model.doctree | Bin 0 -> 10749 bytes ...ck_collision_objects_for_collision.doctree | Bin 6596 -> 6596 bytes ...lient.check_collision_with_objects.doctree | Bin 8457 -> 8457 bytes ...ds.PyBulletClient.check_collisions.doctree | Bin 10661 -> 10661 bytes ...tClient.check_robot_self_collision.doctree | Bin 8389 -> 8389 bytes ...ab.backends.PyBulletClient.connect.doctree | Bin 13317 -> 13317 bytes ...yBulletClient.convert_mesh_to_body.doctree | Bin 16766 -> 16766 bytes ...backends.PyBulletClient.disconnect.doctree | Bin 4745 -> 4745 bytes ...compas_fab.backends.PyBulletClient.doctree | Bin 57029 -> 57177 bytes ...etClient.ensure_cached_robot_model.doctree | Bin 0 -> 6104 bytes ...ensure_cached_robot_model_geometry.doctree | Bin 0 -> 6282 bytes ...filter_configurations_in_collision.doctree | Bin 11405 -> 11405 bytes ....PyBulletClient.forward_kinematics.doctree | Bin 5550 -> 5550 bytes ...etClient.get_cached_robot_filepath.doctree | Bin 9226 -> 9226 bytes ...ulletClient.get_cached_robot_model.doctree | Bin 0 -> 9261 bytes ....PyBulletClient.get_planning_scene.doctree | Bin 5552 -> 5552 bytes ...lletClient.get_robot_configuration.doctree | Bin 8042 -> 8042 bytes ...ab.backends.PyBulletClient.get_uid.doctree | Bin 7925 -> 7985 bytes ....PyBulletClient.inverse_kinematics.doctree | Bin 5550 -> 5550 bytes ...backends.PyBulletClient.load_robot.doctree | Bin 15999 -> 15999 bytes ...ends.PyBulletClient.load_semantics.doctree | Bin 8384 -> 8384 bytes ...b.backends.PyBulletClient.load_ur5.doctree | Bin 10826 -> 10826 bytes ...BulletClient.plan_cartesian_motion.doctree | Bin 5597 -> 5597 bytes ...ackends.PyBulletClient.plan_motion.doctree | Bin 5445 -> 5445 bytes ...s.PyBulletClient.reload_from_cache.doctree | Bin 6992 -> 6992 bytes ...ent.remove_attached_collision_mesh.doctree | Bin 5734 -> 5734 bytes ...BulletClient.remove_collision_mesh.doctree | Bin 5597 -> 5597 bytes ...yBulletClient.reset_planning_scene.doctree | Bin 5582 -> 5582 bytes ...lletClient.set_robot_configuration.doctree | Bin 11858 -> 11858 bytes ...nds.PyBulletClient.step_simulation.doctree | Bin 5507 -> 5507 bytes .../compas_fab.backends.PyBulletError.doctree | Bin 5724 -> 5724 bytes ...lanner.add_attached_collision_mesh.doctree | Bin 20360 -> 20360 bytes ...PyBulletPlanner.add_collision_mesh.doctree | Bin 12907 -> 12907 bytes ...ulletPlanner.append_collision_mesh.doctree | Bin 11651 -> 11651 bytes ...ompas_fab.backends.PyBulletPlanner.doctree | Bin 24873 -> 24873 bytes ...PyBulletPlanner.forward_kinematics.doctree | Bin 17154 -> 17154 bytes ...PyBulletPlanner.get_planning_scene.doctree | Bin 6648 -> 6648 bytes ...PyBulletPlanner.inverse_kinematics.doctree | Bin 27118 -> 27118 bytes ...ulletPlanner.plan_cartesian_motion.doctree | Bin 6693 -> 6693 bytes ...ckends.PyBulletPlanner.plan_motion.doctree | Bin 6541 -> 6541 bytes ...ner.remove_attached_collision_mesh.doctree | Bin 10346 -> 10346 bytes ...ulletPlanner.remove_collision_mesh.doctree | Bin 8634 -> 8634 bytes ...BulletPlanner.reset_planning_scene.doctree | Bin 6678 -> 6678 bytes ...Client.add_attached_collision_mesh.doctree | Bin 5619 -> 5619 bytes ...kends.RosClient.add_collision_mesh.doctree | Bin 5482 -> 5482 bytes ...ds.RosClient.append_collision_mesh.doctree | Bin 5527 -> 5527 bytes ...ab.backends.RosClient.authenticate.doctree | Bin 10551 -> 10551 bytes ...osClient.blocking_call_from_thread.doctree | Bin 7925 -> 7925 bytes ...kends.RosClient.call_async_service.doctree | Bin 7222 -> 7222 bytes ....backends.RosClient.call_in_thread.doctree | Bin 6316 -> 6316 bytes ..._fab.backends.RosClient.call_later.doctree | Bin 6942 -> 6942 bytes ...ckends.RosClient.call_sync_service.doctree | Bin 8464 -> 8464 bytes ...ompas_fab.backends.RosClient.close.doctree | Bin 5080 -> 5080 bytes ...pas_fab.backends.RosClient.connect.doctree | Bin 4604 -> 4604 bytes ...ab.backends.RosClient.delete_param.doctree | Bin 6864 -> 6864 bytes .../compas_fab.backends.RosClient.doctree | Bin 78732 -> 78732 bytes ...compas_fab.backends.RosClient.emit.doctree | Bin 5133 -> 5133 bytes ...RosClient.execute_joint_trajectory.doctree | Bin 16132 -> 16132 bytes ...ds.RosClient.follow_configurations.doctree | Bin 5961 -> 5961 bytes ....RosClient.follow_joint_trajectory.doctree | Bin 16431 -> 16431 bytes ...kends.RosClient.forward_kinematics.doctree | Bin 5480 -> 5480 bytes ...kends.RosClient.get_action_servers.doctree | Bin 5531 -> 5531 bytes ...ckends.RosClient.get_configuration.doctree | Bin 4570 -> 4570 bytes ...ends.RosClient.get_message_details.doctree | Bin 7668 -> 7668 bytes ...ackends.RosClient.get_node_details.doctree | Bin 7008 -> 7008 bytes ...s_fab.backends.RosClient.get_nodes.doctree | Bin 6627 -> 6627 bytes ...s_fab.backends.RosClient.get_param.doctree | Bin 7495 -> 7495 bytes ..._fab.backends.RosClient.get_params.doctree | Bin 7355 -> 7355 bytes ...kends.RosClient.get_planning_scene.doctree | Bin 5482 -> 5482 bytes ...lient.get_service_request_callback.doctree | Bin 6897 -> 6897 bytes ...Client.get_service_request_details.doctree | Bin 7759 -> 7759 bytes ...lient.get_service_response_details.doctree | Bin 7779 -> 7779 bytes ...ackends.RosClient.get_service_type.doctree | Bin 7606 -> 7606 bytes ...ab.backends.RosClient.get_services.doctree | Bin 7351 -> 7351 bytes ...ds.RosClient.get_services_for_type.doctree | Bin 7828 -> 7828 bytes ...as_fab.backends.RosClient.get_time.doctree | Bin 7499 -> 7499 bytes ....backends.RosClient.get_topic_type.doctree | Bin 7531 -> 7531 bytes ..._fab.backends.RosClient.get_topics.doctree | Bin 7287 -> 7287 bytes ...ends.RosClient.get_topics_for_type.doctree | Bin 7778 -> 7778 bytes ...kends.RosClient.inverse_kinematics.doctree | Bin 5480 -> 5480 bytes ..._fab.backends.RosClient.load_robot.doctree | Bin 15842 -> 15842 bytes .../compas_fab.backends.RosClient.off.doctree | Bin 7360 -> 7360 bytes .../compas_fab.backends.RosClient.on.doctree | Bin 6371 -> 6371 bytes ...as_fab.backends.RosClient.on_ready.doctree | Bin 7171 -> 7171 bytes ...ds.RosClient.plan_cartesian_motion.doctree | Bin 5527 -> 5527 bytes ...fab.backends.RosClient.plan_motion.doctree | Bin 5375 -> 5375 bytes ...ent.remove_attached_collision_mesh.doctree | Bin 5664 -> 5664 bytes ...ds.RosClient.remove_collision_mesh.doctree | Bin 5527 -> 5527 bytes ...nds.RosClient.reset_planning_scene.doctree | Bin 5512 -> 5512 bytes .../compas_fab.backends.RosClient.run.doctree | Bin 5741 -> 5741 bytes ....backends.RosClient.run_event_loop.doctree | Bin 4575 -> 4575 bytes ...fab.backends.RosClient.run_forever.doctree | Bin 5039 -> 5039 bytes ...b.backends.RosClient.send_on_ready.doctree | Bin 6380 -> 6380 bytes ...s_fab.backends.RosClient.set_param.doctree | Bin 7018 -> 7018 bytes ...ackends.RosClient.set_status_level.doctree | Bin 5030 -> 5030 bytes ...s_fab.backends.RosClient.terminate.doctree | Bin 4699 -> 4699 bytes .../compas_fab.backends.RosError.doctree | Bin 5486 -> 5486 bytes ....RosFileServerLoader.can_load_mesh.doctree | Bin 7518 -> 7518 bytes ...s_fab.backends.RosFileServerLoader.doctree | Bin 17725 -> 17725 bytes ...ends.RosFileServerLoader.load_mesh.doctree | Bin 8379 -> 8379 bytes ...ds.RosFileServerLoader.load_meshes.doctree | Bin 9131 -> 9131 bytes ...ends.RosFileServerLoader.load_srdf.doctree | Bin 8225 -> 8225 bytes ...ends.RosFileServerLoader.load_urdf.doctree | Bin 8140 -> 8140 bytes ...as_fab.backends.RosValidationError.doctree | Bin 5610 -> 5610 bytes ....backends.SphericalWristKinematics.doctree | Bin 8567 -> 8567 bytes ...s.SphericalWristKinematics.forward.doctree | Bin 5085 -> 5085 bytes ...s.SphericalWristKinematics.inverse.doctree | Bin 5070 -> 5070 bytes ....backends.Staubli_TX260LKinematics.doctree | Bin 9065 -> 9065 bytes ...s.Staubli_TX260LKinematics.forward.doctree | Bin 5087 -> 5087 bytes ...s.Staubli_TX260LKinematics.inverse.doctree | Bin 5072 -> 5072 bytes ...compas_fab.backends.UR10Kinematics.doctree | Bin 8800 -> 8800 bytes ...ab.backends.UR10Kinematics.forward.doctree | Bin 4924 -> 4924 bytes ...ab.backends.UR10Kinematics.inverse.doctree | Bin 4909 -> 4909 bytes ...ompas_fab.backends.UR10eKinematics.doctree | Bin 8821 -> 8821 bytes ...b.backends.UR10eKinematics.forward.doctree | Bin 4938 -> 4938 bytes ...b.backends.UR10eKinematics.inverse.doctree | Bin 4923 -> 4923 bytes .../compas_fab.backends.UR3Kinematics.doctree | Bin 8758 -> 8758 bytes ...fab.backends.UR3Kinematics.forward.doctree | Bin 4910 -> 4910 bytes ...fab.backends.UR3Kinematics.inverse.doctree | Bin 4895 -> 4895 bytes ...compas_fab.backends.UR3eKinematics.doctree | Bin 8797 -> 8797 bytes ...ab.backends.UR3eKinematics.forward.doctree | Bin 4924 -> 4924 bytes ...ab.backends.UR3eKinematics.inverse.doctree | Bin 4909 -> 4909 bytes .../compas_fab.backends.UR5Kinematics.doctree | Bin 8758 -> 8758 bytes ...fab.backends.UR5Kinematics.forward.doctree | Bin 4910 -> 4910 bytes ...fab.backends.UR5Kinematics.inverse.doctree | Bin 4895 -> 4895 bytes ...compas_fab.backends.UR5eKinematics.doctree | Bin 8798 -> 8798 bytes ...ab.backends.UR5eKinematics.forward.doctree | Bin 4924 -> 4924 bytes ...ab.backends.UR5eKinematics.inverse.doctree | Bin 4909 -> 4909 bytes ...hon.ReachabilityMapObject.ToString.doctree | Bin 6020 -> 6020 bytes ...ghpython.ReachabilityMapObject.add.doctree | Bin 10261 -> 10261 bytes ...python.ReachabilityMapObject.clear.doctree | Bin 4839 -> 4839 bytes ...hpython.ReachabilityMapObject.copy.doctree | Bin 8586 -> 8586 bytes ...fab.ghpython.ReachabilityMapObject.doctree | Bin 28393 -> 28393 bytes ...hpython.ReachabilityMapObject.draw.doctree | Bin 5312 -> 5312 bytes ...n.ReachabilityMapObject.draw_cloud.doctree | Bin 9146 -> 9146 bytes ....ReachabilityMapObject.draw_frames.doctree | Bin 7201 -> 7201 bytes ...on.ReachabilityMapObject.from_json.doctree | Bin 9536 -> 9536 bytes ...chabilityMapObject.from_jsonstring.doctree | Bin 9592 -> 9592 bytes ...ython.ReachabilityMapObject.remove.doctree | Bin 7562 -> 7562 bytes ...ython.ReachabilityMapObject.sha256.doctree | Bin 8400 -> 8400 bytes ...thon.ReachabilityMapObject.to_json.doctree | Bin 7832 -> 7832 bytes ...eachabilityMapObject.to_jsonstring.doctree | Bin 7738 -> 7738 bytes ...hon.ReachabilityMapObject.traverse.doctree | Bin 11472 -> 11472 bytes ...eachabilityMapObject.validate_data.doctree | Bin 7866 -> 7866 bytes ...ino.ReachabilityMapObject.ToString.doctree | Bin 6008 -> 6008 bytes ...ab.rhino.ReachabilityMapObject.add.doctree | Bin 10246 -> 10246 bytes ...ReachabilityMapObject.add_to_group.doctree | Bin 7997 -> 7997 bytes ....rhino.ReachabilityMapObject.clear.doctree | Bin 4827 -> 4827 bytes ....ReachabilityMapObject.clear_layer.doctree | Bin 5797 -> 5797 bytes ...bilityMapObject.compile_attributes.doctree | Bin 10930 -> 10930 bytes ...b.rhino.ReachabilityMapObject.copy.doctree | Bin 8571 -> 8571 bytes ...as_fab.rhino.ReachabilityMapObject.doctree | Bin 34477 -> 34477 bytes ...b.rhino.ReachabilityMapObject.draw.doctree | Bin 5285 -> 5285 bytes ...o.ReachabilityMapObject.draw_cloud.doctree | Bin 10016 -> 10016 bytes ....ReachabilityMapObject.draw_frames.doctree | Bin 8068 -> 8068 bytes ...no.ReachabilityMapObject.from_json.doctree | Bin 9521 -> 9521 bytes ...chabilityMapObject.from_jsonstring.doctree | Bin 9577 -> 9577 bytes ...no.ReachabilityMapObject.get_group.doctree | Bin 7318 -> 7318 bytes ...rhino.ReachabilityMapObject.remove.doctree | Bin 7547 -> 7547 bytes ...rhino.ReachabilityMapObject.sha256.doctree | Bin 8388 -> 8388 bytes ...hino.ReachabilityMapObject.to_json.doctree | Bin 7820 -> 7820 bytes ...eachabilityMapObject.to_jsonstring.doctree | Bin 7726 -> 7726 bytes ...ino.ReachabilityMapObject.traverse.doctree | Bin 11457 -> 11457 bytes ...eachabilityMapObject.validate_data.doctree | Bin 7854 -> 7854 bytes ...ots.AttachedCollisionMesh.ToString.doctree | Bin 6012 -> 6012 bytes ....robots.AttachedCollisionMesh.copy.doctree | Bin 8576 -> 8576 bytes ...s_fab.robots.AttachedCollisionMesh.doctree | Bin 30781 -> 30781 bytes ...ts.AttachedCollisionMesh.from_json.doctree | Bin 9526 -> 9526 bytes ...achedCollisionMesh.from_jsonstring.doctree | Bin 9582 -> 9582 bytes ...obots.AttachedCollisionMesh.sha256.doctree | Bin 8392 -> 8392 bytes ...bots.AttachedCollisionMesh.to_json.doctree | Bin 7824 -> 7824 bytes ...ttachedCollisionMesh.to_jsonstring.doctree | Bin 7730 -> 7730 bytes ...ttachedCollisionMesh.validate_data.doctree | Bin 7858 -> 7858 bytes ...fab.robots.BoundingVolume.ToString.doctree | Bin 5914 -> 5914 bytes ...pas_fab.robots.BoundingVolume.copy.doctree | Bin 6298 -> 6298 bytes .../compas_fab.robots.BoundingVolume.doctree | Bin 37667 -> 37667 bytes ...fab.robots.BoundingVolume.from_box.doctree | Bin 9839 -> 9839 bytes ...ab.robots.BoundingVolume.from_json.doctree | Bin 9414 -> 9414 bytes ...ots.BoundingVolume.from_jsonstring.doctree | Bin 9470 -> 9470 bytes ...ab.robots.BoundingVolume.from_mesh.doctree | Bin 9973 -> 9973 bytes ....robots.BoundingVolume.from_sphere.doctree | Bin 9936 -> 9936 bytes ...as_fab.robots.BoundingVolume.scale.doctree | Bin 6612 -> 6612 bytes ...s_fab.robots.BoundingVolume.sha256.doctree | Bin 8294 -> 8294 bytes ..._fab.robots.BoundingVolume.to_json.doctree | Bin 7726 -> 7726 bytes ...obots.BoundingVolume.to_jsonstring.doctree | Bin 7632 -> 7632 bytes ...ab.robots.BoundingVolume.transform.doctree | Bin 7768 -> 7768 bytes ...obots.BoundingVolume.validate_data.doctree | Bin 7760 -> 7760 bytes ..._fab.robots.CollisionMesh.ToString.doctree | Bin 5900 -> 5900 bytes ...mpas_fab.robots.CollisionMesh.copy.doctree | Bin 8448 -> 8448 bytes .../compas_fab.robots.CollisionMesh.doctree | Bin 35145 -> 35145 bytes ...fab.robots.CollisionMesh.from_json.doctree | Bin 9398 -> 9398 bytes ...bots.CollisionMesh.from_jsonstring.doctree | Bin 9454 -> 9454 bytes ...pas_fab.robots.CollisionMesh.scale.doctree | Bin 6514 -> 6514 bytes ...as_fab.robots.CollisionMesh.scaled.doctree | Bin 6572 -> 6572 bytes ...as_fab.robots.CollisionMesh.sha256.doctree | Bin 8280 -> 8280 bytes ...s_fab.robots.CollisionMesh.to_json.doctree | Bin 7712 -> 7712 bytes ...robots.CollisionMesh.to_jsonstring.doctree | Bin 7618 -> 7618 bytes ...robots.CollisionMesh.validate_data.doctree | Bin 7746 -> 7746 bytes ...obots.ConfigurationTarget.ToString.doctree | Bin 5984 -> 5984 bytes ...ab.robots.ConfigurationTarget.copy.doctree | Bin 8544 -> 8544 bytes ...pas_fab.robots.ConfigurationTarget.doctree | Bin 29584 -> 29584 bytes ...bots.ConfigurationTarget.from_json.doctree | Bin 9494 -> 9494 bytes ...onfigurationTarget.from_jsonstring.doctree | Bin 9550 -> 9550 bytes ...Target.generate_default_tolerances.doctree | Bin 14265 -> 14265 bytes ....robots.ConfigurationTarget.scaled.doctree | Bin 8260 -> 8260 bytes ....robots.ConfigurationTarget.sha256.doctree | Bin 8364 -> 8364 bytes ...robots.ConfigurationTarget.to_json.doctree | Bin 7796 -> 7796 bytes ....ConfigurationTarget.to_jsonstring.doctree | Bin 7702 -> 7702 bytes ....ConfigurationTarget.validate_data.doctree | Bin 7830 -> 7830 bytes ...pas_fab.robots.Constraint.ToString.doctree | Bin 5858 -> 5858 bytes .../compas_fab.robots.Constraint.copy.doctree | Bin 6159 -> 6159 bytes .../compas_fab.robots.Constraint.doctree | Bin 29695 -> 29695 bytes ...as_fab.robots.Constraint.from_json.doctree | Bin 9350 -> 9350 bytes ....robots.Constraint.from_jsonstring.doctree | Bin 9406 -> 9406 bytes ...compas_fab.robots.Constraint.scale.doctree | Bin 5251 -> 5251 bytes ...ompas_fab.robots.Constraint.scaled.doctree | Bin 7315 -> 7315 bytes ...ompas_fab.robots.Constraint.sha256.doctree | Bin 8238 -> 8238 bytes ...mpas_fab.robots.Constraint.to_json.doctree | Bin 7670 -> 7670 bytes ...ab.robots.Constraint.to_jsonstring.doctree | Bin 7576 -> 7576 bytes ...as_fab.robots.Constraint.transform.doctree | Bin 5333 -> 5333 bytes ...ab.robots.Constraint.validate_data.doctree | Bin 7704 -> 7704 bytes ...obots.ConstraintSetTarget.ToString.doctree | Bin 5984 -> 5984 bytes ...ab.robots.ConstraintSetTarget.copy.doctree | Bin 8544 -> 8544 bytes ...pas_fab.robots.ConstraintSetTarget.doctree | Bin 24232 -> 24232 bytes ...bots.ConstraintSetTarget.from_json.doctree | Bin 9494 -> 9494 bytes ...onstraintSetTarget.from_jsonstring.doctree | Bin 9550 -> 9550 bytes ....robots.ConstraintSetTarget.scaled.doctree | Bin 6011 -> 6011 bytes ....robots.ConstraintSetTarget.sha256.doctree | Bin 8364 -> 8364 bytes ...robots.ConstraintSetTarget.to_json.doctree | Bin 7796 -> 7796 bytes ....ConstraintSetTarget.to_jsonstring.doctree | Bin 7702 -> 7702 bytes ....ConstraintSetTarget.validate_data.doctree | Bin 7830 -> 7830 bytes ...b.robots.DeviationVectorsGenerator.doctree | Bin 11465 -> 11465 bytes ...ompas_fab.robots.Duration.ToString.doctree | Bin 5830 -> 5830 bytes .../compas_fab.robots.Duration.copy.doctree | Bin 8368 -> 8368 bytes .../compas_fab.robots.Duration.doctree | Bin 24252 -> 24252 bytes ...mpas_fab.robots.Duration.from_json.doctree | Bin 9318 -> 9318 bytes ...ab.robots.Duration.from_jsonstring.doctree | Bin 9374 -> 9374 bytes .../compas_fab.robots.Duration.sha256.doctree | Bin 8210 -> 8210 bytes ...compas_fab.robots.Duration.to_json.doctree | Bin 7642 -> 7642 bytes ..._fab.robots.Duration.to_jsonstring.doctree | Bin 7548 -> 7548 bytes ..._fab.robots.Duration.validate_data.doctree | Bin 7676 -> 7676 bytes ...as_fab.robots.FrameTarget.ToString.doctree | Bin 5872 -> 5872 bytes ...compas_fab.robots.FrameTarget.copy.doctree | Bin 8416 -> 8416 bytes .../compas_fab.robots.FrameTarget.doctree | Bin 29935 -> 29935 bytes ...s_fab.robots.FrameTarget.from_json.doctree | Bin 9366 -> 9366 bytes ...robots.FrameTarget.from_jsonstring.doctree | Bin 9422 -> 9422 bytes ...ts.FrameTarget.from_transformation.doctree | Bin 15367 -> 15367 bytes ...mpas_fab.robots.FrameTarget.scaled.doctree | Bin 8195 -> 8195 bytes ...mpas_fab.robots.FrameTarget.sha256.doctree | Bin 8252 -> 8252 bytes ...pas_fab.robots.FrameTarget.to_json.doctree | Bin 7684 -> 7684 bytes ...b.robots.FrameTarget.to_jsonstring.doctree | Bin 7590 -> 7590 bytes ...b.robots.FrameTarget.validate_data.doctree | Bin 7718 -> 7718 bytes ...fab.robots.FrameWaypoints.ToString.doctree | Bin 5914 -> 5914 bytes ...pas_fab.robots.FrameWaypoints.copy.doctree | Bin 8464 -> 8464 bytes .../compas_fab.robots.FrameWaypoints.doctree | Bin 29113 -> 29113 bytes ...ab.robots.FrameWaypoints.from_json.doctree | Bin 9414 -> 9414 bytes ...ots.FrameWaypoints.from_jsonstring.doctree | Bin 9470 -> 9470 bytes ...rameWaypoints.from_transformations.doctree | Bin 16607 -> 16607 bytes ...s_fab.robots.FrameWaypoints.scaled.doctree | Bin 8296 -> 8296 bytes ...s_fab.robots.FrameWaypoints.sha256.doctree | Bin 8294 -> 8294 bytes ..._fab.robots.FrameWaypoints.to_json.doctree | Bin 7726 -> 7726 bytes ...obots.FrameWaypoints.to_jsonstring.doctree | Bin 7632 -> 7632 bytes ...obots.FrameWaypoints.validate_data.doctree | Bin 7760 -> 7760 bytes ...s.Inertia.calculate_inertia_tensor.doctree | Bin 5477 -> 5477 bytes .../compas_fab.robots.Inertia.doctree | Bin 13594 -> 13594 bytes ...ab.robots.JointConstraint.ToString.doctree | Bin 5928 -> 5928 bytes ...as_fab.robots.JointConstraint.copy.doctree | Bin 6274 -> 6274 bytes .../compas_fab.robots.JointConstraint.doctree | Bin 36703 -> 36703 bytes ...b.robots.JointConstraint.from_json.doctree | Bin 9430 -> 9430 bytes ...ts.JointConstraint.from_jsonstring.doctree | Bin 9486 -> 9486 bytes ...int_constraints_from_configuration.doctree | Bin 14941 -> 14941 bytes ...s_fab.robots.JointConstraint.scale.doctree | Bin 6768 -> 6768 bytes ..._fab.robots.JointConstraint.scaled.doctree | Bin 7395 -> 7395 bytes ..._fab.robots.JointConstraint.sha256.doctree | Bin 8308 -> 8308 bytes ...fab.robots.JointConstraint.to_json.doctree | Bin 7740 -> 7740 bytes ...bots.JointConstraint.to_jsonstring.doctree | Bin 7646 -> 7646 bytes ...b.robots.JointConstraint.transform.doctree | Bin 5413 -> 5413 bytes ...bots.JointConstraint.validate_data.doctree | Bin 7774 -> 7774 bytes ...ab.robots.JointTrajectory.ToString.doctree | Bin 5928 -> 5928 bytes ...as_fab.robots.JointTrajectory.copy.doctree | Bin 8480 -> 8480 bytes .../compas_fab.robots.JointTrajectory.doctree | Bin 35935 -> 35935 bytes ...b.robots.JointTrajectory.from_json.doctree | Bin 9430 -> 9430 bytes ...ts.JointTrajectory.from_jsonstring.doctree | Bin 9486 -> 9486 bytes ..._fab.robots.JointTrajectory.sha256.doctree | Bin 8308 -> 8308 bytes ...fab.robots.JointTrajectory.to_json.doctree | Bin 7740 -> 7740 bytes ...bots.JointTrajectory.to_jsonstring.doctree | Bin 7646 -> 7646 bytes ...bots.JointTrajectory.validate_data.doctree | Bin 7774 -> 7774 bytes ...bots.JointTrajectoryPoint.ToString.doctree | Bin 5998 -> 5998 bytes ...tTrajectoryPoint.check_joint_names.doctree | Bin 5092 -> 5092 bytes ...bots.JointTrajectoryPoint.close_to.doctree | Bin 10970 -> 10970 bytes ...b.robots.JointTrajectoryPoint.copy.doctree | Bin 8560 -> 8560 bytes ...as_fab.robots.JointTrajectoryPoint.doctree | Bin 62443 -> 62443 bytes ...ots.JointTrajectoryPoint.from_json.doctree | Bin 9510 -> 9510 bytes ...intTrajectoryPoint.from_jsonstring.doctree | Bin 9566 -> 9566 bytes ...from_prismatic_and_revolute_values.doctree | Bin 11421 -> 11421 bytes ...ajectoryPoint.from_revolute_values.doctree | Bin 9994 -> 9994 bytes ...ab.robots.JointTrajectoryPoint.get.doctree | Bin 5319 -> 5319 bytes ....robots.JointTrajectoryPoint.items.doctree | Bin 4677 -> 4677 bytes ...ntTrajectoryPoint.iter_differences.doctree | Bin 10675 -> 10675 bytes ...b.robots.JointTrajectoryPoint.keys.doctree | Bin 4662 -> 4662 bytes ...ointTrajectoryPoint.max_difference.doctree | Bin 8592 -> 8592 bytes ....robots.JointTrajectoryPoint.merge.doctree | Bin 9060 -> 9060 bytes ...robots.JointTrajectoryPoint.merged.doctree | Bin 11693 -> 11693 bytes ....robots.JointTrajectoryPoint.scale.doctree | Bin 7250 -> 7250 bytes ...robots.JointTrajectoryPoint.scaled.doctree | Bin 7235 -> 7235 bytes ...robots.JointTrajectoryPoint.sha256.doctree | Bin 8378 -> 8378 bytes ...obots.JointTrajectoryPoint.to_json.doctree | Bin 7810 -> 7810 bytes ...JointTrajectoryPoint.to_jsonstring.doctree | Bin 7716 -> 7716 bytes ...JointTrajectoryPoint.validate_data.doctree | Bin 7844 -> 7844 bytes ...robots.JointTrajectoryPoint.values.doctree | Bin 4692 -> 4692 bytes ...ots.OrientationConstraint.ToString.doctree | Bin 6012 -> 6012 bytes ....robots.OrientationConstraint.copy.doctree | Bin 6436 -> 6436 bytes ...s_fab.robots.OrientationConstraint.doctree | Bin 40828 -> 40828 bytes ...s.OrientationConstraint.from_frame.doctree | Bin 19602 -> 19602 bytes ...ts.OrientationConstraint.from_json.doctree | Bin 9526 -> 9526 bytes ...entationConstraint.from_jsonstring.doctree | Bin 9582 -> 9582 bytes ...robots.OrientationConstraint.scale.doctree | Bin 5427 -> 5427 bytes ...obots.OrientationConstraint.scaled.doctree | Bin 7491 -> 7491 bytes ...obots.OrientationConstraint.sha256.doctree | Bin 8392 -> 8392 bytes ...bots.OrientationConstraint.to_json.doctree | Bin 7824 -> 7824 bytes ...rientationConstraint.to_jsonstring.doctree | Bin 7730 -> 7730 bytes ...ts.OrientationConstraint.transform.doctree | Bin 7290 -> 7290 bytes ...rientationConstraint.validate_data.doctree | Bin 7858 -> 7858 bytes ...rthonormalVectorsFromAxisGenerator.doctree | Bin 10372 -> 10372 bytes ...gScene.add_attached_collision_mesh.doctree | Bin 13499 -> 13499 bytes ...ts.PlanningScene.add_attached_tool.doctree | Bin 5781 -> 5781 bytes ...s.PlanningScene.add_collision_mesh.doctree | Bin 11672 -> 11672 bytes ...lanningScene.append_collision_mesh.doctree | Bin 13319 -> 13319 bytes ...llision_mesh_to_robot_end_effector.doctree | Bin 12633 -> 12633 bytes .../compas_fab.robots.PlanningScene.doctree | Bin 23395 -> 23395 bytes ...robots.PlanningScene.ensure_client.doctree | Bin 6251 -> 6251 bytes ...ene.remove_attached_collision_mesh.doctree | Bin 9788 -> 9788 bytes ...PlanningScene.remove_attached_tool.doctree | Bin 4908 -> 4908 bytes ...lanningScene.remove_collision_mesh.doctree | Bin 8662 -> 8662 bytes ...pas_fab.robots.PlanningScene.reset.doctree | Bin 4689 -> 4689 bytes ...ab.robots.PointAxisTarget.ToString.doctree | Bin 5928 -> 5928 bytes ...as_fab.robots.PointAxisTarget.copy.doctree | Bin 8480 -> 8480 bytes .../compas_fab.robots.PointAxisTarget.doctree | Bin 30191 -> 30191 bytes ...b.robots.PointAxisTarget.from_json.doctree | Bin 9430 -> 9430 bytes ...ts.PointAxisTarget.from_jsonstring.doctree | Bin 9486 -> 9486 bytes ..._fab.robots.PointAxisTarget.scaled.doctree | Bin 7394 -> 7394 bytes ..._fab.robots.PointAxisTarget.sha256.doctree | Bin 8308 -> 8308 bytes ...fab.robots.PointAxisTarget.to_json.doctree | Bin 7740 -> 7740 bytes ...bots.PointAxisTarget.to_jsonstring.doctree | Bin 7646 -> 7646 bytes ...bots.PointAxisTarget.validate_data.doctree | Bin 7774 -> 7774 bytes ...robots.PointAxisWaypoints.ToString.doctree | Bin 5970 -> 5970 bytes ...fab.robots.PointAxisWaypoints.copy.doctree | Bin 8528 -> 8528 bytes ...mpas_fab.robots.PointAxisWaypoints.doctree | Bin 28477 -> 28477 bytes ...obots.PointAxisWaypoints.from_json.doctree | Bin 9478 -> 9478 bytes ...PointAxisWaypoints.from_jsonstring.doctree | Bin 9534 -> 9534 bytes ...b.robots.PointAxisWaypoints.scaled.doctree | Bin 7477 -> 7477 bytes ...b.robots.PointAxisWaypoints.sha256.doctree | Bin 8350 -> 8350 bytes ....robots.PointAxisWaypoints.to_json.doctree | Bin 7782 -> 7782 bytes ...s.PointAxisWaypoints.to_jsonstring.doctree | Bin 7688 -> 7688 bytes ...s.PointAxisWaypoints.validate_data.doctree | Bin 7816 -> 7816 bytes ...robots.PositionConstraint.ToString.doctree | Bin 5970 -> 5970 bytes ...fab.robots.PositionConstraint.copy.doctree | Bin 6355 -> 6355 bytes ...mpas_fab.robots.PositionConstraint.doctree | Bin 40922 -> 40922 bytes ...robots.PositionConstraint.from_box.doctree | Bin 12700 -> 12700 bytes ...bots.PositionConstraint.from_frame.doctree | Bin 19940 -> 19940 bytes ...obots.PositionConstraint.from_json.doctree | Bin 9478 -> 9478 bytes ...PositionConstraint.from_jsonstring.doctree | Bin 9534 -> 9534 bytes ...obots.PositionConstraint.from_mesh.doctree | Bin 13145 -> 13145 bytes ...bots.PositionConstraint.from_point.doctree | Bin 13673 -> 13673 bytes ...ots.PositionConstraint.from_sphere.doctree | Bin 13243 -> 13243 bytes ...ab.robots.PositionConstraint.scale.doctree | Bin 7465 -> 7465 bytes ...b.robots.PositionConstraint.scaled.doctree | Bin 7443 -> 7443 bytes ...b.robots.PositionConstraint.sha256.doctree | Bin 8350 -> 8350 bytes ....robots.PositionConstraint.to_json.doctree | Bin 7782 -> 7782 bytes ...s.PositionConstraint.to_jsonstring.doctree | Bin 7688 -> 7688 bytes ...obots.PositionConstraint.transform.doctree | Bin 7601 -> 7601 bytes ...s.PositionConstraint.validate_data.doctree | Bin 7816 -> 7816 bytes ...ab.robots.ReachabilityMap.ToString.doctree | Bin 5928 -> 5928 bytes ...b.robots.ReachabilityMap.calculate.doctree | Bin 11517 -> 11517 bytes ...as_fab.robots.ReachabilityMap.copy.doctree | Bin 8480 -> 8480 bytes .../compas_fab.robots.ReachabilityMap.doctree | Bin 27247 -> 27247 bytes ...b.robots.ReachabilityMap.from_json.doctree | Bin 9430 -> 9430 bytes ...ts.ReachabilityMap.from_jsonstring.doctree | Bin 9486 -> 9486 bytes ...mes_and_configurations_at_ik_index.doctree | Bin 5715 -> 5715 bytes ..._fab.robots.ReachabilityMap.sha256.doctree | Bin 8308 -> 8308 bytes ...fab.robots.ReachabilityMap.to_json.doctree | Bin 7740 -> 7740 bytes ...bots.ReachabilityMap.to_jsonstring.doctree | Bin 7646 -> 7646 bytes ...bots.ReachabilityMap.validate_data.doctree | Bin 7774 -> 7774 bytes .../compas_fab.robots.Robot.ToString.doctree | Bin 5788 -> 5788 bytes ...ompas_fab.robots.Robot.attach_tool.doctree | Bin 12878 -> 12878 bytes .../compas_fab.robots.Robot.basic.doctree | Bin 17008 -> 17008 bytes .../compas_fab.robots.Robot.copy.doctree | Bin 8320 -> 8320 bytes ...ompas_fab.robots.Robot.detach_tool.doctree | Bin 7792 -> 7792 bytes .../generated/compas_fab.robots.Robot.doctree | Bin 104779 -> 104779 bytes .../compas_fab.robots.Robot.draw.doctree | Bin 4866 -> 4866 bytes ...as_fab.robots.Robot.draw_collision.doctree | Bin 5146 -> 5146 bytes ...ompas_fab.robots.Robot.draw_visual.doctree | Bin 5092 -> 5092 bytes ...pas_fab.robots.Robot.ensure_client.doctree | Bin 6249 -> 6249 bytes ...s_fab.robots.Robot.ensure_geometry.doctree | Bin 6005 -> 6005 bytes ..._fab.robots.Robot.ensure_semantics.doctree | Bin 6317 -> 6317 bytes ...ab.robots.Robot.forward_kinematics.doctree | Bin 22682 -> 22682 bytes .../compas_fab.robots.Robot.from_json.doctree | Bin 9270 -> 9270 bytes ...s_fab.robots.Robot.from_jsonstring.doctree | Bin 9326 -> 9326 bytes ..._fab.robots.Robot.from_t0cf_to_tcf.doctree | Bin 13779 -> 13779 bytes ..._fab.robots.Robot.from_tcf_to_t0cf.doctree | Bin 13442 -> 13442 bytes .../compas_fab.robots.Robot.get_RCF.doctree | Bin 8049 -> 8049 bytes ...get_attached_tool_collision_meshes.doctree | Bin 6404 -> 6404 bytes ...as_fab.robots.Robot.get_base_frame.doctree | Bin 10380 -> 10380 bytes ...pas_fab.robots.Robot.get_base_link.doctree | Bin 8411 -> 8411 bytes ...ab.robots.Robot.get_base_link_name.doctree | Bin 8116 -> 8116 bytes ...Robot.get_configurable_joint_names.doctree | Bin 9605 -> 9605 bytes ...Robot.get_configurable_joint_types.doctree | Bin 9968 -> 9968 bytes ...bots.Robot.get_configurable_joints.doctree | Bin 9689 -> 9689 bytes ...get_configuration_from_group_state.doctree | Bin 10172 -> 10172 bytes ...obots.Robot.get_end_effector_frame.doctree | Bin 10444 -> 10444 bytes ...robots.Robot.get_end_effector_link.doctree | Bin 8565 -> 8565 bytes ...s.Robot.get_end_effector_link_name.doctree | Bin 8518 -> 8518 bytes ...bots.Robot.get_group_configuration.doctree | Bin 9487 -> 9487 bytes ...bot.get_group_names_from_link_name.doctree | Bin 8378 -> 8378 bytes ...fab.robots.Robot.get_joint_by_name.doctree | Bin 7506 -> 7506 bytes ...ots.Robot.get_joint_types_by_names.doctree | Bin 8633 -> 8633 bytes ...as_fab.robots.Robot.get_link_names.doctree | Bin 9053 -> 9053 bytes ...link_names_with_collision_geometry.doctree | Bin 7248 -> 7248 bytes ...s.Robot.get_position_by_joint_name.doctree | Bin 12873 -> 12873 bytes .../compas_fab.robots.Robot.info.doctree | Bin 4444 -> 4444 bytes ...ab.robots.Robot.inverse_kinematics.doctree | Bin 22171 -> 22171 bytes ...bots.Robot.iter_inverse_kinematics.doctree | Bin 21852 -> 21852 bytes ...erge_group_with_full_configuration.doctree | Bin 13909 -> 13909 bytes ...robots.Robot.plan_cartesian_motion.doctree | Bin 25085 -> 25085 bytes ...ompas_fab.robots.Robot.plan_motion.doctree | Bin 25127 -> 25127 bytes ....robots.Robot.random_configuration.doctree | Bin 8489 -> 8489 bytes .../compas_fab.robots.Robot.scale.doctree | Bin 7085 -> 7085 bytes .../compas_fab.robots.Robot.set_RCF.doctree | Bin 6734 -> 6734 bytes .../compas_fab.robots.Robot.sha256.doctree | Bin 8168 -> 8168 bytes .../compas_fab.robots.Robot.to_json.doctree | Bin 7600 -> 7600 bytes ...pas_fab.robots.Robot.to_jsonstring.doctree | Bin 7506 -> 7506 bytes ....robots.Robot.to_local_coordinates.doctree | Bin 10987 -> 10987 bytes ....robots.Robot.to_world_coordinates.doctree | Bin 10987 -> 10987 bytes ...obots.Robot.transformation_RCF_WCF.doctree | Bin 8338 -> 8338 bytes ...obots.Robot.transformation_WCF_RCF.doctree | Bin 8338 -> 8338 bytes ..._fab.robots.Robot.transformed_axes.doctree | Bin 10243 -> 10243 bytes ...ab.robots.Robot.transformed_frames.doctree | Bin 10289 -> 10289 bytes .../compas_fab.robots.Robot.update.doctree | Bin 12894 -> 12894 bytes ...pas_fab.robots.Robot.validate_data.doctree | Bin 7634 -> 7634 bytes ...ab.robots.Robot.zero_configuration.doctree | Bin 6561 -> 6561 bytes ...ts.RobotLibrary.abb_irb4600_40_255.doctree | Bin 10681 -> 10681 bytes .../compas_fab.robots.RobotLibrary.doctree | Bin 12506 -> 12506 bytes ...compas_fab.robots.RobotLibrary.rfl.doctree | Bin 10510 -> 10510 bytes ...mpas_fab.robots.RobotLibrary.ur10e.doctree | Bin 10439 -> 10439 bytes ...compas_fab.robots.RobotLibrary.ur5.doctree | Bin 10402 -> 10402 bytes ...fab.robots.RobotSemantics.ToString.doctree | Bin 5914 -> 5914 bytes ...pas_fab.robots.RobotSemantics.copy.doctree | Bin 8464 -> 8464 bytes .../compas_fab.robots.RobotSemantics.doctree | Bin 54134 -> 54134 bytes ...ab.robots.RobotSemantics.from_json.doctree | Bin 9414 -> 9414 bytes ...ots.RobotSemantics.from_jsonstring.doctree | Bin 9470 -> 9470 bytes ...bots.RobotSemantics.from_srdf_file.doctree | Bin 9668 -> 9668 bytes ...ts.RobotSemantics.from_srdf_string.doctree | Bin 5587 -> 5587 bytes ...fab.robots.RobotSemantics.from_xml.doctree | Bin 5458 -> 5458 bytes ...antics.get_all_configurable_joints.doctree | Bin 8270 -> 8270 bytes ....RobotSemantics.get_base_link_name.doctree | Bin 8369 -> 8369 bytes ...ntics.get_configurable_joint_names.doctree | Bin 9397 -> 9397 bytes ...tSemantics.get_configurable_joints.doctree | Bin 10460 -> 10460 bytes ...mantics.get_end_effector_link_name.doctree | Bin 8545 -> 8545 bytes ...s_fab.robots.RobotSemantics.sha256.doctree | Bin 8294 -> 8294 bytes ..._fab.robots.RobotSemantics.to_json.doctree | Bin 7726 -> 7726 bytes ...obots.RobotSemantics.to_jsonstring.doctree | Bin 7632 -> 7632 bytes ...obots.RobotSemantics.validate_data.doctree | Bin 7760 -> 7760 bytes .../compas_fab.robots.Target.ToString.doctree | Bin 5802 -> 5802 bytes .../compas_fab.robots.Target.copy.doctree | Bin 8336 -> 8336 bytes .../compas_fab.robots.Target.doctree | Bin 23217 -> 23217 bytes ...compas_fab.robots.Target.from_json.doctree | Bin 9286 -> 9286 bytes ..._fab.robots.Target.from_jsonstring.doctree | Bin 9342 -> 9342 bytes .../compas_fab.robots.Target.scaled.doctree | Bin 7427 -> 7427 bytes .../compas_fab.robots.Target.sha256.doctree | Bin 8182 -> 8182 bytes .../compas_fab.robots.Target.to_json.doctree | Bin 7614 -> 7614 bytes ...as_fab.robots.Target.to_jsonstring.doctree | Bin 7520 -> 7520 bytes ...as_fab.robots.Target.validate_data.doctree | Bin 7648 -> 7648 bytes .../compas_fab.robots.Tool.ToString.doctree | Bin 5774 -> 5774 bytes .../compas_fab.robots.Tool.copy.doctree | Bin 8304 -> 8304 bytes .../generated/compas_fab.robots.Tool.doctree | Bin 35772 -> 35772 bytes .../compas_fab.robots.Tool.from_json.doctree | Bin 9254 -> 9254 bytes ...as_fab.robots.Tool.from_jsonstring.doctree | Bin 9310 -> 9310 bytes ...s_fab.robots.Tool.from_t0cf_to_tcf.doctree | Bin 10105 -> 10105 bytes ...s_fab.robots.Tool.from_tcf_to_t0cf.doctree | Bin 10061 -> 10061 bytes ...as_fab.robots.Tool.from_tool_model.doctree | Bin 4968 -> 4968 bytes .../compas_fab.robots.Tool.sha256.doctree | Bin 8154 -> 8154 bytes .../compas_fab.robots.Tool.to_json.doctree | Bin 7586 -> 7586 bytes ...mpas_fab.robots.Tool.to_jsonstring.doctree | Bin 7492 -> 7492 bytes ...fab.robots.Tool.update_touch_links.doctree | Bin 4976 -> 4976 bytes ...mpas_fab.robots.Tool.validate_data.doctree | Bin 7620 -> 7620 bytes ...pas_fab.robots.Trajectory.ToString.doctree | Bin 5858 -> 5858 bytes .../compas_fab.robots.Trajectory.copy.doctree | Bin 8400 -> 8400 bytes .../compas_fab.robots.Trajectory.doctree | Bin 18657 -> 18657 bytes ...as_fab.robots.Trajectory.from_json.doctree | Bin 9350 -> 9350 bytes ....robots.Trajectory.from_jsonstring.doctree | Bin 9406 -> 9406 bytes ...ompas_fab.robots.Trajectory.sha256.doctree | Bin 8238 -> 8238 bytes ...mpas_fab.robots.Trajectory.to_json.doctree | Bin 7670 -> 7670 bytes ...ab.robots.Trajectory.to_jsonstring.doctree | Bin 7576 -> 7576 bytes ...ab.robots.Trajectory.validate_data.doctree | Bin 7704 -> 7704 bytes ...mpas_fab.robots.Waypoints.ToString.doctree | Bin 5844 -> 5844 bytes .../compas_fab.robots.Waypoints.copy.doctree | Bin 8384 -> 8384 bytes .../compas_fab.robots.Waypoints.doctree | Bin 25291 -> 25291 bytes ...pas_fab.robots.Waypoints.from_json.doctree | Bin 9334 -> 9334 bytes ...b.robots.Waypoints.from_jsonstring.doctree | Bin 9390 -> 9390 bytes ...compas_fab.robots.Waypoints.scaled.doctree | Bin 7515 -> 7515 bytes ...compas_fab.robots.Waypoints.sha256.doctree | Bin 8224 -> 8224 bytes ...ompas_fab.robots.Waypoints.to_json.doctree | Bin 7656 -> 7656 bytes ...fab.robots.Waypoints.to_jsonstring.doctree | Bin 7562 -> 7562 bytes ...fab.robots.Waypoints.validate_data.doctree | Bin 7690 -> 7690 bytes .../compas_fab.robots.Wrench.ToString.doctree | Bin 5802 -> 5802 bytes ...ompas_fab.robots.Wrench.by_samples.doctree | Bin 10318 -> 10318 bytes .../compas_fab.robots.Wrench.copy.doctree | Bin 5499 -> 5499 bytes .../compas_fab.robots.Wrench.doctree | Bin 26374 -> 26374 bytes ...compas_fab.robots.Wrench.from_json.doctree | Bin 9286 -> 9286 bytes ..._fab.robots.Wrench.from_jsonstring.doctree | Bin 9342 -> 9342 bytes ...compas_fab.robots.Wrench.from_list.doctree | Bin 9022 -> 9022 bytes ....robots.Wrench.gravity_compensated.doctree | Bin 14413 -> 14413 bytes .../compas_fab.robots.Wrench.sha256.doctree | Bin 8182 -> 8182 bytes .../compas_fab.robots.Wrench.to_json.doctree | Bin 7614 -> 7614 bytes ...as_fab.robots.Wrench.to_jsonstring.doctree | Bin 7520 -> 7520 bytes ...compas_fab.robots.Wrench.transform.doctree | Bin 8105 -> 8105 bytes ...mpas_fab.robots.Wrench.transformed.doctree | Bin 8279 -> 8279 bytes ...as_fab.robots.Wrench.validate_data.doctree | Bin 7648 -> 7648 bytes .../compas_fab.robots.to_degrees.doctree | Bin 8188 -> 8188 bytes .../compas_fab.robots.to_radians.doctree | Bin 8252 -> 8252 bytes ...nsors.PosCon3D.activate_flex_mount.doctree | Bin 5405 -> 5405 bytes ...ors.PosCon3D.adjust_to_dark_object.doctree | Bin 5082 -> 5082 bytes .../compas_fab.sensors.PosCon3D.begin.doctree | Bin 5278 -> 5278 bytes ...ensors.PosCon3D.calculate_checksum.doctree | Bin 4950 -> 4950 bytes ...ors.PosCon3D.deactivate_flex_mount.doctree | Bin 4766 -> 4766 bytes .../compas_fab.sensors.PosCon3D.doctree | Bin 34606 -> 34606 bytes .../compas_fab.sensors.PosCon3D.end.doctree | Bin 5245 -> 5245 bytes ...ab.sensors.PosCon3D.format_command.doctree | Bin 5500 -> 5500 bytes ...s_fab.sensors.PosCon3D.get_address.doctree | Bin 6542 -> 6542 bytes ...ors.PosCon3D.get_live_monitor_data.doctree | Bin 6382 -> 6382 bytes ...b.sensors.PosCon3D.get_measurement.doctree | Bin 6080 -> 6080 bytes ...s_fab.sensors.PosCon3D.get_payload.doctree | Bin 4802 -> 4802 bytes .../compas_fab.sensors.PosCon3D.reset.doctree | Bin 4528 -> 4528 bytes ..._fab.sensors.PosCon3D.send_command.doctree | Bin 12475 -> 12475 bytes ...b.sensors.PosCon3D.set_edge_height.doctree | Bin 6561 -> 6561 bytes ...ab.sensors.PosCon3D.set_flex_mount.doctree | Bin 5137 -> 5137 bytes ...sors.PosCon3D.set_measurement_type.doctree | Bin 12403 -> 12403 bytes ...fab.sensors.PosCon3D.set_precision.doctree | Bin 10050 -> 10050 bytes ...nsors.PosConCM.activate_flex_mount.doctree | Bin 5108 -> 5108 bytes ...ors.PosConCM.adjust_to_dark_object.doctree | Bin 5082 -> 5082 bytes .../compas_fab.sensors.PosConCM.begin.doctree | Bin 5279 -> 5279 bytes ...ensors.PosConCM.calculate_checksum.doctree | Bin 4950 -> 4950 bytes ...ors.PosConCM.deactivate_flex_mount.doctree | Bin 4766 -> 4766 bytes .../compas_fab.sensors.PosConCM.doctree | Bin 33269 -> 33269 bytes .../compas_fab.sensors.PosConCM.end.doctree | Bin 5245 -> 5245 bytes ...ab.sensors.PosConCM.format_command.doctree | Bin 5500 -> 5500 bytes ...s_fab.sensors.PosConCM.get_address.doctree | Bin 6542 -> 6542 bytes ...b.sensors.PosConCM.get_measurement.doctree | Bin 6080 -> 6080 bytes ...s_fab.sensors.PosConCM.get_payload.doctree | Bin 4802 -> 4802 bytes .../compas_fab.sensors.PosConCM.reset.doctree | Bin 4528 -> 4528 bytes ..._fab.sensors.PosConCM.send_command.doctree | Bin 12604 -> 12604 bytes ...ab.sensors.PosConCM.set_flex_mount.doctree | Bin 5137 -> 5137 bytes ...sors.PosConCM.set_measurement_type.doctree | Bin 10096 -> 10096 bytes ...fab.sensors.PosConCM.set_precision.doctree | Bin 10062 -> 10062 bytes ....sensors.PosConCM.teach_flex_mount.doctree | Bin 5040 -> 5040 bytes .../compas_fab.sensors.ProtocolError.doctree | Bin 5337 -> 5337 bytes ...pas_fab.sensors.SensorTimeoutError.doctree | Bin 5417 -> 5417 bytes .../compas_fab.sensors.SerialSensor.doctree | Bin 7886 -> 7886 bytes .../compas_fab.utilities.LazyLoader.doctree | Bin 6066 -> 6066 bytes .../compas_fab.utilities.allclose.doctree | Bin 5724 -> 5724 bytes .../compas_fab.utilities.arange.doctree | Bin 5427 -> 5427 bytes .../compas_fab.utilities.argmax.doctree | Bin 5622 -> 5622 bytes .../compas_fab.utilities.argmin.doctree | Bin 5621 -> 5621 bytes .../compas_fab.utilities.argsort.doctree | Bin 5652 -> 5652 bytes .../compas_fab.utilities.clamp.doctree | Bin 5965 -> 5965 bytes .../compas_fab.utilities.diffs.doctree | Bin 5914 -> 5914 bytes ...pas_fab.utilities.from_tcf_to_t0cf.doctree | Bin 10259 -> 10259 bytes ....utilities.list_files_in_directory.doctree | Bin 12242 -> 12242 bytes .../compas_fab.utilities.map_range.doctree | Bin 5651 -> 5651 bytes ..._fab.utilities.range_geometric_row.doctree | Bin 5996 -> 5996 bytes ...b.utilities.read_csv_to_dictionary.doctree | Bin 8424 -> 8424 bytes ...ab.utilities.read_data_from_pickle.doctree | Bin 6961 -> 6961 bytes .../compas_fab.utilities.sign.doctree | Bin 6928 -> 6928 bytes ...fab.utilities.write_data_to_pickle.doctree | Bin 7036 -> 7036 bytes latest/.doctrees/changelog.doctree | Bin 50705 -> 51583 bytes ...onMesh.add_attached_collision_mesh.doctree | Bin 10000 -> 10000 bytes ...nterfaces.AddAttachedCollisionMesh.doctree | Bin 8440 -> 8440 bytes ...ddCollisionMesh.add_collision_mesh.doctree | Bin 9542 -> 9542 bytes ...ckends.interfaces.AddCollisionMesh.doctree | Bin 8209 -> 8209 bytes ...ollisionMesh.append_collision_mesh.doctree | Bin 9662 -> 9662 bytes ...nds.interfaces.AppendCollisionMesh.doctree | Bin 8296 -> 8296 bytes ...backends.interfaces.BackendFeature.doctree | Bin 7580 -> 7580 bytes ...erface.add_attached_collision_mesh.doctree | Bin 5753 -> 5753 bytes ...ClientInterface.add_collision_mesh.doctree | Bin 5616 -> 5616 bytes ...entInterface.append_collision_mesh.doctree | Bin 5661 -> 5661 bytes ...ackends.interfaces.ClientInterface.doctree | Bin 21478 -> 21478 bytes ...ClientInterface.forward_kinematics.doctree | Bin 5614 -> 5614 bytes ...ClientInterface.get_planning_scene.doctree | Bin 5616 -> 5616 bytes ...ClientInterface.inverse_kinematics.doctree | Bin 5614 -> 5614 bytes ...entInterface.plan_cartesian_motion.doctree | Bin 5661 -> 5661 bytes ...rfaces.ClientInterface.plan_motion.doctree | Bin 5509 -> 5509 bytes ...ace.remove_attached_collision_mesh.doctree | Bin 5798 -> 5798 bytes ...entInterface.remove_collision_mesh.doctree | Bin 5661 -> 5661 bytes ...ientInterface.reset_planning_scene.doctree | Bin 5646 -> 5646 bytes ...kends.interfaces.ForwardKinematics.doctree | Bin 8217 -> 8217 bytes ...rwardKinematics.forward_kinematics.doctree | Bin 13228 -> 13228 bytes ...ckends.interfaces.GetPlanningScene.doctree | Bin 8164 -> 8164 bytes ...etPlanningScene.get_planning_scene.doctree | Bin 8333 -> 8333 bytes ...kends.interfaces.InverseKinematics.doctree | Bin 8271 -> 8271 bytes ...verseKinematics.inverse_kinematics.doctree | Bin 15316 -> 15316 bytes ...nds.interfaces.PlanCartesianMotion.doctree | Bin 8332 -> 8332 bytes ...tesianMotion.plan_cartesian_motion.doctree | Bin 15023 -> 15023 bytes ...fab.backends.interfaces.PlanMotion.doctree | Bin 7990 -> 7990 bytes ....interfaces.PlanMotion.plan_motion.doctree | Bin 14502 -> 14502 bytes ...erface.add_attached_collision_mesh.doctree | Bin 6849 -> 6849 bytes ...lannerInterface.add_collision_mesh.doctree | Bin 6712 -> 6712 bytes ...nerInterface.append_collision_mesh.doctree | Bin 6757 -> 6757 bytes ...ckends.interfaces.PlannerInterface.doctree | Bin 20953 -> 20953 bytes ...lannerInterface.forward_kinematics.doctree | Bin 6710 -> 6710 bytes ...lannerInterface.get_planning_scene.doctree | Bin 6712 -> 6712 bytes ...lannerInterface.inverse_kinematics.doctree | Bin 6710 -> 6710 bytes ...nerInterface.plan_cartesian_motion.doctree | Bin 6757 -> 6757 bytes ...faces.PlannerInterface.plan_motion.doctree | Bin 6605 -> 6605 bytes ...ace.remove_attached_collision_mesh.doctree | Bin 6894 -> 6894 bytes ...nerInterface.remove_collision_mesh.doctree | Bin 6757 -> 6757 bytes ...nnerInterface.reset_planning_scene.doctree | Bin 6742 -> 6742 bytes ...rfaces.RemoveAttachedCollisionMesh.doctree | Bin 8521 -> 8521 bytes ...esh.remove_attached_collision_mesh.doctree | Bin 9097 -> 9097 bytes ...nds.interfaces.RemoveCollisionMesh.doctree | Bin 8302 -> 8302 bytes ...ollisionMesh.remove_collision_mesh.doctree | Bin 8830 -> 8830 bytes ...ends.interfaces.ResetPlanningScene.doctree | Bin 8321 -> 8321 bytes ...PlanningScene.reset_planning_scene.doctree | Bin 7903 -> 7903 bytes ...onMesh.add_attached_collision_mesh.doctree | Bin 20774 -> 20774 bytes ...s.PyBulletAddAttachedCollisionMesh.doctree | Bin 9011 -> 9011 bytes ...ddCollisionMesh.add_collision_mesh.doctree | Bin 13193 -> 13193 bytes ..._features.PyBulletAddCollisionMesh.doctree | Bin 8684 -> 8684 bytes ...ollisionMesh.append_collision_mesh.doctree | Bin 11985 -> 11985 bytes ...atures.PyBulletAppendCollisionMesh.doctree | Bin 8804 -> 8804 bytes ...features.PyBulletForwardKinematics.doctree | Bin 8692 -> 8692 bytes ...rwardKinematics.forward_kinematics.doctree | Bin 17456 -> 17456 bytes ...features.PyBulletInverseKinematics.doctree | Bin 8785 -> 8785 bytes ...verseKinematics.inverse_kinematics.doctree | Bin 27420 -> 27420 bytes ...yBulletRemoveAttachedCollisionMesh.doctree | Bin 9121 -> 9121 bytes ...esh.remove_attached_collision_mesh.doctree | Bin 10808 -> 10808 bytes ...atures.PyBulletRemoveCollisionMesh.doctree | Bin 8814 -> 8814 bytes ...ollisionMesh.remove_collision_mesh.doctree | Bin 8912 -> 8912 bytes ...onMesh.add_attached_collision_mesh.doctree | Bin 10052 -> 10052 bytes ....add_attached_collision_mesh_async.doctree | Bin 6176 -> 6176 bytes ...res.MoveItAddAttachedCollisionMesh.doctree | Bin 10112 -> 10112 bytes ...ddCollisionMesh.add_collision_mesh.doctree | Bin 9543 -> 9543 bytes ...isionMesh.add_collision_mesh_async.doctree | Bin 5815 -> 5815 bytes ...nd_features.MoveItAddCollisionMesh.doctree | Bin 9708 -> 9708 bytes ...ollisionMesh.append_collision_mesh.doctree | Bin 9678 -> 9678 bytes ...onMesh.append_collision_mesh_async.doctree | Bin 5923 -> 5923 bytes ...features.MoveItAppendCollisionMesh.doctree | Bin 9858 -> 9858 bytes ...d_features.MoveItForwardKinematics.doctree | Bin 9985 -> 9985 bytes ...rwardKinematics.forward_kinematics.doctree | Bin 16823 -> 16823 bytes ...inematics.forward_kinematics_async.doctree | Bin 6214 -> 6214 bytes ...d_features.MoveItInverseKinematics.doctree | Bin 10077 -> 10077 bytes ...verseKinematics.inverse_kinematics.doctree | Bin 26652 -> 26652 bytes ...inematics.inverse_kinematics_async.doctree | Bin 7345 -> 7345 bytes ...features.MoveItPlanCartesianMotion.doctree | Bin 12054 -> 12054 bytes ...tesianMotion.plan_cartesian_motion.doctree | Bin 26813 -> 26813 bytes ..._motion_with_frame_waypoints_async.doctree | Bin 9165 -> 9165 bytes ...on_with_point_axis_waypoints_async.doctree | Bin 8133 -> 8133 bytes ....backend_features.MoveItPlanMotion.doctree | Bin 10057 -> 10057 bytes ...tures.MoveItPlanMotion.plan_motion.doctree | Bin 27131 -> 27131 bytes ...MoveItPlanMotion.plan_motion_async.doctree | Bin 7102 -> 7102 bytes ...ckend_features.MoveItPlanningScene.doctree | Bin 9539 -> 9539 bytes ...ItPlanningScene.get_planning_scene.doctree | Bin 8320 -> 8320 bytes ...ningScene.get_planning_scene_async.doctree | Bin 5518 -> 5518 bytes ....MoveItRemoveAttachedCollisionMesh.doctree | Bin 10252 -> 10252 bytes ...esh.remove_attached_collision_mesh.doctree | Bin 9142 -> 9142 bytes ...move_attached_collision_mesh_async.doctree | Bin 6179 -> 6179 bytes ...features.MoveItRemoveCollisionMesh.doctree | Bin 9868 -> 9868 bytes ...ollisionMesh.remove_collision_mesh.doctree | Bin 8824 -> 8824 bytes ...onMesh.remove_collision_mesh_async.doctree | Bin 5863 -> 5863 bytes ..._features.MoveItResetPlanningScene.doctree | Bin 9858 -> 9858 bytes ...PlanningScene.reset_planning_scene.doctree | Bin 7892 -> 7892 bytes ...ngScene.reset_planning_scene_async.doctree | Bin 5658 -> 5658 bytes latest/.doctrees/environment.pickle | Bin 14117685 -> 14120015 bytes ....ABB_IRB4600_40_255Kinematics.forward.html | 2 +- ...backends.ABB_IRB4600_40_255Kinematics.html | 2 +- ....ABB_IRB4600_40_255Kinematics.inverse.html | 2 +- ....backends.AnalyticalInverseKinematics.html | 2 +- ...lInverseKinematics.inverse_kinematics.html | 2 +- ...ackends.AnalyticalPlanCartesianMotion.html | 2 +- ...CartesianMotion.plan_cartesian_motion.html | 2 +- ...CartesianMotion.smooth_configurations.html | 2 +- ...letClient.add_attached_collision_mesh.html | 2 +- ...icalPyBulletClient.add_collision_mesh.html | 2 +- ...lPyBulletClient.append_collision_mesh.html | 2 +- ...nalyticalPyBulletClient.body_from_obj.html | 4 +- ...ticalPyBulletClient.cache_robot_model.html | 728 +++++++++++++++++ ...check_collision_objects_for_collision.html | 4 +- ...etClient.check_collision_with_objects.html | 2 +- ...yticalPyBulletClient.check_collisions.html | 2 +- ...lletClient.check_robot_self_collision.html | 2 +- ...ends.AnalyticalPyBulletClient.connect.html | 2 +- ...alPyBulletClient.convert_mesh_to_body.html | 2 +- ...s.AnalyticalPyBulletClient.disconnect.html | 4 +- ...ulletClient.ensure_cached_robot_model.html | 709 +++++++++++++++++ ...nt.ensure_cached_robot_model_geometry.html | 709 +++++++++++++++++ ...nt.filter_configurations_in_collision.html | 4 +- ...icalPyBulletClient.forward_kinematics.html | 4 +- ...ulletClient.get_cached_robot_filepath.html | 6 +- ...PyBulletClient.get_cached_robot_model.html | 729 ++++++++++++++++++ ...icalPyBulletClient.get_planning_scene.html | 4 +- ...yBulletClient.get_robot_configuration.html | 2 +- ...ends.AnalyticalPyBulletClient.get_uid.html | 4 +- ...fab.backends.AnalyticalPyBulletClient.html | 16 +- ...icalPyBulletClient.inverse_kinematics.html | 2 +- ...s.AnalyticalPyBulletClient.load_robot.html | 2 +- ...alyticalPyBulletClient.load_semantics.html | 2 +- ...nds.AnalyticalPyBulletClient.load_ur5.html | 2 +- ...lPyBulletClient.plan_cartesian_motion.html | 2 +- ....AnalyticalPyBulletClient.plan_motion.html | 2 +- ...ticalPyBulletClient.reload_from_cache.html | 2 +- ...Client.remove_attached_collision_mesh.html | 2 +- ...lPyBulletClient.remove_collision_mesh.html | 2 +- ...alPyBulletClient.reset_planning_scene.html | 2 +- ...yBulletClient.set_robot_configuration.html | 2 +- ...lyticalPyBulletClient.step_simulation.html | 2 +- .../compas_fab.backends.BackendError.html | 2 +- ...kends.BackendFeatureNotSupportedError.html | 2 +- ...ckends.CancellableFutureResult.cancel.html | 2 +- ..._fab.backends.CancellableFutureResult.html | 2 +- ...ckends.CancellableFutureResult.result.html | 2 +- ...pas_fab.backends.CartesianMotionError.html | 2 +- .../compas_fab.backends.CollisionError.html | 2 +- .../compas_fab.backends.FutureResult.html | 2 +- ...mpas_fab.backends.FutureResult.result.html | 2 +- ...s_fab.backends.InverseKinematicsError.html | 2 +- .../compas_fab.backends.KinematicsError.html | 2 +- ...ItPlanner.add_attached_collision_mesh.html | 2 +- ...ner.add_attached_collision_mesh_async.html | 2 +- ...ends.MoveItPlanner.add_collision_mesh.html | 2 +- ...oveItPlanner.add_collision_mesh_async.html | 2 +- ...s.MoveItPlanner.append_collision_mesh.html | 2 +- ...ItPlanner.append_collision_mesh_async.html | 2 +- ...ends.MoveItPlanner.forward_kinematics.html | 2 +- ...oveItPlanner.forward_kinematics_async.html | 2 +- ...ends.MoveItPlanner.get_planning_scene.html | 2 +- ...oveItPlanner.get_planning_scene_async.html | 2 +- .../compas_fab.backends.MoveItPlanner.html | 2 +- ...ends.MoveItPlanner.inverse_kinematics.html | 2 +- ...oveItPlanner.inverse_kinematics_async.html | 2 +- ...s.MoveItPlanner.plan_cartesian_motion.html | 2 +- ...ian_motion_with_frame_waypoints_async.html | 2 +- ...otion_with_point_axis_waypoints_async.html | 2 +- ...ab.backends.MoveItPlanner.plan_motion.html | 2 +- ...kends.MoveItPlanner.plan_motion_async.html | 2 +- ...lanner.remove_attached_collision_mesh.html | 2 +- ....remove_attached_collision_mesh_async.html | 2 +- ...s.MoveItPlanner.remove_collision_mesh.html | 2 +- ...ItPlanner.remove_collision_mesh_async.html | 2 +- ...ds.MoveItPlanner.reset_planning_scene.html | 2 +- ...eItPlanner.reset_planning_scene_async.html | 2 +- ...ackends.OffsetWristKinematics.forward.html | 2 +- ...as_fab.backends.OffsetWristKinematics.html | 2 +- ...ackends.OffsetWristKinematics.inverse.html | 2 +- ...letClient.add_attached_collision_mesh.html | 2 +- ...nds.PyBulletClient.add_collision_mesh.html | 2 +- ....PyBulletClient.append_collision_mesh.html | 2 +- ...backends.PyBulletClient.body_from_obj.html | 4 +- ...ends.PyBulletClient.cache_robot_model.html | 728 +++++++++++++++++ ...check_collision_objects_for_collision.html | 4 +- ...etClient.check_collision_with_objects.html | 2 +- ...kends.PyBulletClient.check_collisions.html | 2 +- ...lletClient.check_robot_self_collision.html | 2 +- ...s_fab.backends.PyBulletClient.connect.html | 2 +- ...s.PyBulletClient.convert_mesh_to_body.html | 4 +- ...ab.backends.PyBulletClient.disconnect.html | 2 +- ...ulletClient.ensure_cached_robot_model.html | 709 +++++++++++++++++ ...nt.ensure_cached_robot_model_geometry.html | 709 +++++++++++++++++ ...nt.filter_configurations_in_collision.html | 6 +- ...nds.PyBulletClient.forward_kinematics.html | 2 +- ...ulletClient.get_cached_robot_filepath.html | 6 +- ...PyBulletClient.get_cached_robot_model.html | 729 ++++++++++++++++++ ...nds.PyBulletClient.get_planning_scene.html | 2 +- ...yBulletClient.get_robot_configuration.html | 4 +- ...s_fab.backends.PyBulletClient.get_uid.html | 4 +- .../compas_fab.backends.PyBulletClient.html | 18 +- ...nds.PyBulletClient.inverse_kinematics.html | 2 +- ...ab.backends.PyBulletClient.load_robot.html | 2 +- ...ackends.PyBulletClient.load_semantics.html | 2 +- ..._fab.backends.PyBulletClient.load_ur5.html | 2 +- ....PyBulletClient.plan_cartesian_motion.html | 2 +- ...b.backends.PyBulletClient.plan_motion.html | 2 +- ...ends.PyBulletClient.reload_from_cache.html | 2 +- ...Client.remove_attached_collision_mesh.html | 2 +- ....PyBulletClient.remove_collision_mesh.html | 2 +- ...s.PyBulletClient.reset_planning_scene.html | 2 +- ...yBulletClient.set_robot_configuration.html | 2 +- ...ckends.PyBulletClient.step_simulation.html | 2 +- .../compas_fab.backends.PyBulletError.html | 2 +- ...etPlanner.add_attached_collision_mesh.html | 2 +- ...ds.PyBulletPlanner.add_collision_mesh.html | 2 +- ...PyBulletPlanner.append_collision_mesh.html | 2 +- ...ds.PyBulletPlanner.forward_kinematics.html | 2 +- ...ds.PyBulletPlanner.get_planning_scene.html | 2 +- .../compas_fab.backends.PyBulletPlanner.html | 2 +- ...ds.PyBulletPlanner.inverse_kinematics.html | 2 +- ...PyBulletPlanner.plan_cartesian_motion.html | 2 +- ....backends.PyBulletPlanner.plan_motion.html | 2 +- ...lanner.remove_attached_collision_mesh.html | 2 +- ...PyBulletPlanner.remove_collision_mesh.html | 2 +- ....PyBulletPlanner.reset_planning_scene.html | 2 +- ...RosClient.add_attached_collision_mesh.html | 2 +- ...backends.RosClient.add_collision_mesh.html | 2 +- ...kends.RosClient.append_collision_mesh.html | 2 +- ...s_fab.backends.RosClient.authenticate.html | 2 +- ...s.RosClient.blocking_call_from_thread.html | 2 +- ...backends.RosClient.call_async_service.html | 2 +- ...fab.backends.RosClient.call_in_thread.html | 2 +- ...pas_fab.backends.RosClient.call_later.html | 2 +- ....backends.RosClient.call_sync_service.html | 2 +- .../compas_fab.backends.RosClient.close.html | 2 +- ...compas_fab.backends.RosClient.connect.html | 2 +- ...s_fab.backends.RosClient.delete_param.html | 2 +- .../compas_fab.backends.RosClient.emit.html | 2 +- ...ds.RosClient.execute_joint_trajectory.html | 2 +- ...kends.RosClient.follow_configurations.html | 2 +- ...nds.RosClient.follow_joint_trajectory.html | 2 +- ...backends.RosClient.forward_kinematics.html | 2 +- ...backends.RosClient.get_action_servers.html | 2 +- ....backends.RosClient.get_configuration.html | 2 +- ...ackends.RosClient.get_message_details.html | 2 +- ...b.backends.RosClient.get_node_details.html | 2 +- ...mpas_fab.backends.RosClient.get_nodes.html | 2 +- ...mpas_fab.backends.RosClient.get_param.html | 2 +- ...pas_fab.backends.RosClient.get_params.html | 2 +- ...backends.RosClient.get_planning_scene.html | 2 +- ...osClient.get_service_request_callback.html | 2 +- ...RosClient.get_service_request_details.html | 2 +- ...osClient.get_service_response_details.html | 2 +- ...b.backends.RosClient.get_service_type.html | 2 +- ...s_fab.backends.RosClient.get_services.html | 2 +- ...kends.RosClient.get_services_for_type.html | 2 +- ...ompas_fab.backends.RosClient.get_time.html | 2 +- ...fab.backends.RosClient.get_topic_type.html | 2 +- ...pas_fab.backends.RosClient.get_topics.html | 2 +- ...ackends.RosClient.get_topics_for_type.html | 2 +- .../compas_fab.backends.RosClient.html | 2 +- ...backends.RosClient.inverse_kinematics.html | 2 +- ...pas_fab.backends.RosClient.load_robot.html | 2 +- .../compas_fab.backends.RosClient.off.html | 2 +- .../compas_fab.backends.RosClient.on.html | 2 +- ...ompas_fab.backends.RosClient.on_ready.html | 2 +- ...kends.RosClient.plan_cartesian_motion.html | 2 +- ...as_fab.backends.RosClient.plan_motion.html | 2 +- ...Client.remove_attached_collision_mesh.html | 2 +- ...kends.RosClient.remove_collision_mesh.html | 2 +- ...ckends.RosClient.reset_planning_scene.html | 2 +- .../compas_fab.backends.RosClient.run.html | 2 +- ...fab.backends.RosClient.run_event_loop.html | 2 +- ...as_fab.backends.RosClient.run_forever.html | 2 +- ..._fab.backends.RosClient.send_on_ready.html | 2 +- ...mpas_fab.backends.RosClient.set_param.html | 2 +- ...b.backends.RosClient.set_status_level.html | 2 +- ...mpas_fab.backends.RosClient.terminate.html | 2 +- .../compas_fab.backends.RosError.html | 2 +- ...nds.RosFileServerLoader.can_load_mesh.html | 2 +- ...mpas_fab.backends.RosFileServerLoader.html | 2 +- ...ackends.RosFileServerLoader.load_mesh.html | 2 +- ...kends.RosFileServerLoader.load_meshes.html | 2 +- ...ackends.RosFileServerLoader.load_srdf.html | 2 +- ...ackends.RosFileServerLoader.load_urdf.html | 2 +- ...ompas_fab.backends.RosValidationError.html | 2 +- ...ends.SphericalWristKinematics.forward.html | 2 +- ...fab.backends.SphericalWristKinematics.html | 2 +- ...ends.SphericalWristKinematics.inverse.html | 2 +- ...ends.Staubli_TX260LKinematics.forward.html | 2 +- ...fab.backends.Staubli_TX260LKinematics.html | 2 +- ...ends.Staubli_TX260LKinematics.inverse.html | 2 +- ...s_fab.backends.UR10Kinematics.forward.html | 2 +- .../compas_fab.backends.UR10Kinematics.html | 2 +- ...s_fab.backends.UR10Kinematics.inverse.html | 2 +- ..._fab.backends.UR10eKinematics.forward.html | 2 +- .../compas_fab.backends.UR10eKinematics.html | 2 +- ..._fab.backends.UR10eKinematics.inverse.html | 2 +- ...as_fab.backends.UR3Kinematics.forward.html | 2 +- .../compas_fab.backends.UR3Kinematics.html | 2 +- ...as_fab.backends.UR3Kinematics.inverse.html | 2 +- ...s_fab.backends.UR3eKinematics.forward.html | 2 +- .../compas_fab.backends.UR3eKinematics.html | 2 +- ...s_fab.backends.UR3eKinematics.inverse.html | 2 +- ...as_fab.backends.UR5Kinematics.forward.html | 2 +- .../compas_fab.backends.UR5Kinematics.html | 2 +- ...as_fab.backends.UR5Kinematics.inverse.html | 2 +- ...s_fab.backends.UR5eKinematics.forward.html | 2 +- .../compas_fab.backends.UR5eKinematics.html | 2 +- ...s_fab.backends.UR5eKinematics.inverse.html | 2 +- ...python.ReachabilityMapObject.ToString.html | 2 +- ...ab.ghpython.ReachabilityMapObject.add.html | 2 +- ....ghpython.ReachabilityMapObject.clear.html | 2 +- ...b.ghpython.ReachabilityMapObject.copy.html | 2 +- ...b.ghpython.ReachabilityMapObject.draw.html | 2 +- ...thon.ReachabilityMapObject.draw_cloud.html | 2 +- ...hon.ReachabilityMapObject.draw_frames.html | 2 +- ...ython.ReachabilityMapObject.from_json.html | 2 +- ...ReachabilityMapObject.from_jsonstring.html | 2 +- ...as_fab.ghpython.ReachabilityMapObject.html | 2 +- ...ghpython.ReachabilityMapObject.remove.html | 2 +- ...ghpython.ReachabilityMapObject.sha256.html | 2 +- ...hpython.ReachabilityMapObject.to_json.html | 2 +- ...n.ReachabilityMapObject.to_jsonstring.html | 2 +- ...python.ReachabilityMapObject.traverse.html | 2 +- ...n.ReachabilityMapObject.validate_data.html | 2 +- ....rhino.ReachabilityMapObject.ToString.html | 2 +- ...s_fab.rhino.ReachabilityMapObject.add.html | 2 +- ...no.ReachabilityMapObject.add_to_group.html | 2 +- ...fab.rhino.ReachabilityMapObject.clear.html | 2 +- ...ino.ReachabilityMapObject.clear_layer.html | 2 +- ...chabilityMapObject.compile_attributes.html | 2 +- ..._fab.rhino.ReachabilityMapObject.copy.html | 2 +- ..._fab.rhino.ReachabilityMapObject.draw.html | 2 +- ...hino.ReachabilityMapObject.draw_cloud.html | 2 +- ...ino.ReachabilityMapObject.draw_frames.html | 2 +- ...rhino.ReachabilityMapObject.from_json.html | 2 +- ...ReachabilityMapObject.from_jsonstring.html | 2 +- ...rhino.ReachabilityMapObject.get_group.html | 2 +- ...ompas_fab.rhino.ReachabilityMapObject.html | 2 +- ...ab.rhino.ReachabilityMapObject.remove.html | 2 +- ...ab.rhino.ReachabilityMapObject.sha256.html | 2 +- ...b.rhino.ReachabilityMapObject.to_json.html | 2 +- ...o.ReachabilityMapObject.to_jsonstring.html | 2 +- ....rhino.ReachabilityMapObject.traverse.html | 2 +- ...o.ReachabilityMapObject.validate_data.html | 2 +- ...robots.AttachedCollisionMesh.ToString.html | 2 +- ...fab.robots.AttachedCollisionMesh.copy.html | 2 +- ...obots.AttachedCollisionMesh.from_json.html | 2 +- ...AttachedCollisionMesh.from_jsonstring.html | 2 +- ...mpas_fab.robots.AttachedCollisionMesh.html | 2 +- ...b.robots.AttachedCollisionMesh.sha256.html | 2 +- ....robots.AttachedCollisionMesh.to_json.html | 2 +- ...s.AttachedCollisionMesh.to_jsonstring.html | 2 +- ...s.AttachedCollisionMesh.validate_data.html | 2 +- ...as_fab.robots.BoundingVolume.ToString.html | 2 +- ...compas_fab.robots.BoundingVolume.copy.html | 2 +- ...as_fab.robots.BoundingVolume.from_box.html | 2 +- ...s_fab.robots.BoundingVolume.from_json.html | 2 +- ...robots.BoundingVolume.from_jsonstring.html | 2 +- ...s_fab.robots.BoundingVolume.from_mesh.html | 2 +- ...fab.robots.BoundingVolume.from_sphere.html | 2 +- .../compas_fab.robots.BoundingVolume.html | 2 +- ...ompas_fab.robots.BoundingVolume.scale.html | 2 +- ...mpas_fab.robots.BoundingVolume.sha256.html | 2 +- ...pas_fab.robots.BoundingVolume.to_json.html | 2 +- ...b.robots.BoundingVolume.to_jsonstring.html | 2 +- ...s_fab.robots.BoundingVolume.transform.html | 2 +- ...b.robots.BoundingVolume.validate_data.html | 2 +- ...pas_fab.robots.CollisionMesh.ToString.html | 2 +- .../compas_fab.robots.CollisionMesh.copy.html | 2 +- ...as_fab.robots.CollisionMesh.from_json.html | 2 +- ....robots.CollisionMesh.from_jsonstring.html | 2 +- .../compas_fab.robots.CollisionMesh.html | 2 +- ...compas_fab.robots.CollisionMesh.scale.html | 2 +- ...ompas_fab.robots.CollisionMesh.scaled.html | 2 +- ...ompas_fab.robots.CollisionMesh.sha256.html | 2 +- ...mpas_fab.robots.CollisionMesh.to_json.html | 2 +- ...ab.robots.CollisionMesh.to_jsonstring.html | 2 +- ...ab.robots.CollisionMesh.validate_data.html | 2 +- ...b.robots.ConfigurationTarget.ToString.html | 2 +- ...s_fab.robots.ConfigurationTarget.copy.html | 2 +- ....robots.ConfigurationTarget.from_json.html | 2 +- ...s.ConfigurationTarget.from_jsonstring.html | 2 +- ...ionTarget.generate_default_tolerances.html | 2 +- ...compas_fab.robots.ConfigurationTarget.html | 2 +- ...fab.robots.ConfigurationTarget.scaled.html | 2 +- ...fab.robots.ConfigurationTarget.sha256.html | 2 +- ...ab.robots.ConfigurationTarget.to_json.html | 2 +- ...ots.ConfigurationTarget.to_jsonstring.html | 2 +- ...ots.ConfigurationTarget.validate_data.html | 2 +- ...compas_fab.robots.Constraint.ToString.html | 2 +- .../compas_fab.robots.Constraint.copy.html | 2 +- ...ompas_fab.robots.Constraint.from_json.html | 2 +- ...fab.robots.Constraint.from_jsonstring.html | 2 +- .../compas_fab.robots.Constraint.html | 2 +- .../compas_fab.robots.Constraint.scale.html | 2 +- .../compas_fab.robots.Constraint.scaled.html | 2 +- .../compas_fab.robots.Constraint.sha256.html | 2 +- .../compas_fab.robots.Constraint.to_json.html | 2 +- ...s_fab.robots.Constraint.to_jsonstring.html | 2 +- ...ompas_fab.robots.Constraint.transform.html | 2 +- ...s_fab.robots.Constraint.validate_data.html | 2 +- ...b.robots.ConstraintSetTarget.ToString.html | 2 +- ...s_fab.robots.ConstraintSetTarget.copy.html | 2 +- ....robots.ConstraintSetTarget.from_json.html | 2 +- ...s.ConstraintSetTarget.from_jsonstring.html | 2 +- ...compas_fab.robots.ConstraintSetTarget.html | 2 +- ...fab.robots.ConstraintSetTarget.scaled.html | 2 +- ...fab.robots.ConstraintSetTarget.sha256.html | 2 +- ...ab.robots.ConstraintSetTarget.to_json.html | 2 +- ...ots.ConstraintSetTarget.to_jsonstring.html | 2 +- ...ots.ConstraintSetTarget.validate_data.html | 2 +- ..._fab.robots.DeviationVectorsGenerator.html | 2 +- .../compas_fab.robots.Duration.ToString.html | 2 +- .../compas_fab.robots.Duration.copy.html | 2 +- .../compas_fab.robots.Duration.from_json.html | 2 +- ...s_fab.robots.Duration.from_jsonstring.html | 2 +- .../generated/compas_fab.robots.Duration.html | 2 +- .../compas_fab.robots.Duration.sha256.html | 2 +- .../compas_fab.robots.Duration.to_json.html | 2 +- ...pas_fab.robots.Duration.to_jsonstring.html | 2 +- ...pas_fab.robots.Duration.validate_data.html | 2 +- ...ompas_fab.robots.FrameTarget.ToString.html | 2 +- .../compas_fab.robots.FrameTarget.copy.html | 2 +- ...mpas_fab.robots.FrameTarget.from_json.html | 2 +- ...ab.robots.FrameTarget.from_jsonstring.html | 2 +- ...obots.FrameTarget.from_transformation.html | 2 +- .../compas_fab.robots.FrameTarget.html | 2 +- .../compas_fab.robots.FrameTarget.scaled.html | 2 +- .../compas_fab.robots.FrameTarget.sha256.html | 2 +- ...compas_fab.robots.FrameTarget.to_json.html | 2 +- ..._fab.robots.FrameTarget.to_jsonstring.html | 2 +- ..._fab.robots.FrameTarget.validate_data.html | 2 +- ...as_fab.robots.FrameWaypoints.ToString.html | 2 +- ...compas_fab.robots.FrameWaypoints.copy.html | 2 +- ...s_fab.robots.FrameWaypoints.from_json.html | 2 +- ...robots.FrameWaypoints.from_jsonstring.html | 2 +- ...s.FrameWaypoints.from_transformations.html | 2 +- .../compas_fab.robots.FrameWaypoints.html | 2 +- ...mpas_fab.robots.FrameWaypoints.scaled.html | 2 +- ...mpas_fab.robots.FrameWaypoints.sha256.html | 2 +- ...pas_fab.robots.FrameWaypoints.to_json.html | 2 +- ...b.robots.FrameWaypoints.to_jsonstring.html | 2 +- ...b.robots.FrameWaypoints.validate_data.html | 2 +- ...bots.Inertia.calculate_inertia_tensor.html | 2 +- .../generated/compas_fab.robots.Inertia.html | 2 +- ...s_fab.robots.JointConstraint.ToString.html | 2 +- ...ompas_fab.robots.JointConstraint.copy.html | 2 +- ..._fab.robots.JointConstraint.from_json.html | 2 +- ...obots.JointConstraint.from_jsonstring.html | 2 +- .../compas_fab.robots.JointConstraint.html | 2 +- ....joint_constraints_from_configuration.html | 2 +- ...mpas_fab.robots.JointConstraint.scale.html | 2 +- ...pas_fab.robots.JointConstraint.scaled.html | 2 +- ...pas_fab.robots.JointConstraint.sha256.html | 2 +- ...as_fab.robots.JointConstraint.to_json.html | 2 +- ....robots.JointConstraint.to_jsonstring.html | 2 +- ..._fab.robots.JointConstraint.transform.html | 2 +- ....robots.JointConstraint.validate_data.html | 2 +- ...s_fab.robots.JointTrajectory.ToString.html | 2 +- ...ompas_fab.robots.JointTrajectory.copy.html | 2 +- ..._fab.robots.JointTrajectory.from_json.html | 2 +- ...obots.JointTrajectory.from_jsonstring.html | 2 +- .../compas_fab.robots.JointTrajectory.html | 2 +- ...pas_fab.robots.JointTrajectory.sha256.html | 2 +- ...as_fab.robots.JointTrajectory.to_json.html | 2 +- ....robots.JointTrajectory.to_jsonstring.html | 2 +- ....robots.JointTrajectory.validate_data.html | 2 +- ....robots.JointTrajectoryPoint.ToString.html | 2 +- ...ointTrajectoryPoint.check_joint_names.html | 2 +- ....robots.JointTrajectoryPoint.close_to.html | 2 +- ..._fab.robots.JointTrajectoryPoint.copy.html | 2 +- ...robots.JointTrajectoryPoint.from_json.html | 2 +- ....JointTrajectoryPoint.from_jsonstring.html | 2 +- ...nt.from_prismatic_and_revolute_values.html | 2 +- ...tTrajectoryPoint.from_revolute_values.html | 2 +- ...s_fab.robots.JointTrajectoryPoint.get.html | 2 +- ...ompas_fab.robots.JointTrajectoryPoint.html | 2 +- ...fab.robots.JointTrajectoryPoint.items.html | 2 +- ...JointTrajectoryPoint.iter_differences.html | 2 +- ..._fab.robots.JointTrajectoryPoint.keys.html | 2 +- ...s.JointTrajectoryPoint.max_difference.html | 2 +- ...fab.robots.JointTrajectoryPoint.merge.html | 2 +- ...ab.robots.JointTrajectoryPoint.merged.html | 2 +- ...fab.robots.JointTrajectoryPoint.scale.html | 2 +- ...ab.robots.JointTrajectoryPoint.scaled.html | 2 +- ...ab.robots.JointTrajectoryPoint.sha256.html | 2 +- ...b.robots.JointTrajectoryPoint.to_json.html | 2 +- ...ts.JointTrajectoryPoint.to_jsonstring.html | 2 +- ...ts.JointTrajectoryPoint.validate_data.html | 2 +- ...ab.robots.JointTrajectoryPoint.values.html | 2 +- ...robots.OrientationConstraint.ToString.html | 2 +- ...fab.robots.OrientationConstraint.copy.html | 2 +- ...bots.OrientationConstraint.from_frame.html | 2 +- ...obots.OrientationConstraint.from_json.html | 2 +- ...OrientationConstraint.from_jsonstring.html | 2 +- ...mpas_fab.robots.OrientationConstraint.html | 2 +- ...ab.robots.OrientationConstraint.scale.html | 2 +- ...b.robots.OrientationConstraint.scaled.html | 2 +- ...b.robots.OrientationConstraint.sha256.html | 2 +- ....robots.OrientationConstraint.to_json.html | 2 +- ...s.OrientationConstraint.to_jsonstring.html | 2 +- ...obots.OrientationConstraint.transform.html | 2 +- ...s.OrientationConstraint.validate_data.html | 2 +- ...s.OrthonormalVectorsFromAxisGenerator.html | 2 +- ...ningScene.add_attached_collision_mesh.html | 2 +- ...obots.PlanningScene.add_attached_tool.html | 2 +- ...bots.PlanningScene.add_collision_mesh.html | 2 +- ...s.PlanningScene.append_collision_mesh.html | 2 +- ..._collision_mesh_to_robot_end_effector.html | 2 +- ...ab.robots.PlanningScene.ensure_client.html | 2 +- .../compas_fab.robots.PlanningScene.html | 2 +- ...gScene.remove_attached_collision_mesh.html | 2 +- ...ts.PlanningScene.remove_attached_tool.html | 2 +- ...s.PlanningScene.remove_collision_mesh.html | 2 +- ...compas_fab.robots.PlanningScene.reset.html | 2 +- ...s_fab.robots.PointAxisTarget.ToString.html | 2 +- ...ompas_fab.robots.PointAxisTarget.copy.html | 2 +- ..._fab.robots.PointAxisTarget.from_json.html | 2 +- ...obots.PointAxisTarget.from_jsonstring.html | 2 +- .../compas_fab.robots.PointAxisTarget.html | 2 +- ...pas_fab.robots.PointAxisTarget.scaled.html | 2 +- ...pas_fab.robots.PointAxisTarget.sha256.html | 2 +- ...as_fab.robots.PointAxisTarget.to_json.html | 2 +- ....robots.PointAxisTarget.to_jsonstring.html | 2 +- ....robots.PointAxisTarget.validate_data.html | 2 +- ...ab.robots.PointAxisWaypoints.ToString.html | 2 +- ...as_fab.robots.PointAxisWaypoints.copy.html | 2 +- ...b.robots.PointAxisWaypoints.from_json.html | 2 +- ...ts.PointAxisWaypoints.from_jsonstring.html | 2 +- .../compas_fab.robots.PointAxisWaypoints.html | 2 +- ..._fab.robots.PointAxisWaypoints.scaled.html | 2 +- ..._fab.robots.PointAxisWaypoints.sha256.html | 2 +- ...fab.robots.PointAxisWaypoints.to_json.html | 2 +- ...bots.PointAxisWaypoints.to_jsonstring.html | 2 +- ...bots.PointAxisWaypoints.validate_data.html | 2 +- ...ab.robots.PositionConstraint.ToString.html | 2 +- ...as_fab.robots.PositionConstraint.copy.html | 2 +- ...ab.robots.PositionConstraint.from_box.html | 2 +- ....robots.PositionConstraint.from_frame.html | 2 +- ...b.robots.PositionConstraint.from_json.html | 2 +- ...ts.PositionConstraint.from_jsonstring.html | 2 +- ...b.robots.PositionConstraint.from_mesh.html | 2 +- ....robots.PositionConstraint.from_point.html | 2 +- ...robots.PositionConstraint.from_sphere.html | 2 +- .../compas_fab.robots.PositionConstraint.html | 2 +- ...s_fab.robots.PositionConstraint.scale.html | 2 +- ..._fab.robots.PositionConstraint.scaled.html | 2 +- ..._fab.robots.PositionConstraint.sha256.html | 2 +- ...fab.robots.PositionConstraint.to_json.html | 2 +- ...bots.PositionConstraint.to_jsonstring.html | 2 +- ...b.robots.PositionConstraint.transform.html | 2 +- ...bots.PositionConstraint.validate_data.html | 2 +- ...s_fab.robots.ReachabilityMap.ToString.html | 2 +- ..._fab.robots.ReachabilityMap.calculate.html | 2 +- ...ompas_fab.robots.ReachabilityMap.copy.html | 2 +- ..._fab.robots.ReachabilityMap.from_json.html | 2 +- ...obots.ReachabilityMap.from_jsonstring.html | 2 +- .../compas_fab.robots.ReachabilityMap.html | 2 +- ...frames_and_configurations_at_ik_index.html | 2 +- ...pas_fab.robots.ReachabilityMap.sha256.html | 2 +- ...as_fab.robots.ReachabilityMap.to_json.html | 2 +- ....robots.ReachabilityMap.to_jsonstring.html | 2 +- ....robots.ReachabilityMap.validate_data.html | 2 +- .../compas_fab.robots.Robot.ToString.html | 2 +- .../compas_fab.robots.Robot.attach_tool.html | 2 +- .../compas_fab.robots.Robot.basic.html | 2 +- .../compas_fab.robots.Robot.copy.html | 2 +- .../compas_fab.robots.Robot.detach_tool.html | 2 +- .../compas_fab.robots.Robot.draw.html | 2 +- ...ompas_fab.robots.Robot.draw_collision.html | 2 +- .../compas_fab.robots.Robot.draw_visual.html | 2 +- ...compas_fab.robots.Robot.ensure_client.html | 2 +- ...mpas_fab.robots.Robot.ensure_geometry.html | 2 +- ...pas_fab.robots.Robot.ensure_semantics.html | 2 +- ...s_fab.robots.Robot.forward_kinematics.html | 2 +- .../compas_fab.robots.Robot.from_json.html | 2 +- ...mpas_fab.robots.Robot.from_jsonstring.html | 2 +- ...pas_fab.robots.Robot.from_t0cf_to_tcf.html | 2 +- ...pas_fab.robots.Robot.from_tcf_to_t0cf.html | 2 +- .../compas_fab.robots.Robot.get_RCF.html | 2 +- ...ot.get_attached_tool_collision_meshes.html | 2 +- ...ompas_fab.robots.Robot.get_base_frame.html | 2 +- ...compas_fab.robots.Robot.get_base_link.html | 2 +- ...s_fab.robots.Robot.get_base_link_name.html | 2 +- ...ts.Robot.get_configurable_joint_names.html | 2 +- ...ts.Robot.get_configurable_joint_types.html | 2 +- ....robots.Robot.get_configurable_joints.html | 2 +- ...ot.get_configuration_from_group_state.html | 2 +- ...b.robots.Robot.get_end_effector_frame.html | 2 +- ...ab.robots.Robot.get_end_effector_link.html | 2 +- ...bots.Robot.get_end_effector_link_name.html | 2 +- ....robots.Robot.get_group_configuration.html | 2 +- ....Robot.get_group_names_from_link_name.html | 2 +- ...as_fab.robots.Robot.get_joint_by_name.html | 2 +- ...robots.Robot.get_joint_types_by_names.html | 2 +- ...ompas_fab.robots.Robot.get_link_names.html | 2 +- ...et_link_names_with_collision_geometry.html | 2 +- ...bots.Robot.get_position_by_joint_name.html | 2 +- .../generated/compas_fab.robots.Robot.html | 2 +- .../compas_fab.robots.Robot.info.html | 2 +- ...s_fab.robots.Robot.inverse_kinematics.html | 2 +- ....robots.Robot.iter_inverse_kinematics.html | 2 +- ...t.merge_group_with_full_configuration.html | 2 +- ...ab.robots.Robot.plan_cartesian_motion.html | 2 +- .../compas_fab.robots.Robot.plan_motion.html | 2 +- ...fab.robots.Robot.random_configuration.html | 2 +- .../compas_fab.robots.Robot.scale.html | 2 +- .../compas_fab.robots.Robot.set_RCF.html | 2 +- .../compas_fab.robots.Robot.sha256.html | 2 +- .../compas_fab.robots.Robot.to_json.html | 2 +- ...compas_fab.robots.Robot.to_jsonstring.html | 2 +- ...fab.robots.Robot.to_local_coordinates.html | 2 +- ...fab.robots.Robot.to_world_coordinates.html | 2 +- ...b.robots.Robot.transformation_RCF_WCF.html | 2 +- ...b.robots.Robot.transformation_WCF_RCF.html | 2 +- ...pas_fab.robots.Robot.transformed_axes.html | 2 +- ...s_fab.robots.Robot.transformed_frames.html | 2 +- .../compas_fab.robots.Robot.update.html | 2 +- ...compas_fab.robots.Robot.validate_data.html | 2 +- ...s_fab.robots.Robot.zero_configuration.html | 2 +- ...obots.RobotLibrary.abb_irb4600_40_255.html | 2 +- .../compas_fab.robots.RobotLibrary.html | 2 +- .../compas_fab.robots.RobotLibrary.rfl.html | 2 +- .../compas_fab.robots.RobotLibrary.ur10e.html | 2 +- .../compas_fab.robots.RobotLibrary.ur5.html | 2 +- ...as_fab.robots.RobotSemantics.ToString.html | 2 +- ...compas_fab.robots.RobotSemantics.copy.html | 2 +- ...s_fab.robots.RobotSemantics.from_json.html | 2 +- ...robots.RobotSemantics.from_jsonstring.html | 2 +- ....robots.RobotSemantics.from_srdf_file.html | 2 +- ...obots.RobotSemantics.from_srdf_string.html | 2 +- ...as_fab.robots.RobotSemantics.from_xml.html | 2 +- ...Semantics.get_all_configurable_joints.html | 2 +- ...ots.RobotSemantics.get_base_link_name.html | 2 +- ...emantics.get_configurable_joint_names.html | 2 +- ...obotSemantics.get_configurable_joints.html | 2 +- ...tSemantics.get_end_effector_link_name.html | 2 +- .../compas_fab.robots.RobotSemantics.html | 2 +- ...mpas_fab.robots.RobotSemantics.sha256.html | 2 +- ...pas_fab.robots.RobotSemantics.to_json.html | 2 +- ...b.robots.RobotSemantics.to_jsonstring.html | 2 +- ...b.robots.RobotSemantics.validate_data.html | 2 +- .../compas_fab.robots.Target.ToString.html | 2 +- .../compas_fab.robots.Target.copy.html | 2 +- .../compas_fab.robots.Target.from_json.html | 2 +- ...pas_fab.robots.Target.from_jsonstring.html | 2 +- .../generated/compas_fab.robots.Target.html | 2 +- .../compas_fab.robots.Target.scaled.html | 2 +- .../compas_fab.robots.Target.sha256.html | 2 +- .../compas_fab.robots.Target.to_json.html | 2 +- ...ompas_fab.robots.Target.to_jsonstring.html | 2 +- ...ompas_fab.robots.Target.validate_data.html | 2 +- .../compas_fab.robots.Tool.ToString.html | 2 +- .../compas_fab.robots.Tool.copy.html | 2 +- .../compas_fab.robots.Tool.from_json.html | 2 +- ...ompas_fab.robots.Tool.from_jsonstring.html | 2 +- ...mpas_fab.robots.Tool.from_t0cf_to_tcf.html | 2 +- ...mpas_fab.robots.Tool.from_tcf_to_t0cf.html | 2 +- ...ompas_fab.robots.Tool.from_tool_model.html | 2 +- .../api/generated/compas_fab.robots.Tool.html | 2 +- .../compas_fab.robots.Tool.sha256.html | 2 +- .../compas_fab.robots.Tool.to_json.html | 2 +- .../compas_fab.robots.Tool.to_jsonstring.html | 2 +- ...as_fab.robots.Tool.update_touch_links.html | 2 +- .../compas_fab.robots.Tool.validate_data.html | 2 +- ...compas_fab.robots.Trajectory.ToString.html | 2 +- .../compas_fab.robots.Trajectory.copy.html | 2 +- ...ompas_fab.robots.Trajectory.from_json.html | 2 +- ...fab.robots.Trajectory.from_jsonstring.html | 2 +- .../compas_fab.robots.Trajectory.html | 2 +- .../compas_fab.robots.Trajectory.sha256.html | 2 +- .../compas_fab.robots.Trajectory.to_json.html | 2 +- ...s_fab.robots.Trajectory.to_jsonstring.html | 2 +- ...s_fab.robots.Trajectory.validate_data.html | 2 +- .../compas_fab.robots.Waypoints.ToString.html | 2 +- .../compas_fab.robots.Waypoints.copy.html | 2 +- ...compas_fab.robots.Waypoints.from_json.html | 2 +- ..._fab.robots.Waypoints.from_jsonstring.html | 2 +- .../compas_fab.robots.Waypoints.html | 2 +- .../compas_fab.robots.Waypoints.scaled.html | 2 +- .../compas_fab.robots.Waypoints.sha256.html | 2 +- .../compas_fab.robots.Waypoints.to_json.html | 2 +- ...as_fab.robots.Waypoints.to_jsonstring.html | 2 +- ...as_fab.robots.Waypoints.validate_data.html | 2 +- .../compas_fab.robots.Wrench.ToString.html | 2 +- .../compas_fab.robots.Wrench.by_samples.html | 2 +- .../compas_fab.robots.Wrench.copy.html | 2 +- .../compas_fab.robots.Wrench.from_json.html | 2 +- ...pas_fab.robots.Wrench.from_jsonstring.html | 2 +- .../compas_fab.robots.Wrench.from_list.html | 2 +- ...fab.robots.Wrench.gravity_compensated.html | 2 +- .../generated/compas_fab.robots.Wrench.html | 2 +- .../compas_fab.robots.Wrench.sha256.html | 2 +- .../compas_fab.robots.Wrench.to_json.html | 2 +- ...ompas_fab.robots.Wrench.to_jsonstring.html | 2 +- .../compas_fab.robots.Wrench.transform.html | 2 +- .../compas_fab.robots.Wrench.transformed.html | 2 +- ...ompas_fab.robots.Wrench.validate_data.html | 2 +- .../compas_fab.robots.to_degrees.html | 2 +- .../compas_fab.robots.to_radians.html | 2 +- ....sensors.PosCon3D.activate_flex_mount.html | 2 +- ...ensors.PosCon3D.adjust_to_dark_object.html | 2 +- .../compas_fab.sensors.PosCon3D.begin.html | 2 +- ...b.sensors.PosCon3D.calculate_checksum.html | 2 +- ...ensors.PosCon3D.deactivate_flex_mount.html | 2 +- .../compas_fab.sensors.PosCon3D.end.html | 2 +- ...s_fab.sensors.PosCon3D.format_command.html | 2 +- ...mpas_fab.sensors.PosCon3D.get_address.html | 2 +- ...ensors.PosCon3D.get_live_monitor_data.html | 2 +- ..._fab.sensors.PosCon3D.get_measurement.html | 2 +- ...mpas_fab.sensors.PosCon3D.get_payload.html | 2 +- .../compas_fab.sensors.PosCon3D.html | 2 +- .../compas_fab.sensors.PosCon3D.reset.html | 2 +- ...pas_fab.sensors.PosCon3D.send_command.html | 2 +- ..._fab.sensors.PosCon3D.set_edge_height.html | 2 +- ...s_fab.sensors.PosCon3D.set_flex_mount.html | 2 +- ...sensors.PosCon3D.set_measurement_type.html | 2 +- ...as_fab.sensors.PosCon3D.set_precision.html | 2 +- ....sensors.PosConCM.activate_flex_mount.html | 2 +- ...ensors.PosConCM.adjust_to_dark_object.html | 2 +- .../compas_fab.sensors.PosConCM.begin.html | 2 +- ...b.sensors.PosConCM.calculate_checksum.html | 2 +- ...ensors.PosConCM.deactivate_flex_mount.html | 2 +- .../compas_fab.sensors.PosConCM.end.html | 2 +- ...s_fab.sensors.PosConCM.format_command.html | 2 +- ...mpas_fab.sensors.PosConCM.get_address.html | 2 +- ..._fab.sensors.PosConCM.get_measurement.html | 2 +- ...mpas_fab.sensors.PosConCM.get_payload.html | 2 +- .../compas_fab.sensors.PosConCM.html | 2 +- .../compas_fab.sensors.PosConCM.reset.html | 2 +- ...pas_fab.sensors.PosConCM.send_command.html | 2 +- ...s_fab.sensors.PosConCM.set_flex_mount.html | 2 +- ...sensors.PosConCM.set_measurement_type.html | 2 +- ...as_fab.sensors.PosConCM.set_precision.html | 2 +- ...fab.sensors.PosConCM.teach_flex_mount.html | 2 +- .../compas_fab.sensors.ProtocolError.html | 2 +- ...compas_fab.sensors.SensorTimeoutError.html | 2 +- .../compas_fab.sensors.SerialSensor.html | 2 +- .../compas_fab.utilities.LazyLoader.html | 2 +- .../compas_fab.utilities.allclose.html | 2 +- .../compas_fab.utilities.arange.html | 2 +- .../compas_fab.utilities.argmax.html | 2 +- .../compas_fab.utilities.argmin.html | 2 +- .../compas_fab.utilities.argsort.html | 2 +- .../generated/compas_fab.utilities.clamp.html | 2 +- .../generated/compas_fab.utilities.diffs.html | 2 +- ...compas_fab.utilities.from_tcf_to_t0cf.html | 2 +- ...fab.utilities.list_files_in_directory.html | 2 +- .../compas_fab.utilities.map_range.html | 2 +- ...pas_fab.utilities.range_geometric_row.html | 2 +- ..._fab.utilities.read_csv_to_dictionary.html | 2 +- ...s_fab.utilities.read_data_from_pickle.html | 2 +- .../generated/compas_fab.utilities.sign.html | 2 +- ...as_fab.utilities.write_data_to_pickle.html | 2 +- latest/changelog.html | 9 +- ...isionMesh.add_attached_collision_mesh.html | 2 +- ...s.interfaces.AddAttachedCollisionMesh.html | 2 +- ...s.AddCollisionMesh.add_collision_mesh.html | 2 +- ....backends.interfaces.AddCollisionMesh.html | 2 +- ...ndCollisionMesh.append_collision_mesh.html | 2 +- ...ckends.interfaces.AppendCollisionMesh.html | 2 +- ...ab.backends.interfaces.BackendFeature.html | 2 +- ...Interface.add_attached_collision_mesh.html | 2 +- ...es.ClientInterface.add_collision_mesh.html | 2 +- ...ClientInterface.append_collision_mesh.html | 2 +- ...es.ClientInterface.forward_kinematics.html | 2 +- ...es.ClientInterface.get_planning_scene.html | 2 +- ...b.backends.interfaces.ClientInterface.html | 2 +- ...es.ClientInterface.inverse_kinematics.html | 2 +- ...ClientInterface.plan_cartesian_motion.html | 2 +- ...nterfaces.ClientInterface.plan_motion.html | 2 +- ...erface.remove_attached_collision_mesh.html | 2 +- ...ClientInterface.remove_collision_mesh.html | 2 +- ....ClientInterface.reset_planning_scene.html | 2 +- ....ForwardKinematics.forward_kinematics.html | 2 +- ...backends.interfaces.ForwardKinematics.html | 2 +- ...s.GetPlanningScene.get_planning_scene.html | 2 +- ....backends.interfaces.GetPlanningScene.html | 2 +- ...backends.interfaces.InverseKinematics.html | 2 +- ....InverseKinematics.inverse_kinematics.html | 2 +- ...ckends.interfaces.PlanCartesianMotion.html | 2 +- ...CartesianMotion.plan_cartesian_motion.html | 2 +- ...as_fab.backends.interfaces.PlanMotion.html | 2 +- ...nds.interfaces.PlanMotion.plan_motion.html | 2 +- ...Interface.add_attached_collision_mesh.html | 2 +- ...s.PlannerInterface.add_collision_mesh.html | 2 +- ...lannerInterface.append_collision_mesh.html | 2 +- ...s.PlannerInterface.forward_kinematics.html | 2 +- ...s.PlannerInterface.get_planning_scene.html | 2 +- ....backends.interfaces.PlannerInterface.html | 2 +- ...s.PlannerInterface.inverse_kinematics.html | 2 +- ...lannerInterface.plan_cartesian_motion.html | 2 +- ...terfaces.PlannerInterface.plan_motion.html | 2 +- ...erface.remove_attached_collision_mesh.html | 2 +- ...lannerInterface.remove_collision_mesh.html | 2 +- ...PlannerInterface.reset_planning_scene.html | 2 +- ...nterfaces.RemoveAttachedCollisionMesh.html | 2 +- ...onMesh.remove_attached_collision_mesh.html | 2 +- ...ckends.interfaces.RemoveCollisionMesh.html | 2 +- ...veCollisionMesh.remove_collision_mesh.html | 2 +- ...ackends.interfaces.ResetPlanningScene.html | 2 +- ...setPlanningScene.reset_planning_scene.html | 2 +- ...isionMesh.add_attached_collision_mesh.html | 2 +- ...ures.PyBulletAddAttachedCollisionMesh.html | 2 +- ...etAddCollisionMesh.add_collision_mesh.html | 2 +- ...end_features.PyBulletAddCollisionMesh.html | 2 +- ...ndCollisionMesh.append_collision_mesh.html | 2 +- ..._features.PyBulletAppendCollisionMesh.html | 2 +- ...tForwardKinematics.forward_kinematics.html | 2 +- ...nd_features.PyBulletForwardKinematics.html | 2 +- ...nd_features.PyBulletInverseKinematics.html | 2 +- ...tInverseKinematics.inverse_kinematics.html | 2 +- ...s.PyBulletRemoveAttachedCollisionMesh.html | 2 +- ...onMesh.remove_attached_collision_mesh.html | 2 +- ..._features.PyBulletRemoveCollisionMesh.html | 2 +- ...veCollisionMesh.remove_collision_mesh.html | 2 +- ...isionMesh.add_attached_collision_mesh.html | 2 +- ...esh.add_attached_collision_mesh_async.html | 2 +- ...atures.MoveItAddAttachedCollisionMesh.html | 2 +- ...ItAddCollisionMesh.add_collision_mesh.html | 2 +- ...ollisionMesh.add_collision_mesh_async.html | 2 +- ...ckend_features.MoveItAddCollisionMesh.html | 2 +- ...ndCollisionMesh.append_collision_mesh.html | 2 +- ...isionMesh.append_collision_mesh_async.html | 2 +- ...nd_features.MoveItAppendCollisionMesh.html | 2 +- ...tForwardKinematics.forward_kinematics.html | 2 +- ...rdKinematics.forward_kinematics_async.html | 2 +- ...kend_features.MoveItForwardKinematics.html | 2 +- ...kend_features.MoveItInverseKinematics.html | 2 +- ...tInverseKinematics.inverse_kinematics.html | 2 +- ...seKinematics.inverse_kinematics_async.html | 2 +- ...nd_features.MoveItPlanCartesianMotion.html | 2 +- ...CartesianMotion.plan_cartesian_motion.html | 2 +- ...ian_motion_with_frame_waypoints_async.html | 2 +- ...otion_with_point_axis_waypoints_async.html | 2 +- ...ros.backend_features.MoveItPlanMotion.html | 2 +- ...features.MoveItPlanMotion.plan_motion.html | 2 +- ...es.MoveItPlanMotion.plan_motion_async.html | 2 +- ...oveItPlanningScene.get_planning_scene.html | 2 +- ...lanningScene.get_planning_scene_async.html | 2 +- ....backend_features.MoveItPlanningScene.html | 2 +- ...res.MoveItRemoveAttachedCollisionMesh.html | 2 +- ...onMesh.remove_attached_collision_mesh.html | 2 +- ....remove_attached_collision_mesh_async.html | 2 +- ...nd_features.MoveItRemoveCollisionMesh.html | 2 +- ...veCollisionMesh.remove_collision_mesh.html | 2 +- ...isionMesh.remove_collision_mesh_async.html | 2 +- ...end_features.MoveItResetPlanningScene.html | 2 +- ...setPlanningScene.reset_planning_scene.html | 2 +- ...nningScene.reset_planning_scene_async.html | 2 +- latest/genindex.html | 20 +- latest/objects.inv | Bin 19402 -> 19420 bytes latest/searchindex.js | 2 +- 1512 files changed, 6546 insertions(+), 791 deletions(-) create mode 100644 latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.cache_robot_model.doctree create mode 100644 latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model.doctree create mode 100644 latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model_geometry.doctree create mode 100644 latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_model.doctree create mode 100644 latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.cache_robot_model.doctree create mode 100644 latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model.doctree create mode 100644 latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model_geometry.doctree create mode 100644 latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_model.doctree create mode 100644 latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.cache_robot_model.html create mode 100644 latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model.html create mode 100644 latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model_geometry.html create mode 100644 latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_model.html create mode 100644 latest/api/generated/compas_fab.backends.PyBulletClient.cache_robot_model.html create mode 100644 latest/api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model.html create mode 100644 latest/api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model_geometry.html create mode 100644 latest/api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_model.html diff --git a/latest/.doctrees/api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.doctree index 754cbf60536c639d213acbc678ca79826a5b1642..ee7cd71a337a7713caa8c92b0672509ecb7be955 100644 GIT binary patch delta 24 gcmX@=e$;(KGdp{-S!$Y5vccp(+@6~+vwxBX0DP1R00000 delta 24 gcmX@=e$;(KGdsJvNlIF>Y2xHR+@6~+vwxBX0DI&L1poj5 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.forward.doctree b/latest/.doctrees/api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.forward.doctree index 6f53ecfd81203b55d812ba50e24cf291c9b8909c..9f4da944e6d04982fee450c017c932cc79c6ac4e 100644 GIT binary patch delta 24 gcmbQOF4WBRhMtS!$Y5vccp8UiZ!C**jzadKC#9 delta 24 fcmccaaouA>BRjjfNlIF>Y2xGrUiZ!C**jzad1VP8 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.plan_cartesian_motion.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.plan_cartesian_motion.doctree index 89418ebc5ffa235a53ea64db88689ba77e7fe67b..11efc252cdad4e2e63c0f5cd4a43f3ccd0864383 100644 GIT binary patch delta 24 fcmcapd#84T4Ig{5S!$Y5vccpxEbg1T_<{@ofY2xHJEbg1T_<{@ofshG# diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.smooth_configurations.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.smooth_configurations.doctree index 75638a2da8bcfb18e522695c23a336c8aadc933a..0f6cb8dbf7136726a7a7ef2254d79207bb4bd049 100644 GIT binary patch delta 20 bcmZqDYSP-!z`>qumYQaiY_PeVqnZZ*M=J)3 delta 20 bcmZqDYSP-!z`<^Al9HBenz*^0qnZZ*MrQ_( diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_attached_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_attached_collision_mesh.doctree index 8322a0ec69a313e866b41371ad8a35f9e6d65b9b..644690a3eaa3311b4caca985e4944b17945b6781 100644 GIT binary patch delta 20 bcmX@AdsKJBVovsCv(z-BWP{DCIHh?3Q*;LZ delta 20 bcmX@AdsKJBVor8*la#b%)5OiIIHh?3Qm_XE diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_collision_mesh.doctree index 6d3aae7ae7763b639217bd15456031d7de9132c6..8c228994a6ccd6f3012c1386bfdd627280567215 100644 GIT binary patch delta 24 fcmdm^vqxt`04IC0S!$Y5vccq97TwJ)oI7{`Y$FIy delta 24 fcmdm^vqxt`04KY-NlIF>Y2xHs7TwJ)oI7{`YjX%x diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.append_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.append_collision_mesh.doctree index 9f6a7a7d1ad2b52fee58cc7942ab4d539e921f61..80ac39517e96eab0cc9361023d2074aaf9923948 100644 GIT binary patch delta 24 gcmaE<^HOI+HYaY2xI57TwMBIZyEb0CuVg2mk;8 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.body_from_obj.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.body_from_obj.doctree index 053697a6c93a0c9bf950ee6cefd6a3fe2a135904..d459208b0c3e071b7fd5c190a9712dfc59f82471 100644 GIT binary patch delta 28 jcmeC~W$f-{-0+j1J=rWZ%_!Mml7JqQiScFwfoL-TkIx9$ delta 28 jcmeC~W$f-{-0+j1-P|N4E!i}2l7JqQvFT<5foL-Tk1hz_ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.cache_robot_model.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.cache_robot_model.doctree new file mode 100644 index 0000000000000000000000000000000000000000..1fcf3e7c0f6c9628830f47e9918a8d7c5dc9885f GIT binary patch literal 10909 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 delta 30 lcmZ4KywZ7tItRPCNlIF>Y2xIKEZVHfKBfj{o8vgVB>|Vo2aax`Q^FDHAlS!$Y5vccpU9&LVQ9}`Q1DWw_O88aax`Q^FDJXXNlIF>Y2xG>9&LVQ9}^4XDWw_O88Y2xHsZf#a&A5$aa%|0BGk^rDO2;Kky diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.connect.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.connect.doctree index e2efc119a337965f28f3c7854c781bfef25c9af6..0ef1e4a1126c44cfb0bd50b20f7e378632e1b8c8 100644 GIT binary patch delta 29 kcmZ3QxioWwGB10wS!$Y5vccrN{MszaKBh*SBYAz)0hmV#9RL6T delta 29 kcmZ3QxioWwGB3NiNlIF>Y2xI){MszaJ|^ayBYAz)0hh-KCIA2c diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.convert_mesh_to_body.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.convert_mesh_to_body.doctree index 58d891c6edd81387c817be26a6922d0161047384..e7eea0a63fa8b95972633a1fe0adf7de5e01dd01 100644 GIT binary patch delta 32 ocmbQ&!Z@#maYGU>d$L(-no+XBW^0t})0IyyODgXcg delta 32 ocmbQ&!Z@#maYGU>ySYh9TC!>4~`gwqvba;u|Y&8^C%^;g5@^nDrquKK3~l_Sx%*Sa+fj>LeIv^?9H=P zE{jd}p3fzioS2-E8ef#3lwSfh;-HcK1QV2%mbUi2eu?WJvBc! zwWO$WGRP?JOjll@8*3;3E|Z(gQKLH9w0sB9#%q&zRWxn3t>b3gtX}2D$e1>HVwoh& zGLRn{4zWy@ui$|R-KaKD5lc@ki3bN^3UU}Cd8&p3?5V<<5=Q6A55;xSO#wP+^6uKE z$u^a*H+$5dv1Rm`d~mPLc(-iM5gA(KDu_ve5FUQaBD j0}I&$yMdC5{MIl#K+(@Ur6&+s3~s6~Omy@8gI9S0=T7|$ delta 469 zcmX@IfO*S&X4VGQsVmQKWR+oOH#bR1OEyiM?9HOhs_bK7WVtzlJzR|O_T~+;MvR+Z z$Z0W8mQYIC+@Pev$i&4p*{eQ#vYv|YlQ$|iZ{DeLR%~+CY%bR1#N>?B$?N+} zCttAUp8U|-K!O`A6kn8|lwUHXbxPxu+9?_t(peuSJ6g$3o}i^RxyYtu@{T!rU=1o0 z`ZsT}jZtPym@JqmGkI&D{^Sh@geO-g8i)v|<`tI~rN)DeOM#d-`Do%{Mu*7{#dX2T zK)U0SZ!=H!bLE;Wl_)YfHr;#jx^xRh8KAVtWX6oslh3>9f!G}Bsrk97B}J8!1H1b- zug-MkWsI8qu}l(dV?vF<)G!mLHz{&RcIXNCnWc$##`Zldsmj-h8^s zjdAjavf9ZVHFA@?%T*_zsM#?&qvG1+;JT*G2P(N4Hy@}!V>|itVH=PynWyw5OjhK# zo}BN`Ho0LR*W|YjqML2@J!E9`0}BIv3{(;hWs6Kcbzm2xH<$;s7bp_~W*;~x&FBji LW!ap6=qfJ&PJ_QO diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3c468fc8f2d5b660ea3c475ee779f6545f938b56 GIT binary patch literal 6264 zcmdT|TW=gm6}BCZ$Kz|9Y)n>(LtD|}vB=CU*<}S*2$yJ)kikN`%Yw9tdV9KSrh44d z-E>vko`)6eL&RFD7nDYb2gD!X7a*h+65{9Zj*t-Fsp{_O8GD@Mfd^LdX1Xq?&N=mc z=bSpfuKjL!drtqSHbu<+@T~24UKn{yWNO)q+;qr7nZ3yNKhHkPnyQgFry@!dmt|@W zD_rgeUc$ocS*A8j1+yTn7LfcoDnmZ zi+P?I3zuRC_Q;HHsfJxTfL~Kfx!p%5Ov%U&9fKe~>4oUk6PNmX4seVWSnCcnei_+5UD@2KY;9t~M1NyCsOozo~e z?zqt~c7)w?y49ahRCJu!@AMf~I+A&n**2ZTLQk|`;^Evg#xce(?L@#A_YN1*E}v61 zKlIpH<bDj7!pN+{V>tKV~@#VDh1XU}Jv8SEyxio@Z3bcEN^BPlY=57&vDGU@5m)F#rGjUV6 z{fZUi>xgDwM^mi=u`PI1pRLwO6&=C!H>+L(AMj)H_;BoT9w0y%BO2O>3l_}eduhS! z6=MrNzsiDTvcRanOiIkw{8yK1enV@H;1BOhmIOZHUgZ*Mnu$i;g5~An*$cHNDID0- zKB)@aR{7W1)<4a*Rn3PN$@51T^#^36ndB+%?e|#t;#C&@_EI-3Mqx0j*qbMS1}X#A zV*n5;gR$Gn*(E>JN%O+gwp#wgB-Uqn=)kf65L1Sz^%I|+y2$q}h&jG!{@=0dZ&z8R zmi-XdiV7n;S4+?}P5ewTE@dnZI-R~RdD?A**?B~0dF*5&I0O+A?t85F(0#k}>Vf0_ zkKcLk8#+RL2@U^xrG|^_EKV}D$mKB5TmCY>0TYHRq4AMJxfTTnu$8G50)NyUpx(+R z*s7LLB&C#dZ(b6$P@8C$XX^H>7=u9DLohVNdN^y<6^T@>*fMf$a7BuY|MRMo-kco- zev_dZBRNKqcVAzT=Dzmn6TV}@6@2?W;#ej2x)C5!sdlU7YJ!2apA5gvesl^>(br}mSQ^#7pD6vw(tW$u`DiTIp$CxJHR%=z^ zLek4Hc&F;!~^7Et-;2XJfj1plk}O)X1kj_ zv`ik_QU7;k&H}ELunWd*tG!ocLzxmU;Jy+Kr=A^DpZtgK3?7oF@OA;$|DAIkNC%WB z9e1}xa)f#L1 z##QAnS@o|XY!zW_dPCC?Y{@)`rjvme89;xG(^VY_Lj!v7bNbX(Q{}rJM&`A5uGaFO z^q3m~-kV{R$4Ze8k#3K5P@>1{&UCs`51sODUsTGbP;Qx+-!dVwr2}TmJnVIbBj3&5 zeMR1JiZ>{!wgR_ZGcl7tFt6Fk@Kn8`@}oB|4vYnOgeT2~s?Q%hP9b$B%Xz=GI=-~ZI&ca zVsj_-0*2BFuh_&XfoR8C5%X(^f7nVOjrF;GN>4I_7~L$UkrTMyYY_j>}P#j0bQA;knX zy2$9yPzUr2wUzgQ0oI^r!rHmI#=;Zop{ivQPQYJ45gEq^IizhWAq|`@Cq54;&x3_@7V>8m6R2i}b{~;JfH%>UpHH zNBsR%tygbPi(5y@r=d=WF(X9MVx7^uI%3v=2Dt5EHwsEX=%sH=4VJ4L6A~N6se03m z3HgY(iKGC3Yg$%5GpAM%Lfj~&cW|aw-3T3a-JeGqsXxibU%(H~vkyQAJa|AXxK#iE k=D;$NOboA0kk1*3G-miER?DDu^s<8Hd0jAMkSpWb4 literal 0 HcmV?d00001 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model_geometry.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model_geometry.doctree new file mode 100644 index 0000000000000000000000000000000000000000..01e6e5abcffab3895f6e64ce18c4a2eccf2d1d49 GIT binary patch literal 6442 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 NkH{|P1yh%G{sUobsA2#B literal 0 HcmV?d00001 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.filter_configurations_in_collision.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.filter_configurations_in_collision.doctree index 0e3644420867e4d34acdd97076427dda6a3a9fc0..418f4786af323b7745d1dbc464923e1615c85231 100644 GIT binary patch delta 27 icmZ1*wKi&lIVXFvS!$Y5vcY6KPCX_w)6IFD`;`HL=?Jg@ delta 27 icmZ1*wKi&lIVZchNlIF>Y2su%PCX`5i_LkQ`;`HLQwX;J diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.forward_kinematics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.forward_kinematics.doctree index cbef35ff382ff7ead0fc6459271c3e10b26035f8..2a98fc6931e4206df0c0ec09537714430bced372 100644 GIT binary patch delta 24 fcmdm`vrA`#A18aVS!$Y5vccqP7TwKFoI7{`Yl#R& delta 24 fcmdm`vrA`#A1AxHNlIF>Y2xH+7TwKFoI7{`YS{=% diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_filepath.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_filepath.doctree index 097bdfd3b5aeaaf27247943d707817c1e25994d5..66a211e7fe03305b205f0b5d83d05a911712f395 100644 GIT binary patch delta 44 zcmZ4Gxyo|`4+nd)S!$Y5vccp=Zf$;LA7e|iDWw_O8S^rvGiFa#6qDJU$>Asi06&`z A)Bpeg delta 44 zcmZ4Gxyo|`4+p!sNlIF>Y2xHYZf$;LA7e{{DWw_O8S^rvGiFa#6qDJU$>Asi06y0Z A(*OVf diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_model.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_model.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3ea967566eab7d6243469c0cb64dd3f60bca187c GIT binary patch literal 9421 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 literal 0 HcmV?d00001 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_planning_scene.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_planning_scene.doctree index 8eb0ac09e3ec622fe7d39938413d67551b97250a..cf50eeaa4d228d857542ffcf970ad3700b7a1d0a 100644 GIT binary patch delta 24 fcmdm^vqxt`04IC0S!$Y5vccq97TwJ)oI7{`Y$FIy delta 24 fcmdm^vqxt`04KY-NlIF>Y2xHs7TwJ)oI7{`YjX%x diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_robot_configuration.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_robot_configuration.doctree index 22fa2be6c44068a3dfe79d82efe535559abc503e..7e310201034dc8847375261ba476d01ebc5a4936 100644 GIT binary patch delta 30 lcmeBj=yKTbgPlFuEH%w2*7 v#Uh%crG>@fvpnjP9eC1QJY-AD`O;vO;$?_p944XJ{AN3sN!q2 delta 233 zcmca;Kh>V4fpu!vMiv(4$q)DyCu=hEZnj}IV&dgVPE5{7O^GkcPs%Tu+{mhoCbFGX zNeM;GlnnORDH&otD1w{W*%mOeo13JhC7UKrUdOJ_XtenryB7<8nwA!d1-3j(`I9ij g)F;dFy7QZ0h^tLrz$>FBfGVz~h2077cpnP_0H2>vb^rhX diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.inverse_kinematics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.inverse_kinematics.doctree index 12ee96079a31c1ead5a3340403a0ac5b63777348..4f63f2b41f5280a1e0d9f4aef2358d1cc9ef3e2d 100644 GIT binary patch delta 27 jcmdmNy4iHYE?)Lzv(z-BWP`~EdG(k~j5mMeJ;Vb5kTVJI delta 27 jcmdmNy4iHYE?#zXla#b%)5OUKdG(l#O*en!J;Vb5kCzGc diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_robot.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_robot.doctree index 98199dea1552e1e99fc7cd6d9cb4ef0db0886cfc..67076d7c1ebcf51360dd730621d57e68e2a78a36 100644 GIT binary patch delta 30 lcmbPVH@|MfSswOev(z-BWP{1IEZVHfK1N1{n^}0JjR3Co2~7Y1 delta 30 lcmbPVH@|MfSsr$Cla#b%)5OWOEZVHfK1POSn^}0JjR3BC3043A diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_semantics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_semantics.doctree index 9189cc0ae8ed005e76a47d38e6afc96cc9c7ed13..61ab873cda03d41e66c4f8a85581e6c96bf1ce46 100644 GIT binary patch delta 27 jcmaFh^uTFD6$g8=S!$Y5vccp=4m~C_Y2xHY4m~DQi_IH3)=K~Ykzom# diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_ur5.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_ur5.doctree index 9c40e2a802af018806786d0a4a0869b043ef9136..3ed742da8ac966692a7976a648e51b5f4830f01e 100644 GIT binary patch delta 44 zcmaDA`YLpT9T$7DS!$Y5vccr@Jlc~BxLCMNr<7)BXMD?$&iFj}A+OBl*V!Z delta 44 zcmaDA`YLpT9T&T~NlIF>Y2xJbJlc~BxLCLirj%xAXMD?$&iFj}A+OBl*V!Z diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_cartesian_motion.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_cartesian_motion.doctree index 593309ef69517e8ee6baa0dda196e345b53145e6..6971cbe5259dea37a5de2309064adda3435fffb7 100644 GIT binary patch delta 30 mcmaE4`p9&{bzb&lv(z-BWP`~E1hiR|eJo7OH}mmb;Q;`(Tna}3 delta 30 mcmaE4`p9&{bzXLJla#b%)5OUK1hiR|eJqSEH}mmb;Q;`&&k9Wd diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_motion.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_motion.doctree index b772d1915fe6ac9c88478c08d09c667980523c47..4c07c4c4e8d0c7dde59e60bd01fdb16893385abe 100644 GIT binary patch delta 24 fcmcbpeNlS@KPP*#S!$Y5vccp)7TwLxoP9h1Xfg+% delta 24 fcmcbpeNlS@KPS7nNlIF>Y2xHS7TwLxoP9h1XMzW$ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.reload_from_cache.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.reload_from_cache.doctree index 1edb5c1ff57adad9f44d1fdc244142152d1fef7b..e2f265d3840a32f33a2e482c1e2df10d5e626970 100644 GIT binary patch delta 30 mcmexh{=t01A$Im;v(z-BWP{1MEZVHfK1LQ6n}4!@7X|>e3kv!G delta 30 mcmexh{=t01A$E3ila#b%)5OWSEZVHfK1LSCn}4!@7X|>dTMGIB diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_attached_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_attached_collision_mesh.doctree index 9db70e01fa7185c962ddb3de59d9959994ef2cb9..3ac12135fb6998cea5f8f70a582937f1285431f3 100644 GIT binary patch delta 23 fcmeyQ`$>1hK2G*zv(z-BWP{1Ocyt$k;^YMYcRUFf delta 23 fcmeyQ`$>1hK2COXla#b%)5OWUcyt$k;^YMYc83WZ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_collision_mesh.doctree index 09f852eff69049a0ce75dccc1f137c8488a83846..093223a63da9f9ddca99bbe94568daf1bce9c87b 100644 GIT binary patch delta 24 gcmaE<^HOI+HYaY2xI57TwMBIZyEb0CuVg2mk;8 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.reset_planning_scene.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.reset_planning_scene.doctree index 099493d68dd072f477ca8720096dc4b04cb4bd7d..c95ec7cf6167e54271830231723947c5bbaa8e63 100644 GIT binary patch delta 24 gcmcbmb4zDK5+{4IS!$Y5vcY5r9^K8;IFIlE0C9~7h5!Hn delta 24 gcmcbmb4zDK5+}R4NlIF>Y2suD9^K8;IFIlE0C3$1ivR!s diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.set_robot_configuration.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.set_robot_configuration.doctree index 5f32656346f1878816c8001cfa5d71a0970a5ce5..42413bbe5a9e10d21df0726d7b6c56a05d154402 100644 GIT binary patch delta 26 hcmewq`zdxq6&HK5S!$Y5vccp=E`3JJ%^SHKRREEv30(jH delta 26 hcmewq`zdxq6&Jg?NlIF>Y2xHYE`3JB%^SHKRRECD30eRE diff --git a/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.step_simulation.doctree b/latest/.doctrees/api/generated/compas_fab.backends.AnalyticalPyBulletClient.step_simulation.doctree index 81dd612fcfa07b9e88c000639866ba95ede1f5c8..45166cc2f605628501d4d7c2bd1b2a6d2c6781fe 100644 GIT binary patch delta 30 lcmeCz>DSrtfQ>!bEH%w2* delta 30 lcmeCz>DSrtfQ{YUBqc4`G;wkii#DsWkD diff --git a/latest/.doctrees/api/generated/compas_fab.backends.BackendError.doctree b/latest/.doctrees/api/generated/compas_fab.backends.BackendError.doctree index 6e09398e0ac2fe95e968c031b05ddc5657d03613..371bca092e3a2e01dadd8be0a2ee05bb2ae63c5a 100644 GIT binary patch delta 24 gcmdn0wN-1wWH$C>v(z-BWP{1~nbkHQU@PSV0CJ89&j0`b delta 24 gcmdn0wN-1wWHxqlla#b%)5OX5nbkHQU@PSV0CC<3)Bpeg diff --git a/latest/.doctrees/api/generated/compas_fab.backends.BackendFeatureNotSupportedError.doctree b/latest/.doctrees/api/generated/compas_fab.backends.BackendFeatureNotSupportedError.doctree index c3d0e4a04dc37270fb44181eca42940f36ce25a3..ea6c52fa9acda3701e9b6aa32a2ef5c012546209 100644 GIT binary patch delta 20 bcmbQJGf`)Q1Uq}OS!$Y5vcYC~_D_5OLevIR delta 20 bcmbQJGf`)Q1UtLANlIF>Y2s#i_D_5OLJ$U6 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.CancellableFutureResult.cancel.doctree b/latest/.doctrees/api/generated/compas_fab.backends.CancellableFutureResult.cancel.doctree index 78e96149b92e6db9447d0bf85d885cc80081e6c8..7a713ae965cec5db87d238b3a08865661bb31002 100644 GIT binary patch delta 20 bcmeyZ^;>I06&ri9S!$Y5vccv?wqJYzS&awn delta 20 bcmeyZ^;>I06&t&`NlIF>Y2xNawqJYzSjh+S diff --git a/latest/.doctrees/api/generated/compas_fab.backends.CancellableFutureResult.doctree b/latest/.doctrees/api/generated/compas_fab.backends.CancellableFutureResult.doctree index 86edc2333ffc2096eb2871c50a7097506777b518..2e279e45ed475427457d8ee634615ed77c274001 100644 GIT binary patch delta 20 bcmX@_d){{gD?59#S!$Y5vcYB^_QUc3PWA@P delta 20 bcmX@_d){{gD?7WnNlIF>Y2s!c_QUc3PBI44 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.CancellableFutureResult.result.doctree b/latest/.doctrees/api/generated/compas_fab.backends.CancellableFutureResult.result.doctree index fb3285c43519f1fcf697a4d06e70dc75f92141ad..00fb2bc707c7f4b1941afff0b6164e550218c8bf 100644 GIT binary patch delta 20 bcmcbocTaDF2M2qyS!$Y5vcYD54t{kNlIF>Y2s#o4t{8`W;XU@v(z-BWP{DS*pm1GPR9oh delta 20 bcmbQEGe>8`W;S+nla#b%)5OiY*pm1GP6G!M diff --git a/latest/.doctrees/api/generated/compas_fab.backends.FutureResult.doctree b/latest/.doctrees/api/generated/compas_fab.backends.FutureResult.doctree index 956246cb68329dbc4a02915b42ea6d487fbc83c9..266624e47195d4fd836955a3e6fabab60f67cc2c 100644 GIT binary patch delta 24 gcmdmQyWe)hS~m7%v(z-BWP{1~I2AWvWqTzK0D9L6wg3PC delta 24 gcmdmQyWe)hS~hlbla#b%)5OX5I2AWvWqTzK0D310y8r+H diff --git a/latest/.doctrees/api/generated/compas_fab.backends.FutureResult.result.doctree b/latest/.doctrees/api/generated/compas_fab.backends.FutureResult.result.doctree index c5b0650604e9c756e65b55b6e3fa724c75cdaca5..f28c790ddec1e3edd118050a488eb0963a9f1c12 100644 GIT binary patch delta 24 gcmX@2dqj7`2X^*kv(z-BWP{1)m=!lmaIE120D0>O%m4rY delta 24 gcmX@2dqj7`2X=OIla#b%)5OW=m=!lmaIE120C_tI(EtDd diff --git a/latest/.doctrees/api/generated/compas_fab.backends.InverseKinematicsError.doctree b/latest/.doctrees/api/generated/compas_fab.backends.InverseKinematicsError.doctree index aa3e58d2bc1d797416c6e95b5ea142d1bfe29033..98cea024cdc397d8e354c7d564e9f8276ba5339e 100644 GIT binary patch delta 24 fcmbQFGf8K|O*Zyqv(z-BWP{0qENYwC*m?K?XRik3 delta 24 fcmbQFGf8K|O*VFOla#b%)5OVwENYwC*m?K?X8#82 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.KinematicsError.doctree b/latest/.doctrees/api/generated/compas_fab.backends.KinematicsError.doctree index 94239a373d546a58a533d54aa7f3b78348eb2bad..393bcdd14a59cef41dd71582ed584326ede752dc 100644 GIT binary patch delta 24 gcmeyS^-XKT3O4p+v(z-BWP`~Exz#pbWn0Jx0Dr#;kpKVy delta 24 gcmeyS^-XKT3O06gla#b%)5OUKxz#pbWn0Jx0Dlh&mH+?% diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh.doctree index eb0a8237142d158aff9cb477d45138b8eec6c887..63d0178b044cca4800c8f57e628631b46c81c43e 100644 GIT binary patch delta 24 fcmdn*z2AF-Ef;&TS!$Y5vcY5x-jK~RxYVTqZfghc delta 24 fcmdn*z2AF-Ef>4FNlIF>Y2suJ-jK~RxYVTqZMz5b diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh_async.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh_async.doctree index 9c308348600534af99d34f11683fb330105c6f5d..490974e84049cff23ca4505c31a8bb51e150b534 100644 GIT binary patch delta 24 fcmcbidqa1FJ{NnkS!$Y5vccqqEFqh_xcqnka7PGH delta 24 fcmcbidqa1FJ{P;WNlIF>Y2xICEFqh_xcqnkZl>aRx{M0C>R&`Tzg` delta 24 gcmX@)amZuC0#0^wla#b%)5OV9Jl>l>aRx{M0C*7y{{R30 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh_async.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh_async.doctree index 3409fd005b2b49f98e347705e097f6b8ec1f7eca..31b131850d5c3b3f12ce37d3f43113d5bdc1c157 100644 GIT binary patch delta 24 gcmcbweP4USBu@5Zv(z-BWP{1EEZ&=+aQ@~70C?aDbpQYW delta 24 gcmcbweP4USBu;j7la#b%)5OWKEZ&=+aQ@~70C+G7dH?_b diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh.doctree index b5d9ed560502f304d771a787e5c0baad763a9ff4..9f1b92f4c334a0ed428ae6318502cb5edfb47c27 100644 GIT binary patch delta 24 gcmbQ~In#5)5l;4Gv(z-BWP`~Qc>Fd?ay3W+0CM~YUjP6A delta 24 gcmbQ~In#5)5l(hFd?ay3W+0CG$SWB>pF diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh_async.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh_async.doctree index 8f2f0d617047ecaf58e67277256d6d82c511d836..51b37d98d0e79e4f2a82d498ae8b3ad3155043db 100644 GIT binary patch delta 24 fcmZ3evruQlHcs|rv(z-BWP{21EPk80xx{z?Yzzl@ delta 24 fcmZ3evruQlHcobPla#b%)5OX7EPk80xx{z?Yg`9? diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.doctree index f51f782773e540bde8478c7778e2b5947df195c3..3a9763174c2e99b7b002783fefadf88abd07f92c 100644 GIT binary patch delta 26 icmX?hi0RlNrVR(#*ptmt(~Oc0CUdf=Z+_1fJ_`Vng9;n~ delta 26 icmX?hi0RlNrVR(#*v(B+(vnRRCv&o>Z+_1fJ_`Vm(+VK~ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics.doctree index ea2b0f8d200f0f5129843d34d950ca265bbb28ef..00e05a689e90efb9a19b6dfe8989dcfc03972453 100644 GIT binary patch delta 22 ecmZ3~$hfGHalY2suaUhmCQxX$nZ0B<1(ZU6uP diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene.doctree index 8b79e06207eb236026b94decb4f7655708d754dd..dd5e2667acf239471c5bf0ecbbd8a3c33064e39a 100644 GIT binary patch delta 24 gcmZ2&zuJDoZVvWjv(z-BWP{1R-0qt>ITwim0C9H+CjbBd delta 24 gcmZ2&zuJDoZVq;Hla#b%)5OWX-0qt>ITwim0C2|$EC2ui diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene_async.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene_async.doctree index 5b16975a0233e77122445cbbd985956f3d67547e..7c659cf7e45e6cd58b0b1733567282cd3b953295 100644 GIT binary patch delta 24 gcmaE$`9O2SIu7<^v(z-BWP{1REbg2Ca6I7#0D4aedH?_b delta 24 gcmaE$`9O2SIu3Sola#b%)5OWXEbg2Ca6I7#0C}GYe*gdg diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics.doctree index ae0e71c988e6d5e99a098ca24ae076902d2ae01a..df6cdcd075bbe7ae0e99d77cd7f902d008ae8c83 100644 GIT binary patch delta 22 dcmZoa$Jl<3al=Ah_GGivG^1pL%`150BLQXn2wMOE delta 22 dcmZoa$Jl<3al=Ahc5{=Iv}Du7%`150BLQVN2w(sJ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics_async.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics_async.doctree index ed97656744510933ea9eb108db6bd6a4ea56a672..9d7514d46729cfce5f176cdfcf42804ed58f8a7e 100644 GIT binary patch delta 20 bcmX?Ye%gG)5U8CKRU8CKR>&Y2xI&LVlZ{@NW?U0CX4$dH?_b diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async.doctree index 6b15a22e8915369005ed866ba7e825be512d7106..7413f01418f8662d34fe32c1552bfcc5b5263054 100644 GIT binary patch delta 24 gcmX?Xd)RivK7RIOv(z-BWP{1l!hV~D1vc;j0Ch delta 26 icmcb1iSgPc#tnA7?B*sZY00LElMnK{Z0_Ve8w~)IPzsv> diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.plan_motion_async.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.plan_motion_async.doctree index 3bf170b953b0943bf0dad01351b454dac23d5b03..0bc95d9a47ef789ee43570bff9a55d06bc541445 100644 GIT binary patch delta 24 fcmdmGw##gTBOiORS!$Y5vcY5lL6^-veCv1sYE%dh delta 24 fcmdmGw##gTBOklDNlIF>Y2su7L6^-veCv1sX`~1g diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh.doctree index 45618c93183170881bbb0fabcf955c4d692fb09c..5548562f7c6999f31e45b2cc2c5d252e865bc249 100644 GIT binary patch delta 24 gcmX@&a>QlB4^H-Ev(z-BWP`~cdBQh`alI1<0D{2@@c;k- delta 24 gcmX@&a>QlB4^DP-la#b%)5OUidBQh`alI1<0D=(-_5c6? diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh_async.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh_async.doctree index f0b47c7aab4a0ca829a6e837f42279cab9b9b1b4..624056cf91e2dee3bac4e02330fef3026f820807 100644 GIT binary patch delta 20 ccmdm}yHR(;D^B)gv(z-BWP{BgIS=pv09OhK2><{9 delta 20 ccmdm}yHR(;D^7NEla#b%)5OgmIS=pv09Hl_4gdfE diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh.doctree index c5a3fd692f01c778a2a3e3e92d35c576756ed37a..abb5979379ec59eea8de49bf60d1a998c4a78855 100644 GIT binary patch delta 20 bcmez7^v!8Q2Pb>7S!$Y5vccwl&gbF)T~7!r delta 20 bcmez7^v!8Q2PeC^NlIF>Y2xO7&gbF)T#E=W diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh_async.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh_async.doctree index 5bab44e4495445bbb1508e8ec66b631a49efbec4..7f3e9c7b703d000e6e233d33421de904b194e328 100644 GIT binary patch delta 20 bcmaE={ZxBH6(@VLS!$Y5vccv?&J-R1RdNS0 delta 20 bcmaE={ZxBH6(_s7NlIF>Y2xNa&J-R1RIUd$ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene.doctree index 4c5c10a3cfc9681d1a9d1631f66ad2fce71a4373..2c508f6b198105b8f083ca327f671f50c9813fa6 100644 GIT binary patch delta 24 gcmaE0{lI#|Jr4F{v(z-BWP{0iEWVqKIM;~)0DPMWzW@LL delta 24 gcmaE0{lI#|Jq~trla#b%)5OVoEWVqKIM;~)0DJ2Q!~g&Q diff --git a/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene_async.doctree b/latest/.doctrees/api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene_async.doctree index a0265dde9999a2e973dcdf4eed914e27ef2008e3..238241b20228a2d09d248a28dcdabb53fa0f1b04 100644 GIT binary patch delta 24 fcmZ3cwM=WnMGp34v(z-BWP{07+`gMtIT?8XZ$}5M delta 24 fcmZ3cwM=WnMGkgzla#b%)5OVD+`gMtIT?8XZkGqL diff --git a/latest/.doctrees/api/generated/compas_fab.backends.OffsetWristKinematics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.OffsetWristKinematics.doctree index f496ff566f148ec1515b35c4783b4858b7f1b468..c0bfb484e5881423661bd62a72efc668f5752aca 100644 GIT binary patch delta 24 gcmZ4NwAg8bJv)1{S!$Y5vccqeTyC3t*r!VZ0Bf@dXaE2J delta 24 gcmZ4NwAg8bJv+O(NlIF>Y2xI0TyC3t*r!VZ0BZvXZ2$lO diff --git a/latest/.doctrees/api/generated/compas_fab.backends.OffsetWristKinematics.forward.doctree b/latest/.doctrees/api/generated/compas_fab.backends.OffsetWristKinematics.forward.doctree index 2678f53a12ed31ccdc9c78a9271dcb661f5230b9..57818da4bb57896a6adfe4a76f5f8f71845d8329 100644 GIT binary patch delta 24 gcmbQIK2Lqa8g}+%v(z-BWP`~vEN+{BvM=QZ0BgtydH?_b delta 24 gcmbQIK2Lqa8g_Pbla#b%)5OU#EN+{BvM=QZ0BaZse*gdg diff --git a/latest/.doctrees/api/generated/compas_fab.backends.OffsetWristKinematics.inverse.doctree b/latest/.doctrees/api/generated/compas_fab.backends.OffsetWristKinematics.inverse.doctree index fb78ebb87875be79c7299e3672c02569745a6144..3ca5431bdb9e93707a0730076bb09d71b6897084 100644 GIT binary patch delta 24 fcmeBI?^oY2mz_P?EH%w2*`S=;XQc=` delta 24 fcmeBI?^oY2mz~|*Bqc4`G;y*di`(W`>`S=;X7va_ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.add_attached_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.add_attached_collision_mesh.doctree index 64d14e5b65b44bb6a77e8ccd85052d0480fe3c36..8711d66448b0b4cad0a38c674e458d7f95a3de21 100644 GIT binary patch delta 24 fcmdm~vr}h7FeiJmS!$Y5vcY6I9^K9DoSS$6X%YwW delta 24 fcmdm~vr}h7FekgYNlIF>Y2su#9^K9DoSS$6XkrKV diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.add_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.add_collision_mesh.doctree index f2ca389185c34a846048f91d4772235b1ff5f48c..7fe8d356432d9548625252ac12c81e115a6a02fd 100644 GIT binary patch delta 23 ecmdm>y+L~cCwsD4YMN29!Q>6xx|>ZnYj^-)SqFmv delta 23 ecmdm>y+L~cC%d^xN?NjM;^Yn7x|>ZnYj^-(sRxJv diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.append_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.append_collision_mesh.doctree index b6928addcf75a1dd3176632579adaa337a7661fd..ad8e4974c1cfd944e2de73c260d2ae6dbf1e8550 100644 GIT binary patch delta 24 fcmcbseOG&fG$(tqS!$Y5vcY6~7TwMMoP9h1YTgIE delta 24 fcmcbseOG&fG$*^cNlIF>Y2svi7TwMMoP9h1YAy%D diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.body_from_obj.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.body_from_obj.doctree index 89e771676a8e36eca92b1b629704b23e63e98db4..b2c8e30b70705dcea17e27170d471d092f97e96b 100644 GIT binary patch delta 29 lcmaFe&G@>Tal=Y}_GGivG^1pL$s73fm`sc}Kj7y!0|2do3R3_8 delta 29 lcmaFe&G@>Tal=Y}c5{=Iv}Du7$s73fn2b#~Kj7y!0|2b$3RwUE diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.cache_robot_model.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.cache_robot_model.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a00a817c1b2a3d2e60b7361e6e25c0ad8317daf0 GIT binary patch literal 10749 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 literal 0 HcmV?d00001 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.check_collision_objects_for_collision.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.check_collision_objects_for_collision.doctree index 774c558a7784ffe0d44feb9b78f347a7e281f7a0..02e8d60b3cc9fc6b02b7764c6e5d0d0ab7dc0890 100644 GIT binary patch delta 44 zcmX?Ne8hM|3_E+WS!$Y5vcY6eE^U5gA5&A4DWw_O8I2jz8FiD_@yTr7$<8eV07%^q ANB{r; delta 44 zcmX?Ne8hM|3_H8INlIF>Y2sv0E^U5gA5#U7$0ot-_|EH%w2*U7$0ot@p>Bqc4`G;wkwi#DsWkEwy#WY2su}7HxiI9}^4XDWw_O884ISkD-C(=4ou7xdD^836cN+ delta 30 lcmeBF?Nr?m&&FISkD-Cd=4ou7xdD?236cN+ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.doctree index 6df34009a08fdc0ff390015c2261d844539a8527..b0e14e975a3bbdd6322da9707a35b60b5547a2e5 100644 GIT binary patch delta 687 zcmX@Qm-*&CX4VGQsebo2vYugMPc}9ED&LQH(5^An=L*!KP5G1bEfJU zCMbKdsYVhjSak9STj{5h(ANp8=!fPZgN$M>g4nBJAgJGn(UC+ zw0U+KH{<5DNj8j(F_T{@eJU&vy;2Os#nMwt;=w_Yf)Z|1QVug(0;5fN za&@X8R5#H5lO@xdCLczbd2CA{YTVr6&v|F?oNlz~p`AVw-z4CMKoB(`U@{H;DnLz*6HI|F7GvshhcbC#`aQq`I>1CwH^JQx0E2f0 Az5oCK delta 558 zcmcb)kNN0cX4VGQsk`oNWIe;iZf=s2mTa0hnV&_QRoTbT$apgcdpRA4R#Nq5;^Lb8 z%cOks8`WT@$*vknlhsmSKsFm2AszZ|$Y(^E^3EPN0z0Je}jK~7Kr zE(NpAIpOeRUniBxAXPxSCZ9-bnrxo_dUI&94ddh)@x_z>rN~XzOi-O{m%3vzTjHU~ zThp30dnIu*ZdS_hS7o%B+~{J+hZJ5@dcr_LliyjWZRYFKW@K~$bAi5Qp3>tBWs6L{ a)StlU2#jW%e@L|1|p~YpZ7BoQWt+T$ZT? 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 o;8p6uslmGc1?Jvo!2kdN literal 0 HcmV?d00001 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.filter_configurations_in_collision.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.filter_configurations_in_collision.doctree index dd4f4f6b4722f1c28555cb2e80e283f94755d395..e0e4c525ecc520b7be0250ca7536ff52de776fd6 100644 GIT binary patch delta 27 icmeB;?2X*;oP#~tEH%w2*KMwX}v(z-BWP{1;xOF!han|qv0Cq$OhyVZp delta 24 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 delta 23 ecmdm>y+L~cC%d^xN?NjM;^Yn7x|>ZnYj^-(sRxJv diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.get_robot_configuration.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.get_robot_configuration.doctree index f324259f8f0e8bc92f6beb3c635d4e910639678a..b1b2e7c5af8af1fc66ea5f8e5b4fa119958e8024 100644 GIT binary patch delta 30 mcmaE5_sVX=3U>Bnv(z-BWP{0$EZVHfK4#{IoA0xCivs|z_zExp delta 30 mcmaE5_sVX=3U+pLla#b%)5OV+EZVHfK4xadoA0xCivs|zYYH|1 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.get_uid.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.get_uid.doctree index 3ddcad4b4954a6d532a7514e819796dc92fe7690..803f9a22050dbcdecf3b4882402a7f0b8c9b6b22 100644 GIT binary patch delta 297 zcmexryU~udfpw~y{6^M`OpIES8#%-$zhmNIi_gtZNzK{(i%E`2SSUF$IU_YCz9>H_ zzXT#NS(Q~8t9U4@k{%ZIQ!?0Nr(}rrV3FE9lXU?jd$L(-no+XBWCwPAM$63w>`E-6 sIa*p+EMCaHR5SyJjQZpn9(PeI9I|SYfAGi{iD8q~(!%FJE8g9L0OmAm2LJ#7 delta 235 zcmdmJ_tloQfpzLDxs9wBnHW_j&*u=I{Emrd6SEu>FHdq}az<)Od{KTKMwX}v(z-BWP{1;xOF!han|qv0Cq$OhyVZp delta 24 gcmZ3dy-s_>KMrY2svE7Hw8#A0tDv&0Ba*8v+2kwhGVy diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.load_semantics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.load_semantics.doctree index 2cdb59c37226cff26849ff2bd8494dede2a7ca29..de38f042c4bb19907f970cd530756bb47c1bbefc 100644 GIT binary patch delta 27 icmX@$c))Rk76*H>S!$Y5vcY6S4m~C_Y2su<4m~DQi_M7~@e%-je+U); diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.load_ur5.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.load_ur5.doctree index f0ec75d729923787b77197002f8c27ca3f4aeba6..f207732e3cc3474dbcd3f17aed08e8f8ade70be4 100644 GIT binary patch delta 44 zcmX>Vaw=rQJ5Kgwv(z-BWP{1!Jlc~LxLCMNr<7)BXMD?$&iFjpP+DfQH`jl80CdO@ AF8}}l delta 44 zcmX>Vaw=rQJ5F|Ula#b%)5OW)Jlc~LxLCLirj%xAXMD?$&iFjpP+DfQH`jl80CX4- AF8}}l diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.plan_cartesian_motion.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.plan_cartesian_motion.doctree index 8a15a5288b42dd3343320214590be07543e5a549..ef75d4b55335735d0b6c683159295177f84b8422 100644 GIT binary patch delta 24 fcmcbseOG&fG$(tqS!$Y5vcY6~7TwMMoP9h1YTgIE delta 24 fcmcbseOG&fG$*^cNlIF>Y2svi7TwMMoP9h1YAy%D diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.plan_motion.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.plan_motion.doctree index dd2c3a63343353aef41742362e8508b78fedf556..6b2c6a30673e545d08bf909e7c99c4e4a5890924 100644 GIT binary patch delta 24 gcmX@AbyRD^eh&6zv(z-BWP{0!EV`RNa|H1K0CJ%SR{#J2 delta 24 gcmX@AbyRD^ehzkXla#b%)5OV)EV`RNa|H1K0CDjMTmS$7 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.reload_from_cache.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.reload_from_cache.doctree index 29f1c7151f70a5d18ee98c96257492b1d1716283..1a784da8d9d4f223befc51f9b112e06294e6906c 100644 GIT binary patch delta 30 mcmca$cEM~z5j%UbS!$Y5vcY6o7Hw8#A0rEk%`4fL3j+Y3g9&&5 delta 30 mcmca$cEM~z5j(rNNlIF>Y2svA7Hw8#A0rFn%`4fL3j+Y2(+PM0 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.remove_attached_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.remove_attached_collision_mesh.doctree index 40a341de20a1b423be58c5338e97fa45fe31d20f..6888a5c4c1b7fee05a5560846fd0b56d1a69e04b 100644 GIT binary patch delta 24 gcmaE+^Gs($9w&RUS!$Y5vccqX7TwK@IFIlE0Cq_TY2xH^7TwK@IFIlE0CkxN>Hq)$ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.remove_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.remove_collision_mesh.doctree index 2f36b9cf4e95fa098131a0aba3bb7f9cfde3d6fc..e0e5eb15845b19b9d9578e9074d398b73e8992f1 100644 GIT binary patch delta 24 fcmcbseOG&fG$(tqS!$Y5vcY6~7TwMMoP9h1YTgIE delta 24 fcmcbseOG&fG$*^cNlIF>Y2svi7TwMMoP9h1YAy%D diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.reset_planning_scene.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.reset_planning_scene.doctree index 0a813a2e41c0ea09414add25e227ed25d57261e6..835b5227743cb0516bf51414baddd3a7462927cd 100644 GIT binary patch delta 20 bcmX@7eNKCW5GQ-GS!$Y5vcYCa&aFHEO7aGT delta 20 bcmX@7eNKCW5GT92NlIF>Y2s!{&aFHEN-hS8 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.set_robot_configuration.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.set_robot_configuration.doctree index 038a5d28a9c11813b3753cd9301c22c63d3b4e6c..0352e526df59b7c18a08c077805f7e0e1defde86 100644 GIT binary patch delta 26 hcmcZvdK2-*Mu delta 26 hcmcZY2suvaz2-g4r diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.step_simulation.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletClient.step_simulation.doctree index f7f26739c80cd208078bd6577fa9c1bcdfbfb693..30c5f916894606ea7bf5f9625b04806f56c52344 100644 GIT binary patch delta 30 mcmZqHZr0u~fsH-cEH%w2*x8aDQ1v(z-BWP{1GdGt3wVyof@0D7wlFaQ7m delta 24 gcmcbkb4O>x8a8%wla#b%)5OWMdGt3wVyof@0D1cfH2?qr diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletPlanner.add_attached_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletPlanner.add_attached_collision_mesh.doctree index 5e4effdd314e5d3230d1214686e3bfb7546b8aaf..641a028b857b0ee2ab7186e7425a0960ba5024e2 100644 GIT binary patch delta 26 icmeB}&)6}aaYHm0d$L(-no+XB4Y2s!9&KCjzQAr09 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletPlanner.inverse_kinematics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletPlanner.inverse_kinematics.doctree index f2ffce3dfcbdd7cfca572c8d0f60f7bc066272d5..48370d1ade1020fe856ced926fedc1a681ae841b 100644 GIT binary patch delta 26 icmaENnep9a#tr*<*^|vu(~Oc0CT|c3+$_#_JsJR^b_(AB delta 26 icmaENnep9a#tr*<+09K-(vnRRCvOl4+$_#_JsJR@#tP&B diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletPlanner.plan_cartesian_motion.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletPlanner.plan_cartesian_motion.doctree index 2c7fcd88120eb7f9c118717dddb25c3b4fe7d4f8..2e4b28fb88ac6c840403fe1de090a1c9c5ea697c 100644 GIT binary patch delta 20 bcmZ2#veaaQ3MYHAS!$Y5vcYC;&R+rmNCXD4 delta 20 bcmZ2#veaaQ3Mad{NlIF>Y2s#W&R+rmM?eO) diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletPlanner.plan_motion.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletPlanner.plan_motion.doctree index b2822454e5abd2867ef1d0a3c31737f74a366867..dd42aa3bd32137470df5e8f596741095e1a34396 100644 GIT binary patch delta 20 bcmeA*?lsY2s#CE?+qSQz-_& diff --git a/latest/.doctrees/api/generated/compas_fab.backends.PyBulletPlanner.remove_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.PyBulletPlanner.remove_collision_mesh.doctree index cbd3f7e8ae576045e5655b0ac24edfef904e9633..fe4d0223623b3f993fef5ca817071287dba9daad 100644 GIT binary patch delta 20 bcmdnxyvupRN>27Y2su@7TwMMoW}(KUw#LL diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.add_attached_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.add_attached_collision_mesh.doctree index 957d22bc4aca0316a559079be37dc20fe22a7c5c..d4d6863e4967683e3a69560ebd349cf2926a30a0 100644 GIT binary patch delta 24 fcmeyY{aJg1HYaY2svC7TwM9oKtuJZ;l8O diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.add_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.add_collision_mesh.doctree index 9231ec43282a5e2e467f7214cc51a4b245ac194a..bee44de13ecebde68227d6a5f220aeda5979d5ff 100644 GIT binary patch delta 20 bcmaE*^-62Q4G#8Xv(z-BWP{E3Il6fOT|)>O delta 20 bcmaE*^-62Q4Gwm5la#b%)5Oj9Il6fOTz?23 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.append_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.append_collision_mesh.doctree index 522c124387cfcbe16ed80003fe57f1f70035a23c..26c4de6e720fefd3938dce51cf1195e624dd19b6 100644 GIT binary patch delta 20 ccmbQPJzaalXAbscv(z-BWP{DWIOg&I08=^#z5oCK delta 20 ccmbQPJzaalXAX9Ala#b%)5OicIOg&I08(}b!vFvP diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.authenticate.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.authenticate.doctree index 62fdfd9c1b667673373b839babf26dd64bb7ffdc..79e2c4bf28fc8eea95e7680dd7358ed33a8b3ca0 100644 GIT binary patch delta 20 bcmdlUv^{9U6E5~-v(z-BWP{DGxqRdRTk8k& delta 20 bcmdlUv^{9U6E1dhla#b%)5OiMxqRdRTPFwj diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.blocking_call_from_thread.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.blocking_call_from_thread.doctree index fb3bdd74f9a788570306904e5e72f9b3067905f6..8ed1ef4d910585dbb02b86bffbcdba59268f62c4 100644 GIT binary patch delta 20 bcmexr`_*=X6$g8=S!$Y5vcYCYjxAyURx<}p delta 20 bcmexr`_*=X6$iVyNlIF>Y2s!_jxAyURc{AU diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.call_async_service.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.call_async_service.doctree index dd1531a79b0e8ec636f7ef19379cca53297c40f0..bb7dd7d6b3d0c413fadad0c330fb7ade763295be 100644 GIT binary patch delta 20 bcmdmHvCU$`dJgtvv(z-BWP{DyI2wcjRA~oz delta 20 bcmdmHvCU$`dJcATla#b%)5Oi&I2wcjQ>6!e diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.call_in_thread.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.call_in_thread.doctree index 1466be185aa2e8acda7c1032ca3bd3056f5df1d7..81c4f6a720f7153456b949e5f570db2317a09ba8 100644 GIT binary patch delta 20 bcmZ2uxW;gU96NimS!$Y5vcYCm_I5!4M=1t3 delta 20 bcmZ2uxW;gU96P(YNlIF>Y2s#8_I5!4Mr8&( diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.call_later.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.call_later.doctree index 4c7a8ea5d1c304a199fffe2ebbe799ce0b9528fd..a7b545c6af61f09d58d5f8c551f6a7923ca574f4 100644 GIT binary patch delta 20 bcmbPdHqUIsQg-%av(z-BWP{CX*o%Y#Po@VT delta 20 bcmbPdHqUIsQg(K8la#b%)5Ohd*o%Y#PT~h8 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.call_sync_service.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.call_sync_service.doctree index c32bdfd68665120b7f34eaac4636e8d772cba650..3d9cdb922dffc057ed782b4df1ec5ae5c3fdc81e 100644 GIT binary patch delta 20 bcmbQ>G{I@ZYj*Zzv(z-BWP{D0*ySVvQ_=@o delta 20 bcmbQ>G{I@ZYj$>Xla#b%)5Oi6*ySVvQw|4T diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.close.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.close.doctree index 07ad1dd40b001932ed239438c2516d359f21b153..5673a63a41f2471d4ea230ba7dc3eb2ab980150e 100644 GIT binary patch delta 20 bcmcbienWl3Zg%!$v(z-BWP{Cz*u{7NR|y9{ delta 20 bcmcbienWl3ZgzHala#b%)5Oh(*u{7NRz(Ly diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.connect.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.connect.doctree index 76772d787aed7ced0217a99dfff04a7dad057d45..33fe4e56e0811f7055a4c91329cc5635ed026f3d 100644 GIT binary patch delta 20 bcmeyP{6~4iKUVf+v(z-BWP{DDY~Q&7UTg>A delta 20 bcmeyP{6~4iKUQ{gla#b%)5OiJY~Q&7U8o1= diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.delete_param.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.delete_param.doctree index e996e3f1e40b5e786c2ab6b10f171a1bc96c59f5..6d317b02c884941b7c26da565d7003def23687f6 100644 GIT binary patch delta 20 bcmca$dckyq7Z-c7S!$Y5vccv+u6h9gPY2xNUu6h9gPqPN$ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.doctree index cf705083bfc26fadfdbe265d0aeb71fa5e5b7fba..e3c988f0ddbe503db9a8b7e1e93b4d8bd98523e5 100644 GIT binary patch delta 30 mcmeBq&eHRoWy5?n_GGivG^1pL$sd{3n$NIpKf}g&KnDQ8Tnp>~ delta 30 mcmeBq&eHRoWy5?nc5{=Iv}Du7$sd{3n$NIpKf}g&KnDQ7zzgvJ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.emit.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.emit.doctree index 8fe7692c85319c4cee9e6143512d590043e73d50..b8b926c82ad6bc43dd7343b0a69f53c0f826c2d2 100644 GIT binary patch delta 20 bcmeCx=+)Tpl$|}2la#b%)5OVqd}^Byakp~=0C1xSTL1t6 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.follow_joint_trajectory.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.follow_joint_trajectory.doctree index d9c2a4cd28bec42db9eacfe257b6edc32f5ef013..6b840f3156ac6be469e44a136d8d7dbdc54746d6 100644 GIT binary patch delta 26 icmZ4Az_`AFalY2xH}%xarwusLx90CUF(nE(I) diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_message_details.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_message_details.doctree index ab63f1974341429b608f5dcd35378e9f092c9682..c895618a1303718b4491a82dee6bf7fc9519da90 100644 GIT binary patch delta 20 bcmexj{l$92W-j(*v(z-BWP{DSxU7T$UF!$H delta 20 bcmexj{l$92W-fMfla#b%)5OiYxU7T$T_*>{ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_node_details.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_node_details.doctree index db57a382a0a963879e2c5c2d33fc64d68dc7a65a..7f1c6c139fabad45a90cd878a71322a983cf0026 100644 GIT binary patch delta 20 bcmaE0_P}gI0T+9+S!$Y5vccwZu9pG;R-p&9 delta 20 bcmaE0_P}gI0T;WuNlIF>Y2xN`u9pG;Row@< diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_nodes.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_nodes.doctree index f8e7585cede5df2c00b18f0b4827b1c178a4b195..88629ea84e649da8be87883efd678cfd95f96553 100644 GIT binary patch delta 20 bcmaEC{MdLy6DNDJS!$Y5vccv~&L{x@R?Y`U delta 20 bcmaEC{MdLy6DPa5NlIF>Y2xNi&L{x@Rtg79 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_param.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_param.doctree index a91fa0b8721faa6e4623ff653372e0dfb4659e39..301831fec135b96b6778a49c4d3d4ea1588c4ec9 100644 GIT binary patch delta 20 bcmX?Zb=+!$J{NnkS!$Y5vcYCEEY2s!xEHz#|tS!$Y5vccv_oSMP_QUV6& delta 20 bcmdmOx!ZC>Hz&KfNlIF>Y2xNdoSMP_Q9cIj diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_planning_scene.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_planning_scene.doctree index 14edbc91a81337eb1076dc2d3100b1a4f1adf3f9..6d982b7f78d7ea3766cf46abdc4cafe24b046d50 100644 GIT binary patch delta 20 bcmaE*^-62Q4G#8Xv(z-BWP{E3Il6fOT|)>O delta 20 bcmaE*^-62Q4Gwm5la#b%)5Oj9Il6fOTz?23 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_service_request_callback.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_service_request_callback.doctree index e00b4b12f06a82b609bf93a7a66aaf51cac8682a..cdad6405fd3649b836dd6ab0b77b5f8dea8c2a6c 100644 GIT binary patch delta 20 bcmexp`q6a5Om_BUv(z-BWP{BM*aL+DTCN9+ delta 20 bcmexp`q6a5Om=p2la#b%)5OgS*aL+DS?ULn diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_service_request_details.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_service_request_details.doctree index 40e5df5b6a467b4a42a9272f9f05b2a7f8dd33fa..08637b6c624d073cab99844ee848000d182c92db 100644 GIT binary patch delta 20 bcmX?abKYjdRW9~qv(z-BWP{CjxQc}VTZsqt delta 20 bcmX?abKYjdRW5dOla#b%)5OhpxQc}VTEz$Y diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_service_response_details.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_service_response_details.doctree index ade21a4c5184795da6447a53cac47d0be28be542..fe00e89d5c37954859a1122f045c8d004266df85 100644 GIT binary patch delta 20 bcmaEC^Vnv?JudcSv(z-BWP{C5x$1-gUqT2v delta 20 bcmaEC^Vnv?JuY^0la#b%)5OhBx$1-gUVaEa diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_service_type.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_service_type.doctree index db89d9b068be4cc393e5f73826f45e4c5932a13b..3513150098953208ff44c65ebcb50bfe057c0801 100644 GIT binary patch delta 20 bcmdmHz0G>V3@-L$v(z-BWP{D~xx|G5Qg8V3@&zala#b%)5Oj5xx|G5QLF~= diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_services.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_services.doctree index 177b28fa87bf857eadac06d797b7ccfd5f49428f..1edd72d540c6a633456d8a1b29f8f101937dffa5 100644 GIT binary patch delta 20 bcmdmPx!rQZTu%06v(z-BWP{C1IE94)Qj`Ym delta 20 bcmdmPx!rQZTuyd#la#b%)5Oh7IE94)QP2kR diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_services_for_type.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_services_for_type.doctree index 4841e72af59e4f150d4cbff48033300d4d78cc1b..0193ba1bd4a91ec228341e35bf4cf5cce1f8b600 100644 GIT binary patch delta 20 ccmbPYJH>XxaW3{`v(z-BWP{D;xQ+<}08)nsxBvhE delta 20 ccmbPYJH>XxaV~aqla#b%)5Oi^xQ+<}08zsSy#N3J diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_time.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_time.doctree index 6673b1b1ebd7d02e9ff23a9c5f46c8c1fbf90b2f..6403cb1db34a1e6c3787452acb74f135dcc4c863 100644 GIT binary patch delta 20 bcmX?Yb=qn}B`15bS!$Y5vccvC&eOsGRCEW2 delta 20 bcmX?Yb=qn}B`3SNNlIF>Y2xMv&eOsGQ?Lh& diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_topic_type.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_topic_type.doctree index ac0a291f67b3c8ac4a3855d86c9c967b73baf834..1bd1f3a24ef3d088a0c837a886948a5868776ff7 100644 GIT binary patch delta 20 bcmaED_1bDfG8cQYS!$Y5vccvoE=FMhRu2Z# delta 20 bcmaED_1bDfG8enKNlIF>Y2xNAE=FMhRZ9lg diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_topics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_topics.doctree index 3afec7d7418386b475527c03bb259dce31f35e3e..e0e15594fdd370ee71a58bb28aab360efc23ce2c 100644 GIT binary patch delta 20 bcmexv@!euWHz#|tS!$Y5vccv_oKJ-STs;UF delta 20 bcmexv@!euWHz&KfNlIF>Y2xNdoKJ-STX_f_ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_topics_for_type.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.get_topics_for_type.doctree index ebcbf5851c078c12116bfcdcd0c0e9e5b8df8c52..f01cdc110fac74fe716a69387c47b8b85bfc61e4 100644 GIT binary patch delta 20 ccmaE4^T=kyYA*I<{9 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.inverse_kinematics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.inverse_kinematics.doctree index 5f072a12e0fdbdc10c2512f1bb75bc58c8117b81..0a5783cf72577b5a9990e0e269cbfde3824fcdfe 100644 GIT binary patch delta 20 bcmaE%^+IdIH4gSY2s!+fh)QISZfD~ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.off.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.off.doctree index 12d979dae7f68ec05703f910582d84a617ae1b4c..9a4023693d478fb96e5cd0c9ff9b83560fd8489f 100644 GIT binary patch delta 20 bcmX?LdBAc*9S3`|S!$Y5vccw74r>trQQZdU delta 20 bcmX?LdBAc*9S6I)NlIF>Y2xNq4r>trQ5gp9 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.on.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.on.doctree index 25fd1abf19a3f8d66cc37e0231cec5e6230e6404..ae4307e75df13cf2772dfa1b327c4cbd1daf1e64 100644 GIT binary patch delta 20 bcmaEC_}Fkm2|IhTS!$Y5vccwR_6$J)Rd)w6 delta 20 bcmaEC_}Fkm2|K&FNlIF>Y2xN;_6$J)RI>*+ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.on_ready.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.on_ready.doctree index 22003db7162642a686d52e68a229b4066b571160..eeacddc2ed90acad546857a966d0604131e5b30d 100644 GIT binary patch delta 20 bcmZp+Xtvm}hl4%YEH%w2*Y2svm7TwKNoXdCsWAO*b diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.remove_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.remove_collision_mesh.doctree index 1c0d6aea236cebab1d22d04f2124e2463f542434..08030210d0799caa7ca74934eadd2b49421a5b7d 100644 GIT binary patch delta 20 ccmbQPJzaalXAbscv(z-BWP{DWIOg&I08=^#z5oCK delta 20 ccmbQPJzaalXAX9Ala#b%)5OicIOg&I08(}b!vFvP diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.reset_planning_scene.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.reset_planning_scene.doctree index 95db41d6cd183cf2b57ce51c7f16b79426357c10..4dbed31fef5d9c13bf434e6a794f93ea12e1bbc6 100644 GIT binary patch delta 20 bcmeCs?$F-wii17bEH%w2*^HyiWN_O^Sv(z-BWP{Bc*!S`Q09w@t_y7O^ delta 20 ccmaE>^HyiWN_KX0la#b%)5Ogi*!S`Q09p|T{Qv*} diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.run_event_loop.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.run_event_loop.doctree index fd3287c52e184fe528d4f787c64c5f72c0aea944..c6cfd05f586a4ad42ef9c64db5ff89316ce3f0cf 100644 GIT binary patch delta 20 bcmcbwd|!EkBO80NS!$Y5vcYB#w&~mePh|$r delta 20 bcmcbwd|!EkBOAN9NlIF>Y2s!Nw&~mePN4?W diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.run_forever.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.run_forever.doctree index 9c2d41ee8100110943fc202db51a9099059cb788..4fd09d918db5680798a9d45d67499bb4da6e641a 100644 GIT binary patch delta 20 bcmZ3lzFvKU3LAT}S!$Y5vcYC;wiaFhMv4Y3 delta 20 bcmZ3lzFvKU3LCq*NlIF>Y2s#WwiaFhMaBj( diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.send_on_ready.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.send_on_ready.doctree index 130404c8782530c531edb62fd32ec4ed0cff3ff4..837342cf880e7a96f93add7942a91600ee7f820f 100644 GIT binary patch delta 20 bcmaE3_{MO906TlKS!$Y5vcYC?_N#&bP&)?c delta 20 bcmaE3_{MO906V+6NlIF>Y2s#a_N#&bPj?3H diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.set_param.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.set_param.doctree index 4cbd11cd31517e0c1241bf529144721d96d90164..afc5ede9d418240495aacbb31b6fcc4e14ee9f38 100644 GIT binary patch delta 20 bcmaE5_R4I-JudcSv(z-BWP{C5xmpDPUw;Td delta 20 bcmaE5_R4I-JuY^0la#b%)5OhBxmpDPUb_fI diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.set_status_level.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.set_status_level.doctree index f2545ef8f4abbca1fad191a970ed49a7567fd67a..3a046dfa9fdbbb4b9d1e51f1a550c6819b19b747 100644 GIT binary patch delta 20 ccmZ3czD#|?b9VM*v(z-BWP{D`*mrOP08}Ig)Bpeg delta 20 ccmZ3czD#|?b9Q!fla#b%)5Oj1*mrOP08?NG*#H0l diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosClient.terminate.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosClient.terminate.doctree index 46865babb663769c8065bc82761aaa2aeb9e23fd..a253d363082da04360536187146ffe2cbe35a88f 100644 GIT binary patch delta 20 bcmcbua$9AC02_OY2s#aHWwZMN#zC_ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosError.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosError.doctree index d3852c83b01a3742dd85784ecca188c422539294..c182e6b4c8470e92d01093f7a596cc3790243e1e 100644 GIT binary patch delta 24 gcmaE-^-gO;JsW$nS!$Y5vcY5>F0IWQ*!J-O0CrOdz5oCK delta 24 gcmaE-^-gO;JsZ2ZNlIF>Y2suZF0IWQ*!J-O0Cl4X!vFvP diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosFileServerLoader.can_load_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosFileServerLoader.can_load_mesh.doctree index a91baf5f924a2183c77d30ca89d2ffe9c7d46f26..a50e416f9298a7dc5f542724ddb14411f898014e 100644 GIT binary patch delta 24 gcmca-bY2svU7Q@Y3*;k4J0Cigkx&QzG diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosFileServerLoader.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosFileServerLoader.doctree index fb2f45c8340ef5eaa26f84ef1af761f55eeb4ceb..a6bde67e3f28cec0eb8fc3d00d81f320e0e59847 100644 GIT binary patch delta 25 gcmdnn#kjYNaRVzmd$L(-no+XBWL*}+#kTBr0B%4WL*}+#kTBr0BxcNoB#j- diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosFileServerLoader.load_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosFileServerLoader.load_mesh.doctree index fd214f50918896675932c1aaf5fbfa984ffa3c81..d497e0d67c2c6d8f7d9d1cf447813e4e101f5c22 100644 GIT binary patch delta 24 fcmdn(xZ80^hPFYsCki delta 24 fcmdn(xZ80Y2su-7Q@Z`>^hPFYZV8h diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosFileServerLoader.load_meshes.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosFileServerLoader.load_meshes.doctree index b3009ad9d55a5f827426fddc6a2a3deffb99b2b4..fe7770261613aa5bd4255ed622bed9688262dbf4 100644 GIT binary patch delta 24 fcmZ4OzS@0*HYaY2svE7Q@ZSoE}mDW{d}P diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosFileServerLoader.load_srdf.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosFileServerLoader.load_srdf.doctree index e33cb11ce97f75051189847dedae19de31304a7a..d494653978f946f873084e19bd9bfc3a4c18603b 100644 GIT binary patch delta 24 fcmZ4Ju+U)x4<~!FS!$Y5vcY647Q@XhoOi_lV*v-P delta 24 fcmZ4Ju+U)x4=201NlIF>Y2sun7Q@XhoOi_lVo?XO diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosFileServerLoader.load_urdf.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosFileServerLoader.load_urdf.doctree index 8047b533c957b74f4288329bbe9d0c60df8d85cd..420ed2464d688b4f3679034b6696d4bf02fe5162 100644 GIT binary patch delta 24 gcmX?Of5v{peGc|yv(z-BWP{0uEQXuKIk$=d0C?I6bpQYW delta 24 gcmX?Of5v{peGYbWla#b%)5OV!EQXuKIk$=d0C*}0dH?_b diff --git a/latest/.doctrees/api/generated/compas_fab.backends.RosValidationError.doctree b/latest/.doctrees/api/generated/compas_fab.backends.RosValidationError.doctree index d6275217c3a7f7def2e3b16a1c14a25b2c89e702..d1cb580bd8c6235967e460a647227401b150f6d1 100644 GIT binary patch delta 24 gcmaE*{YrboQ8xBuv(z-BWP{0nnYA{5WBbAf0D{yCL;wH) delta 24 gcmaE*{YrboQ8spSla#b%)5OVtnYA{5WBbAf0D>e6NdN!< diff --git a/latest/.doctrees/api/generated/compas_fab.backends.SphericalWristKinematics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.SphericalWristKinematics.doctree index c9a6e389289364cc50954f3ee21257fa66ed610c..999357ada2c6d0d272ac312084d10e61e7d622cd 100644 GIT binary patch delta 24 gcmezF^xbJgEIWI$S!$Y5vcY6;7SGLV*-uFV0DC_PEC2ui delta 24 gcmezF^xbJgEIYfoNlIF>Y2svW7SGLV*-uFV0D6xJF#rGn diff --git a/latest/.doctrees/api/generated/compas_fab.backends.SphericalWristKinematics.forward.doctree b/latest/.doctrees/api/generated/compas_fab.backends.SphericalWristKinematics.forward.doctree index d97d3c847f2eaea1c52ee07adaf3b6186376914c..7241a04b586c92a219aae3c43c9e68f573f68efa 100644 GIT binary patch delta 24 gcmcbseph|NS$6hhv(z-BWP{16T%Ma{ISz0G0C?I6s{jB1 delta 24 gcmcbseph|NS$1}Fla#b%)5OWCT%Ma{ISz0G0C*}0umAu6 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.SphericalWristKinematics.inverse.doctree b/latest/.doctrees/api/generated/compas_fab.backends.SphericalWristKinematics.inverse.doctree index 2f7e31f7f430ede4eb9aa4f4b929ca49df24c5af..245d90433133c1049a39f6247a38a603aa3c1bfa 100644 GIT binary patch delta 24 gcmX@7eolSEK6dtGv(z-BWP{0uES{VBI1X?F0CNQhH2?qr delta 24 gcmX@7eolSEK6Z9_0;0C|fE5C8xG delta 24 gcmaFq_R?)bJUhF&NlIF>Y2svG7SGM=*>_0;0C?L86#xJL diff --git a/latest/.doctrees/api/generated/compas_fab.backends.Staubli_TX260LKinematics.forward.doctree b/latest/.doctrees/api/generated/compas_fab.backends.Staubli_TX260LKinematics.forward.doctree index 763a5ca3e1846a89fe28c9b00f78083d2cc0240d..4c7f18348fef8d9609ae101436509ab20170dea5 100644 GIT binary patch delta 24 gcmcbweqVjVd3N?>v(z-BWP{1+T%McdISz0G0C{u>wEzGB delta 24 gcmcbweqVjVd3JVlla#b%)5OW?T%McdISz0G0C>a*x&QzG diff --git a/latest/.doctrees/api/generated/compas_fab.backends.Staubli_TX260LKinematics.inverse.doctree b/latest/.doctrees/api/generated/compas_fab.backends.Staubli_TX260LKinematics.inverse.doctree index 86fd486e8266b780a1e68f4e385ba662d187dcc7..6b29de5a9d717b3c5a2dd08b4471a72c442bdfc5 100644 GIT binary patch delta 24 gcmcbhenEZ10e1Fev(z-BWP`~OT%MZ+I1X?F0Ce#PY5)KL delta 24 gcmcbhenEZ10d{tCla#b%)5OUUT%MZ+I1X?F0CYhJZvX%Q diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR10Kinematics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR10Kinematics.doctree index 8b680f648aac36989f3781a5d70decf274907f83..c654f93060ca6b00e865512aa83a572aaabda7fe 100644 GIT binary patch delta 24 fcmaFh^1x*SJ3D)_S!$Y5vcY6QUboF5>^#x{Y?23K delta 24 fcmaFh^1x*SJ3G6%NlIF>Y2su-UboF5>^#x{YvKoJ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR10Kinematics.forward.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR10Kinematics.forward.doctree index fd23c77d76b878cd2af0ae2db26dd91f8155feb0..1eeac09832989e459f1b4e1e3e0e41187c9fa42b 100644 GIT binary patch delta 24 gcmdm^wnuG42|IhTS!$Y5vccqsoNk*BvR88h0CDdKY2xIEoNk*BvR88h0C7JE=>Px# diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR10Kinematics.inverse.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR10Kinematics.inverse.doctree index 838ac6d8cb146af561921573b0074700c55bc071..ef8ba41c1194bb2db5123dce6c1740a02ed76bb5 100644 GIT binary patch delta 24 gcmZ3hwpMLJDm#0!S!$Y5vccqs%x;@Eu~%~g0ByPmq5uE@ delta 24 gcmZ3hwpMLJDm%NmNlIF>Y2xIE%x;@Eu~%~g0Bs5grvLx| diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR10eKinematics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR10eKinematics.doctree index 7ffaf7feba4a4c277231707d305cb335bd544d5a..33fc5405ea5eca29b6ccca86d6850f8a850243b6 100644 GIT binary patch delta 24 fcmezB^3`PnKRbJ}S!$Y5vcY6&UboFL?2^&|ae4=| delta 24 fcmezB^3`PnKRdg*NlIF>Y2svQUboFL?2^&|aLNa{ diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR10eKinematics.forward.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR10eKinematics.forward.doctree index da6cfac2f031af99983dd529a324d3c5e8ebb9c6..ef7c14be5aa79e69c3707e936c69a8e0eff7603f 100644 GIT binary patch delta 24 gcmX@5c1mqS4Lf_XS!$Y5vccrHoNk*>vNv)A0CkrMA^-pY delta 24 gcmX@5c1mqS4LiHJNlIF>Y2xI!oNk*>vNv)A0CeXGCjbBd diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR10eKinematics.inverse.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR10eKinematics.inverse.doctree index e19c43b8ffd67baeb00c138ac3fb91ac6223b032..d235d25c06d160a5b69465e8ff39d9f25eb18bb8 100644 GIT binary patch delta 24 gcmdn3wp(pOE<1a&S!$Y5vccqgoNk+Uu{Ux90C5xu*8l(j delta 24 gcmdn3wp(pOE<3xqNlIF>Y2xI2oNk+Uu{Ux90B~do+yDRo diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR3Kinematics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR3Kinematics.doctree index 0a7c8248852787805c79a3b2674a913bba2a0d39..457ef7e6a6ff72c2e192bfa33ae1d1deef9b2fce 100644 GIT binary patch delta 24 gcmdnyvdv|~e>V1Hv(z-BWP{0p+-{qF*k4Hj0D9>O82|tP delta 24 gcmdnyvdv|~e>Qe=la#b%)5OVv+-{qF*k4Hj0D3tI9smFU diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR3Kinematics.forward.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR3Kinematics.forward.doctree index 22212d130d33dd088fa2ab393abcce603c3a6c59..0b3bcf865707746a79a8587832490996ad40b264 100644 GIT binary patch delta 24 gcmZ3dwoYwB4m*3YS!$Y5vccp#%x;@^vX^oL0B%(XrvLx| delta 24 gcmZ3dwoYwB4m-QKNlIF>Y2xHN%x;@^vX^oL0BxlRtN;K2 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR3Kinematics.inverse.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR3Kinematics.inverse.doctree index af986f7d5c55e2effaf23b95699160bfd3cfea45..1e4109b50878bbd2d347d4bd04c941f58feec597 100644 GIT binary patch delta 24 gcmbQQHeYQ+EIWI$S!$Y5vccq=%x;@kv6pfK0BSM_XaE2J delta 24 gcmbQQHeYQ+EIYfoNlIF>Y2xIY%x;@kv6pfK0BM2Y2svl7PrkI?3~g7YXb*V diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR3eKinematics.forward.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR3eKinematics.forward.doctree index e4134211379129fb400adf24231bf1647374eedc..52dc9918a7e4cd7f1345da617ea60306dababd80 100644 GIT binary patch delta 24 gcmdm^wnuG42|IhTS!$Y5vccqsoNk*BvR88h0CDdKY2xIEoNk*BvR88h0C7JE=>Px# diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR3eKinematics.inverse.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR3eKinematics.inverse.doctree index 1c0a2928c230e328eccd56bb684e37037ca5fbbc..277e154808de2fea1f38dbcd44d4aaaba200a85f 100644 GIT binary patch delta 24 gcmZ3hwpMLJDm#0!S!$Y5vccqs%x;@Eu~%~g0ByPmq5uE@ delta 24 gcmZ3hwpMLJDm%NmNlIF>Y2xIE%x;@Eu~%~g0Bs5grvLx| diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR5Kinematics.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR5Kinematics.doctree index d3ad15908a9f708c69fcd2a06846d1b84c8b2986..5784db7f05f7b8022c8e1cc890f3214db9518994 100644 GIT binary patch delta 24 gcmdnyvdv|~e>V1Hv(z-BWP{0p+-{qF*k4Hj0D9>O82|tP delta 24 gcmdnyvdv|~e>Qe=la#b%)5OVv+-{qF*k4Hj0D3tI9smFU diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR5Kinematics.forward.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR5Kinematics.forward.doctree index 77f3e0daa2a48b93628752094d45da91877befd9..4e2e5236e427f27b0b1493920cc1ec67ee718b79 100644 GIT binary patch delta 24 gcmZ3dwoYwB4m*3YS!$Y5vccp#%x;@^vX^oL0B%(XrvLx| delta 24 gcmZ3dwoYwB4m-QKNlIF>Y2xHN%x;@^vX^oL0BxlRtN;K2 diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR5Kinematics.inverse.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR5Kinematics.inverse.doctree index 8f2c5f462d666b646e492afb8240d19dbd03a485..34834673bc57efc6c6fbc0f5ccf911bcc395d9e1 100644 GIT binary patch delta 24 gcmbQQHeYQ+EIWI$S!$Y5vccq=%x;@kv6pfK0BSM_XaE2J delta 24 gcmbQQHeYQ+EIYfoNlIF>Y2xIY%x;@kv6pfK0BM2|D|SYvTt} delta 24 fcmccTa?fQ0J3G6%NlIF>Y2svl7PrkI>|D|SYcmH| diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR5eKinematics.forward.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR5eKinematics.forward.doctree index 074b352d730b8a7a21a2c7ce5affdadb7b273111..441dc83fc4375585af5a0b09003ccd6f463ea852 100644 GIT binary patch delta 24 gcmdm^wnuG42|IhTS!$Y5vccqsoNk*BvR88h0CDdKY2xIEoNk*BvR88h0C7JE=>Px# diff --git a/latest/.doctrees/api/generated/compas_fab.backends.UR5eKinematics.inverse.doctree b/latest/.doctrees/api/generated/compas_fab.backends.UR5eKinematics.inverse.doctree index 43d516d9f8a4532b65c6b8c84efd48ca1724f71f..fbe27ec6977d54dd170d9e56d018353512760fe7 100644 GIT binary patch delta 24 gcmZ3hwpMLJDm#0!S!$Y5vccqs%x;@Eu~%~g0ByPmq5uE@ delta 24 gcmZ3hwpMLJDm%NmNlIF>Y2xIE%x;@Eu~%~g0Bs5grvLx| diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.ToString.doctree index 02eff8137bec2a7d1b7e0167dd86f23c026ad03f..c5890b5e99379fef975726c57c2bf20d29dae54e 100644 GIT binary patch delta 20 bcmZqCZ_(dSz{Z|zmYQaiY_PeUjaLu=Mgj&4 delta 20 bcmZqCZ_(dSz{YNFl9HBenz*@~jaLu=MLq@) diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.add.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.add.doctree index cd4b4840ffd16a7ac6b8cd903430136a73f167e1..85b69b599ecf4c86367b8b75753ad19dca07e2ea 100644 GIT binary patch delta 20 bcmbOlFg0LY2xM(j)U?5OJ@f3 diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.clear.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.clear.doctree index 0bcd1d47b9188127fce586ad6dd23c3ce8dd32d7..9464eb4a8a3e19d2c286282bd8f2b29f4bb3a40e 100644 GIT binary patch delta 20 bcmaE^`doEG4jX&2S!$Y5vccwJwh|ryQ^^Mx delta 20 bcmaE^`doEG4ja3Y2xN$wh|ryQw0Yc diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.copy.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.copy.doctree index 4b3e372f2e1c7fc1929d8898fbaab096e4d1891d..022772d6914a3cca1b3d86b91bb5be1ef72e4dcf 100644 GIT binary patch delta 20 bcmeBj?sDEB$ibd$mYQaiY_M5^qev0}L!AZk delta 20 bcmeBj?sDEB$iZ%Il9HBenz&hlqev0}LfHlP diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.doctree index 21a5aa3c24174c966034ca1e34785d4a44e83151..e3369a51b752e9ef56509adf0451907f556b402b 100644 GIT binary patch delta 26 icmaEPm+|FY#towE?8#=SX-3HglM8taH~X^BNe2Lu(h1f8 delta 26 icmaEPm+|FY#towE?B*sZY00LElM8taH~X^BNe2LuA_?07 diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw.doctree index d2a3d7d260a4b102791289d53b6f00c3447d080c..c5fb291eb2f753ec9cba90cec238ee3c6a4ff242 100644 GIT binary patch delta 24 fcmX@0c|dbRE(d$ES!$Y5vcY5l7Q@X;Iiz_2YGVh7 delta 24 fcmX@0c|dbRE(g20NlIF>Y2su77Q@X;Iiz_2X|o56 diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_cloud.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_cloud.doctree index 64c41279e621865a1bcc334e4728063e7dab2820..b5a36e0b404a11b0beaf78093427c8a8ea1a05fc 100644 GIT binary patch delta 24 fcmdnxzRP`s5f^*1S!$Y5vccpJJcgUIxB?^raRUf% delta 24 fcmdnxzRP`s5f{6;NlIF>Y2xG$JcgUIxB?^ra8n3$ diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_frames.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_frames.doctree index c0c5be32e938db4244bccaeed8100001c875a458..afcb01a353356f06c09a9a84e92b42fe53afdc0a 100644 GIT binary patch delta 20 bcmZ2zvCv|}R1WrJv(z-BWP{CfI9i1PPiF@o delta 20 bcmZ2zvCv|}R1S7?la#b%)5OhlI9i1PPNN4T diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.from_json.doctree index 83eedd606e06c31035243d900f13c10351c4cebd..c6a0578180639cf549ad0149347fcfef85f9a7a6 100644 GIT binary patch delta 20 bcmX@$b--&w3kQ3$S!$Y5vccwVj;%5PRj&t_ delta 20 bcmX@$b--&w3kSQoNlIF>Y2xN?j;%5PRO<(w diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.from_jsonstring.doctree index b6a5879834934d8192d849b15563fa8437966aa5..0607bb5bc14790774f66f5b661fc34704931fd15 100644 GIT binary patch delta 20 ccmez2^}}n!1`hUQv(z-BWP{DyIS$GI0AX7QYybcN delta 20 ccmez2^}}n!1`c*}la#b%)5Oi&IS$GI0AQC0aR2}S diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.remove.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.remove.doctree index 2f3aa8996e4fa694fa28a9d8a405e4b58a6135d8..fd0ec9fddeb125ae48ff95159f54142c467d849d 100644 GIT binary patch delta 20 bcmeCO?y}zC$Y2s#Ij%En}Q3VG1 diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.to_json.doctree index d837e90320ed13fdc4b146e7d6cbfa847a0c31fb..ecfa060796611f992f5fa80cc493a7ddbf7d129e 100644 GIT binary patch delta 20 bcmbPXJHvLvKMwX}v(z-BWP{DDoRdWXQn3d5 delta 20 bcmbPXJHvLvKMrY2xO3j@_aFQ7{Kw diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.traverse.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.traverse.doctree index d92f0223c8b7fb3aa239ae2c4692508f9ec96eef..890c949f7f0218bb91693ac747cc51f1e4702c5b 100644 GIT binary patch delta 20 bcmcZ*c_DIx9T$7DS!$Y5vcYCou5Kj&RLut} delta 20 bcmcZ*c_DIx9T&T~NlIF>Y2s#Au5Kj&R0#(! diff --git a/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.ghpython.ReachabilityMapObject.validate_data.doctree index 97d2a1142945460610234cb652bc6ad241e01b49..3b71c820457a8585683453d4519566023d74cdbd 100644 GIT binary patch delta 20 bcmdmGyUTXN6b|-ev(z-BWP{DKIpoCvQuPM* delta 20 bcmdmGyUTXN6b^QCla#b%)5OiQIpoCvQZWYm diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.ToString.doctree index a8eb436ea8796f9f4a623b15c7292de7a8a87171..fa8254a1582e9a0fa6aaa6a028e8a60a581a00b8 100644 GIT binary patch delta 20 bcmeyN_d{<(IvabkS!$Y5vccv&HZDN`R%Hg< delta 20 bcmeyN_d{<(IvcyWNlIF>Y2xNQHZDN`RiOsq diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.add.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.add.doctree index a787d216250a9bdc587e2c2083987337d5157bcf..03aa20b46647f3f6dcfab7ef1dcf5450a74eb65b 100644 GIT binary patch delta 20 bcmZn*Xbafj!oi+wmYQaiY_QpzW4Am2Nje6( delta 20 bcmZn*Xbafj!ohBCl9HBenz-4UW4Am2NOlIk diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.add_to_group.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.add_to_group.doctree index 5d37f3b7cab752a7aa0487cf5f9820c6813173c6..2802a0f1acd9b12ac84ee2a210b2e1a73c16f36c 100644 GIT binary patch delta 20 bcmdmMx7TiiE(d$ES!$Y5vcYB(4o-0ZOS=Xe delta 20 bcmdmMx7TiiE(g20NlIF>Y2s!R4o-0ZO7{jJ diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.clear.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.clear.doctree index 7df41bfabed06e3bd9884954abb9c2d58b920160..ea482bcfb334460f5aa4d146a631fbef21ef5591 100644 GIT binary patch delta 20 bcmcbudRuivG8=ocS!$Y5vccvown82NQBVfz delta 20 bcmcbudRuivG8?Y2xNAwn82NP>cre diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.clear_layer.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.clear_layer.doctree index b661e13423b80c9d9f04f251f3726400fa587eeb..60d53bd7e201fff81d0be41504d3e0f95cd27dbe 100644 GIT binary patch delta 20 ccmZ3gyHt0>8aDQ1v(z-BWP{C{**@_D08rcqqyPW_ delta 20 ccmZ3gyHt0>8a8%wla#b%)5Oi2**@_D08khQsQ>@~ diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.compile_attributes.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.compile_attributes.doctree index cba4dc0e3ac3cce1e16d428eac2d15d90bccb832..0e1477ae1fc340db023ee0cf879405b66cb12f44 100644 GIT binary patch delta 20 ccmdlKx+!$SS#I`Zv(z-BWP{CDxbMjU09zRdRR910 delta 20 ccmdlKx+!$SS#EZ7la#b%)5OhJxbMjU09sWDS^xk5 diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.copy.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.copy.doctree index 55ede1dc0ba49d9d98dc9d6f0bbcc5128e908060..fc8acbb6a25b3fe0e7aa4542212299b0e69aec94 100644 GIT binary patch delta 20 bcmezE^xJ6z2M2qyS!$Y5vcYD4jvPqkNlIF>Y2s#njvPq0cFaQ7m diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.draw.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.draw.doctree index 2ad963b7d99b52bbffae4d6ba8ff935c93c3bf9f..28aa3dd63e8c1ec70d06adb8d1f83ca24ed04df9 100644 GIT binary patch delta 24 fcmZ3gxm0sQ90z-{S!$Y5vcY6_7QM}rIfQrsW4H$! delta 24 fcmZ3gxm0sQ90$9(NlIF>Y2svd7QM}rIfQrsV+aQz diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.draw_cloud.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.draw_cloud.doctree index 069ee74f771cf96ecfef40af87cd25f47b349903..d18dfdd8cd6b1b0d6b5861aadc795bab5068b79a 100644 GIT binary patch delta 24 gcmZ4Bx4>_MG8cQYS!$Y5vccrrJbIfWxK79b0Bm0fivR!s delta 24 gcmZ4Bx4>_MG8enKNlIF>Y2xJDJbIfWxK79b0Bf%ZkN^Mx diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.draw_frames.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.draw_frames.doctree index e15a5e0fcafa40cfd3c6e95d8c3295483125e3eb..6abef82febabebdcc1e6c2f4d7231b3e3815f834 100644 GIT binary patch delta 24 fcmZp%Z?WId#=)L!mYQaiY%p1mMQ`(Nj+0^lXW9ro delta 24 fcmZp%Z?WId#=&lGl9HBenmAdHMQ`(Nj+0^lXDSFn diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.from_json.doctree index a2be375a95dcd103853236e07150f5c7f485fa15..b39dea13191adbef6168d273942e216b93801f1b 100644 GIT binary patch delta 20 bcmdn!wb5%sH3xgLS!$Y5vccvij`cDCQoaXb delta 20 bcmdn!wb5%sH3z%7NlIF>Y2xN4j`cDCQThjG diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.from_jsonstring.doctree index e0523ca848070610462ed73267e497c33401c2f0..91256fd529358d05af8b3469bf3b910e23fbad17 100644 GIT binary patch delta 20 ccmaFq_0ns@at`)nv(z-BWP{D?ICjeb0A6YcHUIzs delta 20 ccmaFq_0ns@at?NLla#b%)5Oi|ICjeb09~dCI{*Lx diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.get_group.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.get_group.doctree index 5d56a19a825681ae05be076869eb1d347247c3ae..90be45ab946ddab6ed05e41a7b38fffd5a61b9bd 100644 GIT binary patch delta 20 bcmbPcIn8oIGCO;+S!$Y5vccvob{$awNpc2G delta 20 bcmbPcIn8oIGCRAuNlIF>Y2xNAb{$awNUjD` diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.remove.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.remove.doctree index e9674e4358e7ab4bffe480fe626029725b3b3cf6..a8978f7fb2608d58562087c77bbe70f3e8c4f14d 100644 GIT binary patch delta 20 bcmexu_1kKL13P=NS!$Y5vcYC|b`voGRtyH+ delta 20 bcmexu_1kKL13SC9NlIF>Y2s#gb`voGRY(Tn diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.sha256.doctree index 1665bd33eb2321a0a1f691746a6f217430438255..46120c3220a023cf2c8ac5f3b409aafc32cff232 100644 GIT binary patch delta 20 bcmX@&c*JpoEeCtDS!$Y5vcYB-js^(;Pf!NO delta 20 bcmX@&c*JpoEeE@~NlIF>Y2s!Vjs^(;PK*Z3 diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.to_json.doctree index a2b8b80a0660c9123bac56ea4cefaf95f1f3a30e..5002cd5aff6abf4f2db874820e8ccf818c2562df 100644 GIT binary patch delta 20 bcmeCN?XlhPm4iLmEH%w2*Y2xNGjvb-^PPYdy diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.traverse.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.traverse.doctree index 296783a0b671901d0e94d36e6bdaba500ce9f112..014a30cc75a6fbbb2e5e64bdbf83e082f01320fc 100644 GIT binary patch delta 20 bcmX>Yc`$N=DHnUPS!$Y5vcYB>u2v-gQQQXf delta 20 bcmX>Yc`$N=DHprBNlIF>Y2s!Zu2v-gQ5XjK diff --git a/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.rhino.ReachabilityMapObject.validate_data.doctree index b88fa7c9444c1a65ad1dbd5daab3fbe9420d2de3..6c9c089cc16013bed2f2b0bf556ea64e56858ee0 100644 GIT binary patch delta 20 bcmZ2yyUun)HwSyNS!$Y5vccv_95P}6P<#f- delta 20 bcmZ2yyUun)HwU}9NlIF>Y2xNd95P}6Pq+ro diff --git a/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.ToString.doctree index 97972e60f2b522e59feacb44798a4d0146cd7b51..ca636e710c872e6a9a4b68ba0599be799f8c647b 100644 GIT binary patch delta 20 bcmeyP_eXC-78`rAS!$Y5vccv;Hf})xS2zai delta 20 bcmeyP_eXC-78|>{NlIF>Y2xNWHf})xR&)mN diff --git a/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.copy.doctree index 5237b96ada01d77bc03957d2bdb8e6698d981f99..e653cbf585fcb162294998a3f54b1f9a102035a0 100644 GIT binary patch delta 20 bcmZp0ZgAef&B2~*mYQaiY_M5~BTo_lL8k@I delta 20 bcmZp0ZgAef&B1PNl9HBenz&hrBTo_lK;s3| diff --git a/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.doctree b/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.doctree index 47db5dc18ff9a3dea457063829ce6472001bccb2..4d4c670082cb24ac9d43242771324894579bd51d 100644 GIT binary patch delta 21 dcmdn{fpPB##tlE&*ptmt(~Oc0HnH0l0sw8r2%`W1 delta 21 dcmdn{fpPB##tlE&*v(B+(vnRRH?i9m0sw6M2&e!6 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.from_json.doctree index 5675874959509c58ed78630853fe864243467b7d..e657505251bd2f5fe31a73e4f11b37d8a137d295 100644 GIT binary patch delta 20 bcmdnywasfo9S3`|S!$Y5vccw7j*T(^Q@ICp delta 20 bcmdnywasfo9S6I)NlIF>Y2xNqj*T(^QuPOU diff --git a/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.from_jsonstring.doctree index 592bca51691a0b91022b9d337387ffcea9ce6778..ef2254bb24c5badfec93d0f7701fbed4d48aaeb3 100644 GIT binary patch delta 20 ccmaFo_0DUY2s#gjz$RpPhSSx diff --git a/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.to_json.doctree index 6fa29899ade1d1a8f8dfb1f974fbec426d4a25a7..86915caa9c00401d4cc34633818d42095b0fffc0 100644 GIT binary patch delta 20 ccmbPWJHd9t4-WQZv(z-BWP{EBIVOq%096PF+W-In delta 20 ccmbPWJHd9t4-R&7la#b%)5OjHIVOq%08~T=-~a#s diff --git a/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.to_jsonstring.doctree index a04b7f4ddc825f1de0d19e4b215f1fc5b6b03022..823886e674718c95e5dc7af98569f25a5a4d891c 100644 GIT binary patch delta 20 bcmdmFv&m*d5eIv+S!$Y5vccv`j-8?aP)-Lq delta 20 bcmdmFv&m*d5eK`uNlIF>Y2xNej-8?aPl^XV diff --git a/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.AttachedCollisionMesh.validate_data.doctree index 972a102dbd65800f9c4324b509bb08a5adbf5fc3..a3aff3659f30787871853db9a02f5e56da32de0a 100644 GIT binary patch delta 20 bcmdmFyUBJ#9|wD~S!$Y5vccx59I|2nQBMZg delta 20 bcmdmFyUBJ#9|ya+NlIF>Y2xOo9I|2nP>TlL diff --git a/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.ToString.doctree index 3a19c68430b3993ec72631b8de44c79a5f08dea9..4b653d613a93e626b135f80436b1b145b7cb671e 100644 GIT binary patch delta 20 bcmbQGH%o7W5gU85S!$Y5vcYCcwub@$MlS}8 delta 20 bcmbQGH%o7W5gWU?NlIF>Y2s!}wub@$MQa9; diff --git a/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.copy.doctree index d0604d14845e1e19cce79c16c301f59d7d922564..904011db06a53f67fb797b10fe8b78364c4b76e0 100644 GIT binary patch delta 20 bcmbPbILmN@BpZ9OS!$Y5vcYBrwkjb2L-Ymv delta 20 bcmbPbILmN@BpbWANlIF>Y2s!Dwkjb2Lofya diff --git a/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.doctree b/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.doctree index c3557d1f8165102fda61441a6505ab729c503265..76033aaae45bf8b9f9d5320b65d92e4111c18da6 100644 GIT binary patch delta 26 icmZ3yjA`*QrVYE<*ptmt(~Oc0CiilyZhp>Y(*ppC8wv0L delta 26 icmZ3yjA`*QrVYE<*v(B+(vnRRC--uzZhp>Y(*ppBYYFuL diff --git a/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.from_box.doctree b/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.from_box.doctree index b81b4681026aee120d783131ae2be7a2936d88c3..16700faa1de8680ad714854d7e1bbabdcf788e9e 100644 GIT binary patch delta 24 fcmaFw^WJBJJ_mcUS!$Y5vcY6s9@Wj!93pZ6bMpts delta 24 fcmaFw^WJBJJ_ozGNlIF>Y2svE9@Wj!93pZ6b3+Hr diff --git a/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.from_json.doctree index 163562575b9071f35c17ed586289d77470ed05a4..a30434ee9fd01f0daf64d1e12e038d7416e300ff 100644 GIT binary patch delta 20 bcmX@+dCYTz8wY!`S!$Y5vcYCwj!GE-QC$Y= delta 20 bcmX@+dCYTz8wb0&NlIF>Y2s#Ij!GE-P?-kr diff --git a/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.from_jsonstring.doctree index 87515713ed797537d19530ef1576d46dbdd286c5..396965bf4d7aa5cb7eea51de140e93db443f8809 100644 GIT binary patch delta 20 bcmez8`OkAh5eIv+S!$Y5vccv`j#e1}T?q%i delta 20 bcmez8`OkAh5eK`uNlIF>Y2xNej#e1}Ttx@N diff --git a/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.from_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.from_mesh.doctree index e498b55f568e88ab110c0dec62001685d6947ac5..82319526fe260efd3c28af3a3a339c4d55d568e6 100644 GIT binary patch delta 24 fcmezB`_*@YEeCtDS!$Y5vccqd7S+v}96fRXc)bXd delta 24 fcmezB`_*@YEeE@~NlIF>Y2xH~7S+v}96fRXcnt`c diff --git a/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.from_sphere.doctree b/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.from_sphere.doctree index 58dc434ea45536b34416fc5cf1e7ab55496dee2a..223f3945746c3efce5c4bb158bf6399e2a0dbd36 100644 GIT binary patch delta 20 bcmccMd%<@@BnNx4S!$Y5vccvAjsiIVRKf=( delta 20 bcmccMd%<@@BnP{>NlIF>Y2xMtjsiIVQ~n1k diff --git a/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.scale.doctree b/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.scale.doctree index f2085486ed3bf28151435b68f5e36ead76dce900..2688ac7ee026b4e1571f75965146d73fc2736cf3 100644 GIT binary patch delta 20 bcmca&e8qT!Fgts)S!$Y5vcYC4_FX~%O!o$< delta 20 bcmca&e8qT!Fgv@sNlIF>Y2s!n_FX~%Ofv?q diff --git a/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.sha256.doctree index a9baafee3bf52e237899776e5656dd23b545969a..dc347f4bcf24ff1d63e46f1569b93282a7cc1c9e 100644 GIT binary patch delta 20 bcmaFn@XTQY2M2qyS!$Y5vcYD4j&KP8Pxl6P delta 20 bcmaFn@XTQY2M4>kNlIF>Y2s#nj&KP8PcsI4 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.to_json.doctree index 52c9f0d414d42d7ef30c6b4f99576093139f62e5..0cac016397c22f02c4937488aac93d8282bb3286 100644 GIT binary patch delta 20 bcmZ2yv(9G20S@+Lv(z-BWP{DeInqS|RNM!9 delta 20 bcmZ2yv(9G20SY2s!_j($-9PhJMz diff --git a/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.transform.doctree b/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.transform.doctree index 962cbb1eba72c4ac9cf21488a19af0edf776676c..ba45b87b1e20b30ec37aed3ac3b81d1ce6e49df2 100644 GIT binary patch delta 24 gcmca%bHiqXBRhMtS!$Y5vccpx%&MDn*Y2xHJ%&MDn*(^b diff --git a/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.BoundingVolume.validate_data.doctree index 1a990c32dc0c667a278fc6d551d008c0e40db0c3..8b53bdbe197a6cb0acf5b6868b4ae84cf525684b 100644 GIT binary patch delta 20 bcmca$bHQdq7zcZ@S!$Y5vccw9j?bb1Qz8d< delta 20 bcmca$bHQdq7zew#NlIF>Y2xNsj?bb1QeFpq diff --git a/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.ToString.doctree index 2702c3875050c32b9d4d1bcf20d34b04a4332316..9cf44f15aa5aa784e3d53cc7635ec81f2ae48d7c 100644 GIT binary patch delta 20 bcmeCt>(Sew#m1g&mYQaiY_Qpo?X~~_Lw5#R delta 20 bcmeCt>(Sew#l~)Kl9HBenz-4J?X~~_LbC>6 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.copy.doctree index 74763e6ffab94f806f12a568d413d302700e27a3..2cc11bcd6e52bf09aded9b2dcf6038166b9a58e1 100644 GIT binary patch delta 20 bcmZp0YH-?cnw>q_EH%w2*(iRt7drVTsU*ptmt(~Oc0HXmT?YytpjT?pO) delta 22 ecmX>(iRt7drVTsU*v(B+(vnRRHy>c@YytpinF!+m diff --git a/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.from_json.doctree index 3548899810d6d177d926dafe9619da9e380ffc68..a90fa4e596d5c6a00dace8dd5fbd6b8ef73b1159 100644 GIT binary patch delta 20 bcmdnyxy^Hf9S3`|S!$Y5vcYCojzSp#PE`i7 delta 20 bcmdnyxy^Hf9S6I)NlIF>Y2s#AjzSp#O_2t- diff --git a/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.from_jsonstring.doctree index 3b6026931b1e25a460ec49593f974105f3670e3f..114d1e89798ea226734bd6f655bc14b33f0f2080 100644 GIT binary patch delta 20 bcmaFo`Ob4g76*H>S!$Y5vccv;j#?Q2S^)=! delta 20 bcmaFo`Ob4g76-ezNlIF>Y2xNWj#?Q2Sv?1f diff --git a/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.scale.doctree b/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.scale.doctree index 4dafe7277d74b8a5c9ba0918c8971cb736f47a8e..0b25805a8a2fc73cef3f1bd126ee97acde6cba8d 100644 GIT binary patch delta 24 fcmexl^vP(006TlKS!$Y5vccq2%o>~R*^Pw&av%r> delta 24 fcmexl^vP(006V+6NlIF>Y2xHl%o>~R*^Pw&ac~F= diff --git a/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.scaled.doctree b/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.scaled.doctree index c16dd1c5fe567be5a5ade13a4e8cbdfa1e146527..aed93b1d41dba234a711a87be9efecb62f9c7324 100644 GIT binary patch delta 20 bcmZ2uyvBHgBs+VuS!$Y5vcYBr_8uVsM;!(? delta 20 bcmZ2uyvBHgBs;sgNlIF>Y2s!D_8uVsMp*_t diff --git a/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.sha256.doctree index de608baf0a39592aecb0972c795dd574a75c836f..7274d8588e3ebe096115344cb67ede97fe02378c 100644 GIT binary patch delta 19 acmccNaKm8%2Ya$vYMN29!De=jKnVazZU!^} delta 19 acmccNaKm8%2fMjRN?NjM;%0V^KnVayss=d# diff --git a/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.to_json.doctree index c243aea41898e6157ac9fde717a7c6f037842038..f6572b4197c741222c7626f94bb2bb3978f17d2d 100644 GIT binary patch delta 20 bcmZ2rv%qG<4i5HYv(z-BWP{E7ITA$yQX~gS delta 20 bcmZ2rv%qG<4i0v6la#b%)5OjDITA$yQD6s7 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.to_jsonstring.doctree index b571c3380ee02643bbad64d81716c41fcbd1e732..f96ec0157c783e28ed9cd1d0374617f9c7b29ded 100644 GIT binary patch delta 20 bcmX?PeaL!)5eIv+S!$Y5vcYCcj!sbkO=Y2s!}j!sbkOr{2` diff --git a/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.CollisionMesh.validate_data.doctree index d9442482f42bb435bc61a9bdfaef5865db4633f1..b15a5d1ed7b8b7a7b5b3b8e31e4c56d18f614217 100644 GIT binary patch delta 20 bcmX?PbI4|c9|wD~S!$Y5vccw1j<=!!P-+K7 delta 20 bcmX?PbI4|c9|ya+NlIF>Y2xNkj<=!!Po@V- diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.ToString.doctree index 80998d42b11dd1cd335ac1b982bfa88ef59a4154..36e74227cf70bd430be5d6a08eefb4442958d89f 100644 GIT binary patch delta 20 bcmaE$_dst$6dQZ8S!$Y5vccv=w*LYEQ^yB} delta 20 bcmaE$_dst$6dSv_NlIF>Y2xNYw*LYEQv(N! diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.copy.doctree index 8efeafbac05912be486a95faf813e279045d0b49..ab35a77e4074598f2d2265f55b12848022e9065a 100644 GIT binary patch delta 20 bcmaFh^uTGuZ+7-%v(z-BWP{C29C4BWU1bMb delta 20 bcmaFh^uTGuZ+3Qbla#b%)5Oh89C4BWT%iYG diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.doctree index 0a570b59593938a510a56ea466b79c57156d95f3..fd95ba06a039a0d21b856036a9d0ec97dc64fa7e 100644 GIT binary patch delta 26 icmbR6oN>Z)#tpaG*ptmt(~Oc0CMR$yZf0ih%>e+A2nmJ& delta 26 icmbR6oN>Z)#tpaG*v(B+(vnRRCnse+9SP6>& diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.from_json.doctree index eb5ce613689ae83eba4f811fb33457b9856b8527..b7b0c2e7b406f70ca7cdf84fa0bbfc7994f9d3e8 100644 GIT binary patch delta 20 bcmbQ{HO*^79tV4}S!$Y5vccw3j)gJ+O{oV2 delta 20 bcmbQ{HO*^79tXR*NlIF>Y2xNmj)gJ+Oyvg& diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.from_jsonstring.doctree index 1637964817d59e99ef587057b485939eac7701a2..ecd71b7de50b2214b4ae9452a9911ff0b5743929 100644 GIT binary patch delta 20 ccmX@-bFgJU$S!$Y5vcY6oR>jTM+;uttZU+a* delta 24 fcmdm)zcYV>FgLroNlIF>Y2svAR>jTM+;uttZC3}) diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.scaled.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.scaled.doctree index 6023412c547d03c865e3a417e3e974ac252fdd8c..6317b5c6cd6eaffcfe28e9a3f5973cc5c226d534 100644 GIT binary patch delta 24 gcmX@&aKvGQGCO;+S!$Y5vccr{oQj*h*?&p^0C1NG)c^nh delta 24 gcmX@&aKvGQGCRAuNlIF>Y2xJfoQj*h*?&p^0B`3A+5i9m diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.sha256.doctree index 82b9c53b049586d73fe30fe2bf78efb1bda21a09..4f58cbaf536f7f4d6ae6199fe09164493109a751 100644 GIT binary patch delta 20 bcmZ4ExW;jV0S9}sS!$Y5vcYC^j#3E#O0x!X delta 20 bcmZ4ExW;jV0SCLeNlIF>Y2s#cj#3E#N$&=C diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.to_json.doctree index ad57e1974fd3e28c83cc9938a948f28a5f5d9b2c..671ffd484e44ba409dbab1238de4b6a6e71e1793 100644 GIT binary patch delta 20 bcmexj^TlSv3l8>Vv(z-BWP{D`Ia);lVsr>~ delta 20 bcmexj^TlSv3l4U3la#b%)5Oj1Ia);lVXz2# diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConfigurationTarget.to_jsonstring.doctree index 2828265ff2b4fde3b22c4d697c7395019e722712..c5e8caa07c4abbb02be902349287bd995fc69177 100644 GIT binary patch delta 20 bcmbPcGtFj05(j&-S!$Y5vccv|jY2xNgjY2xNq4nZ*hOB)7x diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Constraint.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Constraint.ToString.doctree index 73ade300bc9df0497961b76efe1d23d2db78757d..364c400ee4899827240300058e8f162dedf2ff7d 100644 GIT binary patch delta 20 bcmaE)`$%_#5F2~4S!$Y5vcYCawvz$?PAdk& delta 20 bcmaE)`$%_#5F5L>NlIF>Y2s!{wvz$?O=kwj diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Constraint.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Constraint.copy.doctree index be2155beb7b9c3902dda0cb0d1634862562d5f37..5c61a09e9085f90117c99a45541fa3c7b0a6d5c6 100644 GIT binary patch delta 24 fcmeA-=r`E#m6bi&EH%w2*fn delta 26 icmezWobms2#tpOC*v(B+(vnRRCx2vC-F%$QA{PLrstYCn diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Constraint.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Constraint.from_json.doctree index 9ec4d45fbb6ae200afda7dea5b5dbb6dd57f6fdd..04a5b44e52352e01bb0e03da02cd74093617955a 100644 GIT binary patch delta 20 bcmZqkZ1dcp#=)L!mYQaiY_M6EBT@zcMLh-z delta 20 bcmZqkZ1dcp#=&lGl9HBenz&h)BT@zcM0o}e diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Constraint.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Constraint.from_jsonstring.doctree index 12f5395b7fae580e401295f1d4550bd83ccea6eb..23668e9013a5ea5f2a677b83d255fb8e1a6bee8e 100644 GIT binary patch delta 20 bcmdnzxzBS$5C?m*S!$Y5vccv^j#L={Q0WHV delta 20 bcmdnzxzBS$5C^-tNlIF>Y2xNcj#L={P$dTA diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Constraint.scale.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Constraint.scale.doctree index 167450f0325b51e2cdfdf1bcff7f67a425c1b39e..bef9a2c62ba9062a9e7a6fbd60c0825311ab7b7c 100644 GIT binary patch delta 20 bcmZqHY}VZHo{c@(EH%w2*tB>v(z-BWP`~YxKuZ*u;+^c0CL6%O8@`> delta 24 gcmbPiIoWc<4>oplla#b%)5OUexKuZ*u;+^c0CE-xPyhe` diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Constraint.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Constraint.sha256.doctree index 31af7e21af38cc802d94e5757c97b77f6d3c54e6..be59024b3b562749b762f63fd3b6fb5848cc59d5 100644 GIT binary patch delta 20 bcmZ4Iu+Cw_3wHKov(z-BWP{D`+3h6&SOy2I delta 20 bcmZ4Iu+Cw_3wCyMla#b%)5Oj1+3h6&S3(D| diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Constraint.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Constraint.to_json.doctree index 14f6eb30f13fcf2d50b7fd8265d099a13537c067..ad99b8fe8edf2e49499fc2887af80e0fbf0d6298 100644 GIT binary patch delta 20 bcmexn{mpvA0uJ_Mv(z-BWP{DiIs8QdT-XP( delta 20 bcmexn{mpvA0uFX_la#b%)5OioIs8QdToebk diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Constraint.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Constraint.to_jsonstring.doctree index 40fc6d2b74666370066f7526089f0cebd9844252..94419275e05915ebedcf1d962949c2b3386f9225 100644 GIT binary patch delta 20 bcmbPXJ;Qo~6bE~Y2s!@j&e}|M1BSq diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Constraint.transform.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Constraint.transform.doctree index 450ef6f18897ca26a6a13af4c9dadfeeadde5c18..1d3c0b669e9a32a90f669b5a1bdb6e261020bf91 100644 GIT binary patch delta 24 fcmcbrc~x_REIWI$S!$Y5vccpt%&MC`*?V{aZ72vN delta 24 fcmcbrc~x_REIYfoNlIF>Y2xHF%&MC`*?V{aYY2s#Ej@zODM}7vh diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.ToString.doctree index 0f3793354e23e2167f44f3b1155ea243ed59890c..fd499814e41c2f359131023bd0d44408ce23e9da 100644 GIT binary patch delta 20 bcmaE$_dst$6dQZ8S!$Y5vccv=w*LYEQ^yB} delta 20 bcmaE$_dst$6dSv_NlIF>Y2xNYw*LYEQv(N! diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.copy.doctree index 2864890a7aab9dcb7ab72488c4924c323ed9e9fb..a079cb0634c8b25ee1d400e56334b0d1d80e591e 100644 GIT binary patch delta 20 bcmaFh^uTGuZ+7-%v(z-BWP{C29C4BWU1bMb delta 20 bcmaFh^uTGuZ+3Qbla#b%)5Oh89C4BWT%iYG diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.doctree index 5fba122576382629f231f2919444671c277e8ffe..10455f531c6deaecd0d5575a5754e66efb7b5936 100644 GIT binary patch delta 26 icmZ3nmvO~j#tpaG*ptmt(~Oc0CMR$yZf0g*8V&%B1qo#U delta 26 icmZ3nmvO~j#tpaG*v(B+(vnRRCnsY2xNmj)gJ+Oyvg& diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.from_jsonstring.doctree index e5f68e46ef6a02c92212192384cc149e66468ff5..2f6cd6fdb54aace3fce6906c4005756c87400ae3 100644 GIT binary patch delta 20 ccmX@-b;?h=a>obm delta 24 fcmeyZ_gim+GCRAuNlIF>Y2xI5PQ}gM>;?h=au)~l diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.sha256.doctree index 70a5fc71a527786a2b7817313a9b35cbeec19b5e..da50b28c3d6d63fdd37b4f03ac174be4e33f2325 100644 GIT binary patch delta 20 bcmZ4ExW;jV0S9}sS!$Y5vcYC^j#3E#O0x!X delta 20 bcmZ4ExW;jV0SCLeNlIF>Y2s#cj#3E#N$&=C diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.to_json.doctree index 7e437986c9e1a527b38d5d5b8a8a1c5ae616ae8a..7e167a54da6d4543c3a0d590c209d44cdf6fa6f8 100644 GIT binary patch delta 20 bcmexj^TlSv3l8>Vv(z-BWP{D`Ia);lVsr>~ delta 20 bcmexj^TlSv3l4U3la#b%)5Oj1Ia);lVXz2# diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ConstraintSetTarget.to_jsonstring.doctree index d10b0adebced9352351b145d16a5bf4c86027220..7d85cb128ef0870e36bf0fcadacdfb4e29dce358 100644 GIT binary patch delta 20 bcmbPcGtFj05(j&-S!$Y5vccv|jY2xNgjY2xNq4nZ*hOB)7x diff --git a/latest/.doctrees/api/generated/compas_fab.robots.DeviationVectorsGenerator.doctree b/latest/.doctrees/api/generated/compas_fab.robots.DeviationVectorsGenerator.doctree index e9592c4934c4503c649d789e1a181fc3e4dad665..3bcbea5650ac702638e4ac2ded323f392ec389f8 100644 GIT binary patch delta 24 fcmX>Zc`|Z?BRhMtS!$Y5vcY6;7Msm2?5?T+a_a~) delta 24 fcmX>Zc`|Z?BRjjfNlIF>Y2svW7Msm2?5?T+aytk( diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Duration.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Duration.ToString.doctree index 2124a3cef1fe2eb34153b38ae45509cf362e52dd..d62f12e4131f1366bee626ffb6caf6e652a72530 100644 GIT binary patch delta 20 bcmX@6drWr&6B~Q7S!$Y5vcYCfw!H!XNV^7J delta 20 bcmX@6drWr&6C1m^NlIF>Y2s#1w!H!XNB0I} diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Duration.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Duration.copy.doctree index 838ec717ff0f3c0cc499d1f2cb54b8e4eab7e07b..5c7d550919c7200af6065e351e10a35037627b08 100644 GIT binary patch delta 20 bcmdnsxWRG5Vs`dqv(z-BWP{DC*x4ijQsxHm delta 20 bcmdnsxWRG5Vs>_Ola#b%)5OiI*x4ijQX&TR diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Duration.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Duration.doctree index fb8282ca2422ee69f1265eed1b07171df22cb2a4..5dcfeac41509754263ad361659c6578894272825 100644 GIT binary patch delta 22 dcmdn9mvPTt#trps?8#=SX-3Hgo7>pTA^>QT2qypl delta 22 dcmdn9mvPTt#trps?B*sZY00LEo7>pTA^>O32rK{q diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Duration.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Duration.from_json.doctree index 8f6fe774d676fb0191e259375daf9bedbe331b7c..c6b8a019a624ab24e16516a66205f060b1ecbf08 100644 GIT binary patch delta 20 bcmaFn@yug`7zcZ@S!$Y5vcYCq4o?{XQV9l_ delta 20 bcmaFn@yug`7zew#NlIF>Y2s#C4o?{XQAGxw diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Duration.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Duration.from_jsonstring.doctree index 860fde9e3b77229d5d9cac3157005854b6d5bea3..564a82dd68f01ff28f1f69c8a26628301bc68d3f 100644 GIT binary patch delta 20 bcmbQ|InQ&069;>;S!$Y5vcYCgj!+o@O4$Z( delta 20 bcmbQ|InQ&069>DwNlIF>Y2s#2j!+o@N)-lk diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Duration.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Duration.sha256.doctree index 6a764da5c04e67b7700af33c1563de02bd2ea9f5..c6d4106d26c2ab5d7de99e37d9011de215441e75 100644 GIT binary patch delta 20 bcmbQ_Fv(%V4R-cqv(z-BWP{E3*^MOtQkDlu delta 20 bcmbQ_Fv(%V4R&^Ola#b%)5Oj9*^MOtQPKxZ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Duration.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Duration.to_json.doctree index 5ae29bce7a3fd40625504601fee3cad975cb1f2d..fd5195ec5e4861b88ce50f0ee752098d6ec5732d 100644 GIT binary patch delta 20 bcmca*eam{o1P=COv(z-BWP{DqIh;iSS7--K delta 20 bcmca*eam{o1P*p{la#b%)5OiwIh;iSR-^|~ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Duration.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Duration.to_jsonstring.doctree index 41b285c9297a6e57d7e2ae312e2afe82e1d3abd1..5c1f8bc90c55b99d5534f349d1f2d835eab18ca3 100644 GIT binary patch delta 20 bcmexk^~Y)h7YBQ?S!$Y5vcYCSj%-l?QmzK8 delta 20 bcmexk^~Y)h7YDn!NlIF>Y2s!Y2s#Gj`N}bRO$y# diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.ToString.doctree index 295ee178483f80a99236ddc3173517bd6a3a271d..1ed0c871a836fde70ae155d5315cc5e42d7259c2 100644 GIT binary patch delta 20 bcmeyM`$2bu6dQZ8S!$Y5vcYCWw(|l2P~!&l delta 20 bcmeyM`$2bu6dSv_NlIF>Y2s!@w(|l2P#*^Q diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.copy.doctree index 8c99f3ffd4310ed9631a4a299d5dcb556d18a836..0fc283093095903994eeb779392a75a3bd0f6f00 100644 GIT binary patch delta 20 bcmaFh_`q?)Zg%!$v(z-BWP{Cz*ySVvTmA=_ delta 20 bcmaFh_`q?)ZgzHala#b%)5Oh(*ySVvTRI1w diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.doctree index 480076c63569d143d55eec5d11f76cdf4994430a..57845e4b81f8e7ca028d25d670f4670aa33c559b 100644 GIT binary patch delta 26 icmaF=lJWgZ#tpOC*ptmt(~Oc0CVyvE+Y2s#6jzk#%M}Y=M diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.from_jsonstring.doctree index a5169ff7d2e6ca508756e7cc5e50ebc3588f6e83..1bf07936d068c90ee72ab9ec3cd5cd8520b70b6f 100644 GIT binary patch delta 20 bcmX@-dCqe~6bE~Y2xNYj$9c4Q!NJ@ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.from_transformation.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.from_transformation.doctree index d66ef11720e2fc23a4308f7d731779ca1cc4faa0..f534e61eb010ce88cbfc853f9b7474ac096fcb09 100644 GIT binary patch delta 20 bcmZp#Xs_6yF2J5_mYQaiY_M5R;HEYJO{oV9 delta 20 bcmZp#Xs_6yF2HVXl9HBenz&g{;HEYJOyvg< diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.scaled.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.scaled.doctree index c84d1b9048fb33bc8cc5e1e277524d2314def725..83d1a19457a645add3993fa1e50c25a3b0759301 100644 GIT binary patch delta 23 ecmZp6Xm;3en~go$EH%w2*Y2s#0j#^OwM>YmX diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameTarget.validate_data.doctree index e0d35a54d2dd6dd800fef4cec2c1f6b2c3d422af..08545a40cd9ffa2b82c6f545b5e9055287968fa3 100644 GIT binary patch delta 20 bcmZ2xv&?3L9S3`|S!$Y5vcYCoj)$TEO8N%j delta 20 bcmZ2xv&?3L9S6I)NlIF>Y2s#Aj)$TEN;U@O diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.ToString.doctree index 1437fcdca315db8a2c07156bf0918addf93a0894..ef10482c667e212d6b2ec34ce31e8f13b8f87a5c 100644 GIT binary patch delta 20 bcmbQGH%o7W5gU85S!$Y5vcYCcwub@$MlS}8 delta 20 bcmbQGH%o7W5gWU?NlIF>Y2s!}wub@$MQa9; diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.copy.doctree index e27659265176129a51f164c7f5930f949776eba2..34c8d965db9e303fdbcc59a5b56cfde34554bfbc 100644 GIT binary patch delta 20 bcmbQ>G{I@ZWp?&tv(z-BWP{DO*v%vXQaT4h delta 20 bcmbQ>G{I@ZWp;LRla#b%)5OiU*v%vXQFaGM diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.doctree index 0fe63b5c610371d7c50ff2c2d5184dd2e0dd278a..0b42200dd3edadad7c977ebd9345eac39bb40acd 100644 GIT binary patch delta 26 icmdn_m~rQ0#toa<*ptmt(~Oc0CfjoY2s#Ij!GE-P?-kr diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.from_jsonstring.doctree index b10b6e89761cdd04901527a8874830516bbb57c8..3408e4e6b01ca169c954861c071444fa8e9d6407 100644 GIT binary patch delta 20 bcmez8`OkAh5eIv+S!$Y5vccv`j#e1}T?q%i delta 20 bcmez8`OkAh5eK`uNlIF>Y2xNej#e1}Ttx@N diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.from_transformations.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.from_transformations.doctree index 59abd2537fc553b15e3f6187aecc982d820712ed..ee8dcc975aae30357511709d8fb60fb9520644a5 100644 GIT binary patch delta 26 hcmccL$auezaYMWSd$L(-no+XBWNl%^&Fuma1^|Q!2-W}q delta 26 hcmccL$auezaYMWSySYh9TC!>4WNl%^&Fuma1^|Ou2-^Sv diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.scaled.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.scaled.doctree index 9589b037f4fa109867da67f9bb6053c45b4a2ebc..da4e010e13572bc9b4b86e9150dff37f102b588e 100644 GIT binary patch delta 20 bcmaFi@WNrkH#YWUv(z-BWP{Cr*|H@8Ve|-R delta 20 bcmaFi@WNrkH#T;2la#b%)5Ohx*|H@8VK4}6 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.sha256.doctree index 6072ab374c3d9871d0abb8b6d3f662738ee8d0e2..9e9d46d1aaed1aa8e58d396c551762bf427266bb 100644 GIT binary patch delta 20 bcmaFn@XTQY2M2qyS!$Y5vcYD4j&KP8Pxl6P delta 20 bcmaFn@XTQY2M4>kNlIF>Y2s#nj&KP8PcsI4 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.to_json.doctree index 908ca97560d917056793a728a18dd2253cf882e8..90916e148bc801d4dc7885581126583a100df192 100644 GIT binary patch delta 20 bcmZ2yv(9G20S@+Lv(z-BWP{DeInqS|RNM!9 delta 20 bcmZ2yv(9G20SY2s!_j($-9PhJMz diff --git a/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.FrameWaypoints.validate_data.doctree index 6dd23d3017fd53b567ee8e911f258f769e48e3dc..ddf42df96087949c2765efc79a7a256841ce2e04 100644 GIT binary patch delta 20 bcmca$bHQdq7zcZ@S!$Y5vccw9j?bb1Qz8d< delta 20 bcmca$bHQdq7zew#NlIF>Y2xNsj?bb1QeFpq diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Inertia.calculate_inertia_tensor.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Inertia.calculate_inertia_tensor.doctree index a74eec8a189b5cc13fd8ae23071b0286c249ce5d..9423c9bc9537269ee35e04c20a1c4b1f52c2dcc4 100644 GIT binary patch delta 24 fcmaE=^;BzvBqw{aS!$Y5vccp=ZpF=xoGLs3Z0QG% delta 24 fcmaE=^;BzvBqzJMNlIF>Y2xHYZpF=xoGLs3Y&i#$ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Inertia.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Inertia.doctree index 5366473479be4d6557567105b9028786cad1dd2b..8819658f7dab00088da3b6606d0e6afdcd359d65 100644 GIT binary patch delta 24 gcmbQ0H7jdFH5+@fS!$Y5vccs0%!->Avz6-s0Cs)}0RR91 delta 24 gcmbQ0H7jdFH5Y2xJj%!->Avz6-s0Cmm@1^@s6 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.ToString.doctree index d2a249292199256acea0d90a0f9bf5bade6407a3..b82cba979892d8f682c5d9eb7fe372e130a5d9a5 100644 GIT binary patch delta 20 bcmZ3Xw?c1&6&ri9S!$Y5vcYCYw&wx>NaqH= delta 20 bcmZ3Xw?c1&6&t&`NlIF>Y2s!_w&wx>NFxTr diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.copy.doctree index 0909c7c1ac58da789c21a39a300b519d5d4d802c..79c86eff133cd590ac64bb9faf6facdc1677870b 100644 GIT binary patch delta 24 fcmZoNY%<)S#KxX%mYQaiY%uu`r|M=uHWMKLVEYGo delta 24 fcmZoNY%<)S#KvxJl9HBenmG9nr|M=uHWMKLU`q#n diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.doctree index 6bb280652ae628c6a7b2e72e569b62dfcba3f4b0..7f193939a7cb74af78b38b0774adfc841ad9d437 100644 GIT binary patch delta 26 icmcaVkLmtArVWSL*ptmt(~Oc0CiAnXZhp^J&;bCE8VVBt delta 26 icmcaVkLmtArVWSL*v(B+(vnRRC-bwYZhp^J&;bCDY6=(t diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.from_json.doctree index 8e480fb60ee99e147b9fdc0d279240a2f0db1e2c..f6ae88544a5c7135e0aeda8528cf5c2057f079da 100644 GIT binary patch delta 20 bcmccSdChZ!9|wD~S!$Y5vccw1jz$>(RAmPu delta 20 bcmccSdChZ!9|ya+NlIF>Y2xNkjz$>(Q=tbZ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.from_jsonstring.doctree index fed8ca00ced65a0a7a4186e2ebf29ec36a5c7fe5..e1dd960356622e0737b511df63e618be0b733f1c 100644 GIT binary patch delta 20 bcmeD4>hs!A#lfCzmYQaiY_PeJqgMt1O*IDi delta 20 bcmeD4>hs!A#ldcFl9HBenz*@Y2xH6KGnss-1-1>9!VaX$yw delta 24 fcmexh^1)<-3_H8INlIF>Y2xHwPSwpG>>9!VaE}Mv diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.scaled.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.scaled.doctree index 4780ecc547eb684c8765eb1493039e8459f6c587..c8974d30dcf7250868586f6645b41b2ac7a59dfc 100644 GIT binary patch delta 24 gcmaEC`Pg!U0y}%MS!$Y5vccpB%&MDx*r$sE0CR5$jQ{`u delta 24 gcmaEC`Pg!U0z138NlIF>Y2xGu%&MDx*r$sE0CK+wk^lez diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.sha256.doctree index 3e7ba4277257f34a1abc61a95d409cbc8149ae22..eb2349493199053e685388a1fbb43bb174f35b77 100644 GIT binary patch delta 20 bcmez3@Wo++00(=rS!$Y5vcYC?j#vo*Qm+Q6 delta 20 bcmez3@Wo++00+CdNlIF>Y2s#aj#vo*QR@b+ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.to_json.doctree index a28e72b77ae2e6c8a9aee5cce7210745f234aaff..7e143dd13f4cf2c8eaca8ccd3be545260f350724 100644 GIT binary patch delta 20 bcmdmEv&Uw`2@dvTv(z-BWP{D;IdVk-SCj{> delta 20 bcmdmEv&Uw`2@ZC1la#b%)5Oi^IdVk-R?r8s diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.to_jsonstring.doctree index 4f42f5514e2656565fb6554fbc44c6e7712823b9..826e7cca2711668e489ed0a1559cafb2d64f0699 100644 GIT binary patch delta 20 bcmca-eb0J>69;>;S!$Y5vcYCgj;W#mQrZU# delta 20 bcmca-eb0J>69>DwNlIF>Y2s#2j;W#mQWggg diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.transform.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.transform.doctree index 00bc30bf55589a315914af1014a604d52c0d106a..f67d56a50d5550b55c0cde2267259f0fed1a7c2c 100644 GIT binary patch delta 24 fcmZ3gwNz_^D?59#S!$Y5vcY72Zq?0&>|1yNV(bTr delta 24 fcmZ3gwNz_^D?7WnNlIF>Y2svlZq?0&>|1yNVmt?q diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointConstraint.validate_data.doctree index d9323e39d402aa67fae2943dcd303f9862678249..3fcd0beacf36d028799b6b3e351ca63939820289 100644 GIT binary patch delta 20 bcmca-bI)c&90z-{S!$Y5vccw5j-R3cRoVxs delta 20 bcmca-bI)c&90$9(NlIF>Y2xNoj-R3cRTc-X diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.ToString.doctree index d5198012ddc4d3fb7b9422c85c46b7db9f4dc7b4..5ab3ac39c749449667319481cfd23764a41698ea 100644 GIT binary patch delta 20 bcmZ3Xw?c1&6&ri9S!$Y5vcYCYw&wx>NaqH= delta 20 bcmZ3Xw?c1&6&t&`NlIF>Y2s!_w&wx>NFxTr diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.copy.doctree index 9f17dd38a31e19356db6d52734d5f570ee7f7b15..a393e6779e51932c33be3d90a83e0efff5d0a244 100644 GIT binary patch delta 20 bcmZ4Bw7_Y@ZFcr#v(z-BWP{C**zF_%RYC`P delta 20 bcmZ4Bw7_Y@ZFY8Zla#b%)5Oh>*zF_%RDK74 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.doctree index 2f10a402459c12379ede92f78df14aa7e3b51ef6..a055a035888acfe9f73e7dcb5c771b90324cddf9 100644 GIT binary patch delta 26 icmcaVgX#VZrVR(#*ptmt(~Oc0CiAnXY<|O5+zJ4X%L)Mi delta 26 icmcaVgX#VZrVR(#*v(B+(vnRRC-bwYY<|O5+zJ4X8wv&h diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.from_json.doctree index f68e7b2e4ec70b0653435386b6ebfb423523c5fb..4421fb1425b4bded7b3974770f104a232d25581c 100644 GIT binary patch delta 20 bcmccSdChZ!9|wD~S!$Y5vccw1jz$>(RAmPu delta 20 bcmccSdChZ!9|ya+NlIF>Y2xNkjz$>(Q=tbZ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.from_jsonstring.doctree index 0f4a7077c5dab7b38fe89cbaba28c42f91628981..fb613ab01535f8a4f0ec86e013599b2ea88f4b44 100644 GIT binary patch delta 20 bcmeD4>hs!A#lfCzmYQaiY_PeJqgMt1O*IDi delta 20 bcmeD4>hs!A#ldcFl9HBenz*@Y2s#aj#vo*QR@b+ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.to_json.doctree index 5f2b7a51409b80e8cf3eabaedfe6627e9ab8fd4d..b2b1ce7df39c6a3429b3ca35fad1e671a4206788 100644 GIT binary patch delta 20 bcmdmEv&Uw`2@dvTv(z-BWP{D;IdVk-SCj{> delta 20 bcmdmEv&Uw`2@ZC1la#b%)5Oi^IdVk-R?r8s diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.to_jsonstring.doctree index 435ecb1f0119eb1a49d2e8502336930ea1009dc3..c8e754cfb475c4c02955ff04d09d48ffa94aa118 100644 GIT binary patch delta 20 bcmca-eb0J>69;>;S!$Y5vcYCgj;W#mQrZU# delta 20 bcmca-eb0J>69>DwNlIF>Y2s#2j;W#mQWggg diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectory.validate_data.doctree index c36e4e9bf4514661cb5ef78d109c9df120387258..0dc5b96d300eabc00cbb370b8607e16781809628 100644 GIT binary patch delta 20 bcmca-bI)c&90z-{S!$Y5vccw5j-R3cRoVxs delta 20 bcmca-bI)c&90$9(NlIF>Y2xNoj-R3cRTc-X diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.ToString.doctree index 4b06b15497359fb20359ecc47c4e2d95da1f0e66..acc6c05fd3d17638bfc6f922b1db3055cfc3231b 100644 GIT binary patch delta 20 bcmaE-_fBs^5*vH6S!$Y5vccv|Hda9ZRDcG# delta 20 bcmaE-_fBs^5*xd@NlIF>Y2xNgHda9ZQ@jSg diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.check_joint_names.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.check_joint_names.doctree index dfcc3d0a4f9d699ed0518cab8186a34fa3785625..e9c90eea75a488521dcafd78fdb0cd95b7bb89e6 100644 GIT binary patch delta 20 bcmaE&{zQGlH8%ESv(z-BWP{Cj+1PmjTBHYk delta 20 bcmaE&{zQGlH8ys0la#b%)5Ohp+1PmjS>OkP diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.close_to.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.close_to.doctree index 6e4c8361d8d70280678862fa7ac9cb45f58a8258..4b60aa85e4053c224e4fb83896c3da97c93a434d 100644 GIT binary patch delta 20 bcmcZ=dMk9pFAnx(v(z-BWP{C&oHrE#U?~Uq delta 20 bcmcZ=dMk9pFAjEdla#b%)5Oh;oHrE#Uu6gV diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.copy.doctree index c29b3eb59a5ce86f55ae03baa399479080a10bc5..9ce33f69839d6778ad76d639e32f084c401aae63 100644 GIT binary patch delta 20 bcmez1^ucKZGY5OJS!$Y5vcYC9jxY2s!sjxY2xNuj+HV1PwfXm diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.from_jsonstring.doctree index 5277a074e13f979c4ab6f53c6269d5271891334b..da89623171363344445ad8c3b7385c0489595431 100644 GIT binary patch delta 20 ccmccTbY2xN+9w!9=O{WH~ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.from_revolute_values.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.from_revolute_values.doctree index c8d65250b9706fa8b2b331423a014e8d6dafb954..3f64066b4196f76b6a259964e44f26b83ed9ae7b 100644 GIT binary patch delta 20 bcmeD3>+;*Mhl@SgEH%w2*+;*Mhl}0ZBqc4`G;#A`E_WFKP~`_d diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.get.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.get.doctree index 5a2fdce0ea7cfdf81fd7fd6fd66239f860b5a8fd..371603f441e3893a335b6b0a2071419d5a8e19cd 100644 GIT binary patch delta 20 ccmX@Ed0cbD1rGLPv(z-BWP{DuIX-X$09YOfCIA2c delta 20 ccmX@Ed0cbD1rBy|la#b%)5Oi!IX-X$09RTFD*ylh diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.items.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.items.doctree index 6c16adc45cfbc3813d2c375c06dd00308252ef50..6545864f0e3fcd856347a2db8165f44f10799483 100644 GIT binary patch delta 20 bcmX@Aa#UqQ8XJ4ES!$Y5vccwDwj104PVNUN delta 20 bcmX@Aa#UqQ8XLR0NlIF>Y2xNwwj104PAUg2 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.iter_differences.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.iter_differences.doctree index 1c5008fd1211f68dfa6b624ca81e3a7746c76494..5d94347210e200363edb856dd09331c3643dbaad 100644 GIT binary patch delta 20 bcmdlSyg7KoOm_BUv(z-BWP{BM*oBnY2xM-woBXqOF0Jj diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.max_difference.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.max_difference.doctree index 53a0ddd581f34d59829be5aa9cf05c623102cd76..266d345f89cdd7ce8fd0684ea6785208e9d2d493 100644 GIT binary patch delta 20 bcmbQ>Ji&QGJ3D)_S!$Y5vccv)b|xtROj8DV delta 20 bcmbQ>Ji&QGJ3G6%NlIF>Y2xNSb|xtROOFPA diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.merge.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.merge.doctree index 9f436e67b801102dc8082767c95758467609cdbb..2cf556ade4ea686c1eb12c888a6518af39675bfd 100644 GIT binary patch delta 20 bcmaFj_QY+22|IhTS!$Y5vcYC+c1;-oQ(gwD delta 20 bcmaFj_QY+22|K&FNlIF>Y2s#Uc1;-oQkn*@ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.merged.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.merged.doctree index 35d25c034a8ed03af11141a085493f976d587a27..bebed4fd3b48e1242713fa8802b81276a6a4b3a0 100644 GIT binary patch delta 24 fcmZ1*y*7G-E<1a&S!$Y5vcY6V7M0Br?4fD^X;24l delta 24 fcmZ1*y*7G-E<3xqNlIF>Y2su?7M0Br?4fD^XrKpk diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.scale.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.scale.doctree index 19439b03d206c36297a1a0bba5d951c3f545b9fc..d4d63d0f2f445010a78dd9d60f2dc1bbdb370696 100644 GIT binary patch delta 20 bcmca)amivsI6Hf?S!$Y5vccv!_Aep;QsD=4 delta 20 bcmca)amivsI6J$!NlIF>Y2xNM_Aep;QXL0) diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.scaled.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.scaled.doctree index 8fdd4d9240721369fd25fd1a8568539cdd4a56fe..ffb41daaaae6ec308844c86f78bbabdb6b45393b 100644 GIT binary patch delta 20 bcmX?XaoA!*0y}%MS!$Y5vccwb_B$c~Q6dLV delta 20 bcmX?XaoA!*0z138NlIF>Y2xN|_B$c~P+kXA diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.sha256.doctree index dff6bd9906eb91efd050d723a4fe7fc33189bf1d..93a8f435202bf026eb7388aea8c1bee2f66e053b 100644 GIT binary patch delta 20 bcmdnxxXW>a1qXYwS!$Y5vcYD1j%o=2O=||E delta 20 bcmdnxxXW>a1qZviNlIF>Y2s#kj%o=2Os58^ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.to_json.doctree index 68d9738891ad6c8b3dac2159e890cc520200bef4..7350c85bcfc91fe724e17b4f9fc4ecd1312c7013 100644 GIT binary patch delta 20 bcmZp&ZL;0)frCBSEH%w2*S!$Y5vccv;j?JO~O_m1- delta 20 bcmZ2tv&3dY76-ezNlIF>Y2xNWj?JO~OwtDo diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.validate_data.doctree index ebc3a0a765cd0eae582efdcd8af5df762021bc92..51f40e344e0e9db4e9cfc2db1415ac2f68ac9f0e 100644 GIT binary patch delta 20 bcmZ2tyTo=w8wY!`S!$Y5vccwF4skI6PL~Fz delta 20 bcmZ2tyTo=w8wb0&NlIF>Y2xNy4skI6P16Re diff --git a/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.values.doctree b/latest/.doctrees/api/generated/compas_fab.robots.JointTrajectoryPoint.values.doctree index a0c3416615ed866ff7126312bd0a8d5dc37f2929..46fabac84eac7cbc364618b0fc2e5584c30e31ae 100644 GIT binary patch delta 20 bcmcbjaz$lBJ{xY2xNGwtL(FQ5y$i diff --git a/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.ToString.doctree index e0313c58b3555c4a3e54f4c8e439ce507d8606d6..860a0a7d99ce4f9c34734080a319df83f873afd2 100644 GIT binary patch delta 20 bcmeyP_eXC-78`rAS!$Y5vccv;Hf})xS2zai delta 20 bcmeyP_eXC-78|>{NlIF>Y2xNWHf})xR&)mN diff --git a/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.copy.doctree index 840b3504bc85a1867640a2c0213e124eba2d57e7..b7d4a1d076709a3e7b728644f07cd2e99fa44013 100644 GIT binary patch delta 20 bcmZ2tw8Usb1RHy@S!$Y5vccwfwxdD-O4kP3 delta 20 bcmZ2tw8Usb1RJ}#NlIF>Y2xO1wxdD-N)ra( diff --git a/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.doctree b/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.doctree index e941d763105fcfd011b44f53270bea2d75e9d111..703eb27991d2683bf0385281684d477f9c96069e 100644 GIT binary patch delta 22 ecmeyfkLk}orVXFj*ptmt(~Oc0HveL4ngIZOk_sOH delta 22 ecmeyfkLk}orVXFj*v(B+(vnRRH~(U5ngIZN&I%*| diff --git a/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.from_frame.doctree b/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.from_frame.doctree index 00c8ff4144a594b61b3352ad99c75a78f92fe0a7..4394673b6582158efb3f7452acb565a535c3dc45 100644 GIT binary patch delta 26 icmbOJ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.from_json.doctree index 79403cbc1af34a2573645a972a77e5ac646fd6ab..d90d0c290500e71725ac0afdc045dbcc8915d200 100644 GIT binary patch delta 20 bcmdnywasfo9S3`|S!$Y5vccw7j*T(^Q@ICp delta 20 bcmdnywasfo9S6I)NlIF>Y2xNqj*T(^QuPOU diff --git a/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.from_jsonstring.doctree index abb47ddc8dd0485ba84fd60490df70f2db638b00..fbf8e316c1fc22c247d0a9ec6e3af9844d4152c8 100644 GIT binary patch delta 20 ccmaFo_0DUY2s!-_NTl6N;U@Q diff --git a/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.scaled.doctree b/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.scaled.doctree index 371c9fe2b4add96e4a9888b772d8245a606acd30..fa25a67603fb3c839a97f1dad06fe65a0fd40b47 100644 GIT binary patch delta 24 fcmX?Xb=Yb{06TlKS!$Y5vcY5l7S+u)?8ij`Y!V0% delta 24 fcmX?Xb=Yb{06V+6NlIF>Y2su77S+u)?8ij`Yhnl$ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.sha256.doctree index a6c66340567c8179a3fff0e4b0533cf16b238faf..74872b8b4c96f2f289001b25245b4e02c3433a86 100644 GIT binary patch delta 20 bcmX@%c*1dm0|$GuS!$Y5vcYC|jz$RpP$LG` delta 20 bcmX@%c*1dm0|&dgNlIF>Y2s#gjz$RpPhSSx diff --git a/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.to_json.doctree index fcefc13b849e4bc22e774f7e8fdfc946a3be2248..603e0a85c3f3d054fa3d027c19c28ec27860f0c0 100644 GIT binary patch delta 20 ccmbPWJHd9t4-WQZv(z-BWP{EBIVOq%096PF+W-In delta 20 ccmbPWJHd9t4-R&7la#b%)5OjHIVOq%08~T=-~a#s diff --git a/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.to_jsonstring.doctree index 8c8249327cc4df42961f46e90d33ce0a68d1b7bb..d4b10e6c78fdf560deb56a4ec2db4bde40afffc9 100644 GIT binary patch delta 20 bcmdmFv&m*d5eIv+S!$Y5vccv`j-8?aP)-Lq delta 20 bcmdmFv&m*d5eK`uNlIF>Y2xNej-8?aPl^XV diff --git a/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.transform.doctree b/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.transform.doctree index 7a2e9a20cad26894b2a486f4a880b58f16cb9956..c8a8c8e11cbb79a52b88347c76d7fe288c3f99d3 100644 GIT binary patch delta 24 gcmexm@ylXE13P=NS!$Y5vccp#+^U<`u%8nF0Dy`Kvj6}9 delta 24 gcmexm@ylXE13SC9NlIF>Y2xHN+^U<`u%8nF0DsyExBvhE diff --git a/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.OrientationConstraint.validate_data.doctree index 3907442865b738519f97e2d9c9cad49cef82d992..aa6693d7a5812479139de18e7a58d12c42667afa 100644 GIT binary patch delta 20 bcmdmFyUBJ#9|wD~S!$Y5vccx59I|2nQBMZg delta 20 bcmdmFyUBJ#9|ya+NlIF>Y2xOo9I|2nP>TlL diff --git a/latest/.doctrees/api/generated/compas_fab.robots.OrthonormalVectorsFromAxisGenerator.doctree b/latest/.doctrees/api/generated/compas_fab.robots.OrthonormalVectorsFromAxisGenerator.doctree index 8ef919d909a111464c8905e78c8614d7eabeaa9e..4f9aec4086aa8f01a30098b77f08c45fb43b1d34 100644 GIT binary patch delta 24 gcmZn(Yzf>jk)1u+EH%w2*jk)7S#Bqc4`G;#6=E}P9)*f%Hu0CC6(PXGV_ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.add_attached_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.add_attached_collision_mesh.doctree index 2f7d56a17ba85d47e2d3c4951f2a23c188df263f..f1ddd8ec3b499d40bd0b8bb2e6b2a10fabb3d8bf 100644 GIT binary patch delta 24 gcmdm;xjS>iF;4bmv(z-BWP{25JQ|z7avswH0D;>H?*IS* delta 24 gcmdm;xjS>iF-~@Kla#b%)5OXBJQ|z7avswH0D&tB^Z)<= diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.add_attached_tool.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.add_attached_tool.doctree index 46f6c2654ddfdfefd32a2f4a56acefe849832250..a3a8f7f431f51182a34b9033ede2700f5bda5221 100644 GIT binary patch delta 24 fcmbQLJ5_hXLr(T&v(z-BWP{1_EE<~yxLSDtYR?CY delta 24 fcmbQLJ5_hXLr!*cla#b%)5OX0EE<~yxLSDtY99xX diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.add_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.add_collision_mesh.doctree index 66f3d97a395bda75c20b33c1474bf0b4cb2b63ea..027520194bd68d14127494b0ec824dbf1f026641 100644 GIT binary patch delta 20 bcmbOcJtKO98z+0RS!$Y5vcYCwPHzY2s#IPHz&T=gPYu*SF delta 24 fcmZqAXwTS?$jNSQl9HBenmE~(MPu^>&T=gPYc2>E diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.attach_collision_mesh_to_robot_end_effector.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.attach_collision_mesh_to_robot_end_effector.doctree index f9c4dce271ea30b98eb7d45797dbdbdaeb151769..23ce5697bad76111f693d171b411f4eddaadac89 100644 GIT binary patch delta 24 gcmcbabTetg9&Ywzv(z-BWP{23_%t@Z=FU?E0EQq5;Q#;t delta 24 gcmcbabTetg9&UDXla#b%)5OX9_%t@Z=FU?E0EKV~<^TWy diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.doctree index 953fa95ff6968a680dfb9c42d545a32f528067d6..66359176316ad5338de977fa2715c1197298fa3f 100644 GIT binary patch delta 22 ecmaF7jq&j|#tl2!*ptmt(~Oc0HXmSH90CAxbI90CAxAPGqT diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.ensure_client.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.ensure_client.doctree index eb19e004895d05e1cf42cfb7819ace71ecdbb000..081b358642456a01971da4fd5fd9ebdf47a0695c 100644 GIT binary patch delta 20 bcmaED@Y-NQCL4RQS!$Y5vccv8w%>vPR>uds delta 20 bcmaED@Y-NQCL6oCNlIF>Y2xMrw%>vPRs#pX diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.remove_attached_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.remove_attached_collision_mesh.doctree index 0265e9ce1f9240243014562cde52ddb0f7a9173e..8aa9a82e582836aeb847c91a02b44f7b5ae5468d 100644 GIT binary patch delta 20 bcmdnvv&Uz{QFiuZv(z-BWP{CT*bC$US(yjX delta 20 bcmdnvv&Uz{QFeB7la#b%)5OhZ*bC$USk(vC diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.remove_attached_tool.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.remove_attached_tool.doctree index 801d165b3073469be38383e25afae38703bcd391..2c3466129734488e36d70035cb72196372c6ab1c 100644 GIT binary patch delta 20 bcmZ3ZwnlBkDmM0Hv(z-BWP{Bc*{XQ}Ptyk` delta 20 bcmZ3ZwnlBkDmHd=la#b%)5Ogi*{XQ}PY(wx diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.remove_collision_mesh.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.remove_collision_mesh.doctree index 3a0f7bcaeae81d147a1eed3ff1f710d7259f31cd..4c886b7118f108b742e01810642abe17699a0f72 100644 GIT binary patch delta 20 bcmccSe9d`75j%UbS!$Y5vccv`_E;$ZRo(|S delta 20 bcmccSe9d`75j(rNNlIF>Y2xNe_E;$ZRT>97 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.reset.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PlanningScene.reset.doctree index 49317e774bd38b2808848599f96d953a1567647b..da083e6b8e96049dad2813376307d4a80e3dea95 100644 GIT binary patch delta 24 fcmcbpa#3Z2JR5tmS!$Y5vccqi%o>~h*qC_$YDfoy delta 24 fcmcbpa#3Z2JR7^YNlIF>Y2xI4%o>~h*qC_$X_yCx diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.ToString.doctree index 7a44d5d749b7afbe8cef31fec8c563262f6ac790..c42f3d36573e3c8ac8e5776f19c81e9d8f8e4ad2 100644 GIT binary patch delta 20 bcmZ3Xw?c1&6&ri9S!$Y5vcYCYw&wx>NaqH= delta 20 bcmZ3Xw?c1&6&t&`NlIF>Y2s!_w&wx>NFxTr diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.copy.doctree index 081d439a5dc55428537213964130eae22e664bd5..c68c3124dafbf7abed495d17d466d2af7986313e 100644 GIT binary patch delta 20 bcmZ4Bw7_Y@ZFcr#v(z-BWP{C**zF_%RYC`P delta 20 bcmZ4Bw7_Y@ZFY8Zla#b%)5Oh>*zF_%RDK74 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.doctree index 91ec1ae8b59a5bffdfa7224c62ac0bfbb1f600c7..ad6effa13cdd8244ecdf388efb3f4d27627151f6 100644 GIT binary patch delta 26 icmaF=n(_T>#tpmK*ptmt(~Oc0CiAl>Zhp+hlMeu(UkWw= delta 26 icmaF=n(_T>#tpmK*v(B+(vnRRC-bu?Zhp+hlMeu&uL?T= diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.from_json.doctree index 7e2e38a7449e3e7d0ade73b7d722de2c2827f1e6..3773bbda6d594b27f29377a6d71d93dc437378e8 100644 GIT binary patch delta 20 bcmccSdChZ!9|wD~S!$Y5vccw1jz$>(RAmPu delta 20 bcmccSdChZ!9|ya+NlIF>Y2xNkjz$>(Q=tbZ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.from_jsonstring.doctree index d323e7fa7fd248dc181f9e643c7efcc23587e85e..1d2fca1ff58b2a2c95bbabdaf8ed389a4fbe5967 100644 GIT binary patch delta 20 bcmeD4>hs!A#lfCzmYQaiY_PeJqgMt1O*IDi delta 20 bcmeD4>hs!A#ldcFl9HBenz*@V1Hv(z-BWP{1;ITbgnv+ouK0D<}mIRF3v delta 24 gcmaE4`N(p^e>Qe=la#b%)5OW^ITbgnv+ouK0D(#gJ^%m! diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.sha256.doctree index cca62a0c25beeb095c79c08c55bc5c893852d3cb..c13147aac59879dbdc4ecd247b9e406b9b9c72e1 100644 GIT binary patch delta 20 bcmez3@Wo++00(=rS!$Y5vcYC?j#vo*Qm+Q6 delta 20 bcmez3@Wo++00+CdNlIF>Y2s#aj#vo*QR@b+ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.to_json.doctree index 72d8b558a359690f1cb19de05ec706824778e517..c1ff397462c78c625f351e2d3a94f006785d2edc 100644 GIT binary patch delta 20 bcmdmEv&Uw`2@dvTv(z-BWP{D;IdVk-SCj{> delta 20 bcmdmEv&Uw`2@ZC1la#b%)5Oi^IdVk-R?r8s diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.to_jsonstring.doctree index 8c6ceeedd60d994ced3bddee812850ab548450ab..597bd1d028acc04eab8401f7fb6da2871e30a57a 100644 GIT binary patch delta 20 bcmca-eb0J>69;>;S!$Y5vcYCgj;W#mQrZU# delta 20 bcmca-eb0J>69>DwNlIF>Y2s#2j;W#mQWggg diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisTarget.validate_data.doctree index 670160277403b19120c246feecd4c0301b4f4de9..9a1ef2c7598283d2ce97e7966af2e5a54d8e27cb 100644 GIT binary patch delta 20 bcmca-bI)c&90z-{S!$Y5vccw5j-R3cRoVxs delta 20 bcmca-bI)c&90$9(NlIF>Y2xNoj-R3cRTc-X diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.ToString.doctree index 2832cec60b8503d701fd24800c865997e5b4a7ed..a37e6654145aa2f7a70d0ac04d38ecfd044477e7 100644 GIT binary patch delta 20 bcmcblcS&zU5F2~4S!$Y5vccv^wx0q3Q4a@H delta 20 bcmcblcS&zU5F5L>NlIF>Y2xNcwx0q3P)i3{ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.copy.doctree index 88efac68898b456fd94183647bb311d0f9052aa0..c9a5f886c88f0caddb2ee7f45e25217745c50987 100644 GIT binary patch delta 20 bcmccMbirxEXLj~vv(z-BWP{DW*ux|NURnqu delta 20 bcmccMbirxEXLfdTla#b%)5Oic*ux|NU6u$Z diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.doctree index c2a63c500f63327462b75d7d703054e74a850112..d593e105db88f6edf429f392a234265f3e32c88e 100644 GIT binary patch delta 26 icmdmck8$rk#toO**ptmt(~Oc0CM&WiZvM^YlmP&jhYBeG delta 26 icmdmck8$rk#toO**v(B+(vnRRCo8fjZvM^YlmP&i*9tBG diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.from_json.doctree index c20eb2851a0b77fa9eab03ffb29a419b3c4cd903..5ef4a2986facf85213280553731a6ac743658135 100644 GIT binary patch delta 20 bcmZqkYV+EV#=)L!mYQaiY_K_(W2OuMN}&eK delta 20 bcmZqkYV+EV#=&lGl9HBenz%WaW2OuMN! delta 20 ccmdnzwa;tABo20Sla#b%)5Og)IhM)*09AY2s!@b`dcEN74oA diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.sha256.doctree index a6eaf89de15448c4158b20b1160e9eea801766b0..520f21c181bd3daa17005bc58790c187c8c25ae4 100644 GIT binary patch delta 20 bcmbQ|IL~o|1_yhxS!$Y5vcYD3j(iCKNBagq delta 20 bcmbQ|IL~o|1_!&jNlIF>Y2s#mj(iCKM>hsV diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.to_json.doctree index 4afd5beab1851391009f805f271177cb8f8d71db..f55990666dd514c0d8602c643b08a86b7161bc81 100644 GIT binary patch delta 20 bcmaE6^UP+$0}l3Nv(z-BWP{DmIqF3LU%UuI delta 20 bcmaE6^UP+$0}gg`la#b%)5OisIqF3LUib(| diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.to_jsonstring.doctree index 89fa7e048af125837829a05a8de4e37e30d4f0a6..a4a3bcc91ae7d3427c822c5ee2f6e0df9938abda 100644 GIT binary patch delta 20 bcmeCM>9E-l#lfCzmYQaiY_K_zW4R~*NG1lO delta 20 bcmeCM>9E-l#ldcFl9HBenz%WUW4R~*M`8x3 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PointAxisWaypoints.validate_data.doctree index be3ef83174cfcb7d73fb5c31e152ad16bdf5242e..80417002b05d8162948020cbd9ed0c3936b2f3bc 100644 GIT binary patch delta 20 bcmeCM?XcZY#=)L!mYQaiY_PeOgIf#$NhbzE delta 20 bcmeCM?XcZY#=&lGl9HBenz*@^gIf#$NMi;^ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.ToString.doctree index cc67e0a863707bebc5a25834a2a1cf86b5650f5d..5f6a8cd98a2ad6ddedf1fabe3d4135463a1d0af7 100644 GIT binary patch delta 20 bcmcblcS&zU5F2~4S!$Y5vccv^wx0q3Q4a@H delta 20 bcmcblcS&zU5F5L>NlIF>Y2xNcwx0q3P)i3{ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.copy.doctree index 018456d281c66d26ee56b50c3a0848814a21dd4c..1236ac10994e9bdbd8155ed32bf188272d3602a0 100644 GIT binary patch delta 24 fcmca?c-e4+EgO5XS!$Y5vccpB%&MC+*|LNHaaagt delta 24 fcmca?c-e4+EgQSJNlIF>Y2xGu%&MC+*|LNHaHt4s diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.doctree index 476e89ef149166adfccbb1f3345df909c227f98a..cb7818e3a167d1393b954151d80af2d965c72871 100644 GIT binary patch delta 26 icmcb$pXt_qrVY2**ptmt(~Oc0CM&Y2Zf0k{JOcog#R>rc delta 26 icmcb$pXt_qrVY2**v(B+(vnRRCo8h3Zf0k{JOcog6$%Cb diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.from_box.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.from_box.doctree index c25f2ff4abba239252451e064533d10623cbf44b..55a72118bc5b90d642805830956573bbaafc4c05 100644 GIT binary patch delta 20 ccmbP}JSTa>aW3{`v(z-BWP{D;xX!5o09i5!F8}}l delta 20 ccmbP}JSTa>aV~aqla#b%)5Oi^xX!5o09bAaGynhq diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.from_frame.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.from_frame.doctree index 792e277dd0d9ab85bf27623f7cce118c9e2ecbf4..1c26f1178f3e7e2bc2f527b155fcb70c2aef7531 100644 GIT binary patch delta 26 icmaDdoAJqP#tlz-*^|vu(~Oc0Cg%yMZWiRbY!3jG& delta 20 ccmdnzwa;tABo20Sla#b%)5Og)IhM)*09Akc delta 20 bcmZ2!wbE*XIXk<#NlIF>Y2s!(_Sd2SN!|wH diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.scaled.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.scaled.doctree index 091b1ea5e2d5e6747ac18b1ecc47c1fe18686641..d24a53629a1e3207ef3d85599d91d4f72a1c3d45 100644 GIT binary patch delta 24 fcmbPiHQ8!|1v`7PS!$Y5vcY5pZq>~x?CV7VVao@9 delta 24 fcmbPiHQ8!|1v|UBNlIF>Y2suBZq>~x?CV7VVH*d8 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.sha256.doctree index 540b5ca67d787c1e51e1f4e0e8a4e9532cc5f037..0f78cb97145e05e55d18d914eba8e7624df3f354 100644 GIT binary patch delta 20 bcmbQ|IL~o|1_yhxS!$Y5vcYD3j(iCKNBagq delta 20 bcmbQ|IL~o|1_!&jNlIF>Y2s#mj(iCKM>hsV diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.to_json.doctree index e49a6b3e821b3caac6fb5db29060ee676f8fdac2..d3702f3d40c467f43a56f8900133278f55fb8225 100644 GIT binary patch delta 20 bcmaE6^UP+$0}l3Nv(z-BWP{DmIqF3LU%UuI delta 20 bcmaE6^UP+$0}gg`la#b%)5OisIqF3LUib(| diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.to_jsonstring.doctree index 2c75a5691f1156107044e1c5c9ee5258d93c0e35..5ca8901c08bbd432522bbac964c563d72d8763a8 100644 GIT binary patch delta 20 bcmeCM>9E-l#lfCzmYQaiY_K_zW4R~*NG1lO delta 20 bcmeCM>9E-l#ldcFl9HBenz%WUW4R~*M`8x3 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.transform.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.transform.doctree index e7918e611ac38984b5b6396cd12fda5794f35939..4bc85adc92718289ef361113449a6db07eb89054 100644 GIT binary patch delta 24 fcmdmJz0rC@Dm#0!S!$Y5vccp=Zq>~b*%ib9ZBYm6 delta 24 fcmdmJz0rC@Dm%NmNlIF>Y2xHYZq>~b*%ib9Y@rA5 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.PositionConstraint.validate_data.doctree index 8f7a19396bba09799a2efa4612c36c773ecb7a0e..f387e1316810a952f1760cd7ace322f66efc4dfe 100644 GIT binary patch delta 20 bcmeCM?XcZY#=)L!mYQaiY_PeOgIf#$NhbzE delta 20 bcmeCM?XcZY#=&lGl9HBenz*@^gIf#$NMi;^ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.ToString.doctree index bb1c5fdb00e7412a55db7f71ad78d83221ae7c7d..02475ebd8fc94b970c51fa514f8621820b542e7d 100644 GIT binary patch delta 20 bcmZ3Xw?c1&6&ri9S!$Y5vcYCYw&wx>NaqH= delta 20 bcmZ3Xw?c1&6&t&`NlIF>Y2s!_w&wx>NFxTr diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.calculate.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.calculate.doctree index a9a709027b71ad261b67c6e07947ab06436e865e..d6190311f7e97f70af4c6a0cfd1d788eb9875288 100644 GIT binary patch delta 24 gcmewx`8RUIJ5Kgwv(z-BWP{1PEY_P1xXvm80EZ3*zF_%RDK74 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.doctree index e44c29708979792eda9dfa4c14fe3fee60e0afb9..4d33a8c713b1ce2e63de968f0f79238e4cecf4fa 100644 GIT binary patch delta 26 icmaEVh4K9r#trY;*ptmt(~Oc0CiAmcZ#HDNO9lX*F$v26 delta 26 icmaEVh4K9r#trY;*v(B+(vnRRC-bvdZ#HDNO9lX)feFw6 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.from_json.doctree index 5dc36055a51df043690868e83131fe2574a6d814..33afe106ada01fedce7ba4c4840bd32da4a83211 100644 GIT binary patch delta 20 bcmccSdChZ!9|wD~S!$Y5vccw1jz$>(RAmPu delta 20 bcmccSdChZ!9|ya+NlIF>Y2xNkjz$>(Q=tbZ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.from_jsonstring.doctree index f410371a47ca341cbc0c301928b8741dceb91ddd..c659fdad2584312dc4fb5419ee3483a8d42eefad 100644 GIT binary patch delta 20 bcmeD4>hs!A#lfCzmYQaiY_PeJqgMt1O*IDi delta 20 bcmeD4>hs!A#ldcFl9HBenz*@Y2s#aj#vo*QR@b+ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.to_json.doctree index f2f5c67f0a31c9bbcb4041773d36a585b56d37e4..6e10b7f12cabb093d089a03c772bd44077d773f4 100644 GIT binary patch delta 20 bcmdmEv&Uw`2@dvTv(z-BWP{D;IdVk-SCj{> delta 20 bcmdmEv&Uw`2@ZC1la#b%)5Oi^IdVk-R?r8s diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.to_jsonstring.doctree index ccf6f768943c595b893ebb4be0e4a1c60416e767..62bfcb19b4a2763fc8759b8f11553802c0d5d018 100644 GIT binary patch delta 20 bcmca-eb0J>69;>;S!$Y5vcYCgj;W#mQrZU# delta 20 bcmca-eb0J>69>DwNlIF>Y2s#2j;W#mQWggg diff --git a/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.ReachabilityMap.validate_data.doctree index a2e345c07d271f0bba1a82d3d766720f428af479..76e73bd92143a876a17cb3c5290a790acce1ccb8 100644 GIT binary patch delta 20 bcmca-bI)c&90z-{S!$Y5vccw5j-R3cRoVxs delta 20 bcmca-bI)c&90$9(NlIF>Y2xNoj-R3cRTc-X diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.ToString.doctree index 107cd3defe2e5fdb32577b2620396985a469b122..256ea2d5a79f9b7ee6c872cb49ac1c7f17973a9c 100644 GIT binary patch delta 20 ccmbQEJ4biJD^~Vov(z-BWP{BgSyu}H08@eo#sB~S delta 20 ccmbQEJ4biJD^_-Mla#b%)5OgmSyu}H08+jO%K!iX diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.attach_tool.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.attach_tool.doctree index 41b240ff3f9d5fbc381964f2e9cc69e275b01d1a..0e9f5a9eccfc8126c38e8134a62bd6ea4d24b438 100644 GIT binary patch delta 24 fcmX??axP_qJQsViS!$Y5vccpvJo1}exi~cdbdLxN delta 24 fcmX??axP_qJQusUNlIF>Y2xHHJo1}exi~cdbKeLM diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.basic.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.basic.doctree index 2c5d1064193f785a3a53293081d462fd2b423226..61174c474fd44242a93642420b902df5538c9b96 100644 GIT binary patch delta 22 ecmey+!uX+ualY2s#iw%@z}Le>Uo diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.draw_visual.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.draw_visual.doctree index 1c5eb55ff635e66a194beee830ed4ef39c8422c5..ffeebc5cd17134388b48982623b208cc4941cf00 100644 GIT binary patch delta 24 gcmaE&{zQGlUsm>Hv(z-BWP{1yIOR7hvmN9G0D&V3Q~&?~ delta 24 gcmaE&{zQGlUsiT=la#b%)5OW&IOR7hvmN9G0DyA|SpWb4 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.ensure_client.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.ensure_client.doctree index 7adce2d727a96f6d661c540d72f01bc5da623c9d..07325302efa732c889574ec0d78c4ac450663090 100644 GIT binary patch delta 24 fcmaE9@X}xdKO1|pS!$Y5vccpH%<`K}*-V50Zq^6E delta 24 fcmaE9@X}xdKO4KbNlIF>Y2xG!%<`K}*-V50ZYBrD diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.ensure_geometry.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.ensure_geometry.doctree index 4e7be19a1bff01b283b38e9a3d7d6900b70ac662..75c287dbfd8532a5febbd9f41fe731d2fb948f1a 100644 GIT binary patch delta 24 fcmeyW_f>C$A{%?MS!$Y5vccp%%<`Mv+4KYfa+e4G delta 24 fcmeyW_f>C$A{)E8NlIF>Y2xHP%<`Mv+4KYfapwpF diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.ensure_semantics.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.ensure_semantics.doctree index 23de22ba4267744f7b4489525db05e6ad7342e49..ae99c35381025f64ce1dc65196387bac01199019 100644 GIT binary patch delta 20 bcmZ2$xYlrk78`rAS!$Y5vcYCUwi+P-NDT%> delta 20 bcmZ2$xYlrk78|>{NlIF>Y2s!>wi+P-M@a@s diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.forward_kinematics.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.forward_kinematics.doctree index ad9b16f52d59aedcbd542f6e003a4934e547724b..58611dae7862d86db71c75055946372a97f93ef5 100644 GIT binary patch delta 22 dcmbQWk#W{W#tm6K?8#=SX-3Hgn+tg~eE?tm2b2H+ delta 22 dcmbQWk#W{W#tm6K?B*sZY00LEn+tg~eE?rM2bll> diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.from_json.doctree index 6a8f42c1c53a18248f66f8925974f28088a178a0..07b581d502908175c686027f61af1f87bd3f6691 100644 GIT binary patch delta 20 bcmdnyvCU({KX&$Hv(z-BWP{DD9ELIgSK|in delta 20 bcmdnyvCU({KX!I=la#b%)5OiJ9ELIgS04uS diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.from_jsonstring.doctree index e380329d68be6eeea6f82089fa80f0be10ac3209..ca98b0d2046ff34f94618419cdb5a546808ac330 100644 GIT binary patch delta 20 bcmaFo@y=s|76*H>S!$Y5vcYCU4qF)jRGkLI delta 20 bcmaFo@y=s|76-ezNlIF>Y2s!>4qF)jQ`rW| diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.from_t0cf_to_tcf.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.from_t0cf_to_tcf.doctree index 70a373c9cdb3f8f5896a85422e074b9465b1d96b..abc15561ffdfdcb3499334f3f7f9cb37dfd9b056 100644 GIT binary patch delta 20 bcmcbdeK~u>2@dvTv(z-BWP{D;IaqW7VBiPn delta 20 bcmcbdeK~u>2@ZC1la#b%)5Oi^IaqW7U>pbS diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.from_tcf_to_t0cf.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.from_tcf_to_t0cf.doctree index 9a06198129163bd37904e18e5b437ffefc439cbe..8298d77d32bd95d9cff32b81c11e636d08720200 100644 GIT binary patch delta 24 gcmZq5Y|7kln1empEH%w2*{3U>Bnv(z-BWP{D?*$;^W0A2M6FaQ7m delta 20 ccmexp_t9>{3U+pLla#b%)5Oi|*$;^W09`Q%H2?qr diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_attached_tool_collision_meshes.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_attached_tool_collision_meshes.doctree index f9b37b15ddf5619cea9c63c67e8cb16dada88677..e945679aad81f76182bd45ed241b103f8c270ae4 100644 GIT binary patch delta 24 fcmZoMYBAbyiH$wkEH%w2*OV delta 24 gcmccZc-wKq19olVS!$Y5vccp$F8R%-9QEP=X37VS delta 24 fcmdmDzr}t7KL@+HNlIF>Y2xHOF8R%-9QEP=W*P^R diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_configurable_joint_names.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_configurable_joint_names.doctree index 45d62d5099c8ad9a4033afb8290c760263f14a84..5213b8eeeafcc3437d35386a2594fb7aa4ebd054 100644 GIT binary patch delta 20 bcmZqmZuQ=f$-$m%mYQaiY_Pe2LsS+3Nzn#R delta 20 bcmZqmZuQ=f$-!=Jl9HBenz*@uLsS+3Neu>6 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_configurable_joint_types.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_configurable_joint_types.doctree index 2c42595e196b882295d2a426de4b907f77567ab1..d376b34d656164a3991422cbd911bb1d760f0cc0 100644 GIT binary patch delta 20 bcmez1`@wfZCI@@6S!$Y5vccv8js`gZTG9uV delta 20 bcmez1`@wfZCI`E@NlIF>Y2xMrjs`gZS`G)A diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_configurable_joints.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_configurable_joints.doctree index 83dae71416280025982122d6866a8089cf58276f..271391da61cf6817cc52125dad9c7fc5bb83a850 100644 GIT binary patch delta 20 bcmccVebak`6$g8=S!$Y5vcYCYjv2B5Q_=?< delta 20 bcmccVebak`6$iVyNlIF>Y2s!_jv2B5Qw|3q diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_configuration_from_group_state.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_configuration_from_group_state.doctree index f4a7ff34e8ea67196e5811d1b3c5d1d7b9a0bf5d..d336462c2ee08d0fe32f1991ea2c956e713c591f 100644 GIT binary patch delta 24 fcmdnvzsG+=HV1pMS!$Y5vcY6G7WvH+Ike>gaWn_~ delta 24 fcmdnvzsG+=HV3=8NlIF>Y2suz7WvH+Ike>gaD)f} diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_end_effector_frame.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_end_effector_frame.doctree index 165509fe4cd6922eee21e479179ce8ba2dbeba85..d3b0c312c49e48a5cf711b5530c4f2cc774968ce 100644 GIT binary patch delta 24 gcmX>TcqVYeA5QjUv(z-BWP{1PEb^O`xK_yl0DQm*iU0rr delta 24 gcmX>TcqVYeA5M02la#b%)5OWVEb^O`xK_yl0DKS#j{pDw diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_end_effector_link.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_end_effector_link.doctree index ad332341b45b2d07ef935c8b2f846f3b3b505d0f..f11e9202a895796a928756f7d1a682ec5de33c5a 100644 GIT binary patch delta 20 bcmezB^wnvD76*H>S!$Y5vcYCU4i`xPRN4m0 delta 20 bcmezB^wnvD76-ezNlIF>Y2s!>4i`xPR2Bx$ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_end_effector_link_name.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_end_effector_link_name.doctree index 8e5e2ba9f3b683dd8abfc8976da7df0e02b8e877..a2b1157a86b3274dfd375353147c2493ffb1e3f6 100644 GIT binary patch delta 20 bcmX@+bj)c(BnNx4S!$Y5vccvAj%N}8QlJNG delta 20 bcmX@+bj)c(BnP{>NlIF>Y2xMtj%N}8QQQY` diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_group_configuration.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_group_configuration.doctree index a926d76fc230b2628bba2fbe6c235f1f38fdddfd..39d3ccc9a33955009e1f33b7092534200e648f5e 100644 GIT binary patch delta 20 bcmeD8>i629&cU8+mYQaiY_M66i629&cSYOl9HBenz&hy>v(z-BWP{B!*%c)LQ&k52 delta 20 bcmdnxxXW?FBzAUlla#b%)5Og)*%c)LQjrG& diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_joint_by_name.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_joint_by_name.doctree index 595803830771df82d1c9094f59fd1cc09f11e2dc..2609e65c198a624a5c95c1be8ecc248b51a2bae7 100644 GIT binary patch delta 23 ecmca)b;)W0JA1NOYMN29!Q>0f@|)Gzb;JN@BL|lN delta 23 ecmca)b;)W0JG;3_N?NjM;^Yg=@|)Gzb;JN?a|fIN diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_joint_types_by_names.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_joint_types_by_names.doctree index 1d9fc086fe7b8d789b9b9dbfe10c6ebfb5a07761..717f7613308d52bbe5f05b60228abb3ad06e563d 100644 GIT binary patch delta 20 bcmdn#ywiDu8#{ZlS!$Y5vcYCw_8chyPHG0T delta 20 bcmdn#ywiDu8#}wXNlIF>Y2s#I_8chyO{NC8 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_link_names.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_link_names.doctree index 6340e63df381c1c700082a68f4686e1cf334a49f..9f1a0109a84e671f73e4cf4e0ddc20dda18c2258 100644 GIT binary patch delta 20 bcmccXcGqpgOLq2Tv(z-BWP{Bg*mI=;U`hx{ delta 20 bcmccXcGqpgOLlg1la#b%)5Ogm*mI=;Uxo-y diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_link_names_with_collision_geometry.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_link_names_with_collision_geometry.doctree index f9df633be17bce323dc079fe7e435d99720a7665..9b19745d68aeffe24dd3808821773e656b753865 100644 GIT binary patch delta 20 bcmca$alvB44>tB>v(z-BWP{EB*#boYT`~v_ delta 20 bcmca$alvB44>oplla#b%)5OjH*#boYTy6*w diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_position_by_joint_name.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.get_position_by_joint_name.doctree index 6a93426f99163b31041906d13cdc928a308501d9..608f697523b31b3a924bf2dd536da71a796d2fc1 100644 GIT binary patch delta 24 gcmX?^ax!JZXHNEHv(z-BWP`~Qc;q)rav5j<0D=(+vj6}9 delta 24 gcmX?^ax!JZXHIr=la#b%)5OUWc;q)rav5j<0D)l$xBvhE diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.info.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.info.doctree index b166b20e38d9a08d2326608696809ed19df0d54a..07b132cc8cc14e69cdbc007dd1156c62d87c600d 100644 GIT binary patch delta 24 gcmcbkbVq5!9#-~bv(z-BWP`~S%<`Kbu~u;d0C-af>Hq)$ delta 24 gcmcbkbVq5!9#(d9la#b%)5OUY%<`Kbu~u;d0C%GZ?*IS* diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.inverse_kinematics.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.inverse_kinematics.doctree index cf18d04d37c0f1049652cb6f5bdd781e5781a0bd..291880002ba0a36599c9f8acc460d0e515a7bba0 100644 GIT binary patch delta 22 dcmbQemT~r4#tr5I?8#=SX-3Hgo9zT*-2hx?2VMXG delta 22 dcmbQemT~r4#tr5I?B*sZY00LEo9zT*-2hvo2V(#L diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.iter_inverse_kinematics.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.iter_inverse_kinematics.doctree index c13fb295595d9932a8a5c505392ecd46ab438405..431bc2d17020902fbd483d78c1096cad1948ecb6 100644 GIT binary patch delta 22 ecmcb!it)}W#tmr#?8#=SX-3Hgn{x%;y8r-c`UuDX delta 22 ecmcb!it)}W#tmr#?B*sZY00LEn{x%;y8r-cHVDlC diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.merge_group_with_full_configuration.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.merge_group_with_full_configuration.doctree index a53aeb66480fc97fa56e381f6cfcd2b2ff250326..a6820150e0038f82b732c34d28817cf8ebb0a663 100644 GIT binary patch delta 20 bcmcbbb2Vo}CntNdS!$Y5vccvFoJVy4UNs0Z delta 20 bcmcbbb2Vo}CnvkPNlIF>Y2xMyoJVy4U2zCE diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.plan_cartesian_motion.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.plan_cartesian_motion.doctree index ad0ad41b405f855342d5923867e0d606343b34b8..970ea7c47e390708084de61ff71011537d9563ae 100644 GIT binary patch delta 26 icmex+nDOsn#trd2?8#=SX-3HgljT|DH@EUsgaQDS840ui delta 26 icmex+nDOsn#trd2?B*sZY00LEljT|DH@EUsgaQDRX$iRi diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.plan_motion.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.plan_motion.doctree index 0188d00ede92a86733e3fec148a2d33ffd83a376..b55658b6db4f4a6b4d87c93148ad24a5423e33a3 100644 GIT binary patch delta 26 icmZ2}gmL*1#tmP%*^|vu(~Oc0CL8d{ZGXGI78 delta 24 fcmZ4Kw9;vVEC;)}NlIF>Y2xH8F8R&Q9M2>GW|as7 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.scale.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.scale.doctree index 294d825530ff5e3ee96642a01dd7d167e7376970..40798e94b40d974cd6a2978e5ae9d5bce4d7bce4 100644 GIT binary patch delta 24 gcmZ2$zSexh3^w*;v(z-BWP`~MIOI3)V|yu>b%7 delta 20 ccmX?Sa?WJKDh_sYla#b%)5OgiIpzui09Jknwg3PC diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.sha256.doctree index d795f5b170cdadebd8b95660ae3e068ae493e062..e270d07368b77f88147da83c8fcfb7ba5d771cc5 100644 GIT binary patch delta 20 bcmaE1|H6L50e1Fev(z-BWP{De*%c)KT}lVA delta 20 bcmaE1|H6L50d{tCla#b%)5Oik*%c)KT!sg= diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.to_json.doctree index 62ce087a4c33ebfed7de4a84146701ece185e6b2..ffe282411c22e787782f0f171dbd89e21bdeb68c 100644 GIT binary patch delta 20 bcmdmBy}^1z1qXYwS!$Y5vccwh4nt7@Pe2B@ delta 20 bcmdmBy}^1z1qZviNlIF>Y2xO34nt7@PJ9Nu diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.to_jsonstring.doctree index f456ba738dddd20e262652b47e21c3adc8e64048..a178515e38be9768a0b7a4c30677e053aadd16c2 100644 GIT binary patch delta 20 bcmca)b;)YOCwBH^v(z-BWP{B=*&{^(U3CZ( delta 20 bcmca)b;)YOCw6vola#b%)5Og`*&{^(T(Jlk diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.to_local_coordinates.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.to_local_coordinates.doctree index e50ee5371f94f03036dc105f8cef78fc356e73b2..57f39f30a5eab7154c7caa75a72c832b179bb312 100644 GIT binary patch delta 24 gcmaDI`Z{#O0}l3Nv(z-BWP`~cndLXLaXwW90Ehbtw*UYD delta 24 gcmaDI`Z{#O0}gg`la#b%)5OUindLXLaXwW90EbHnyZ`_I diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.to_world_coordinates.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.to_world_coordinates.doctree index 6b7df409d4bd3ea99745cdfde53f9ecc2faa59fd..1cd5b33866dd1ba9143587291ff396e1c9eb3a26 100644 GIT binary patch delta 24 gcmaDI`Z{#O0}l3Nv(z-BWP`~cndLXLaXwW90Ehbtw*UYD delta 24 gcmaDI`Z{#O0}gg`la#b%)5OUindLXLaXwW90EbHnyZ`_I diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.transformation_RCF_WCF.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.transformation_RCF_WCF.doctree index a34523582c0aaac4a377ea23cc404643e8d6c029..878d844f441c007476302c6309273b92ca140f42 100644 GIT binary patch delta 24 fcmbQ_ILUE?AqRW1S!$Y5vcY62Zu!mO9M%#5VDtw3 delta 24 fcmbQ_ILUE?AqTs;NlIF>Y2sulZu!mO9M%#5U_=K2 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.transformation_WCF_RCF.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.transformation_WCF_RCF.doctree index 6c5b70b6c9058e776996b17afe92300887086242..07c3499538e52f2966c835eeb1d06dd3662f4de5 100644 GIT binary patch delta 24 fcmbQ_ILUE?AqRW1S!$Y5vcY62Zu!mO9M%#5VDtw3 delta 24 fcmbQ_ILUE?AqTs;NlIF>Y2sulZu!mO9M%#5U_=K2 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.transformed_axes.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.transformed_axes.doctree index 584933c7e564a5f03c7b62b6f129c65de0568c56..aa8e7c28bfb54bc5bf1062f33ecad93b3e62e074 100644 GIT binary patch delta 24 fcmZn;Xb#wLj)OhfEH%w2*Y2s#4j=iD)Ou`1Z diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Robot.zero_configuration.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Robot.zero_configuration.doctree index 874b1739af60bd12ca7e9e3ccf5cf7ef63ca6897..964a783519a5138c24b06ce2798606e6f28cc41e 100644 GIT binary patch delta 24 fcmZ2zywG?9HwSyNS!$Y5vccpyF8R%d90h^^U{D7m delta 24 fcmZ2zywG?9HwU}9NlIF>Y2xHKF8R%d90h^^U!Vsl diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotLibrary.abb_irb4600_40_255.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotLibrary.abb_irb4600_40_255.doctree index 6a5c37b92901bc2cb8d8255dd774a673867538af..8ed652dc361e6315c611a84c2818847db7d2d51d 100644 GIT binary patch delta 24 fcmdlPyfb)%D>r+xS!$Y5vccqwyy}~ax!vRdb4v(z delta 24 fcmdlPyfb)%D>u8jNlIF>Y2xIIyy}~ax!vRda+?Ty diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotLibrary.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotLibrary.doctree index 6ae7e710ee5ebf262a2a6ec3e01d8da6d6aa8524..3dde76a04971147c931a3253c845dcab21b61ec7 100644 GIT binary patch delta 24 gcmcbWcq?(kdN%fCv(z-BWP{1^yy~0pvi;Qr0D`9p?f?J) delta 24 gcmcbWcq?(kdNy`*la#b%)5OW~yy~0pvi;Qr0D<=j^8f$< diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotLibrary.rfl.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotLibrary.rfl.doctree index e00a787ff224e2bb8cb1e8b7442f537df3f54bf9..59c42e762b53d66ed3d4c29f3e1ec1efb4350dda 100644 GIT binary patch delta 20 bcmeAR>I>SigNr@cEH%w2*I>SigNxnVBqc4`G;#BOE`K=yQPT%e diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotLibrary.ur10e.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotLibrary.ur10e.doctree index 34e4948818615cd972d643fadda398b9d627de6d..bee6b599d98547888e53137e223d2c471fabc99d 100644 GIT binary patch delta 20 ccmX>ecsy{!DK7S8v(z-BWP{BYxxUE)09}j-h5!Hn delta 20 ccmX>ecsy{!DK2(%la#b%)5OgexxUE)09?ojivR!s diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotLibrary.ur5.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotLibrary.ur5.doctree index d844bc30901de4d5a46e5347656bd8851cd9bf45..a316333f1ba1a875b5b3ca558916396813650e98 100644 GIT binary patch delta 20 ccmZ1!xF~SL4led&v(z-BWP{E7xgN^`09KL+1poj5 delta 20 ccmZ1!xF~SL4lZ_cla#b%)5OjDxgN^`09DQi3IG5A diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.ToString.doctree index 9013603f94b19c2f0f0ebf4e63a1c1e021c29859..ddf1dc94ea8b778c90bf97e42745da12125ded79 100644 GIT binary patch delta 20 bcmbQGH%o7W5gU85S!$Y5vcYCcwub@$MlS}8 delta 20 bcmbQGH%o7W5gWU?NlIF>Y2s!}wub@$MQa9; diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.copy.doctree index 362c6b617199776aabcececb6199aee2d969ec22..a5c19716ef6afcb2cb8a0d55851c161a9f3c65b8 100644 GIT binary patch delta 20 bcmbQ>G{I@ZWp?&tv(z-BWP{DO*v%vXQaT4h delta 20 bcmbQ>G{I@ZWp;LRla#b%)5OiU*v%vXQFaGM diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.doctree index e82864a0e1ac92c02f6798202c6d99623e674199..8a2135f32e00dc8b9838134c12f38ebf4c130a7b 100644 GIT binary patch delta 26 icmeyijQQI#<_+7~*ptmt(~Oc0Cf9Q-Z+^%&^$Y--Jqs5A delta 26 icmeyijQQI#<_+7~*v(B+(vnRRC)aZ;Z+^%&^$Y-+jSCzA diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.from_json.doctree index 3af8dd6b3ff68ebea023a30314954f20f7c39d5f..a280e7a6317439b2eb2d97bd6e2f25643f2baa4f 100644 GIT binary patch delta 20 bcmX@+dCYTz8wY!`S!$Y5vcYCwj!GE-QC$Y= delta 20 bcmX@+dCYTz8wb0&NlIF>Y2s#Ij!GE-P?-kr diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.from_jsonstring.doctree index ee40ee430add01fff74fd3c519194044d55cbb09..5538995fe9002ed43633c2b187ef6f984edd589a 100644 GIT binary patch delta 20 bcmez8`OkAh5eIv+S!$Y5vccv`j#e1}T?q%i delta 20 bcmez8`OkAh5eK`uNlIF>Y2xNej#e1}Ttx@N diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.from_srdf_file.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.from_srdf_file.doctree index b2c8c0ed6fdaefecb4fc4a42f08f42ad010bc829..585cd0df5f441f408018dd46bb96a4f467ae31bc 100644 GIT binary patch delta 24 fcmX@&eZ+f%F(-SnS!$Y5vccpY7Uj*coar(EZ_WrE delta 24 fcmX@&eZ+f%F(Y2xG_7Uj*coar(EZypFD diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.from_srdf_string.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.from_srdf_string.doctree index d5f0eb781f0edf4726715f059a3d02221e58014c..bfd2dcbaeb4557b7be92f4e9d8c51a10ec3b99b0 100644 GIT binary patch delta 24 fcmcbteOY^hD<^xhS!$Y5vccqc+{&BtIa7E5amfgE delta 24 fcmcbteOY^hD<`|TNlIF>Y2xH}+{&BtIa7E5aTy4D diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.from_xml.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.from_xml.doctree index 5fc2d4f251cbe22b87093fcf918cb609726613f4..e8adf662f5411707a2b7a61334ef95994f62946f 100644 GIT binary patch delta 20 bcmcblbxCW(HxBk>v(z-BWP{CrIYM~=TY(4g delta 20 bcmcblbxCW(Hx71lla#b%)5OhxIYM~=TD=GL diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.get_all_configurable_joints.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.get_all_configurable_joints.doctree index 7e9fc3c7df3d9ef447d30fcfe46638e53fc7c752..44d2292842831dc9c0c78777de5f2d029faf31cd 100644 GIT binary patch delta 20 bcmX@-aL!@FD>n9Iv(z-BWP{Bg*im>la#b%)5Ogm*Y2xO54krl!PHzUj diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.get_configurable_joint_names.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.get_configurable_joint_names.doctree index 6c22a9cf008c1a164e4c9ff9dbb77713f47c0385..a5119627442be965b952399a2f2506e0bd52c3e6 100644 GIT binary patch delta 24 gcmdn$xz%&SArAIrv(z-BWP`~GEXteTaGaC|0C?*OOaK4? delta 24 gcmdn$xz%&SAr5wPla#b%)5OUMEXteTaGaC|0C+nIQ2+n{ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.get_configurable_joints.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.get_configurable_joints.doctree index 1c4c1e0835fb3bb2b9f9683bdc24890986e86c97..e84d1072d5d8a62e932198f9f4d628cf7342450d 100644 GIT binary patch delta 24 gcmcZ;cqeefWDfRZv(z-BWP`~LEXtera>y$H0D8p;hX4Qo delta 24 gcmcZ;cqeefWDa(7la#b%)5OUREXtera>y$H0D2V&i~s-t diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.get_end_effector_link_name.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.get_end_effector_link_name.doctree index aa2791995beb4deba7cbfaee7a45a9bfb4f1be5f..897bb91a00bdd82ddf5b81e8e0a96d1e45065644 100644 GIT binary patch delta 24 gcmaFp^w4R;CJy#wv(z-BWP{25+{&BpaI{JQ0DnyhWdHyG delta 24 gcmaFp^w4R;CJuIUla#b%)5OXB+{&BpaI{JQ0DhebY5)KL diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.sha256.doctree index a9a75b4875a1a68e16a2ad4b099ee7e10a1aa7f2..f82f269185dee961605a4769f43657df2c1830fd 100644 GIT binary patch delta 20 bcmaFn@XTQY2M2qyS!$Y5vcYD4j&KP8Pxl6P delta 20 bcmaFn@XTQY2M4>kNlIF>Y2s#nj&KP8PcsI4 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.to_json.doctree index cef764302f0b0aff4e27b662877066c45c720c27..4302bd83545e3622baed76883a5d6ccdc3d25a8b 100644 GIT binary patch delta 20 bcmZ2yv(9G20S@+Lv(z-BWP{DeInqS|RNM!9 delta 20 bcmZ2yv(9G20SY2s!_j($-9PhJMz diff --git a/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.RobotSemantics.validate_data.doctree index 66cb2cc5b776caadd868cb775ec795e37812cfc2..5f6504543a1de104fa4a879d60171cf7b8b97fb8 100644 GIT binary patch delta 20 bcmca$bHQdq7zcZ@S!$Y5vccw9j?bb1Qz8d< delta 20 bcmca$bHQdq7zew#NlIF>Y2xNsj?bb1QeFpq diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Target.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Target.ToString.doctree index 060f5e64d1801a54db5c3d9b3baf97529fb98e76..1afaaaa679d1992aa58cc23f486dec2749dbc310 100644 GIT binary patch delta 20 ccmZ3byGnP%Csy`kv(z-BWP{B=SvLv*09HB&_y7O^ delta 20 ccmZ3byGnP%CsuZIla#b%)5Og`SvLv*09AGe{Qv*} diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Target.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Target.copy.doctree index 273e488df812cd5e8090d3342a1f12d17a3d4ce8..a1239dcd68b1af60f11f6f0b27fbd2697db4ae6e 100644 GIT binary patch delta 20 ccmbQ>IKgqlWOnvsv(z-BWP{DK*uO~t08Z5he*gdg delta 20 ccmbQ>IKgqlWOjCQla#b%)5OiQ*uO~t08SAHga7~l diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Target.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Target.doctree index ce1de07bda5d1f6dd83b26db099f4e8b1c4b401b..f70354fbed0064cdb83bbbe3ade71f53759be2dd 100644 GIT binary patch delta 22 dcmdnEm2u-%#tp@6?8#=SX-3Hgo2%H&LjYv42j&0( delta 22 dcmdnEm2u-%#tp@6?B*sZY00LEo2%H&LjYs#2kQU; diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Target.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Target.from_json.doctree index 3fb7471da92d858a7e775b989d1e048d2341b3c8..6f3d137e9634b42129785701dbf41d9d7f97e11a 100644 GIT binary patch delta 20 bcmX@+am-@_8wY!`S!$Y5vcYCv4oevTOZf&U delta 20 bcmX@+am-@_8wb0&NlIF>Y2s#H4oevTOEm^9 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Target.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Target.from_jsonstring.doctree index 7d7b7f85cfc0a857b5a4fe327857b60057b26a6b..d41ba181f2bb7ad88d8f53e4e5cb7ae3104b711d 100644 GIT binary patch delta 20 bcmez8@y}y}5eIv+S!$Y5vcYCc4p$ifSEUC0 delta 20 bcmez8@y}y}5eK`uNlIF>Y2s!}4p$ifR^bN$ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Target.scaled.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Target.scaled.doctree index 25fe224b4922442fe308476c6cbcc3a57105714e..22785db20d25400e6cfb9c900b11c823347a642f 100644 GIT binary patch delta 20 bcmZp+YPQ<2j*UIpEH%w2*iBqc4`G;#A*Ha{@{OT`A} diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Target.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Target.sha256.doctree index 90becfe4eb3717948bde7e7f45867634820a3643..5b45a2e3438b01b292627b3b9e9fe8d422db2900 100644 GIT binary patch delta 20 bcmexn|IL2G33m2mv(z-BWP{D;+0`WgU;+o? delta 20 bcmexn|IL2G33hgKla#b%)5Oi^+0`WgUp@!t diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Target.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Target.to_json.doctree index e56d635a0e848e999e5d5df3e7212d8c3c9400bd..dd0231bd45e4fd3cb053a1a2ce4ea31e669e7964 100644 GIT binary patch delta 20 bcmdmIz0Z0>0|$GuS!$Y5vccwd4s%feQTPVw delta 20 bcmdmIz0Z0>0|&dgNlIF>Y2xN~4s%feQ8Whb diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Target.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Target.to_jsonstring.doctree index f074b814d2f3b3e4fd2813d0e33bafe92598744c..be1491b13236fdbf6cc2e6fbc5fae5eaacea3e4f 100644 GIT binary patch delta 20 bcmaE0^}uSwFLw51v(z-BWP{C&9Py$6TrdYl delta 20 bcmaE0^}uSwFLriwla#b%)5Oh;9Py$6TWkkQ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Target.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Target.validate_data.doctree index c2d475f5fd784884c6df70b0fed8aa585c5a4833..b88c6d9f3119a89b8ce5ccad4ccb32abbb1d99aa 100644 GIT binary patch delta 20 bcmaE0{lI#I7zcZ@S!$Y5vcYCqj>Dn=P(B9b delta 20 bcmaE0{lI#I7zew#NlIF>Y2s#Cj>Dn=PkILG diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Tool.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Tool.ToString.doctree index d3e76d0808b09b4c1df0d8d964f6280c88b1f885..1ce5ca5ddc662c213693c383c5e0f2aa38dff8a1 100644 GIT binary patch delta 20 bcmeCv?bF@xh?PCrEH%w2*Y2xNC_Gc0RTHOc| diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Tool.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Tool.doctree index 620a7a7ed2bd5a648e182df923c38eaf7de67bf8..128db317cb8acea4106c13c8bf95a7f1d34428bf 100644 GIT binary patch delta 26 icmdlpooUZ>rVX)d?8#=SX-3Hglg~2CZEj+-Y6Sp=C<$o* delta 26 icmdlpooUZ>rVX)d?B*sZY00LElg~2CZEj+-Y6SpY2s#04pSKbP|*gF diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Tool.from_t0cf_to_tcf.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Tool.from_t0cf_to_tcf.doctree index 0edd2a98a63481c0ca7a1e4c7fbd1a14ee0599f6..40b73c139cc65a71032edfc0a2e2864973e9d4f0 100644 GIT binary patch delta 24 fcmezA_tS3!KRbJ}S!$Y5vccqAoN}8@*j*I>c#{Zh delta 24 fcmezA_tS3!KRdg*NlIF>Y2xHtoN}8@*j*I>cjE|g diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Tool.from_tcf_to_t0cf.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Tool.from_tcf_to_t0cf.doctree index bb20a8e2598e692d7fdeb302d9672a661ab52255..444c8b48c2a73a56875fecd831ebda464da89d75 100644 GIT binary patch delta 20 bcmX@>ch+wM7dv~hS!$Y5vcYCSb{ho%P9O$P delta 20 bcmX@>ch+wM7dyMTNlIF>Y2s!Y2xHWF1gJC91`3BY+eU{ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Tool.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Tool.sha256.doctree index 33e33c0922814cfc74eced8b61f6f14f7e4c4dc7..fc36af1b2f23dc25d2c80fc55b9eeebb13b0906d 100644 GIT binary patch delta 20 bcmca*f6IQu4tDlrv(z-BWP{E7*`*}_T9OBT delta 20 bcmca*f6IQu4t92Pla#b%)5OjD*`*}_SY2xN`4sB5YOT-3> diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Tool.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Tool.to_jsonstring.doctree index 70690018bc7b9c83e55b3415d05c87f0a354f2ce..7d4930bf5809db734da8118187f95495474378c1 100644 GIT binary patch delta 20 bcmX?Nb;N4JD|Yr|v(z-BWP{Bg*@Hy^TD=G1 delta 20 bcmX?Nb;N4JD|U8sla#b%)5Ogm*@Hy^S@{R% diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Tool.update_touch_links.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Tool.update_touch_links.doctree index 792de303845fdcc45c3e7907a5208e60689fd038..04970d713f0186a04d53767018b0b68735ae5e36 100644 GIT binary patch delta 24 fcmeyM_Calf0tb7tS!$Y5vccp8F1gLF9NOFfZJ!5* delta 24 fcmeyM_Calf0tdUfNlIF>Y2xGrF1gLF9NOFfZ0`q) diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Tool.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Tool.validate_data.doctree index 73e6dec62dbc7c6bb51e22b75cc139fa842eebc3..9c8fdf507b74351053b2078f3dc9d2488528c326 100644 GIT binary patch delta 20 bcmX?NeZ+bL8wY!`S!$Y5vcYCvj_slVO3ns> delta 20 bcmX?NeZ+bL8wb0&NlIF>Y2s#Hj_slVN(u&s diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.ToString.doctree index 2891e2632e2cd57686e755fa739fb32bb62a88d4..4118730273f1cf3f17571fa729bda978a8f43962 100644 GIT binary patch delta 20 bcmaE)`$%_#5F2~4S!$Y5vcYCawvz$?PAdk& delta 20 bcmaE)`$%_#5F5L>NlIF>Y2s!{wvz$?O=kwj diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.copy.doctree index 94d9b1952056ae8e01ac6f99ae84ed7280b5e60d..618b5d0c65e66207af51f1060c4dcb63e6229bad 100644 GIT binary patch delta 20 bcmccMc)@YQW_I>uv(z-BWP{DS*u^9PSoQ~C delta 20 bcmccMc)@YQW_EUSla#b%)5OiY*u^9PSTYA? diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.doctree index 9be3b999c6d306abe54c2102d3fef7fc5245eb12..ade8e7c33b0d445df575d453c0ff4a9803f4294d 100644 GIT binary patch delta 26 icmaDjk@4X~#tk#s*ptmt(~Oc0CVymB*?fde)(HTSISK6m delta 26 icmaDjk@4X~#tk#s*v(B+(vnRRCx2vC*?fde)(HTRi3#!m diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.from_json.doctree index cd5ebdd76ad4132006f417fe14faed376b4592b3..9f93f262f88160c2362b71c5e04337c2e29227f7 100644 GIT binary patch delta 20 bcmZqkZ1dcp#=)L!mYQaiY_M6EBT@zcMLh-z delta 20 bcmZqkZ1dcp#=&lGl9HBenz&h)BT@zcM0o}e diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.from_jsonstring.doctree index 1ebe78e40905fea8466df406135f582fb92396f4..6f33ceadf834a16f5e3f3639b1dd86440070a5b8 100644 GIT binary patch delta 20 bcmdnzxzBS$5C?m*S!$Y5vccv^j#L={Q0WHV delta 20 bcmdnzxzBS$5C^-tNlIF>Y2xNcj#L={P$dTA diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.sha256.doctree index e8dbbde1cb90682428cdee889ad183358ba0fc72..4df20efdc54cc485575da1c739717be2b60210f8 100644 GIT binary patch delta 20 bcmZ4Iu+Cw_3wHKov(z-BWP{D`+3h6&SOy2I delta 20 bcmZ4Iu+Cw_3wCyMla#b%)5Oj1+3h6&S3(D| diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.to_json.doctree index b3e5dc04e48f27873e28aef6e9a75cb63ec1bd8e..12a6a5fb06e62794f07a14a5394936f6a79b72f3 100644 GIT binary patch delta 20 bcmexn{mpvA0uJ_Mv(z-BWP{DiIs8QdT-XP( delta 20 bcmexn{mpvA0uFX_la#b%)5OioIs8QdToebk diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.to_jsonstring.doctree index b72a1e1dae21aefd0b04fdc80230dfee173b835c..2c7298e64f53f2af186e670e6044a8df12090bef 100644 GIT binary patch delta 20 bcmbPXJ;Qo~6bE~Y2s!@j&e}|M1BSq diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Trajectory.validate_data.doctree index 0a57c740dd7e0b78a51b77990efd62915b778564..8eba024d4c4e7926306cfb9be6be314ccaa99ff3 100644 GIT binary patch delta 20 bcmbPXGs9+s83%i^S!$Y5vcYCsj@zODNJ0j$ delta 20 bcmbPXGs9+s83(($NlIF>Y2s#Ej@zODM}7vh diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Waypoints.ToString.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Waypoints.ToString.doctree index c6762ca3531bfe8d9c55a845e67ba1bcdf97c86f..2f157d048d68f9f4caf709c435f3c17d5f9e9078 100644 GIT binary patch delta 20 bcmcbjdqsBx7aM!BS!$Y5vcYCSw!;DdOLGR0 delta 20 bcmcbjdqsBx7aO~|NlIF>Y2s!Y2s#8jzAdzR80oe diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Waypoints.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Waypoints.from_jsonstring.doctree index fc7b9e5187013e2b048f355e765812f9d4e1e955..408bcf36b76844c0e7887152641ea3b5c9a48ecc 100644 GIT binary patch delta 20 bcmZ4Ixz2Ng7YBQ?S!$Y5vccv+j#wE0P2mQn delta 20 bcmZ4Ixz2Ng7YDn!NlIF>Y2xNUj#wE0O&tcS diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Waypoints.scaled.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Waypoints.scaled.doctree index 9ef47254f8e0e5a340d3fe94be3e953bf4b02673..825ec570f3c019e7feb5c878a8b0eae3f72c49dc 100644 GIT binary patch delta 20 bcmca@b=zvgNjCOmv(z-BWP{BY*t*34Toecd delta 20 bcmca@b=zvgNj7$Kla#b%)5Oge*t*34TTloI diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Waypoints.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Waypoints.sha256.doctree index 4a1dbcf92c9bbe7229796400b6b05bc8a5a363e0..b9e13b04bc4070734937c9bb3e6fa0ceda8471f7 100644 GIT binary patch delta 20 bcmZ4Bu)tx%19tXgv(z-BWP{Dm*)1giRZa(b delta 20 bcmZ4Bu)tx%19o~3=Z~Wv(z-BWP{D~IXp!HS|A61 delta 20 bcmaE1{la>~3=Vd4la#b%)5Oj5IXp!HSzHH% diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Waypoints.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Waypoints.to_jsonstring.doctree index de2ab86e6a4adcf8949536eedffb3c97722324ef..e0cfaefc62a75f179c3e25f4aacc80dcda17121a 100644 GIT binary patch delta 20 bcmeCO?y}w>#KE3ymYQaiY_M69qfit8LW%|7 delta 20 bcmeCO?y}w>#KCTEl9HBenz&h#qfit8LB<8- diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Waypoints.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Waypoints.validate_data.doctree index 536234764ad4eaa795153604dfc2205ee52d87d9..db48e9424eb1114aadb692f0ff3b61212637fbd7 100644 GIT binary patch delta 20 bcmeCO>9X0N$HAU#mYQaiY_Qps9X0N$H8uHl9HBenz-4NXa4ulOTTb?5v(z-BWP`~8EDD=NxUA#=eAx&? delta 24 fcmX>Xa4ulOTTXU!la#b%)5OUEEDD=NxUA#=d?^S> diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Wrench.copy.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Wrench.copy.doctree index f3541b5a9f4920cdd731d179a76cd38adfb1265f..9472dc9b1c562eb9411b75988742d7e3994c8f79 100644 GIT binary patch delta 24 gcmeyZ^;>JhaaQ(Zv(z-BWP`~K%nF;|vG(!<0D!g$ZvX%Q delta 24 gcmeyZ^;>JhaaMM7la#b%)5OUQ%nF;|vG(!<0DuMwbN~PV diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Wrench.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Wrench.doctree index aa94e0089eb2ccfd712d2c13f133bd8af63f9b1d..5f81f70e6b51dd2eed785c3edc880ccf12e123a8 100644 GIT binary patch delta 26 icmZoW$Jlm`aYG>+d$L(-no+XB(`2K?$$` delta 26 icmZoW$Jlm`aYG>+ySYh9TC!>4(`1kqNZ` diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Wrench.from_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Wrench.from_json.doctree index 79fe84eba399ee6f8d6b6374f8a905032f6aa3bd..fcfd27b389085b0adbdfacdd442f46dc8a69192d 100644 GIT binary patch delta 20 bcmX@+am-@_8wY!`S!$Y5vcYCv4oevTOZf&U delta 20 bcmX@+am-@_8wb0&NlIF>Y2s#H4oevTOEm^9 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Wrench.from_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Wrench.from_jsonstring.doctree index b22c2db5b571aab4110990e1c00c66f1a2ea7ba7..7148562b72b9b3b8102c97f0cc5eeb4aaec85ba7 100644 GIT binary patch delta 20 bcmez8@y}y}5eIv+S!$Y5vcYCc4p$ifSEUC0 delta 20 bcmez8@y}y}5eK`uNlIF>Y2s!}4p$ifR^bN$ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Wrench.from_list.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Wrench.from_list.doctree index 1a3af17fc1c2bb041e54913bb21497c501056c05..2a281add2d592f28099b15399b13216027e75c7a 100644 GIT binary patch delta 24 fcmdnzw$E+DS9bPfv(z-BWP{0uEDD=tIFzITcccg5 delta 24 fcmdnzw$E+DS9W%Dla#b%)5OV!EDD=tIFzITcJv44 diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Wrench.gravity_compensated.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Wrench.gravity_compensated.doctree index 844a208aae4b0dca4ab809b0756db4711a16a6fd..9408fa87148806d59c05fd2422f0c6d3f03cade9 100644 GIT binary patch delta 24 gcmX?GaJFE>MGp34v(z-BWP{0!EDD={aD?gu0D)c!BLDyZ delta 24 gcmX?GaJFE>MGkgzla#b%)5OV)EDD={aD?gu0D!IuC;$Ke diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Wrench.sha256.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Wrench.sha256.doctree index a2e2d2a94f776e2b95d42ba85f9ceefef87dd359..72cb720d71a4ce73da878e6d164b9d340d956b22 100644 GIT binary patch delta 20 bcmexn|IL2G33m2mv(z-BWP{D;+0`WgU;+o? delta 20 bcmexn|IL2G33hgKla#b%)5Oi^+0`WgUp@!t diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Wrench.to_json.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Wrench.to_json.doctree index d915e581239c3b836f0d786bd8310ebbf8210835..ceb815b63b6c8c27629cf1b7396ef20087cd1e54 100644 GIT binary patch delta 20 bcmdmIz0Z0>0|$GuS!$Y5vccwd4s%feQTPVw delta 20 bcmdmIz0Z0>0|&dgNlIF>Y2xN~4s%feQ8Whb diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Wrench.to_jsonstring.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Wrench.to_jsonstring.doctree index 55b2c8feed186c71e078824882f530a1781b6efb..5c81b5b98f7cc818c7ed8827ea885e825368c33c 100644 GIT binary patch delta 20 bcmaE0^}uSwFLw51v(z-BWP{C&9Py$6TrdYl delta 20 bcmaE0^}uSwFLriwla#b%)5Oh;9Py$6TWkkQ diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Wrench.transform.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Wrench.transform.doctree index 8264b38f9872052db1b7ee09df0629dd373cbf14..8a5739ec8600f4bbf8f9216f962ba3a9c035ab4a 100644 GIT binary patch delta 24 gcmZ2!ztVogdp7oDv(z-BWP{0Tm=!jQu}_u&0Cu|wg8%>k delta 24 gcmZ2!ztVogdp34+la#b%)5OVZm=!jQu}_u&0Co!qhyVZp diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Wrench.transformed.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Wrench.transformed.doctree index 3ae2edcbe4db08f73f43288288d02750900f58d9..47719131528a902a4862dbaadd7f788019cd0073 100644 GIT binary patch delta 24 fcmccaaNS`8BRhMtS!$Y5vccqgoC=#Y*!3j=Zq5hW delta 24 fcmccaaNS`8BRjjfNlIF>Y2xI2oC=#Y*!3j=ZXO5V diff --git a/latest/.doctrees/api/generated/compas_fab.robots.Wrench.validate_data.doctree b/latest/.doctrees/api/generated/compas_fab.robots.Wrench.validate_data.doctree index 70d3e3bde326663f4cfe82a82b672c521d18370e..32a74bdba53f5b07733806aee19aa2c95a304dfd 100644 GIT binary patch delta 20 bcmaE0{lI#I7zcZ@S!$Y5vcYCqj>Dn=P(B9b delta 20 bcmaE0{lI#I7zew#NlIF>Y2s#Cj>Dn=PkILG diff --git a/latest/.doctrees/api/generated/compas_fab.robots.to_degrees.doctree b/latest/.doctrees/api/generated/compas_fab.robots.to_degrees.doctree index 735d27477fdc26c616421a68bf5809b19d7bd6c3..106f2c55572e2922c6e47bba02a53a5c651d9c76 100644 GIT binary patch delta 24 gcmexk|HppAUN-h*v(z-BWP{0bnB_M=W|Ncz0E4FqIRF3v delta 24 gcmexk|HppAUN&}fla#b%)5OVhnB_M=W|Ncz0D|`kJ^%m! diff --git a/latest/.doctrees/api/generated/compas_fab.robots.to_radians.doctree b/latest/.doctrees/api/generated/compas_fab.robots.to_radians.doctree index 6bb186cd428af8533b727874e8458f8b6a2b18f3..3d53383ef86057d39b8bbb9a7a126f79bd97a5eb 100644 GIT binary patch delta 24 gcmdnvu*YG;UN-h*v(z-BWP{0bnB_M=W{Z>r0C>{~`v3p{ delta 24 gcmdnvu*YG;UN&}fla#b%)5OVhnB_M=W{Z>r0C*z_00000 diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.activate_flex_mount.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.activate_flex_mount.doctree index 2858a4996ac4e216fdd2fee0b2fb537dd45bb0e6..6fd9e0d0342fd579e37e59f84e726c502466da6f 100644 GIT binary patch delta 24 fcmbQMHCJmxEjxR%S!$Y5vccqVZpF<@*(-PfXe0;i delta 24 fcmbQMHCJmxEjzopNlIF>Y2xH?ZpF<@*(-PfXLJYh diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.adjust_to_dark_object.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.adjust_to_dark_object.doctree index 56f37e13aee2f4938c0fbe09e5fa033cbd6bd38a..e6025ba94ca588813a2242dd5f8d5929dc81310e 100644 GIT binary patch delta 20 bcmcbmeoK8r1v`7PS!$Y5vccwh_GlgeQsxH& delta 20 bcmcbmeoK8r1v|UBNlIF>Y2xO3_GlgeQX&Tj diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.begin.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.begin.doctree index f8cbc02a0dd83e82b7a8bf345c6a098c10bcff18..9a32ba4b563c3adfad9d6fe7fad16db34f72dc9e 100644 GIT binary patch delta 20 ccmbQIIZt!Lb5{0bv(z-BWP{D`SU2zi08-A89RHjS!$Y5vccpJ%!-@i*ne;X0C3+3*Z=?k delta 24 gcmcbnc1>-A89TeVNlIF>Y2xG$%!-@i*ne;X0B|n|-2eap diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.deactivate_flex_mount.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.deactivate_flex_mount.doctree index 5ef56ba7bd70586bf6d609ce9afd5f33781f5c13..8793ac1baea907654f2203433c34ed50b18985a6 100644 GIT binary patch delta 24 gcmbQII!|>&H5+@fS!$Y5vccrP%!->Av;F1<0BtV_{r~^~ delta 24 gcmbQII!|>&H5Y2xI+%!->Av;F1<0BnB=0{{R3 diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.doctree index c24cc8a4b1862451d94a7eacc6b08458177b278c..a56259cb612a0fcebf46d8af142e71f50573c3cd 100644 GIT binary patch delta 22 dcmZ42$F#1GX+sAad$L(-no+XB=6<&M4FF*E2vPt5 delta 22 dcmZ42$F#1GX+sAaySYh9TC!>4=6<&M4FF&<2v-0A diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.end.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.end.doctree index 5940880a5b98929a80a0a923785c710447c947a9..547fd7833dda31ec1509ba0748bb2f29ada7a906 100644 GIT binary patch delta 24 gcmeyX@mFKRRaW+7v(z-BWP{1_9EzL&vNrGm0DlGvBLDyZ delta 24 gcmeyX@mFKRRaSO$la#b%)5OX09EzL&vNrGm0De{pC;$Ke diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.format_command.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.format_command.doctree index 9d9a165762cc615d827c7bc17bc27d38da2eb10a..98221211606e955373b8d31bec324b7aab3936ed 100644 GIT binary patch delta 24 gcmeyP^+#(%At!sXS!$Y5vccpx%!-?5az5q;0DX`NjQ{`u delta 24 gcmeyP^+#(%At$@JNlIF>Y2xHJ%!-?5az5q;0DRyHk^lez diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.get_address.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.get_address.doctree index e04c67f4e3f7ab8e20a059896778e2141bed320c..b7200df72201e83e40ba8048a191f766d3445c6a 100644 GIT binary patch delta 24 fcmeA(?layX&&Hl?mYQaiY%qC0v*KoVHg{nFVIv1v delta 24 fcmeA(?layX&&Fmu diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.get_live_monitor_data.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.get_live_monitor_data.doctree index 7aa90bca6e9c89f045ef497130018fcb7de74fa8..e45132ed02ee66a50995881ba92994127db15cde 100644 GIT binary patch delta 24 gcmaE7_|9-cEgO5XS!$Y5vccs4%!-?rvUv&t0DOQ65dZ)H delta 24 gcmaE7_|9-cEgQSJNlIF>Y2xJn%!-?rvUv&t0DI60761SM diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.get_measurement.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.get_measurement.doctree index 01145d564aab637d37231aa996630858e968d842..a09b059171c85652b1bbf9a1d95e16dac10ffe2e 100644 GIT binary patch delta 24 fcmX@0e?WhOGaGxdS!$Y5vccrv9EzK>*+K;YZpa8p delta 24 fcmX@0e?WhOGaI|PNlIF>Y2xJH9EzK>*+K;YZWsto diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.get_payload.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.get_payload.doctree index aeb6eb86e8198c149b9b3eae259542ee5d05322b..81afb65189d434b39eac0a903efbc9fcc8393f81 100644 GIT binary patch delta 20 ccmX@4dPsG{CpPwEv(z-BWP{B=*-ml;09fV-EdT%j delta 20 ccmX@4dPsG{CpLC-la#b%)5Og`*-ml;09YajG5`Po diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.reset.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.reset.doctree index 418f4709fd71ce4dd2eee2dd47905b3aa44029eb..d28916dd57e1a5bd3283e1cd6a853a9934b4f79f 100644 GIT binary patch delta 20 ccmdm>yg_-xb5{0bv(z-BWP{D`SPyXn09679<^TWy delta 20 ccmdm>yg_-xb5?e9la#b%)5Oj1SPyXn08~B)>i_@% diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.send_command.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.send_command.doctree index 730197dc59f587cf5e9f0e6305d6223722934d54..cc55f5adf8e6933cc54813a216901f0b840e17c9 100644 GIT binary patch delta 24 fcmdm;xI1w}JSTgyS!$Y5vccpB%!-@aIZf07coqn@ delta 24 fcmdm;xI1w}JSV%kNlIF>Y2xGu%!-@aIZf07cV-B? diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.set_edge_height.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.set_edge_height.doctree index 935edf00e7c6448b75937e333d655ccbb024ac3e..d0d9262d558a5f436a615e84527d3ceb9c7e1842 100644 GIT binary patch delta 20 bcmZ2zywG@q1Uq}OS!$Y5vcYC~_9h_!MN|eA delta 20 bcmZ2zywG@q1UtLANlIF>Y2s#i_9h_!M34p= diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.set_flex_mount.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.set_flex_mount.doctree index 0cf7dcadd3d32d24c905e729e7cf52093fcdf714..c7e7cf092e10d173602f39a366cd78bff46feacd 100644 GIT binary patch delta 24 gcmbQJF;Qc~F?RN3v(z-BWP{0pT#B3Du`BZc0BcbQ1^@s6 delta 24 gcmbQJF;Qc~F?M!yla#b%)5OVvT#B3Du`BZc0BWHK3jhEB diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.set_measurement_type.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.set_measurement_type.doctree index 9e36ad5da66674208252a33a283cf545913c842b..b1a07cd41d8cbdd1447e50e1db928a3667881393 100644 GIT binary patch delta 20 bcmeyI@Ht^aIXio@S!$Y5vccv$_OBWMU)=~= delta 20 bcmeyI@Ht^aIXk<#NlIF>Y2xNO_OBWMUl|Br diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.set_precision.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosCon3D.set_precision.doctree index 3aa8b71f58230058f691c814c463e245e31e255e..2707b9715a274a27a91588ddeb02b05b3ba620d5 100644 GIT binary patch delta 24 fcmX@)cgSypFgts)S!$Y5vccrpoQj*R+1V8UY_|uG delta 24 fcmX@)cgSypFgv@sNlIF>Y2xJBoQj*R+1V8UYzGIF diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.activate_flex_mount.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.activate_flex_mount.doctree index 1a41c89980764d80ffe2e4e41e079afb8b5e57da..84bbbc8d37abf175f4aebadf752bc1dc4de200a9 100644 GIT binary patch delta 24 gcmeyO{zZL5CL4RQS!$Y5vccq!%!->QvL*8Z0C~>{=l}o! delta 24 gcmeyO{zZL5CL6oCNlIF>Y2xIM%!->QvL*8Z0C^t>?EnA( diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.adjust_to_dark_object.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.adjust_to_dark_object.doctree index 80fae535e0508c1dae53c42811e28a664b1eeb46..7133f2698cc26844f0884339f0c725939c77c181 100644 GIT binary patch delta 20 bcmcbmeoK8r1v`7PS!$Y5vccwh_GlgeQsxH& delta 20 bcmcbmeoK8r1v|UBNlIF>Y2xO3_GlgeQX&Tj diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.begin.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.begin.doctree index 2b1fca02f65d2b5ba9f368a79a52ab86228466ff..074a36b207f46e8691f637f8b6c7c620692c5fd5 100644 GIT binary patch delta 20 ccmbQQIbU-A89RHjS!$Y5vccpJ%!-@i*ne;X0C3+3*Z=?k delta 24 gcmcbnc1>-A89TeVNlIF>Y2xG$%!-@i*ne;X0B|n|-2eap diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.deactivate_flex_mount.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.deactivate_flex_mount.doctree index a54acfefea8793d4b0c43ebd948096c53d73ec19..07f7fe685e31a8274c039a9a30e95a143e7bc049 100644 GIT binary patch delta 24 gcmbQII!|>&H5+@fS!$Y5vccrP%!->Av;F1<0BtV_{r~^~ delta 24 gcmbQII!|>&H5Y2xI+%!->Av;F1<0BnB=0{{R3 diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.doctree index 23aaa635c9ffbf2216c0ac1c1f37f3e6efa6a2ff..48e9bec0e21dbd0001e553c8480d1d7190672b2f 100644 GIT binary patch delta 22 dcmey`%=ERHX+sAad$L(-no+XB=6<%cY5;052#f## delta 22 dcmey`%=ERHX+sAaySYh9TC!>4=6<%cY5-|$2$28) diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.end.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.end.doctree index 75670ff3706e16f1aca2b7c4edc2456813cacaac..a223fa8f10c5bb5b4cbe377b2a782cffb5a8bfbd 100644 GIT binary patch delta 24 gcmeyX@mFKRRaW+7v(z-BWP{1_9EzL&vNrGm0DlGvBLDyZ delta 24 gcmeyX@mFKRRaSO$la#b%)5OX09EzL&vNrGm0De{pC;$Ke diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.format_command.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.format_command.doctree index 280b9f8d59054ed38d0db28a338667729364954d..6f3ff9c56aeb6af86ca31930299d3bdd79aeea75 100644 GIT binary patch delta 24 gcmeyP^+#(%At!sXS!$Y5vccpx%!-?5az5q;0DX`NjQ{`u delta 24 gcmeyP^+#(%At$@JNlIF>Y2xHJ%!-?5az5q;0DRyHk^lez diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.get_address.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.get_address.doctree index ad73107af3684d012a288d5c8822b736122a3f6b..1b2d8a2663d36dc229257ea8be919c82a5131e1c 100644 GIT binary patch delta 24 fcmeA(?layX&&Hl?mYQaiY%qC0v*KoVHg{nFVIv1v delta 24 fcmeA(?layX&&Fmu diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.get_measurement.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.get_measurement.doctree index c20abec29a9a8b15941497315f5387ab22281694..ca2121a422f16551dfe792ec6be4a851624a0372 100644 GIT binary patch delta 24 fcmX@0e?WhOGaGxdS!$Y5vccrv9EzK>*+K;YZpa8p delta 24 fcmX@0e?WhOGaI|PNlIF>Y2xJH9EzK>*+K;YZWsto diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.get_payload.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.get_payload.doctree index f0ed3dea44b9e821f42666c2fc4b6290df27a13e..285a515775386a0fa2768339b17ef65c1d49ab0f 100644 GIT binary patch delta 20 ccmX@4dPsG{CpPwEv(z-BWP{B=*-ml;09fV-EdT%j delta 20 ccmX@4dPsG{CpLC-la#b%)5Og`*-ml;09YajG5`Po diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.reset.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.reset.doctree index 223c1d00701dc85e3760474213b94f055cc65bae..1f563c4f29454ce6e6187b6e290c4382e946f359 100644 GIT binary patch delta 20 ccmdm>yg_-xb5{0bv(z-BWP{D`SPyXn09679<^TWy delta 20 ccmdm>yg_-xb5?e9la#b%)5Oj1SPyXn08~B)>i_@% diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.send_command.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.send_command.doctree index 5a5ba19cb78d68d4750e3397c936d1d5d26651ca..c05739863ddb7cd526c29196e7c062c979969503 100644 GIT binary patch delta 24 fcmdm!v?pmpJSTgyS!$Y5vcY6VUd7GroLkiaa=-{? delta 24 fcmdm!v?pmpJSV%kNlIF>Y2su?Ud7GroLkiaau5h> diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.set_flex_mount.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.set_flex_mount.doctree index a7de6f2370d5538eb6eb35039ed18e443aac4ac7..3a7297edd6240f126653ac6140cf872b3e00e6c8 100644 GIT binary patch delta 24 gcmbQJF;Qc~F?RN3v(z-BWP{0pT#B3Du`BZc0BcbQ1^@s6 delta 24 gcmbQJF;Qc~F?M!yla#b%)5OVvT#B3Du`BZc0BWHK3jhEB diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.set_measurement_type.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.set_measurement_type.doctree index 5b64ea66953c1bdd6e288a3e9defa04cb0f661b5..991e83c358b0f0a76a48fa44cab6483cc472ee8d 100644 GIT binary patch delta 20 bcmez1_rY&NIXio@S!$Y5vccv$_D}KvT+|38 delta 20 bcmez1_rY&NIXk<#NlIF>Y2xNO_D}KvTo4E; diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.set_precision.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.set_precision.doctree index 644f93ecbc35be6bb4f96ac51202a6aaa0a38806..7834350174c82a55abb08f3bba61babc027ab781 100644 GIT binary patch delta 24 fcmX@-cg}BvFgts)S!$Y5vccrpoQj*R*@YDVZubYX delta 24 fcmX@-cg}BvFgv@sNlIF>Y2xJBoQj*R*@YDVZbt{W diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.teach_flex_mount.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.PosConCM.teach_flex_mount.doctree index fa9c9920cb7b46b155de5be32505a8d979746571..221c6077aea9b2f1c53879831e2bdae81b45acce 100644 GIT binary patch delta 20 bcmdm>zCnFM5<7dcS!$Y5vccv|c6S~CO5g@= delta 20 bcmdm>zCnFM5<9!ONlIF>Y2xNgc6S~CN*o4r diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.ProtocolError.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.ProtocolError.doctree index 41b339b1dc9ad64d52274c7e14d773218b43d47d..272b5f9d52c3411d78d997bdde9fc42022c5023a 100644 GIT binary patch delta 24 gcmcbqc~f)46gKu`v(z-BWP`~%+^U-ouu1X(0CLX=4gdfE delta 24 gcmcbqc~f)46gGBqla#b%)5OU-+^U-ouu1X(0CFD)6951J diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.SensorTimeoutError.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.SensorTimeoutError.doctree index 4f40dad22f81e16afd9e162d1808b2f187c64144..f4f5e9371c4993234446c0435fc1a04e76d9a20b 100644 GIT binary patch delta 20 bcmZ3fwNh)tb~g58v(z-BWP{E7*s}QmP|621 delta 20 bcmZ3fwNh)tb~bi%la#b%)5OjD*s}QmPzDD% diff --git a/latest/.doctrees/api/generated/compas_fab.sensors.SerialSensor.doctree b/latest/.doctrees/api/generated/compas_fab.sensors.SerialSensor.doctree index e969076eb9a9094def5a3f7efa15709a12cf216c..c120fe5bf105e89d8bec97486d1a1edb5f245a0a 100644 GIT binary patch delta 23 fcmX?Sd(L*l5;pc^v(z-BWP?d8@|#bwu}A;_ZHx!? delta 23 fcmX?Sd(L*l5;k^ola#b%)5J+E@|#bwu}A;_Y}W_+ diff --git a/latest/.doctrees/api/generated/compas_fab.utilities.LazyLoader.doctree b/latest/.doctrees/api/generated/compas_fab.utilities.LazyLoader.doctree index 692c1df7b9c19bf7c0313baf7c0bd145a51244ca..a31eb2d1af11ca76e814bf7fa7af7c24c04b1c21 100644 GIT binary patch delta 24 gcmdm_ze#_?1~&F&v(z-BWP{0l+!~wjvt1Sd0CW8bC;$Ke delta 24 gcmdm_ze#_?1~ztcla#b%)5OVr+!~wjvt1Sd0CPxdk*$wv(z-BWP{1x+$x);IGuO_d3FdI delta 24 fcmcbkb4O>xdk%JUla#b%)5OW%+$x);IGuO_c*Y1H diff --git a/latest/.doctrees/api/generated/compas_fab.utilities.arange.doctree b/latest/.doctrees/api/generated/compas_fab.utilities.arange.doctree index cd132925a0de405e498202f55ec5305e81f39735..426db6fdc0e2d8cd79770b9c31a20e49e5c69e27 100644 GIT binary patch delta 24 fcmdn2wOMP!S9bPfv(z-BWP{0iTq>ItID~ltaOekt delta 24 fcmdn2wOMP!S9W%Dla#b%)5OVoTq>ItID~lta5x8s diff --git a/latest/.doctrees/api/generated/compas_fab.utilities.argmax.doctree b/latest/.doctrees/api/generated/compas_fab.utilities.argmax.doctree index 05f1b5f80735d0fb6342c50b5938c2ecc1cb81fe..2b3fc01bb2da26a92013467c9fbc60d6b0c51f49 100644 GIT binary patch delta 24 gcmeyS{Y`tr1~&F&v(z-BWP`~QnN>F5W|QUz0Da5|;s5{u delta 24 gcmeyS{Y`tr1~ztcla#b%)5OUWnN>F5W|QUz0DT+?=Kufz diff --git a/latest/.doctrees/api/generated/compas_fab.utilities.argmin.doctree b/latest/.doctrees/api/generated/compas_fab.utilities.argmin.doctree index 212b15aab8dabb4c7ad6720500aa5c96ea7a8a4e..06f822f970774128cce400fcddf28a5b7d5d891b 100644 GIT binary patch delta 24 gcmeyW{Z)Iz1~&F&v(z-BWP`~QnN>F5W|QIv0DYVY-v9sr delta 24 gcmeyW{Z)Iz1~ztcla#b%)5OUWnN>F5W|QIv0DSBSY2xJh%qp8bIav4sX^;nU diff --git a/latest/.doctrees/api/generated/compas_fab.utilities.diffs.doctree b/latest/.doctrees/api/generated/compas_fab.utilities.diffs.doctree index e41fedda032b68eb582b14f35dbee5fd21c3ee70..e7c54bcd978fc0d55965da05162a17040ede6dc4 100644 GIT binary patch delta 24 fcmbQGH%o7W4m*3YS!$Y5vccpoW|ht1?1%XQV;Kj_ delta 24 fcmbQGH%o7W4m-QKNlIF>Y2xHAW|ht1?1%XQVrd7^ diff --git a/latest/.doctrees/api/generated/compas_fab.utilities.from_tcf_to_t0cf.doctree b/latest/.doctrees/api/generated/compas_fab.utilities.from_tcf_to_t0cf.doctree index 89f5f0d5173e85ae816a6055e5ad29e91f08e20d..96226d2633da4c1a1a606458d787b4999a9fd942 100644 GIT binary patch delta 20 bcmbOnFgaj@2M2qyS!$Y5vcYD5jwA8_ONIvI delta 20 bcmbOnFgaj@2M4>kNlIF>Y2s#ojwA8_O2P)| diff --git a/latest/.doctrees/api/generated/compas_fab.utilities.list_files_in_directory.doctree b/latest/.doctrees/api/generated/compas_fab.utilities.list_files_in_directory.doctree index 80ce51d896e2a6d64abc9ae937b96833cc7ad497..5d242b581cf61c329014a15d88f41b1014fd802d 100644 GIT binary patch delta 24 gcmcZY2xG!+$x)EI6v?L0Cr*t8vpY2xIA+$x*(ICqHy0CExtf&c&j diff --git a/latest/.doctrees/api/generated/compas_fab.utilities.read_data_from_pickle.doctree b/latest/.doctrees/api/generated/compas_fab.utilities.read_data_from_pickle.doctree index 21212a02495b0260820094be8128ea3d65199bdc..ad6912880ae9b2fb02656bfd2918264831993600 100644 GIT binary patch delta 24 gcmdmJw$W^Z9y@!oS!$Y5vccqc%qp8B*>4B~0BjcsiU0rr delta 24 gcmdmJw$W^Z9y`0aNlIF>Y2xH}%qp8B*>4B~0BdImj{pDw diff --git a/latest/.doctrees/api/generated/compas_fab.utilities.sign.doctree b/latest/.doctrees/api/generated/compas_fab.utilities.sign.doctree index b119131136b73f84f1fe931541903b6915ddb5cf..85717150c359753c400e839d630ecc134c749bfd 100644 GIT binary patch delta 20 bcmbPWHo$6dTL30a$<5uYD#=jeo}r(f%oc>^MJO4MG_Q}a}tY-_3$_=HLtj|D3!3wu&9GN4$1U- z3=d(`mY$lQn_5y-i8TbUX#fX8JX{-+g=qHql<0wj7*7Zz$s@VnDKR-a6&P#mZc_Lg!00A3<>LjV8( delta 73 zcmexAiFslVGiw9uRJLOqSr;)feTv;2m$-m=^2Rjb$tTkKCtEvlZ%#^I5y_ds9y=vN KECRc{Y!U!YWY diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.add_attached_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.add_attached_collision_mesh.doctree index eefe1274cb764fbf94d0b725027dee0a92fd9d2c..9a34d2aaa39106487eda6ef599b2a51218733769 100644 GIT binary patch delta 20 bcmbQ>H^Fa1B^P_LS!$Y5vccvCt_d;#P9_Hl delta 20 bcmbQ>H^Fa1B^SH7NlIF>Y2xMvt_d;#O=1TQ diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.doctree index 4d608758a23e7c4b40c38b4a5abc0f83f58a1517..c1294aa663b3a5d50499e2ed12a5860e6b997128 100644 GIT binary patch delta 20 bcmez2_``8S89RHjS!$Y5vccwB_G(E0TPX*d delta 20 bcmez2_``8S89TeVNlIF>Y2xNu_G(E0T4e{I diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.add_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.add_collision_mesh.doctree index eb9ff31f3ce2ba8010b79f4c7b8d9fb4126555d0..b0d416ebaec547caeed4c15bff88eaacbf1c5dcb 100644 GIT binary patch delta 24 gcmX@+b~kdmWLyWx delta 24 fcmbQ}FwtRy89TeVNlIF>Y2xGnZu8A0>~kdmW2^_w diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.append_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.append_collision_mesh.doctree index be3bc78a6ac5fe6ecf3f65017e2468cd38aa7a2b..c7ac371ace41f20b80b4f8bbf82014f60fb01901 100644 GIT binary patch delta 24 gcmdnzz0Z5Yb58bTv(z-BWP`~Ec+5Aea?O+m0DbHU4*&oF delta 24 gcmdnzz0Z5Yb53@1la#b%)5OUKc+5Aea?O+m0DU|O6aWAK diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.doctree index 024ddb1c0989250ccd7c19ba67b99b1b6259c1d5..75eb0a186b0a180cc576bb93dfcc0471b7bdc09f 100644 GIT binary patch delta 24 fcmaFi@WNq(A3J-pS!$Y5vccqRZu8AO>~|ypcYFx| delta 24 fcmaFi@WNq(A3M9bNlIF>Y2xH;Zu8AO>~|ypcFYL{ diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.BackendFeature.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.BackendFeature.doctree index 70eeefd0e93aecc967afe683d32626390c75b5c4..25b37cb831b14e5f336e3280f85de600e693dd53 100644 GIT binary patch delta 24 fcmbPZJ;!>38asQkS!$Y5vccp;9`ns9>=t4GW6cL& delta 24 fcmbPZJ;!>38aunWNlIF>Y2xHW9`ns9>=t4GV;u)% diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.add_attached_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.add_attached_collision_mesh.doctree index cbf6f21ffa5918d0447ce72a3e153294ee356a28..1fa7ccbf8cfa7319da10ee3479e649132548ec42 100644 GIT binary patch delta 24 gcmeyV^HXO-6DNDJS!$Y5vccpS9^K8`I1lpx0D9dC9{>OV delta 24 gcmeyV^HXO-6DPa5NlIF>Y2xG<9^K8`I1lpx0D3J6Bme*a diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.add_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.add_collision_mesh.doctree index e7b9acae3ef82ebd68628f5cb79043ff90dcd69e..9d27c69d0eb053430a4abeb78eb880fdadb1a15c 100644 GIT binary patch delta 24 fcmeyM{Xu(!J|}y!S!$Y5vccqc+`5~SIeU2kb-M__ delta 24 fcmeyM{Xu(!J}0}mNlIF>Y2xH}+`5~SIeU2kbqff^ diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.append_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.append_collision_mesh.doctree index 0453a362d5aaa7b1226b955f4186ef6c8ce0760e..5f02ba1d815914ad3be362c905071e66c16a793a 100644 GIT binary patch delta 20 bcmbQMGgoJW7bknNS!$Y5vccv+&NDm!NG1lW delta 20 bcmbQMGgoJW7bm;9NlIF>Y2xNU&NDm!M`8xB diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.doctree index 11f300c83c8cfef142502a52a7254c4b97a1310f..7472734bd0cb248878b8b6414929869c554cfd8e 100644 GIT binary patch delta 22 ecmaF1oblOm#tl;J?8#=SX-3Hgn-$rQ`TziBmIw*} delta 22 ecmaF1oblOm#tl;J?B*sZY00LEn-$rQ`TziA(g+U# diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.forward_kinematics.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.forward_kinematics.doctree index 76a0c7a79fd2d656dbd7f85f8eac409b22184fb2..d151214360df8d9bb350c861f0a66770efd96038 100644 GIT binary patch delta 24 fcmaE-{Z4y>E+>1kS!$Y5vccpx+`5|+IeU2kbs-40 delta 24 fcmaE-{Z4y>E+@OWNlIF>Y2xHJ+`5|+IeU2kba4o~ diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.get_planning_scene.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.get_planning_scene.doctree index b353889f9353e1b29abcb95a088050499875c3e8..6691fb6d6e919345a22ca6a76bfbbc4b637c4665 100644 GIT binary patch delta 24 fcmeyM{Xu(!J|}y!S!$Y5vccqc+`5~SIeU2kb-M__ delta 24 fcmeyM{Xu(!J}0}mNlIF>Y2xH}+`5~SIeU2kbqff^ diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.inverse_kinematics.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.inverse_kinematics.doctree index 34c3f07f1efd664e54464fb7c795a5700eba9ab8..e8b5fbd17839b7d2def9c6297d91181707659dc0 100644 GIT binary patch delta 24 fcmaE-{Z4y>E+>1kS!$Y5vccpx+`5|+IeU2kbs-40 delta 24 fcmaE-{Z4y>E+@OWNlIF>Y2xHJ+`5|+IeU2kba4o~ diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_cartesian_motion.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_cartesian_motion.doctree index ff47b9c9ed6e8bccfb3730a76dc36a313eb6e0a9..0a29421f1c31b2b57956bc9908ece11d849c8c83 100644 GIT binary patch delta 20 bcmbQMGgoJW7bknNS!$Y5vccv+&NDm!NG1lW delta 20 bcmbQMGgoJW7bm;9NlIF>Y2xNU&NDm!M`8xB diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_motion.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_motion.doctree index 23be4eaf8ce37d695c29da6981ed2211608c731e..853657dfd8708b8d64165b2369866f451fc19cbc 100644 GIT binary patch delta 24 fcmZqGZq?rKj)OhfEH%w2*;M1& diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_collision_mesh.doctree index daab251adc7665eda9fb873e1a4ef818e6c63111..5dbb39dc63c38d63e08b1dc8b3885efd49012710 100644 GIT binary patch delta 20 bcmbQMGgoJW7bknNS!$Y5vccv+&NDm!NG1lW delta 20 bcmbQMGgoJW7bm;9NlIF>Y2xNU&NDm!M`8xB diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.reset_planning_scene.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ClientInterface.reset_planning_scene.doctree index b3da542e59cfc44017d307aa2e02fb92b2a9e5a6..d8980f87d6d90dda60134451c4fbda8a82db2bed 100644 GIT binary patch delta 20 bcmeCv>C@TZ$jP2;mYQaiY_Qpb^B4~RMKuO> delta 20 bcmeCv>C@TZ$jNSQl9HBenz-46^B4~RL~#as diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ForwardKinematics.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ForwardKinematics.doctree index 74ef02e350a61e622b7f582b7898e5aeaff84722..b761b71c40fbf663d5425c9a9fff30df13a29979 100644 GIT binary patch delta 24 fcmbQ~Fw~kdmWoie- delta 24 fcmbQ~FwY2svUUh~a0>~kdmWV#2+ diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ForwardKinematics.forward_kinematics.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ForwardKinematics.forward_kinematics.doctree index 25f7462af9f0ec325e79e4b6022199f50a95cf7a..cf59363076f698cf0b59d531e68a720481cc5a09 100644 GIT binary patch delta 24 fcmZ3Jz9xOcdv5k*v(z-BWP{0_EasbadFs^xeo6@H delta 24 fcmZ3Jz9xOcdv11fla#b%)5OW0EasbadFs^xeVPdG diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.GetPlanningScene.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.GetPlanningScene.doctree index d23d2ed63236b18a17e2b4dea36b92958277b61d..4cd43d8c0b1b4369963b644dc96d6a769d2dec98 100644 GIT binary patch delta 24 fcmaE2|HOWS89RHjS!$Y5vccp4Zu8A0>;)14a=-{b delta 24 fcmaE2|HOWS89TeVNlIF>Y2xGnZu8A0>;)14au5ha diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.GetPlanningScene.get_planning_scene.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.GetPlanningScene.get_planning_scene.doctree index 3b852a9a8c1b556c81b5495f2647dd20a6947e7b..4fe513ed8236718392ba01719cfd953b6b5ee485 100644 GIT binary patch delta 24 fcmeBm>~-95or68uEH%w2*~-95orB%nBqc4`G;wkwi}_|z&I)k=ZMz5X diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.InverseKinematics.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.InverseKinematics.doctree index a025966a275fb469deb9582054d079ea6a5db743..b24ce2711b179ed62663da6189b8f8f86936fb99 100644 GIT binary patch delta 24 fcmX@_aNc2q9XornS!$Y5vcY6+Uh~a0?3X0~Z;A+K delta 24 fcmX@_aNc2q9Xq?ZNlIF>Y2svUUh~a0?3X0~ZrTWJ diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.InverseKinematics.inverse_kinematics.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.InverseKinematics.inverse_kinematics.doctree index 3d5eb9ee184b50788fb53f5030f7abc1ff65af27..4dc5476cb3a3f397ee2947488d0e14cd1c8b5941 100644 GIT binary patch delta 20 bcmcaoex-cFE?)Lzv(z-BWP{BId4=@=Vju_r delta 20 bcmcaoex-cFE?#zXla#b%)5OgOd4=@=VO$6W diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.doctree index bb5e307eea0a94b414cedba5463abc7ebc508a79..9a813e7123a860d697a28a504b55d4722076963b 100644 GIT binary patch delta 23 ecmeBi>~Y-S$IhN?mYQaiY%n>S+k9~kyCeWz(+6Jw delta 23 ecmeBi>~Y-S$IfnUl9HBenm9R|+k9~kyCeWz9tUIq diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.plan_cartesian_motion.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.plan_cartesian_motion.doctree index bdd4784244114d284b21e5f318b976708563eedd..7b38a060b5fcd406c503ec7d7db5956fa701b191 100644 GIT binary patch delta 20 ccmZ2qy1sP7OJ4S5v(z-BWP{Bgc=zi70AVc%x&QzG delta 20 ccmZ2qy1sP7OI~(!la#b%)5Ogmc=zi70AOhdzW@LL diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlanMotion.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlanMotion.doctree index 255f71e0e0fc19bc73848ba278cbd76b89311a40..be1be3ce807191bcee668b68e2faa04804d992cc 100644 GIT binary patch delta 24 fcmdmHx6N(?8#{ZlS!$Y5vcY6I7W2(6?4QH|WkLtZ delta 24 fcmdmHx6N(?8#}wXNlIF>Y2su#7W2(6?4QH|WReHY diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlanMotion.plan_motion.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlanMotion.plan_motion.doctree index e885bae49b05afdbb30da750a3ff4e441107d88a..278602dc9464c5ab22a250df0a7fdbbcb1da026c 100644 GIT binary patch delta 24 fcmZ2hxU6u4E-!nsS!$Y5vcY647W2*7yw=(PZmS34 delta 24 fcmZ2hxU6u4E-$;eNlIF>Y2sun7W2*7yw=(PZTko3 diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_attached_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_attached_collision_mesh.doctree index b2a156d6b54308f11f8abf11e638710578035fc3..1985d599fd44b7c7a47e9f63cd311c54839e56d6 100644 GIT binary patch delta 24 gcmX?TdeC%3Hz#|tS!$Y5vccpzEV`Tbb21460CRH)PXGV_ delta 24 gcmX?TdeC%3Hz&KfNlIF>Y2xHLEV`Tbb21460CK|!Q~&?~ diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_collision_mesh.doctree index 13873dd83ac95d00e83be41f60beb94e13081af9..937f5d9b208756567fa18ee219b554f7874ae3a0 100644 GIT binary patch delta 20 bcmdmCvcqJ91t)v5S!$Y5vcYD1&YuDROi%{? delta 20 bcmdmCvcqJ91t+_?NlIF>Y2s#k&YuDRON<8t diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlannerInterface.append_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlannerInterface.append_collision_mesh.doctree index 122eff2b7be6ca0d2057805fe53163b14a1a1690..268b3f5ed4d5ccc2ac54d0232d50e2ea1a262341 100644 GIT binary patch delta 24 gcmaEA^3-HQFeiJmS!$Y5vccpJ+`60FIqwMo0C_(NTL1t6 delta 24 gcmaEA^3-HQFekgYNlIF>Y2xG$+`60FIqwMo0CY2s#E&YuDROBx3I diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlannerInterface.get_planning_scene.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlannerInterface.get_planning_scene.doctree index 5c9864ec38a1be0f64d46b015baff2d5fde06953..3016e8905f969348e67bc905ed35bb5304b7aea2 100644 GIT binary patch delta 20 bcmdmCvcqJ91t)v5S!$Y5vcYD1&YuDROi%{? delta 20 bcmdmCvcqJ91t+_?NlIF>Y2s#k&YuDRON<8t diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlannerInterface.inverse_kinematics.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlannerInterface.inverse_kinematics.doctree index 7f7c81c9328479b88c41e877535bbc7dd33aaaff..910827819899c5fe62cd076a182d3dfcc6e0cfc3 100644 GIT binary patch delta 20 bcmdmHvdv_J87F(PS!$Y5vcYCs&YuDROWp?d delta 20 bcmdmHvdv_J87I5BNlIF>Y2s#E&YuDROBx3I diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_cartesian_motion.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_cartesian_motion.doctree index 1aee594c4f45d6c9c200cefd1968ce9a6f675b95..ba837309db3ab76c7358b504f0771c80909502e5 100644 GIT binary patch delta 24 gcmaEA^3-HQFeiJmS!$Y5vccpJ+`60FIqwMo0C_(NTL1t6 delta 24 gcmaEA^3-HQFekgYNlIF>Y2xG$+`60FIqwMo0CY2xG$+`60FIqwMo0CY2xNUPF6txPj3cr diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.doctree index a510f197b1296004da54ad916d67e1957467b2d7..529791ddd6fc956ee8f766ab0cefea4143e64794 100644 GIT binary patch delta 24 gcmX@Y2xG+yylzFu-8fg0CJj&mYQaiY%n>2*L-se7po)yWiAJ2 delta 24 fcmeBl?{web#>H-Kl9HBenm9Ru*L-se7po)yWPS&1 diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.doctree index 1f0fc45aa24310f8435c231cdd26594f3ad8c961..25919df6f8cf16cdeac08d7827ba4ca143ea0663 100644 GIT binary patch delta 24 fcmaFo@Xld_A3J-pS!$Y5vccqRZu8AO?2jY>c$^6m delta 24 fcmaFo@Xld_A3M9bNlIF>Y2xH;Zu8AO?2jY>ckBrl diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.remove_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.remove_collision_mesh.doctree index c1900c677ac9206b4aa514766ec46a0481eb8395..49fde583d7f6eb3e472667756034fff4f30c7a93 100644 GIT binary patch delta 24 gcmez8^3P?%YEJfKv(z-BWP{25EasbEa!!>10EGq#$N&HU delta 24 gcmez8^3P?%YEE`@la#b%)5OXBEasbEa!!>10EAWv%>V!Z diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.doctree index e5c85f58693cb99809d81fc06b53978f573d153f..301ed451373499eb5f232db9e0661755417c65cc 100644 GIT binary patch delta 24 fcmZp4Y;@e<#?GE>mYQaiY%tl6#e8!M`(FtFW0wda delta 24 fcmZp4Y;@e<#?EeTl9HBenmE~y#e8!M`(FtFV&@1Z diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.reset_planning_scene.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.reset_planning_scene.doctree index 8f7da3f41a0acfffa5fe71f9f4e06019388e7a53..30a6b0c00135eb3d22b5716b59579832fef50e59 100644 GIT binary patch delta 24 gcmca_d*61$Zw~fkv(z-BWP{1IEasanIhTn70D$cY7XSbN delta 24 gcmca_d*61$Zw_{Ila#b%)5OWOEasanIhTn70DwIS8~^|S diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh.doctree index c329183b6ed50b8bc0cbb515c2886ec3b8b9f576..2f6078134c07aab93538f3bf2e353eb6d4faf9e5 100644 GIT binary patch delta 22 ecmZ3sh;i8>#tr7&?8#=SX-3Hgo9(z?xB>uOJqO+Z delta 22 ecmZ3sh;i8>#tr7&?B*sZY00LEo9(z?xB>uNc?aVF diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.doctree index 747e7afa2ea81ab0ee333dfd4fee38ece53bf54f..61f78058aaf1da22dc185c9fc575addabc119f82 100644 GIT binary patch delta 20 bcmdn&w%Kii7YBQ?S!$Y5vccv+jz>}ePdf)K delta 20 bcmdn&w%Kii7YDn!NlIF>Y2xNUjz>}ePIm_~ diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.add_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.add_collision_mesh.doctree index 8a3972231eed006d9ee1518771c51f4b34e098d8..a5e673bc3fd44175f02950a09c98b3f0c10165b1 100644 GIT binary patch delta 20 bcmeB7?@Zqi#l@a%mYQaiY_K_zOG6U?O^^nZ delta 20 bcmeB7?@Zqi#l>!Jl9HBenz%WUOG6U?Ow0zE diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.doctree index 9ac0f356eb877537cdfce10ae2aa9219ed8d4bf3..9eadf0b1285e0ee2c741a1e63203e6f8a50e8542 100644 GIT binary patch delta 24 gcmaFk{Kk31S9bPfv(z-BWP{1`Spqlva?FFb8|GS!$Y5vccqyEFqioIKD{&0CkcHAOHXW delta 24 gcmaFj^2B9>FbBK2NlIF>Y2xIKEFqioIKD{&0CeIBB>(^b diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.doctree index 26d5387f8a822b53c6b749edc5acee0bc86606a4..98e6ad19f2020d612ac4403d15556de41cc1d388 100644 GIT binary patch delta 24 gcmez3{Ka|0Uv~Cnv(z-BWP{1>e1V%oIp#|O0EJ`;Q~&?~ delta 24 gcmez3{Ka|0Uv_qLla#b%)5OW{e1V%oIp#|O0EDy&SpWb4 diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.forward_kinematics.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.forward_kinematics.doctree index 0b1d292f310baa742dbd71bc4225cb97e65cbf03..b3e9777c54098c49d7ef5f506405afc0e8a1ae8d 100644 GIT binary patch delta 22 ccmdnc!MFj4X7I2lo28~1B^zv>&oj{+0AXne9RL6T delta 22 ccmdnc!MFj4X7I3^o1~;AnY2xO54kKv*Ov(nG diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh.doctree index d6bdc3adda90bb495229d7806a9db28c98b35781..2690f8f4d1d14af820830169979688acf92c0e44 100644 GIT binary patch delta 20 bcmdlHvLj>z7dLydS!$Y5vcYCSZgqJ8OY;UJ delta 20 bcmdlHvLj>z7dN}PNlIF>Y2s!Y2xIKEFp{YIHUkY2xJnEFqhBa7jo20C@Qc1^@s6 diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh.doctree index defdf046028db9a351dc0da06beb132fb90f281a..becf581038571d05a987cc4847f5c76b282d96f5 100644 GIT binary patch delta 20 bcmX@&cf@Z47dLydS!$Y5vcYCSZetk$O!x*k delta 20 bcmX@&cf@Z47dN}PNlIF>Y2s!US!$Y5vcY5pUhmEITqmReZsrJM delta 24 fcmX@^b=+%%E*HDGNlIF>Y2suBUhmEITqmReZZ-&L diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh_async.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh_async.doctree index 79d929df7225b8a6d5e8cffd7404954421d7cb92..53a268694b6623386323ebf9c11c07367265cb3c 100644 GIT binary patch delta 24 fcmdn4yIpsKJQsViS!$Y5vccq6EZ&<7x!iaFYR3p3 delta 24 fcmdn4yIpsKJQusUNlIF>Y2xHpEZ&<7x!iaFY8MD2 diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.doctree index d147c6f0487a66632765e0189f22acb511bb1130..771b79e7d2d0ce80015e1ee3d3d0d1a2a8280963 100644 GIT binary patch delta 24 gcmaFk{lmyIBv-T0Degb(*OVf delta 24 gcmaFk{lmyIBv-T0DYMV*Z=?k diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh.doctree index 9a8ea557a24e411a9cc368e18ddc0311b3c39272..81991c1fb4e8826be9bdd5d0a23b5dbd2277ae5b 100644 GIT binary patch delta 20 bcmX@-ea?GBCKr3MS!$Y5vccv8t~hA`Raplt delta 20 bcmX@-ea?GBCKtQ8NlIF>Y2xMrt~hA`RFwxY diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh_async.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh_async.doctree index f609bb0fd3b499757328ebdbc08d5c4ef31c9e27..023109d80fc6b214a78cfd1b00943f2487c03bae 100644 GIT binary patch delta 24 fcmZ3iw^(mOG#7iaS!$Y5vccpqUcb#7xQclIXx0cA delta 24 fcmZ3iw^(mOG#9(MNlIF>Y2xHCUcb#7xQclIXeJ09 diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.doctree index ac1297afe73ce40c094a1e2659ef8809dee351e8..ad25664c377acdd1acfabb879598617a20464ee0 100644 GIT binary patch delta 24 fcmZqjZSvi4kDWc)EH%w2*hkG64XEVhS+; delta 26 icmdnq%(%UoaYHr_ySYh9TC!>4hkG64XDvI;f; diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics_async.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics_async.doctree index 1f1e365509fba7a8b7264cc8797d4d7d33fbb30c..64baff3a00527c9d14550bf92bb1d50a8c1eb86c 100644 GIT binary patch delta 20 bcmX?RaLi!CbuRW~v(z-BWP{E3xH5PFSd9n1 delta 20 bcmX?RaLi!CbuM;ula#b%)5Oj9xH5PFSIGy% diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.doctree index 3b0dbc0ca96552d962c4c15d8925c620f1e54cab..38c0f41b694fa64cab21b1482ef8ee8c2f0f16ff 100644 GIT binary patch delta 20 bcmccXch_&j33m2mv(z-BWP{D;+56-HUp)vs delta 20 bcmccXch_&j33hgKla#b%)5Oi^+56-HUU>*X diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics.doctree index f9d7c833490fd9ac76a7c80e573d55fe8affb659..b3cb89ef9ee6d0a024afa587f897b1cfbcec71e8 100644 GIT binary patch delta 22 ecmbPpfpN|S#tmkC?8#=SX-3Hgn{D~-M*;w1#|Sk5 delta 22 ecmbPpfpN|S#tmkC?B*sZY00LEn{D~-M*;w10|+_* diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics_async.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics_async.doctree index 696d4ce5e1a9b78fd168d038ac36a974eee312cc..51d5b8b03aac5ddb052211b4a0d6c67e3bd0defb 100644 GIT binary patch delta 20 bcmdmJxzTciB|m$zS!$Y5vcYBt{z6^=OJD|l delta 20 bcmdmJxzTciB|p2lNlIF>Y2s!F{z6^=N}L9Q diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.doctree index 1768d1e77af2888e83bfade3982f25d466518620..6cd4e1d2893a60674d98057e202e4dd39c3119e1 100644 GIT binary patch delta 24 gcmbOhH!W_%J$CkFv(z-BWP{1}Jbs&vIUcJ40Ct23(EtDd delta 24 gcmbOhH!W_%J$80;la#b%)5OX4Jbs&vIUcJ40Cm&|)&Kwi diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion.doctree index 2dc6a8c13f44b6fed2428a930dce39a6ff8b8ae8..68a24e151527c7dff690590add7d76364fe47328 100644 GIT binary patch delta 26 icmdmck#X-u#tqqg?8#=SX-3HglLcA*HXq>o8wmi9Bnn0V delta 26 icmdmck#X-u#tqqg?B*sZY00LElLcA*HXq>o8wmi8bP7uV diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async.doctree index a9467e2bc6463ced4e4f7aab3cf2f75c55f117a2..ba207b9629afc4cc84774a25d97ac002d0700608 100644 GIT binary patch delta 20 bcmX@>e%5`1i2!@DS!$Y5vcYC+fl0yuQF;dO delta 20 bcmX@>e%5`1i2%E~NlIF>Y2s#Ufl0yuP__p3 diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async.doctree index 54b83037a82eded98a1a4ea99c646efb8690e3ca..c0ff3299a55e69abb6896088633a577cdf5be922 100644 GIT binary patch delta 20 bcmX?Vf7E_MvH*LsS!$Y5vccvofoOgJQZ)wi delta 20 bcmX?Vf7E_MvH-ieNlIF>Y2xNAfoOgJQE>+N diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.doctree index 587472d83eb6a668b943737f7ce7be03a21eeedd..2da5c2161f5c36990c74e116bf0e535a35ff6ad0 100644 GIT binary patch delta 24 fcmX@*=ythb(098 delta 24 fcmX@Y2su?ewWQ>*=ythbmIu7 diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion.doctree index 67df19d3c829207197b0f2496dea7ee3081c00bb..b2c3348a887a66bd98a59e907fcbe6a224f098cf 100644 GIT binary patch delta 26 icmex;neq2!#tpN1*^|vu(~Oc0Cff_RY<|Wo8Up~ICkkW$ delta 26 icmex;neq2!#tpN1+09K-(vnRRC)*3SY<|Wo8Up~HcM53$ diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion_async.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion_async.doctree index 9866d6a22a51fed39a9d3c45d8f9dd6602e75ffd..4eb2f56fcb7e1a49f9ea71c2721fa22fee333e2c 100644 GIT binary patch delta 24 gcmdmIzR!HaJU;ehv(z-BWP{0lf-ak1@?GTt0C&*|cmMzZ delta 24 gcmdmIzR!HaJU(`Fla#b%)5OVrf-ak1@?GTt0Cyn?eEz>% diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene.doctree index 2057542e363fe245ba1f663b85e10eea969c3c5b..5cf3d2fbf15fdd03916894a8ee2e61a145b74c2a 100644 GIT binary patch delta 24 fcmZp0Y;fFQz{#F$mYQaiY%uvfxBKQgP9|{xWqSw1 delta 24 fcmZp0Y;fFQz{zfIl9HBenmGAAxBKQgP9|{xWXlK0 diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene_async.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene_async.doctree index f55927660098f5f8522e22b856fd2c9897b6c116..ced2bcdc61e78563c2b5c469c4d28562e21475b0 100644 GIT binary patch delta 24 fcmeCv?$h3&%*mc?mYQaiY%uvPxBKQoPFWrRVqumYQaiY%uvWU-;%ejyib&YPSe_ delta 24 fcmeAP=n2?hz`<^Al9HBenmGA1U-;%ejyib&Y6l2^ diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh.doctree index 054a42269cfaeda7908d6dfb89801781e4bd3403..56f877c3ce2f50793b36c7a43d5a161f8a6829d4 100644 GIT binary patch delta 24 fcmdnyzRi8ZT`u-yv(z-BWP{1peBqm|xvM1rcj5?v delta 24 fcmdnyzRi8ZT`qQWla#b%)5OWveBqm|xvM1rcQOcu diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async.doctree index acf4d1308cdc0a9242c485206e3e837e570344ad..de01791e4a1d9428b3fb81c93cf1fb4d06388f48 100644 GIT binary patch delta 24 gcmZ2%u-IV3c`o*3v(z-BWP{0qeBqmQxxeuM0B+m}RsaA1 delta 24 gcmZ2%u-IV3c`kNyla#b%)5OVweBqmQxxeuM0B$S@TL1t6 diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.doctree index fdf439ab7ed0d6e23b893b24b14de26e7dbbd712..199214abff1a256dca687eff106fa371fee2000f 100644 GIT binary patch delta 24 fcmeD2?eX1kkDWc)EH%w2*US!$Y5vccrLEPk7txW0)40DQ~|o&W#< delta 24 gcmez2^223=E*HDGNlIF>Y2xI&EPk7txW0)40DK$?qW}N^ diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh_async.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh_async.doctree index cc279f8e38ac5b5f70d1ba2a6ced2faff0deb228..8165cadd9f077a25c48865119a0bd8a8f490ab88 100644 GIT binary patch delta 24 fcmaE^`&@T}JQsViS!$Y5vcY62Ucb#HT*W*9ZJr0} delta 24 fcmaE^`&@T}JQusUNlIF>Y2sulUcb#HT*W*9Z0-l| diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.doctree index 0037e813f40f49e7f444508b8d4d4bec43b36951..a2e8867aee4804ed9991de3a7cb6b672f17894d9 100644 GIT binary patch delta 24 fcmZqjZSvi4g`GXwEH%w2*Y2xGsJieRHbFzv80C&F#y#N3J diff --git a/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene_async.doctree b/latest/.doctrees/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene_async.doctree index aec52ff06530fbad88bc2d3e1f0460d918f7e096..d79a3c2043ab22298423e787c382341a9695dc8c 100644 GIT binary patch delta 24 fcmbQGGfQVf9w&RUS!$Y5vccpC9^cJ}I3sufXh{eP delta 24 fcmbQGGfQVf9w)oGNlIF>Y2xGv9^cJ}I3sufXPF2O diff --git a/latest/.doctrees/environment.pickle b/latest/.doctrees/environment.pickle index de36a09c57cfeea6b44777678efda0e1a92fb2c1..96ddf251a4576f7db65e48b39fc37869fdc9a4b3 100644 GIT binary patch delta 207494 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

0aQbe1(p@@UlY+Fj)Ql*4BijvN^cSf8Rp( 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.forward

-ABB_IRB4600_40_255Kinematics.forward(joint_values)[source]
+ABB_IRB4600_40_255Kinematics.forward(joint_values)[source]
diff --git a/latest/api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.html b/latest/api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.html index 41a692f17..ea58e16b5 100644 --- a/latest/api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.html +++ b/latest/api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.html @@ -623,7 +623,7 @@

ABB_IRB4600_40_255Kinematics

-class compas_fab.backends.ABB_IRB4600_40_255Kinematics[source]
+class compas_fab.backends.ABB_IRB4600_40_255Kinematics[source]

Bases: SphericalWristKinematics

Analytical IK solver for the ABB IRB4600 40/255 robot.

Inherited Methods

diff --git a/latest/api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.inverse.html b/latest/api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.inverse.html index 82d9e7143..6488ca53d 100644 --- a/latest/api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.inverse.html +++ b/latest/api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.inverse.html @@ -623,7 +623,7 @@

ABB_IRB4600_40_255Kinematics.inverse

-ABB_IRB4600_40_255Kinematics.inverse(frame_rcf)[source]
+ABB_IRB4600_40_255Kinematics.inverse(frame_rcf)[source]
diff --git a/latest/api/generated/compas_fab.backends.AnalyticalInverseKinematics.html b/latest/api/generated/compas_fab.backends.AnalyticalInverseKinematics.html index 338697339..cff380e41 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalInverseKinematics.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalInverseKinematics.html @@ -623,7 +623,7 @@

AnalyticalInverseKinematics

-class compas_fab.backends.AnalyticalInverseKinematics[source]
+class compas_fab.backends.AnalyticalInverseKinematics[source]

Bases: InverseKinematics

Callable to calculate the robot’s inverse kinematics for a given frame.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalInverseKinematics.inverse_kinematics.html b/latest/api/generated/compas_fab.backends.AnalyticalInverseKinematics.inverse_kinematics.html index cf27f9e60..631c87534 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalInverseKinematics.inverse_kinematics.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalInverseKinematics.inverse_kinematics.html @@ -623,7 +623,7 @@

AnalyticalInverseKinematics.inverse_kinematics

-AnalyticalInverseKinematics.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]
+AnalyticalInverseKinematics.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]

Calculate the robot’s inverse kinematic (IK) for a given frame.

The IK for 6-axis industrial robots returns by default 8 possible solutions. These solutions have an order. That means that if you call IK on two diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.html b/latest/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.html index c976f475f..17911a051 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.html @@ -623,7 +623,7 @@

AnalyticalPlanCartesianMotion

-class compas_fab.backends.AnalyticalPlanCartesianMotion[source]
+class compas_fab.backends.AnalyticalPlanCartesianMotion[source]

Bases: PlanCartesianMotion

Methods

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.plan_cartesian_motion.html b/latest/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.plan_cartesian_motion.html index 0ec4655e8..03166c24f 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.plan_cartesian_motion.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.plan_cartesian_motion.html @@ -623,7 +623,7 @@

AnalyticalPlanCartesianMotion.plan_cartesian_motion

-AnalyticalPlanCartesianMotion.plan_cartesian_motion(robot, waypoints, start_configuration=None, group=None, options=None)[source]
+AnalyticalPlanCartesianMotion.plan_cartesian_motion(robot, waypoints, start_configuration=None, group=None, options=None)[source]

Calculates a cartesian motion path (linear in tool space).

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.smooth_configurations.html b/latest/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.smooth_configurations.html index 73c22a1ce..95975666f 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.smooth_configurations.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.smooth_configurations.html @@ -623,7 +623,7 @@

AnalyticalPlanCartesianMotion.smooth_configurations

-AnalyticalPlanCartesianMotion.smooth_configurations(configurations)[source]
+AnalyticalPlanCartesianMotion.smooth_configurations(configurations)[source]
diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_attached_collision_mesh.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_attached_collision_mesh.html index 1bcda4827..c3b27d960 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_attached_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_attached_collision_mesh.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.add_attached_collision_mesh

-AnalyticalPyBulletClient.add_attached_collision_mesh(*args, **kwargs)[source]
+AnalyticalPyBulletClient.add_attached_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_collision_mesh.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_collision_mesh.html index 0b9ef1927..077a8fc74 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_collision_mesh.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.add_collision_mesh

-AnalyticalPyBulletClient.add_collision_mesh(*args, **kwargs)[source]
+AnalyticalPyBulletClient.add_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.append_collision_mesh.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.append_collision_mesh.html index 8c066bf5a..f147d9e87 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.append_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.append_collision_mesh.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.append_collision_mesh

-AnalyticalPyBulletClient.append_collision_mesh(*args, **kwargs)[source]
+AnalyticalPyBulletClient.append_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.body_from_obj.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.body_from_obj.html index 23d8eba4b..bb720d64f 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.body_from_obj.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.body_from_obj.html @@ -59,7 +59,7 @@ - + @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.body_from_obj

-AnalyticalPyBulletClient.body_from_obj(path, scale=1.0, concavity=False, mass=0, collision=True, color=(0.5, 0.5, 0.5, 1))[source]
+AnalyticalPyBulletClient.body_from_obj(path, scale=1.0, concavity=False, mass=0, collision=True, color=(0.5, 0.5, 0.5, 1))[source]

Create a PyBullet body from an OBJ file.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.cache_robot_model.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.cache_robot_model.html new file mode 100644 index 000000000..6668c53b0 --- /dev/null +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.cache_robot_model.html @@ -0,0 +1,728 @@ + + + + + + + + + + + + AnalyticalPyBulletClient.cache_robot_model — COMPAS FAB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + Ctrl+K +
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

AnalyticalPyBulletClient.cache_robot_model

+
+
+AnalyticalPyBulletClient.cache_robot_model(robot, concavity=False)[source]
+

Saves an editable copy of the robot’s model and its meshes +for shadowing the state of the robot on the PyBullet server.

+
+
Parameters:
+
+
robotcompas_fab.robots.Robot

The robot to be saved for use with PyBullet.

+
+
concavitybool

When False (the default), the mesh will be loaded as its +convex hull for collision checking purposes. When True, +a non-static mesh will be decomposed into convex parts using v-HACD.

+
+
+
+
Raises:
+
+
Exception

If geometry has not been loaded.

+
+
+
+
+
+ +
+ + +
+ + + +
+ +
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_objects_for_collision.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_objects_for_collision.html index dc316ef54..61a059e6a 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_objects_for_collision.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_objects_for_collision.html @@ -60,7 +60,7 @@ - + @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.check_collision_objects_for_collision

-AnalyticalPyBulletClient.check_collision_objects_for_collision()[source]
+AnalyticalPyBulletClient.check_collision_objects_for_collision()[source]

Checks whether any of the collision objects are colliding.

Raises:
diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_with_objects.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_with_objects.html index 087d8f652..2b2ff0c35 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_with_objects.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_with_objects.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.check_collision_with_objects

-AnalyticalPyBulletClient.check_collision_with_objects(robot)[source]
+AnalyticalPyBulletClient.check_collision_with_objects(robot)[source]

Checks whether the robot and its attached collision objects with its current configuration is is colliding with any collision objects.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collisions.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collisions.html index 596a13f87..c64021e4d 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collisions.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collisions.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.check_collisions

-AnalyticalPyBulletClient.check_collisions(robot, configuration=None)[source]
+AnalyticalPyBulletClient.check_collisions(robot, configuration=None)[source]

Checks whether the current or given configuration is in collision.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_robot_self_collision.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_robot_self_collision.html index e2346a065..86295cad5 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_robot_self_collision.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_robot_self_collision.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.check_robot_self_collision

-AnalyticalPyBulletClient.check_robot_self_collision(robot)[source]
+AnalyticalPyBulletClient.check_robot_self_collision(robot)[source]

Checks whether the robot and its attached collision objects with its current configuration is colliding with itself.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.connect.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.connect.html index f07a2c2e9..493a348ce 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.connect.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.connect.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.connect

-AnalyticalPyBulletClient.connect(shadows=True, color=None, width=None, height=None)[source]
+AnalyticalPyBulletClient.connect(shadows=True, color=None, width=None, height=None)[source]

Connect from the PyBullet server.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.convert_mesh_to_body.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.convert_mesh_to_body.html index fbf73de29..cf91d72b5 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.convert_mesh_to_body.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.convert_mesh_to_body.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.convert_mesh_to_body

-AnalyticalPyBulletClient.convert_mesh_to_body(mesh, frame, _name=None, concavity=False, mass=0)[source]
+AnalyticalPyBulletClient.convert_mesh_to_body(mesh, frame, _name=None, concavity=False, mass=0)[source]

Convert compas mesh and its frame to a pybullet body.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.disconnect.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.disconnect.html index cc0ca07a5..5a3f4bb17 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.disconnect.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.disconnect.html @@ -59,7 +59,7 @@ - + @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.disconnect

-AnalyticalPyBulletClient.disconnect()[source]
+AnalyticalPyBulletClient.disconnect()[source]

Disconnect from the PyBullet server.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model.html new file mode 100644 index 000000000..7e34688aa --- /dev/null +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model.html @@ -0,0 +1,709 @@ + + + + + + + + + + + + AnalyticalPyBulletClient.ensure_cached_robot_model — COMPAS FAB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + Ctrl+K +
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

AnalyticalPyBulletClient.ensure_cached_robot_model

+
+
+static AnalyticalPyBulletClient.ensure_cached_robot_model(robot)[source]
+

Checks if a compas_fab.robots.Robot has been cached for use with PyBullet.

+
+ +
+ + +
+ + + +
+ +
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model_geometry.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model_geometry.html new file mode 100644 index 000000000..5d517a4dc --- /dev/null +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model_geometry.html @@ -0,0 +1,709 @@ + + + + + + + + + + + + AnalyticalPyBulletClient.ensure_cached_robot_model_geometry — COMPAS FAB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + Ctrl+K +
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

AnalyticalPyBulletClient.ensure_cached_robot_model_geometry

+
+
+static AnalyticalPyBulletClient.ensure_cached_robot_model_geometry(robot)[source]
+

Checks if the geometry of a compas_fab.robots.Robot has been cached for use with PyBullet.

+
+ +
+ + +
+ + + +
+ +
+ +
+ + + + + + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.filter_configurations_in_collision.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.filter_configurations_in_collision.html index 0f79c9e66..971650fd5 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.filter_configurations_in_collision.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.filter_configurations_in_collision.html @@ -60,7 +60,7 @@ - + @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.filter_configurations_in_collision

-AnalyticalPyBulletClient.filter_configurations_in_collision(robot, configurations)[source]
+AnalyticalPyBulletClient.filter_configurations_in_collision(robot, configurations)[source]

Filters from a list of configurations those which are in collision. Used for a custom inverse kinematics function.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.forward_kinematics.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.forward_kinematics.html index 56cd9f1d5..d637c9ee2 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.forward_kinematics.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.forward_kinematics.html @@ -59,7 +59,7 @@ - + @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.forward_kinematics

-AnalyticalPyBulletClient.forward_kinematics(*args, **kwargs)[source]
+AnalyticalPyBulletClient.forward_kinematics(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_filepath.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_filepath.html index 014d69cb7..eb3095a88 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_filepath.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_filepath.html @@ -59,8 +59,8 @@ - - + + @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.get_cached_robot_filepath

-AnalyticalPyBulletClient.get_cached_robot_filepath(robot)[source]
+AnalyticalPyBulletClient.get_cached_robot_filepath(robot)[source]

Returns the filepath of the editable copy of the robot’s model for shadowing the state of the robot on the PyBullet server.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_model.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_model.html new file mode 100644 index 000000000..5aed10675 --- /dev/null +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_model.html @@ -0,0 +1,729 @@ + + + + + + + + + + + + AnalyticalPyBulletClient.get_cached_robot_model — COMPAS FAB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + Ctrl+K +
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

AnalyticalPyBulletClient.get_cached_robot_model

+
+
+AnalyticalPyBulletClient.get_cached_robot_model(robot)[source]
+

Returns the editable copy of the robot’s model for shadowing the state +of the robot on the PyBullet server.

+
+
Parameters:
+
+
robotcompas_fab.robots.Robot

The robot saved for use with PyBullet.

+
+
+
+
Returns:
+
+
compas_robots.RobotModel
+
+
+
Raises:
+
+
Exception

If the robot has not been cached.

+
+
+
+
+
+ +
+ + +
+ + + +
+ +
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_planning_scene.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_planning_scene.html index ef05eaa2c..04d5c35e1 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_planning_scene.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_planning_scene.html @@ -60,7 +60,7 @@ - + @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.get_planning_scene

-AnalyticalPyBulletClient.get_planning_scene(*args, **kwargs)[source]
+AnalyticalPyBulletClient.get_planning_scene(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_robot_configuration.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_robot_configuration.html index 8a207883d..a7db1598e 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_robot_configuration.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_robot_configuration.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.get_robot_configuration

-AnalyticalPyBulletClient.get_robot_configuration(robot)[source]
+AnalyticalPyBulletClient.get_robot_configuration(robot)[source]

Gets the robot’s current pose.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_uid.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_uid.html index 4940af2e1..5202a4ac5 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_uid.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_uid.html @@ -623,13 +623,13 @@

AnalyticalPyBulletClient.get_uid

-AnalyticalPyBulletClient.get_uid(cached_robot)[source]
+AnalyticalPyBulletClient.get_uid(cached_robot_model)[source]

Returns the internal PyBullet id of the robot’s model for shadowing the state of the robot on the PyBullet server.

Parameters:
-
cached_robotcompas_robots.RobotModel

The robot model saved for use with PyBullet.

+
cached_robot_modelcompas_robots.RobotModel

The robot model saved for use with PyBullet.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.html index 184825345..9fde46985 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient

-class compas_fab.backends.AnalyticalPyBulletClient[source]
+class compas_fab.backends.AnalyticalPyBulletClient[source]

Bases: PyBulletClient

Combination of PyBullet as the client for Collision Detection and Analytical Inverse Kinematics.

Methods

@@ -652,7 +652,7 @@

AnalyticalPyBulletClient

- + @@ -676,10 +676,10 @@

AnalyticalPyBulletClient

- + - + @@ -688,12 +688,12 @@

AnalyticalPyBulletClient

- - - - + + + + diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.inverse_kinematics.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.inverse_kinematics.html index 0b3ed40bc..eaa4ad3a9 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.inverse_kinematics.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.inverse_kinematics.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.inverse_kinematics

-AnalyticalPyBulletClient.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]
+AnalyticalPyBulletClient.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_robot.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_robot.html index ea122219e..dad458ac1 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_robot.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_robot.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.load_robot

-AnalyticalPyBulletClient.load_robot(urdf_file, resource_loaders=None, concavity=False, precision=None)[source]
+AnalyticalPyBulletClient.load_robot(urdf_file, resource_loaders=None, concavity=False, precision=None)[source]

Create a pybullet robot using the input urdf file.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_semantics.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_semantics.html index 6bbe67691..08b353421 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_semantics.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_semantics.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.load_semantics

-AnalyticalPyBulletClient.load_semantics(robot, srdf_filename)[source]
+AnalyticalPyBulletClient.load_semantics(robot, srdf_filename)[source]

Loads the semantic information of a robot.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_ur5.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_ur5.html index df04b79a1..1217718b9 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_ur5.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_ur5.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.load_ur5

-AnalyticalPyBulletClient.load_ur5(load_geometry=False, concavity=False)[source]
+AnalyticalPyBulletClient.load_ur5(load_geometry=False, concavity=False)[source]

“Load a UR5 robot to PyBullet.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_cartesian_motion.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_cartesian_motion.html index 300c3dbf0..fcabbc9d2 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_cartesian_motion.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_cartesian_motion.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.plan_cartesian_motion

-AnalyticalPyBulletClient.plan_cartesian_motion(robot, waypoints, start_configuration=None, group=None, options=None)[source]
+AnalyticalPyBulletClient.plan_cartesian_motion(robot, waypoints, start_configuration=None, group=None, options=None)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_motion.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_motion.html index 72b3da0dd..e5450ec54 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_motion.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_motion.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.plan_motion

-AnalyticalPyBulletClient.plan_motion(*args, **kwargs)[source]
+AnalyticalPyBulletClient.plan_motion(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.reload_from_cache.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.reload_from_cache.html index 4709fa194..9b32c53b9 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.reload_from_cache.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.reload_from_cache.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.reload_from_cache

-AnalyticalPyBulletClient.reload_from_cache(robot)[source]
+AnalyticalPyBulletClient.reload_from_cache(robot)[source]

Reloads the PyBullet server with the robot’s cached model.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_attached_collision_mesh.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_attached_collision_mesh.html index 66ade38dd..b072311de 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_attached_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_attached_collision_mesh.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.remove_attached_collision_mesh

-AnalyticalPyBulletClient.remove_attached_collision_mesh(*args, **kwargs)[source]
+AnalyticalPyBulletClient.remove_attached_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_collision_mesh.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_collision_mesh.html index 1ee77179a..00ea941bb 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_collision_mesh.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.remove_collision_mesh

-AnalyticalPyBulletClient.remove_collision_mesh(*args, **kwargs)[source]
+AnalyticalPyBulletClient.remove_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.reset_planning_scene.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.reset_planning_scene.html index a2b54526f..07446d493 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.reset_planning_scene.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.reset_planning_scene.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.reset_planning_scene

-AnalyticalPyBulletClient.reset_planning_scene(*args, **kwargs)[source]
+AnalyticalPyBulletClient.reset_planning_scene(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.set_robot_configuration.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.set_robot_configuration.html index 1395bfaca..9ce6eefd1 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.set_robot_configuration.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.set_robot_configuration.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.set_robot_configuration

-AnalyticalPyBulletClient.set_robot_configuration(robot, configuration, group=None)[source]
+AnalyticalPyBulletClient.set_robot_configuration(robot, configuration, group=None)[source]

Sets the robot’s pose to the given configuration. Should be followed by step_simulation for visualization purposes.

diff --git a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.step_simulation.html b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.step_simulation.html index 063cc0167..943fd24bc 100644 --- a/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.step_simulation.html +++ b/latest/api/generated/compas_fab.backends.AnalyticalPyBulletClient.step_simulation.html @@ -623,7 +623,7 @@

AnalyticalPyBulletClient.step_simulation

-AnalyticalPyBulletClient.step_simulation()[source]
+AnalyticalPyBulletClient.step_simulation()[source]

By default, the physics server will not step the simulation, unless you explicitly send a step_simulation command. This method will perform all the actions in a single forward dynamics diff --git a/latest/api/generated/compas_fab.backends.BackendError.html b/latest/api/generated/compas_fab.backends.BackendError.html index 1a0986c0f..53e3c8f22 100644 --- a/latest/api/generated/compas_fab.backends.BackendError.html +++ b/latest/api/generated/compas_fab.backends.BackendError.html @@ -623,7 +623,7 @@

BackendError

-exception compas_fab.backends.BackendError[source]
+exception compas_fab.backends.BackendError[source]

Bases: Exception

Indicates an exceptional state that caused an error within the backend engine.

diff --git a/latest/api/generated/compas_fab.backends.BackendFeatureNotSupportedError.html b/latest/api/generated/compas_fab.backends.BackendFeatureNotSupportedError.html index 4bcfa91ba..f3becc534 100644 --- a/latest/api/generated/compas_fab.backends.BackendFeatureNotSupportedError.html +++ b/latest/api/generated/compas_fab.backends.BackendFeatureNotSupportedError.html @@ -623,7 +623,7 @@

BackendFeatureNotSupportedError

-exception compas_fab.backends.BackendFeatureNotSupportedError[source]
+exception compas_fab.backends.BackendFeatureNotSupportedError[source]

Bases: Exception

Indicates that the selected backend does not support the selected feature.

diff --git a/latest/api/generated/compas_fab.backends.CancellableFutureResult.cancel.html b/latest/api/generated/compas_fab.backends.CancellableFutureResult.cancel.html index 7716b7cde..52ff7b5e7 100644 --- a/latest/api/generated/compas_fab.backends.CancellableFutureResult.cancel.html +++ b/latest/api/generated/compas_fab.backends.CancellableFutureResult.cancel.html @@ -623,7 +623,7 @@

CancellableFutureResult.cancel

-CancellableFutureResult.cancel()[source]
+CancellableFutureResult.cancel()[source]

Attempt to cancel the operation.

If the operation is currently being executed and cannot be cancelled then the method will return False, otherwise the call will diff --git a/latest/api/generated/compas_fab.backends.CancellableFutureResult.html b/latest/api/generated/compas_fab.backends.CancellableFutureResult.html index d303c8929..c5bff511e 100644 --- a/latest/api/generated/compas_fab.backends.CancellableFutureResult.html +++ b/latest/api/generated/compas_fab.backends.CancellableFutureResult.html @@ -623,7 +623,7 @@

CancellableFutureResult

-class compas_fab.backends.CancellableFutureResult[source]
+class compas_fab.backends.CancellableFutureResult[source]

Bases: FutureResult

Represents a future result of a long-running asynchronous operation that can be cancelled.

Methods

diff --git a/latest/api/generated/compas_fab.backends.CancellableFutureResult.result.html b/latest/api/generated/compas_fab.backends.CancellableFutureResult.result.html index 5d9ae81dd..d08e70721 100644 --- a/latest/api/generated/compas_fab.backends.CancellableFutureResult.result.html +++ b/latest/api/generated/compas_fab.backends.CancellableFutureResult.result.html @@ -623,7 +623,7 @@

CancellableFutureResult.result

-CancellableFutureResult.result(timeout=None)[source]
+CancellableFutureResult.result(timeout=None)[source]

Return the feedback value returned by the instruction.

If the instruction has not yet returned feedback, it will wait up to timeout seconds. If the timeout expires, the method diff --git a/latest/api/generated/compas_fab.backends.CartesianMotionError.html b/latest/api/generated/compas_fab.backends.CartesianMotionError.html index 16ae6557b..3ce6f2b29 100644 --- a/latest/api/generated/compas_fab.backends.CartesianMotionError.html +++ b/latest/api/generated/compas_fab.backends.CartesianMotionError.html @@ -623,7 +623,7 @@

CartesianMotionError

-exception compas_fab.backends.CartesianMotionError[source]
+exception compas_fab.backends.CartesianMotionError[source]

Bases: KinematicsError

Exception raised when no path can be found.

diff --git a/latest/api/generated/compas_fab.backends.CollisionError.html b/latest/api/generated/compas_fab.backends.CollisionError.html index 5862a1b3a..99fb0bad5 100644 --- a/latest/api/generated/compas_fab.backends.CollisionError.html +++ b/latest/api/generated/compas_fab.backends.CollisionError.html @@ -623,7 +623,7 @@

CollisionError

-exception compas_fab.backends.CollisionError[source]
+exception compas_fab.backends.CollisionError[source]

Bases: PyBulletError

Exception raised when two objects have been found to be in collision in PyBullet.

diff --git a/latest/api/generated/compas_fab.backends.FutureResult.html b/latest/api/generated/compas_fab.backends.FutureResult.html index 813cc5a35..c2e26126a 100644 --- a/latest/api/generated/compas_fab.backends.FutureResult.html +++ b/latest/api/generated/compas_fab.backends.FutureResult.html @@ -623,7 +623,7 @@

FutureResult

-class compas_fab.backends.FutureResult[source]
+class compas_fab.backends.FutureResult[source]

Bases: object

Represents a future result value.

Futures are the result of asynchronous operations diff --git a/latest/api/generated/compas_fab.backends.FutureResult.result.html b/latest/api/generated/compas_fab.backends.FutureResult.result.html index 58f978d58..bd5ebf0e7 100644 --- a/latest/api/generated/compas_fab.backends.FutureResult.result.html +++ b/latest/api/generated/compas_fab.backends.FutureResult.result.html @@ -623,7 +623,7 @@

FutureResult.result

-FutureResult.result(timeout=None)[source]
+FutureResult.result(timeout=None)[source]

Return the feedback value returned by the instruction.

If the instruction has not yet returned feedback, it will wait up to timeout seconds. If the timeout expires, the method diff --git a/latest/api/generated/compas_fab.backends.InverseKinematicsError.html b/latest/api/generated/compas_fab.backends.InverseKinematicsError.html index d6b4eddde..0dfe06d43 100644 --- a/latest/api/generated/compas_fab.backends.InverseKinematicsError.html +++ b/latest/api/generated/compas_fab.backends.InverseKinematicsError.html @@ -623,7 +623,7 @@

InverseKinematicsError

-exception compas_fab.backends.InverseKinematicsError[source]
+exception compas_fab.backends.InverseKinematicsError[source]

Bases: KinematicsError

Indicates that no IK solution could be found by the kinematic solver.

diff --git a/latest/api/generated/compas_fab.backends.KinematicsError.html b/latest/api/generated/compas_fab.backends.KinematicsError.html index cc5c2bc02..088bf4548 100644 --- a/latest/api/generated/compas_fab.backends.KinematicsError.html +++ b/latest/api/generated/compas_fab.backends.KinematicsError.html @@ -623,7 +623,7 @@

KinematicsError

-exception compas_fab.backends.KinematicsError[source]
+exception compas_fab.backends.KinematicsError[source]

Bases: BackendError

Indicates a kinematic solver exception.

diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh.html index 390b58dc0..c54235baa 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh.html @@ -623,7 +623,7 @@

MoveItPlanner.add_attached_collision_mesh

-MoveItPlanner.add_attached_collision_mesh(attached_collision_mesh, options=None)[source]
+MoveItPlanner.add_attached_collision_mesh(attached_collision_mesh, options=None)[source]

Add a collision mesh and attach it to the robot.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh_async.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh_async.html index 1e2a897b6..7f87a812f 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh_async.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh_async.html @@ -623,7 +623,7 @@

MoveItPlanner.add_attached_collision_mesh_async

-MoveItPlanner.add_attached_collision_mesh_async(callback, errback, attached_collision_mesh)[source]
+MoveItPlanner.add_attached_collision_mesh_async(callback, errback, attached_collision_mesh)[source]
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh.html index 2fe6c8064..2b16b78b4 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh.html @@ -623,7 +623,7 @@

MoveItPlanner.add_collision_mesh

-MoveItPlanner.add_collision_mesh(collision_mesh, options=None)[source]
+MoveItPlanner.add_collision_mesh(collision_mesh, options=None)[source]

Add a collision mesh to the planning scene.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh_async.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh_async.html index dd8373f50..f61bebdee 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh_async.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh_async.html @@ -623,7 +623,7 @@

MoveItPlanner.add_collision_mesh_async

-MoveItPlanner.add_collision_mesh_async(callback, errback, collision_mesh)[source]
+MoveItPlanner.add_collision_mesh_async(callback, errback, collision_mesh)[source]
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh.html index e1e85aedd..138818cab 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh.html @@ -623,7 +623,7 @@

MoveItPlanner.append_collision_mesh

-MoveItPlanner.append_collision_mesh(collision_mesh, options=None)[source]
+MoveItPlanner.append_collision_mesh(collision_mesh, options=None)[source]

Append a collision mesh to the planning scene.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh_async.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh_async.html index d87fd8ecd..ba00fb5b2 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh_async.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh_async.html @@ -623,7 +623,7 @@

MoveItPlanner.append_collision_mesh_async

-MoveItPlanner.append_collision_mesh_async(callback, errback, collision_mesh)[source]
+MoveItPlanner.append_collision_mesh_async(callback, errback, collision_mesh)[source]
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics.html index 5dd3c9006..372d3f801 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics.html @@ -623,7 +623,7 @@

MoveItPlanner.forward_kinematics

-MoveItPlanner.forward_kinematics(robot, configuration, group=None, options=None)[source]
+MoveItPlanner.forward_kinematics(robot, configuration, group=None, options=None)[source]

Calculate the robot’s forward kinematic.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics_async.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics_async.html index 50b3dcb4c..e003094d6 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics_async.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics_async.html @@ -623,7 +623,7 @@

MoveItPlanner.forward_kinematics_async

-MoveItPlanner.forward_kinematics_async(callback, errback, configuration, options)[source]
+MoveItPlanner.forward_kinematics_async(callback, errback, configuration, options)[source]

Asynchronous handler of MoveIt FK service.

diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene.html index b5284525f..84aeb180f 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene.html @@ -623,7 +623,7 @@

MoveItPlanner.get_planning_scene

-MoveItPlanner.get_planning_scene(options=None)[source]
+MoveItPlanner.get_planning_scene(options=None)[source]

Retrieve the planning scene.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene_async.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene_async.html index 28b188f20..a59536925 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene_async.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene_async.html @@ -623,7 +623,7 @@

MoveItPlanner.get_planning_scene_async

-MoveItPlanner.get_planning_scene_async(callback, errback)[source]
+MoveItPlanner.get_planning_scene_async(callback, errback)[source]
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.html index 2ef89d3ab..621e662e5 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.html @@ -623,7 +623,7 @@

MoveItPlanner

-class compas_fab.backends.MoveItPlanner[source]
+class compas_fab.backends.MoveItPlanner[source]

Bases: MoveItForwardKinematics, MoveItInverseKinematics, MoveItPlanMotion, MoveItPlanCartesianMotion, MoveItPlanningScene, MoveItResetPlanningScene, MoveItAddCollisionMesh, MoveItRemoveCollisionMesh, MoveItAppendCollisionMesh, MoveItAddAttachedCollisionMesh, MoveItRemoveAttachedCollisionMesh, PlannerInterface

Implement the planner backend interface based on MoveIt!

Inherited Methods

diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics.html index c11870cd0..c235d8b27 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics.html @@ -623,7 +623,7 @@

MoveItPlanner.inverse_kinematics

-MoveItPlanner.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]
+MoveItPlanner.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]

Calculate the robot’s inverse kinematic for a given frame.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics_async.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics_async.html index 9be4b711a..54b0ff073 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics_async.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics_async.html @@ -623,7 +623,7 @@

MoveItPlanner.inverse_kinematics_async

-MoveItPlanner.inverse_kinematics_async(callback, errback, frame_WCF, start_configuration=None, group=None, options=None)[source]
+MoveItPlanner.inverse_kinematics_async(callback, errback, frame_WCF, start_configuration=None, group=None, options=None)[source]

Asynchronous handler of MoveIt IK service.

diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion.html index 4659dcbf8..d2e0dc2ed 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion.html @@ -624,7 +624,7 @@

MoveItPlanner.plan_cartesian_motion

-MoveItPlanner.plan_cartesian_motion(robot, waypoints, start_configuration=None, group=None, options=None)[source]
+MoveItPlanner.plan_cartesian_motion(robot, waypoints, start_configuration=None, group=None, options=None)[source]

Calculates a cartesian motion path (linear in tool space).

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async.html index b14960853..5103a136a 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async.html @@ -623,7 +623,7 @@

MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async

-MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async(callback, errback, waypoints, start_configuration=None, group=None, options=None)[source]
+MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async(callback, errback, waypoints, start_configuration=None, group=None, options=None)[source]

Asynchronous handler of MoveIt cartesian motion planner service.

compas_fab.robots.FrameWaypoints are converted to compas_fab.backends.ros.messages.Pose that is native to ROS communication

diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async.html index c5461f439..bf28cf1e8 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async.html @@ -623,7 +623,7 @@

MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async

-MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async(callback, errback, waypoints, start_configuration=None, group=None, options=None)[source]
+MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async(callback, errback, waypoints, start_configuration=None, group=None, options=None)[source]

Asynchronous handler of MoveIt cartesian motion planner service.

AFAIK MoveIt does not support planning for a relaxed axis under this

diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_motion.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_motion.html index b7ced2e60..4db3a2481 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_motion.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_motion.html @@ -623,7 +623,7 @@

MoveItPlanner.plan_motion

-MoveItPlanner.plan_motion(robot, target, start_configuration=None, group=None, options=None)[source]
+MoveItPlanner.plan_motion(robot, target, start_configuration=None, group=None, options=None)[source]

Calculates a motion path.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_motion_async.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_motion_async.html index 297477606..b4ac72507 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_motion_async.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.plan_motion_async.html @@ -623,7 +623,7 @@

MoveItPlanner.plan_motion_async

-MoveItPlanner.plan_motion_async(callback, errback, target, start_configuration=None, group=None, options=None)[source]
+MoveItPlanner.plan_motion_async(callback, errback, target, start_configuration=None, group=None, options=None)[source]

Asynchronous handler of MoveIt motion planner service.

diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh.html index 91c74d834..b1fb87d07 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh.html @@ -623,7 +623,7 @@

MoveItPlanner.remove_attached_collision_mesh

-MoveItPlanner.remove_attached_collision_mesh(id, options=None)[source]
+MoveItPlanner.remove_attached_collision_mesh(id, options=None)[source]

Remove an attached collision mesh from the robot.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh_async.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh_async.html index cb0f1792e..b1713ef5a 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh_async.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh_async.html @@ -623,7 +623,7 @@

MoveItPlanner.remove_attached_collision_mesh_async

-MoveItPlanner.remove_attached_collision_mesh_async(callback, errback, id)[source]
+MoveItPlanner.remove_attached_collision_mesh_async(callback, errback, id)[source]
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh.html index 465579f8f..4ffed0569 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh.html @@ -623,7 +623,7 @@

MoveItPlanner.remove_collision_mesh

-MoveItPlanner.remove_collision_mesh(id, options=None)[source]
+MoveItPlanner.remove_collision_mesh(id, options=None)[source]

Remove a collision mesh from the planning scene.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh_async.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh_async.html index 495ab2b18..2f989e7e1 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh_async.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh_async.html @@ -623,7 +623,7 @@

MoveItPlanner.remove_collision_mesh_async

-MoveItPlanner.remove_collision_mesh_async(callback, errback, id)[source]
+MoveItPlanner.remove_collision_mesh_async(callback, errback, id)[source]
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene.html index 29be577b0..e8f763be8 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene.html @@ -623,7 +623,7 @@

MoveItPlanner.reset_planning_scene

-MoveItPlanner.reset_planning_scene(options=None)[source]
+MoveItPlanner.reset_planning_scene(options=None)[source]

Resets the planning scene, removing all added collision meshes.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene_async.html b/latest/api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene_async.html index 115c961a3..b54b66ce8 100644 --- a/latest/api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene_async.html +++ b/latest/api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene_async.html @@ -623,7 +623,7 @@

MoveItPlanner.reset_planning_scene_async

-MoveItPlanner.reset_planning_scene_async(callback, errback)[source]
+MoveItPlanner.reset_planning_scene_async(callback, errback)[source]
diff --git a/latest/api/generated/compas_fab.backends.OffsetWristKinematics.forward.html b/latest/api/generated/compas_fab.backends.OffsetWristKinematics.forward.html index 726d4dbb7..1509bc19c 100644 --- a/latest/api/generated/compas_fab.backends.OffsetWristKinematics.forward.html +++ b/latest/api/generated/compas_fab.backends.OffsetWristKinematics.forward.html @@ -623,7 +623,7 @@

OffsetWristKinematics.forward

-OffsetWristKinematics.forward(joint_values)[source]
+OffsetWristKinematics.forward(joint_values)[source]
diff --git a/latest/api/generated/compas_fab.backends.OffsetWristKinematics.html b/latest/api/generated/compas_fab.backends.OffsetWristKinematics.html index 0371e74ba..691ab15ed 100644 --- a/latest/api/generated/compas_fab.backends.OffsetWristKinematics.html +++ b/latest/api/generated/compas_fab.backends.OffsetWristKinematics.html @@ -623,7 +623,7 @@

OffsetWristKinematics

-class compas_fab.backends.OffsetWristKinematics[source]
+class compas_fab.backends.OffsetWristKinematics[source]

Bases: object

Methods

body_from_obj

Create a PyBullet body from an OBJ file.

cache_robot

cache_robot_model

Saves an editable copy of the robot's model and its meshes for shadowing the state of the robot on the PyBullet server.

check_collision_objects_for_collision

disconnect

Disconnect from the PyBullet server.

ensure_cached_robot

ensure_cached_robot_model

Checks if a compas_fab.robots.Robot has been cached for use with PyBullet.

ensure_cached_robot_geometry

ensure_cached_robot_model_geometry

Checks if the geometry of a compas_fab.robots.Robot has been cached for use with PyBullet.

filter_configurations_in_collision

forward_kinematics

Forwards call to appropriate method in the planner.

get_cached_robot

Returns the editable copy of the robot's model for shadowing the state of the robot on the PyBullet server.

get_cached_robot_filepath

get_cached_robot_filepath

Returns the filepath of the editable copy of the robot's model for shadowing the state of the robot on the PyBullet server.

get_cached_robot_model

Returns the editable copy of the robot's model for shadowing the state of the robot on the PyBullet server.

get_planning_scene

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.OffsetWristKinematics.inverse.html b/latest/api/generated/compas_fab.backends.OffsetWristKinematics.inverse.html index 00cf3ca66..c91dc4cf6 100644 --- a/latest/api/generated/compas_fab.backends.OffsetWristKinematics.inverse.html +++ b/latest/api/generated/compas_fab.backends.OffsetWristKinematics.inverse.html @@ -623,7 +623,7 @@

OffsetWristKinematics.inverse

-OffsetWristKinematics.inverse(frame_rcf)[source]
+OffsetWristKinematics.inverse(frame_rcf)[source]
diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.add_attached_collision_mesh.html b/latest/api/generated/compas_fab.backends.PyBulletClient.add_attached_collision_mesh.html index ae425a0a3..e3d15bbca 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.add_attached_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.add_attached_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletClient.add_attached_collision_mesh

-PyBulletClient.add_attached_collision_mesh(*args, **kwargs)[source]
+PyBulletClient.add_attached_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.add_collision_mesh.html b/latest/api/generated/compas_fab.backends.PyBulletClient.add_collision_mesh.html index e25f8c3cf..c894b04c0 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.add_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.add_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletClient.add_collision_mesh

-PyBulletClient.add_collision_mesh(*args, **kwargs)[source]
+PyBulletClient.add_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.append_collision_mesh.html b/latest/api/generated/compas_fab.backends.PyBulletClient.append_collision_mesh.html index 159c1dd28..3ac6768c1 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.append_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.append_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletClient.append_collision_mesh

-PyBulletClient.append_collision_mesh(*args, **kwargs)[source]
+PyBulletClient.append_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.body_from_obj.html b/latest/api/generated/compas_fab.backends.PyBulletClient.body_from_obj.html index 0e37450d8..5e7f814c6 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.body_from_obj.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.body_from_obj.html @@ -59,7 +59,7 @@ - + @@ -623,7 +623,7 @@

PyBulletClient.body_from_obj

-PyBulletClient.body_from_obj(path, scale=1.0, concavity=False, mass=0, collision=True, color=(0.5, 0.5, 0.5, 1))[source]
+PyBulletClient.body_from_obj(path, scale=1.0, concavity=False, mass=0, collision=True, color=(0.5, 0.5, 0.5, 1))[source]

Create a PyBullet body from an OBJ file.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.cache_robot_model.html b/latest/api/generated/compas_fab.backends.PyBulletClient.cache_robot_model.html new file mode 100644 index 000000000..253af1ee1 --- /dev/null +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.cache_robot_model.html @@ -0,0 +1,728 @@ + + + + + + + + + + + + PyBulletClient.cache_robot_model — COMPAS FAB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + Ctrl+K +
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

PyBulletClient.cache_robot_model

+
+
+PyBulletClient.cache_robot_model(robot, concavity=False)[source]
+

Saves an editable copy of the robot’s model and its meshes +for shadowing the state of the robot on the PyBullet server.

+
+
Parameters:
+
+
robotcompas_fab.robots.Robot

The robot to be saved for use with PyBullet.

+
+
concavitybool

When False (the default), the mesh will be loaded as its +convex hull for collision checking purposes. When True, +a non-static mesh will be decomposed into convex parts using v-HACD.

+
+
+
+
Raises:
+
+
Exception

If geometry has not been loaded.

+
+
+
+
+
+ +
+ + +
+ + + +
+ +
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.check_collision_objects_for_collision.html b/latest/api/generated/compas_fab.backends.PyBulletClient.check_collision_objects_for_collision.html index 67a81cf1d..f8e722844 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.check_collision_objects_for_collision.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.check_collision_objects_for_collision.html @@ -60,7 +60,7 @@ - + @@ -623,7 +623,7 @@

PyBulletClient.check_collision_objects_for_collision

-PyBulletClient.check_collision_objects_for_collision()[source]
+PyBulletClient.check_collision_objects_for_collision()[source]

Checks whether any of the collision objects are colliding.

Raises:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.check_collision_with_objects.html b/latest/api/generated/compas_fab.backends.PyBulletClient.check_collision_with_objects.html index 690db0bda..ad26bf5f6 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.check_collision_with_objects.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.check_collision_with_objects.html @@ -623,7 +623,7 @@

PyBulletClient.check_collision_with_objects

-PyBulletClient.check_collision_with_objects(robot)[source]
+PyBulletClient.check_collision_with_objects(robot)[source]

Checks whether the robot and its attached collision objects with its current configuration is is colliding with any collision objects.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.check_collisions.html b/latest/api/generated/compas_fab.backends.PyBulletClient.check_collisions.html index aaa47a338..e3f97eab6 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.check_collisions.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.check_collisions.html @@ -623,7 +623,7 @@

PyBulletClient.check_collisions

-PyBulletClient.check_collisions(robot, configuration=None)[source]
+PyBulletClient.check_collisions(robot, configuration=None)[source]

Checks whether the current or given configuration is in collision.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.check_robot_self_collision.html b/latest/api/generated/compas_fab.backends.PyBulletClient.check_robot_self_collision.html index eedeaf44c..a6450f310 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.check_robot_self_collision.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.check_robot_self_collision.html @@ -623,7 +623,7 @@

PyBulletClient.check_robot_self_collision

-PyBulletClient.check_robot_self_collision(robot)[source]
+PyBulletClient.check_robot_self_collision(robot)[source]

Checks whether the robot and its attached collision objects with its current configuration is colliding with itself.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.connect.html b/latest/api/generated/compas_fab.backends.PyBulletClient.connect.html index 1223d731f..c7c5ad10e 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.connect.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.connect.html @@ -623,7 +623,7 @@

PyBulletClient.connect

-PyBulletClient.connect(shadows=True, color=None, width=None, height=None)[source]
+PyBulletClient.connect(shadows=True, color=None, width=None, height=None)[source]

Connect from the PyBullet server.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.convert_mesh_to_body.html b/latest/api/generated/compas_fab.backends.PyBulletClient.convert_mesh_to_body.html index 11bb07ce2..18e3e0dba 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.convert_mesh_to_body.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.convert_mesh_to_body.html @@ -59,7 +59,7 @@ - + @@ -623,7 +623,7 @@

PyBulletClient.convert_mesh_to_body

-PyBulletClient.convert_mesh_to_body(mesh, frame, _name=None, concavity=False, mass=0)[source]
+PyBulletClient.convert_mesh_to_body(mesh, frame, _name=None, concavity=False, mass=0)[source]

Convert compas mesh and its frame to a pybullet body.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.disconnect.html b/latest/api/generated/compas_fab.backends.PyBulletClient.disconnect.html index fa8f4cf7d..c788ab933 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.disconnect.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.disconnect.html @@ -623,7 +623,7 @@

PyBulletClient.disconnect

-PyBulletClient.disconnect()[source]
+PyBulletClient.disconnect()[source]

Disconnect from the PyBullet server.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model.html b/latest/api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model.html new file mode 100644 index 000000000..17e03bfb8 --- /dev/null +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model.html @@ -0,0 +1,709 @@ + + + + + + + + + + + + PyBulletClient.ensure_cached_robot_model — COMPAS FAB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + Ctrl+K +
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

PyBulletClient.ensure_cached_robot_model

+
+
+static PyBulletClient.ensure_cached_robot_model(robot)[source]
+

Checks if a compas_fab.robots.Robot has been cached for use with PyBullet.

+
+ +
+ + +
+ + + +
+ +
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model_geometry.html b/latest/api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model_geometry.html new file mode 100644 index 000000000..d20f8d04e --- /dev/null +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model_geometry.html @@ -0,0 +1,709 @@ + + + + + + + + + + + + PyBulletClient.ensure_cached_robot_model_geometry — COMPAS FAB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + Ctrl+K +
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

PyBulletClient.ensure_cached_robot_model_geometry

+
+
+static PyBulletClient.ensure_cached_robot_model_geometry(robot)[source]
+

Checks if the geometry of a compas_fab.robots.Robot has been cached for use with PyBullet.

+
+ +
+ + +
+ + + +
+ +
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.filter_configurations_in_collision.html b/latest/api/generated/compas_fab.backends.PyBulletClient.filter_configurations_in_collision.html index 920af66bd..0c296ee4a 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.filter_configurations_in_collision.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.filter_configurations_in_collision.html @@ -59,8 +59,8 @@ - - + + @@ -623,7 +623,7 @@

PyBulletClient.filter_configurations_in_collision

-PyBulletClient.filter_configurations_in_collision(robot, configurations)[source]
+PyBulletClient.filter_configurations_in_collision(robot, configurations)[source]

Filters from a list of configurations those which are in collision. Used for a custom inverse kinematics function.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.forward_kinematics.html b/latest/api/generated/compas_fab.backends.PyBulletClient.forward_kinematics.html index 88250953c..9006414d3 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.forward_kinematics.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.forward_kinematics.html @@ -623,7 +623,7 @@

PyBulletClient.forward_kinematics

-PyBulletClient.forward_kinematics(*args, **kwargs)[source]
+PyBulletClient.forward_kinematics(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_filepath.html b/latest/api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_filepath.html index 6930ab2c4..7f2b8cd14 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_filepath.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_filepath.html @@ -59,8 +59,8 @@ - - + + @@ -623,7 +623,7 @@

PyBulletClient.get_cached_robot_filepath

-PyBulletClient.get_cached_robot_filepath(robot)[source]
+PyBulletClient.get_cached_robot_filepath(robot)[source]

Returns the filepath of the editable copy of the robot’s model for shadowing the state of the robot on the PyBullet server.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_model.html b/latest/api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_model.html new file mode 100644 index 000000000..19748a59e --- /dev/null +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_model.html @@ -0,0 +1,729 @@ + + + + + + + + + + + + PyBulletClient.get_cached_robot_model — COMPAS FAB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + Ctrl+K +
+
+ + + +
+
+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+ +
+ + + + + + +
+ +
+ + +
+
+ + + + + +
+ +
+

PyBulletClient.get_cached_robot_model

+
+
+PyBulletClient.get_cached_robot_model(robot)[source]
+

Returns the editable copy of the robot’s model for shadowing the state +of the robot on the PyBullet server.

+
+
Parameters:
+
+
robotcompas_fab.robots.Robot

The robot saved for use with PyBullet.

+
+
+
+
Returns:
+
+
compas_robots.RobotModel
+
+
+
Raises:
+
+
Exception

If the robot has not been cached.

+
+
+
+
+
+ +
+ + +
+ + + +
+ +
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +
+ + +
+ + \ No newline at end of file diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.get_planning_scene.html b/latest/api/generated/compas_fab.backends.PyBulletClient.get_planning_scene.html index b98a9c49b..e7d4ec5f6 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.get_planning_scene.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.get_planning_scene.html @@ -623,7 +623,7 @@

PyBulletClient.get_planning_scene

-PyBulletClient.get_planning_scene(*args, **kwargs)[source]
+PyBulletClient.get_planning_scene(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.get_robot_configuration.html b/latest/api/generated/compas_fab.backends.PyBulletClient.get_robot_configuration.html index d41c2a255..e16b97fdc 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.get_robot_configuration.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.get_robot_configuration.html @@ -60,7 +60,7 @@ - + @@ -623,7 +623,7 @@

PyBulletClient.get_robot_configuration

-PyBulletClient.get_robot_configuration(robot)[source]
+PyBulletClient.get_robot_configuration(robot)[source]

Gets the robot’s current pose.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.get_uid.html b/latest/api/generated/compas_fab.backends.PyBulletClient.get_uid.html index d1ab335d8..2c6daa4a2 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.get_uid.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.get_uid.html @@ -623,13 +623,13 @@

PyBulletClient.get_uid

-PyBulletClient.get_uid(cached_robot)[source]
+PyBulletClient.get_uid(cached_robot_model)[source]

Returns the internal PyBullet id of the robot’s model for shadowing the state of the robot on the PyBullet server.

Parameters:
-
cached_robotcompas_robots.RobotModel

The robot model saved for use with PyBullet.

+
cached_robot_modelcompas_robots.RobotModel

The robot model saved for use with PyBullet.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.html b/latest/api/generated/compas_fab.backends.PyBulletClient.html index 1eb048005..5675247e7 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.html @@ -623,10 +623,10 @@

PyBulletClient

-class compas_fab.backends.PyBulletClient[source]
+class compas_fab.backends.PyBulletClient[source]

Bases: PyBulletBase, ClientInterface

Interface to use pybullet as backend.

-

compasfab.backends.PyBulletClient is a context manager type, so it’s best +

compas_fab.backends.PyBulletClient is a context manager type, so it’s best used in combination with the with statement to ensure resource deallocation.

Thanks to Yijiang Huang and his work in pybullet_planning for much inspiration.

@@ -653,7 +653,7 @@

PyBulletClient

- + @@ -671,21 +671,21 @@

PyBulletClient

- + - + - - - - + + + + diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.inverse_kinematics.html b/latest/api/generated/compas_fab.backends.PyBulletClient.inverse_kinematics.html index ac0965c9b..4bf173a8a 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.inverse_kinematics.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.inverse_kinematics.html @@ -623,7 +623,7 @@

PyBulletClient.inverse_kinematics

-PyBulletClient.inverse_kinematics(*args, **kwargs)[source]
+PyBulletClient.inverse_kinematics(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.load_robot.html b/latest/api/generated/compas_fab.backends.PyBulletClient.load_robot.html index f37a87fa2..78ca10612 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.load_robot.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.load_robot.html @@ -623,7 +623,7 @@

PyBulletClient.load_robot

-PyBulletClient.load_robot(urdf_file, resource_loaders=None, concavity=False, precision=None)[source]
+PyBulletClient.load_robot(urdf_file, resource_loaders=None, concavity=False, precision=None)[source]

Create a pybullet robot using the input urdf file.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.load_semantics.html b/latest/api/generated/compas_fab.backends.PyBulletClient.load_semantics.html index f4a878f07..581259a54 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.load_semantics.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.load_semantics.html @@ -623,7 +623,7 @@

PyBulletClient.load_semantics

-PyBulletClient.load_semantics(robot, srdf_filename)[source]
+PyBulletClient.load_semantics(robot, srdf_filename)[source]

Loads the semantic information of a robot.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.load_ur5.html b/latest/api/generated/compas_fab.backends.PyBulletClient.load_ur5.html index c798dd98a..82fb04689 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.load_ur5.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.load_ur5.html @@ -623,7 +623,7 @@

PyBulletClient.load_ur5

-PyBulletClient.load_ur5(load_geometry=False, concavity=False)[source]
+PyBulletClient.load_ur5(load_geometry=False, concavity=False)[source]

“Load a UR5 robot to PyBullet.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.plan_cartesian_motion.html b/latest/api/generated/compas_fab.backends.PyBulletClient.plan_cartesian_motion.html index 560f206b8..272370cd1 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.plan_cartesian_motion.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.plan_cartesian_motion.html @@ -623,7 +623,7 @@

PyBulletClient.plan_cartesian_motion

-PyBulletClient.plan_cartesian_motion(*args, **kwargs)[source]
+PyBulletClient.plan_cartesian_motion(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.plan_motion.html b/latest/api/generated/compas_fab.backends.PyBulletClient.plan_motion.html index 692468097..6616158c3 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.plan_motion.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.plan_motion.html @@ -623,7 +623,7 @@

PyBulletClient.plan_motion

-PyBulletClient.plan_motion(*args, **kwargs)[source]
+PyBulletClient.plan_motion(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.reload_from_cache.html b/latest/api/generated/compas_fab.backends.PyBulletClient.reload_from_cache.html index 3bc1343b2..37c9850d1 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.reload_from_cache.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.reload_from_cache.html @@ -623,7 +623,7 @@

PyBulletClient.reload_from_cache

-PyBulletClient.reload_from_cache(robot)[source]
+PyBulletClient.reload_from_cache(robot)[source]

Reloads the PyBullet server with the robot’s cached model.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.remove_attached_collision_mesh.html b/latest/api/generated/compas_fab.backends.PyBulletClient.remove_attached_collision_mesh.html index 6b006b6fb..3fc791e4c 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.remove_attached_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.remove_attached_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletClient.remove_attached_collision_mesh

-PyBulletClient.remove_attached_collision_mesh(*args, **kwargs)[source]
+PyBulletClient.remove_attached_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.remove_collision_mesh.html b/latest/api/generated/compas_fab.backends.PyBulletClient.remove_collision_mesh.html index c973188e9..5b143880c 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.remove_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.remove_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletClient.remove_collision_mesh

-PyBulletClient.remove_collision_mesh(*args, **kwargs)[source]
+PyBulletClient.remove_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.reset_planning_scene.html b/latest/api/generated/compas_fab.backends.PyBulletClient.reset_planning_scene.html index 6cab49126..abf6a35ad 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.reset_planning_scene.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.reset_planning_scene.html @@ -623,7 +623,7 @@

PyBulletClient.reset_planning_scene

-PyBulletClient.reset_planning_scene(*args, **kwargs)[source]
+PyBulletClient.reset_planning_scene(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.set_robot_configuration.html b/latest/api/generated/compas_fab.backends.PyBulletClient.set_robot_configuration.html index db0ed4622..7a8b51545 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.set_robot_configuration.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.set_robot_configuration.html @@ -623,7 +623,7 @@

PyBulletClient.set_robot_configuration

-PyBulletClient.set_robot_configuration(robot, configuration, group=None)[source]
+PyBulletClient.set_robot_configuration(robot, configuration, group=None)[source]

Sets the robot’s pose to the given configuration. Should be followed by step_simulation for visualization purposes.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletClient.step_simulation.html b/latest/api/generated/compas_fab.backends.PyBulletClient.step_simulation.html index c854d5f5f..a7510d90a 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletClient.step_simulation.html +++ b/latest/api/generated/compas_fab.backends.PyBulletClient.step_simulation.html @@ -623,7 +623,7 @@

PyBulletClient.step_simulation

-PyBulletClient.step_simulation()[source]
+PyBulletClient.step_simulation()[source]

By default, the physics server will not step the simulation, unless you explicitly send a step_simulation command. This method will perform all the actions in a single forward dynamics diff --git a/latest/api/generated/compas_fab.backends.PyBulletError.html b/latest/api/generated/compas_fab.backends.PyBulletError.html index 338f058a3..7127f151d 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletError.html +++ b/latest/api/generated/compas_fab.backends.PyBulletError.html @@ -623,7 +623,7 @@

PyBulletError

-exception compas_fab.backends.PyBulletError[source]
+exception compas_fab.backends.PyBulletError[source]

Bases: BackendError

Base case for exceptions in compas_fab.backends.pybullet.

diff --git a/latest/api/generated/compas_fab.backends.PyBulletPlanner.add_attached_collision_mesh.html b/latest/api/generated/compas_fab.backends.PyBulletPlanner.add_attached_collision_mesh.html index c17c49def..3a28e8508 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletPlanner.add_attached_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.PyBulletPlanner.add_attached_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletPlanner.add_attached_collision_mesh

-PyBulletPlanner.add_attached_collision_mesh(attached_collision_mesh, options=None)[source]
+PyBulletPlanner.add_attached_collision_mesh(attached_collision_mesh, options=None)[source]

Add a collision mesh and attach it to the robot.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletPlanner.add_collision_mesh.html b/latest/api/generated/compas_fab.backends.PyBulletPlanner.add_collision_mesh.html index fd69e91cc..783ff34bf 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletPlanner.add_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.PyBulletPlanner.add_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletPlanner.add_collision_mesh

-PyBulletPlanner.add_collision_mesh(collision_mesh, options=None)[source]
+PyBulletPlanner.add_collision_mesh(collision_mesh, options=None)[source]

Add a collision mesh to the planning scene.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletPlanner.append_collision_mesh.html b/latest/api/generated/compas_fab.backends.PyBulletPlanner.append_collision_mesh.html index bb62f6387..1267bbded 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletPlanner.append_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.PyBulletPlanner.append_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletPlanner.append_collision_mesh

-PyBulletPlanner.append_collision_mesh(collision_mesh, options=None)[source]
+PyBulletPlanner.append_collision_mesh(collision_mesh, options=None)[source]

Append a collision mesh to the planning scene.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletPlanner.forward_kinematics.html b/latest/api/generated/compas_fab.backends.PyBulletPlanner.forward_kinematics.html index 962933694..171c74b5c 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletPlanner.forward_kinematics.html +++ b/latest/api/generated/compas_fab.backends.PyBulletPlanner.forward_kinematics.html @@ -623,7 +623,7 @@

PyBulletPlanner.forward_kinematics

-PyBulletPlanner.forward_kinematics(robot, configuration, group=None, options=None)[source]
+PyBulletPlanner.forward_kinematics(robot, configuration, group=None, options=None)[source]

Calculate the robot’s forward kinematic.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletPlanner.get_planning_scene.html b/latest/api/generated/compas_fab.backends.PyBulletPlanner.get_planning_scene.html index c77e29df7..591a41569 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletPlanner.get_planning_scene.html +++ b/latest/api/generated/compas_fab.backends.PyBulletPlanner.get_planning_scene.html @@ -623,7 +623,7 @@

PyBulletPlanner.get_planning_scene

-PyBulletPlanner.get_planning_scene(*args, **kwargs)[source]
+PyBulletPlanner.get_planning_scene(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletPlanner.html b/latest/api/generated/compas_fab.backends.PyBulletPlanner.html index db94a6d4d..8c73b56d4 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletPlanner.html +++ b/latest/api/generated/compas_fab.backends.PyBulletPlanner.html @@ -623,7 +623,7 @@

PyBulletPlanner

-class compas_fab.backends.PyBulletPlanner[source]
+class compas_fab.backends.PyBulletPlanner[source]

Bases: PyBulletAddAttachedCollisionMesh, PyBulletAddCollisionMesh, PyBulletAppendCollisionMesh, PyBulletRemoveCollisionMesh, PyBulletRemoveAttachedCollisionMesh, PyBulletForwardKinematics, PyBulletInverseKinematics, PlannerInterface

Implement the planner backend interface for PyBullet.

Inherited Methods

diff --git a/latest/api/generated/compas_fab.backends.PyBulletPlanner.inverse_kinematics.html b/latest/api/generated/compas_fab.backends.PyBulletPlanner.inverse_kinematics.html index f9856c71a..51c16856c 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletPlanner.inverse_kinematics.html +++ b/latest/api/generated/compas_fab.backends.PyBulletPlanner.inverse_kinematics.html @@ -623,7 +623,7 @@

PyBulletPlanner.inverse_kinematics

-PyBulletPlanner.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]
+PyBulletPlanner.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]

Calculate the robot’s inverse kinematic for a given frame.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletPlanner.plan_cartesian_motion.html b/latest/api/generated/compas_fab.backends.PyBulletPlanner.plan_cartesian_motion.html index 76d7ee8f8..0b94517b3 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletPlanner.plan_cartesian_motion.html +++ b/latest/api/generated/compas_fab.backends.PyBulletPlanner.plan_cartesian_motion.html @@ -623,7 +623,7 @@

PyBulletPlanner.plan_cartesian_motion

-PyBulletPlanner.plan_cartesian_motion(*args, **kwargs)[source]
+PyBulletPlanner.plan_cartesian_motion(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletPlanner.plan_motion.html b/latest/api/generated/compas_fab.backends.PyBulletPlanner.plan_motion.html index 2c3a99059..0ffce4a15 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletPlanner.plan_motion.html +++ b/latest/api/generated/compas_fab.backends.PyBulletPlanner.plan_motion.html @@ -623,7 +623,7 @@

PyBulletPlanner.plan_motion

-PyBulletPlanner.plan_motion(*args, **kwargs)[source]
+PyBulletPlanner.plan_motion(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletPlanner.remove_attached_collision_mesh.html b/latest/api/generated/compas_fab.backends.PyBulletPlanner.remove_attached_collision_mesh.html index deefd0476..50fea52db 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletPlanner.remove_attached_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.PyBulletPlanner.remove_attached_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletPlanner.remove_attached_collision_mesh

-PyBulletPlanner.remove_attached_collision_mesh(id, options=None)[source]
+PyBulletPlanner.remove_attached_collision_mesh(id, options=None)[source]

Remove an attached collision mesh from the robot.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletPlanner.remove_collision_mesh.html b/latest/api/generated/compas_fab.backends.PyBulletPlanner.remove_collision_mesh.html index 0ee75bec5..8d265d290 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletPlanner.remove_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.PyBulletPlanner.remove_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletPlanner.remove_collision_mesh

-PyBulletPlanner.remove_collision_mesh(id, options=None)[source]
+PyBulletPlanner.remove_collision_mesh(id, options=None)[source]

Remove a collision mesh from the planning scene.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.PyBulletPlanner.reset_planning_scene.html b/latest/api/generated/compas_fab.backends.PyBulletPlanner.reset_planning_scene.html index fff04c44c..3e96cecf6 100644 --- a/latest/api/generated/compas_fab.backends.PyBulletPlanner.reset_planning_scene.html +++ b/latest/api/generated/compas_fab.backends.PyBulletPlanner.reset_planning_scene.html @@ -623,7 +623,7 @@

PyBulletPlanner.reset_planning_scene

-PyBulletPlanner.reset_planning_scene(*args, **kwargs)[source]
+PyBulletPlanner.reset_planning_scene(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/api/generated/compas_fab.backends.RosClient.add_attached_collision_mesh.html b/latest/api/generated/compas_fab.backends.RosClient.add_attached_collision_mesh.html index c6a8863b0..72a843cf5 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.add_attached_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.RosClient.add_attached_collision_mesh.html @@ -623,7 +623,7 @@

RosClient.add_attached_collision_mesh

-RosClient.add_attached_collision_mesh(*args, **kwargs)[source]
+RosClient.add_attached_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.add_collision_mesh.html b/latest/api/generated/compas_fab.backends.RosClient.add_collision_mesh.html index 6781e5f33..0783446c2 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.add_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.RosClient.add_collision_mesh.html @@ -623,7 +623,7 @@

RosClient.add_collision_mesh

-RosClient.add_collision_mesh(*args, **kwargs)[source]
+RosClient.add_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.append_collision_mesh.html b/latest/api/generated/compas_fab.backends.RosClient.append_collision_mesh.html index fc1575254..eb52238c7 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.append_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.RosClient.append_collision_mesh.html @@ -623,7 +623,7 @@

RosClient.append_collision_mesh

-RosClient.append_collision_mesh(*args, **kwargs)[source]
+RosClient.append_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.authenticate.html b/latest/api/generated/compas_fab.backends.RosClient.authenticate.html index 4c7909949..a79ae261b 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.authenticate.html +++ b/latest/api/generated/compas_fab.backends.RosClient.authenticate.html @@ -623,7 +623,7 @@

RosClient.authenticate

-RosClient.authenticate(mac, client, dest, rand, t, level, end)[source]
+RosClient.authenticate(mac, client, dest, rand, t, level, end)[source]

Sends an authorization request to the server.

Note:

Sends authentication on connection.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.blocking_call_from_thread.html b/latest/api/generated/compas_fab.backends.RosClient.blocking_call_from_thread.html index b62d2ed04..bd24b106c 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.blocking_call_from_thread.html +++ b/latest/api/generated/compas_fab.backends.RosClient.blocking_call_from_thread.html @@ -623,7 +623,7 @@

RosClient.blocking_call_from_thread

-RosClient.blocking_call_from_thread(callback, timeout)[source]
+RosClient.blocking_call_from_thread(callback, timeout)[source]

Call the given function from a thread, and wait for the result synchronously for as long as the timeout will allow.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.call_async_service.html b/latest/api/generated/compas_fab.backends.RosClient.call_async_service.html index bb0972366..b0967a1dc 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.call_async_service.html +++ b/latest/api/generated/compas_fab.backends.RosClient.call_async_service.html @@ -623,7 +623,7 @@

RosClient.call_async_service

-RosClient.call_async_service(message, callback, errback)[source]
+RosClient.call_async_service(message, callback, errback)[source]

Send a service request to ROS once the connection is established.

If a connection to ROS is already available, the request is sent immediately.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.call_in_thread.html b/latest/api/generated/compas_fab.backends.RosClient.call_in_thread.html index afad7035a..6cf0bebe9 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.call_in_thread.html +++ b/latest/api/generated/compas_fab.backends.RosClient.call_in_thread.html @@ -623,7 +623,7 @@

RosClient.call_in_thread

-RosClient.call_in_thread(callback)[source]
+RosClient.call_in_thread(callback)[source]

Call the given function in a thread.

The threading implementation is deferred to the factory.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.call_later.html b/latest/api/generated/compas_fab.backends.RosClient.call_later.html index 5eb7f5136..4fd184ef3 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.call_later.html +++ b/latest/api/generated/compas_fab.backends.RosClient.call_later.html @@ -623,7 +623,7 @@

RosClient.call_later

-RosClient.call_later(delay, callback)[source]
+RosClient.call_later(delay, callback)[source]

Call the given function after a certain period of time has passed.

Args:

delay (int): Number of seconds to wait before invoking the callback. diff --git a/latest/api/generated/compas_fab.backends.RosClient.call_sync_service.html b/latest/api/generated/compas_fab.backends.RosClient.call_sync_service.html index 29a5cc73c..ee6b3726a 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.call_sync_service.html +++ b/latest/api/generated/compas_fab.backends.RosClient.call_sync_service.html @@ -623,7 +623,7 @@

RosClient.call_sync_service

-RosClient.call_sync_service(message, timeout)[source]
+RosClient.call_sync_service(message, timeout)[source]

Send a blocking service request to ROS once the connection is established, waiting for the result to be return.

If a connection to ROS is already available, the request is sent immediately.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.close.html b/latest/api/generated/compas_fab.backends.RosClient.close.html index d1d2169dd..8530e8447 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.close.html +++ b/latest/api/generated/compas_fab.backends.RosClient.close.html @@ -623,7 +623,7 @@

RosClient.close

-RosClient.close(timeout=10)[source]
+RosClient.close(timeout=10)[source]

Disconnect from ROS.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.connect.html b/latest/api/generated/compas_fab.backends.RosClient.connect.html index 8b2b20a70..b2e6cb066 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.connect.html +++ b/latest/api/generated/compas_fab.backends.RosClient.connect.html @@ -623,7 +623,7 @@

RosClient.connect

-RosClient.connect()[source]
+RosClient.connect()[source]

Connect to ROS.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.delete_param.html b/latest/api/generated/compas_fab.backends.RosClient.delete_param.html index 30361c8ce..6932bb1eb 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.delete_param.html +++ b/latest/api/generated/compas_fab.backends.RosClient.delete_param.html @@ -623,7 +623,7 @@

RosClient.delete_param

-RosClient.delete_param(name, callback=None, errback=None)[source]
+RosClient.delete_param(name, callback=None, errback=None)[source]

Delete parameter from the ROS Parameter Server.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.emit.html b/latest/api/generated/compas_fab.backends.RosClient.emit.html index 178d9519c..16728a1e7 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.emit.html +++ b/latest/api/generated/compas_fab.backends.RosClient.emit.html @@ -623,7 +623,7 @@

RosClient.emit

-RosClient.emit(event_name, *args)[source]
+RosClient.emit(event_name, *args)[source]

Trigger a named event.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.execute_joint_trajectory.html b/latest/api/generated/compas_fab.backends.RosClient.execute_joint_trajectory.html index e90b294da..7716a2574 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.execute_joint_trajectory.html +++ b/latest/api/generated/compas_fab.backends.RosClient.execute_joint_trajectory.html @@ -623,7 +623,7 @@

RosClient.execute_joint_trajectory

-RosClient.execute_joint_trajectory(joint_trajectory, action_name='/execute_trajectory', callback=None, errback=None, feedback_callback=None, timeout=60000)[source]
+RosClient.execute_joint_trajectory(joint_trajectory, action_name='/execute_trajectory', callback=None, errback=None, feedback_callback=None, timeout=60000)[source]

Execute a joint trajectory via the MoveIt infrastructure.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.RosClient.follow_configurations.html b/latest/api/generated/compas_fab.backends.RosClient.follow_configurations.html index d39c9542c..aa2eceafa 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.follow_configurations.html +++ b/latest/api/generated/compas_fab.backends.RosClient.follow_configurations.html @@ -623,7 +623,7 @@

RosClient.follow_configurations

-RosClient.follow_configurations(callback, joint_names, configurations, timesteps, timeout=60000)[source]
+RosClient.follow_configurations(callback, joint_names, configurations, timesteps, timeout=60000)[source]
diff --git a/latest/api/generated/compas_fab.backends.RosClient.follow_joint_trajectory.html b/latest/api/generated/compas_fab.backends.RosClient.follow_joint_trajectory.html index 76d07adee..69e6af462 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.follow_joint_trajectory.html +++ b/latest/api/generated/compas_fab.backends.RosClient.follow_joint_trajectory.html @@ -623,7 +623,7 @@

RosClient.follow_joint_trajectory

-RosClient.follow_joint_trajectory(joint_trajectory, action_name='/joint_trajectory_action', callback=None, errback=None, feedback_callback=None, timeout=60000)[source]
+RosClient.follow_joint_trajectory(joint_trajectory, action_name='/joint_trajectory_action', callback=None, errback=None, feedback_callback=None, timeout=60000)[source]

Follow the joint trajectory as computed by MoveIt planner.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.RosClient.forward_kinematics.html b/latest/api/generated/compas_fab.backends.RosClient.forward_kinematics.html index 5d3097c6f..54e62e850 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.forward_kinematics.html +++ b/latest/api/generated/compas_fab.backends.RosClient.forward_kinematics.html @@ -623,7 +623,7 @@

RosClient.forward_kinematics

-RosClient.forward_kinematics(*args, **kwargs)[source]
+RosClient.forward_kinematics(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_action_servers.html b/latest/api/generated/compas_fab.backends.RosClient.get_action_servers.html index 9a6a7ef9b..310608b6a 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_action_servers.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_action_servers.html @@ -623,7 +623,7 @@

RosClient.get_action_servers

-RosClient.get_action_servers(callback, errback=None)[source]
+RosClient.get_action_servers(callback, errback=None)[source]

Retrieve list of action servers in ROS.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_configuration.html b/latest/api/generated/compas_fab.backends.RosClient.get_configuration.html index 8818daca9..9201eebd3 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_configuration.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_configuration.html @@ -623,7 +623,7 @@

RosClient.get_configuration

-RosClient.get_configuration()[source]
+RosClient.get_configuration()[source]
diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_message_details.html b/latest/api/generated/compas_fab.backends.RosClient.get_message_details.html index d045be331..49d6c9cb4 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_message_details.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_message_details.html @@ -623,7 +623,7 @@

RosClient.get_message_details

-RosClient.get_message_details(message_type, callback=None, errback=None)[source]
+RosClient.get_message_details(message_type, callback=None, errback=None)[source]

Retrieve details of a message type in ROS.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_node_details.html b/latest/api/generated/compas_fab.backends.RosClient.get_node_details.html index ca31cef47..a7fa5d7fb 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_node_details.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_node_details.html @@ -623,7 +623,7 @@

RosClient.get_node_details

-RosClient.get_node_details(node, callback=None, errback=None)[source]
+RosClient.get_node_details(node, callback=None, errback=None)[source]

Retrieve list subscribed topics, publishing topics and services of a specific node name.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_nodes.html b/latest/api/generated/compas_fab.backends.RosClient.get_nodes.html index aac89189d..a87ac0203 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_nodes.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_nodes.html @@ -623,7 +623,7 @@

RosClient.get_nodes

-RosClient.get_nodes(callback=None, errback=None)[source]
+RosClient.get_nodes(callback=None, errback=None)[source]

Retrieve list of active node names in ROS.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_param.html b/latest/api/generated/compas_fab.backends.RosClient.get_param.html index c174db2f7..1b95170a9 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_param.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_param.html @@ -623,7 +623,7 @@

RosClient.get_param

-RosClient.get_param(name, callback=None, errback=None)[source]
+RosClient.get_param(name, callback=None, errback=None)[source]

Get the value of a parameter from the ROS Parameter Server.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_params.html b/latest/api/generated/compas_fab.backends.RosClient.get_params.html index 4adc6cb50..27d16041b 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_params.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_params.html @@ -623,7 +623,7 @@

RosClient.get_params

-RosClient.get_params(callback=None, errback=None)[source]
+RosClient.get_params(callback=None, errback=None)[source]

Retrieve list of param names from the ROS Parameter Server.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_planning_scene.html b/latest/api/generated/compas_fab.backends.RosClient.get_planning_scene.html index f5948bcc3..48a3a1a4e 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_planning_scene.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_planning_scene.html @@ -623,7 +623,7 @@

RosClient.get_planning_scene

-RosClient.get_planning_scene(*args, **kwargs)[source]
+RosClient.get_planning_scene(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_service_request_callback.html b/latest/api/generated/compas_fab.backends.RosClient.get_service_request_callback.html index 482fdfe60..ee0b4ce2d 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_service_request_callback.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_service_request_callback.html @@ -623,7 +623,7 @@

RosClient.get_service_request_callback

-RosClient.get_service_request_callback(message)[source]
+RosClient.get_service_request_callback(message)[source]

Get the callback which, when called, sends the service request.

Args:

message (Message): ROS Bridge Message containing the request.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_service_request_details.html b/latest/api/generated/compas_fab.backends.RosClient.get_service_request_details.html index 85b22f5d1..8ccb76846 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_service_request_details.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_service_request_details.html @@ -623,7 +623,7 @@

RosClient.get_service_request_details

-RosClient.get_service_request_details(type, callback=None, errback=None)[source]
+RosClient.get_service_request_details(type, callback=None, errback=None)[source]

Retrieve details of a ROS Service Request.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_service_response_details.html b/latest/api/generated/compas_fab.backends.RosClient.get_service_response_details.html index c34d508bc..7aed755e8 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_service_response_details.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_service_response_details.html @@ -623,7 +623,7 @@

RosClient.get_service_response_details

-RosClient.get_service_response_details(type, callback=None, errback=None)[source]
+RosClient.get_service_response_details(type, callback=None, errback=None)[source]

Retrieve details of a ROS Service Response.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_service_type.html b/latest/api/generated/compas_fab.backends.RosClient.get_service_type.html index a1adb9495..d8df4c2a3 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_service_type.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_service_type.html @@ -623,7 +623,7 @@

RosClient.get_service_type

-RosClient.get_service_type(service_name, callback=None, errback=None)[source]
+RosClient.get_service_type(service_name, callback=None, errback=None)[source]

Retrieve the type of a service in ROS.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_services.html b/latest/api/generated/compas_fab.backends.RosClient.get_services.html index 02e4d807d..b78718353 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_services.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_services.html @@ -623,7 +623,7 @@

RosClient.get_services

-RosClient.get_services(callback=None, errback=None)[source]
+RosClient.get_services(callback=None, errback=None)[source]

Retrieve list of active service names in ROS.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_services_for_type.html b/latest/api/generated/compas_fab.backends.RosClient.get_services_for_type.html index 7dd57a7fb..12d133ce7 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_services_for_type.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_services_for_type.html @@ -623,7 +623,7 @@

RosClient.get_services_for_type

-RosClient.get_services_for_type(service_type, callback=None, errback=None)[source]
+RosClient.get_services_for_type(service_type, callback=None, errback=None)[source]

Retrieve list of services in ROS matching the specified type.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_time.html b/latest/api/generated/compas_fab.backends.RosClient.get_time.html index 16091f23b..2b03b9845 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_time.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_time.html @@ -623,7 +623,7 @@

RosClient.get_time

-RosClient.get_time(callback=None, errback=None)[source]
+RosClient.get_time(callback=None, errback=None)[source]

Retrieve the current ROS time.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_topic_type.html b/latest/api/generated/compas_fab.backends.RosClient.get_topic_type.html index 448497ab5..471a13506 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_topic_type.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_topic_type.html @@ -623,7 +623,7 @@

RosClient.get_topic_type

-RosClient.get_topic_type(topic, callback=None, errback=None)[source]
+RosClient.get_topic_type(topic, callback=None, errback=None)[source]

Retrieve the type of a topic in ROS.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_topics.html b/latest/api/generated/compas_fab.backends.RosClient.get_topics.html index eb60b3ce9..a93a1a5f0 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_topics.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_topics.html @@ -623,7 +623,7 @@

RosClient.get_topics

-RosClient.get_topics(callback=None, errback=None)[source]
+RosClient.get_topics(callback=None, errback=None)[source]

Retrieve list of topics in ROS.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.get_topics_for_type.html b/latest/api/generated/compas_fab.backends.RosClient.get_topics_for_type.html index 5f0d9dfae..4af80e684 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.get_topics_for_type.html +++ b/latest/api/generated/compas_fab.backends.RosClient.get_topics_for_type.html @@ -623,7 +623,7 @@

RosClient.get_topics_for_type

-RosClient.get_topics_for_type(topic_type, callback=None, errback=None)[source]
+RosClient.get_topics_for_type(topic_type, callback=None, errback=None)[source]

Retrieve list of topics in ROS matching the specified type.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.html b/latest/api/generated/compas_fab.backends.RosClient.html index 075207916..35b04bc02 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.html +++ b/latest/api/generated/compas_fab.backends.RosClient.html @@ -623,7 +623,7 @@

RosClient

-class compas_fab.backends.RosClient[source]
+class compas_fab.backends.RosClient[source]

Bases: Ros, ClientInterface

Interface to use ROS as backend via the rosbridge.

The connection is managed by roslibpy.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.inverse_kinematics.html b/latest/api/generated/compas_fab.backends.RosClient.inverse_kinematics.html index 38f5c8f3d..d64ee96e8 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.inverse_kinematics.html +++ b/latest/api/generated/compas_fab.backends.RosClient.inverse_kinematics.html @@ -623,7 +623,7 @@

RosClient.inverse_kinematics

-RosClient.inverse_kinematics(*args, **kwargs)[source]
+RosClient.inverse_kinematics(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.load_robot.html b/latest/api/generated/compas_fab.backends.RosClient.load_robot.html index c77bc8c69..5cc2f57c0 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.load_robot.html +++ b/latest/api/generated/compas_fab.backends.RosClient.load_robot.html @@ -623,7 +623,7 @@

RosClient.load_robot

-RosClient.load_robot(load_geometry=False, urdf_param_name='/robot_description', srdf_param_name='/robot_description_semantic', precision=None, local_cache_directory=None)[source]
+RosClient.load_robot(load_geometry=False, urdf_param_name='/robot_description', srdf_param_name='/robot_description_semantic', precision=None, local_cache_directory=None)[source]

Load an entire robot instance -including model and semantics- directly from ROS.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.RosClient.off.html b/latest/api/generated/compas_fab.backends.RosClient.off.html index 2d3e50749..427191130 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.off.html +++ b/latest/api/generated/compas_fab.backends.RosClient.off.html @@ -623,7 +623,7 @@

RosClient.off

-RosClient.off(event_name, callback=None)[source]
+RosClient.off(event_name, callback=None)[source]

Remove a callback from an arbitrary named event.

Args:

event_name (str): Name of the event from which to unsubscribe. diff --git a/latest/api/generated/compas_fab.backends.RosClient.on.html b/latest/api/generated/compas_fab.backends.RosClient.on.html index 0764b2345..533366e56 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.on.html +++ b/latest/api/generated/compas_fab.backends.RosClient.on.html @@ -623,7 +623,7 @@

RosClient.on

-RosClient.on(event_name, callback)[source]
+RosClient.on(event_name, callback)[source]

Add a callback to an arbitrary named event.

Args:

event_name (str): Name of the event to which to subscribe. diff --git a/latest/api/generated/compas_fab.backends.RosClient.on_ready.html b/latest/api/generated/compas_fab.backends.RosClient.on_ready.html index a585af409..06d76472b 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.on_ready.html +++ b/latest/api/generated/compas_fab.backends.RosClient.on_ready.html @@ -623,7 +623,7 @@

RosClient.on_ready

-RosClient.on_ready(callback, run_in_thread=True)[source]
+RosClient.on_ready(callback, run_in_thread=True)[source]

Add a callback to be executed when the connection is established.

If a connection to ROS is already available, the callback is executed immediately.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.plan_cartesian_motion.html b/latest/api/generated/compas_fab.backends.RosClient.plan_cartesian_motion.html index 6c4a1e008..1ba3cedcc 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.plan_cartesian_motion.html +++ b/latest/api/generated/compas_fab.backends.RosClient.plan_cartesian_motion.html @@ -623,7 +623,7 @@

RosClient.plan_cartesian_motion

-RosClient.plan_cartesian_motion(*args, **kwargs)[source]
+RosClient.plan_cartesian_motion(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.plan_motion.html b/latest/api/generated/compas_fab.backends.RosClient.plan_motion.html index 7e88e424e..b5309007d 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.plan_motion.html +++ b/latest/api/generated/compas_fab.backends.RosClient.plan_motion.html @@ -623,7 +623,7 @@

RosClient.plan_motion

-RosClient.plan_motion(*args, **kwargs)[source]
+RosClient.plan_motion(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.remove_attached_collision_mesh.html b/latest/api/generated/compas_fab.backends.RosClient.remove_attached_collision_mesh.html index 63cca9e9e..d5c9dc0b6 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.remove_attached_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.RosClient.remove_attached_collision_mesh.html @@ -623,7 +623,7 @@

RosClient.remove_attached_collision_mesh

-RosClient.remove_attached_collision_mesh(*args, **kwargs)[source]
+RosClient.remove_attached_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.remove_collision_mesh.html b/latest/api/generated/compas_fab.backends.RosClient.remove_collision_mesh.html index aa1f91fb5..eafc9bd44 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.remove_collision_mesh.html +++ b/latest/api/generated/compas_fab.backends.RosClient.remove_collision_mesh.html @@ -623,7 +623,7 @@

RosClient.remove_collision_mesh

-RosClient.remove_collision_mesh(*args, **kwargs)[source]
+RosClient.remove_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.reset_planning_scene.html b/latest/api/generated/compas_fab.backends.RosClient.reset_planning_scene.html index fd3856a47..920223067 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.reset_planning_scene.html +++ b/latest/api/generated/compas_fab.backends.RosClient.reset_planning_scene.html @@ -623,7 +623,7 @@

RosClient.reset_planning_scene

-RosClient.reset_planning_scene(*args, **kwargs)[source]
+RosClient.reset_planning_scene(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.run.html b/latest/api/generated/compas_fab.backends.RosClient.run.html index ff783b162..458cd36cb 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.run.html +++ b/latest/api/generated/compas_fab.backends.RosClient.run.html @@ -623,7 +623,7 @@

RosClient.run

-RosClient.run(timeout=10)[source]
+RosClient.run(timeout=10)[source]

Kick-starts a non-blocking event loop.

Args:

timeout: Timeout to wait until connection is ready.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.run_event_loop.html b/latest/api/generated/compas_fab.backends.RosClient.run_event_loop.html index 9fb65eb0e..99cd35c65 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.run_event_loop.html +++ b/latest/api/generated/compas_fab.backends.RosClient.run_event_loop.html @@ -623,7 +623,7 @@

RosClient.run_event_loop

-RosClient.run_event_loop()[source]
+RosClient.run_event_loop()[source]
diff --git a/latest/api/generated/compas_fab.backends.RosClient.run_forever.html b/latest/api/generated/compas_fab.backends.RosClient.run_forever.html index fd8927930..f20a712fd 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.run_forever.html +++ b/latest/api/generated/compas_fab.backends.RosClient.run_forever.html @@ -623,7 +623,7 @@

RosClient.run_forever

-RosClient.run_forever()[source]
+RosClient.run_forever()[source]

Kick-starts a blocking loop to wait for events.

Depending on the implementations, and the client applications, running this might be required or not.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.send_on_ready.html b/latest/api/generated/compas_fab.backends.RosClient.send_on_ready.html index cc6fe9876..030e52f10 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.send_on_ready.html +++ b/latest/api/generated/compas_fab.backends.RosClient.send_on_ready.html @@ -623,7 +623,7 @@

RosClient.send_on_ready

-RosClient.send_on_ready(message)[source]
+RosClient.send_on_ready(message)[source]

Send message to ROS once the connection is established.

If a connection to ROS is already available, the message is sent immediately.

diff --git a/latest/api/generated/compas_fab.backends.RosClient.set_param.html b/latest/api/generated/compas_fab.backends.RosClient.set_param.html index 20945cbca..ec62ebca4 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.set_param.html +++ b/latest/api/generated/compas_fab.backends.RosClient.set_param.html @@ -623,7 +623,7 @@

RosClient.set_param

-RosClient.set_param(name, value, callback=None, errback=None)[source]
+RosClient.set_param(name, value, callback=None, errback=None)[source]

Set the value of a parameter from the ROS Parameter Server.

Note:

To make this a blocking call, pass None to the callback parameter .

diff --git a/latest/api/generated/compas_fab.backends.RosClient.set_status_level.html b/latest/api/generated/compas_fab.backends.RosClient.set_status_level.html index d9743a50c..f698565d0 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.set_status_level.html +++ b/latest/api/generated/compas_fab.backends.RosClient.set_status_level.html @@ -623,7 +623,7 @@

RosClient.set_status_level

-RosClient.set_status_level(level, identifier)[source]
+RosClient.set_status_level(level, identifier)[source]
diff --git a/latest/api/generated/compas_fab.backends.RosClient.terminate.html b/latest/api/generated/compas_fab.backends.RosClient.terminate.html index 469499ccc..ecb3ed2bf 100644 --- a/latest/api/generated/compas_fab.backends.RosClient.terminate.html +++ b/latest/api/generated/compas_fab.backends.RosClient.terminate.html @@ -623,7 +623,7 @@

RosClient.terminate

-RosClient.terminate()[source]
+RosClient.terminate()[source]

Signals the termination of the main event loop.

diff --git a/latest/api/generated/compas_fab.backends.RosError.html b/latest/api/generated/compas_fab.backends.RosError.html index d65798894..284322dba 100644 --- a/latest/api/generated/compas_fab.backends.RosError.html +++ b/latest/api/generated/compas_fab.backends.RosError.html @@ -623,7 +623,7 @@

RosError

-exception compas_fab.backends.RosError[source]
+exception compas_fab.backends.RosError[source]

Bases: BackendError

Wraps an exception that occurred on the communication with ROS.

diff --git a/latest/api/generated/compas_fab.backends.RosFileServerLoader.can_load_mesh.html b/latest/api/generated/compas_fab.backends.RosFileServerLoader.can_load_mesh.html index 6c533b639..a35f3678a 100644 --- a/latest/api/generated/compas_fab.backends.RosFileServerLoader.can_load_mesh.html +++ b/latest/api/generated/compas_fab.backends.RosFileServerLoader.can_load_mesh.html @@ -623,7 +623,7 @@

RosFileServerLoader.can_load_mesh

-RosFileServerLoader.can_load_mesh(url)[source]
+RosFileServerLoader.can_load_mesh(url)[source]

Determine whether this loader can load a given mesh URL.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.RosFileServerLoader.html b/latest/api/generated/compas_fab.backends.RosFileServerLoader.html index dd882c8e0..008d99564 100644 --- a/latest/api/generated/compas_fab.backends.RosFileServerLoader.html +++ b/latest/api/generated/compas_fab.backends.RosFileServerLoader.html @@ -623,7 +623,7 @@

RosFileServerLoader

-class compas_fab.backends.RosFileServerLoader[source]
+class compas_fab.backends.RosFileServerLoader[source]

Bases: object

Allows to retrieve the mesh files specified in the robot model from the ROS File Server. Optionally, it stores them on the local file system, diff --git a/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_mesh.html b/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_mesh.html index 8ed336cd7..a4b2e89c3 100644 --- a/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_mesh.html +++ b/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_mesh.html @@ -623,7 +623,7 @@

RosFileServerLoader.load_mesh

-RosFileServerLoader.load_mesh(url)[source]
+RosFileServerLoader.load_mesh(url)[source]

Load the mesh from the given URL.

Deprecated since version 0.23: Use load_meshes() instead.

diff --git a/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_meshes.html b/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_meshes.html index defb0bdd8..1107ec5e9 100644 --- a/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_meshes.html +++ b/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_meshes.html @@ -623,7 +623,7 @@

RosFileServerLoader.load_meshes

-RosFileServerLoader.load_meshes(url, precision=None)[source]
+RosFileServerLoader.load_meshes(url, precision=None)[source]

Load meshes from the given URL in the ROS file server.

A single mesh url can contain multiple meshes depending on the format.

diff --git a/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_srdf.html b/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_srdf.html index 0546f95d1..699c882ac 100644 --- a/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_srdf.html +++ b/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_srdf.html @@ -623,7 +623,7 @@

RosFileServerLoader.load_srdf

-RosFileServerLoader.load_srdf(parameter_name='/robot_description_semantic')[source]
+RosFileServerLoader.load_srdf(parameter_name='/robot_description_semantic')[source]

Loads an SRDF model from the specified ROS parameter.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_urdf.html b/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_urdf.html index 3ea257c3f..635209114 100644 --- a/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_urdf.html +++ b/latest/api/generated/compas_fab.backends.RosFileServerLoader.load_urdf.html @@ -623,7 +623,7 @@

RosFileServerLoader.load_urdf

-RosFileServerLoader.load_urdf(parameter_name='/robot_description')[source]
+RosFileServerLoader.load_urdf(parameter_name='/robot_description')[source]

Loads a URDF model from the specified ROS parameter.

Parameters:
diff --git a/latest/api/generated/compas_fab.backends.RosValidationError.html b/latest/api/generated/compas_fab.backends.RosValidationError.html index cb290d282..373ae9060 100644 --- a/latest/api/generated/compas_fab.backends.RosValidationError.html +++ b/latest/api/generated/compas_fab.backends.RosValidationError.html @@ -623,7 +623,7 @@

RosValidationError

-exception compas_fab.backends.RosValidationError[source]
+exception compas_fab.backends.RosValidationError[source]

Bases: BackendError

Wraps an exception that occurred on validation of a ROS response.

diff --git a/latest/api/generated/compas_fab.backends.SphericalWristKinematics.forward.html b/latest/api/generated/compas_fab.backends.SphericalWristKinematics.forward.html index f20e7a6a3..f5967859c 100644 --- a/latest/api/generated/compas_fab.backends.SphericalWristKinematics.forward.html +++ b/latest/api/generated/compas_fab.backends.SphericalWristKinematics.forward.html @@ -623,7 +623,7 @@

SphericalWristKinematics.forward

-SphericalWristKinematics.forward(joint_values)[source]
+SphericalWristKinematics.forward(joint_values)[source]
diff --git a/latest/api/generated/compas_fab.backends.SphericalWristKinematics.html b/latest/api/generated/compas_fab.backends.SphericalWristKinematics.html index 9394aa5cc..f6cfff504 100644 --- a/latest/api/generated/compas_fab.backends.SphericalWristKinematics.html +++ b/latest/api/generated/compas_fab.backends.SphericalWristKinematics.html @@ -623,7 +623,7 @@

SphericalWristKinematics

-class compas_fab.backends.SphericalWristKinematics[source]
+class compas_fab.backends.SphericalWristKinematics[source]

Bases: object

Methods

body_from_obj

Create a PyBullet body from an OBJ file.

cache_robot

cache_robot_model

Saves an editable copy of the robot's model and its meshes for shadowing the state of the robot on the PyBullet server.

check_collision_objects_for_collision

convert_mesh_to_body

Convert compas mesh and its frame to a pybullet body.

ensure_cached_robot

ensure_cached_robot_model

Checks if a compas_fab.robots.Robot has been cached for use with PyBullet.

ensure_cached_robot_geometry

ensure_cached_robot_model_geometry

Checks if the geometry of a compas_fab.robots.Robot has been cached for use with PyBullet.

filter_configurations_in_collision

Filters from a list of configurations those which are in collision.

get_cached_robot

Returns the editable copy of the robot's model for shadowing the state of the robot on the PyBullet server.

get_cached_robot_filepath

get_cached_robot_filepath

Returns the filepath of the editable copy of the robot's model for shadowing the state of the robot on the PyBullet server.

get_cached_robot_model

Returns the editable copy of the robot's model for shadowing the state of the robot on the PyBullet server.

get_robot_configuration

Gets the robot's current pose.

diff --git a/latest/api/generated/compas_fab.backends.SphericalWristKinematics.inverse.html b/latest/api/generated/compas_fab.backends.SphericalWristKinematics.inverse.html index 7408f23fa..ac7da6ef4 100644 --- a/latest/api/generated/compas_fab.backends.SphericalWristKinematics.inverse.html +++ b/latest/api/generated/compas_fab.backends.SphericalWristKinematics.inverse.html @@ -623,7 +623,7 @@

SphericalWristKinematics.inverse

-SphericalWristKinematics.inverse(frame_rcf)[source]
+SphericalWristKinematics.inverse(frame_rcf)[source]
diff --git a/latest/api/generated/compas_fab.backends.Staubli_TX260LKinematics.forward.html b/latest/api/generated/compas_fab.backends.Staubli_TX260LKinematics.forward.html index 025ac0260..02c64e8d9 100644 --- a/latest/api/generated/compas_fab.backends.Staubli_TX260LKinematics.forward.html +++ b/latest/api/generated/compas_fab.backends.Staubli_TX260LKinematics.forward.html @@ -623,7 +623,7 @@

Staubli_TX260LKinematics.forward

-Staubli_TX260LKinematics.forward(joint_values)[source]
+Staubli_TX260LKinematics.forward(joint_values)[source]
diff --git a/latest/api/generated/compas_fab.backends.Staubli_TX260LKinematics.html b/latest/api/generated/compas_fab.backends.Staubli_TX260LKinematics.html index 374a04fdd..08953a275 100644 --- a/latest/api/generated/compas_fab.backends.Staubli_TX260LKinematics.html +++ b/latest/api/generated/compas_fab.backends.Staubli_TX260LKinematics.html @@ -623,7 +623,7 @@

Staubli_TX260LKinematics

-class compas_fab.backends.Staubli_TX260LKinematics[source]
+class compas_fab.backends.Staubli_TX260LKinematics[source]

Bases: SphericalWristKinematics

Analytical IK solver for the Stäubli TX2 60L robot.

Inherited Methods

diff --git a/latest/api/generated/compas_fab.backends.Staubli_TX260LKinematics.inverse.html b/latest/api/generated/compas_fab.backends.Staubli_TX260LKinematics.inverse.html index a08edc3b8..63cb2a949 100644 --- a/latest/api/generated/compas_fab.backends.Staubli_TX260LKinematics.inverse.html +++ b/latest/api/generated/compas_fab.backends.Staubli_TX260LKinematics.inverse.html @@ -623,7 +623,7 @@

Staubli_TX260LKinematics.inverse

-Staubli_TX260LKinematics.inverse(frame_rcf)[source]
+Staubli_TX260LKinematics.inverse(frame_rcf)[source]
diff --git a/latest/api/generated/compas_fab.backends.UR10Kinematics.forward.html b/latest/api/generated/compas_fab.backends.UR10Kinematics.forward.html index 87d61e2d3..293795b41 100644 --- a/latest/api/generated/compas_fab.backends.UR10Kinematics.forward.html +++ b/latest/api/generated/compas_fab.backends.UR10Kinematics.forward.html @@ -623,7 +623,7 @@

UR10Kinematics.forward

-UR10Kinematics.forward(joint_values)[source]
+UR10Kinematics.forward(joint_values)[source]
diff --git a/latest/api/generated/compas_fab.backends.UR10Kinematics.html b/latest/api/generated/compas_fab.backends.UR10Kinematics.html index 14f3cd10e..a7cb360c1 100644 --- a/latest/api/generated/compas_fab.backends.UR10Kinematics.html +++ b/latest/api/generated/compas_fab.backends.UR10Kinematics.html @@ -623,7 +623,7 @@

UR10Kinematics

-class compas_fab.backends.UR10Kinematics[source]
+class compas_fab.backends.UR10Kinematics[source]

Bases: OffsetWristKinematics

Analytical IK solver for UR10 e-Series robots.

Inherited Methods

diff --git a/latest/api/generated/compas_fab.backends.UR10Kinematics.inverse.html b/latest/api/generated/compas_fab.backends.UR10Kinematics.inverse.html index e1aea5fd2..1231e9dda 100644 --- a/latest/api/generated/compas_fab.backends.UR10Kinematics.inverse.html +++ b/latest/api/generated/compas_fab.backends.UR10Kinematics.inverse.html @@ -623,7 +623,7 @@

UR10Kinematics.inverse

-UR10Kinematics.inverse(frame_rcf)[source]
+UR10Kinematics.inverse(frame_rcf)[source]
diff --git a/latest/api/generated/compas_fab.backends.UR10eKinematics.forward.html b/latest/api/generated/compas_fab.backends.UR10eKinematics.forward.html index e9a9ef57f..0cc7672c7 100644 --- a/latest/api/generated/compas_fab.backends.UR10eKinematics.forward.html +++ b/latest/api/generated/compas_fab.backends.UR10eKinematics.forward.html @@ -623,7 +623,7 @@

UR10eKinematics.forward

-UR10eKinematics.forward(joint_values)[source]
+UR10eKinematics.forward(joint_values)[source]
diff --git a/latest/api/generated/compas_fab.backends.UR10eKinematics.html b/latest/api/generated/compas_fab.backends.UR10eKinematics.html index 82312d475..818b0f3cf 100644 --- a/latest/api/generated/compas_fab.backends.UR10eKinematics.html +++ b/latest/api/generated/compas_fab.backends.UR10eKinematics.html @@ -623,7 +623,7 @@

UR10eKinematics

-class compas_fab.backends.UR10eKinematics[source]
+class compas_fab.backends.UR10eKinematics[source]

Bases: OffsetWristKinematics

Analytical IK solver for UR10 e-Series robots.

Inherited Methods

diff --git a/latest/api/generated/compas_fab.backends.UR10eKinematics.inverse.html b/latest/api/generated/compas_fab.backends.UR10eKinematics.inverse.html index a7b122f1d..af0bc1b5d 100644 --- a/latest/api/generated/compas_fab.backends.UR10eKinematics.inverse.html +++ b/latest/api/generated/compas_fab.backends.UR10eKinematics.inverse.html @@ -623,7 +623,7 @@

UR10eKinematics.inverse

-UR10eKinematics.inverse(frame_rcf)[source]
+UR10eKinematics.inverse(frame_rcf)[source]
diff --git a/latest/api/generated/compas_fab.backends.UR3Kinematics.forward.html b/latest/api/generated/compas_fab.backends.UR3Kinematics.forward.html index 0d1883553..21497121c 100644 --- a/latest/api/generated/compas_fab.backends.UR3Kinematics.forward.html +++ b/latest/api/generated/compas_fab.backends.UR3Kinematics.forward.html @@ -623,7 +623,7 @@

UR3Kinematics.forward

-UR3Kinematics.forward(joint_values)[source]
+UR3Kinematics.forward(joint_values)[source]
diff --git a/latest/api/generated/compas_fab.backends.UR3Kinematics.html b/latest/api/generated/compas_fab.backends.UR3Kinematics.html index 10c61038b..c0b9ff759 100644 --- a/latest/api/generated/compas_fab.backends.UR3Kinematics.html +++ b/latest/api/generated/compas_fab.backends.UR3Kinematics.html @@ -623,7 +623,7 @@

UR3Kinematics

-class compas_fab.backends.UR3Kinematics[source]
+class compas_fab.backends.UR3Kinematics[source]

Bases: OffsetWristKinematics

Analytical IK solver for UR3 robots.

Inherited Methods

diff --git a/latest/api/generated/compas_fab.backends.UR3Kinematics.inverse.html b/latest/api/generated/compas_fab.backends.UR3Kinematics.inverse.html index c1f3affae..fb66669bc 100644 --- a/latest/api/generated/compas_fab.backends.UR3Kinematics.inverse.html +++ b/latest/api/generated/compas_fab.backends.UR3Kinematics.inverse.html @@ -623,7 +623,7 @@

UR3Kinematics.inverse

-UR3Kinematics.inverse(frame_rcf)[source]
+UR3Kinematics.inverse(frame_rcf)[source]
diff --git a/latest/api/generated/compas_fab.backends.UR3eKinematics.forward.html b/latest/api/generated/compas_fab.backends.UR3eKinematics.forward.html index da412c9ea..1f6c2e7d8 100644 --- a/latest/api/generated/compas_fab.backends.UR3eKinematics.forward.html +++ b/latest/api/generated/compas_fab.backends.UR3eKinematics.forward.html @@ -623,7 +623,7 @@

UR3eKinematics.forward

-UR3eKinematics.forward(joint_values)[source]
+UR3eKinematics.forward(joint_values)[source]
diff --git a/latest/api/generated/compas_fab.backends.UR3eKinematics.html b/latest/api/generated/compas_fab.backends.UR3eKinematics.html index 52138e956..02339bb44 100644 --- a/latest/api/generated/compas_fab.backends.UR3eKinematics.html +++ b/latest/api/generated/compas_fab.backends.UR3eKinematics.html @@ -623,7 +623,7 @@

UR3eKinematics

-class compas_fab.backends.UR3eKinematics[source]
+class compas_fab.backends.UR3eKinematics[source]

Bases: OffsetWristKinematics

Analytical IK solver for UR3 e-Series robots.

Inherited Methods

diff --git a/latest/api/generated/compas_fab.backends.UR3eKinematics.inverse.html b/latest/api/generated/compas_fab.backends.UR3eKinematics.inverse.html index 1768e05b1..36bd33988 100644 --- a/latest/api/generated/compas_fab.backends.UR3eKinematics.inverse.html +++ b/latest/api/generated/compas_fab.backends.UR3eKinematics.inverse.html @@ -623,7 +623,7 @@

UR3eKinematics.inverse

-UR3eKinematics.inverse(frame_rcf)[source]
+UR3eKinematics.inverse(frame_rcf)[source]
diff --git a/latest/api/generated/compas_fab.backends.UR5Kinematics.forward.html b/latest/api/generated/compas_fab.backends.UR5Kinematics.forward.html index 6620e9fc8..07201ea5e 100644 --- a/latest/api/generated/compas_fab.backends.UR5Kinematics.forward.html +++ b/latest/api/generated/compas_fab.backends.UR5Kinematics.forward.html @@ -623,7 +623,7 @@

UR5Kinematics.forward

-UR5Kinematics.forward(joint_values)[source]
+UR5Kinematics.forward(joint_values)[source]
diff --git a/latest/api/generated/compas_fab.backends.UR5Kinematics.html b/latest/api/generated/compas_fab.backends.UR5Kinematics.html index e58c7b83a..ed365b982 100644 --- a/latest/api/generated/compas_fab.backends.UR5Kinematics.html +++ b/latest/api/generated/compas_fab.backends.UR5Kinematics.html @@ -623,7 +623,7 @@

UR5Kinematics

-class compas_fab.backends.UR5Kinematics[source]
+class compas_fab.backends.UR5Kinematics[source]

Bases: OffsetWristKinematics

Analytical IK solver for UR5 robots.

Inherited Methods

diff --git a/latest/api/generated/compas_fab.backends.UR5Kinematics.inverse.html b/latest/api/generated/compas_fab.backends.UR5Kinematics.inverse.html index 567c12aa2..0ce1446c1 100644 --- a/latest/api/generated/compas_fab.backends.UR5Kinematics.inverse.html +++ b/latest/api/generated/compas_fab.backends.UR5Kinematics.inverse.html @@ -623,7 +623,7 @@

UR5Kinematics.inverse

-UR5Kinematics.inverse(frame_rcf)[source]
+UR5Kinematics.inverse(frame_rcf)[source]
diff --git a/latest/api/generated/compas_fab.backends.UR5eKinematics.forward.html b/latest/api/generated/compas_fab.backends.UR5eKinematics.forward.html index ad9fddfce..8b1eae5b5 100644 --- a/latest/api/generated/compas_fab.backends.UR5eKinematics.forward.html +++ b/latest/api/generated/compas_fab.backends.UR5eKinematics.forward.html @@ -623,7 +623,7 @@

UR5eKinematics.forward

-UR5eKinematics.forward(joint_values)[source]
+UR5eKinematics.forward(joint_values)[source]
diff --git a/latest/api/generated/compas_fab.backends.UR5eKinematics.html b/latest/api/generated/compas_fab.backends.UR5eKinematics.html index cb9e649ea..df631df49 100644 --- a/latest/api/generated/compas_fab.backends.UR5eKinematics.html +++ b/latest/api/generated/compas_fab.backends.UR5eKinematics.html @@ -623,7 +623,7 @@

UR5eKinematics

-class compas_fab.backends.UR5eKinematics[source]
+class compas_fab.backends.UR5eKinematics[source]

Bases: OffsetWristKinematics

Analytical IK solver for UR5 e-Series robots.

Inherited Methods

diff --git a/latest/api/generated/compas_fab.backends.UR5eKinematics.inverse.html b/latest/api/generated/compas_fab.backends.UR5eKinematics.inverse.html index 68e2126ef..c46495707 100644 --- a/latest/api/generated/compas_fab.backends.UR5eKinematics.inverse.html +++ b/latest/api/generated/compas_fab.backends.UR5eKinematics.inverse.html @@ -623,7 +623,7 @@

UR5eKinematics.inverse

-UR5eKinematics.inverse(frame_rcf)[source]
+UR5eKinematics.inverse(frame_rcf)[source]
diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.ToString.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.ToString.html index 655072e09..45750e6b6 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.ToString.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.ToString.html @@ -623,7 +623,7 @@

ReachabilityMapObject.ToString

-ReachabilityMapObject.ToString()[source]
+ReachabilityMapObject.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.add.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.add.html index e89395c58..c0672dc7c 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.add.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.add.html @@ -623,7 +623,7 @@

ReachabilityMapObject.add

-ReachabilityMapObject.add(item, **kwargs)[source]
+ReachabilityMapObject.add(item, **kwargs)[source]

Add a child item to the scene object.

Parameters:
diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.clear.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.clear.html index ad3d5e480..7f51cfc20 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.clear.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.clear.html @@ -623,7 +623,7 @@

ReachabilityMapObject.clear

-ReachabilityMapObject.clear()[source]
+ReachabilityMapObject.clear()[source]

The main clearing method.

diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.copy.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.copy.html index 00eb88cb0..a09297f3b 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.copy.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.copy.html @@ -623,7 +623,7 @@

ReachabilityMapObject.copy

-ReachabilityMapObject.copy(cls=None)[source]
+ReachabilityMapObject.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw.html index 1b7f8927a..97f08ac42 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw.html @@ -623,7 +623,7 @@

ReachabilityMapObject.draw

-ReachabilityMapObject.draw(colormap='viridis')[source]
+ReachabilityMapObject.draw(colormap='viridis')[source]

The main drawing method.

diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_cloud.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_cloud.html index e17d6947c..cf6aaa51b 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_cloud.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_cloud.html @@ -623,7 +623,7 @@

ReachabilityMapObject.draw_cloud

-ReachabilityMapObject.draw_cloud(colormap='viridis', points=None)[source]
+ReachabilityMapObject.draw_cloud(colormap='viridis', points=None)[source]

Returns the points and colors to create a point cloud.

The colors are calculated on the score at the respective frame. If the frames are a 2D list, the point of the first frame of the list is used.

diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_frames.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_frames.html index 1ae73cda8..461405f82 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_frames.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_frames.html @@ -623,7 +623,7 @@

ReachabilityMapObject.draw_frames

-ReachabilityMapObject.draw_frames(ik_index=None)[source]
+ReachabilityMapObject.draw_frames(ik_index=None)[source]

Returns the frames of the reachability map.

Parameters:
diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.from_json.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.from_json.html index db7af9f97..57c387eed 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.from_json.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.from_json.html @@ -623,7 +623,7 @@

ReachabilityMapObject.from_json

-classmethod ReachabilityMapObject.from_json(filepath)[source]
+classmethod ReachabilityMapObject.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.from_jsonstring.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.from_jsonstring.html index 1d27548b9..b8bf8fa92 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.from_jsonstring.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.from_jsonstring.html @@ -623,7 +623,7 @@

ReachabilityMapObject.from_jsonstring

-classmethod ReachabilityMapObject.from_jsonstring(string)[source]
+classmethod ReachabilityMapObject.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.html index 6988b9f05..5348d36a3 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.html @@ -623,7 +623,7 @@

ReachabilityMapObject

-class compas_fab.ghpython.ReachabilityMapObject[source]
+class compas_fab.ghpython.ReachabilityMapObject[source]

Bases: GHSceneObject

Scene object for drawing a reachability map.

diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.remove.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.remove.html index eb58aae84..ae5c85a3e 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.remove.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.remove.html @@ -623,7 +623,7 @@

ReachabilityMapObject.remove

-ReachabilityMapObject.remove(node)[source]
+ReachabilityMapObject.remove(node)[source]

Remove a child node from this node.

Parameters:
diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.sha256.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.sha256.html index ab5cdb0e6..95fa10220 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.sha256.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.sha256.html @@ -623,7 +623,7 @@

ReachabilityMapObject.sha256

-ReachabilityMapObject.sha256(as_string=False)[source]
+ReachabilityMapObject.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.to_json.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.to_json.html index 12ac71b8a..5b4384144 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.to_json.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.to_json.html @@ -623,7 +623,7 @@

ReachabilityMapObject.to_json

-ReachabilityMapObject.to_json(filepath, pretty=False)[source]
+ReachabilityMapObject.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.to_jsonstring.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.to_jsonstring.html index 3879fa617..ec0eeda18 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.to_jsonstring.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.to_jsonstring.html @@ -623,7 +623,7 @@

ReachabilityMapObject.to_jsonstring

-ReachabilityMapObject.to_jsonstring(pretty=False)[source]
+ReachabilityMapObject.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.traverse.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.traverse.html index f8545fa6d..2542b9c28 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.traverse.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.traverse.html @@ -623,7 +623,7 @@

ReachabilityMapObject.traverse

-ReachabilityMapObject.traverse(strategy='depthfirst', order='preorder')[source]
+ReachabilityMapObject.traverse(strategy='depthfirst', order='preorder')[source]

Traverse the tree from this node.

Parameters:
diff --git a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.validate_data.html b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.validate_data.html index 358f0c198..f1f0b1f99 100644 --- a/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.validate_data.html +++ b/latest/api/generated/compas_fab.ghpython.ReachabilityMapObject.validate_data.html @@ -623,7 +623,7 @@

ReachabilityMapObject.validate_data

-classmethod ReachabilityMapObject.validate_data(data)[source]
+classmethod ReachabilityMapObject.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.ToString.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.ToString.html index 6391c71c0..411dc44b3 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.ToString.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.ToString.html @@ -623,7 +623,7 @@

ReachabilityMapObject.ToString

-ReachabilityMapObject.ToString()[source]
+ReachabilityMapObject.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.add.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.add.html index d58788b96..6bdde6bd8 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.add.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.add.html @@ -623,7 +623,7 @@

ReachabilityMapObject.add

-ReachabilityMapObject.add(item, **kwargs)[source]
+ReachabilityMapObject.add(item, **kwargs)[source]

Add a child item to the scene object.

Parameters:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.add_to_group.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.add_to_group.html index fae1f31c9..114e43f6d 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.add_to_group.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.add_to_group.html @@ -623,7 +623,7 @@

ReachabilityMapObject.add_to_group

-ReachabilityMapObject.add_to_group(name, guids)[source]
+ReachabilityMapObject.add_to_group(name, guids)[source]

Add the objects to the group.

Parameters:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.clear.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.clear.html index fd0f4f6cc..70e0ddde2 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.clear.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.clear.html @@ -623,7 +623,7 @@

ReachabilityMapObject.clear

-ReachabilityMapObject.clear()[source]
+ReachabilityMapObject.clear()[source]

The main clearing method.

diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.clear_layer.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.clear_layer.html index a18ca92d2..c21cf7535 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.clear_layer.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.clear_layer.html @@ -623,7 +623,7 @@

ReachabilityMapObject.clear_layer

-ReachabilityMapObject.clear_layer()[source]
+ReachabilityMapObject.clear_layer()[source]

Clear the layer of the scene object.

Returns:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.compile_attributes.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.compile_attributes.html index 6efd2f357..53d03167c 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.compile_attributes.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.compile_attributes.html @@ -623,7 +623,7 @@

ReachabilityMapObject.compile_attributes

-ReachabilityMapObject.compile_attributes(name=None, color=None, arrow=None)[source]
+ReachabilityMapObject.compile_attributes(name=None, color=None, arrow=None)[source]

Compile Rhino DocObject Attributes.

Parameters:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.copy.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.copy.html index 809bdcfdb..1135a0ff6 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.copy.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.copy.html @@ -623,7 +623,7 @@

ReachabilityMapObject.copy

-ReachabilityMapObject.copy(cls=None)[source]
+ReachabilityMapObject.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.draw.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.draw.html index 133a11d61..69a811afe 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.draw.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.draw.html @@ -623,7 +623,7 @@

ReachabilityMapObject.draw

-ReachabilityMapObject.draw(colormap='viridis')[source]
+ReachabilityMapObject.draw(colormap='viridis')[source]

The main drawing method.

diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.draw_cloud.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.draw_cloud.html index 5bfeadbe5..3525a2bd6 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.draw_cloud.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.draw_cloud.html @@ -623,7 +623,7 @@

ReachabilityMapObject.draw_cloud

-ReachabilityMapObject.draw_cloud(colormap='viridis', points=None)[source]
+ReachabilityMapObject.draw_cloud(colormap='viridis', points=None)[source]

Returns the points and colors to create a point cloud.

The colors are calculated on the score at the respective frame. If the frames are a 2D list, the point of the first frame of the list is used.

diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.draw_frames.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.draw_frames.html index f805b55d8..8cdb223c6 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.draw_frames.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.draw_frames.html @@ -623,7 +623,7 @@

ReachabilityMapObject.draw_frames

-ReachabilityMapObject.draw_frames(ik_index=None)[source]
+ReachabilityMapObject.draw_frames(ik_index=None)[source]

Returns the frames of the reachability map.

Parameters:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.from_json.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.from_json.html index 67ea93bee..466345284 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.from_json.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.from_json.html @@ -623,7 +623,7 @@

ReachabilityMapObject.from_json

-classmethod ReachabilityMapObject.from_json(filepath)[source]
+classmethod ReachabilityMapObject.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.from_jsonstring.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.from_jsonstring.html index 4b580d544..7c280c73b 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.from_jsonstring.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.from_jsonstring.html @@ -623,7 +623,7 @@

ReachabilityMapObject.from_jsonstring

-classmethod ReachabilityMapObject.from_jsonstring(string)[source]
+classmethod ReachabilityMapObject.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.get_group.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.get_group.html index 653ebf3a8..425cb551c 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.get_group.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.get_group.html @@ -623,7 +623,7 @@

ReachabilityMapObject.get_group

-ReachabilityMapObject.get_group(name)[source]
+ReachabilityMapObject.get_group(name)[source]

Find the group with the given name, or create a new one.

Parameters:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.html index 9f18232c0..fff56363c 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.html @@ -623,7 +623,7 @@

ReachabilityMapObject

-class compas_fab.rhino.ReachabilityMapObject[source]
+class compas_fab.rhino.ReachabilityMapObject[source]

Bases: RhinoSceneObject

Scene object for drawing a reachability map.

diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.remove.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.remove.html index 0965d26bf..3a1a6648d 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.remove.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.remove.html @@ -623,7 +623,7 @@

ReachabilityMapObject.remove

-ReachabilityMapObject.remove(node)[source]
+ReachabilityMapObject.remove(node)[source]

Remove a child node from this node.

Parameters:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.sha256.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.sha256.html index a3e38eca1..1390e82e0 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.sha256.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.sha256.html @@ -623,7 +623,7 @@

ReachabilityMapObject.sha256

-ReachabilityMapObject.sha256(as_string=False)[source]
+ReachabilityMapObject.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.to_json.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.to_json.html index 6b104c9e2..0502f14d5 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.to_json.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.to_json.html @@ -623,7 +623,7 @@

ReachabilityMapObject.to_json

-ReachabilityMapObject.to_json(filepath, pretty=False)[source]
+ReachabilityMapObject.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.to_jsonstring.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.to_jsonstring.html index e334737c1..0377370ef 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.to_jsonstring.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.to_jsonstring.html @@ -623,7 +623,7 @@

ReachabilityMapObject.to_jsonstring

-ReachabilityMapObject.to_jsonstring(pretty=False)[source]
+ReachabilityMapObject.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.traverse.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.traverse.html index ab62471ab..6b64dc822 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.traverse.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.traverse.html @@ -623,7 +623,7 @@

ReachabilityMapObject.traverse

-ReachabilityMapObject.traverse(strategy='depthfirst', order='preorder')[source]
+ReachabilityMapObject.traverse(strategy='depthfirst', order='preorder')[source]

Traverse the tree from this node.

Parameters:
diff --git a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.validate_data.html b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.validate_data.html index f575099f5..1d148be98 100644 --- a/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.validate_data.html +++ b/latest/api/generated/compas_fab.rhino.ReachabilityMapObject.validate_data.html @@ -623,7 +623,7 @@

ReachabilityMapObject.validate_data

-classmethod ReachabilityMapObject.validate_data(data)[source]
+classmethod ReachabilityMapObject.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.ToString.html b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.ToString.html index c87d9d42a..bba330840 100644 --- a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.ToString.html +++ b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.ToString.html @@ -623,7 +623,7 @@

AttachedCollisionMesh.ToString

-AttachedCollisionMesh.ToString()[source]
+AttachedCollisionMesh.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.copy.html b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.copy.html index d0ff01b11..5e6e9a060 100644 --- a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.copy.html +++ b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.copy.html @@ -623,7 +623,7 @@

AttachedCollisionMesh.copy

-AttachedCollisionMesh.copy(cls=None)[source]
+AttachedCollisionMesh.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.from_json.html b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.from_json.html index 7f3546bc2..500a9acf7 100644 --- a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.from_json.html +++ b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.from_json.html @@ -623,7 +623,7 @@

AttachedCollisionMesh.from_json

-classmethod AttachedCollisionMesh.from_json(filepath)[source]
+classmethod AttachedCollisionMesh.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.from_jsonstring.html b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.from_jsonstring.html index a433b3f51..f44213a42 100644 --- a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.from_jsonstring.html @@ -623,7 +623,7 @@

AttachedCollisionMesh.from_jsonstring

-classmethod AttachedCollisionMesh.from_jsonstring(string)[source]
+classmethod AttachedCollisionMesh.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.html b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.html index 160f455a3..37a88af95 100644 --- a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.html +++ b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.html @@ -623,7 +623,7 @@

AttachedCollisionMesh

-class compas_fab.robots.AttachedCollisionMesh[source]
+class compas_fab.robots.AttachedCollisionMesh[source]

Bases: Data

Represents a collision mesh that is attached to a Robot’s compas_robots.model.Link.

diff --git a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.sha256.html b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.sha256.html index 16dda4dfb..78197dbb9 100644 --- a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.sha256.html +++ b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.sha256.html @@ -623,7 +623,7 @@

AttachedCollisionMesh.sha256

-AttachedCollisionMesh.sha256(as_string=False)[source]
+AttachedCollisionMesh.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.to_json.html b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.to_json.html index 189102f08..875020dc7 100644 --- a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.to_json.html +++ b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.to_json.html @@ -623,7 +623,7 @@

AttachedCollisionMesh.to_json

-AttachedCollisionMesh.to_json(filepath, pretty=False)[source]
+AttachedCollisionMesh.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.to_jsonstring.html b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.to_jsonstring.html index ae36b5df8..25ef44c49 100644 --- a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.to_jsonstring.html @@ -623,7 +623,7 @@

AttachedCollisionMesh.to_jsonstring

-AttachedCollisionMesh.to_jsonstring(pretty=False)[source]
+AttachedCollisionMesh.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.validate_data.html b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.validate_data.html index c9458ea90..ddd5b49f6 100644 --- a/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.validate_data.html +++ b/latest/api/generated/compas_fab.robots.AttachedCollisionMesh.validate_data.html @@ -623,7 +623,7 @@

AttachedCollisionMesh.validate_data

-classmethod AttachedCollisionMesh.validate_data(data)[source]
+classmethod AttachedCollisionMesh.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.ToString.html b/latest/api/generated/compas_fab.robots.BoundingVolume.ToString.html index 377efef0c..b5dc9702d 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.ToString.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.ToString.html @@ -623,7 +623,7 @@

BoundingVolume.ToString

-BoundingVolume.ToString()[source]
+BoundingVolume.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.copy.html b/latest/api/generated/compas_fab.robots.BoundingVolume.copy.html index 6f3434969..fb26aa0da 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.copy.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.copy.html @@ -623,7 +623,7 @@

BoundingVolume.copy

-BoundingVolume.copy()[source]
+BoundingVolume.copy()[source]

Make a copy of this BoundingVolume.

Returns:
diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.from_box.html b/latest/api/generated/compas_fab.robots.BoundingVolume.from_box.html index d3c4f6098..777d9344e 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.from_box.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.from_box.html @@ -623,7 +623,7 @@

BoundingVolume.from_box

-classmethod BoundingVolume.from_box(box)[source]
+classmethod BoundingVolume.from_box(box)[source]

Create a BoundingVolume from a compas.geometry.Box.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.from_json.html b/latest/api/generated/compas_fab.robots.BoundingVolume.from_json.html index 942b70dac..f892da326 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.from_json.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.from_json.html @@ -623,7 +623,7 @@

BoundingVolume.from_json

-classmethod BoundingVolume.from_json(filepath)[source]
+classmethod BoundingVolume.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.from_jsonstring.html b/latest/api/generated/compas_fab.robots.BoundingVolume.from_jsonstring.html index 51bfda1b1..f9aad9d56 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.from_jsonstring.html @@ -623,7 +623,7 @@

BoundingVolume.from_jsonstring

-classmethod BoundingVolume.from_jsonstring(string)[source]
+classmethod BoundingVolume.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.from_mesh.html b/latest/api/generated/compas_fab.robots.BoundingVolume.from_mesh.html index c56966077..bb2762f19 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.from_mesh.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.from_mesh.html @@ -623,7 +623,7 @@

BoundingVolume.from_mesh

-classmethod BoundingVolume.from_mesh(mesh)[source]
+classmethod BoundingVolume.from_mesh(mesh)[source]

Create a BoundingVolume from a compas.datastructures.Mesh.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.from_sphere.html b/latest/api/generated/compas_fab.robots.BoundingVolume.from_sphere.html index 9a82804b1..f902b0b21 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.from_sphere.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.from_sphere.html @@ -623,7 +623,7 @@

BoundingVolume.from_sphere

-classmethod BoundingVolume.from_sphere(sphere)[source]
+classmethod BoundingVolume.from_sphere(sphere)[source]

Create a BoundingVolume from a compas.geometry.Sphere.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.html b/latest/api/generated/compas_fab.robots.BoundingVolume.html index 67c65f32a..52b38f097 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.html @@ -623,7 +623,7 @@

BoundingVolume

-class compas_fab.robots.BoundingVolume[source]
+class compas_fab.robots.BoundingVolume[source]

Bases: Data

A container for describing a bounding volume.

diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.scale.html b/latest/api/generated/compas_fab.robots.BoundingVolume.scale.html index c1d2bb071..27cd435ab 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.scale.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.scale.html @@ -623,7 +623,7 @@

BoundingVolume.scale

-BoundingVolume.scale(scale_factor)[source]
+BoundingVolume.scale(scale_factor)[source]

Scale the volume uniformly.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.sha256.html b/latest/api/generated/compas_fab.robots.BoundingVolume.sha256.html index 52ccf3e56..4b4aa4230 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.sha256.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.sha256.html @@ -623,7 +623,7 @@

BoundingVolume.sha256

-BoundingVolume.sha256(as_string=False)[source]
+BoundingVolume.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.to_json.html b/latest/api/generated/compas_fab.robots.BoundingVolume.to_json.html index 3e39faa72..223eb1bdb 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.to_json.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.to_json.html @@ -623,7 +623,7 @@

BoundingVolume.to_json

-BoundingVolume.to_json(filepath, pretty=False)[source]
+BoundingVolume.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.to_jsonstring.html b/latest/api/generated/compas_fab.robots.BoundingVolume.to_jsonstring.html index 0077833cd..b71a8e67f 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.to_jsonstring.html @@ -623,7 +623,7 @@

BoundingVolume.to_jsonstring

-BoundingVolume.to_jsonstring(pretty=False)[source]
+BoundingVolume.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.transform.html b/latest/api/generated/compas_fab.robots.BoundingVolume.transform.html index 615591fbb..3d87d170e 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.transform.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.transform.html @@ -623,7 +623,7 @@

BoundingVolume.transform

-BoundingVolume.transform(transformation)[source]
+BoundingVolume.transform(transformation)[source]

Transform the volume using a compas.geometry.Transformation.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.BoundingVolume.validate_data.html b/latest/api/generated/compas_fab.robots.BoundingVolume.validate_data.html index c0b05a326..8a164bc86 100644 --- a/latest/api/generated/compas_fab.robots.BoundingVolume.validate_data.html +++ b/latest/api/generated/compas_fab.robots.BoundingVolume.validate_data.html @@ -623,7 +623,7 @@

BoundingVolume.validate_data

-classmethod BoundingVolume.validate_data(data)[source]
+classmethod BoundingVolume.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.CollisionMesh.ToString.html b/latest/api/generated/compas_fab.robots.CollisionMesh.ToString.html index 4b4a69e73..a44739c93 100644 --- a/latest/api/generated/compas_fab.robots.CollisionMesh.ToString.html +++ b/latest/api/generated/compas_fab.robots.CollisionMesh.ToString.html @@ -623,7 +623,7 @@

CollisionMesh.ToString

-CollisionMesh.ToString()[source]
+CollisionMesh.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.CollisionMesh.copy.html b/latest/api/generated/compas_fab.robots.CollisionMesh.copy.html index 28cf35fc4..fbd815754 100644 --- a/latest/api/generated/compas_fab.robots.CollisionMesh.copy.html +++ b/latest/api/generated/compas_fab.robots.CollisionMesh.copy.html @@ -623,7 +623,7 @@

CollisionMesh.copy

-CollisionMesh.copy(cls=None)[source]
+CollisionMesh.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.CollisionMesh.from_json.html b/latest/api/generated/compas_fab.robots.CollisionMesh.from_json.html index 43c16d0e8..5fb83ca20 100644 --- a/latest/api/generated/compas_fab.robots.CollisionMesh.from_json.html +++ b/latest/api/generated/compas_fab.robots.CollisionMesh.from_json.html @@ -623,7 +623,7 @@

CollisionMesh.from_json

-classmethod CollisionMesh.from_json(filepath)[source]
+classmethod CollisionMesh.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.CollisionMesh.from_jsonstring.html b/latest/api/generated/compas_fab.robots.CollisionMesh.from_jsonstring.html index eb8e45859..16175da67 100644 --- a/latest/api/generated/compas_fab.robots.CollisionMesh.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.CollisionMesh.from_jsonstring.html @@ -623,7 +623,7 @@

CollisionMesh.from_jsonstring

-classmethod CollisionMesh.from_jsonstring(string)[source]
+classmethod CollisionMesh.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.CollisionMesh.html b/latest/api/generated/compas_fab.robots.CollisionMesh.html index 0aa00f3ad..117a95897 100644 --- a/latest/api/generated/compas_fab.robots.CollisionMesh.html +++ b/latest/api/generated/compas_fab.robots.CollisionMesh.html @@ -623,7 +623,7 @@

CollisionMesh

-class compas_fab.robots.CollisionMesh[source]
+class compas_fab.robots.CollisionMesh[source]

Bases: Data

Represents a collision mesh.

diff --git a/latest/api/generated/compas_fab.robots.CollisionMesh.scale.html b/latest/api/generated/compas_fab.robots.CollisionMesh.scale.html index 74a3679b8..f614dbfdc 100644 --- a/latest/api/generated/compas_fab.robots.CollisionMesh.scale.html +++ b/latest/api/generated/compas_fab.robots.CollisionMesh.scale.html @@ -623,7 +623,7 @@

CollisionMesh.scale

-CollisionMesh.scale(scale_factor)[source]
+CollisionMesh.scale(scale_factor)[source]

Scales the collision mesh uniformly.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.CollisionMesh.scaled.html b/latest/api/generated/compas_fab.robots.CollisionMesh.scaled.html index e658fd437..2ffefa462 100644 --- a/latest/api/generated/compas_fab.robots.CollisionMesh.scaled.html +++ b/latest/api/generated/compas_fab.robots.CollisionMesh.scaled.html @@ -623,7 +623,7 @@

CollisionMesh.scaled

-CollisionMesh.scaled(scale_factor)[source]
+CollisionMesh.scaled(scale_factor)[source]

Copies the collision mesh, and scales the copy uniformly.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.CollisionMesh.sha256.html b/latest/api/generated/compas_fab.robots.CollisionMesh.sha256.html index 364ecffc7..be8abc0d0 100644 --- a/latest/api/generated/compas_fab.robots.CollisionMesh.sha256.html +++ b/latest/api/generated/compas_fab.robots.CollisionMesh.sha256.html @@ -623,7 +623,7 @@

CollisionMesh.sha256

-CollisionMesh.sha256(as_string=False)[source]
+CollisionMesh.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.CollisionMesh.to_json.html b/latest/api/generated/compas_fab.robots.CollisionMesh.to_json.html index 06dfd8b92..558041a7f 100644 --- a/latest/api/generated/compas_fab.robots.CollisionMesh.to_json.html +++ b/latest/api/generated/compas_fab.robots.CollisionMesh.to_json.html @@ -623,7 +623,7 @@

CollisionMesh.to_json

-CollisionMesh.to_json(filepath, pretty=False)[source]
+CollisionMesh.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.CollisionMesh.to_jsonstring.html b/latest/api/generated/compas_fab.robots.CollisionMesh.to_jsonstring.html index efac65ee0..4ee04cd0d 100644 --- a/latest/api/generated/compas_fab.robots.CollisionMesh.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.CollisionMesh.to_jsonstring.html @@ -623,7 +623,7 @@

CollisionMesh.to_jsonstring

-CollisionMesh.to_jsonstring(pretty=False)[source]
+CollisionMesh.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.CollisionMesh.validate_data.html b/latest/api/generated/compas_fab.robots.CollisionMesh.validate_data.html index 8b8b3876d..916004df5 100644 --- a/latest/api/generated/compas_fab.robots.CollisionMesh.validate_data.html +++ b/latest/api/generated/compas_fab.robots.CollisionMesh.validate_data.html @@ -623,7 +623,7 @@

CollisionMesh.validate_data

-classmethod CollisionMesh.validate_data(data)[source]
+classmethod CollisionMesh.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.ConfigurationTarget.ToString.html b/latest/api/generated/compas_fab.robots.ConfigurationTarget.ToString.html index d2fbb5213..34aaa4bb3 100644 --- a/latest/api/generated/compas_fab.robots.ConfigurationTarget.ToString.html +++ b/latest/api/generated/compas_fab.robots.ConfigurationTarget.ToString.html @@ -623,7 +623,7 @@

ConfigurationTarget.ToString

-ConfigurationTarget.ToString()[source]
+ConfigurationTarget.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.ConfigurationTarget.copy.html b/latest/api/generated/compas_fab.robots.ConfigurationTarget.copy.html index fc4f1037a..937725ea4 100644 --- a/latest/api/generated/compas_fab.robots.ConfigurationTarget.copy.html +++ b/latest/api/generated/compas_fab.robots.ConfigurationTarget.copy.html @@ -623,7 +623,7 @@

ConfigurationTarget.copy

-ConfigurationTarget.copy(cls=None)[source]
+ConfigurationTarget.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ConfigurationTarget.from_json.html b/latest/api/generated/compas_fab.robots.ConfigurationTarget.from_json.html index 3c0de3eec..d61fa39ed 100644 --- a/latest/api/generated/compas_fab.robots.ConfigurationTarget.from_json.html +++ b/latest/api/generated/compas_fab.robots.ConfigurationTarget.from_json.html @@ -623,7 +623,7 @@

ConfigurationTarget.from_json

-classmethod ConfigurationTarget.from_json(filepath)[source]
+classmethod ConfigurationTarget.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ConfigurationTarget.from_jsonstring.html b/latest/api/generated/compas_fab.robots.ConfigurationTarget.from_jsonstring.html index c970c7e55..b08d4aa27 100644 --- a/latest/api/generated/compas_fab.robots.ConfigurationTarget.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.ConfigurationTarget.from_jsonstring.html @@ -623,7 +623,7 @@

ConfigurationTarget.from_jsonstring

-classmethod ConfigurationTarget.from_jsonstring(string)[source]
+classmethod ConfigurationTarget.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ConfigurationTarget.generate_default_tolerances.html b/latest/api/generated/compas_fab.robots.ConfigurationTarget.generate_default_tolerances.html index 2ce4238f7..1b75eab78 100644 --- a/latest/api/generated/compas_fab.robots.ConfigurationTarget.generate_default_tolerances.html +++ b/latest/api/generated/compas_fab.robots.ConfigurationTarget.generate_default_tolerances.html @@ -623,7 +623,7 @@

ConfigurationTarget.generate_default_tolerances

-classmethod ConfigurationTarget.generate_default_tolerances(configuration, tolerance_prismatic, tolerance_revolute)[source]
+classmethod ConfigurationTarget.generate_default_tolerances(configuration, tolerance_prismatic, tolerance_revolute)[source]

Generates tolerances values for the target configuration based on the joint types.

The parameters tolerance_prismatic and tolerance_revolute are used to generate the list of values for tolerances_above, tolerances_below. The length of the list is equal to the diff --git a/latest/api/generated/compas_fab.robots.ConfigurationTarget.html b/latest/api/generated/compas_fab.robots.ConfigurationTarget.html index 2d64c3795..3276f254e 100644 --- a/latest/api/generated/compas_fab.robots.ConfigurationTarget.html +++ b/latest/api/generated/compas_fab.robots.ConfigurationTarget.html @@ -623,7 +623,7 @@

ConfigurationTarget

-class compas_fab.robots.ConfigurationTarget[source]
+class compas_fab.robots.ConfigurationTarget[source]

Bases: Target

Represents a configuration target for the robot’s end-effector motion planning.

The configuration target is a joint configuration of the robot’s joints. diff --git a/latest/api/generated/compas_fab.robots.ConfigurationTarget.scaled.html b/latest/api/generated/compas_fab.robots.ConfigurationTarget.scaled.html index 0d4402617..691242bb1 100644 --- a/latest/api/generated/compas_fab.robots.ConfigurationTarget.scaled.html +++ b/latest/api/generated/compas_fab.robots.ConfigurationTarget.scaled.html @@ -623,7 +623,7 @@

ConfigurationTarget.scaled

-ConfigurationTarget.scaled(factor)[source]
+ConfigurationTarget.scaled(factor)[source]

Returns copy of the target where the target configuration and tolerances are scaled.

This function should only be needed if the ConfigurationTarget was created with a distance unit other than meters.

diff --git a/latest/api/generated/compas_fab.robots.ConfigurationTarget.sha256.html b/latest/api/generated/compas_fab.robots.ConfigurationTarget.sha256.html index b1e2023b1..b42cf029d 100644 --- a/latest/api/generated/compas_fab.robots.ConfigurationTarget.sha256.html +++ b/latest/api/generated/compas_fab.robots.ConfigurationTarget.sha256.html @@ -623,7 +623,7 @@

ConfigurationTarget.sha256

-ConfigurationTarget.sha256(as_string=False)[source]
+ConfigurationTarget.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ConfigurationTarget.to_json.html b/latest/api/generated/compas_fab.robots.ConfigurationTarget.to_json.html index 074839347..d2f8ea624 100644 --- a/latest/api/generated/compas_fab.robots.ConfigurationTarget.to_json.html +++ b/latest/api/generated/compas_fab.robots.ConfigurationTarget.to_json.html @@ -623,7 +623,7 @@

ConfigurationTarget.to_json

-ConfigurationTarget.to_json(filepath, pretty=False)[source]
+ConfigurationTarget.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ConfigurationTarget.to_jsonstring.html b/latest/api/generated/compas_fab.robots.ConfigurationTarget.to_jsonstring.html index 9e5e9c0e0..32738f72e 100644 --- a/latest/api/generated/compas_fab.robots.ConfigurationTarget.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.ConfigurationTarget.to_jsonstring.html @@ -623,7 +623,7 @@

ConfigurationTarget.to_jsonstring

-ConfigurationTarget.to_jsonstring(pretty=False)[source]
+ConfigurationTarget.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ConfigurationTarget.validate_data.html b/latest/api/generated/compas_fab.robots.ConfigurationTarget.validate_data.html index bb0595b5d..ca8b75e57 100644 --- a/latest/api/generated/compas_fab.robots.ConfigurationTarget.validate_data.html +++ b/latest/api/generated/compas_fab.robots.ConfigurationTarget.validate_data.html @@ -623,7 +623,7 @@

ConfigurationTarget.validate_data

-classmethod ConfigurationTarget.validate_data(data)[source]
+classmethod ConfigurationTarget.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.Constraint.ToString.html b/latest/api/generated/compas_fab.robots.Constraint.ToString.html index 62d22a695..4a3e39399 100644 --- a/latest/api/generated/compas_fab.robots.Constraint.ToString.html +++ b/latest/api/generated/compas_fab.robots.Constraint.ToString.html @@ -623,7 +623,7 @@

Constraint.ToString

-Constraint.ToString()[source]
+Constraint.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.Constraint.copy.html b/latest/api/generated/compas_fab.robots.Constraint.copy.html index eb43e65ef..5baf7152c 100644 --- a/latest/api/generated/compas_fab.robots.Constraint.copy.html +++ b/latest/api/generated/compas_fab.robots.Constraint.copy.html @@ -623,7 +623,7 @@

Constraint.copy

-Constraint.copy()[source]
+Constraint.copy()[source]

Create a copy of this Constraint.

Returns:
diff --git a/latest/api/generated/compas_fab.robots.Constraint.from_json.html b/latest/api/generated/compas_fab.robots.Constraint.from_json.html index 74af5ec77..5ab8310b7 100644 --- a/latest/api/generated/compas_fab.robots.Constraint.from_json.html +++ b/latest/api/generated/compas_fab.robots.Constraint.from_json.html @@ -623,7 +623,7 @@

Constraint.from_json

-classmethod Constraint.from_json(filepath)[source]
+classmethod Constraint.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Constraint.from_jsonstring.html b/latest/api/generated/compas_fab.robots.Constraint.from_jsonstring.html index 79dd1dbdb..33cd9f5ab 100644 --- a/latest/api/generated/compas_fab.robots.Constraint.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Constraint.from_jsonstring.html @@ -623,7 +623,7 @@

Constraint.from_jsonstring

-classmethod Constraint.from_jsonstring(string)[source]
+classmethod Constraint.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Constraint.html b/latest/api/generated/compas_fab.robots.Constraint.html index 923d2b43e..9543e7217 100644 --- a/latest/api/generated/compas_fab.robots.Constraint.html +++ b/latest/api/generated/compas_fab.robots.Constraint.html @@ -623,7 +623,7 @@

Constraint

-class compas_fab.robots.Constraint[source]
+class compas_fab.robots.Constraint[source]

Bases: Data

Base class for robot constraints.

diff --git a/latest/api/generated/compas_fab.robots.Constraint.scale.html b/latest/api/generated/compas_fab.robots.Constraint.scale.html index 123c340db..b7c3f24fa 100644 --- a/latest/api/generated/compas_fab.robots.Constraint.scale.html +++ b/latest/api/generated/compas_fab.robots.Constraint.scale.html @@ -623,7 +623,7 @@

Constraint.scale

-Constraint.scale(scale_factor)[source]
+Constraint.scale(scale_factor)[source]

Scale the Constraint.

diff --git a/latest/api/generated/compas_fab.robots.Constraint.scaled.html b/latest/api/generated/compas_fab.robots.Constraint.scaled.html index a3095860a..f7eacc320 100644 --- a/latest/api/generated/compas_fab.robots.Constraint.scaled.html +++ b/latest/api/generated/compas_fab.robots.Constraint.scaled.html @@ -623,7 +623,7 @@

Constraint.scaled

-Constraint.scaled(scale_factor)[source]
+Constraint.scaled(scale_factor)[source]

Get a scaled copy of this Constraint.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Constraint.sha256.html b/latest/api/generated/compas_fab.robots.Constraint.sha256.html index 484383baf..844023ea7 100644 --- a/latest/api/generated/compas_fab.robots.Constraint.sha256.html +++ b/latest/api/generated/compas_fab.robots.Constraint.sha256.html @@ -623,7 +623,7 @@

Constraint.sha256

-Constraint.sha256(as_string=False)[source]
+Constraint.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Constraint.to_json.html b/latest/api/generated/compas_fab.robots.Constraint.to_json.html index 113db1c09..071c348b4 100644 --- a/latest/api/generated/compas_fab.robots.Constraint.to_json.html +++ b/latest/api/generated/compas_fab.robots.Constraint.to_json.html @@ -623,7 +623,7 @@

Constraint.to_json

-Constraint.to_json(filepath, pretty=False)[source]
+Constraint.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Constraint.to_jsonstring.html b/latest/api/generated/compas_fab.robots.Constraint.to_jsonstring.html index 6d75ca10d..c64078e7b 100644 --- a/latest/api/generated/compas_fab.robots.Constraint.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Constraint.to_jsonstring.html @@ -623,7 +623,7 @@

Constraint.to_jsonstring

-Constraint.to_jsonstring(pretty=False)[source]
+Constraint.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Constraint.transform.html b/latest/api/generated/compas_fab.robots.Constraint.transform.html index 85a317618..a1c90e6b8 100644 --- a/latest/api/generated/compas_fab.robots.Constraint.transform.html +++ b/latest/api/generated/compas_fab.robots.Constraint.transform.html @@ -623,7 +623,7 @@

Constraint.transform

-Constraint.transform(transformation)[source]
+Constraint.transform(transformation)[source]

Transform the Constraint.

diff --git a/latest/api/generated/compas_fab.robots.Constraint.validate_data.html b/latest/api/generated/compas_fab.robots.Constraint.validate_data.html index 13fa439ae..9aefc40df 100644 --- a/latest/api/generated/compas_fab.robots.Constraint.validate_data.html +++ b/latest/api/generated/compas_fab.robots.Constraint.validate_data.html @@ -623,7 +623,7 @@

Constraint.validate_data

-classmethod Constraint.validate_data(data)[source]
+classmethod Constraint.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.ToString.html b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.ToString.html index 3e40166c8..bd3f5d403 100644 --- a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.ToString.html +++ b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.ToString.html @@ -623,7 +623,7 @@

ConstraintSetTarget.ToString

-ConstraintSetTarget.ToString()[source]
+ConstraintSetTarget.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.copy.html b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.copy.html index 2fbc014ec..01b6fe426 100644 --- a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.copy.html +++ b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.copy.html @@ -623,7 +623,7 @@

ConstraintSetTarget.copy

-ConstraintSetTarget.copy(cls=None)[source]
+ConstraintSetTarget.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.from_json.html b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.from_json.html index 0d05f610a..f1e4344db 100644 --- a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.from_json.html +++ b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.from_json.html @@ -623,7 +623,7 @@

ConstraintSetTarget.from_json

-classmethod ConstraintSetTarget.from_json(filepath)[source]
+classmethod ConstraintSetTarget.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.from_jsonstring.html b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.from_jsonstring.html index e31bf4418..c080baf1b 100644 --- a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.from_jsonstring.html @@ -623,7 +623,7 @@

ConstraintSetTarget.from_jsonstring

-classmethod ConstraintSetTarget.from_jsonstring(string)[source]
+classmethod ConstraintSetTarget.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.html b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.html index 687d8d7cd..8c9a546dc 100644 --- a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.html +++ b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.html @@ -623,7 +623,7 @@

ConstraintSetTarget

-class compas_fab.robots.ConstraintSetTarget[source]
+class compas_fab.robots.ConstraintSetTarget[source]

Bases: Target

Represents a list of Constraint as the target for motion planning.

Given a ConstraintSetTarget, the planner aims to find a path moving diff --git a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.scaled.html b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.scaled.html index 8951ae22d..1550d9c51 100644 --- a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.scaled.html +++ b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.scaled.html @@ -623,7 +623,7 @@

ConstraintSetTarget.scaled

-ConstraintSetTarget.scaled(factor)[source]
+ConstraintSetTarget.scaled(factor)[source]

Returns a scaled copy of the target.

Raises:
diff --git a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.sha256.html b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.sha256.html index 2f1f26cfe..b45ce81da 100644 --- a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.sha256.html +++ b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.sha256.html @@ -623,7 +623,7 @@

ConstraintSetTarget.sha256

-ConstraintSetTarget.sha256(as_string=False)[source]
+ConstraintSetTarget.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.to_json.html b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.to_json.html index 9309ff922..042da4803 100644 --- a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.to_json.html +++ b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.to_json.html @@ -623,7 +623,7 @@

ConstraintSetTarget.to_json

-ConstraintSetTarget.to_json(filepath, pretty=False)[source]
+ConstraintSetTarget.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.to_jsonstring.html b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.to_jsonstring.html index afd4637e1..b6cd90f74 100644 --- a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.to_jsonstring.html @@ -623,7 +623,7 @@

ConstraintSetTarget.to_jsonstring

-ConstraintSetTarget.to_jsonstring(pretty=False)[source]
+ConstraintSetTarget.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.validate_data.html b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.validate_data.html index b5502118c..c30ec3505 100644 --- a/latest/api/generated/compas_fab.robots.ConstraintSetTarget.validate_data.html +++ b/latest/api/generated/compas_fab.robots.ConstraintSetTarget.validate_data.html @@ -623,7 +623,7 @@

ConstraintSetTarget.validate_data

-classmethod ConstraintSetTarget.validate_data(data)[source]
+classmethod ConstraintSetTarget.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.DeviationVectorsGenerator.html b/latest/api/generated/compas_fab.robots.DeviationVectorsGenerator.html index ca2aec068..d432c1283 100644 --- a/latest/api/generated/compas_fab.robots.DeviationVectorsGenerator.html +++ b/latest/api/generated/compas_fab.robots.DeviationVectorsGenerator.html @@ -623,7 +623,7 @@

DeviationVectorsGenerator

-class compas_fab.robots.DeviationVectorsGenerator[source]
+class compas_fab.robots.DeviationVectorsGenerator[source]

Bases: object

Calculates equally distributed vectors that deviate from the specified one by a maximal angle of max_alpha.

diff --git a/latest/api/generated/compas_fab.robots.Duration.ToString.html b/latest/api/generated/compas_fab.robots.Duration.ToString.html index 21b3d9d59..5fac7556a 100644 --- a/latest/api/generated/compas_fab.robots.Duration.ToString.html +++ b/latest/api/generated/compas_fab.robots.Duration.ToString.html @@ -623,7 +623,7 @@

Duration.ToString

-Duration.ToString()[source]
+Duration.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.Duration.copy.html b/latest/api/generated/compas_fab.robots.Duration.copy.html index 7496c5d06..cfed1f869 100644 --- a/latest/api/generated/compas_fab.robots.Duration.copy.html +++ b/latest/api/generated/compas_fab.robots.Duration.copy.html @@ -623,7 +623,7 @@

Duration.copy

-Duration.copy(cls=None)[source]
+Duration.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Duration.from_json.html b/latest/api/generated/compas_fab.robots.Duration.from_json.html index cc08eb226..fd8553d37 100644 --- a/latest/api/generated/compas_fab.robots.Duration.from_json.html +++ b/latest/api/generated/compas_fab.robots.Duration.from_json.html @@ -623,7 +623,7 @@

Duration.from_json

-classmethod Duration.from_json(filepath)[source]
+classmethod Duration.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Duration.from_jsonstring.html b/latest/api/generated/compas_fab.robots.Duration.from_jsonstring.html index 305a02e6c..48c61f242 100644 --- a/latest/api/generated/compas_fab.robots.Duration.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Duration.from_jsonstring.html @@ -623,7 +623,7 @@

Duration.from_jsonstring

-classmethod Duration.from_jsonstring(string)[source]
+classmethod Duration.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Duration.html b/latest/api/generated/compas_fab.robots.Duration.html index d6f88a53f..75e288938 100644 --- a/latest/api/generated/compas_fab.robots.Duration.html +++ b/latest/api/generated/compas_fab.robots.Duration.html @@ -623,7 +623,7 @@

Duration

-class compas_fab.robots.Duration[source]
+class compas_fab.robots.Duration[source]

Bases: Data

Duration is used to accurately describe the passage of time. It consists of seconds and nanoseconds, the total duration is the sum of the two values.

diff --git a/latest/api/generated/compas_fab.robots.Duration.sha256.html b/latest/api/generated/compas_fab.robots.Duration.sha256.html index 29c30cea4..deaa711e8 100644 --- a/latest/api/generated/compas_fab.robots.Duration.sha256.html +++ b/latest/api/generated/compas_fab.robots.Duration.sha256.html @@ -623,7 +623,7 @@

Duration.sha256

-Duration.sha256(as_string=False)[source]
+Duration.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Duration.to_json.html b/latest/api/generated/compas_fab.robots.Duration.to_json.html index eeadc1f16..4e83a8932 100644 --- a/latest/api/generated/compas_fab.robots.Duration.to_json.html +++ b/latest/api/generated/compas_fab.robots.Duration.to_json.html @@ -623,7 +623,7 @@

Duration.to_json

-Duration.to_json(filepath, pretty=False)[source]
+Duration.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Duration.to_jsonstring.html b/latest/api/generated/compas_fab.robots.Duration.to_jsonstring.html index d1419d4a8..27cfc5a91 100644 --- a/latest/api/generated/compas_fab.robots.Duration.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Duration.to_jsonstring.html @@ -623,7 +623,7 @@

Duration.to_jsonstring

-Duration.to_jsonstring(pretty=False)[source]
+Duration.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Duration.validate_data.html b/latest/api/generated/compas_fab.robots.Duration.validate_data.html index 6df9cf217..8aaf7906c 100644 --- a/latest/api/generated/compas_fab.robots.Duration.validate_data.html +++ b/latest/api/generated/compas_fab.robots.Duration.validate_data.html @@ -623,7 +623,7 @@

Duration.validate_data

-classmethod Duration.validate_data(data)[source]
+classmethod Duration.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.FrameTarget.ToString.html b/latest/api/generated/compas_fab.robots.FrameTarget.ToString.html index 8e4b9bebe..96f610be9 100644 --- a/latest/api/generated/compas_fab.robots.FrameTarget.ToString.html +++ b/latest/api/generated/compas_fab.robots.FrameTarget.ToString.html @@ -623,7 +623,7 @@

FrameTarget.ToString

-FrameTarget.ToString()[source]
+FrameTarget.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.FrameTarget.copy.html b/latest/api/generated/compas_fab.robots.FrameTarget.copy.html index 280ff85ff..2abe690be 100644 --- a/latest/api/generated/compas_fab.robots.FrameTarget.copy.html +++ b/latest/api/generated/compas_fab.robots.FrameTarget.copy.html @@ -623,7 +623,7 @@

FrameTarget.copy

-FrameTarget.copy(cls=None)[source]
+FrameTarget.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameTarget.from_json.html b/latest/api/generated/compas_fab.robots.FrameTarget.from_json.html index e86480911..c9dbc56de 100644 --- a/latest/api/generated/compas_fab.robots.FrameTarget.from_json.html +++ b/latest/api/generated/compas_fab.robots.FrameTarget.from_json.html @@ -623,7 +623,7 @@

FrameTarget.from_json

-classmethod FrameTarget.from_json(filepath)[source]
+classmethod FrameTarget.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameTarget.from_jsonstring.html b/latest/api/generated/compas_fab.robots.FrameTarget.from_jsonstring.html index 368c4a262..77da1457c 100644 --- a/latest/api/generated/compas_fab.robots.FrameTarget.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.FrameTarget.from_jsonstring.html @@ -623,7 +623,7 @@

FrameTarget.from_jsonstring

-classmethod FrameTarget.from_jsonstring(string)[source]
+classmethod FrameTarget.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameTarget.from_transformation.html b/latest/api/generated/compas_fab.robots.FrameTarget.from_transformation.html index ee5f4e069..0d7f7e690 100644 --- a/latest/api/generated/compas_fab.robots.FrameTarget.from_transformation.html +++ b/latest/api/generated/compas_fab.robots.FrameTarget.from_transformation.html @@ -623,7 +623,7 @@

FrameTarget.from_transformation

-classmethod FrameTarget.from_transformation(transformation, tolerance_position=None, tolerance_orientation=None, tool_coordinate_frame=None, name='Frame Target')[source]
+classmethod FrameTarget.from_transformation(transformation, tolerance_position=None, tolerance_orientation=None, tool_coordinate_frame=None, name='Frame Target')[source]

Creates a FrameTarget from a transformation matrix.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameTarget.html b/latest/api/generated/compas_fab.robots.FrameTarget.html index 3cd86aaaf..8b3464515 100644 --- a/latest/api/generated/compas_fab.robots.FrameTarget.html +++ b/latest/api/generated/compas_fab.robots.FrameTarget.html @@ -623,7 +623,7 @@

FrameTarget

-class compas_fab.robots.FrameTarget[source]
+class compas_fab.robots.FrameTarget[source]

Bases: Target

Represents a fully constrained pose target for the robot’s end-effector using a compas.geometry.Frame.

When using a FrameTarget, the end-effector has no translational or rotational freedom. diff --git a/latest/api/generated/compas_fab.robots.FrameTarget.scaled.html b/latest/api/generated/compas_fab.robots.FrameTarget.scaled.html index 9a1128290..8b174676d 100644 --- a/latest/api/generated/compas_fab.robots.FrameTarget.scaled.html +++ b/latest/api/generated/compas_fab.robots.FrameTarget.scaled.html @@ -623,7 +623,7 @@

FrameTarget.scaled

-FrameTarget.scaled(factor)[source]
+FrameTarget.scaled(factor)[source]

Returns a copy of the FrameTarget where the target frame and tolerances are scaled.

By convention, compas_fab robots use meters as the default unit of measure. If user model is created in millimeters, the FrameTarget should be scaled by a factor diff --git a/latest/api/generated/compas_fab.robots.FrameTarget.sha256.html b/latest/api/generated/compas_fab.robots.FrameTarget.sha256.html index 0fbd00935..736fbc8ce 100644 --- a/latest/api/generated/compas_fab.robots.FrameTarget.sha256.html +++ b/latest/api/generated/compas_fab.robots.FrameTarget.sha256.html @@ -623,7 +623,7 @@

FrameTarget.sha256

-FrameTarget.sha256(as_string=False)[source]
+FrameTarget.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameTarget.to_json.html b/latest/api/generated/compas_fab.robots.FrameTarget.to_json.html index d6f8d3344..91a5935e8 100644 --- a/latest/api/generated/compas_fab.robots.FrameTarget.to_json.html +++ b/latest/api/generated/compas_fab.robots.FrameTarget.to_json.html @@ -623,7 +623,7 @@

FrameTarget.to_json

-FrameTarget.to_json(filepath, pretty=False)[source]
+FrameTarget.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameTarget.to_jsonstring.html b/latest/api/generated/compas_fab.robots.FrameTarget.to_jsonstring.html index 6828403f9..2c3aaf766 100644 --- a/latest/api/generated/compas_fab.robots.FrameTarget.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.FrameTarget.to_jsonstring.html @@ -623,7 +623,7 @@

FrameTarget.to_jsonstring

-FrameTarget.to_jsonstring(pretty=False)[source]
+FrameTarget.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameTarget.validate_data.html b/latest/api/generated/compas_fab.robots.FrameTarget.validate_data.html index 0ba682dca..922030f56 100644 --- a/latest/api/generated/compas_fab.robots.FrameTarget.validate_data.html +++ b/latest/api/generated/compas_fab.robots.FrameTarget.validate_data.html @@ -623,7 +623,7 @@

FrameTarget.validate_data

-classmethod FrameTarget.validate_data(data)[source]
+classmethod FrameTarget.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.FrameWaypoints.ToString.html b/latest/api/generated/compas_fab.robots.FrameWaypoints.ToString.html index 215ef529c..7ae3ad950 100644 --- a/latest/api/generated/compas_fab.robots.FrameWaypoints.ToString.html +++ b/latest/api/generated/compas_fab.robots.FrameWaypoints.ToString.html @@ -623,7 +623,7 @@

FrameWaypoints.ToString

-FrameWaypoints.ToString()[source]
+FrameWaypoints.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.FrameWaypoints.copy.html b/latest/api/generated/compas_fab.robots.FrameWaypoints.copy.html index c587d7020..2d458be54 100644 --- a/latest/api/generated/compas_fab.robots.FrameWaypoints.copy.html +++ b/latest/api/generated/compas_fab.robots.FrameWaypoints.copy.html @@ -623,7 +623,7 @@

FrameWaypoints.copy

-FrameWaypoints.copy(cls=None)[source]
+FrameWaypoints.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameWaypoints.from_json.html b/latest/api/generated/compas_fab.robots.FrameWaypoints.from_json.html index d21096a63..a6ec2bea4 100644 --- a/latest/api/generated/compas_fab.robots.FrameWaypoints.from_json.html +++ b/latest/api/generated/compas_fab.robots.FrameWaypoints.from_json.html @@ -623,7 +623,7 @@

FrameWaypoints.from_json

-classmethod FrameWaypoints.from_json(filepath)[source]
+classmethod FrameWaypoints.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameWaypoints.from_jsonstring.html b/latest/api/generated/compas_fab.robots.FrameWaypoints.from_jsonstring.html index bddf04f96..b78a5b64c 100644 --- a/latest/api/generated/compas_fab.robots.FrameWaypoints.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.FrameWaypoints.from_jsonstring.html @@ -623,7 +623,7 @@

FrameWaypoints.from_jsonstring

-classmethod FrameWaypoints.from_jsonstring(string)[source]
+classmethod FrameWaypoints.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameWaypoints.from_transformations.html b/latest/api/generated/compas_fab.robots.FrameWaypoints.from_transformations.html index 3b0e47ed9..2515e72eb 100644 --- a/latest/api/generated/compas_fab.robots.FrameWaypoints.from_transformations.html +++ b/latest/api/generated/compas_fab.robots.FrameWaypoints.from_transformations.html @@ -623,7 +623,7 @@

FrameWaypoints.from_transformations

-classmethod FrameWaypoints.from_transformations(transformations, tolerance_position=None, tolerance_orientation=None, tool_coordinate_frame=None, name='Frame Waypoints')[source]
+classmethod FrameWaypoints.from_transformations(transformations, tolerance_position=None, tolerance_orientation=None, tool_coordinate_frame=None, name='Frame Waypoints')[source]

Creates a FrameWaypoints from a list of transformation matrices.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameWaypoints.html b/latest/api/generated/compas_fab.robots.FrameWaypoints.html index 2aba4e60b..f77b06935 100644 --- a/latest/api/generated/compas_fab.robots.FrameWaypoints.html +++ b/latest/api/generated/compas_fab.robots.FrameWaypoints.html @@ -623,7 +623,7 @@

FrameWaypoints

-class compas_fab.robots.FrameWaypoints[source]
+class compas_fab.robots.FrameWaypoints[source]

Bases: Waypoints

Represents a sequence of fully constrained pose target for the robot’s end-effector using a compas.geometry.Frame.

When using a FrameWaypoints, the end-effector has no translational or rotational freedom. diff --git a/latest/api/generated/compas_fab.robots.FrameWaypoints.scaled.html b/latest/api/generated/compas_fab.robots.FrameWaypoints.scaled.html index 459bc5441..236fe8d75 100644 --- a/latest/api/generated/compas_fab.robots.FrameWaypoints.scaled.html +++ b/latest/api/generated/compas_fab.robots.FrameWaypoints.scaled.html @@ -623,7 +623,7 @@

FrameWaypoints.scaled

-FrameWaypoints.scaled(factor)[source]
+FrameWaypoints.scaled(factor)[source]

Returns a copy of the FrameWaypoints where the target frames and tolerances are scaled.

By convention, compas_fab robots use meters as the default unit of measure. If user model is created in millimeters, the FrameWaypoints should be scaled by a factor diff --git a/latest/api/generated/compas_fab.robots.FrameWaypoints.sha256.html b/latest/api/generated/compas_fab.robots.FrameWaypoints.sha256.html index 5c0c99ef6..79fe95f64 100644 --- a/latest/api/generated/compas_fab.robots.FrameWaypoints.sha256.html +++ b/latest/api/generated/compas_fab.robots.FrameWaypoints.sha256.html @@ -623,7 +623,7 @@

FrameWaypoints.sha256

-FrameWaypoints.sha256(as_string=False)[source]
+FrameWaypoints.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameWaypoints.to_json.html b/latest/api/generated/compas_fab.robots.FrameWaypoints.to_json.html index 176ae7614..6cce47481 100644 --- a/latest/api/generated/compas_fab.robots.FrameWaypoints.to_json.html +++ b/latest/api/generated/compas_fab.robots.FrameWaypoints.to_json.html @@ -623,7 +623,7 @@

FrameWaypoints.to_json

-FrameWaypoints.to_json(filepath, pretty=False)[source]
+FrameWaypoints.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameWaypoints.to_jsonstring.html b/latest/api/generated/compas_fab.robots.FrameWaypoints.to_jsonstring.html index b65954cde..f0f578796 100644 --- a/latest/api/generated/compas_fab.robots.FrameWaypoints.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.FrameWaypoints.to_jsonstring.html @@ -623,7 +623,7 @@

FrameWaypoints.to_jsonstring

-FrameWaypoints.to_jsonstring(pretty=False)[source]
+FrameWaypoints.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.FrameWaypoints.validate_data.html b/latest/api/generated/compas_fab.robots.FrameWaypoints.validate_data.html index 415328c43..16fc1bc0d 100644 --- a/latest/api/generated/compas_fab.robots.FrameWaypoints.validate_data.html +++ b/latest/api/generated/compas_fab.robots.FrameWaypoints.validate_data.html @@ -623,7 +623,7 @@

FrameWaypoints.validate_data

-classmethod FrameWaypoints.validate_data(data)[source]
+classmethod FrameWaypoints.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.Inertia.calculate_inertia_tensor.html b/latest/api/generated/compas_fab.robots.Inertia.calculate_inertia_tensor.html index 56e5b93d7..45492b6b5 100644 --- a/latest/api/generated/compas_fab.robots.Inertia.calculate_inertia_tensor.html +++ b/latest/api/generated/compas_fab.robots.Inertia.calculate_inertia_tensor.html @@ -623,7 +623,7 @@

Inertia.calculate_inertia_tensor

-static Inertia.calculate_inertia_tensor(cls, mesh)[source]
+static Inertia.calculate_inertia_tensor(cls, mesh)[source]

Returns the inertia tensor.

diff --git a/latest/api/generated/compas_fab.robots.Inertia.html b/latest/api/generated/compas_fab.robots.Inertia.html index 22ab0f9e3..6b7a82a29 100644 --- a/latest/api/generated/compas_fab.robots.Inertia.html +++ b/latest/api/generated/compas_fab.robots.Inertia.html @@ -623,7 +623,7 @@

Inertia

-class compas_fab.robots.Inertia[source]
+class compas_fab.robots.Inertia[source]

Bases: object

The moments of inertia represent the spatial distribution of mass in a rigid body.

It depends on the mass, size, and shape of a rigid body with units of diff --git a/latest/api/generated/compas_fab.robots.JointConstraint.ToString.html b/latest/api/generated/compas_fab.robots.JointConstraint.ToString.html index bdfedaa5b..7cb2f7815 100644 --- a/latest/api/generated/compas_fab.robots.JointConstraint.ToString.html +++ b/latest/api/generated/compas_fab.robots.JointConstraint.ToString.html @@ -623,7 +623,7 @@

JointConstraint.ToString

-JointConstraint.ToString()[source]
+JointConstraint.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.JointConstraint.copy.html b/latest/api/generated/compas_fab.robots.JointConstraint.copy.html index 5f399e122..1d4e15eaf 100644 --- a/latest/api/generated/compas_fab.robots.JointConstraint.copy.html +++ b/latest/api/generated/compas_fab.robots.JointConstraint.copy.html @@ -623,7 +623,7 @@

JointConstraint.copy

-JointConstraint.copy()[source]
+JointConstraint.copy()[source]

Create a copy of this JointConstraint.

Returns:
diff --git a/latest/api/generated/compas_fab.robots.JointConstraint.from_json.html b/latest/api/generated/compas_fab.robots.JointConstraint.from_json.html index 004dbba8d..97f1d717f 100644 --- a/latest/api/generated/compas_fab.robots.JointConstraint.from_json.html +++ b/latest/api/generated/compas_fab.robots.JointConstraint.from_json.html @@ -623,7 +623,7 @@

JointConstraint.from_json

-classmethod JointConstraint.from_json(filepath)[source]
+classmethod JointConstraint.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointConstraint.from_jsonstring.html b/latest/api/generated/compas_fab.robots.JointConstraint.from_jsonstring.html index d257e0c2b..2429ee72d 100644 --- a/latest/api/generated/compas_fab.robots.JointConstraint.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.JointConstraint.from_jsonstring.html @@ -623,7 +623,7 @@

JointConstraint.from_jsonstring

-classmethod JointConstraint.from_jsonstring(string)[source]
+classmethod JointConstraint.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointConstraint.html b/latest/api/generated/compas_fab.robots.JointConstraint.html index 3138e01c2..44a80ca01 100644 --- a/latest/api/generated/compas_fab.robots.JointConstraint.html +++ b/latest/api/generated/compas_fab.robots.JointConstraint.html @@ -623,7 +623,7 @@

JointConstraint

-class compas_fab.robots.JointConstraint[source]
+class compas_fab.robots.JointConstraint[source]

Bases: Constraint

Constrains the value of a joint to be within a certain bound.

diff --git a/latest/api/generated/compas_fab.robots.JointConstraint.joint_constraints_from_configuration.html b/latest/api/generated/compas_fab.robots.JointConstraint.joint_constraints_from_configuration.html index d4f5c1e66..a844b2165 100644 --- a/latest/api/generated/compas_fab.robots.JointConstraint.joint_constraints_from_configuration.html +++ b/latest/api/generated/compas_fab.robots.JointConstraint.joint_constraints_from_configuration.html @@ -623,7 +623,7 @@

JointConstraint.joint_constraints_from_configuration

-classmethod JointConstraint.joint_constraints_from_configuration(configuration, tolerances_above, tolerances_below)[source]
+classmethod JointConstraint.joint_constraints_from_configuration(configuration, tolerances_above, tolerances_below)[source]

Create joint constraints for all joints of the configuration. One constraint is created for each joint.

diff --git a/latest/api/generated/compas_fab.robots.JointConstraint.scale.html b/latest/api/generated/compas_fab.robots.JointConstraint.scale.html index 31faeaecf..5c9955659 100644 --- a/latest/api/generated/compas_fab.robots.JointConstraint.scale.html +++ b/latest/api/generated/compas_fab.robots.JointConstraint.scale.html @@ -623,7 +623,7 @@

JointConstraint.scale

-JointConstraint.scale(scale_factor)[source]
+JointConstraint.scale(scale_factor)[source]

Scale (multiply) the constraint with a factor.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointConstraint.scaled.html b/latest/api/generated/compas_fab.robots.JointConstraint.scaled.html index 6fbe1482e..178814e4c 100644 --- a/latest/api/generated/compas_fab.robots.JointConstraint.scaled.html +++ b/latest/api/generated/compas_fab.robots.JointConstraint.scaled.html @@ -623,7 +623,7 @@

JointConstraint.scaled

-JointConstraint.scaled(scale_factor)[source]
+JointConstraint.scaled(scale_factor)[source]

Get a scaled copy of this Constraint.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointConstraint.sha256.html b/latest/api/generated/compas_fab.robots.JointConstraint.sha256.html index 8d8bc3dd6..d0313289a 100644 --- a/latest/api/generated/compas_fab.robots.JointConstraint.sha256.html +++ b/latest/api/generated/compas_fab.robots.JointConstraint.sha256.html @@ -623,7 +623,7 @@

JointConstraint.sha256

-JointConstraint.sha256(as_string=False)[source]
+JointConstraint.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointConstraint.to_json.html b/latest/api/generated/compas_fab.robots.JointConstraint.to_json.html index 636a43eeb..17f656b6b 100644 --- a/latest/api/generated/compas_fab.robots.JointConstraint.to_json.html +++ b/latest/api/generated/compas_fab.robots.JointConstraint.to_json.html @@ -623,7 +623,7 @@

JointConstraint.to_json

-JointConstraint.to_json(filepath, pretty=False)[source]
+JointConstraint.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointConstraint.to_jsonstring.html b/latest/api/generated/compas_fab.robots.JointConstraint.to_jsonstring.html index bfb1c39de..4ffa7dfcb 100644 --- a/latest/api/generated/compas_fab.robots.JointConstraint.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.JointConstraint.to_jsonstring.html @@ -623,7 +623,7 @@

JointConstraint.to_jsonstring

-JointConstraint.to_jsonstring(pretty=False)[source]
+JointConstraint.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointConstraint.transform.html b/latest/api/generated/compas_fab.robots.JointConstraint.transform.html index 891658482..5ce79b118 100644 --- a/latest/api/generated/compas_fab.robots.JointConstraint.transform.html +++ b/latest/api/generated/compas_fab.robots.JointConstraint.transform.html @@ -623,7 +623,7 @@

JointConstraint.transform

-JointConstraint.transform(transformation)[source]
+JointConstraint.transform(transformation)[source]

Transform the Constraint.

diff --git a/latest/api/generated/compas_fab.robots.JointConstraint.validate_data.html b/latest/api/generated/compas_fab.robots.JointConstraint.validate_data.html index 05b79f820..73e82e75c 100644 --- a/latest/api/generated/compas_fab.robots.JointConstraint.validate_data.html +++ b/latest/api/generated/compas_fab.robots.JointConstraint.validate_data.html @@ -623,7 +623,7 @@

JointConstraint.validate_data

-classmethod JointConstraint.validate_data(data)[source]
+classmethod JointConstraint.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.JointTrajectory.ToString.html b/latest/api/generated/compas_fab.robots.JointTrajectory.ToString.html index 19a498ff1..1af0d3375 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectory.ToString.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectory.ToString.html @@ -623,7 +623,7 @@

JointTrajectory.ToString

-JointTrajectory.ToString()[source]
+JointTrajectory.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.JointTrajectory.copy.html b/latest/api/generated/compas_fab.robots.JointTrajectory.copy.html index d7f08788a..c55e0d29c 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectory.copy.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectory.copy.html @@ -623,7 +623,7 @@

JointTrajectory.copy

-JointTrajectory.copy(cls=None)[source]
+JointTrajectory.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectory.from_json.html b/latest/api/generated/compas_fab.robots.JointTrajectory.from_json.html index 4dda301fd..ebb692c77 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectory.from_json.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectory.from_json.html @@ -623,7 +623,7 @@

JointTrajectory.from_json

-classmethod JointTrajectory.from_json(filepath)[source]
+classmethod JointTrajectory.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectory.from_jsonstring.html b/latest/api/generated/compas_fab.robots.JointTrajectory.from_jsonstring.html index 2bacf8e35..79e5775c5 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectory.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectory.from_jsonstring.html @@ -623,7 +623,7 @@

JointTrajectory.from_jsonstring

-classmethod JointTrajectory.from_jsonstring(string)[source]
+classmethod JointTrajectory.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectory.html b/latest/api/generated/compas_fab.robots.JointTrajectory.html index 02e28ccb5..ff497d426 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectory.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectory.html @@ -623,7 +623,7 @@

JointTrajectory

-class compas_fab.robots.JointTrajectory[source]
+class compas_fab.robots.JointTrajectory[source]

Bases: Trajectory

Describes a joint trajectory as a list of trajectory points.

diff --git a/latest/api/generated/compas_fab.robots.JointTrajectory.sha256.html b/latest/api/generated/compas_fab.robots.JointTrajectory.sha256.html index 09081c989..df8f4ced1 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectory.sha256.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectory.sha256.html @@ -623,7 +623,7 @@

JointTrajectory.sha256

-JointTrajectory.sha256(as_string=False)[source]
+JointTrajectory.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectory.to_json.html b/latest/api/generated/compas_fab.robots.JointTrajectory.to_json.html index 6d2d03b7f..e090887e9 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectory.to_json.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectory.to_json.html @@ -623,7 +623,7 @@

JointTrajectory.to_json

-JointTrajectory.to_json(filepath, pretty=False)[source]
+JointTrajectory.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectory.to_jsonstring.html b/latest/api/generated/compas_fab.robots.JointTrajectory.to_jsonstring.html index 6b43bfa37..f6a3ef15e 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectory.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectory.to_jsonstring.html @@ -623,7 +623,7 @@

JointTrajectory.to_jsonstring

-JointTrajectory.to_jsonstring(pretty=False)[source]
+JointTrajectory.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectory.validate_data.html b/latest/api/generated/compas_fab.robots.JointTrajectory.validate_data.html index 756de842f..3ece0a318 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectory.validate_data.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectory.validate_data.html @@ -623,7 +623,7 @@

JointTrajectory.validate_data

-classmethod JointTrajectory.validate_data(data)[source]
+classmethod JointTrajectory.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.ToString.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.ToString.html index 8e7107b68..0aa452ece 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.ToString.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.ToString.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.ToString

-JointTrajectoryPoint.ToString()[source]
+JointTrajectoryPoint.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.check_joint_names.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.check_joint_names.html index 1fbea76cd..8511b5931 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.check_joint_names.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.check_joint_names.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.check_joint_names

-JointTrajectoryPoint.check_joint_names()[source]
+JointTrajectoryPoint.check_joint_names()[source]

Raises an error if there is not a joint name for every value.

diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.close_to.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.close_to.html index 75a675f21..bc313a3bd 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.close_to.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.close_to.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.close_to

-JointTrajectoryPoint.close_to(other, tol=0.001)[source]
+JointTrajectoryPoint.close_to(other, tol=0.001)[source]

Returns True if the other Configuration’s joint_values are within a certain range.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.copy.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.copy.html index f3cf448bd..efb816d0d 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.copy.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.copy.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.copy

-JointTrajectoryPoint.copy(cls=None)[source]
+JointTrajectoryPoint.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_json.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_json.html index bff92da6a..e02f3bffe 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_json.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_json.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.from_json

-classmethod JointTrajectoryPoint.from_json(filepath)[source]
+classmethod JointTrajectoryPoint.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_jsonstring.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_jsonstring.html index 2fcbef178..0fab82c40 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_jsonstring.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.from_jsonstring

-classmethod JointTrajectoryPoint.from_jsonstring(string)[source]
+classmethod JointTrajectoryPoint.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_prismatic_and_revolute_values.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_prismatic_and_revolute_values.html index 73f23cd96..2fc8dab44 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_prismatic_and_revolute_values.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_prismatic_and_revolute_values.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.from_prismatic_and_revolute_values

-classmethod JointTrajectoryPoint.from_prismatic_and_revolute_values(prismatic_values, revolute_values, joint_names=None)[source]
+classmethod JointTrajectoryPoint.from_prismatic_and_revolute_values(prismatic_values, revolute_values, joint_names=None)[source]

Construct a configuration from prismatic and revolute joint values.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_revolute_values.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_revolute_values.html index db186f844..f3bd93d98 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_revolute_values.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.from_revolute_values.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.from_revolute_values

-classmethod JointTrajectoryPoint.from_revolute_values(values, joint_names=None)[source]
+classmethod JointTrajectoryPoint.from_revolute_values(values, joint_names=None)[source]

Construct a configuration from revolute joint values in radians.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.get.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.get.html index 4d175277c..f1be83fb0 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.get.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.get.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.get

-JointTrajectoryPoint.get(key, default=None)[source]
+JointTrajectoryPoint.get(key, default=None)[source]
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.html index 9d998789a..309949f35 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.html @@ -623,7 +623,7 @@

JointTrajectoryPoint

-class compas_fab.robots.JointTrajectoryPoint[source]
+class compas_fab.robots.JointTrajectoryPoint[source]

Bases: Configuration

Defines a point within a trajectory.

A trajectory point is a sub-class of compas_robots.Configuration extended diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.items.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.items.html index 53acad54d..480f70809 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.items.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.items.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.items

-JointTrajectoryPoint.items()[source]
+JointTrajectoryPoint.items()[source]
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.iter_differences.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.iter_differences.html index 0898b9aa2..1b8992945 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.iter_differences.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.iter_differences.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.iter_differences

-JointTrajectoryPoint.iter_differences(other)[source]
+JointTrajectoryPoint.iter_differences(other)[source]

Generator over the differences to another Configuration’s joint_values.

If the joint type is revolute or continuous, the smaller difference (+/- 2*:math:pi) is calculated.

diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.keys.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.keys.html index d7df6a25f..b47d90cc0 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.keys.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.keys.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.keys

-JointTrajectoryPoint.keys()[source]
+JointTrajectoryPoint.keys()[source]
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.max_difference.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.max_difference.html index 5566f6a66..6e18c6d1f 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.max_difference.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.max_difference.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.max_difference

-JointTrajectoryPoint.max_difference(other)[source]
+JointTrajectoryPoint.max_difference(other)[source]

Returns the maximum difference to another Configuration’s joint values.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.merge.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.merge.html index 0a67470fa..58de7a611 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.merge.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.merge.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.merge

-JointTrajectoryPoint.merge(other)[source]
+JointTrajectoryPoint.merge(other)[source]

Merge the configuration with another configuration in place along joint names. The other configuration takes precedence over this configuration in case a joint value is present in both.

diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.merged.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.merged.html index 7f9992361..49182e257 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.merged.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.merged.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.merged

-JointTrajectoryPoint.merged(other)[source]
+JointTrajectoryPoint.merged(other)[source]

Get a new JointTrajectoryPoint with this JointTrajectoryPoint merged with another JointTrajectoryPoint. The other JointTrajectoryPoint takes precedence over this JointTrajectoryPoint in case a joint value is present in both.

diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.scale.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.scale.html index 2ebe603de..b46f2ff6c 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.scale.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.scale.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.scale

-JointTrajectoryPoint.scale(scale_factor)[source]
+JointTrajectoryPoint.scale(scale_factor)[source]

Scales the joint positions of the current configuration.

Only scalable joints are scaled, i.e. planar and prismatic joints.

diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.scaled.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.scaled.html index 111041452..21ea30e16 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.scaled.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.scaled.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.scaled

-JointTrajectoryPoint.scaled(scale_factor)[source]
+JointTrajectoryPoint.scaled(scale_factor)[source]

Return a scaled copy of this configuration.

Only scalable joints are scaled, i.e. planar and prismatic joints.

diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.sha256.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.sha256.html index c1ebe2eab..b5d7b0988 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.sha256.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.sha256.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.sha256

-JointTrajectoryPoint.sha256(as_string=False)[source]
+JointTrajectoryPoint.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.to_json.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.to_json.html index e29c77bbb..06471ccc1 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.to_json.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.to_json.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.to_json

-JointTrajectoryPoint.to_json(filepath, pretty=False)[source]
+JointTrajectoryPoint.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.to_jsonstring.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.to_jsonstring.html index c2388cb94..643681355 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.to_jsonstring.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.to_jsonstring

-JointTrajectoryPoint.to_jsonstring(pretty=False)[source]
+JointTrajectoryPoint.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.validate_data.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.validate_data.html index f9aeefb0c..63bc30c31 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.validate_data.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.validate_data.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.validate_data

-classmethod JointTrajectoryPoint.validate_data(data)[source]
+classmethod JointTrajectoryPoint.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.values.html b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.values.html index db8aa424e..0c6da892f 100644 --- a/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.values.html +++ b/latest/api/generated/compas_fab.robots.JointTrajectoryPoint.values.html @@ -623,7 +623,7 @@

JointTrajectoryPoint.values

-JointTrajectoryPoint.values()[source]
+JointTrajectoryPoint.values()[source]
diff --git a/latest/api/generated/compas_fab.robots.OrientationConstraint.ToString.html b/latest/api/generated/compas_fab.robots.OrientationConstraint.ToString.html index fce26e5af..3a60c87f2 100644 --- a/latest/api/generated/compas_fab.robots.OrientationConstraint.ToString.html +++ b/latest/api/generated/compas_fab.robots.OrientationConstraint.ToString.html @@ -623,7 +623,7 @@

OrientationConstraint.ToString

-OrientationConstraint.ToString()[source]
+OrientationConstraint.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.OrientationConstraint.copy.html b/latest/api/generated/compas_fab.robots.OrientationConstraint.copy.html index e17e5c22b..7f01d6628 100644 --- a/latest/api/generated/compas_fab.robots.OrientationConstraint.copy.html +++ b/latest/api/generated/compas_fab.robots.OrientationConstraint.copy.html @@ -623,7 +623,7 @@

OrientationConstraint.copy

-OrientationConstraint.copy()[source]
+OrientationConstraint.copy()[source]

Create a copy of this OrientationConstraint.

Returns:
diff --git a/latest/api/generated/compas_fab.robots.OrientationConstraint.from_frame.html b/latest/api/generated/compas_fab.robots.OrientationConstraint.from_frame.html index 1c08e8493..7216405b7 100644 --- a/latest/api/generated/compas_fab.robots.OrientationConstraint.from_frame.html +++ b/latest/api/generated/compas_fab.robots.OrientationConstraint.from_frame.html @@ -624,7 +624,7 @@

OrientationConstraint.from_frame

-classmethod OrientationConstraint.from_frame(frame_WCF, tolerances_orientation, link_name, tool_coordinate_frame=None, weight=1.0)[source]
+classmethod OrientationConstraint.from_frame(frame_WCF, tolerances_orientation, link_name, tool_coordinate_frame=None, weight=1.0)[source]

Create an OrientationConstraint from a frame on the group’s end-effector link. Only the orientation of the frame is considered for the constraint, expressed as a quaternion.

diff --git a/latest/api/generated/compas_fab.robots.OrientationConstraint.from_json.html b/latest/api/generated/compas_fab.robots.OrientationConstraint.from_json.html index d1930b210..b6115b6d2 100644 --- a/latest/api/generated/compas_fab.robots.OrientationConstraint.from_json.html +++ b/latest/api/generated/compas_fab.robots.OrientationConstraint.from_json.html @@ -623,7 +623,7 @@

OrientationConstraint.from_json

-classmethod OrientationConstraint.from_json(filepath)[source]
+classmethod OrientationConstraint.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.OrientationConstraint.from_jsonstring.html b/latest/api/generated/compas_fab.robots.OrientationConstraint.from_jsonstring.html index 6f5289fae..8eacbecc7 100644 --- a/latest/api/generated/compas_fab.robots.OrientationConstraint.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.OrientationConstraint.from_jsonstring.html @@ -623,7 +623,7 @@

OrientationConstraint.from_jsonstring

-classmethod OrientationConstraint.from_jsonstring(string)[source]
+classmethod OrientationConstraint.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.OrientationConstraint.html b/latest/api/generated/compas_fab.robots.OrientationConstraint.html index 3079aa7aa..680458434 100644 --- a/latest/api/generated/compas_fab.robots.OrientationConstraint.html +++ b/latest/api/generated/compas_fab.robots.OrientationConstraint.html @@ -624,7 +624,7 @@

OrientationConstraint

-class compas_fab.robots.OrientationConstraint[source]
+class compas_fab.robots.OrientationConstraint[source]

Bases: Constraint

Constrains a link to be within a certain orientation.

diff --git a/latest/api/generated/compas_fab.robots.OrientationConstraint.scale.html b/latest/api/generated/compas_fab.robots.OrientationConstraint.scale.html index 9a1c716ac..5abbcd942 100644 --- a/latest/api/generated/compas_fab.robots.OrientationConstraint.scale.html +++ b/latest/api/generated/compas_fab.robots.OrientationConstraint.scale.html @@ -623,7 +623,7 @@

OrientationConstraint.scale

-OrientationConstraint.scale(scale_factor)[source]
+OrientationConstraint.scale(scale_factor)[source]

Scale the Constraint.

diff --git a/latest/api/generated/compas_fab.robots.OrientationConstraint.scaled.html b/latest/api/generated/compas_fab.robots.OrientationConstraint.scaled.html index 06600f231..3e476ba39 100644 --- a/latest/api/generated/compas_fab.robots.OrientationConstraint.scaled.html +++ b/latest/api/generated/compas_fab.robots.OrientationConstraint.scaled.html @@ -623,7 +623,7 @@

OrientationConstraint.scaled

-OrientationConstraint.scaled(scale_factor)[source]
+OrientationConstraint.scaled(scale_factor)[source]

Get a scaled copy of this Constraint.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.OrientationConstraint.sha256.html b/latest/api/generated/compas_fab.robots.OrientationConstraint.sha256.html index 59faac5d7..cb7c260e5 100644 --- a/latest/api/generated/compas_fab.robots.OrientationConstraint.sha256.html +++ b/latest/api/generated/compas_fab.robots.OrientationConstraint.sha256.html @@ -623,7 +623,7 @@

OrientationConstraint.sha256

-OrientationConstraint.sha256(as_string=False)[source]
+OrientationConstraint.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.OrientationConstraint.to_json.html b/latest/api/generated/compas_fab.robots.OrientationConstraint.to_json.html index d2086d3d1..81fba5b64 100644 --- a/latest/api/generated/compas_fab.robots.OrientationConstraint.to_json.html +++ b/latest/api/generated/compas_fab.robots.OrientationConstraint.to_json.html @@ -623,7 +623,7 @@

OrientationConstraint.to_json

-OrientationConstraint.to_json(filepath, pretty=False)[source]
+OrientationConstraint.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.OrientationConstraint.to_jsonstring.html b/latest/api/generated/compas_fab.robots.OrientationConstraint.to_jsonstring.html index 0432cfbff..58b1297b9 100644 --- a/latest/api/generated/compas_fab.robots.OrientationConstraint.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.OrientationConstraint.to_jsonstring.html @@ -623,7 +623,7 @@

OrientationConstraint.to_jsonstring

-OrientationConstraint.to_jsonstring(pretty=False)[source]
+OrientationConstraint.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.OrientationConstraint.transform.html b/latest/api/generated/compas_fab.robots.OrientationConstraint.transform.html index 24968b971..e3d09853c 100644 --- a/latest/api/generated/compas_fab.robots.OrientationConstraint.transform.html +++ b/latest/api/generated/compas_fab.robots.OrientationConstraint.transform.html @@ -623,7 +623,7 @@

OrientationConstraint.transform

-OrientationConstraint.transform(transformation)[source]
+OrientationConstraint.transform(transformation)[source]

Transform the volume using a compas.geometry.Transformation.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.OrientationConstraint.validate_data.html b/latest/api/generated/compas_fab.robots.OrientationConstraint.validate_data.html index 1d919cbf4..a15c0d02f 100644 --- a/latest/api/generated/compas_fab.robots.OrientationConstraint.validate_data.html +++ b/latest/api/generated/compas_fab.robots.OrientationConstraint.validate_data.html @@ -623,7 +623,7 @@

OrientationConstraint.validate_data

-classmethod OrientationConstraint.validate_data(data)[source]
+classmethod OrientationConstraint.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.OrthonormalVectorsFromAxisGenerator.html b/latest/api/generated/compas_fab.robots.OrthonormalVectorsFromAxisGenerator.html index f2b5958bf..77f746ef8 100644 --- a/latest/api/generated/compas_fab.robots.OrthonormalVectorsFromAxisGenerator.html +++ b/latest/api/generated/compas_fab.robots.OrthonormalVectorsFromAxisGenerator.html @@ -623,7 +623,7 @@

OrthonormalVectorsFromAxisGenerator

-class compas_fab.robots.OrthonormalVectorsFromAxisGenerator[source]
+class compas_fab.robots.OrthonormalVectorsFromAxisGenerator[source]

Bases: object

Generate vectors that are orthonormal to an axis.

diff --git a/latest/api/generated/compas_fab.robots.PlanningScene.add_attached_collision_mesh.html b/latest/api/generated/compas_fab.robots.PlanningScene.add_attached_collision_mesh.html index bf5b7bb4f..15506b717 100644 --- a/latest/api/generated/compas_fab.robots.PlanningScene.add_attached_collision_mesh.html +++ b/latest/api/generated/compas_fab.robots.PlanningScene.add_attached_collision_mesh.html @@ -623,7 +623,7 @@

PlanningScene.add_attached_collision_mesh

-PlanningScene.add_attached_collision_mesh(attached_collision_mesh, scale=False)[source]
+PlanningScene.add_attached_collision_mesh(attached_collision_mesh, scale=False)[source]

Add an attached collision object to the planning scene.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PlanningScene.add_attached_tool.html b/latest/api/generated/compas_fab.robots.PlanningScene.add_attached_tool.html index 1fddfd125..ceffcc67c 100644 --- a/latest/api/generated/compas_fab.robots.PlanningScene.add_attached_tool.html +++ b/latest/api/generated/compas_fab.robots.PlanningScene.add_attached_tool.html @@ -623,7 +623,7 @@

PlanningScene.add_attached_tool

-PlanningScene.add_attached_tool(tool=None, group=None)[source]
+PlanningScene.add_attached_tool(tool=None, group=None)[source]

Add the robot’s attached tool to the planning scene if tool is set.

diff --git a/latest/api/generated/compas_fab.robots.PlanningScene.add_collision_mesh.html b/latest/api/generated/compas_fab.robots.PlanningScene.add_collision_mesh.html index 32fb3abe0..228d345e3 100644 --- a/latest/api/generated/compas_fab.robots.PlanningScene.add_collision_mesh.html +++ b/latest/api/generated/compas_fab.robots.PlanningScene.add_collision_mesh.html @@ -623,7 +623,7 @@

PlanningScene.add_collision_mesh

-PlanningScene.add_collision_mesh(collision_mesh, scale=False)[source]
+PlanningScene.add_collision_mesh(collision_mesh, scale=False)[source]

Add a collision mesh to the planning scene.

If there is already a CollisionMesh in the PlanningScene with the same id it will be replaced.

diff --git a/latest/api/generated/compas_fab.robots.PlanningScene.append_collision_mesh.html b/latest/api/generated/compas_fab.robots.PlanningScene.append_collision_mesh.html index ca63d9bb2..29924bcd2 100644 --- a/latest/api/generated/compas_fab.robots.PlanningScene.append_collision_mesh.html +++ b/latest/api/generated/compas_fab.robots.PlanningScene.append_collision_mesh.html @@ -623,7 +623,7 @@

PlanningScene.append_collision_mesh

-PlanningScene.append_collision_mesh(collision_mesh, scale=False)[source]
+PlanningScene.append_collision_mesh(collision_mesh, scale=False)[source]

Append a collision mesh to the planning scene.

Appends a CollisionMesh to the PlanningScene using id as an identifier of a group or cluster of collision meshes. If the group diff --git a/latest/api/generated/compas_fab.robots.PlanningScene.attach_collision_mesh_to_robot_end_effector.html b/latest/api/generated/compas_fab.robots.PlanningScene.attach_collision_mesh_to_robot_end_effector.html index fa6b10607..5b498c429 100644 --- a/latest/api/generated/compas_fab.robots.PlanningScene.attach_collision_mesh_to_robot_end_effector.html +++ b/latest/api/generated/compas_fab.robots.PlanningScene.attach_collision_mesh_to_robot_end_effector.html @@ -623,7 +623,7 @@

PlanningScene.attach_collision_mesh_to_robot_end_effector

-PlanningScene.attach_collision_mesh_to_robot_end_effector(collision_mesh, scale=False, group=None)[source]
+PlanningScene.attach_collision_mesh_to_robot_end_effector(collision_mesh, scale=False, group=None)[source]

Attaches a collision mesh to the robot’s end-effector.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PlanningScene.ensure_client.html b/latest/api/generated/compas_fab.robots.PlanningScene.ensure_client.html index a0a9fa521..50382d182 100644 --- a/latest/api/generated/compas_fab.robots.PlanningScene.ensure_client.html +++ b/latest/api/generated/compas_fab.robots.PlanningScene.ensure_client.html @@ -623,7 +623,7 @@

PlanningScene.ensure_client

-PlanningScene.ensure_client()[source]
+PlanningScene.ensure_client()[source]

Ensure that the planning scene’s robot has a defined client.

Raises:
diff --git a/latest/api/generated/compas_fab.robots.PlanningScene.html b/latest/api/generated/compas_fab.robots.PlanningScene.html index 305fc7689..83f36d794 100644 --- a/latest/api/generated/compas_fab.robots.PlanningScene.html +++ b/latest/api/generated/compas_fab.robots.PlanningScene.html @@ -623,7 +623,7 @@

PlanningScene

-class compas_fab.robots.PlanningScene[source]
+class compas_fab.robots.PlanningScene[source]

Bases: object

Represents the planning scene.

diff --git a/latest/api/generated/compas_fab.robots.PlanningScene.remove_attached_collision_mesh.html b/latest/api/generated/compas_fab.robots.PlanningScene.remove_attached_collision_mesh.html index ff060d6a0..f25d97dc9 100644 --- a/latest/api/generated/compas_fab.robots.PlanningScene.remove_attached_collision_mesh.html +++ b/latest/api/generated/compas_fab.robots.PlanningScene.remove_attached_collision_mesh.html @@ -623,7 +623,7 @@

PlanningScene.remove_attached_collision_mesh

-PlanningScene.remove_attached_collision_mesh(id)[source]
+PlanningScene.remove_attached_collision_mesh(id)[source]

Remove an attached collision object from the planning scene.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PlanningScene.remove_attached_tool.html b/latest/api/generated/compas_fab.robots.PlanningScene.remove_attached_tool.html index eb413a198..6ed589b95 100644 --- a/latest/api/generated/compas_fab.robots.PlanningScene.remove_attached_tool.html +++ b/latest/api/generated/compas_fab.robots.PlanningScene.remove_attached_tool.html @@ -623,7 +623,7 @@

PlanningScene.remove_attached_tool

-PlanningScene.remove_attached_tool()[source]
+PlanningScene.remove_attached_tool()[source]

Remove the robot’s attached tool from the planning scene.

diff --git a/latest/api/generated/compas_fab.robots.PlanningScene.remove_collision_mesh.html b/latest/api/generated/compas_fab.robots.PlanningScene.remove_collision_mesh.html index 072018021..574caa88f 100644 --- a/latest/api/generated/compas_fab.robots.PlanningScene.remove_collision_mesh.html +++ b/latest/api/generated/compas_fab.robots.PlanningScene.remove_collision_mesh.html @@ -623,7 +623,7 @@

PlanningScene.remove_collision_mesh

-PlanningScene.remove_collision_mesh(id)[source]
+PlanningScene.remove_collision_mesh(id)[source]

Remove a collision object from the planning scene.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PlanningScene.reset.html b/latest/api/generated/compas_fab.robots.PlanningScene.reset.html index 216b11d58..0e79ec128 100644 --- a/latest/api/generated/compas_fab.robots.PlanningScene.reset.html +++ b/latest/api/generated/compas_fab.robots.PlanningScene.reset.html @@ -623,7 +623,7 @@

PlanningScene.reset

-PlanningScene.reset()[source]
+PlanningScene.reset()[source]

Resets the planning scene, removing all added collision meshes.

diff --git a/latest/api/generated/compas_fab.robots.PointAxisTarget.ToString.html b/latest/api/generated/compas_fab.robots.PointAxisTarget.ToString.html index 705c4540d..6bf6ff2c6 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisTarget.ToString.html +++ b/latest/api/generated/compas_fab.robots.PointAxisTarget.ToString.html @@ -623,7 +623,7 @@

PointAxisTarget.ToString

-PointAxisTarget.ToString()[source]
+PointAxisTarget.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.PointAxisTarget.copy.html b/latest/api/generated/compas_fab.robots.PointAxisTarget.copy.html index 0cb36d6d5..2897c4ffd 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisTarget.copy.html +++ b/latest/api/generated/compas_fab.robots.PointAxisTarget.copy.html @@ -623,7 +623,7 @@

PointAxisTarget.copy

-PointAxisTarget.copy(cls=None)[source]
+PointAxisTarget.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisTarget.from_json.html b/latest/api/generated/compas_fab.robots.PointAxisTarget.from_json.html index 18333acf8..237c23dde 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisTarget.from_json.html +++ b/latest/api/generated/compas_fab.robots.PointAxisTarget.from_json.html @@ -623,7 +623,7 @@

PointAxisTarget.from_json

-classmethod PointAxisTarget.from_json(filepath)[source]
+classmethod PointAxisTarget.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisTarget.from_jsonstring.html b/latest/api/generated/compas_fab.robots.PointAxisTarget.from_jsonstring.html index d16b33001..a23b47ccb 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisTarget.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.PointAxisTarget.from_jsonstring.html @@ -623,7 +623,7 @@

PointAxisTarget.from_jsonstring

-classmethod PointAxisTarget.from_jsonstring(string)[source]
+classmethod PointAxisTarget.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisTarget.html b/latest/api/generated/compas_fab.robots.PointAxisTarget.html index 2908f7d79..52594b3fd 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisTarget.html +++ b/latest/api/generated/compas_fab.robots.PointAxisTarget.html @@ -623,7 +623,7 @@

PointAxisTarget

-class compas_fab.robots.PointAxisTarget[source]
+class compas_fab.robots.PointAxisTarget[source]

Bases: Target

Represents a point and axis target for the robot’s end-effector motion planning.

This target allows one degree of rotational freedom, enabling the end-effector diff --git a/latest/api/generated/compas_fab.robots.PointAxisTarget.scaled.html b/latest/api/generated/compas_fab.robots.PointAxisTarget.scaled.html index 8a9ebabc4..c647a0a2e 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisTarget.scaled.html +++ b/latest/api/generated/compas_fab.robots.PointAxisTarget.scaled.html @@ -623,7 +623,7 @@

PointAxisTarget.scaled

-PointAxisTarget.scaled(factor)[source]
+PointAxisTarget.scaled(factor)[source]

Returns a copy of the target where the target point and tolerances are scaled.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisTarget.sha256.html b/latest/api/generated/compas_fab.robots.PointAxisTarget.sha256.html index 2620b2d33..5a570166d 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisTarget.sha256.html +++ b/latest/api/generated/compas_fab.robots.PointAxisTarget.sha256.html @@ -623,7 +623,7 @@

PointAxisTarget.sha256

-PointAxisTarget.sha256(as_string=False)[source]
+PointAxisTarget.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisTarget.to_json.html b/latest/api/generated/compas_fab.robots.PointAxisTarget.to_json.html index 340aa4286..b724152a6 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisTarget.to_json.html +++ b/latest/api/generated/compas_fab.robots.PointAxisTarget.to_json.html @@ -623,7 +623,7 @@

PointAxisTarget.to_json

-PointAxisTarget.to_json(filepath, pretty=False)[source]
+PointAxisTarget.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisTarget.to_jsonstring.html b/latest/api/generated/compas_fab.robots.PointAxisTarget.to_jsonstring.html index 4d52f780f..a6bc878b9 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisTarget.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.PointAxisTarget.to_jsonstring.html @@ -623,7 +623,7 @@

PointAxisTarget.to_jsonstring

-PointAxisTarget.to_jsonstring(pretty=False)[source]
+PointAxisTarget.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisTarget.validate_data.html b/latest/api/generated/compas_fab.robots.PointAxisTarget.validate_data.html index 17a2d0908..9525e9f72 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisTarget.validate_data.html +++ b/latest/api/generated/compas_fab.robots.PointAxisTarget.validate_data.html @@ -623,7 +623,7 @@

PointAxisTarget.validate_data

-classmethod PointAxisTarget.validate_data(data)[source]
+classmethod PointAxisTarget.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.ToString.html b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.ToString.html index 7577b3e70..79840a43b 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.ToString.html +++ b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.ToString.html @@ -623,7 +623,7 @@

PointAxisWaypoints.ToString

-PointAxisWaypoints.ToString()[source]
+PointAxisWaypoints.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.copy.html b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.copy.html index 4fcaa8429..46a45a4cb 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.copy.html +++ b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.copy.html @@ -623,7 +623,7 @@

PointAxisWaypoints.copy

-PointAxisWaypoints.copy(cls=None)[source]
+PointAxisWaypoints.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.from_json.html b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.from_json.html index c4216fc25..9f4e3a736 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.from_json.html +++ b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.from_json.html @@ -623,7 +623,7 @@

PointAxisWaypoints.from_json

-classmethod PointAxisWaypoints.from_json(filepath)[source]
+classmethod PointAxisWaypoints.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.from_jsonstring.html b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.from_jsonstring.html index 4aa487ad1..3c7980c29 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.from_jsonstring.html @@ -623,7 +623,7 @@

PointAxisWaypoints.from_jsonstring

-classmethod PointAxisWaypoints.from_jsonstring(string)[source]
+classmethod PointAxisWaypoints.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.html b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.html index 331a05e7c..5a195fcf3 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.html +++ b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.html @@ -623,7 +623,7 @@

PointAxisWaypoints

-class compas_fab.robots.PointAxisWaypoints[source]
+class compas_fab.robots.PointAxisWaypoints[source]

Bases: Waypoints

Represents a sequence of point and axis targets for the robot’s end-effector motion planning.

PointAxisTarget is suitable for tasks like drawing, milling, and 3D printing, diff --git a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.scaled.html b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.scaled.html index cfae9664a..b0b587a6b 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.scaled.html +++ b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.scaled.html @@ -623,7 +623,7 @@

PointAxisWaypoints.scaled

-PointAxisWaypoints.scaled(factor)[source]
+PointAxisWaypoints.scaled(factor)[source]

Returns a copy of the target where the target points and tolerances are scaled.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.sha256.html b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.sha256.html index 9fb5b0309..66e4f1489 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.sha256.html +++ b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.sha256.html @@ -623,7 +623,7 @@

PointAxisWaypoints.sha256

-PointAxisWaypoints.sha256(as_string=False)[source]
+PointAxisWaypoints.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.to_json.html b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.to_json.html index 8737490fb..a18893509 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.to_json.html +++ b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.to_json.html @@ -623,7 +623,7 @@

PointAxisWaypoints.to_json

-PointAxisWaypoints.to_json(filepath, pretty=False)[source]
+PointAxisWaypoints.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.to_jsonstring.html b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.to_jsonstring.html index a75cba85b..65f6493b7 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.to_jsonstring.html @@ -623,7 +623,7 @@

PointAxisWaypoints.to_jsonstring

-PointAxisWaypoints.to_jsonstring(pretty=False)[source]
+PointAxisWaypoints.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.validate_data.html b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.validate_data.html index 424057c18..89d4ec71e 100644 --- a/latest/api/generated/compas_fab.robots.PointAxisWaypoints.validate_data.html +++ b/latest/api/generated/compas_fab.robots.PointAxisWaypoints.validate_data.html @@ -623,7 +623,7 @@

PointAxisWaypoints.validate_data

-classmethod PointAxisWaypoints.validate_data(data)[source]
+classmethod PointAxisWaypoints.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.ToString.html b/latest/api/generated/compas_fab.robots.PositionConstraint.ToString.html index 564cd24cc..346c4e883 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.ToString.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.ToString.html @@ -623,7 +623,7 @@

PositionConstraint.ToString

-PositionConstraint.ToString()[source]
+PositionConstraint.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.copy.html b/latest/api/generated/compas_fab.robots.PositionConstraint.copy.html index 0fa1d695b..34b433381 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.copy.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.copy.html @@ -623,7 +623,7 @@

PositionConstraint.copy

-PositionConstraint.copy()[source]
+PositionConstraint.copy()[source]

Create a copy of this PositionConstraint.

Returns:
diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.from_box.html b/latest/api/generated/compas_fab.robots.PositionConstraint.from_box.html index 707a9be21..1082e1f46 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.from_box.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.from_box.html @@ -623,7 +623,7 @@

PositionConstraint.from_box

-classmethod PositionConstraint.from_box(link_name, box, weight=1.0)[source]
+classmethod PositionConstraint.from_box(link_name, box, weight=1.0)[source]

Create a PositionConstraint from a compas.geometry.Box.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.from_frame.html b/latest/api/generated/compas_fab.robots.PositionConstraint.from_frame.html index d343f991b..387793347 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.from_frame.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.from_frame.html @@ -623,7 +623,7 @@

PositionConstraint.from_frame

-classmethod PositionConstraint.from_frame(frame_WCF, tolerance_position, link_name, tool_coordinate_frame=None, weight=1.0)[source]
+classmethod PositionConstraint.from_frame(frame_WCF, tolerance_position, link_name, tool_coordinate_frame=None, weight=1.0)[source]

Create a PositionConstraint from a frame on the group’s end-effector link. Only the position of the frame is considered for the constraint.

diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.from_json.html b/latest/api/generated/compas_fab.robots.PositionConstraint.from_json.html index 5e1788ab5..c3fc29f46 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.from_json.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.from_json.html @@ -623,7 +623,7 @@

PositionConstraint.from_json

-classmethod PositionConstraint.from_json(filepath)[source]
+classmethod PositionConstraint.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.from_jsonstring.html b/latest/api/generated/compas_fab.robots.PositionConstraint.from_jsonstring.html index 2147281a3..2cb6fafd2 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.from_jsonstring.html @@ -623,7 +623,7 @@

PositionConstraint.from_jsonstring

-classmethod PositionConstraint.from_jsonstring(string)[source]
+classmethod PositionConstraint.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.from_mesh.html b/latest/api/generated/compas_fab.robots.PositionConstraint.from_mesh.html index f0b99ef5a..b6f0470a5 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.from_mesh.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.from_mesh.html @@ -623,7 +623,7 @@

PositionConstraint.from_mesh

-classmethod PositionConstraint.from_mesh(link_name, mesh, weight=1.0)[source]
+classmethod PositionConstraint.from_mesh(link_name, mesh, weight=1.0)[source]

Create a PositionConstraint from a compas.datastructures.Mesh.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.from_point.html b/latest/api/generated/compas_fab.robots.PositionConstraint.from_point.html index c168ba9ac..bb499e885 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.from_point.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.from_point.html @@ -623,7 +623,7 @@

PositionConstraint.from_point

-classmethod PositionConstraint.from_point(link_name, point, tolerance_position, weight=1.0)[source]
+classmethod PositionConstraint.from_point(link_name, point, tolerance_position, weight=1.0)[source]

Create a PositionConstraint from a point.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.from_sphere.html b/latest/api/generated/compas_fab.robots.PositionConstraint.from_sphere.html index c86020088..eceac18e7 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.from_sphere.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.from_sphere.html @@ -623,7 +623,7 @@

PositionConstraint.from_sphere

-classmethod PositionConstraint.from_sphere(link_name, sphere, weight=1.0)[source]
+classmethod PositionConstraint.from_sphere(link_name, sphere, weight=1.0)[source]

Create a PositionConstraint from a compas.geometry.Sphere.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.html b/latest/api/generated/compas_fab.robots.PositionConstraint.html index e899f94cd..3e6ff5bad 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.html @@ -623,7 +623,7 @@

PositionConstraint

-class compas_fab.robots.PositionConstraint[source]
+class compas_fab.robots.PositionConstraint[source]

Bases: Constraint

Constrains a link to be within a certain bounding volume.

diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.scale.html b/latest/api/generated/compas_fab.robots.PositionConstraint.scale.html index af7a839ed..d95e6640a 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.scale.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.scale.html @@ -623,7 +623,7 @@

PositionConstraint.scale

-PositionConstraint.scale(scale_factor)[source]
+PositionConstraint.scale(scale_factor)[source]

Scale the bounding_volume uniformely.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.scaled.html b/latest/api/generated/compas_fab.robots.PositionConstraint.scaled.html index ef7c7281d..802e1a27f 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.scaled.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.scaled.html @@ -623,7 +623,7 @@

PositionConstraint.scaled

-PositionConstraint.scaled(scale_factor)[source]
+PositionConstraint.scaled(scale_factor)[source]

Get a scaled copy of this Constraint.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.sha256.html b/latest/api/generated/compas_fab.robots.PositionConstraint.sha256.html index 237b88fc9..d787e7205 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.sha256.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.sha256.html @@ -623,7 +623,7 @@

PositionConstraint.sha256

-PositionConstraint.sha256(as_string=False)[source]
+PositionConstraint.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.to_json.html b/latest/api/generated/compas_fab.robots.PositionConstraint.to_json.html index 86a94a777..24eb31447 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.to_json.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.to_json.html @@ -623,7 +623,7 @@

PositionConstraint.to_json

-PositionConstraint.to_json(filepath, pretty=False)[source]
+PositionConstraint.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.to_jsonstring.html b/latest/api/generated/compas_fab.robots.PositionConstraint.to_jsonstring.html index 5113c1ec6..2cacecbb1 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.to_jsonstring.html @@ -623,7 +623,7 @@

PositionConstraint.to_jsonstring

-PositionConstraint.to_jsonstring(pretty=False)[source]
+PositionConstraint.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.transform.html b/latest/api/generated/compas_fab.robots.PositionConstraint.transform.html index 8f0b93237..6de68abe5 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.transform.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.transform.html @@ -623,7 +623,7 @@

PositionConstraint.transform

-PositionConstraint.transform(transformation)[source]
+PositionConstraint.transform(transformation)[source]

Transform the bounding_volume using a compas.geometry.Transformation.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.PositionConstraint.validate_data.html b/latest/api/generated/compas_fab.robots.PositionConstraint.validate_data.html index fde347303..83bdfa62f 100644 --- a/latest/api/generated/compas_fab.robots.PositionConstraint.validate_data.html +++ b/latest/api/generated/compas_fab.robots.PositionConstraint.validate_data.html @@ -623,7 +623,7 @@

PositionConstraint.validate_data

-classmethod PositionConstraint.validate_data(data)[source]
+classmethod PositionConstraint.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.ReachabilityMap.ToString.html b/latest/api/generated/compas_fab.robots.ReachabilityMap.ToString.html index acbff08ea..89e83ed35 100644 --- a/latest/api/generated/compas_fab.robots.ReachabilityMap.ToString.html +++ b/latest/api/generated/compas_fab.robots.ReachabilityMap.ToString.html @@ -623,7 +623,7 @@

ReachabilityMap.ToString

-ReachabilityMap.ToString()[source]
+ReachabilityMap.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.ReachabilityMap.calculate.html b/latest/api/generated/compas_fab.robots.ReachabilityMap.calculate.html index 610a94613..4c4d10199 100644 --- a/latest/api/generated/compas_fab.robots.ReachabilityMap.calculate.html +++ b/latest/api/generated/compas_fab.robots.ReachabilityMap.calculate.html @@ -623,7 +623,7 @@

ReachabilityMap.calculate

-ReachabilityMap.calculate(frame_generator, robot, ik_options=None)[source]
+ReachabilityMap.calculate(frame_generator, robot, ik_options=None)[source]

Calculates the reachability map.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ReachabilityMap.copy.html b/latest/api/generated/compas_fab.robots.ReachabilityMap.copy.html index 2dd1e670b..73a2ce208 100644 --- a/latest/api/generated/compas_fab.robots.ReachabilityMap.copy.html +++ b/latest/api/generated/compas_fab.robots.ReachabilityMap.copy.html @@ -623,7 +623,7 @@

ReachabilityMap.copy

-ReachabilityMap.copy(cls=None)[source]
+ReachabilityMap.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ReachabilityMap.from_json.html b/latest/api/generated/compas_fab.robots.ReachabilityMap.from_json.html index 5fd6af1e8..ab5a73944 100644 --- a/latest/api/generated/compas_fab.robots.ReachabilityMap.from_json.html +++ b/latest/api/generated/compas_fab.robots.ReachabilityMap.from_json.html @@ -623,7 +623,7 @@

ReachabilityMap.from_json

-classmethod ReachabilityMap.from_json(filepath)[source]
+classmethod ReachabilityMap.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ReachabilityMap.from_jsonstring.html b/latest/api/generated/compas_fab.robots.ReachabilityMap.from_jsonstring.html index 88535b821..4cd98b18d 100644 --- a/latest/api/generated/compas_fab.robots.ReachabilityMap.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.ReachabilityMap.from_jsonstring.html @@ -623,7 +623,7 @@

ReachabilityMap.from_jsonstring

-classmethod ReachabilityMap.from_jsonstring(string)[source]
+classmethod ReachabilityMap.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ReachabilityMap.html b/latest/api/generated/compas_fab.robots.ReachabilityMap.html index 3284e576b..c5c9d3e48 100644 --- a/latest/api/generated/compas_fab.robots.ReachabilityMap.html +++ b/latest/api/generated/compas_fab.robots.ReachabilityMap.html @@ -623,7 +623,7 @@

ReachabilityMap

-class compas_fab.robots.ReachabilityMap[source]
+class compas_fab.robots.ReachabilityMap[source]

Bases: Data

The ReachabilityMap describes the reachability of a robot.

The ReachabilityMap describes the reachability of a robot at certain frames, diff --git a/latest/api/generated/compas_fab.robots.ReachabilityMap.reachable_frames_and_configurations_at_ik_index.html b/latest/api/generated/compas_fab.robots.ReachabilityMap.reachable_frames_and_configurations_at_ik_index.html index bb8107314..e420dcf77 100644 --- a/latest/api/generated/compas_fab.robots.ReachabilityMap.reachable_frames_and_configurations_at_ik_index.html +++ b/latest/api/generated/compas_fab.robots.ReachabilityMap.reachable_frames_and_configurations_at_ik_index.html @@ -623,7 +623,7 @@

ReachabilityMap.reachable_frames_and_configurations_at_ik_index

-ReachabilityMap.reachable_frames_and_configurations_at_ik_index(ik_index)[source]
+ReachabilityMap.reachable_frames_and_configurations_at_ik_index(ik_index)[source]

Returns the reachable frames and configurations at a specific ik index.

diff --git a/latest/api/generated/compas_fab.robots.ReachabilityMap.sha256.html b/latest/api/generated/compas_fab.robots.ReachabilityMap.sha256.html index 5d2c88f1a..ac3ab6698 100644 --- a/latest/api/generated/compas_fab.robots.ReachabilityMap.sha256.html +++ b/latest/api/generated/compas_fab.robots.ReachabilityMap.sha256.html @@ -623,7 +623,7 @@

ReachabilityMap.sha256

-ReachabilityMap.sha256(as_string=False)[source]
+ReachabilityMap.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ReachabilityMap.to_json.html b/latest/api/generated/compas_fab.robots.ReachabilityMap.to_json.html index e9f5c5015..cdf9815a9 100644 --- a/latest/api/generated/compas_fab.robots.ReachabilityMap.to_json.html +++ b/latest/api/generated/compas_fab.robots.ReachabilityMap.to_json.html @@ -623,7 +623,7 @@

ReachabilityMap.to_json

-ReachabilityMap.to_json(filepath, pretty=False)[source]
+ReachabilityMap.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ReachabilityMap.to_jsonstring.html b/latest/api/generated/compas_fab.robots.ReachabilityMap.to_jsonstring.html index 9f9f2ed80..180e99645 100644 --- a/latest/api/generated/compas_fab.robots.ReachabilityMap.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.ReachabilityMap.to_jsonstring.html @@ -623,7 +623,7 @@

ReachabilityMap.to_jsonstring

-ReachabilityMap.to_jsonstring(pretty=False)[source]
+ReachabilityMap.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.ReachabilityMap.validate_data.html b/latest/api/generated/compas_fab.robots.ReachabilityMap.validate_data.html index c47705f7e..047147f48 100644 --- a/latest/api/generated/compas_fab.robots.ReachabilityMap.validate_data.html +++ b/latest/api/generated/compas_fab.robots.ReachabilityMap.validate_data.html @@ -623,7 +623,7 @@

ReachabilityMap.validate_data

-classmethod ReachabilityMap.validate_data(data)[source]
+classmethod ReachabilityMap.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.Robot.ToString.html b/latest/api/generated/compas_fab.robots.Robot.ToString.html index 3dd4830b9..0e2a5701b 100644 --- a/latest/api/generated/compas_fab.robots.Robot.ToString.html +++ b/latest/api/generated/compas_fab.robots.Robot.ToString.html @@ -623,7 +623,7 @@

Robot.ToString

-Robot.ToString()[source]
+Robot.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.Robot.attach_tool.html b/latest/api/generated/compas_fab.robots.Robot.attach_tool.html index 91b820283..1948a086a 100644 --- a/latest/api/generated/compas_fab.robots.Robot.attach_tool.html +++ b/latest/api/generated/compas_fab.robots.Robot.attach_tool.html @@ -623,7 +623,7 @@

Robot.attach_tool

-Robot.attach_tool(tool, group=None, touch_links=None)[source]
+Robot.attach_tool(tool, group=None, touch_links=None)[source]

Attach a tool to the robot independently of the model definition.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.basic.html b/latest/api/generated/compas_fab.robots.Robot.basic.html index 6cc60b7ef..05ee68798 100644 --- a/latest/api/generated/compas_fab.robots.Robot.basic.html +++ b/latest/api/generated/compas_fab.robots.Robot.basic.html @@ -623,7 +623,7 @@

Robot.basic

-classmethod Robot.basic(name, joints=None, links=None, materials=None, **kwargs)[source]
+classmethod Robot.basic(name, joints=None, links=None, materials=None, **kwargs)[source]

Create the most basic instance of a robot, based only on name.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.copy.html b/latest/api/generated/compas_fab.robots.Robot.copy.html index f31dad2ba..b67ebb9ff 100644 --- a/latest/api/generated/compas_fab.robots.Robot.copy.html +++ b/latest/api/generated/compas_fab.robots.Robot.copy.html @@ -623,7 +623,7 @@

Robot.copy

-Robot.copy(cls=None)[source]
+Robot.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.detach_tool.html b/latest/api/generated/compas_fab.robots.Robot.detach_tool.html index f077ae99a..926713821 100644 --- a/latest/api/generated/compas_fab.robots.Robot.detach_tool.html +++ b/latest/api/generated/compas_fab.robots.Robot.detach_tool.html @@ -623,7 +623,7 @@

Robot.detach_tool

-Robot.detach_tool(group=None)[source]
+Robot.detach_tool(group=None)[source]

Detach the attached tool.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.draw.html b/latest/api/generated/compas_fab.robots.Robot.draw.html index 252820770..0f1a54b65 100644 --- a/latest/api/generated/compas_fab.robots.Robot.draw.html +++ b/latest/api/generated/compas_fab.robots.Robot.draw.html @@ -623,7 +623,7 @@

Robot.draw

-Robot.draw()[source]
+Robot.draw()[source]

Alias of draw_visual().

diff --git a/latest/api/generated/compas_fab.robots.Robot.draw_collision.html b/latest/api/generated/compas_fab.robots.Robot.draw_collision.html index 24d804453..112a3d18c 100644 --- a/latest/api/generated/compas_fab.robots.Robot.draw_collision.html +++ b/latest/api/generated/compas_fab.robots.Robot.draw_collision.html @@ -623,7 +623,7 @@

Robot.draw_collision

-Robot.draw_collision()[source]
+Robot.draw_collision()[source]

Draw the robot’s collision geometry using the defined Robot.scene_object.

diff --git a/latest/api/generated/compas_fab.robots.Robot.draw_visual.html b/latest/api/generated/compas_fab.robots.Robot.draw_visual.html index 242888075..469b7daca 100644 --- a/latest/api/generated/compas_fab.robots.Robot.draw_visual.html +++ b/latest/api/generated/compas_fab.robots.Robot.draw_visual.html @@ -623,7 +623,7 @@

Robot.draw_visual

-Robot.draw_visual()[source]
+Robot.draw_visual()[source]

Draw the robot’s visual geometry using the defined Robot.scene_object.

diff --git a/latest/api/generated/compas_fab.robots.Robot.ensure_client.html b/latest/api/generated/compas_fab.robots.Robot.ensure_client.html index 3eab0f4c7..57be93ffa 100644 --- a/latest/api/generated/compas_fab.robots.Robot.ensure_client.html +++ b/latest/api/generated/compas_fab.robots.Robot.ensure_client.html @@ -623,7 +623,7 @@

Robot.ensure_client

-Robot.ensure_client()[source]
+Robot.ensure_client()[source]

Check if the client is set.

Raises:
diff --git a/latest/api/generated/compas_fab.robots.Robot.ensure_geometry.html b/latest/api/generated/compas_fab.robots.Robot.ensure_geometry.html index 8f32be2d1..de09c7ac8 100644 --- a/latest/api/generated/compas_fab.robots.Robot.ensure_geometry.html +++ b/latest/api/generated/compas_fab.robots.Robot.ensure_geometry.html @@ -623,7 +623,7 @@

Robot.ensure_geometry

-Robot.ensure_geometry()[source]
+Robot.ensure_geometry()[source]

Check if the model’s geometry has been loaded.

Raises:
diff --git a/latest/api/generated/compas_fab.robots.Robot.ensure_semantics.html b/latest/api/generated/compas_fab.robots.Robot.ensure_semantics.html index b9bc984e5..94f99840f 100644 --- a/latest/api/generated/compas_fab.robots.Robot.ensure_semantics.html +++ b/latest/api/generated/compas_fab.robots.Robot.ensure_semantics.html @@ -623,7 +623,7 @@

Robot.ensure_semantics

-Robot.ensure_semantics()[source]
+Robot.ensure_semantics()[source]

Check if semantics is set.

Raises:
diff --git a/latest/api/generated/compas_fab.robots.Robot.forward_kinematics.html b/latest/api/generated/compas_fab.robots.Robot.forward_kinematics.html index ff3f52e89..76cd63222 100644 --- a/latest/api/generated/compas_fab.robots.Robot.forward_kinematics.html +++ b/latest/api/generated/compas_fab.robots.Robot.forward_kinematics.html @@ -623,7 +623,7 @@

Robot.forward_kinematics

-Robot.forward_kinematics(configuration, group=None, use_attached_tool_frame=True, options=None)[source]
+Robot.forward_kinematics(configuration, group=None, use_attached_tool_frame=True, options=None)[source]

Calculate the robot’s forward kinematic.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.from_json.html b/latest/api/generated/compas_fab.robots.Robot.from_json.html index e09692ca2..3c17ab6a5 100644 --- a/latest/api/generated/compas_fab.robots.Robot.from_json.html +++ b/latest/api/generated/compas_fab.robots.Robot.from_json.html @@ -623,7 +623,7 @@

Robot.from_json

-classmethod Robot.from_json(filepath)[source]
+classmethod Robot.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.from_jsonstring.html b/latest/api/generated/compas_fab.robots.Robot.from_jsonstring.html index 73798133d..75928a895 100644 --- a/latest/api/generated/compas_fab.robots.Robot.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Robot.from_jsonstring.html @@ -623,7 +623,7 @@

Robot.from_jsonstring

-classmethod Robot.from_jsonstring(string)[source]
+classmethod Robot.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.from_t0cf_to_tcf.html b/latest/api/generated/compas_fab.robots.Robot.from_t0cf_to_tcf.html index 544ca8273..364719d94 100644 --- a/latest/api/generated/compas_fab.robots.Robot.from_t0cf_to_tcf.html +++ b/latest/api/generated/compas_fab.robots.Robot.from_t0cf_to_tcf.html @@ -623,7 +623,7 @@

Robot.from_t0cf_to_tcf

-Robot.from_t0cf_to_tcf(frames_t0cf, group=None)[source]
+Robot.from_t0cf_to_tcf(frames_t0cf, group=None)[source]

Convert frames at the robot’s flange (tool0 frame) to frames at the robot’s tool tip (tcf frame) using the attached tool.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.from_tcf_to_t0cf.html b/latest/api/generated/compas_fab.robots.Robot.from_tcf_to_t0cf.html index 61fa114df..cf27dbf23 100644 --- a/latest/api/generated/compas_fab.robots.Robot.from_tcf_to_t0cf.html +++ b/latest/api/generated/compas_fab.robots.Robot.from_tcf_to_t0cf.html @@ -623,7 +623,7 @@

Robot.from_tcf_to_t0cf

-Robot.from_tcf_to_t0cf(frames_tcf, group=None)[source]
+Robot.from_tcf_to_t0cf(frames_tcf, group=None)[source]

Convert a list of frames at the robot’s tool tip (tcf frame) to frames at the robot’s flange (tool0 frame) using the attached tool.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_RCF.html b/latest/api/generated/compas_fab.robots.Robot.get_RCF.html index 520dc69a7..71acc4089 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_RCF.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_RCF.html @@ -623,7 +623,7 @@

Robot.get_RCF

-Robot.get_RCF(group=None)[source]
+Robot.get_RCF(group=None)[source]

Get the origin frame of the robot.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_attached_tool_collision_meshes.html b/latest/api/generated/compas_fab.robots.Robot.get_attached_tool_collision_meshes.html index 88ac3203c..b8e934370 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_attached_tool_collision_meshes.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_attached_tool_collision_meshes.html @@ -623,7 +623,7 @@

Robot.get_attached_tool_collision_meshes

-Robot.get_attached_tool_collision_meshes()[source]
+Robot.get_attached_tool_collision_meshes()[source]

Returns a list of all attached collisions meshes of each of the attached tools, if any.

Returns:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_base_frame.html b/latest/api/generated/compas_fab.robots.Robot.get_base_frame.html index ab7de8623..6b4971ba9 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_base_frame.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_base_frame.html @@ -623,7 +623,7 @@

Robot.get_base_frame

-Robot.get_base_frame(group=None, full_configuration=None)[source]
+Robot.get_base_frame(group=None, full_configuration=None)[source]

Get the frame of the robot’s base link, which is the robot’s origin frame.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_base_link.html b/latest/api/generated/compas_fab.robots.Robot.get_base_link.html index f4e7dc283..6ac36dc7e 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_base_link.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_base_link.html @@ -623,7 +623,7 @@

Robot.get_base_link

+Robot.get_base_link(group=None)[source]

Get the robot’s base link.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_base_link_name.html b/latest/api/generated/compas_fab.robots.Robot.get_base_link_name.html index 02a18c69f..c8b247a55 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_base_link_name.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_base_link_name.html @@ -623,7 +623,7 @@

Robot.get_base_link_name

+Robot.get_base_link_name(group=None)[source]

Get the name of the robot’s base link.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_configurable_joint_names.html b/latest/api/generated/compas_fab.robots.Robot.get_configurable_joint_names.html index cbbf81a04..fc5be4f40 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_configurable_joint_names.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_configurable_joint_names.html @@ -623,7 +623,7 @@

Robot.get_configurable_joint_names

-Robot.get_configurable_joint_names(group=None)[source]
+Robot.get_configurable_joint_names(group=None)[source]

Get the configurable joint names.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_configurable_joint_types.html b/latest/api/generated/compas_fab.robots.Robot.get_configurable_joint_types.html index f139e70ed..a2c714780 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_configurable_joint_types.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_configurable_joint_types.html @@ -623,7 +623,7 @@

Robot.get_configurable_joint_types

-Robot.get_configurable_joint_types(group=None)[source]
+Robot.get_configurable_joint_types(group=None)[source]

Get the configurable joint types.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_configurable_joints.html b/latest/api/generated/compas_fab.robots.Robot.get_configurable_joints.html index 608a9804f..a8cb0ec9c 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_configurable_joints.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_configurable_joints.html @@ -623,7 +623,7 @@

Robot.get_configurable_joints

-Robot.get_configurable_joints(group=None)[source]
+Robot.get_configurable_joints(group=None)[source]

Get the robot’s configurable joints.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_configuration_from_group_state.html b/latest/api/generated/compas_fab.robots.Robot.get_configuration_from_group_state.html index 339734613..0cd896679 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_configuration_from_group_state.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_configuration_from_group_state.html @@ -623,7 +623,7 @@

Robot.get_configuration_from_group_state

-Robot.get_configuration_from_group_state(group, group_state)[source]
+Robot.get_configuration_from_group_state(group, group_state)[source]

Get a compas_robots.Configuration from a group’s group state.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_end_effector_frame.html b/latest/api/generated/compas_fab.robots.Robot.get_end_effector_frame.html index f9d50dc72..9ae3154db 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_end_effector_frame.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_end_effector_frame.html @@ -623,7 +623,7 @@

Robot.get_end_effector_frame

-Robot.get_end_effector_frame(group=None, full_configuration=None)[source]
+Robot.get_end_effector_frame(group=None, full_configuration=None)[source]

Get the frame of the robot’s end effector.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_end_effector_link.html b/latest/api/generated/compas_fab.robots.Robot.get_end_effector_link.html index 20c681b91..501ac9825 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_end_effector_link.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_end_effector_link.html @@ -623,7 +623,7 @@

Robot.get_end_effector_link

+Robot.get_end_effector_link(group=None)[source]

Get the robot’s end effector link.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_end_effector_link_name.html b/latest/api/generated/compas_fab.robots.Robot.get_end_effector_link_name.html index 6795fae9a..0fd91aeb5 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_end_effector_link_name.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_end_effector_link_name.html @@ -623,7 +623,7 @@

Robot.get_end_effector_link_name

+Robot.get_end_effector_link_name(group=None)[source]

Get the name of the robot’s end effector link.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_group_configuration.html b/latest/api/generated/compas_fab.robots.Robot.get_group_configuration.html index 63bcf6e46..c36625fe5 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_group_configuration.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_group_configuration.html @@ -623,7 +623,7 @@

Robot.get_group_configuration

-Robot.get_group_configuration(group, full_configuration)[source]
+Robot.get_group_configuration(group, full_configuration)[source]

Get the group’s configuration.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_group_names_from_link_name.html b/latest/api/generated/compas_fab.robots.Robot.get_group_names_from_link_name.html index ccf9e7343..973419f81 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_group_names_from_link_name.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_group_names_from_link_name.html @@ -623,7 +623,7 @@

Robot.get_group_names_from_link_name

+Robot.get_group_names_from_link_name(link_name)[source]

Get the names of the groups link_name belongs to.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_joint_by_name.html b/latest/api/generated/compas_fab.robots.Robot.get_joint_by_name.html index 6a00e9d2a..1c70ad2f7 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_joint_by_name.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_joint_by_name.html @@ -623,7 +623,7 @@

Robot.get_joint_by_name

-Robot.get_joint_by_name(name)[source]
+Robot.get_joint_by_name(name)[source]

RGet the joint in the robot model matching the given name.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_joint_types_by_names.html b/latest/api/generated/compas_fab.robots.Robot.get_joint_types_by_names.html index 2229a721f..db1f34caa 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_joint_types_by_names.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_joint_types_by_names.html @@ -623,7 +623,7 @@

Robot.get_joint_types_by_names

-Robot.get_joint_types_by_names(names)[source]
+Robot.get_joint_types_by_names(names)[source]

Get a list of joint types given a list of joint names.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_link_names.html b/latest/api/generated/compas_fab.robots.Robot.get_link_names.html index 926f9d34f..03dc42a98 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_link_names.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_link_names.html @@ -623,7 +623,7 @@

Robot.get_link_names

+Robot.get_link_names(group=None)[source]

Get the names of the links in the kinematic chain.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_link_names_with_collision_geometry.html b/latest/api/generated/compas_fab.robots.Robot.get_link_names_with_collision_geometry.html index 8b1dfc4c5..ba667ce2b 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_link_names_with_collision_geometry.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_link_names_with_collision_geometry.html @@ -623,7 +623,7 @@

Robot.get_link_names_with_collision_geometry

+Robot.get_link_names_with_collision_geometry()[source]

Get the names of the links with collision geometry.

Returns:
diff --git a/latest/api/generated/compas_fab.robots.Robot.get_position_by_joint_name.html b/latest/api/generated/compas_fab.robots.Robot.get_position_by_joint_name.html index fb0705dc5..a45cca959 100644 --- a/latest/api/generated/compas_fab.robots.Robot.get_position_by_joint_name.html +++ b/latest/api/generated/compas_fab.robots.Robot.get_position_by_joint_name.html @@ -623,7 +623,7 @@

Robot.get_position_by_joint_name

-Robot.get_position_by_joint_name(configuration, joint_name, group=None)[source]
+Robot.get_position_by_joint_name(configuration, joint_name, group=None)[source]

Get the position of named joint in given configuration.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.html b/latest/api/generated/compas_fab.robots.Robot.html index 12d003272..405036314 100644 --- a/latest/api/generated/compas_fab.robots.Robot.html +++ b/latest/api/generated/compas_fab.robots.Robot.html @@ -623,7 +623,7 @@

Robot

-class compas_fab.robots.Robot[source]
+class compas_fab.robots.Robot[source]

Bases: Data

Represents a robot.

This class binds together several building blocks, such as the robot’s diff --git a/latest/api/generated/compas_fab.robots.Robot.info.html b/latest/api/generated/compas_fab.robots.Robot.info.html index 0a74029f6..a88e55b7e 100644 --- a/latest/api/generated/compas_fab.robots.Robot.info.html +++ b/latest/api/generated/compas_fab.robots.Robot.info.html @@ -623,7 +623,7 @@

Robot.info

-Robot.info()[source]
+Robot.info()[source]

Print information about the robot.

diff --git a/latest/api/generated/compas_fab.robots.Robot.inverse_kinematics.html b/latest/api/generated/compas_fab.robots.Robot.inverse_kinematics.html index deec4e853..d48dee9ae 100644 --- a/latest/api/generated/compas_fab.robots.Robot.inverse_kinematics.html +++ b/latest/api/generated/compas_fab.robots.Robot.inverse_kinematics.html @@ -623,7 +623,7 @@

Robot.inverse_kinematics

-Robot.inverse_kinematics(frame_WCF, start_configuration=None, group=None, return_full_configuration=False, use_attached_tool_frame=True, options=None)[source]
+Robot.inverse_kinematics(frame_WCF, start_configuration=None, group=None, return_full_configuration=False, use_attached_tool_frame=True, options=None)[source]

Calculate the robot’s inverse kinematic for a given frame.

The inverse kinematic solvers are implemented as generators in order to fit both analytic and numerical solver approaches. However, this method abstracts that away and returns one diff --git a/latest/api/generated/compas_fab.robots.Robot.iter_inverse_kinematics.html b/latest/api/generated/compas_fab.robots.Robot.iter_inverse_kinematics.html index 46fa877f6..0e55ec913 100644 --- a/latest/api/generated/compas_fab.robots.Robot.iter_inverse_kinematics.html +++ b/latest/api/generated/compas_fab.robots.Robot.iter_inverse_kinematics.html @@ -623,7 +623,7 @@

Robot.iter_inverse_kinematics

-Robot.iter_inverse_kinematics(frame_WCF, start_configuration=None, group=None, return_full_configuration=False, use_attached_tool_frame=True, options=None)[source]
+Robot.iter_inverse_kinematics(frame_WCF, start_configuration=None, group=None, return_full_configuration=False, use_attached_tool_frame=True, options=None)[source]

Iterate over the inverse kinematic solutions of a robot.

This method exposes the generator-based inverse kinematic solvers. Analytics solvers will return generators that include all possible solutions, hence exhausting the iterator indicates there are diff --git a/latest/api/generated/compas_fab.robots.Robot.merge_group_with_full_configuration.html b/latest/api/generated/compas_fab.robots.Robot.merge_group_with_full_configuration.html index 539a790a8..3343b3147 100644 --- a/latest/api/generated/compas_fab.robots.Robot.merge_group_with_full_configuration.html +++ b/latest/api/generated/compas_fab.robots.Robot.merge_group_with_full_configuration.html @@ -623,7 +623,7 @@

Robot.merge_group_with_full_configuration

-Robot.merge_group_with_full_configuration(group_configuration, full_configuration, group)[source]
+Robot.merge_group_with_full_configuration(group_configuration, full_configuration, group)[source]

Get the robot’s full configuration by merging a group’s configuration with a full configuration. The group configuration takes precedence over the full configuration in case a joint value is present in both.

diff --git a/latest/api/generated/compas_fab.robots.Robot.plan_cartesian_motion.html b/latest/api/generated/compas_fab.robots.Robot.plan_cartesian_motion.html index 991178471..23503658b 100644 --- a/latest/api/generated/compas_fab.robots.Robot.plan_cartesian_motion.html +++ b/latest/api/generated/compas_fab.robots.Robot.plan_cartesian_motion.html @@ -623,7 +623,7 @@

Robot.plan_cartesian_motion

-Robot.plan_cartesian_motion(waypoints, start_configuration=None, group=None, options=None)[source]
+Robot.plan_cartesian_motion(waypoints, start_configuration=None, group=None, options=None)[source]

Calculate a cartesian motion path (linear in tool space).

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.plan_motion.html b/latest/api/generated/compas_fab.robots.Robot.plan_motion.html index 48e5253fb..f6a179640 100644 --- a/latest/api/generated/compas_fab.robots.Robot.plan_motion.html +++ b/latest/api/generated/compas_fab.robots.Robot.plan_motion.html @@ -623,7 +623,7 @@

Robot.plan_motion

-Robot.plan_motion(target, start_configuration=None, group=None, options=None)[source]
+Robot.plan_motion(target, start_configuration=None, group=None, options=None)[source]

Calculate a motion path.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.random_configuration.html b/latest/api/generated/compas_fab.robots.Robot.random_configuration.html index 03177981d..d61f206cc 100644 --- a/latest/api/generated/compas_fab.robots.Robot.random_configuration.html +++ b/latest/api/generated/compas_fab.robots.Robot.random_configuration.html @@ -623,7 +623,7 @@

Robot.random_configuration

-Robot.random_configuration(group=None)[source]
+Robot.random_configuration(group=None)[source]

Get a random configuration.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.scale.html b/latest/api/generated/compas_fab.robots.Robot.scale.html index ed9c87144..97bb887cb 100644 --- a/latest/api/generated/compas_fab.robots.Robot.scale.html +++ b/latest/api/generated/compas_fab.robots.Robot.scale.html @@ -623,7 +623,7 @@

Robot.scale

-Robot.scale(factor)[source]
+Robot.scale(factor)[source]

Scale the robot geometry by a factor (absolute).

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.set_RCF.html b/latest/api/generated/compas_fab.robots.Robot.set_RCF.html index 6bcfed1a5..373a1f0a0 100644 --- a/latest/api/generated/compas_fab.robots.Robot.set_RCF.html +++ b/latest/api/generated/compas_fab.robots.Robot.set_RCF.html @@ -623,7 +623,7 @@

Robot.set_RCF

-Robot.set_RCF(robot_coordinate_frame, group=None)[source]
+Robot.set_RCF(robot_coordinate_frame, group=None)[source]

Move the origin frame of the robot to the robot_coordinate_frame.

Raises:
diff --git a/latest/api/generated/compas_fab.robots.Robot.sha256.html b/latest/api/generated/compas_fab.robots.Robot.sha256.html index 71071c169..2126ede3f 100644 --- a/latest/api/generated/compas_fab.robots.Robot.sha256.html +++ b/latest/api/generated/compas_fab.robots.Robot.sha256.html @@ -623,7 +623,7 @@

Robot.sha256

-Robot.sha256(as_string=False)[source]
+Robot.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.to_json.html b/latest/api/generated/compas_fab.robots.Robot.to_json.html index acabccfe6..cbfd7c9e0 100644 --- a/latest/api/generated/compas_fab.robots.Robot.to_json.html +++ b/latest/api/generated/compas_fab.robots.Robot.to_json.html @@ -623,7 +623,7 @@

Robot.to_json

-Robot.to_json(filepath, pretty=False)[source]
+Robot.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.to_jsonstring.html b/latest/api/generated/compas_fab.robots.Robot.to_jsonstring.html index ab0419a5f..94161ecac 100644 --- a/latest/api/generated/compas_fab.robots.Robot.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Robot.to_jsonstring.html @@ -623,7 +623,7 @@

Robot.to_jsonstring

-Robot.to_jsonstring(pretty=False)[source]
+Robot.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.to_local_coordinates.html b/latest/api/generated/compas_fab.robots.Robot.to_local_coordinates.html index 82970af98..a92f9187f 100644 --- a/latest/api/generated/compas_fab.robots.Robot.to_local_coordinates.html +++ b/latest/api/generated/compas_fab.robots.Robot.to_local_coordinates.html @@ -623,7 +623,7 @@

Robot.to_local_coordinates

-Robot.to_local_coordinates(frame_WCF, group=None)[source]
+Robot.to_local_coordinates(frame_WCF, group=None)[source]

Represent a frame from the world coordinate system (WCF) in the robot’s coordinate system (RCF).

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.to_world_coordinates.html b/latest/api/generated/compas_fab.robots.Robot.to_world_coordinates.html index dbbbb219e..31582b6a6 100644 --- a/latest/api/generated/compas_fab.robots.Robot.to_world_coordinates.html +++ b/latest/api/generated/compas_fab.robots.Robot.to_world_coordinates.html @@ -623,7 +623,7 @@

Robot.to_world_coordinates

-Robot.to_world_coordinates(frame_RCF, group=None)[source]
+Robot.to_world_coordinates(frame_RCF, group=None)[source]

Represent a frame from the robot’s coordinate system (RCF) in the world coordinate system (WCF).

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.transformation_RCF_WCF.html b/latest/api/generated/compas_fab.robots.Robot.transformation_RCF_WCF.html index f10a20d7f..a75847bd4 100644 --- a/latest/api/generated/compas_fab.robots.Robot.transformation_RCF_WCF.html +++ b/latest/api/generated/compas_fab.robots.Robot.transformation_RCF_WCF.html @@ -623,7 +623,7 @@

Robot.transformation_RCF_WCF

-Robot.transformation_RCF_WCF(group=None)[source]
+Robot.transformation_RCF_WCF(group=None)[source]

Get the transformation from the robot’s coordinate system (RCF) to the world coordinate system (WCF).

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.transformation_WCF_RCF.html b/latest/api/generated/compas_fab.robots.Robot.transformation_WCF_RCF.html index a32342a3e..7e6c9b071 100644 --- a/latest/api/generated/compas_fab.robots.Robot.transformation_WCF_RCF.html +++ b/latest/api/generated/compas_fab.robots.Robot.transformation_WCF_RCF.html @@ -623,7 +623,7 @@

Robot.transformation_WCF_RCF

-Robot.transformation_WCF_RCF(group=None)[source]
+Robot.transformation_WCF_RCF(group=None)[source]

Get the transformation from the world coordinate system (WCF) to the robot’s coordinate system (RCF).

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.transformed_axes.html b/latest/api/generated/compas_fab.robots.Robot.transformed_axes.html index 3caa02de4..b61dc3efa 100644 --- a/latest/api/generated/compas_fab.robots.Robot.transformed_axes.html +++ b/latest/api/generated/compas_fab.robots.Robot.transformed_axes.html @@ -623,7 +623,7 @@

Robot.transformed_axes

-Robot.transformed_axes(configuration, group=None)[source]
+Robot.transformed_axes(configuration, group=None)[source]

Get the robot’s transformed axes.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.transformed_frames.html b/latest/api/generated/compas_fab.robots.Robot.transformed_frames.html index 9eb696157..5ba3ae633 100644 --- a/latest/api/generated/compas_fab.robots.Robot.transformed_frames.html +++ b/latest/api/generated/compas_fab.robots.Robot.transformed_frames.html @@ -623,7 +623,7 @@

Robot.transformed_frames

-Robot.transformed_frames(configuration, group=None)[source]
+Robot.transformed_frames(configuration, group=None)[source]

Get the robot’s transformed frames.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.update.html b/latest/api/generated/compas_fab.robots.Robot.update.html index df858d412..0fb84a448 100644 --- a/latest/api/generated/compas_fab.robots.Robot.update.html +++ b/latest/api/generated/compas_fab.robots.Robot.update.html @@ -623,7 +623,7 @@

Robot.update

-Robot.update(configuration, group=None, visual=True, collision=True)[source]
+Robot.update(configuration, group=None, visual=True, collision=True)[source]

Update the robot’s geometry.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Robot.validate_data.html b/latest/api/generated/compas_fab.robots.Robot.validate_data.html index bf2271aa0..bc138f365 100644 --- a/latest/api/generated/compas_fab.robots.Robot.validate_data.html +++ b/latest/api/generated/compas_fab.robots.Robot.validate_data.html @@ -623,7 +623,7 @@

Robot.validate_data

-classmethod Robot.validate_data(data)[source]
+classmethod Robot.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.Robot.zero_configuration.html b/latest/api/generated/compas_fab.robots.Robot.zero_configuration.html index ff202e386..6549d3fe4 100644 --- a/latest/api/generated/compas_fab.robots.Robot.zero_configuration.html +++ b/latest/api/generated/compas_fab.robots.Robot.zero_configuration.html @@ -623,7 +623,7 @@

Robot.zero_configuration

-Robot.zero_configuration(group=None)[source]
+Robot.zero_configuration(group=None)[source]

Get the zero joint configuration.

If zero is out of joint limits (upper, lower) then (upper + lower) / 2 is used as joint value.

diff --git a/latest/api/generated/compas_fab.robots.RobotLibrary.abb_irb4600_40_255.html b/latest/api/generated/compas_fab.robots.RobotLibrary.abb_irb4600_40_255.html index b1f82c0cc..4415a5c04 100644 --- a/latest/api/generated/compas_fab.robots.RobotLibrary.abb_irb4600_40_255.html +++ b/latest/api/generated/compas_fab.robots.RobotLibrary.abb_irb4600_40_255.html @@ -623,7 +623,7 @@

RobotLibrary.abb_irb4600_40_255

-classmethod RobotLibrary.abb_irb4600_40_255(client=None, load_geometry=True)[source]
+classmethod RobotLibrary.abb_irb4600_40_255(client=None, load_geometry=True)[source]

Returns a ABB irb4600-40/2.55 robot.

The returned compas_fab.robots.Robot object contains the robot model and semantics.

diff --git a/latest/api/generated/compas_fab.robots.RobotLibrary.html b/latest/api/generated/compas_fab.robots.RobotLibrary.html index ea2162b22..f4d51d7ce 100644 --- a/latest/api/generated/compas_fab.robots.RobotLibrary.html +++ b/latest/api/generated/compas_fab.robots.RobotLibrary.html @@ -623,7 +623,7 @@

RobotLibrary

-class compas_fab.robots.RobotLibrary[source]
+class compas_fab.robots.RobotLibrary[source]

Bases: object

A collection of built-in robots that can be used for testing and example purposes. The compas_fab.robots.Robot objects created by the factory methods diff --git a/latest/api/generated/compas_fab.robots.RobotLibrary.rfl.html b/latest/api/generated/compas_fab.robots.RobotLibrary.rfl.html index 7c0562fef..84e265d37 100644 --- a/latest/api/generated/compas_fab.robots.RobotLibrary.rfl.html +++ b/latest/api/generated/compas_fab.robots.RobotLibrary.rfl.html @@ -623,7 +623,7 @@

RobotLibrary.rfl

-classmethod RobotLibrary.rfl(client=None, load_geometry=True)[source]
+classmethod RobotLibrary.rfl(client=None, load_geometry=True)[source]

Create and return the RFL robot with 4 ABB irb 4600 and twin-gantry setup.

The returned compas_fab.robots.Robot object contains the robot model and semantics.

diff --git a/latest/api/generated/compas_fab.robots.RobotLibrary.ur10e.html b/latest/api/generated/compas_fab.robots.RobotLibrary.ur10e.html index 0efe56ad6..057a76b66 100644 --- a/latest/api/generated/compas_fab.robots.RobotLibrary.ur10e.html +++ b/latest/api/generated/compas_fab.robots.RobotLibrary.ur10e.html @@ -623,7 +623,7 @@

RobotLibrary.ur10e

-classmethod RobotLibrary.ur10e(client=None, load_geometry=True)[source]
+classmethod RobotLibrary.ur10e(client=None, load_geometry=True)[source]

Returns a UR10e robot.

The returned compas_fab.robots.Robot object contains the robot model and semantics.

diff --git a/latest/api/generated/compas_fab.robots.RobotLibrary.ur5.html b/latest/api/generated/compas_fab.robots.RobotLibrary.ur5.html index 271350033..310ac6655 100644 --- a/latest/api/generated/compas_fab.robots.RobotLibrary.ur5.html +++ b/latest/api/generated/compas_fab.robots.RobotLibrary.ur5.html @@ -623,7 +623,7 @@

RobotLibrary.ur5

-classmethod RobotLibrary.ur5(client=None, load_geometry=True)[source]
+classmethod RobotLibrary.ur5(client=None, load_geometry=True)[source]

Returns a UR5 robot.

The returned compas_fab.robots.Robot object contains the robot model and semantics.

diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.ToString.html b/latest/api/generated/compas_fab.robots.RobotSemantics.ToString.html index a4dab0140..03a404f98 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.ToString.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.ToString.html @@ -623,7 +623,7 @@

RobotSemantics.ToString

-RobotSemantics.ToString()[source]
+RobotSemantics.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.copy.html b/latest/api/generated/compas_fab.robots.RobotSemantics.copy.html index 3b6cbecc7..849d5e06e 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.copy.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.copy.html @@ -623,7 +623,7 @@

RobotSemantics.copy

-RobotSemantics.copy(cls=None)[source]
+RobotSemantics.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.from_json.html b/latest/api/generated/compas_fab.robots.RobotSemantics.from_json.html index b02af8e24..f63a3ff90 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.from_json.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.from_json.html @@ -623,7 +623,7 @@

RobotSemantics.from_json

-classmethod RobotSemantics.from_json(filepath)[source]
+classmethod RobotSemantics.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.from_jsonstring.html b/latest/api/generated/compas_fab.robots.RobotSemantics.from_jsonstring.html index 916c4d294..704646f1e 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.from_jsonstring.html @@ -623,7 +623,7 @@

RobotSemantics.from_jsonstring

-classmethod RobotSemantics.from_jsonstring(string)[source]
+classmethod RobotSemantics.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.from_srdf_file.html b/latest/api/generated/compas_fab.robots.RobotSemantics.from_srdf_file.html index 5b184063d..43c969476 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.from_srdf_file.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.from_srdf_file.html @@ -623,7 +623,7 @@

RobotSemantics.from_srdf_file

-classmethod RobotSemantics.from_srdf_file(file, robot_model)[source]
+classmethod RobotSemantics.from_srdf_file(file, robot_model)[source]

Create an instance of semantics based on an SRDF file path or file-like object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.from_srdf_string.html b/latest/api/generated/compas_fab.robots.RobotSemantics.from_srdf_string.html index 0ac0c89c0..f59271996 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.from_srdf_string.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.from_srdf_string.html @@ -623,7 +623,7 @@

RobotSemantics.from_srdf_string

-classmethod RobotSemantics.from_srdf_string(text, robot_model)[source]
+classmethod RobotSemantics.from_srdf_string(text, robot_model)[source]

Create an instance of semantics based on an SRDF string.

diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.from_xml.html b/latest/api/generated/compas_fab.robots.RobotSemantics.from_xml.html index b6bcb1666..eeeb03f73 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.from_xml.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.from_xml.html @@ -623,7 +623,7 @@

RobotSemantics.from_xml

-classmethod RobotSemantics.from_xml(xml, robot_model)[source]
+classmethod RobotSemantics.from_xml(xml, robot_model)[source]

Create an instance of semantics based on an XML object.

diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.get_all_configurable_joints.html b/latest/api/generated/compas_fab.robots.RobotSemantics.get_all_configurable_joints.html index fda923b48..02c17c91f 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.get_all_configurable_joints.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.get_all_configurable_joints.html @@ -623,7 +623,7 @@

RobotSemantics.get_all_configurable_joints

-RobotSemantics.get_all_configurable_joints()[source]
+RobotSemantics.get_all_configurable_joints()[source]

Get all configurable compas_robots.model.Joint of the robot.

Configurable joints are joints that can be controlled, i.e., not Joint.FIXED, not mimicking another joint and not a passive joint. diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.get_base_link_name.html b/latest/api/generated/compas_fab.robots.RobotSemantics.get_base_link_name.html index 491aaaebc..fdbd2a380 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.get_base_link_name.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.get_base_link_name.html @@ -623,7 +623,7 @@

RobotSemantics.get_base_link_name

+RobotSemantics.get_base_link_name(group=None)[source]

Get the name of the first link (base link) in a planning group.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.get_configurable_joint_names.html b/latest/api/generated/compas_fab.robots.RobotSemantics.get_configurable_joint_names.html index c0f3bc58b..768f515dd 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.get_configurable_joint_names.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.get_configurable_joint_names.html @@ -623,7 +623,7 @@

RobotSemantics.get_configurable_joint_names

-RobotSemantics.get_configurable_joint_names(group=None)[source]
+RobotSemantics.get_configurable_joint_names(group=None)[source]

Get all the names of configurable joints of a planning group.

Similar to get_configurable_joints() but returning joint names.

diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.get_configurable_joints.html b/latest/api/generated/compas_fab.robots.RobotSemantics.get_configurable_joints.html index b2b286536..430434821 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.get_configurable_joints.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.get_configurable_joints.html @@ -623,7 +623,7 @@

RobotSemantics.get_configurable_joints

-RobotSemantics.get_configurable_joints(group=None)[source]
+RobotSemantics.get_configurable_joints(group=None)[source]

Get all configurable compas_robots.model.Joint of a planning group.

Configurable joints are joints that can be controlled, i.e., not Joint.FIXED, not mimicking another joint and not a passive joint. diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.get_end_effector_link_name.html b/latest/api/generated/compas_fab.robots.RobotSemantics.get_end_effector_link_name.html index 7ec57af85..ae82dac19 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.get_end_effector_link_name.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.get_end_effector_link_name.html @@ -623,7 +623,7 @@

RobotSemantics.get_end_effector_link_name

+RobotSemantics.get_end_effector_link_name(group=None)[source]

Get the name of the last link (end effector link) in a planning group.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.html b/latest/api/generated/compas_fab.robots.RobotSemantics.html index ef1c0cee3..48bb859ec 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.html @@ -623,7 +623,7 @@

RobotSemantics

-class compas_fab.robots.RobotSemantics[source]
+class compas_fab.robots.RobotSemantics[source]

Bases: Data

Represents semantic information of a robot.

The semantic model is based on the diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.sha256.html b/latest/api/generated/compas_fab.robots.RobotSemantics.sha256.html index 5b3636049..4d6661873 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.sha256.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.sha256.html @@ -623,7 +623,7 @@

RobotSemantics.sha256

-RobotSemantics.sha256(as_string=False)[source]
+RobotSemantics.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.to_json.html b/latest/api/generated/compas_fab.robots.RobotSemantics.to_json.html index 1223d86c5..adbea0cef 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.to_json.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.to_json.html @@ -623,7 +623,7 @@

RobotSemantics.to_json

-RobotSemantics.to_json(filepath, pretty=False)[source]
+RobotSemantics.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.to_jsonstring.html b/latest/api/generated/compas_fab.robots.RobotSemantics.to_jsonstring.html index 370c49e01..35f6de5c6 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.to_jsonstring.html @@ -623,7 +623,7 @@

RobotSemantics.to_jsonstring

-RobotSemantics.to_jsonstring(pretty=False)[source]
+RobotSemantics.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.RobotSemantics.validate_data.html b/latest/api/generated/compas_fab.robots.RobotSemantics.validate_data.html index 79b324c2d..eed55a990 100644 --- a/latest/api/generated/compas_fab.robots.RobotSemantics.validate_data.html +++ b/latest/api/generated/compas_fab.robots.RobotSemantics.validate_data.html @@ -623,7 +623,7 @@

RobotSemantics.validate_data

-classmethod RobotSemantics.validate_data(data)[source]
+classmethod RobotSemantics.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.Target.ToString.html b/latest/api/generated/compas_fab.robots.Target.ToString.html index 4bf5e1415..e80f47b2b 100644 --- a/latest/api/generated/compas_fab.robots.Target.ToString.html +++ b/latest/api/generated/compas_fab.robots.Target.ToString.html @@ -623,7 +623,7 @@

Target.ToString

-Target.ToString()[source]
+Target.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.Target.copy.html b/latest/api/generated/compas_fab.robots.Target.copy.html index d21cdf167..756e042d9 100644 --- a/latest/api/generated/compas_fab.robots.Target.copy.html +++ b/latest/api/generated/compas_fab.robots.Target.copy.html @@ -623,7 +623,7 @@

Target.copy

-Target.copy(cls=None)[source]
+Target.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Target.from_json.html b/latest/api/generated/compas_fab.robots.Target.from_json.html index a0f288be5..adae3a2c7 100644 --- a/latest/api/generated/compas_fab.robots.Target.from_json.html +++ b/latest/api/generated/compas_fab.robots.Target.from_json.html @@ -623,7 +623,7 @@

Target.from_json

-classmethod Target.from_json(filepath)[source]
+classmethod Target.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Target.from_jsonstring.html b/latest/api/generated/compas_fab.robots.Target.from_jsonstring.html index 0dd394ae8..c26e313d4 100644 --- a/latest/api/generated/compas_fab.robots.Target.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Target.from_jsonstring.html @@ -623,7 +623,7 @@

Target.from_jsonstring

-classmethod Target.from_jsonstring(string)[source]
+classmethod Target.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Target.html b/latest/api/generated/compas_fab.robots.Target.html index d10e42df9..3c2317948 100644 --- a/latest/api/generated/compas_fab.robots.Target.html +++ b/latest/api/generated/compas_fab.robots.Target.html @@ -623,7 +623,7 @@

Target

-class compas_fab.robots.Target[source]
+class compas_fab.robots.Target[source]

Bases: Data

Represents a kinematic target for motion planning.

The current implementation supports only static target constraints such as diff --git a/latest/api/generated/compas_fab.robots.Target.scaled.html b/latest/api/generated/compas_fab.robots.Target.scaled.html index 6ab983954..4877cbb8e 100644 --- a/latest/api/generated/compas_fab.robots.Target.scaled.html +++ b/latest/api/generated/compas_fab.robots.Target.scaled.html @@ -623,7 +623,7 @@

Target.scaled

-Target.scaled(factor)[source]
+Target.scaled(factor)[source]

Returns a scaled copy of the target.

If the user model is created in millimeters, the target should be scaled by a factor of 0.001 before passing to the planner.

diff --git a/latest/api/generated/compas_fab.robots.Target.sha256.html b/latest/api/generated/compas_fab.robots.Target.sha256.html index f21598847..81da6e559 100644 --- a/latest/api/generated/compas_fab.robots.Target.sha256.html +++ b/latest/api/generated/compas_fab.robots.Target.sha256.html @@ -623,7 +623,7 @@

Target.sha256

-Target.sha256(as_string=False)[source]
+Target.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Target.to_json.html b/latest/api/generated/compas_fab.robots.Target.to_json.html index 1a9463637..fd5be2615 100644 --- a/latest/api/generated/compas_fab.robots.Target.to_json.html +++ b/latest/api/generated/compas_fab.robots.Target.to_json.html @@ -623,7 +623,7 @@

Target.to_json

-Target.to_json(filepath, pretty=False)[source]
+Target.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Target.to_jsonstring.html b/latest/api/generated/compas_fab.robots.Target.to_jsonstring.html index 7328cacb3..b7b01c601 100644 --- a/latest/api/generated/compas_fab.robots.Target.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Target.to_jsonstring.html @@ -623,7 +623,7 @@

Target.to_jsonstring

-Target.to_jsonstring(pretty=False)[source]
+Target.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Target.validate_data.html b/latest/api/generated/compas_fab.robots.Target.validate_data.html index 8fb4c7150..6413e134f 100644 --- a/latest/api/generated/compas_fab.robots.Target.validate_data.html +++ b/latest/api/generated/compas_fab.robots.Target.validate_data.html @@ -623,7 +623,7 @@

Target.validate_data

-classmethod Target.validate_data(data)[source]
+classmethod Target.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.Tool.ToString.html b/latest/api/generated/compas_fab.robots.Tool.ToString.html index 16ae1d160..9efc8c85a 100644 --- a/latest/api/generated/compas_fab.robots.Tool.ToString.html +++ b/latest/api/generated/compas_fab.robots.Tool.ToString.html @@ -623,7 +623,7 @@

Tool.ToString

-Tool.ToString()[source]
+Tool.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.Tool.copy.html b/latest/api/generated/compas_fab.robots.Tool.copy.html index 4112d431d..5ed2d8728 100644 --- a/latest/api/generated/compas_fab.robots.Tool.copy.html +++ b/latest/api/generated/compas_fab.robots.Tool.copy.html @@ -623,7 +623,7 @@

Tool.copy

-Tool.copy(cls=None)[source]
+Tool.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Tool.from_json.html b/latest/api/generated/compas_fab.robots.Tool.from_json.html index 007fad872..5591926bd 100644 --- a/latest/api/generated/compas_fab.robots.Tool.from_json.html +++ b/latest/api/generated/compas_fab.robots.Tool.from_json.html @@ -623,7 +623,7 @@

Tool.from_json

-classmethod Tool.from_json(filepath)[source]
+classmethod Tool.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Tool.from_jsonstring.html b/latest/api/generated/compas_fab.robots.Tool.from_jsonstring.html index aeb30c762..9b1e8de4e 100644 --- a/latest/api/generated/compas_fab.robots.Tool.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Tool.from_jsonstring.html @@ -623,7 +623,7 @@

Tool.from_jsonstring

-classmethod Tool.from_jsonstring(string)[source]
+classmethod Tool.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Tool.from_t0cf_to_tcf.html b/latest/api/generated/compas_fab.robots.Tool.from_t0cf_to_tcf.html index f246909c2..8714002a5 100644 --- a/latest/api/generated/compas_fab.robots.Tool.from_t0cf_to_tcf.html +++ b/latest/api/generated/compas_fab.robots.Tool.from_t0cf_to_tcf.html @@ -623,7 +623,7 @@

Tool.from_t0cf_to_tcf

-Tool.from_t0cf_to_tcf(frames_t0cf)[source]
+Tool.from_t0cf_to_tcf(frames_t0cf)[source]

Converts frames at the robot’s flange (tool0 frame) to frames at the robot’s tool tip (tcf frame).

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Tool.from_tcf_to_t0cf.html b/latest/api/generated/compas_fab.robots.Tool.from_tcf_to_t0cf.html index 7ae4cbed5..052893bc1 100644 --- a/latest/api/generated/compas_fab.robots.Tool.from_tcf_to_t0cf.html +++ b/latest/api/generated/compas_fab.robots.Tool.from_tcf_to_t0cf.html @@ -623,7 +623,7 @@

Tool.from_tcf_to_t0cf

-Tool.from_tcf_to_t0cf(frames_tcf)[source]
+Tool.from_tcf_to_t0cf(frames_tcf)[source]

Converts a list of frames at the robot’s tool tip (tcf frame) to frames at the robot’s flange (tool0 frame).

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Tool.from_tool_model.html b/latest/api/generated/compas_fab.robots.Tool.from_tool_model.html index 58ed3d208..cb16588c6 100644 --- a/latest/api/generated/compas_fab.robots.Tool.from_tool_model.html +++ b/latest/api/generated/compas_fab.robots.Tool.from_tool_model.html @@ -623,7 +623,7 @@

Tool.from_tool_model

-classmethod Tool.from_tool_model(tool_model)[source]
+classmethod Tool.from_tool_model(tool_model)[source]
diff --git a/latest/api/generated/compas_fab.robots.Tool.html b/latest/api/generated/compas_fab.robots.Tool.html index 29be298f1..91b6bf80a 100644 --- a/latest/api/generated/compas_fab.robots.Tool.html +++ b/latest/api/generated/compas_fab.robots.Tool.html @@ -623,7 +623,7 @@

Tool

-class compas_fab.robots.Tool[source]
+class compas_fab.robots.Tool[source]

Bases: Data

Represents a tool to be attached to the robot’s flange.

diff --git a/latest/api/generated/compas_fab.robots.Tool.sha256.html b/latest/api/generated/compas_fab.robots.Tool.sha256.html index e132e518d..44e74e1ec 100644 --- a/latest/api/generated/compas_fab.robots.Tool.sha256.html +++ b/latest/api/generated/compas_fab.robots.Tool.sha256.html @@ -623,7 +623,7 @@

Tool.sha256

-Tool.sha256(as_string=False)[source]
+Tool.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Tool.to_json.html b/latest/api/generated/compas_fab.robots.Tool.to_json.html index 0a6f22529..2d80d91f6 100644 --- a/latest/api/generated/compas_fab.robots.Tool.to_json.html +++ b/latest/api/generated/compas_fab.robots.Tool.to_json.html @@ -623,7 +623,7 @@

Tool.to_json

-Tool.to_json(filepath, pretty=False)[source]
+Tool.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Tool.to_jsonstring.html b/latest/api/generated/compas_fab.robots.Tool.to_jsonstring.html index 67eba2ca3..9976890c8 100644 --- a/latest/api/generated/compas_fab.robots.Tool.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Tool.to_jsonstring.html @@ -623,7 +623,7 @@

Tool.to_jsonstring

-Tool.to_jsonstring(pretty=False)[source]
+Tool.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Tool.update_touch_links.html b/latest/api/generated/compas_fab.robots.Tool.update_touch_links.html index ae8499e07..1ae3982a8 100644 --- a/latest/api/generated/compas_fab.robots.Tool.update_touch_links.html +++ b/latest/api/generated/compas_fab.robots.Tool.update_touch_links.html @@ -623,7 +623,7 @@

Tool.update_touch_links

+Tool.update_touch_links(touch_links=None)[source]
diff --git a/latest/api/generated/compas_fab.robots.Tool.validate_data.html b/latest/api/generated/compas_fab.robots.Tool.validate_data.html index 47fb16c6d..a0eda2f9c 100644 --- a/latest/api/generated/compas_fab.robots.Tool.validate_data.html +++ b/latest/api/generated/compas_fab.robots.Tool.validate_data.html @@ -623,7 +623,7 @@

Tool.validate_data

-classmethod Tool.validate_data(data)[source]
+classmethod Tool.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.Trajectory.ToString.html b/latest/api/generated/compas_fab.robots.Trajectory.ToString.html index b2c370a93..7d08bcd76 100644 --- a/latest/api/generated/compas_fab.robots.Trajectory.ToString.html +++ b/latest/api/generated/compas_fab.robots.Trajectory.ToString.html @@ -623,7 +623,7 @@

Trajectory.ToString

-Trajectory.ToString()[source]
+Trajectory.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.Trajectory.copy.html b/latest/api/generated/compas_fab.robots.Trajectory.copy.html index 64fcf4f9b..7021e5e8e 100644 --- a/latest/api/generated/compas_fab.robots.Trajectory.copy.html +++ b/latest/api/generated/compas_fab.robots.Trajectory.copy.html @@ -623,7 +623,7 @@

Trajectory.copy

-Trajectory.copy(cls=None)[source]
+Trajectory.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Trajectory.from_json.html b/latest/api/generated/compas_fab.robots.Trajectory.from_json.html index 6ffe9fb20..5a1389725 100644 --- a/latest/api/generated/compas_fab.robots.Trajectory.from_json.html +++ b/latest/api/generated/compas_fab.robots.Trajectory.from_json.html @@ -623,7 +623,7 @@

Trajectory.from_json

-classmethod Trajectory.from_json(filepath)[source]
+classmethod Trajectory.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Trajectory.from_jsonstring.html b/latest/api/generated/compas_fab.robots.Trajectory.from_jsonstring.html index 13ebde026..5252d1cc9 100644 --- a/latest/api/generated/compas_fab.robots.Trajectory.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Trajectory.from_jsonstring.html @@ -623,7 +623,7 @@

Trajectory.from_jsonstring

-classmethod Trajectory.from_jsonstring(string)[source]
+classmethod Trajectory.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Trajectory.html b/latest/api/generated/compas_fab.robots.Trajectory.html index b210c668b..d128e4c72 100644 --- a/latest/api/generated/compas_fab.robots.Trajectory.html +++ b/latest/api/generated/compas_fab.robots.Trajectory.html @@ -623,7 +623,7 @@

Trajectory

-class compas_fab.robots.Trajectory[source]
+class compas_fab.robots.Trajectory[source]

Bases: Data

Base trajectory class.

diff --git a/latest/api/generated/compas_fab.robots.Trajectory.sha256.html b/latest/api/generated/compas_fab.robots.Trajectory.sha256.html index b6c1e4de8..f0a32bb13 100644 --- a/latest/api/generated/compas_fab.robots.Trajectory.sha256.html +++ b/latest/api/generated/compas_fab.robots.Trajectory.sha256.html @@ -623,7 +623,7 @@

Trajectory.sha256

-Trajectory.sha256(as_string=False)[source]
+Trajectory.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Trajectory.to_json.html b/latest/api/generated/compas_fab.robots.Trajectory.to_json.html index 154fa425a..5e3988b97 100644 --- a/latest/api/generated/compas_fab.robots.Trajectory.to_json.html +++ b/latest/api/generated/compas_fab.robots.Trajectory.to_json.html @@ -623,7 +623,7 @@

Trajectory.to_json

-Trajectory.to_json(filepath, pretty=False)[source]
+Trajectory.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Trajectory.to_jsonstring.html b/latest/api/generated/compas_fab.robots.Trajectory.to_jsonstring.html index 408279232..223a54ec3 100644 --- a/latest/api/generated/compas_fab.robots.Trajectory.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Trajectory.to_jsonstring.html @@ -623,7 +623,7 @@

Trajectory.to_jsonstring

-Trajectory.to_jsonstring(pretty=False)[source]
+Trajectory.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Trajectory.validate_data.html b/latest/api/generated/compas_fab.robots.Trajectory.validate_data.html index b57f438a1..be24b6b10 100644 --- a/latest/api/generated/compas_fab.robots.Trajectory.validate_data.html +++ b/latest/api/generated/compas_fab.robots.Trajectory.validate_data.html @@ -623,7 +623,7 @@

Trajectory.validate_data

-classmethod Trajectory.validate_data(data)[source]
+classmethod Trajectory.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.Waypoints.ToString.html b/latest/api/generated/compas_fab.robots.Waypoints.ToString.html index 767f303da..bd83a7bc7 100644 --- a/latest/api/generated/compas_fab.robots.Waypoints.ToString.html +++ b/latest/api/generated/compas_fab.robots.Waypoints.ToString.html @@ -623,7 +623,7 @@

Waypoints.ToString

-Waypoints.ToString()[source]
+Waypoints.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.Waypoints.copy.html b/latest/api/generated/compas_fab.robots.Waypoints.copy.html index e7ba356d8..05be1c59a 100644 --- a/latest/api/generated/compas_fab.robots.Waypoints.copy.html +++ b/latest/api/generated/compas_fab.robots.Waypoints.copy.html @@ -623,7 +623,7 @@

Waypoints.copy

-Waypoints.copy(cls=None)[source]
+Waypoints.copy(cls=None)[source]

Make an independent copy of the data object.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Waypoints.from_json.html b/latest/api/generated/compas_fab.robots.Waypoints.from_json.html index dfcb450a3..51484aa40 100644 --- a/latest/api/generated/compas_fab.robots.Waypoints.from_json.html +++ b/latest/api/generated/compas_fab.robots.Waypoints.from_json.html @@ -623,7 +623,7 @@

Waypoints.from_json

-classmethod Waypoints.from_json(filepath)[source]
+classmethod Waypoints.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Waypoints.from_jsonstring.html b/latest/api/generated/compas_fab.robots.Waypoints.from_jsonstring.html index 64cf47bc8..555dc86d7 100644 --- a/latest/api/generated/compas_fab.robots.Waypoints.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Waypoints.from_jsonstring.html @@ -623,7 +623,7 @@

Waypoints.from_jsonstring

-classmethod Waypoints.from_jsonstring(string)[source]
+classmethod Waypoints.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Waypoints.html b/latest/api/generated/compas_fab.robots.Waypoints.html index 7a34a5d68..dd6e14cd3 100644 --- a/latest/api/generated/compas_fab.robots.Waypoints.html +++ b/latest/api/generated/compas_fab.robots.Waypoints.html @@ -623,7 +623,7 @@

Waypoints

-class compas_fab.robots.Waypoints[source]
+class compas_fab.robots.Waypoints[source]

Bases: Data

Represents a sequence of kinematic target for motion planning.

Waypoints represent a sequence of targets the robot should pass through in the order they are defined. diff --git a/latest/api/generated/compas_fab.robots.Waypoints.scaled.html b/latest/api/generated/compas_fab.robots.Waypoints.scaled.html index 5e5a1bf69..749780267 100644 --- a/latest/api/generated/compas_fab.robots.Waypoints.scaled.html +++ b/latest/api/generated/compas_fab.robots.Waypoints.scaled.html @@ -623,7 +623,7 @@

Waypoints.scaled

-Waypoints.scaled(factor)[source]
+Waypoints.scaled(factor)[source]

Returns a scaled copy of the waypoints.

If the user model is created in millimeters, the target should be scaled by a factor of 0.001 before passing to the planner.

diff --git a/latest/api/generated/compas_fab.robots.Waypoints.sha256.html b/latest/api/generated/compas_fab.robots.Waypoints.sha256.html index c2869ecfd..c4b355d73 100644 --- a/latest/api/generated/compas_fab.robots.Waypoints.sha256.html +++ b/latest/api/generated/compas_fab.robots.Waypoints.sha256.html @@ -623,7 +623,7 @@

Waypoints.sha256

-Waypoints.sha256(as_string=False)[source]
+Waypoints.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Waypoints.to_json.html b/latest/api/generated/compas_fab.robots.Waypoints.to_json.html index 667ea42c8..06641ce79 100644 --- a/latest/api/generated/compas_fab.robots.Waypoints.to_json.html +++ b/latest/api/generated/compas_fab.robots.Waypoints.to_json.html @@ -623,7 +623,7 @@

Waypoints.to_json

-Waypoints.to_json(filepath, pretty=False)[source]
+Waypoints.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Waypoints.to_jsonstring.html b/latest/api/generated/compas_fab.robots.Waypoints.to_jsonstring.html index 6190e1a98..84032d71d 100644 --- a/latest/api/generated/compas_fab.robots.Waypoints.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Waypoints.to_jsonstring.html @@ -623,7 +623,7 @@

Waypoints.to_jsonstring

-Waypoints.to_jsonstring(pretty=False)[source]
+Waypoints.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Waypoints.validate_data.html b/latest/api/generated/compas_fab.robots.Waypoints.validate_data.html index 728cb1e4c..e56bac0d3 100644 --- a/latest/api/generated/compas_fab.robots.Waypoints.validate_data.html +++ b/latest/api/generated/compas_fab.robots.Waypoints.validate_data.html @@ -623,7 +623,7 @@

Waypoints.validate_data

-classmethod Waypoints.validate_data(data)[source]
+classmethod Waypoints.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.Wrench.ToString.html b/latest/api/generated/compas_fab.robots.Wrench.ToString.html index 27d4e36dd..e21e6e7f8 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.ToString.html +++ b/latest/api/generated/compas_fab.robots.Wrench.ToString.html @@ -623,7 +623,7 @@

Wrench.ToString

-Wrench.ToString()[source]
+Wrench.ToString()[source]

Converts the instance to a string.

This method exists for .NET compatibility. When using IronPython, the implicit string conversion that usually takes place in CPython diff --git a/latest/api/generated/compas_fab.robots.Wrench.by_samples.html b/latest/api/generated/compas_fab.robots.Wrench.by_samples.html index f68e52bb8..03c381891 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.by_samples.html +++ b/latest/api/generated/compas_fab.robots.Wrench.by_samples.html @@ -623,7 +623,7 @@

Wrench.by_samples

-classmethod Wrench.by_samples(wrenches, proportion_to_cut=0.1)[source]
+classmethod Wrench.by_samples(wrenches, proportion_to_cut=0.1)[source]

Construct the wrench by sampled data, allowing to filter.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Wrench.copy.html b/latest/api/generated/compas_fab.robots.Wrench.copy.html index 66f9fd610..4d07c3b28 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.copy.html +++ b/latest/api/generated/compas_fab.robots.Wrench.copy.html @@ -623,7 +623,7 @@

Wrench.copy

-Wrench.copy()[source]
+Wrench.copy()[source]

Make a copy of this Wrench.

Returns:
diff --git a/latest/api/generated/compas_fab.robots.Wrench.from_json.html b/latest/api/generated/compas_fab.robots.Wrench.from_json.html index 13f0a672c..073e9f201 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.from_json.html +++ b/latest/api/generated/compas_fab.robots.Wrench.from_json.html @@ -623,7 +623,7 @@

Wrench.from_json

-classmethod Wrench.from_json(filepath)[source]
+classmethod Wrench.from_json(filepath)[source]

Construct an object of this type from a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Wrench.from_jsonstring.html b/latest/api/generated/compas_fab.robots.Wrench.from_jsonstring.html index 3890bfe18..ce27a615f 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.from_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Wrench.from_jsonstring.html @@ -623,7 +623,7 @@

Wrench.from_jsonstring

-classmethod Wrench.from_jsonstring(string)[source]
+classmethod Wrench.from_jsonstring(string)[source]

Construct an object of this type from a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Wrench.from_list.html b/latest/api/generated/compas_fab.robots.Wrench.from_list.html index abf48eb07..38483f46c 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.from_list.html +++ b/latest/api/generated/compas_fab.robots.Wrench.from_list.html @@ -623,7 +623,7 @@

Wrench.from_list

-classmethod Wrench.from_list(values)[source]
+classmethod Wrench.from_list(values)[source]

Construct a wrench from a list of 6 float values.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Wrench.gravity_compensated.html b/latest/api/generated/compas_fab.robots.Wrench.gravity_compensated.html index 7a537a5df..a5a5754a5 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.gravity_compensated.html +++ b/latest/api/generated/compas_fab.robots.Wrench.gravity_compensated.html @@ -623,7 +623,7 @@

Wrench.gravity_compensated

-Wrench.gravity_compensated(ft_sensor_frame, mass, center_of_mass)[source]
+Wrench.gravity_compensated(ft_sensor_frame, mass, center_of_mass)[source]

Removes the force and torque in effect of gravity from the wrench.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Wrench.html b/latest/api/generated/compas_fab.robots.Wrench.html index 50caab129..31f8e973c 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.html +++ b/latest/api/generated/compas_fab.robots.Wrench.html @@ -623,7 +623,7 @@

Wrench

-class compas_fab.robots.Wrench[source]
+class compas_fab.robots.Wrench[source]

Bases: Data

A wrench represents force in free space, separated into its linear (force) and angular (torque) parts.

Examples

diff --git a/latest/api/generated/compas_fab.robots.Wrench.sha256.html b/latest/api/generated/compas_fab.robots.Wrench.sha256.html index 7ad574925..25d314de4 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.sha256.html +++ b/latest/api/generated/compas_fab.robots.Wrench.sha256.html @@ -623,7 +623,7 @@

Wrench.sha256

-Wrench.sha256(as_string=False)[source]
+Wrench.sha256(as_string=False)[source]

Compute a hash of the data for comparison during version control using the sha256 algorithm.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Wrench.to_json.html b/latest/api/generated/compas_fab.robots.Wrench.to_json.html index fb6590d59..fe5f4db35 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.to_json.html +++ b/latest/api/generated/compas_fab.robots.Wrench.to_json.html @@ -623,7 +623,7 @@

Wrench.to_json

-Wrench.to_json(filepath, pretty=False)[source]
+Wrench.to_json(filepath, pretty=False)[source]

Convert an object to its native data representation and save it to a JSON file.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Wrench.to_jsonstring.html b/latest/api/generated/compas_fab.robots.Wrench.to_jsonstring.html index 287196f24..f16b60c3b 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.to_jsonstring.html +++ b/latest/api/generated/compas_fab.robots.Wrench.to_jsonstring.html @@ -623,7 +623,7 @@

Wrench.to_jsonstring

-Wrench.to_jsonstring(pretty=False)[source]
+Wrench.to_jsonstring(pretty=False)[source]

Convert an object to its native data representation and save it to a JSON string.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Wrench.transform.html b/latest/api/generated/compas_fab.robots.Wrench.transform.html index 394617f86..3eb370cc6 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.transform.html +++ b/latest/api/generated/compas_fab.robots.Wrench.transform.html @@ -623,7 +623,7 @@

Wrench.transform

-Wrench.transform(transformation)[source]
+Wrench.transform(transformation)[source]

Transforms a Wrench with the transformation.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Wrench.transformed.html b/latest/api/generated/compas_fab.robots.Wrench.transformed.html index 668073952..878c1866c 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.transformed.html +++ b/latest/api/generated/compas_fab.robots.Wrench.transformed.html @@ -623,7 +623,7 @@

Wrench.transformed

-Wrench.transformed(transformation)[source]
+Wrench.transformed(transformation)[source]

Returns a transformed copy of the Wrench.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.Wrench.validate_data.html b/latest/api/generated/compas_fab.robots.Wrench.validate_data.html index 4761fd01f..38e2ca79d 100644 --- a/latest/api/generated/compas_fab.robots.Wrench.validate_data.html +++ b/latest/api/generated/compas_fab.robots.Wrench.validate_data.html @@ -623,7 +623,7 @@

Wrench.validate_data

-classmethod Wrench.validate_data(data)[source]
+classmethod Wrench.validate_data(data)[source]

Validate the data against the object’s data schema.

The data is the raw data that can be used to construct an object of this type with the classmethod __from_data__.

diff --git a/latest/api/generated/compas_fab.robots.to_degrees.html b/latest/api/generated/compas_fab.robots.to_degrees.html index d5f7d0c64..0911650ac 100644 --- a/latest/api/generated/compas_fab.robots.to_degrees.html +++ b/latest/api/generated/compas_fab.robots.to_degrees.html @@ -623,7 +623,7 @@

to_degrees

-compas_fab.robots.to_degrees(radians)[source]
+compas_fab.robots.to_degrees(radians)[source]

Convert a list of floats representing radians to a list of degrees.

Parameters:
diff --git a/latest/api/generated/compas_fab.robots.to_radians.html b/latest/api/generated/compas_fab.robots.to_radians.html index b0f982cc3..de05a80f3 100644 --- a/latest/api/generated/compas_fab.robots.to_radians.html +++ b/latest/api/generated/compas_fab.robots.to_radians.html @@ -623,7 +623,7 @@

to_radians

-compas_fab.robots.to_radians(degrees)[source]
+compas_fab.robots.to_radians(degrees)[source]

Convert a list of floats representing degrees to a list of radians.

Parameters:
diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.activate_flex_mount.html b/latest/api/generated/compas_fab.sensors.PosCon3D.activate_flex_mount.html index 1e25a1e99..73198aa60 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.activate_flex_mount.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.activate_flex_mount.html @@ -623,7 +623,7 @@

PosCon3D.activate_flex_mount

-PosCon3D.activate_flex_mount(reference_thickness)[source]
+PosCon3D.activate_flex_mount(reference_thickness)[source]

Activates the FLEX Mount feature of the sensor to allow positioning it on an angled installation. The reference thickness is only required if the surface is uneven and an additional leveling auxiliary plate as been added.

diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.adjust_to_dark_object.html b/latest/api/generated/compas_fab.sensors.PosCon3D.adjust_to_dark_object.html index 29657147f..240d7b647 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.adjust_to_dark_object.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.adjust_to_dark_object.html @@ -623,7 +623,7 @@

PosCon3D.adjust_to_dark_object

-PosCon3D.adjust_to_dark_object(is_dark_object)[source]
+PosCon3D.adjust_to_dark_object(is_dark_object)[source]

Adjusts the sensor to detect darker or lighter surfaces.

diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.begin.html b/latest/api/generated/compas_fab.sensors.PosCon3D.begin.html index 8dd28c0c0..7acf08685 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.begin.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.begin.html @@ -623,7 +623,7 @@

PosCon3D.begin

-PosCon3D.begin()[source]
+PosCon3D.begin()[source]

Locks the sensor to start RS-485 communication.

Notes

This method only needs to be called if not using diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.calculate_checksum.html b/latest/api/generated/compas_fab.sensors.PosCon3D.calculate_checksum.html index 8553fd665..b35813079 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.calculate_checksum.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.calculate_checksum.html @@ -623,7 +623,7 @@

PosCon3D.calculate_checksum

-PosCon3D.calculate_checksum(command)[source]
+PosCon3D.calculate_checksum(command)[source]

Checks that message is complete.

diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.deactivate_flex_mount.html b/latest/api/generated/compas_fab.sensors.PosCon3D.deactivate_flex_mount.html index fd78a15ce..ba4d41163 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.deactivate_flex_mount.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.deactivate_flex_mount.html @@ -623,7 +623,7 @@

PosCon3D.deactivate_flex_mount

-PosCon3D.deactivate_flex_mount()[source]
+PosCon3D.deactivate_flex_mount()[source]

Deactivates the FLEX Mount feature.

diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.end.html b/latest/api/generated/compas_fab.sensors.PosCon3D.end.html index d57c8901c..38733ba04 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.end.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.end.html @@ -623,7 +623,7 @@

PosCon3D.end

-PosCon3D.end()[source]
+PosCon3D.end()[source]

Unlocks the sensor from RS-485 communication.

Notes

This method only needs to be called if not using diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.format_command.html b/latest/api/generated/compas_fab.sensors.PosCon3D.format_command.html index 8729df33a..99f6be447 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.format_command.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.format_command.html @@ -623,7 +623,7 @@

PosCon3D.format_command

-PosCon3D.format_command(address, command, data=None)[source]
+PosCon3D.format_command(address, command, data=None)[source]

Formats the command.

diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.get_address.html b/latest/api/generated/compas_fab.sensors.PosCon3D.get_address.html index 8e1e41edd..02eee65a3 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.get_address.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.get_address.html @@ -623,7 +623,7 @@

PosCon3D.get_address

-PosCon3D.get_address()[source]
+PosCon3D.get_address()[source]

Gets the address of the RS-485 sensors currently connected to the bus. This command is only really useful when this class is initialized with the broadcast address, with the purpose of retrieving the address of a sensor connected.

diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.get_live_monitor_data.html b/latest/api/generated/compas_fab.sensors.PosCon3D.get_live_monitor_data.html index 572b762a1..2d5823c83 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.get_live_monitor_data.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.get_live_monitor_data.html @@ -623,7 +623,7 @@

PosCon3D.get_live_monitor_data

-PosCon3D.get_live_monitor_data()[source]
+PosCon3D.get_live_monitor_data()[source]

Retrieves the distance to the surface in the center of the laser beam and the angle at which it’s found.

diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.get_measurement.html b/latest/api/generated/compas_fab.sensors.PosCon3D.get_measurement.html index b39f6f06d..b0bbccfd9 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.get_measurement.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.get_measurement.html @@ -623,7 +623,7 @@

PosCon3D.get_measurement

-PosCon3D.get_measurement()[source]
+PosCon3D.get_measurement()[source]

Retrieves the current measurement of the sensor according to the current settings.

Returns:
diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.get_payload.html b/latest/api/generated/compas_fab.sensors.PosCon3D.get_payload.html index 6a526dd02..c87dcc9cd 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.get_payload.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.get_payload.html @@ -623,7 +623,7 @@

PosCon3D.get_payload

-PosCon3D.get_payload(result)[source]
+PosCon3D.get_payload(result)[source]

Gets payload.

diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.html b/latest/api/generated/compas_fab.sensors.PosCon3D.html index 4f5e0cde6..0dad2fd22 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.html @@ -623,7 +623,7 @@

PosCon3D

-class compas_fab.sensors.PosCon3D[source]
+class compas_fab.sensors.PosCon3D[source]

Bases: SerialSensor

Provides an interface for the Baumer PosCon3D edge measurement sensor.

The sensor has different interfaces to retrieve its data. This diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.reset.html b/latest/api/generated/compas_fab.sensors.PosCon3D.reset.html index 33a6fa4be..3a26b8ea6 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.reset.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.reset.html @@ -623,7 +623,7 @@

PosCon3D.reset

-PosCon3D.reset()[source]
+PosCon3D.reset()[source]

Resets the sensor to factory settings.

diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.send_command.html b/latest/api/generated/compas_fab.sensors.PosCon3D.send_command.html index ded390ed0..8a4e951a8 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.send_command.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.send_command.html @@ -623,7 +623,7 @@

PosCon3D.send_command

-PosCon3D.send_command(address, command, data=None)[source]
+PosCon3D.send_command(address, command, data=None)[source]

Sends a command to the sensor’s address specified. The command can optionally contain a data string.

This method is mostly for internal use, as the higher-level API is diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.set_edge_height.html b/latest/api/generated/compas_fab.sensors.PosCon3D.set_edge_height.html index f10289141..a160d03b1 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.set_edge_height.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.set_edge_height.html @@ -623,7 +623,7 @@

PosCon3D.set_edge_height

-PosCon3D.set_edge_height(height)[source]
+PosCon3D.set_edge_height(height)[source]

Defines the minimum height of an edge to be detected.

Parameters:
diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.set_flex_mount.html b/latest/api/generated/compas_fab.sensors.PosCon3D.set_flex_mount.html index 3bda34c85..e54cb9b61 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.set_flex_mount.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.set_flex_mount.html @@ -623,7 +623,7 @@

PosCon3D.set_flex_mount

-PosCon3D.set_flex_mount(angle, distance)[source]
+PosCon3D.set_flex_mount(angle, distance)[source]

Sets the FLEX Mount feature to a specific angle and distance.

diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.set_measurement_type.html b/latest/api/generated/compas_fab.sensors.PosCon3D.set_measurement_type.html index a49c6a5ae..c3363f0fb 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.set_measurement_type.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.set_measurement_type.html @@ -623,7 +623,7 @@

PosCon3D.set_measurement_type

-PosCon3D.set_measurement_type(measurement_type)[source]
+PosCon3D.set_measurement_type(measurement_type)[source]

Defines the measurement type to use.

diff --git a/latest/api/generated/compas_fab.sensors.PosCon3D.set_precision.html b/latest/api/generated/compas_fab.sensors.PosCon3D.set_precision.html index a51c0f49e..27e32d771 100644 --- a/latest/api/generated/compas_fab.sensors.PosCon3D.set_precision.html +++ b/latest/api/generated/compas_fab.sensors.PosCon3D.set_precision.html @@ -623,7 +623,7 @@

PosCon3D.set_precision

-PosCon3D.set_precision(precision)[source]
+PosCon3D.set_precision(precision)[source]

Defines the precision the sensor will use to determine edges:

diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.activate_flex_mount.html b/latest/api/generated/compas_fab.sensors.PosConCM.activate_flex_mount.html index 1e878c66f..7888fd1ae 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.activate_flex_mount.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.activate_flex_mount.html @@ -623,7 +623,7 @@

PosConCM.activate_flex_mount

-PosConCM.activate_flex_mount()[source]
+PosConCM.activate_flex_mount()[source]

Activates the FLEX Mount feature of the sensor to allow positioning it on an angled installation. The reference thickness is only required if the surface is uneven and an additional leveling auxiliary plate as been added.

diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.adjust_to_dark_object.html b/latest/api/generated/compas_fab.sensors.PosConCM.adjust_to_dark_object.html index 9769655cd..b3068e841 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.adjust_to_dark_object.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.adjust_to_dark_object.html @@ -623,7 +623,7 @@

PosConCM.adjust_to_dark_object

-PosConCM.adjust_to_dark_object(is_dark_object)[source]
+PosConCM.adjust_to_dark_object(is_dark_object)[source]

Adjusts the sensor to detect darker or lighter surfaces.

diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.begin.html b/latest/api/generated/compas_fab.sensors.PosConCM.begin.html index 0a6745d3d..9830ca0a1 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.begin.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.begin.html @@ -623,7 +623,7 @@

PosConCM.begin

-PosConCM.begin()[source]
+PosConCM.begin()[source]

Locks the sensor to start RS-485 communication.

Notes

This method only needs to be called if not using diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.calculate_checksum.html b/latest/api/generated/compas_fab.sensors.PosConCM.calculate_checksum.html index 58d843c71..53d700471 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.calculate_checksum.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.calculate_checksum.html @@ -623,7 +623,7 @@

PosConCM.calculate_checksum

-PosConCM.calculate_checksum(command)[source]
+PosConCM.calculate_checksum(command)[source]

Checks that message is complete.

diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.deactivate_flex_mount.html b/latest/api/generated/compas_fab.sensors.PosConCM.deactivate_flex_mount.html index f23e6c313..5a5ad49b0 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.deactivate_flex_mount.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.deactivate_flex_mount.html @@ -623,7 +623,7 @@

PosConCM.deactivate_flex_mount

-PosConCM.deactivate_flex_mount()[source]
+PosConCM.deactivate_flex_mount()[source]

Deactivates the FLEX Mount feature.

diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.end.html b/latest/api/generated/compas_fab.sensors.PosConCM.end.html index 4e578302a..4d8584021 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.end.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.end.html @@ -623,7 +623,7 @@

PosConCM.end

-PosConCM.end()[source]
+PosConCM.end()[source]

Unlocks the sensor from RS-485 communication.

Notes

This method only needs to be called if not using diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.format_command.html b/latest/api/generated/compas_fab.sensors.PosConCM.format_command.html index f434ab622..25c294577 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.format_command.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.format_command.html @@ -623,7 +623,7 @@

PosConCM.format_command

-PosConCM.format_command(address, command, data=None)[source]
+PosConCM.format_command(address, command, data=None)[source]

Formats the command.

diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.get_address.html b/latest/api/generated/compas_fab.sensors.PosConCM.get_address.html index 0be381d6b..5e1724919 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.get_address.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.get_address.html @@ -623,7 +623,7 @@

PosConCM.get_address

-PosConCM.get_address()[source]
+PosConCM.get_address()[source]

Gets the address of the RS-485 sensors currently connected to the bus. This command is only really useful when this class is initialized with the broadcast address, with the purpose of retrieving the address of a sensor connected.

diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.get_measurement.html b/latest/api/generated/compas_fab.sensors.PosConCM.get_measurement.html index 9d3ab37ca..434b9323e 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.get_measurement.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.get_measurement.html @@ -623,7 +623,7 @@

PosConCM.get_measurement

-PosConCM.get_measurement()[source]
+PosConCM.get_measurement()[source]

Retrieves the current measurement of the sensor according to the current settings.

Returns:
diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.get_payload.html b/latest/api/generated/compas_fab.sensors.PosConCM.get_payload.html index 0ad055f4b..944fc9c2a 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.get_payload.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.get_payload.html @@ -623,7 +623,7 @@

PosConCM.get_payload

-PosConCM.get_payload(result)[source]
+PosConCM.get_payload(result)[source]

Gets payload.

diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.html b/latest/api/generated/compas_fab.sensors.PosConCM.html index 70575fae0..e7c262372 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.html @@ -623,7 +623,7 @@

PosConCM

-class compas_fab.sensors.PosConCM[source]
+class compas_fab.sensors.PosConCM[source]

Bases: SerialSensor

Provides an interface for the Baumer PosConCM round objects measurement sensor.

The sensor has different interfaces to retrieve its data. This diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.reset.html b/latest/api/generated/compas_fab.sensors.PosConCM.reset.html index dd8dfd6a5..7b545a9e7 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.reset.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.reset.html @@ -623,7 +623,7 @@

PosConCM.reset

-PosConCM.reset()[source]
+PosConCM.reset()[source]

Resets the sensor to factory settings.

diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.send_command.html b/latest/api/generated/compas_fab.sensors.PosConCM.send_command.html index d870b5f63..d5910ee3c 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.send_command.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.send_command.html @@ -623,7 +623,7 @@

PosConCM.send_command

-PosConCM.send_command(address, command, data=None)[source]
+PosConCM.send_command(address, command, data=None)[source]

Sends a command to the sensor’s address specified. The command can optionally contain a data string. This method is mostly for internal use, as the higher-level API is diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.set_flex_mount.html b/latest/api/generated/compas_fab.sensors.PosConCM.set_flex_mount.html index b4327d927..0089304a8 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.set_flex_mount.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.set_flex_mount.html @@ -623,7 +623,7 @@

PosConCM.set_flex_mount

-PosConCM.set_flex_mount(angle, distance)[source]
+PosConCM.set_flex_mount(angle, distance)[source]

Sets the FLEX Mount feature to a specific angle and distance.

diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.set_measurement_type.html b/latest/api/generated/compas_fab.sensors.PosConCM.set_measurement_type.html index b7c177b66..3f56de6e7 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.set_measurement_type.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.set_measurement_type.html @@ -623,7 +623,7 @@

PosConCM.set_measurement_type

-PosConCM.set_measurement_type(measurement_type)[source]
+PosConCM.set_measurement_type(measurement_type)[source]

Defines the measurement type to use.

diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.set_precision.html b/latest/api/generated/compas_fab.sensors.PosConCM.set_precision.html index 4713d8ed4..0eb403dd0 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.set_precision.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.set_precision.html @@ -623,7 +623,7 @@

PosConCM.set_precision

-PosConCM.set_precision(precision)[source]
+PosConCM.set_precision(precision)[source]

Defines the precision the sensor will use to determine edges:

diff --git a/latest/api/generated/compas_fab.sensors.PosConCM.teach_flex_mount.html b/latest/api/generated/compas_fab.sensors.PosConCM.teach_flex_mount.html index fa661c906..89d2f32af 100644 --- a/latest/api/generated/compas_fab.sensors.PosConCM.teach_flex_mount.html +++ b/latest/api/generated/compas_fab.sensors.PosConCM.teach_flex_mount.html @@ -623,7 +623,7 @@

PosConCM.teach_flex_mount

-PosConCM.teach_flex_mount(reference_thickness)[source]
+PosConCM.teach_flex_mount(reference_thickness)[source]

Sets the FLEX Mount feature to a specific angle and distance.

diff --git a/latest/api/generated/compas_fab.sensors.ProtocolError.html b/latest/api/generated/compas_fab.sensors.ProtocolError.html index bea0c0969..8bba6d715 100644 --- a/latest/api/generated/compas_fab.sensors.ProtocolError.html +++ b/latest/api/generated/compas_fab.sensors.ProtocolError.html @@ -623,7 +623,7 @@

ProtocolError

-exception compas_fab.sensors.ProtocolError[source]
+exception compas_fab.sensors.ProtocolError[source]

Bases: OSError

Exception raised for protocol errors.

diff --git a/latest/api/generated/compas_fab.sensors.SensorTimeoutError.html b/latest/api/generated/compas_fab.sensors.SensorTimeoutError.html index 151e6a6da..97ba8242d 100644 --- a/latest/api/generated/compas_fab.sensors.SensorTimeoutError.html +++ b/latest/api/generated/compas_fab.sensors.SensorTimeoutError.html @@ -623,7 +623,7 @@

SensorTimeoutError

-exception compas_fab.sensors.SensorTimeoutError[source]
+exception compas_fab.sensors.SensorTimeoutError[source]

Bases: Exception

Exception raised for sensor timeout errors.

diff --git a/latest/api/generated/compas_fab.sensors.SerialSensor.html b/latest/api/generated/compas_fab.sensors.SerialSensor.html index 57dba7993..63791dfce 100644 --- a/latest/api/generated/compas_fab.sensors.SerialSensor.html +++ b/latest/api/generated/compas_fab.sensors.SerialSensor.html @@ -623,7 +623,7 @@

SerialSensor

-class compas_fab.sensors.SerialSensor[source]
+class compas_fab.sensors.SerialSensor[source]

Bases: object

Base class for all sensors with a serial interface.

diff --git a/latest/api/generated/compas_fab.utilities.LazyLoader.html b/latest/api/generated/compas_fab.utilities.LazyLoader.html index 2b9de647c..20876987f 100644 --- a/latest/api/generated/compas_fab.utilities.LazyLoader.html +++ b/latest/api/generated/compas_fab.utilities.LazyLoader.html @@ -623,7 +623,7 @@

LazyLoader

-class compas_fab.utilities.LazyLoader[source]
+class compas_fab.utilities.LazyLoader[source]

Bases: module

Lazily import a module, mainly to avoid pulling in large dependencies.

contrib, and ffmpeg are examples of modules that are large and not always diff --git a/latest/api/generated/compas_fab.utilities.allclose.html b/latest/api/generated/compas_fab.utilities.allclose.html index d92f96246..de0087cf8 100644 --- a/latest/api/generated/compas_fab.utilities.allclose.html +++ b/latest/api/generated/compas_fab.utilities.allclose.html @@ -623,7 +623,7 @@

allclose

-compas_fab.utilities.allclose(l1, l2, tol=1e-05)[source]
+compas_fab.utilities.allclose(l1, l2, tol=1e-05)[source]

Returns True if two lists are element-wise equal within a tolerance.

The function is similar to NumPy’s allclose function.

diff --git a/latest/api/generated/compas_fab.utilities.arange.html b/latest/api/generated/compas_fab.utilities.arange.html index a0a677296..85e53f00b 100644 --- a/latest/api/generated/compas_fab.utilities.arange.html +++ b/latest/api/generated/compas_fab.utilities.arange.html @@ -623,7 +623,7 @@

arange

-compas_fab.utilities.arange(start, stop, step)[source]
+compas_fab.utilities.arange(start, stop, step)[source]

Returns evenly spaced values within a given interval.

The function is similar to NumPy’s arange function.

diff --git a/latest/api/generated/compas_fab.utilities.argmax.html b/latest/api/generated/compas_fab.utilities.argmax.html index 7e88ac081..e047c0d52 100644 --- a/latest/api/generated/compas_fab.utilities.argmax.html +++ b/latest/api/generated/compas_fab.utilities.argmax.html @@ -623,7 +623,7 @@

argmax

-compas_fab.utilities.argmax(numbers)[source]
+compas_fab.utilities.argmax(numbers)[source]

Returns the index of the maximum value in numbers.

The function is similar to NumPy’s argmax function.

Notes

diff --git a/latest/api/generated/compas_fab.utilities.argmin.html b/latest/api/generated/compas_fab.utilities.argmin.html index b327df16e..9ff727c6f 100644 --- a/latest/api/generated/compas_fab.utilities.argmin.html +++ b/latest/api/generated/compas_fab.utilities.argmin.html @@ -623,7 +623,7 @@

argmin

-compas_fab.utilities.argmin(numbers)[source]
+compas_fab.utilities.argmin(numbers)[source]

Returns the index of the minimum value in numbers.

The function is similar to NumPy’s argmin function.

Notes

diff --git a/latest/api/generated/compas_fab.utilities.argsort.html b/latest/api/generated/compas_fab.utilities.argsort.html index 27d7e5131..6f39e0851 100644 --- a/latest/api/generated/compas_fab.utilities.argsort.html +++ b/latest/api/generated/compas_fab.utilities.argsort.html @@ -623,7 +623,7 @@

argsort

-compas_fab.utilities.argsort(numbers)[source]
+compas_fab.utilities.argsort(numbers)[source]

Returns the indices that would sort an array of numbers.

The function is similar to NumPy’s argsort function.

Notes

diff --git a/latest/api/generated/compas_fab.utilities.clamp.html b/latest/api/generated/compas_fab.utilities.clamp.html index 783414dbf..e2cbeba93 100644 --- a/latest/api/generated/compas_fab.utilities.clamp.html +++ b/latest/api/generated/compas_fab.utilities.clamp.html @@ -623,7 +623,7 @@

clamp

-compas_fab.utilities.clamp(value, min_value, max_value)[source]
+compas_fab.utilities.clamp(value, min_value, max_value)[source]

Clamps a value within the bound [min_value, max_value]

Returns:
diff --git a/latest/api/generated/compas_fab.utilities.diffs.html b/latest/api/generated/compas_fab.utilities.diffs.html index 264671f82..4a3e1b89f 100644 --- a/latest/api/generated/compas_fab.utilities.diffs.html +++ b/latest/api/generated/compas_fab.utilities.diffs.html @@ -623,7 +623,7 @@

diffs

-compas_fab.utilities.diffs(l1, l2)[source]
+compas_fab.utilities.diffs(l1, l2)[source]

Returns the element-wise differences between two lists.

Raises:
diff --git a/latest/api/generated/compas_fab.utilities.from_tcf_to_t0cf.html b/latest/api/generated/compas_fab.utilities.from_tcf_to_t0cf.html index 644af07ab..9c2c42772 100644 --- a/latest/api/generated/compas_fab.utilities.from_tcf_to_t0cf.html +++ b/latest/api/generated/compas_fab.utilities.from_tcf_to_t0cf.html @@ -623,7 +623,7 @@

from_tcf_to_t0cf

-compas_fab.utilities.from_tcf_to_t0cf(tcf_frame_in_wcf, tool_coordinate_frame)[source]
+compas_fab.utilities.from_tcf_to_t0cf(tcf_frame_in_wcf, tool_coordinate_frame)[source]

Converts a frame describing the robot’s tool tip (tcf frame) relative to WCF to a frame describing the robot’s flange (tool0 frame), relative to WCF.

Let: W_TCF = tcf_frame_in_wcf diff --git a/latest/api/generated/compas_fab.utilities.list_files_in_directory.html b/latest/api/generated/compas_fab.utilities.list_files_in_directory.html index cfe6b4c33..7f1e66ef6 100644 --- a/latest/api/generated/compas_fab.utilities.list_files_in_directory.html +++ b/latest/api/generated/compas_fab.utilities.list_files_in_directory.html @@ -623,7 +623,7 @@

list_files_in_directory

-compas_fab.utilities.list_files_in_directory(directory, fullpath=False, extensions=None)[source]
+compas_fab.utilities.list_files_in_directory(directory, fullpath=False, extensions=None)[source]

This function lists just the files in a directory, not sub-directories.

Parameters:
diff --git a/latest/api/generated/compas_fab.utilities.map_range.html b/latest/api/generated/compas_fab.utilities.map_range.html index 0fc47fd56..bcd4172a4 100644 --- a/latest/api/generated/compas_fab.utilities.map_range.html +++ b/latest/api/generated/compas_fab.utilities.map_range.html @@ -623,7 +623,7 @@

map_range

-compas_fab.utilities.map_range(value, from_min, from_max, to_min, to_max)[source]
+compas_fab.utilities.map_range(value, from_min, from_max, to_min, to_max)[source]

Performs a linear interpolation of a value within the range of [from_min, from_max] to another range of [to_min, to_max].

diff --git a/latest/api/generated/compas_fab.utilities.range_geometric_row.html b/latest/api/generated/compas_fab.utilities.range_geometric_row.html index f72fbdd46..94b40084e 100644 --- a/latest/api/generated/compas_fab.utilities.range_geometric_row.html +++ b/latest/api/generated/compas_fab.utilities.range_geometric_row.html @@ -623,7 +623,7 @@

range_geometric_row

-compas_fab.utilities.range_geometric_row(number, d, r=1.1)[source]
+compas_fab.utilities.range_geometric_row(number, d, r=1.1)[source]

Returns a list of numbers with a certain relation to each other.

The function divides one number into a list of d numbers [n0, n1, …], such that their sum is number and the relation between the numbers is defined diff --git a/latest/api/generated/compas_fab.utilities.read_csv_to_dictionary.html b/latest/api/generated/compas_fab.utilities.read_csv_to_dictionary.html index 8334ba8ab..c4b75644b 100644 --- a/latest/api/generated/compas_fab.utilities.read_csv_to_dictionary.html +++ b/latest/api/generated/compas_fab.utilities.read_csv_to_dictionary.html @@ -623,7 +623,7 @@

read_csv_to_dictionary

-compas_fab.utilities.read_csv_to_dictionary(csvfile, delimiter=';')[source]
+compas_fab.utilities.read_csv_to_dictionary(csvfile, delimiter=';')[source]

Reads a csv file and returns a dictionary with the respective keys specified in the first row of the csv file.

diff --git a/latest/api/generated/compas_fab.utilities.read_data_from_pickle.html b/latest/api/generated/compas_fab.utilities.read_data_from_pickle.html index 3ba330290..b4dc6515e 100644 --- a/latest/api/generated/compas_fab.utilities.read_data_from_pickle.html +++ b/latest/api/generated/compas_fab.utilities.read_data_from_pickle.html @@ -623,7 +623,7 @@

read_data_from_pickle

-compas_fab.utilities.read_data_from_pickle(file)[source]
+compas_fab.utilities.read_data_from_pickle(file)[source]

Read data from pickle file.

Parameters:
diff --git a/latest/api/generated/compas_fab.utilities.sign.html b/latest/api/generated/compas_fab.utilities.sign.html index 4b0316d38..23a15a827 100644 --- a/latest/api/generated/compas_fab.utilities.sign.html +++ b/latest/api/generated/compas_fab.utilities.sign.html @@ -623,7 +623,7 @@

sign

-compas_fab.utilities.sign(number)[source]
+compas_fab.utilities.sign(number)[source]

Returns the sign of a number: +1 or -1.

Parameters:
diff --git a/latest/api/generated/compas_fab.utilities.write_data_to_pickle.html b/latest/api/generated/compas_fab.utilities.write_data_to_pickle.html index 92f664f04..63296e034 100644 --- a/latest/api/generated/compas_fab.utilities.write_data_to_pickle.html +++ b/latest/api/generated/compas_fab.utilities.write_data_to_pickle.html @@ -623,7 +623,7 @@

write_data_to_pickle

-compas_fab.utilities.write_data_to_pickle(data, file)[source]
+compas_fab.utilities.write_data_to_pickle(data, file)[source]

Write data to pickle file.

Parameters:
diff --git a/latest/changelog.html b/latest/changelog.html index eba8a411f..97ccba0d9 100644 --- a/latest/changelog.html +++ b/latest/changelog.html @@ -625,8 +625,13 @@

CHANGELOG

### Changed -* Backend planners use multi-inherence instead of `__call__` to include the backend functions. This allows for better generated documentation. -* `Robot.plan_cartesian_motion()` now accepts `Waypoints` as target. Implementation for `FrameWaypoints` is supported with same functionality as before. Simply wrap `Frame` objects using `FrameWaypoints(frames)`. + +* Renamed `PybulletClient.get_cached_robot` to `PybulletClient.get_cached_robot_model` to avoid confusion between the `RobotModel` and `Robot` class. +* Renamed `PybulletClient.ensure_cached_robot` to `PybulletClient.ensure_cached_robot_model`. +* Renamed `PybulletClient.ensure_cached_robot_geometry` to `PybulletClient.ensure_cached_robot_model_geometry`. +* Renamed `PybulletClient.cache_robot` to `PybulletClient.cache_robot_model`. +* Backend planners now use multi-inherence instead of `__call__` to include the backend functions. This allows for better generated documentation. +* `Robot.plan_carteisan_motion()` now accepts `Waypoints` as target. Implementation for `FrameWaypoints` is supported with same functionality as before. Simply wrap `Frame` objects using `FrameWaypoints(frames)`. * Changed `BoundingVolume`, `Constraint`, `JointConstraint`, `OrientationConstraint`, `PositionConstraint` to inherit from `compas.data.Data` class. * Change the signature of `plan_motion()` to use `target` (`Target` class) instead of `goal_constraints`. Only one target is accepted. Users who wish to compose their own constraint sets can still use `ConstraintSetTarget`. * Moved `Robot.orientation_constraint_from_frame()` to `OrientationConstraint.from_frame()`, as constraints are no longer intended for users to use directly. diff --git a/latest/developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.add_attached_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.add_attached_collision_mesh.html index 53824e826..8613a5c1c 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.add_attached_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.add_attached_collision_mesh.html @@ -623,7 +623,7 @@

AddAttachedCollisionMesh.add_attached_collision_mesh

-AddAttachedCollisionMesh.add_attached_collision_mesh(attached_collision_mesh, options=None)[source]
+AddAttachedCollisionMesh.add_attached_collision_mesh(attached_collision_mesh, options=None)[source]

Add a collision mesh and attach it to the robot.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.html b/latest/developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.html index ea95842d3..0a0b4f4c4 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.html @@ -618,7 +618,7 @@

AddAttachedCollisionMesh

-class compas_fab.backends.interfaces.AddAttachedCollisionMesh[source]
+class compas_fab.backends.interfaces.AddAttachedCollisionMesh[source]

Bases: BackendFeature

Mix-in interface for implementing a planner’s add attached collision mesh feature.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.add_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.add_collision_mesh.html index 26276c7b0..0459ec61e 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.add_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.add_collision_mesh.html @@ -623,7 +623,7 @@

AddCollisionMesh.add_collision_mesh

-AddCollisionMesh.add_collision_mesh(collision_mesh, options=None)[source]
+AddCollisionMesh.add_collision_mesh(collision_mesh, options=None)[source]

Add a collision mesh to the planning scene.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.html b/latest/developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.html index 3f2fd90e7..3ed18ef12 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.html @@ -618,7 +618,7 @@

AddCollisionMesh

-class compas_fab.backends.interfaces.AddCollisionMesh[source]
+class compas_fab.backends.interfaces.AddCollisionMesh[source]

Bases: BackendFeature

Mix-in interface for implementing a planner’s add collision mesh feature.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.append_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.append_collision_mesh.html index 5c2ffcebb..30c1f0d84 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.append_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.append_collision_mesh.html @@ -623,7 +623,7 @@

AppendCollisionMesh.append_collision_mesh

-AppendCollisionMesh.append_collision_mesh(collision_mesh, options=None)[source]
+AppendCollisionMesh.append_collision_mesh(collision_mesh, options=None)[source]

Append a collision mesh to the planning scene.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.html b/latest/developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.html index 6f73b302e..c6598940c 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.html @@ -618,7 +618,7 @@

AppendCollisionMesh

-class compas_fab.backends.interfaces.AppendCollisionMesh[source]
+class compas_fab.backends.interfaces.AppendCollisionMesh[source]

Bases: BackendFeature

Mix-in interface for implementing a planner’s append collision mesh feature.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.BackendFeature.html b/latest/developer/generated/compas_fab.backends.interfaces.BackendFeature.html index 0e35353d6..995c131f9 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.BackendFeature.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.BackendFeature.html @@ -618,7 +618,7 @@

BackendFeature

-class compas_fab.backends.interfaces.BackendFeature[source]
+class compas_fab.backends.interfaces.BackendFeature[source]

Bases: object

Base class for all backend features that are implemented by a backend client.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.add_attached_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.add_attached_collision_mesh.html index 21de2e647..2c382aa25 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.add_attached_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.add_attached_collision_mesh.html @@ -623,7 +623,7 @@

ClientInterface.add_attached_collision_mesh

-ClientInterface.add_attached_collision_mesh(*args, **kwargs)[source]
+ClientInterface.add_attached_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.add_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.add_collision_mesh.html index ca18dd684..99ed30936 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.add_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.add_collision_mesh.html @@ -623,7 +623,7 @@

ClientInterface.add_collision_mesh

-ClientInterface.add_collision_mesh(*args, **kwargs)[source]
+ClientInterface.add_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.append_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.append_collision_mesh.html index f67991553..f48a5341f 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.append_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.append_collision_mesh.html @@ -623,7 +623,7 @@

ClientInterface.append_collision_mesh

-ClientInterface.append_collision_mesh(*args, **kwargs)[source]
+ClientInterface.append_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.forward_kinematics.html b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.forward_kinematics.html index ec9343bce..842a5f413 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.forward_kinematics.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.forward_kinematics.html @@ -623,7 +623,7 @@

ClientInterface.forward_kinematics

-ClientInterface.forward_kinematics(*args, **kwargs)[source]
+ClientInterface.forward_kinematics(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.get_planning_scene.html b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.get_planning_scene.html index 9c11b5b32..f973a5ab7 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.get_planning_scene.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.get_planning_scene.html @@ -623,7 +623,7 @@

ClientInterface.get_planning_scene

-ClientInterface.get_planning_scene(*args, **kwargs)[source]
+ClientInterface.get_planning_scene(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.html b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.html index ffb211c20..5b5a3824c 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.html @@ -618,7 +618,7 @@

ClientInterface

-class compas_fab.backends.interfaces.ClientInterface[source]
+class compas_fab.backends.interfaces.ClientInterface[source]

Bases: object

Interface for all backend clients. Forwards all planning services and planning scene management to the planner.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.inverse_kinematics.html b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.inverse_kinematics.html index 03769a89f..943180d89 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.inverse_kinematics.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.inverse_kinematics.html @@ -623,7 +623,7 @@

ClientInterface.inverse_kinematics

-ClientInterface.inverse_kinematics(*args, **kwargs)[source]
+ClientInterface.inverse_kinematics(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_cartesian_motion.html b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_cartesian_motion.html index a7ddffb4a..f34610896 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_cartesian_motion.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_cartesian_motion.html @@ -623,7 +623,7 @@

ClientInterface.plan_cartesian_motion

-ClientInterface.plan_cartesian_motion(*args, **kwargs)[source]
+ClientInterface.plan_cartesian_motion(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_motion.html b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_motion.html index 0d6362eaf..f6a446ef9 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_motion.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_motion.html @@ -623,7 +623,7 @@

ClientInterface.plan_motion

-ClientInterface.plan_motion(*args, **kwargs)[source]
+ClientInterface.plan_motion(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_attached_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_attached_collision_mesh.html index e8f20a16b..8f1834bbd 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_attached_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_attached_collision_mesh.html @@ -623,7 +623,7 @@

ClientInterface.remove_attached_collision_mesh

-ClientInterface.remove_attached_collision_mesh(*args, **kwargs)[source]
+ClientInterface.remove_attached_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_collision_mesh.html index 561fc4b45..3877214a9 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_collision_mesh.html @@ -623,7 +623,7 @@

ClientInterface.remove_collision_mesh

-ClientInterface.remove_collision_mesh(*args, **kwargs)[source]
+ClientInterface.remove_collision_mesh(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.reset_planning_scene.html b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.reset_planning_scene.html index 61f508081..11f230652 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.reset_planning_scene.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ClientInterface.reset_planning_scene.html @@ -623,7 +623,7 @@

ClientInterface.reset_planning_scene

-ClientInterface.reset_planning_scene(*args, **kwargs)[source]
+ClientInterface.reset_planning_scene(*args, **kwargs)[source]

Forwards call to appropriate method in the planner.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ForwardKinematics.forward_kinematics.html b/latest/developer/generated/compas_fab.backends.interfaces.ForwardKinematics.forward_kinematics.html index 399eb2ada..ecfd8ed82 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ForwardKinematics.forward_kinematics.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ForwardKinematics.forward_kinematics.html @@ -623,7 +623,7 @@

ForwardKinematics.forward_kinematics

-ForwardKinematics.forward_kinematics(robot, configuration, group=None, options=None)[source]
+ForwardKinematics.forward_kinematics(robot, configuration, group=None, options=None)[source]

Calculate the robot’s forward kinematic.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ForwardKinematics.html b/latest/developer/generated/compas_fab.backends.interfaces.ForwardKinematics.html index 0e1e00067..71956d2eb 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ForwardKinematics.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ForwardKinematics.html @@ -618,7 +618,7 @@

ForwardKinematics

-class compas_fab.backends.interfaces.ForwardKinematics[source]
+class compas_fab.backends.interfaces.ForwardKinematics[source]

Bases: BackendFeature

Mix-in interface for implementing a planner’s forward kinematics feature.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.GetPlanningScene.get_planning_scene.html b/latest/developer/generated/compas_fab.backends.interfaces.GetPlanningScene.get_planning_scene.html index ea97d1321..b5ed7d913 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.GetPlanningScene.get_planning_scene.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.GetPlanningScene.get_planning_scene.html @@ -623,7 +623,7 @@

GetPlanningScene.get_planning_scene

-GetPlanningScene.get_planning_scene(options=None)[source]
+GetPlanningScene.get_planning_scene(options=None)[source]

Retrieve the planning scene.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.GetPlanningScene.html b/latest/developer/generated/compas_fab.backends.interfaces.GetPlanningScene.html index 2acfdb4d6..587a6bc9c 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.GetPlanningScene.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.GetPlanningScene.html @@ -618,7 +618,7 @@

GetPlanningScene

-class compas_fab.backends.interfaces.GetPlanningScene[source]
+class compas_fab.backends.interfaces.GetPlanningScene[source]

Bases: BackendFeature

Mix-in interface for implementing a planner’s get planning scene feature.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.InverseKinematics.html b/latest/developer/generated/compas_fab.backends.interfaces.InverseKinematics.html index 740cd7244..8265e52bb 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.InverseKinematics.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.InverseKinematics.html @@ -618,7 +618,7 @@

InverseKinematics

-class compas_fab.backends.interfaces.InverseKinematics[source]
+class compas_fab.backends.interfaces.InverseKinematics[source]

Bases: BackendFeature

Mix-in interface for implementing a planner’s inverse kinematics feature.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.InverseKinematics.inverse_kinematics.html b/latest/developer/generated/compas_fab.backends.interfaces.InverseKinematics.inverse_kinematics.html index f1ec1f713..f5a58b31c 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.InverseKinematics.inverse_kinematics.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.InverseKinematics.inverse_kinematics.html @@ -623,7 +623,7 @@

InverseKinematics.inverse_kinematics

-InverseKinematics.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]
+InverseKinematics.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]

Calculate the robot’s inverse kinematic for a given frame.

Note that unlike other backend features, inverse_kinematics produces a generator.

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.html b/latest/developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.html index 571f07da8..d23eeb0ac 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.html @@ -618,7 +618,7 @@

PlanCartesianMotion

-class compas_fab.backends.interfaces.PlanCartesianMotion[source]
+class compas_fab.backends.interfaces.PlanCartesianMotion[source]

Bases: BackendFeature

Mix-in interface for implementing a planner’s plan cartesian motion feature.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.plan_cartesian_motion.html b/latest/developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.plan_cartesian_motion.html index 3485cf857..b8ed1d593 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.plan_cartesian_motion.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.plan_cartesian_motion.html @@ -623,7 +623,7 @@

PlanCartesianMotion.plan_cartesian_motion

-PlanCartesianMotion.plan_cartesian_motion(robot, waypoints, start_configuration=None, group=None, options=None)[source]
+PlanCartesianMotion.plan_cartesian_motion(robot, waypoints, start_configuration=None, group=None, options=None)[source]

Calculates a cartesian motion path (linear in tool space).

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlanMotion.html b/latest/developer/generated/compas_fab.backends.interfaces.PlanMotion.html index 7169ed293..d253458bd 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlanMotion.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlanMotion.html @@ -618,7 +618,7 @@

PlanMotion

-class compas_fab.backends.interfaces.PlanMotion[source]
+class compas_fab.backends.interfaces.PlanMotion[source]

Bases: BackendFeature

Mix-in interface for implementing a planner’s plan motion feature.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlanMotion.plan_motion.html b/latest/developer/generated/compas_fab.backends.interfaces.PlanMotion.plan_motion.html index 5309c0fe6..5c138c920 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlanMotion.plan_motion.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlanMotion.plan_motion.html @@ -623,7 +623,7 @@

PlanMotion.plan_motion

-PlanMotion.plan_motion(robot, target, start_configuration=None, group=None, options=None)[source]
+PlanMotion.plan_motion(robot, target, start_configuration=None, group=None, options=None)[source]

Calculates a motion path.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_attached_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_attached_collision_mesh.html index dea63be54..dd79a2e71 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_attached_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_attached_collision_mesh.html @@ -623,7 +623,7 @@

PlannerInterface.add_attached_collision_mesh

-PlannerInterface.add_attached_collision_mesh(*args, **kwargs)[source]
+PlannerInterface.add_attached_collision_mesh(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_collision_mesh.html index aa7f678a3..c95069cbc 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_collision_mesh.html @@ -623,7 +623,7 @@

PlannerInterface.add_collision_mesh

-PlannerInterface.add_collision_mesh(*args, **kwargs)[source]
+PlannerInterface.add_collision_mesh(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.append_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.append_collision_mesh.html index bd19b07d0..6f0543691 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.append_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.append_collision_mesh.html @@ -623,7 +623,7 @@

PlannerInterface.append_collision_mesh

-PlannerInterface.append_collision_mesh(*args, **kwargs)[source]
+PlannerInterface.append_collision_mesh(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.forward_kinematics.html b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.forward_kinematics.html index db7b90724..85058a314 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.forward_kinematics.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.forward_kinematics.html @@ -623,7 +623,7 @@

PlannerInterface.forward_kinematics

-PlannerInterface.forward_kinematics(*args, **kwargs)[source]
+PlannerInterface.forward_kinematics(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.get_planning_scene.html b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.get_planning_scene.html index db321ec56..b7c3da1d1 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.get_planning_scene.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.get_planning_scene.html @@ -623,7 +623,7 @@

PlannerInterface.get_planning_scene

-PlannerInterface.get_planning_scene(*args, **kwargs)[source]
+PlannerInterface.get_planning_scene(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.html b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.html index 9acb7b084..ae49c4165 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.html @@ -618,7 +618,7 @@

PlannerInterface

-class compas_fab.backends.interfaces.PlannerInterface[source]
+class compas_fab.backends.interfaces.PlannerInterface[source]

Bases: object

Interface for all planners associated with a backend client. Provides default behavior for all planning services and planning scene management methods. To be diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.inverse_kinematics.html b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.inverse_kinematics.html index 153b6aa88..f1144f3f1 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.inverse_kinematics.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.inverse_kinematics.html @@ -623,7 +623,7 @@

PlannerInterface.inverse_kinematics

-PlannerInterface.inverse_kinematics(*args, **kwargs)[source]
+PlannerInterface.inverse_kinematics(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_cartesian_motion.html b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_cartesian_motion.html index 1ecdad127..5879b52b9 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_cartesian_motion.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_cartesian_motion.html @@ -623,7 +623,7 @@

PlannerInterface.plan_cartesian_motion

-PlannerInterface.plan_cartesian_motion(*args, **kwargs)[source]
+PlannerInterface.plan_cartesian_motion(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_motion.html b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_motion.html index 997272e73..c431eea6c 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_motion.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_motion.html @@ -623,7 +623,7 @@

PlannerInterface.plan_motion

-PlannerInterface.plan_motion(*args, **kwargs)[source]
+PlannerInterface.plan_motion(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_attached_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_attached_collision_mesh.html index 811d9b91b..4fbade96a 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_attached_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_attached_collision_mesh.html @@ -623,7 +623,7 @@

PlannerInterface.remove_attached_collision_mesh

-PlannerInterface.remove_attached_collision_mesh(*args, **kwargs)[source]
+PlannerInterface.remove_attached_collision_mesh(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_collision_mesh.html index f2777cf0a..5860d23af 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_collision_mesh.html @@ -623,7 +623,7 @@

PlannerInterface.remove_collision_mesh

-PlannerInterface.remove_collision_mesh(*args, **kwargs)[source]
+PlannerInterface.remove_collision_mesh(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.reset_planning_scene.html b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.reset_planning_scene.html index 502fb5a2f..add41da4f 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.reset_planning_scene.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.PlannerInterface.reset_planning_scene.html @@ -623,7 +623,7 @@

PlannerInterface.reset_planning_scene

-PlannerInterface.reset_planning_scene(*args, **kwargs)[source]
+PlannerInterface.reset_planning_scene(*args, **kwargs)[source]

Default method for planner.

Raises:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.html b/latest/developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.html index e66055a06..f3a7651bd 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.html @@ -618,7 +618,7 @@

RemoveAttachedCollisionMesh

-class compas_fab.backends.interfaces.RemoveAttachedCollisionMesh[source]
+class compas_fab.backends.interfaces.RemoveAttachedCollisionMesh[source]

Bases: BackendFeature

Mix-in interface for implementing a planner’s remove attached collision mesh feature.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.remove_attached_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.remove_attached_collision_mesh.html index 9b4b6c41e..5b3c4aa95 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.remove_attached_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.remove_attached_collision_mesh.html @@ -623,7 +623,7 @@

RemoveAttachedCollisionMesh.remove_attached_collision_mesh

-RemoveAttachedCollisionMesh.remove_attached_collision_mesh(id, options=None)[source]
+RemoveAttachedCollisionMesh.remove_attached_collision_mesh(id, options=None)[source]

Remove an attached collision mesh from the robot.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.html b/latest/developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.html index a79b5669a..ccdefd28f 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.html @@ -618,7 +618,7 @@

RemoveCollisionMesh

-class compas_fab.backends.interfaces.RemoveCollisionMesh[source]
+class compas_fab.backends.interfaces.RemoveCollisionMesh[source]

Bases: BackendFeature

Mix-in interface for implementing a planner’s remove collision mesh feature.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.remove_collision_mesh.html b/latest/developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.remove_collision_mesh.html index 39039a3c6..551344d7f 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.remove_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.remove_collision_mesh.html @@ -623,7 +623,7 @@

RemoveCollisionMesh.remove_collision_mesh

-RemoveCollisionMesh.remove_collision_mesh(id, options=None)[source]
+RemoveCollisionMesh.remove_collision_mesh(id, options=None)[source]

Remove a collision mesh from the planning scene.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.html b/latest/developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.html index 247fc66ea..17e55512b 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.html @@ -618,7 +618,7 @@

ResetPlanningScene

-class compas_fab.backends.interfaces.ResetPlanningScene[source]
+class compas_fab.backends.interfaces.ResetPlanningScene[source]

Bases: BackendFeature

Mix-in interface for implementing a planner’s reset planning scene feature.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.reset_planning_scene.html b/latest/developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.reset_planning_scene.html index ecd916a44..f1bef14a1 100644 --- a/latest/developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.reset_planning_scene.html +++ b/latest/developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.reset_planning_scene.html @@ -623,7 +623,7 @@

ResetPlanningScene.reset_planning_scene

-ResetPlanningScene.reset_planning_scene(options=None)[source]
+ResetPlanningScene.reset_planning_scene(options=None)[source]

Resets the planning scene, removing all added collision meshes.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh.html index 3d963d707..a32db2bc1 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh

-PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh(attached_collision_mesh, options=None)[source]
+PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh(attached_collision_mesh, options=None)[source]

Add a collision mesh and attach it to the robot.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.html index 15fd918d6..6e078b14a 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.html @@ -618,7 +618,7 @@

PyBulletAddAttachedCollisionMesh

-class compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh[source]
+class compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh[source]

Bases: AddAttachedCollisionMesh

Callable to add a collision mesh and attach it to the robot.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.add_collision_mesh.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.add_collision_mesh.html index fc504e267..03ffc68da 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.add_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.add_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletAddCollisionMesh.add_collision_mesh

-PyBulletAddCollisionMesh.add_collision_mesh(collision_mesh, options=None)[source]
+PyBulletAddCollisionMesh.add_collision_mesh(collision_mesh, options=None)[source]

Add a collision mesh to the planning scene.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.html index 9cee56af5..980c477aa 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.html @@ -618,7 +618,7 @@

PyBulletAddCollisionMesh

-class compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh[source]
+class compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh[source]

Bases: AddCollisionMesh

Callable to add a collision mesh to the planning scene.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.append_collision_mesh.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.append_collision_mesh.html index e460b6c99..942fac840 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.append_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.append_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletAppendCollisionMesh.append_collision_mesh

-PyBulletAppendCollisionMesh.append_collision_mesh(collision_mesh, options=None)[source]
+PyBulletAppendCollisionMesh.append_collision_mesh(collision_mesh, options=None)[source]

Append a collision mesh to the planning scene.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.html index a6d21b8c2..7897eb18d 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.html @@ -618,7 +618,7 @@

PyBulletAppendCollisionMesh

-class compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh[source]
+class compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh[source]

Bases: AppendCollisionMesh

Callable to append a collision mesh to the planning scene.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.forward_kinematics.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.forward_kinematics.html index a85c42b90..22e5f59ed 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.forward_kinematics.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.forward_kinematics.html @@ -623,7 +623,7 @@

PyBulletForwardKinematics.forward_kinematics

-PyBulletForwardKinematics.forward_kinematics(robot, configuration, group=None, options=None)[source]
+PyBulletForwardKinematics.forward_kinematics(robot, configuration, group=None, options=None)[source]

Calculate the robot’s forward kinematic.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.html index 6d9db037d..ea8428658 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.html @@ -618,7 +618,7 @@

PyBulletForwardKinematics

-class compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics[source]
+class compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics[source]

Bases: ForwardKinematics

Callable to calculate the robot’s forward kinematic.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.html index 1ccd94d14..1d2ba0c25 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.html @@ -618,7 +618,7 @@

PyBulletInverseKinematics

-class compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics[source]
+class compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics[source]

Bases: InverseKinematics

Callable to calculate the robot’s inverse kinematics for a given frame.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.inverse_kinematics.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.inverse_kinematics.html index 8fe35c198..a19dcbf34 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.inverse_kinematics.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.inverse_kinematics.html @@ -623,7 +623,7 @@

PyBulletInverseKinematics.inverse_kinematics

-PyBulletInverseKinematics.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]
+PyBulletInverseKinematics.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]

Calculate the robot’s inverse kinematic for a given frame.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.html index 5f0cc0b04..45c73248c 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.html @@ -618,7 +618,7 @@

PyBulletRemoveAttachedCollisionMesh

-class compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh[source]
+class compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh[source]

Bases: RemoveAttachedCollisionMesh

Callable to remove an attached collision mesh from the robot.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh.html index d547f2362..08c875955 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh

-PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh(id, options=None)[source]
+PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh(id, options=None)[source]

Remove an attached collision mesh from the robot.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.html index d3f7983a6..1f44a223f 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.html @@ -618,7 +618,7 @@

PyBulletRemoveCollisionMesh

-class compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh[source]
+class compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh[source]

Bases: RemoveCollisionMesh

Callable to remove a collision mesh from the planning scene.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.remove_collision_mesh.html b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.remove_collision_mesh.html index cd85813a1..02a7c9925 100644 --- a/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.remove_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.remove_collision_mesh.html @@ -623,7 +623,7 @@

PyBulletRemoveCollisionMesh.remove_collision_mesh

-PyBulletRemoveCollisionMesh.remove_collision_mesh(id, options=None)[source]
+PyBulletRemoveCollisionMesh.remove_collision_mesh(id, options=None)[source]

Remove a collision mesh from the planning scene.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh.html index 7e39e62e7..93e551055 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh.html @@ -623,7 +623,7 @@

MoveItAddAttachedCollisionMesh.add_attached_collision_mesh

-MoveItAddAttachedCollisionMesh.add_attached_collision_mesh(attached_collision_mesh, options=None)[source]
+MoveItAddAttachedCollisionMesh.add_attached_collision_mesh(attached_collision_mesh, options=None)[source]

Add a collision mesh and attach it to the robot.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async.html index cb3926f25..2fd4ea254 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async.html @@ -623,7 +623,7 @@

MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async

-MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async(callback, errback, attached_collision_mesh)[source]
+MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async(callback, errback, attached_collision_mesh)[source]
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.html index d948a5cb5..5f07b1a7b 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.html @@ -618,7 +618,7 @@

MoveItAddAttachedCollisionMesh

-class compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh[source]
+class compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh[source]

Bases: AddAttachedCollisionMesh

Callable to add a collision mesh and attach it to the robot.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh.html index 8d0fbb509..cd0b12fa5 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh.html @@ -623,7 +623,7 @@

MoveItAddCollisionMesh.add_collision_mesh

-MoveItAddCollisionMesh.add_collision_mesh(collision_mesh, options=None)[source]
+MoveItAddCollisionMesh.add_collision_mesh(collision_mesh, options=None)[source]

Add a collision mesh to the planning scene.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh_async.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh_async.html index 68d232a7c..4809b27d9 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh_async.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh_async.html @@ -623,7 +623,7 @@

MoveItAddCollisionMesh.add_collision_mesh_async

-MoveItAddCollisionMesh.add_collision_mesh_async(callback, errback, collision_mesh)[source]
+MoveItAddCollisionMesh.add_collision_mesh_async(callback, errback, collision_mesh)[source]
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.html index 2ca472626..a58a50cfd 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.html @@ -618,7 +618,7 @@

MoveItAddCollisionMesh

-class compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh[source]
+class compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh[source]

Bases: AddCollisionMesh

Callable to add a collision mesh to the planning scene.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh.html index 222134c7e..427621b6c 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh.html @@ -623,7 +623,7 @@

MoveItAppendCollisionMesh.append_collision_mesh

-MoveItAppendCollisionMesh.append_collision_mesh(collision_mesh, options=None)[source]
+MoveItAppendCollisionMesh.append_collision_mesh(collision_mesh, options=None)[source]

Append a collision mesh to the planning scene.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh_async.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh_async.html index 1978a5ab7..f0f45a97f 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh_async.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh_async.html @@ -623,7 +623,7 @@

MoveItAppendCollisionMesh.append_collision_mesh_async

-MoveItAppendCollisionMesh.append_collision_mesh_async(callback, errback, collision_mesh)[source]
+MoveItAppendCollisionMesh.append_collision_mesh_async(callback, errback, collision_mesh)[source]
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.html index edff43da7..003f3c7ab 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.html @@ -618,7 +618,7 @@

MoveItAppendCollisionMesh

-class compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh[source]
+class compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh[source]

Bases: AppendCollisionMesh

Callable to append a collision mesh to the planning scene.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics.html index 0576a0c75..29e837619 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics.html @@ -623,7 +623,7 @@

MoveItForwardKinematics.forward_kinematics

-MoveItForwardKinematics.forward_kinematics(robot, configuration, group=None, options=None)[source]
+MoveItForwardKinematics.forward_kinematics(robot, configuration, group=None, options=None)[source]

Calculate the robot’s forward kinematic.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics_async.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics_async.html index 504805da0..ef55bbc73 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics_async.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics_async.html @@ -623,7 +623,7 @@

MoveItForwardKinematics.forward_kinematics_async

-MoveItForwardKinematics.forward_kinematics_async(callback, errback, configuration, options)[source]
+MoveItForwardKinematics.forward_kinematics_async(callback, errback, configuration, options)[source]

Asynchronous handler of MoveIt FK service.

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.html index f2c27bdd0..46ea96ee5 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.html @@ -618,7 +618,7 @@

MoveItForwardKinematics

-class compas_fab.backends.ros.backend_features.MoveItForwardKinematics[source]
+class compas_fab.backends.ros.backend_features.MoveItForwardKinematics[source]

Bases: ForwardKinematics

Callable to calculate the robot’s forward kinematic.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.html index bd27dde74..467c68092 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.html @@ -618,7 +618,7 @@

MoveItInverseKinematics

-class compas_fab.backends.ros.backend_features.MoveItInverseKinematics[source]
+class compas_fab.backends.ros.backend_features.MoveItInverseKinematics[source]

Bases: InverseKinematics

Callable to calculate the robot’s inverse kinematics for a given frame.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics.html index 5df306ae6..d58443187 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics.html @@ -623,7 +623,7 @@

MoveItInverseKinematics.inverse_kinematics

-MoveItInverseKinematics.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]
+MoveItInverseKinematics.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]

Calculate the robot’s inverse kinematic for a given frame.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics_async.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics_async.html index e10e9b4f9..dcfd11da2 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics_async.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics_async.html @@ -623,7 +623,7 @@

MoveItInverseKinematics.inverse_kinematics_async

-MoveItInverseKinematics.inverse_kinematics_async(callback, errback, frame_WCF, start_configuration=None, group=None, options=None)[source]
+MoveItInverseKinematics.inverse_kinematics_async(callback, errback, frame_WCF, start_configuration=None, group=None, options=None)[source]

Asynchronous handler of MoveIt IK service.

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.html index 78c9c194a..7f14864d9 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.html @@ -618,7 +618,7 @@

MoveItPlanCartesianMotion

-class compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion[source]
+class compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion[source]

Bases: PlanCartesianMotion

Callable to calculate a cartesian motion path (linear in tool space).

Methods

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion.html index d491ce0e6..dd935c72d 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion.html @@ -624,7 +624,7 @@

MoveItPlanCartesianMotion.plan_cartesian_motion

-MoveItPlanCartesianMotion.plan_cartesian_motion(robot, waypoints, start_configuration=None, group=None, options=None)[source]
+MoveItPlanCartesianMotion.plan_cartesian_motion(robot, waypoints, start_configuration=None, group=None, options=None)[source]

Calculates a cartesian motion path (linear in tool space).

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async.html index 265cc3c43..691899cc5 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async.html @@ -623,7 +623,7 @@

MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async

-MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async(callback, errback, waypoints, start_configuration=None, group=None, options=None)[source]
+MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async(callback, errback, waypoints, start_configuration=None, group=None, options=None)[source]

Asynchronous handler of MoveIt cartesian motion planner service.

compas_fab.robots.FrameWaypoints are converted to compas_fab.backends.ros.messages.Pose that is native to ROS communication

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async.html index 4af1b0e4e..d55e10b15 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async.html @@ -623,7 +623,7 @@

MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async

-MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async(callback, errback, waypoints, start_configuration=None, group=None, options=None)[source]
+MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async(callback, errback, waypoints, start_configuration=None, group=None, options=None)[source]

Asynchronous handler of MoveIt cartesian motion planner service.

AFAIK MoveIt does not support planning for a relaxed axis under this

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.html index b22aef5f9..577c26eef 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.html @@ -618,7 +618,7 @@

MoveItPlanMotion

-class compas_fab.backends.ros.backend_features.MoveItPlanMotion[source]
+class compas_fab.backends.ros.backend_features.MoveItPlanMotion[source]

Bases: PlanMotion

Callable to find a path in joint space for the robot to move from its start_configuration to the target.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion.html index dde924d81..c186da1a0 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion.html @@ -623,7 +623,7 @@

MoveItPlanMotion.plan_motion

-MoveItPlanMotion.plan_motion(robot, target, start_configuration=None, group=None, options=None)[source]
+MoveItPlanMotion.plan_motion(robot, target, start_configuration=None, group=None, options=None)[source]

Calculates a motion path.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion_async.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion_async.html index ab81afa03..4ce34c808 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion_async.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion_async.html @@ -623,7 +623,7 @@

MoveItPlanMotion.plan_motion_async

-MoveItPlanMotion.plan_motion_async(callback, errback, target, start_configuration=None, group=None, options=None)[source]
+MoveItPlanMotion.plan_motion_async(callback, errback, target, start_configuration=None, group=None, options=None)[source]

Asynchronous handler of MoveIt motion planner service.

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene.html index e5c291d85..fcdac6889 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene.html @@ -623,7 +623,7 @@

MoveItPlanningScene.get_planning_scene

-MoveItPlanningScene.get_planning_scene(options=None)[source]
+MoveItPlanningScene.get_planning_scene(options=None)[source]

Retrieve the planning scene.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene_async.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene_async.html index ad7f65764..9280658d1 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene_async.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene_async.html @@ -623,7 +623,7 @@

MoveItPlanningScene.get_planning_scene_async

-MoveItPlanningScene.get_planning_scene_async(callback, errback)[source]
+MoveItPlanningScene.get_planning_scene_async(callback, errback)[source]
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.html index 36e9c313b..335519ce3 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.html @@ -618,7 +618,7 @@

MoveItPlanningScene

-class compas_fab.backends.ros.backend_features.MoveItPlanningScene[source]
+class compas_fab.backends.ros.backend_features.MoveItPlanningScene[source]

Bases: GetPlanningScene

Callable to retrieve the planning scene.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.html index 050f64511..b6a4e1004 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.html @@ -618,7 +618,7 @@

MoveItRemoveAttachedCollisionMesh

-class compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh[source]
+class compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh[source]

Bases: RemoveAttachedCollisionMesh

Callable to remove an attached collision mesh from the robot.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh.html index eff12b5ba..fa9e1c72e 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh.html @@ -623,7 +623,7 @@

MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh

-MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh(id, options=None)[source]
+MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh(id, options=None)[source]

Remove an attached collision mesh from the robot.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async.html index 8ff5cbbb5..8f26a6dc9 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async.html @@ -623,7 +623,7 @@

MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async

-MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async(callback, errback, id)[source]
+MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async(callback, errback, id)[source]
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.html index e93619d83..a31dcf39c 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.html @@ -618,7 +618,7 @@

MoveItRemoveCollisionMesh

-class compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh[source]
+class compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh[source]

Bases: RemoveCollisionMesh

Callable to remove a collision mesh from the planning scene.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh.html index 589133cac..3582afb9d 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh.html @@ -623,7 +623,7 @@

MoveItRemoveCollisionMesh.remove_collision_mesh

-MoveItRemoveCollisionMesh.remove_collision_mesh(id, options=None)[source]
+MoveItRemoveCollisionMesh.remove_collision_mesh(id, options=None)[source]

Remove a collision mesh from the planning scene.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh_async.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh_async.html index 648c85196..ad9e7112c 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh_async.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh_async.html @@ -623,7 +623,7 @@

MoveItRemoveCollisionMesh.remove_collision_mesh_async

-MoveItRemoveCollisionMesh.remove_collision_mesh_async(callback, errback, id)[source]
+MoveItRemoveCollisionMesh.remove_collision_mesh_async(callback, errback, id)[source]
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.html index 48ae0e48b..d1c619dc8 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.html @@ -618,7 +618,7 @@

MoveItResetPlanningScene

-class compas_fab.backends.ros.backend_features.MoveItResetPlanningScene[source]
+class compas_fab.backends.ros.backend_features.MoveItResetPlanningScene[source]

Bases: ResetPlanningScene

Callable to add a collision mesh to the planning scene.

Methods

diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene.html index 3f086a630..bfd606571 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene.html @@ -623,7 +623,7 @@

MoveItResetPlanningScene.reset_planning_scene

-MoveItResetPlanningScene.reset_planning_scene(options=None)[source]
+MoveItResetPlanningScene.reset_planning_scene(options=None)[source]

Resets the planning scene, removing all added collision meshes.

Parameters:
diff --git a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene_async.html b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene_async.html index 017ab9bf4..07d73da42 100644 --- a/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene_async.html +++ b/latest/developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene_async.html @@ -623,7 +623,7 @@

MoveItResetPlanningScene.reset_planning_scene_async

-MoveItResetPlanningScene.reset_planning_scene_async(callback, errback)[source]
+MoveItResetPlanningScene.reset_planning_scene_async(callback, errback)[source]
diff --git a/latest/genindex.html b/latest/genindex.html index 8e70aabb8..0c772e5ff 100644 --- a/latest/genindex.html +++ b/latest/genindex.html @@ -793,10 +793,10 @@

B

C

@@ -1402,16 +1402,16 @@

G

  • (compas_fab.robots.RobotSemantics method)
  • -
  • get_cached_robot() (compas_fab.backends.AnalyticalPyBulletClient method) +
  • get_cached_robot_filepath() (compas_fab.backends.AnalyticalPyBulletClient method)
  • -
  • get_cached_robot_filepath() (compas_fab.backends.AnalyticalPyBulletClient method) +
  • get_cached_robot_model() (compas_fab.backends.AnalyticalPyBulletClient method)
  • get_configurable_joint_names() (compas_fab.robots.Robot method) diff --git a/latest/objects.inv b/latest/objects.inv index 9266b8033f8b1a9471305c718ac4a8ad8defd43b..82ed65b430254a6e976d7e5207b22f7986c57001 100644 GIT binary patch delta 11954 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 Ejf7k|6aWAK delta 11923 zcmV;EE^N`lTQK`e=Dn6YXZ=EB9nVlHX^I171a(L zOxe4WixGr>^NsUfV6qzaU-qfoU-#M<5yrg+o=9tzGYv~*a1cF`1 z>X0Aq6T59hX)2u}3nX^FPD;F{P5@pY_LOIu;u<)n7{x)1C^A!GQKrgY@&!>M$u@2s zG;?f7czXwlD|drt6R(%GP4rK33H1{ zNo?<$hV*Uirp_8j+8dmh5?B-`v(UIo@{-g(9ky$U?9i!Fl`~M5Z>waNIF}SA`4EU= ze@PnI<;SJS6OTj2;ACPHGRg-^5hfnGi^0jnDCCk4lp;(#1{Q;piBZTUA1Fnb#z+nV zQ7oyO9o|*x-Xverr(>BPYK=Ukk|{aTLMG|g+{ETFmv~?t)R#GSRgbhbk=zRapqiS^lZN=u^DZQ)_`Ib6KbQVovE2f6nz5 zZmKQUTziqG^3qK01)0KSn7WHEMN2MMT4<@Wyi$8nrEn?bDhntzmQAWGmgFpv)Ls}V zTn?$V2$H$(^}@dnBPD3iPgD;-uXF~Xc5jt{1CXTFJc zi26`?+{}HVF*v3e-fq#81PG%`k2k!-kD~`HVIqD1Mbl8pbcv!-* zv{AuwrD%ybZTX=#)h<2Hb)N5@&D?lYc{J5uN!QL^(5_!**~@+qdpO3E@(AStxwF^_ zcmWeLXY$4Ev>X?@$knGC;oYbB+g7t<3%wS9jir^`7$HWS7^M`s;O4hS@3x!OZ>-B| zbZx1Ua~Q6e+ZYVZ3~8@*=~-6FhcN}w{jsT{*DHBS^iIK}ZbO$f#crk23=yEbgbYRg zmWP8|+oR-MhZggsOC^-u^cm{5O>sj~u5Q-zVF4X?XkjApF3YX%d$|BcJh>#4=s(|o z(A~t`sk76Q9TdHs9T^dK zZ)za*tIMV7jZS*b0q6)10V}DSr#w@CbgMx_xY4AN$krQ1jsi!Vkq#hF(cB^f)oSnp z81dthP^^DA213&ZJ2?^J3Yl2!i@TOf(Tnp%U02a$66LyM`UvcZPYNUX0HD5GcxU7; zRHl8??U-KMC@VR#z>T=GNH240Up|_ZNA<%bQFlYe3cj!DGRIR*2klz19t0hKbL>3A%grc9v52R0GtON7w;Iz4PnQMilW-kcoBdt*-pF{Jc>bQ(Pm`P#0x?e97g zJFKA6K8-+drI@ExJZt+jD8Z9|bp?!K3L%`uEuUZ{of{#Jn2BvKWAYn90RJ;smVIJ@ z7Z)0DN#PZb#TqEaJApAeRq!)}Fp(lq3SGmyCS-bBw`YeMqJoKO$3OXr%C5IQ1`P|S z7OsRrVWAFm zr?IV1e={F`3!l=)J-zLE@lATdt$A7-@?zWYM4Ru{-*U&_Xt&b#y45z-k+;(6ZlF`$ zHiz0QC*LBs(#AOAb~w#Va2i|RLL1)L+uYPQx1qPR>1`S#HF@%OJl=UXqy&$bC&X!EaXNkjqO)To30{Ttt1<)6t`6&Hd9Hr zP^oO33T~I;Z<5mA8in5wrL+x7Yx7fV%adrMlkWB=+@>afg{@30ZeU_;ThiXFq`yT8 zzcEQ^JCgb)B=puJoef88Y%`*4E>hc4q`8p@vwcXsY3K~VSWP}Loyx(kBtNHTttFos zPZi+Tlh0w)CtA>J$_WNczqH-KdLb9DH{F6*vW!Z~@Iq@?A-2pno{k}2t6LjeBO6c0 z5UM?URdP{DIVks z*F?Q9EoU{!VAhEl{-iMKMKvhMnNndSGsV#pAJ;6ADvwwqU<<*_C}o6jsvnFS&uY@L zrH(Kb3P;aK!tRQ4``LYJ+q5XUv5We_UE{-5=>?pBOZFxt>2HnOwT6i`)nmS8XYUee zu6UV(E;T<0^LL5@N*tcj<+&T2E0MGo0hHA~p-WPGx6xP2f3xk~gj{XI^@LZmA88sm z%MKRi3mxcX1{a&mG!42*j%k(dxpKxBb4}xCBw=Qsv-8K<&V{(&Xac^P?WvLesoiW- zSLvsJ{_;GoC=cF3s3#ps{H|&J$}gguOCn%%*tx%45D2=iCJa6gE76 z<;k;RY1S*tG9{@LxEYjRB(JbZC+|W?bFHiiyNfw@l_Z2PmquC}c`++@JFb?-bS|R# ziN?rtGk+rGz`9UzVJOIpP4G(a77)xExRs%D3foqfWO3Q7M4pm-pUKX zI^imY7LkoV=jub9p6-e~`S>4yFMfRf3%f9QPPkZisK~M*hxj{BP`r`Mz%CZ|lbYu5P%0Z%Xiy-2mU% z4fPYdQTW1c0w357_xrk0_`GfcU)K%y;B>RR6mr5>-Q$zKBRYf zk=IY}(&Mk~L5nC|VTiteR|`Gjs=EGIeyFSbaIYcnj1|y1q+ttAvrI#40~3s%)OKMP^m{MMI>+35j&iMIw`JQJyj_sU2EOaF^un+^i|Aj`==zO_dPxks{zu)5ZdF#SE?Ap%|K&KCU#8X7p!Ef|7-K&wCiZ5SdUQ#+$&K*NQ!)0&1?<>`<$PX19AC*-zt(6UoB{f$V@s{TC? zkQ{u4KeMCO^nf|22UWMvY}$(IuKX&{bA|vlogcDvQEL?+hF=+~F7X*!Y3TwRlyDlB z*gY{k^I`Y}?lD0cWN6*Wc_S6qq4?!>(KHZ3H7(pq~^RQrT1ha3%n0I(oj`#-Z{ zH2g3Es0rKD!)D@-6KLE+DabOb^k8>owU)`#0;1QQIBB98!gAbpV@8C?@l& z$*6LF$Zep%C(P;ri+jF-9xtz_tJK4d_G~3RTBV+Bv?rE{230d0D>66Ut z(o^A%oGY3i4%p)!dC-2J0!A$VI4z^VZTs9YWWsMR`P~??VRU1MIfV3Hnm-d!S=?c2AM=d28+l@Dmbmn)Oe|X z0^OFJEqG1H%zB}N&|u6=M8y_v9>Aw0X`B&8$bKmaJ+e45lC(`A#zGdiCHi1$R)249 zJ{L4R;Aj!HR!bbOI!^m_G3Ga9Qw+a6V$*gp6t-~ykY6OH)dQ@p$}5kwgWiNJ?UH6` zj^bBJZm344f);Cz5)epj!!D+x#%uw9&HBb|e4@woBeRZv^aF*HRgXdT3l;dxIy2hc$O>T}OP#&$*L?pfR{=m|DsR|kYPfW;-#L^lNf@>RE2EV0v8z)BU*;QX>@38~td zEzleQ)JJKDMpnG0Xbu1?A~Z-BD{h;#Kmaw7TBe1W`1|m+Po5N1nX*=Y%7X*Sq_tIV zn@4p{Qq-Gt%;$#G)*P~jC865$xe=>D_kzH}@J+hc(u!Xv*r-Pmk@bFZe<$1FhbFN@ z+>Y1vNSwgn!=7O*$?lSWS8ad*uwdN!4bUnROUeS8GP)>ocmgAMMBxIIxfvru@j$?` zurZ3qPX56IQA#igT`6Y)h!@185WN&+Zpn_KfHR)tYBeg4@<%a3nL?bumFL;!id2FWNF2((;qB<_!E)!GMj}30<4bG zER4*!&B77_mPKk7mUi-2>uVN#NytiN6|WBnRw}A^e=9j%wV6Grt9`8;NqHW8HcxWZ z4kVz|J?5#~r(Z`digixm0*a>znc7WtuOQi>gp|7H0)d%-j>0S^G2?0E4Qzra0fmGi zPS7;dQJBRfax+odza7JbG_rcSovpmPJHZL4WOjTf#!B&8ybBDZ;|bU53pBT!MnsERdWZ{V4Eq4%%UnY zu1s>o62b|}#KkPIF(YUR0)>QP!~0X# zuaUxkxR4iN3!z)GstH2FxWK5OdI;s$fX;nkrdv}>v|3Zc+ALx=s2!4VF#&yF^USo@ zF#VCr&l*kfVStM8BPer2>evZn4@*Lgm&}b=!wy~$SQvh&!E0&7uM-?zh$JHGrFYk1 z1Xvxii@q=;cg|r1k0@M+d~U|*ihCenS=jD>x5rLi-heK5FbP>HyW1KBf|b&`s)IFa zfAZ3LrU}1K8GsVC48Hx!fdm|l>?Q)*yX<+$(Ismuy!)6#DMT`@#+wee8~lCE0ED3R zfcFS{AG6f)n-O@wu=g=XouobS>>c($7YI}-lcBbSyO$UMkhd_wJ;kw92+20*PwXy# zt^OHn24KAU(04%kY{@gsL7=cs+}yIy znqD{hal$&0^`qa|YJ4}IRy&rCEu1`36u=3K#f=SljE|+flDq(gg&s?0)ycenGmI40 zioAytFefh}@L_lb;+7Bi3^NUFSy)_u#!|-!Cp{p3b=YunVaW<7eJEai_;Au^s!~~k z;bb@!OEPC&KnTY#6}=(=Fcw6;VJxp)TGadAq}zw|E-&)>>0NrHD4dygf@VKb`B{;! z4+B($k8$UQ!?8RPZ374_Zg@;rM-0Cqdyghe;5|2D#fe@JSQtJ+^jcbRVFP1-!$=~s z-m3e%FkRqo+udxFLt~ns>LmZ19?O9&>w23#OLNcp;?w8L5K3xC}5KE1@kWo7mi&a&PMDiLK@g z0O&bCqA9XwpC0ObYuSwENuCI6f2Dtcu!3y zLhwQMG`(duWN<(YJ)$V8pKo_=DQLajF(r)<7Me!SNTPbH=X_BYgr%sI|bG_i-F&*wn)bBUKHR5?X{_$*N4%t0~k z0Y^)FUXoByi{Vw(J|#$h8#<`2q{pSUOycbg|}!3;cYsRa5c>cxh$n_ z@S;1k_r5Am$Hdmu5kVxTS3j7V;L3O(grt&M;>;y4Q*dSSE3XAiP$aQ3Ti6OJH5ejQ=hG^ zMBWq$Ryj>W5IbZ%Q{u&bF6{DzB`5ik*W;~b{2nt7*Dv2^L2&EX&my`vbcsNCuE1Dx z`EV+vEfK#Scdx>P55Z4Ca9Ej_m>z`G4rQbY3>|26@4(!L?oO9skA)^tgl+z zBD*^kg|s0;fQ~(XKqN{=Gsy;1uq{S{rS}bX#g)wzHvYYTCr%BtyoXOF#;g}db5jsxI z9gc)1J(mygT8gqMCQUglt1Le>i7iXg0%fLb@f2*#O+1XJ*2Hio><9mWaB>{C!>nk-4bvR?HJ0hHE1V~FaOkH}3)h zF=LJPbarD2-7iR5{Jc{|kxs zI=#C~^6Kt?haaCmPkwlwytut(D_KG<#Q}+EdaGT*7TDMVike?(5>D0k&kb8dYYoU~ zf2Rt$709>+MIc|t2lmAF2Vg?`18pMv0>NH*w1j}<5SJod>{u&vrskj?{92uh4S#AK zzyMVdC))u-D}9Up>344$mRMV5yJVL$dR{&tztkar316vBzK)>I zi5O6?E0Wp83lejPX$}CYqzpP;thl333j|OTX*_CSCT>}LBUGLgRGG5Qrw0d=N$ZZ% z4~H9np9zON3QlkW9C+{>^}ILcF>j00-6)5;NzQVEk8mTO+$KM;Ep$#B^LRG)scgVu zY_v1j*hjAcC$7;BTH~Lu1|6$LJWWk{h?@WGG}e)6(v#Bs2c)siMf*tHJMwYZF7gqx zL!?d4s`ti*7eYdv=TehvytC1W5m(!}l)SosZels&CDe11AgysFdoq3tSJvYI8tNYe5lP8YvC%Z1v1 z9r5rtfsof^EzRc=2+h~UhTMovO&1z)4ca9=uUP}^7fJ|C9AIQ6ZwPMgyw52D8TIJg zcp(Q{r!MZjXUdq?uZ!OqLPT#1s&PF}Dbo10oCjkejaK8a&L*B6NsK>`eD8bXZQw>?&Y4?t8h?n@O)nGvAln}OSnm=VRjZhYx{2`39mMtnvQ7+^=Oy= z?kTb9{#ejv;}*sf4VRy>D#%s&#caZitHissyc&FFJ7Fi(-7^ErEdy|^4L&1(i7Iki zbLBYOr4aWkR>FOiKIZjP;u4sHb%_~b0F;R=;5k+xqd^%PPGn%4k}fr;9hq28xX~@h zBssgZLTv}|1TBYi9_QS4Dg%A)=G=f)LPyrH419^?x1fOiL=3I%Y+ht$?khuUPcBv+ z_2q92VU=cilVL={-fAH1|MnAq+NP2ytM-`G*X7~nClue@XgEW){R>Zaoo?&=(Y=OU zVZJ8&@`OCN2?I101*M<}%|4xM?FP5AwECQscdmQOlnO!3#X@Naa_`K2e&ES#O=oi2 z-w5=>>8r{1!E8U<)1Iegi8B+nOh8bX8MWdELd~>-X$W%7A>)Z_3};e*nqLUS-KH29 zQS4K$hAGBO&h#NcS-TK1%PM0nPu2)vrfKwqD5%IEP4jXOxm){%Zn$tzfXGD}qTIbn z-O+7(!!7$W5J2MSDN)=peJaW{;|uEn08#xDf*|~5p0MdmMC1<71%~bJ9u|CrV}zNQ z@gtI^Ix*S3Nghmo|4?&(Wlca9$|g^V;-nS(6a$dPs><#3qiB!y;Om%)J&@=Ol|CWVQObMlR^kno7CceFm-`3lfw&B8$(%` zIt7?%VuY!^l`QUCf&ju8abIuAkNc(ofGA?z*I04mzO(5}1S#%o(hK9h8Ny5qC+=&_ zYH?-c53LptiOLj0D-RN&k{ep}=918A4gsiRgjUzJyWv6ndgmxJar4IreN|bP+p_pu zRh1P@)7Y}tG5#rk&i$eN|Hpi9%2Q1jur%*fEPuyHsq(bwEQum6hG+WAFMi@v?e6-> zjlKRQ{m0WUP2Fj5#E@Y}eEAzgn-;~kD6Juqp3OSS^Is^!Dm~nj=~|VBVo zB~v-0GnM-{mI@hd&y6lrq4;`Y)fB0k&gHBIGWQ3DZCj*&`y-L7wdt7Je`0vDe7Cbi zp4O)0Y5$4gVJ*}5n|JK^_4yYhH@n?#_qR!YNV2>ltVNEZbh11TG3xf|G2wiugI%X! z_!Gm~COn@Ens1Y;{6b_05IP;e1C%0@HUXS{Y&+rk)}8W`l3x)F((3}Bp{2PI>F(^` zW4`@d7>=@kImSrX{1HZ%&F`tzpfl-M-M=s-U#h&HU3MAA@*RTcL_klTrPcPK`FUHP z`Wt$S^v)EHD>IL#D37N4>s`A2+(i6cjr84Lu3mM2Uv+oeG_}*IerRHaiO}w+j`($> z>~R0=3^PtQfxh~)tUkNt6z*`);nCD?kT(|9eA!zJ|>bC-Pm{`=(ql!I2I=biP-?bdbj`vg}%|NeFW8$cF*FJQhqKiN1N z0CW4`DvP3=ELRzR>|fRYe);b||LvDwe}1+t4^547cdBRWTgJclHs@c;>i_+p|7)*) zKINHzx!5`sR)b-k>#X#ReY zEKJYT=btw{;_Km;tNx6-<@Yeo7SGqR_*O3I!0&i4&JVSzc4_kxuU}@_%l>MV*XMJl z-_7nQSA^}$r01!o1J`MmU2c7uUih+>a{cXuqr&1MCiv zkmcd=*!-mWHkOFJ2g?Uaim%i5H{~~jah`$EIMDs=EJ;Bk^@x z$-h1SAk;WR>l@qYj|wVRtc3|opm*AJE(E{2!&pC8aBqbg0mb2QQmZDI1BdT}T!jFC z_7J!>Qh~jle=5?$p^20eyKP{U-CGjC?k&@4xEH=YV-*6}J>YH)1@`Dw6>D+8PQo`@ zXlYo_yQoiko>XREKALaTB!S(0?}dZ~a?;{h(07=5U?(`L7y6^+OK?1MH4c@bR{56 z1zx9q@w19n{ZI)*;qgc*Tyih@^*J1Qrx88?i2b{y>tC;+r^6@p%4e|l;h|7HpA9fff7LOmsR-_ zD0{N**UBf3=EDl#aL1_QEO*EduB( z)R#yWpJTE*b67>%|B~#wl_X6y-mfUtT*=30o33&dFZ2@#Q65TIM+q*wR7M_94t$%E z6D~0;mXtNt8mbV7GeI&OgOI1QLXkx@^INchkw>pKAf-qj%@g6MRa~ln$|Ns?X6iYA z4wyr&GhU~|9LWdCfL>gn$}A>>X6iJ5l9NNNGtj5Q9LWdCNMKx`a(`SzIL!!+?z&8l zelLDaJ?Pxi>f~dc`DTSGTA0=?L@SLLDAGssL^z<}b}%kfzH0#As&-ZxG@a++G;6x4 z-8og3fXN<}KB=26jTE+1Q~dW#-DCS?Kdxy-;!Y*p{`ZF0X#7^Tl7l4%HS3Sf9xuMOpC;*GngfRqzw8k8N(9lTBYRU ziK*G5SMrtiLeLn-?n-t@5Lwk$HEQri@<6!aQA1(kj5j1>J~`R zsyQt7+$s7BIy94i&Q1>jo!3{%&JTf})k<)jl#&&CrCNDjn8!4BU1K_!sX~7qcoiYY z+|ruL zL@@Q3y}^OTskPxj&Kh=KwhcnAZlzCxz|F{?<>yeP);^Sf$K&+k6EH!4=FP~$c~>6V zBcspfS&vc9zjcOx>;IZ2T^xvgJ}P~Ye11|k#57OSADJ}z<(dEB?eF_>owRu`!;S9g zyeG}E?`62BSMI8-kCUg*NN0iLwD=AY2aXKCfV@aDW4Bd)Y-4ZS zmO{HQ9tmhO{OY%+Zb|PAMn|1iO>d9L-y3zjAA1B>tp7X@%Z-?ClHrzs*#!l@G?R0V z?Z39y7WmS-_uu?43DrI^n~v{y>#h(8bMcm!r;7mC zHz+QDsmsCi>i73Qz3HwtXyH@V+@4tV3)s*b|OLetQo|*^gC`^j-xqQw)w+;={a|8{L zd4CZvu(Y^Q(91F-X!z2~1+h_IyBPU6t8? zsl96KsxI4ak|^s%^4M0MN#Dtw-DyQO?u7l({(SZG@N+~(6NMg=7eC>ddxP_#22+=> zUi>uh`T8Kh%}L%~$am*7n^A&I4;JX5Ec=(y`$$>d{@J9g>vjyNc6IOMs_ogM;aubXMz!|GXQQl1 zE@M8voA?$vJ^EoYGWU!mU3}^#j@)T`PEDu&O?p=~#k|d*CPS`X|N8E?mmi*gLE{L> zdc!x8@ZIoZSAQ%<7K*&-IZSWx?SJYo1n&NL)}#jB*70d`esCVn%T9&q-`nVE#O$}H z`k|}O#@2mUbiQ8?zM^mXsh|JaoQ;O>8;;R%)rdbzyATerv$(DL;r9FVcKiMA_Q!wu zp&^>EdheQSyB_xX&&nLO57$k934C--kxS6Ljr3g7zx&J8<{8+`1AciTjPJ(3Zk&A} zw9vECb5=OCAcU?YLIt@qInlU(=?piW;ifm- zIKxe6xM{_3JD`x`p57+HS4@8sbkC*TxU`!l`06N$-O_*~p+OFWQ`BLOkb}1yXSW&I zZCWXkkr8X$owrkOy5G+C+qchuYs$j2@gOd`ewYs9HuVlXkUOlj6rvA^SO5Lpsi^bD Z`0BUrhrc$?+`C+}|Kr&P{|6^t^#0TQLY@Es diff --git a/latest/searchindex.js b/latest/searchindex.js index 4f13ac8bc..0a46aa7b9 100644 --- a/latest/searchindex.js +++ b/latest/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api", "api/compas_fab", "api/compas_fab.backends", "api/compas_fab.blender", "api/compas_fab.ghpython", "api/compas_fab.rhino", "api/compas_fab.robots", "api/compas_fab.sensors", "api/compas_fab.utilities", "api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics", "api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.forward", "api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.inverse", "api/generated/compas_fab.backends.AnalyticalInverseKinematics", "api/generated/compas_fab.backends.AnalyticalInverseKinematics.inverse_kinematics", "api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion", "api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.plan_cartesian_motion", "api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.smooth_configurations", "api/generated/compas_fab.backends.AnalyticalPyBulletClient", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_attached_collision_mesh", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_collision_mesh", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.append_collision_mesh", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.body_from_obj", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.cache_robot", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_objects_for_collision", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_with_objects", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collisions", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_robot_self_collision", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.connect", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.convert_mesh_to_body", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.disconnect", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_geometry", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.filter_configurations_in_collision", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.forward_kinematics", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_filepath", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_planning_scene", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_robot_configuration", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_uid", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.inverse_kinematics", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_robot", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_semantics", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_ur5", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_cartesian_motion", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_motion", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.reload_from_cache", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_attached_collision_mesh", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_collision_mesh", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.reset_planning_scene", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.set_robot_configuration", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.step_simulation", "api/generated/compas_fab.backends.BackendError", "api/generated/compas_fab.backends.BackendFeatureNotSupportedError", "api/generated/compas_fab.backends.CancellableFutureResult", "api/generated/compas_fab.backends.CancellableFutureResult.cancel", "api/generated/compas_fab.backends.CancellableFutureResult.result", "api/generated/compas_fab.backends.CartesianMotionError", "api/generated/compas_fab.backends.CollisionError", "api/generated/compas_fab.backends.FutureResult", "api/generated/compas_fab.backends.FutureResult.result", "api/generated/compas_fab.backends.InverseKinematicsError", "api/generated/compas_fab.backends.KinematicsError", "api/generated/compas_fab.backends.MoveItPlanner", "api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh", "api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh_async", "api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh", "api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh_async", "api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh", "api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh_async", "api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics", "api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics_async", "api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene", "api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene_async", "api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics", "api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics_async", "api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion", "api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async", "api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async", "api/generated/compas_fab.backends.MoveItPlanner.plan_motion", "api/generated/compas_fab.backends.MoveItPlanner.plan_motion_async", "api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh", "api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh_async", "api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh", "api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh_async", "api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene", "api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene_async", "api/generated/compas_fab.backends.OffsetWristKinematics", "api/generated/compas_fab.backends.OffsetWristKinematics.forward", "api/generated/compas_fab.backends.OffsetWristKinematics.inverse", "api/generated/compas_fab.backends.PyBulletClient", "api/generated/compas_fab.backends.PyBulletClient.add_attached_collision_mesh", "api/generated/compas_fab.backends.PyBulletClient.add_collision_mesh", "api/generated/compas_fab.backends.PyBulletClient.append_collision_mesh", "api/generated/compas_fab.backends.PyBulletClient.body_from_obj", "api/generated/compas_fab.backends.PyBulletClient.cache_robot", "api/generated/compas_fab.backends.PyBulletClient.check_collision_objects_for_collision", "api/generated/compas_fab.backends.PyBulletClient.check_collision_with_objects", "api/generated/compas_fab.backends.PyBulletClient.check_collisions", "api/generated/compas_fab.backends.PyBulletClient.check_robot_self_collision", "api/generated/compas_fab.backends.PyBulletClient.connect", "api/generated/compas_fab.backends.PyBulletClient.convert_mesh_to_body", "api/generated/compas_fab.backends.PyBulletClient.disconnect", "api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot", "api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_geometry", "api/generated/compas_fab.backends.PyBulletClient.filter_configurations_in_collision", "api/generated/compas_fab.backends.PyBulletClient.forward_kinematics", "api/generated/compas_fab.backends.PyBulletClient.get_cached_robot", "api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_filepath", "api/generated/compas_fab.backends.PyBulletClient.get_planning_scene", "api/generated/compas_fab.backends.PyBulletClient.get_robot_configuration", "api/generated/compas_fab.backends.PyBulletClient.get_uid", "api/generated/compas_fab.backends.PyBulletClient.inverse_kinematics", "api/generated/compas_fab.backends.PyBulletClient.load_robot", "api/generated/compas_fab.backends.PyBulletClient.load_semantics", "api/generated/compas_fab.backends.PyBulletClient.load_ur5", "api/generated/compas_fab.backends.PyBulletClient.plan_cartesian_motion", "api/generated/compas_fab.backends.PyBulletClient.plan_motion", "api/generated/compas_fab.backends.PyBulletClient.reload_from_cache", "api/generated/compas_fab.backends.PyBulletClient.remove_attached_collision_mesh", "api/generated/compas_fab.backends.PyBulletClient.remove_collision_mesh", "api/generated/compas_fab.backends.PyBulletClient.reset_planning_scene", "api/generated/compas_fab.backends.PyBulletClient.set_robot_configuration", "api/generated/compas_fab.backends.PyBulletClient.step_simulation", "api/generated/compas_fab.backends.PyBulletError", "api/generated/compas_fab.backends.PyBulletPlanner", "api/generated/compas_fab.backends.PyBulletPlanner.add_attached_collision_mesh", "api/generated/compas_fab.backends.PyBulletPlanner.add_collision_mesh", "api/generated/compas_fab.backends.PyBulletPlanner.append_collision_mesh", "api/generated/compas_fab.backends.PyBulletPlanner.forward_kinematics", "api/generated/compas_fab.backends.PyBulletPlanner.get_planning_scene", "api/generated/compas_fab.backends.PyBulletPlanner.inverse_kinematics", "api/generated/compas_fab.backends.PyBulletPlanner.plan_cartesian_motion", "api/generated/compas_fab.backends.PyBulletPlanner.plan_motion", "api/generated/compas_fab.backends.PyBulletPlanner.remove_attached_collision_mesh", "api/generated/compas_fab.backends.PyBulletPlanner.remove_collision_mesh", "api/generated/compas_fab.backends.PyBulletPlanner.reset_planning_scene", "api/generated/compas_fab.backends.RosClient", "api/generated/compas_fab.backends.RosClient.add_attached_collision_mesh", "api/generated/compas_fab.backends.RosClient.add_collision_mesh", "api/generated/compas_fab.backends.RosClient.append_collision_mesh", "api/generated/compas_fab.backends.RosClient.authenticate", "api/generated/compas_fab.backends.RosClient.blocking_call_from_thread", "api/generated/compas_fab.backends.RosClient.call_async_service", "api/generated/compas_fab.backends.RosClient.call_in_thread", "api/generated/compas_fab.backends.RosClient.call_later", "api/generated/compas_fab.backends.RosClient.call_sync_service", "api/generated/compas_fab.backends.RosClient.close", "api/generated/compas_fab.backends.RosClient.connect", "api/generated/compas_fab.backends.RosClient.delete_param", "api/generated/compas_fab.backends.RosClient.emit", "api/generated/compas_fab.backends.RosClient.execute_joint_trajectory", "api/generated/compas_fab.backends.RosClient.follow_configurations", "api/generated/compas_fab.backends.RosClient.follow_joint_trajectory", "api/generated/compas_fab.backends.RosClient.forward_kinematics", "api/generated/compas_fab.backends.RosClient.get_action_servers", "api/generated/compas_fab.backends.RosClient.get_configuration", "api/generated/compas_fab.backends.RosClient.get_message_details", "api/generated/compas_fab.backends.RosClient.get_node_details", "api/generated/compas_fab.backends.RosClient.get_nodes", "api/generated/compas_fab.backends.RosClient.get_param", "api/generated/compas_fab.backends.RosClient.get_params", "api/generated/compas_fab.backends.RosClient.get_planning_scene", "api/generated/compas_fab.backends.RosClient.get_service_request_callback", "api/generated/compas_fab.backends.RosClient.get_service_request_details", "api/generated/compas_fab.backends.RosClient.get_service_response_details", "api/generated/compas_fab.backends.RosClient.get_service_type", "api/generated/compas_fab.backends.RosClient.get_services", "api/generated/compas_fab.backends.RosClient.get_services_for_type", "api/generated/compas_fab.backends.RosClient.get_time", "api/generated/compas_fab.backends.RosClient.get_topic_type", "api/generated/compas_fab.backends.RosClient.get_topics", "api/generated/compas_fab.backends.RosClient.get_topics_for_type", "api/generated/compas_fab.backends.RosClient.inverse_kinematics", "api/generated/compas_fab.backends.RosClient.load_robot", "api/generated/compas_fab.backends.RosClient.off", "api/generated/compas_fab.backends.RosClient.on", "api/generated/compas_fab.backends.RosClient.on_ready", "api/generated/compas_fab.backends.RosClient.plan_cartesian_motion", "api/generated/compas_fab.backends.RosClient.plan_motion", "api/generated/compas_fab.backends.RosClient.remove_attached_collision_mesh", "api/generated/compas_fab.backends.RosClient.remove_collision_mesh", "api/generated/compas_fab.backends.RosClient.reset_planning_scene", "api/generated/compas_fab.backends.RosClient.run", "api/generated/compas_fab.backends.RosClient.run_event_loop", "api/generated/compas_fab.backends.RosClient.run_forever", "api/generated/compas_fab.backends.RosClient.send_on_ready", "api/generated/compas_fab.backends.RosClient.set_param", "api/generated/compas_fab.backends.RosClient.set_status_level", "api/generated/compas_fab.backends.RosClient.terminate", "api/generated/compas_fab.backends.RosError", "api/generated/compas_fab.backends.RosFileServerLoader", "api/generated/compas_fab.backends.RosFileServerLoader.can_load_mesh", "api/generated/compas_fab.backends.RosFileServerLoader.load_mesh", "api/generated/compas_fab.backends.RosFileServerLoader.load_meshes", "api/generated/compas_fab.backends.RosFileServerLoader.load_srdf", "api/generated/compas_fab.backends.RosFileServerLoader.load_urdf", "api/generated/compas_fab.backends.RosValidationError", "api/generated/compas_fab.backends.SphericalWristKinematics", "api/generated/compas_fab.backends.SphericalWristKinematics.forward", "api/generated/compas_fab.backends.SphericalWristKinematics.inverse", "api/generated/compas_fab.backends.Staubli_TX260LKinematics", "api/generated/compas_fab.backends.Staubli_TX260LKinematics.forward", "api/generated/compas_fab.backends.Staubli_TX260LKinematics.inverse", "api/generated/compas_fab.backends.UR10Kinematics", "api/generated/compas_fab.backends.UR10Kinematics.forward", "api/generated/compas_fab.backends.UR10Kinematics.inverse", "api/generated/compas_fab.backends.UR10eKinematics", "api/generated/compas_fab.backends.UR10eKinematics.forward", "api/generated/compas_fab.backends.UR10eKinematics.inverse", "api/generated/compas_fab.backends.UR3Kinematics", "api/generated/compas_fab.backends.UR3Kinematics.forward", "api/generated/compas_fab.backends.UR3Kinematics.inverse", "api/generated/compas_fab.backends.UR3eKinematics", "api/generated/compas_fab.backends.UR3eKinematics.forward", "api/generated/compas_fab.backends.UR3eKinematics.inverse", "api/generated/compas_fab.backends.UR5Kinematics", "api/generated/compas_fab.backends.UR5Kinematics.forward", "api/generated/compas_fab.backends.UR5Kinematics.inverse", "api/generated/compas_fab.backends.UR5eKinematics", "api/generated/compas_fab.backends.UR5eKinematics.forward", "api/generated/compas_fab.backends.UR5eKinematics.inverse", "api/generated/compas_fab.ghpython.ReachabilityMapObject", "api/generated/compas_fab.ghpython.ReachabilityMapObject.ToString", "api/generated/compas_fab.ghpython.ReachabilityMapObject.add", "api/generated/compas_fab.ghpython.ReachabilityMapObject.clear", "api/generated/compas_fab.ghpython.ReachabilityMapObject.copy", "api/generated/compas_fab.ghpython.ReachabilityMapObject.draw", "api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_cloud", "api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_frames", "api/generated/compas_fab.ghpython.ReachabilityMapObject.from_json", "api/generated/compas_fab.ghpython.ReachabilityMapObject.from_jsonstring", "api/generated/compas_fab.ghpython.ReachabilityMapObject.remove", "api/generated/compas_fab.ghpython.ReachabilityMapObject.sha256", "api/generated/compas_fab.ghpython.ReachabilityMapObject.to_json", "api/generated/compas_fab.ghpython.ReachabilityMapObject.to_jsonstring", "api/generated/compas_fab.ghpython.ReachabilityMapObject.traverse", "api/generated/compas_fab.ghpython.ReachabilityMapObject.validate_data", "api/generated/compas_fab.rhino.ReachabilityMapObject", "api/generated/compas_fab.rhino.ReachabilityMapObject.ToString", "api/generated/compas_fab.rhino.ReachabilityMapObject.add", "api/generated/compas_fab.rhino.ReachabilityMapObject.add_to_group", "api/generated/compas_fab.rhino.ReachabilityMapObject.clear", "api/generated/compas_fab.rhino.ReachabilityMapObject.clear_layer", "api/generated/compas_fab.rhino.ReachabilityMapObject.compile_attributes", "api/generated/compas_fab.rhino.ReachabilityMapObject.copy", "api/generated/compas_fab.rhino.ReachabilityMapObject.draw", "api/generated/compas_fab.rhino.ReachabilityMapObject.draw_cloud", "api/generated/compas_fab.rhino.ReachabilityMapObject.draw_frames", "api/generated/compas_fab.rhino.ReachabilityMapObject.from_json", "api/generated/compas_fab.rhino.ReachabilityMapObject.from_jsonstring", "api/generated/compas_fab.rhino.ReachabilityMapObject.get_group", "api/generated/compas_fab.rhino.ReachabilityMapObject.remove", "api/generated/compas_fab.rhino.ReachabilityMapObject.sha256", "api/generated/compas_fab.rhino.ReachabilityMapObject.to_json", "api/generated/compas_fab.rhino.ReachabilityMapObject.to_jsonstring", "api/generated/compas_fab.rhino.ReachabilityMapObject.traverse", "api/generated/compas_fab.rhino.ReachabilityMapObject.validate_data", "api/generated/compas_fab.robots.AttachedCollisionMesh", "api/generated/compas_fab.robots.AttachedCollisionMesh.ToString", "api/generated/compas_fab.robots.AttachedCollisionMesh.copy", "api/generated/compas_fab.robots.AttachedCollisionMesh.from_json", "api/generated/compas_fab.robots.AttachedCollisionMesh.from_jsonstring", "api/generated/compas_fab.robots.AttachedCollisionMesh.sha256", "api/generated/compas_fab.robots.AttachedCollisionMesh.to_json", "api/generated/compas_fab.robots.AttachedCollisionMesh.to_jsonstring", "api/generated/compas_fab.robots.AttachedCollisionMesh.validate_data", "api/generated/compas_fab.robots.BoundingVolume", "api/generated/compas_fab.robots.BoundingVolume.ToString", "api/generated/compas_fab.robots.BoundingVolume.copy", "api/generated/compas_fab.robots.BoundingVolume.from_box", "api/generated/compas_fab.robots.BoundingVolume.from_json", "api/generated/compas_fab.robots.BoundingVolume.from_jsonstring", "api/generated/compas_fab.robots.BoundingVolume.from_mesh", "api/generated/compas_fab.robots.BoundingVolume.from_sphere", "api/generated/compas_fab.robots.BoundingVolume.scale", "api/generated/compas_fab.robots.BoundingVolume.sha256", "api/generated/compas_fab.robots.BoundingVolume.to_json", "api/generated/compas_fab.robots.BoundingVolume.to_jsonstring", "api/generated/compas_fab.robots.BoundingVolume.transform", "api/generated/compas_fab.robots.BoundingVolume.validate_data", "api/generated/compas_fab.robots.CollisionMesh", "api/generated/compas_fab.robots.CollisionMesh.ToString", "api/generated/compas_fab.robots.CollisionMesh.copy", "api/generated/compas_fab.robots.CollisionMesh.from_json", "api/generated/compas_fab.robots.CollisionMesh.from_jsonstring", "api/generated/compas_fab.robots.CollisionMesh.scale", "api/generated/compas_fab.robots.CollisionMesh.scaled", "api/generated/compas_fab.robots.CollisionMesh.sha256", "api/generated/compas_fab.robots.CollisionMesh.to_json", "api/generated/compas_fab.robots.CollisionMesh.to_jsonstring", "api/generated/compas_fab.robots.CollisionMesh.validate_data", "api/generated/compas_fab.robots.ConfigurationTarget", "api/generated/compas_fab.robots.ConfigurationTarget.ToString", "api/generated/compas_fab.robots.ConfigurationTarget.copy", "api/generated/compas_fab.robots.ConfigurationTarget.from_json", "api/generated/compas_fab.robots.ConfigurationTarget.from_jsonstring", "api/generated/compas_fab.robots.ConfigurationTarget.generate_default_tolerances", "api/generated/compas_fab.robots.ConfigurationTarget.scaled", "api/generated/compas_fab.robots.ConfigurationTarget.sha256", "api/generated/compas_fab.robots.ConfigurationTarget.to_json", "api/generated/compas_fab.robots.ConfigurationTarget.to_jsonstring", "api/generated/compas_fab.robots.ConfigurationTarget.validate_data", "api/generated/compas_fab.robots.Constraint", "api/generated/compas_fab.robots.Constraint.ToString", "api/generated/compas_fab.robots.Constraint.copy", "api/generated/compas_fab.robots.Constraint.from_json", "api/generated/compas_fab.robots.Constraint.from_jsonstring", "api/generated/compas_fab.robots.Constraint.scale", "api/generated/compas_fab.robots.Constraint.scaled", "api/generated/compas_fab.robots.Constraint.sha256", "api/generated/compas_fab.robots.Constraint.to_json", "api/generated/compas_fab.robots.Constraint.to_jsonstring", "api/generated/compas_fab.robots.Constraint.transform", "api/generated/compas_fab.robots.Constraint.validate_data", "api/generated/compas_fab.robots.ConstraintSetTarget", "api/generated/compas_fab.robots.ConstraintSetTarget.ToString", "api/generated/compas_fab.robots.ConstraintSetTarget.copy", "api/generated/compas_fab.robots.ConstraintSetTarget.from_json", "api/generated/compas_fab.robots.ConstraintSetTarget.from_jsonstring", "api/generated/compas_fab.robots.ConstraintSetTarget.scaled", "api/generated/compas_fab.robots.ConstraintSetTarget.sha256", "api/generated/compas_fab.robots.ConstraintSetTarget.to_json", "api/generated/compas_fab.robots.ConstraintSetTarget.to_jsonstring", "api/generated/compas_fab.robots.ConstraintSetTarget.validate_data", "api/generated/compas_fab.robots.DeviationVectorsGenerator", "api/generated/compas_fab.robots.Duration", "api/generated/compas_fab.robots.Duration.ToString", "api/generated/compas_fab.robots.Duration.copy", "api/generated/compas_fab.robots.Duration.from_json", "api/generated/compas_fab.robots.Duration.from_jsonstring", "api/generated/compas_fab.robots.Duration.sha256", "api/generated/compas_fab.robots.Duration.to_json", "api/generated/compas_fab.robots.Duration.to_jsonstring", "api/generated/compas_fab.robots.Duration.validate_data", "api/generated/compas_fab.robots.FrameTarget", "api/generated/compas_fab.robots.FrameTarget.ToString", "api/generated/compas_fab.robots.FrameTarget.copy", "api/generated/compas_fab.robots.FrameTarget.from_json", "api/generated/compas_fab.robots.FrameTarget.from_jsonstring", "api/generated/compas_fab.robots.FrameTarget.from_transformation", "api/generated/compas_fab.robots.FrameTarget.scaled", "api/generated/compas_fab.robots.FrameTarget.sha256", "api/generated/compas_fab.robots.FrameTarget.to_json", "api/generated/compas_fab.robots.FrameTarget.to_jsonstring", "api/generated/compas_fab.robots.FrameTarget.validate_data", "api/generated/compas_fab.robots.FrameWaypoints", "api/generated/compas_fab.robots.FrameWaypoints.ToString", "api/generated/compas_fab.robots.FrameWaypoints.copy", "api/generated/compas_fab.robots.FrameWaypoints.from_json", "api/generated/compas_fab.robots.FrameWaypoints.from_jsonstring", "api/generated/compas_fab.robots.FrameWaypoints.from_transformations", "api/generated/compas_fab.robots.FrameWaypoints.scaled", "api/generated/compas_fab.robots.FrameWaypoints.sha256", "api/generated/compas_fab.robots.FrameWaypoints.to_json", "api/generated/compas_fab.robots.FrameWaypoints.to_jsonstring", "api/generated/compas_fab.robots.FrameWaypoints.validate_data", "api/generated/compas_fab.robots.Inertia", "api/generated/compas_fab.robots.Inertia.calculate_inertia_tensor", "api/generated/compas_fab.robots.JointConstraint", "api/generated/compas_fab.robots.JointConstraint.ToString", "api/generated/compas_fab.robots.JointConstraint.copy", "api/generated/compas_fab.robots.JointConstraint.from_json", "api/generated/compas_fab.robots.JointConstraint.from_jsonstring", "api/generated/compas_fab.robots.JointConstraint.joint_constraints_from_configuration", "api/generated/compas_fab.robots.JointConstraint.scale", "api/generated/compas_fab.robots.JointConstraint.scaled", "api/generated/compas_fab.robots.JointConstraint.sha256", "api/generated/compas_fab.robots.JointConstraint.to_json", "api/generated/compas_fab.robots.JointConstraint.to_jsonstring", "api/generated/compas_fab.robots.JointConstraint.transform", "api/generated/compas_fab.robots.JointConstraint.validate_data", "api/generated/compas_fab.robots.JointTrajectory", "api/generated/compas_fab.robots.JointTrajectory.ToString", "api/generated/compas_fab.robots.JointTrajectory.copy", "api/generated/compas_fab.robots.JointTrajectory.from_json", "api/generated/compas_fab.robots.JointTrajectory.from_jsonstring", "api/generated/compas_fab.robots.JointTrajectory.sha256", "api/generated/compas_fab.robots.JointTrajectory.to_json", "api/generated/compas_fab.robots.JointTrajectory.to_jsonstring", "api/generated/compas_fab.robots.JointTrajectory.validate_data", "api/generated/compas_fab.robots.JointTrajectoryPoint", "api/generated/compas_fab.robots.JointTrajectoryPoint.ToString", "api/generated/compas_fab.robots.JointTrajectoryPoint.check_joint_names", "api/generated/compas_fab.robots.JointTrajectoryPoint.close_to", "api/generated/compas_fab.robots.JointTrajectoryPoint.copy", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_json", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_jsonstring", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_prismatic_and_revolute_values", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_revolute_values", "api/generated/compas_fab.robots.JointTrajectoryPoint.get", "api/generated/compas_fab.robots.JointTrajectoryPoint.items", "api/generated/compas_fab.robots.JointTrajectoryPoint.iter_differences", "api/generated/compas_fab.robots.JointTrajectoryPoint.keys", "api/generated/compas_fab.robots.JointTrajectoryPoint.max_difference", "api/generated/compas_fab.robots.JointTrajectoryPoint.merge", "api/generated/compas_fab.robots.JointTrajectoryPoint.merged", "api/generated/compas_fab.robots.JointTrajectoryPoint.scale", "api/generated/compas_fab.robots.JointTrajectoryPoint.scaled", "api/generated/compas_fab.robots.JointTrajectoryPoint.sha256", "api/generated/compas_fab.robots.JointTrajectoryPoint.to_json", "api/generated/compas_fab.robots.JointTrajectoryPoint.to_jsonstring", "api/generated/compas_fab.robots.JointTrajectoryPoint.validate_data", "api/generated/compas_fab.robots.JointTrajectoryPoint.values", "api/generated/compas_fab.robots.OrientationConstraint", "api/generated/compas_fab.robots.OrientationConstraint.ToString", "api/generated/compas_fab.robots.OrientationConstraint.copy", "api/generated/compas_fab.robots.OrientationConstraint.from_frame", "api/generated/compas_fab.robots.OrientationConstraint.from_json", "api/generated/compas_fab.robots.OrientationConstraint.from_jsonstring", "api/generated/compas_fab.robots.OrientationConstraint.scale", "api/generated/compas_fab.robots.OrientationConstraint.scaled", "api/generated/compas_fab.robots.OrientationConstraint.sha256", "api/generated/compas_fab.robots.OrientationConstraint.to_json", "api/generated/compas_fab.robots.OrientationConstraint.to_jsonstring", "api/generated/compas_fab.robots.OrientationConstraint.transform", "api/generated/compas_fab.robots.OrientationConstraint.validate_data", "api/generated/compas_fab.robots.OrthonormalVectorsFromAxisGenerator", "api/generated/compas_fab.robots.PlanningScene", "api/generated/compas_fab.robots.PlanningScene.add_attached_collision_mesh", "api/generated/compas_fab.robots.PlanningScene.add_attached_tool", "api/generated/compas_fab.robots.PlanningScene.add_collision_mesh", "api/generated/compas_fab.robots.PlanningScene.append_collision_mesh", "api/generated/compas_fab.robots.PlanningScene.attach_collision_mesh_to_robot_end_effector", "api/generated/compas_fab.robots.PlanningScene.ensure_client", "api/generated/compas_fab.robots.PlanningScene.remove_attached_collision_mesh", "api/generated/compas_fab.robots.PlanningScene.remove_attached_tool", "api/generated/compas_fab.robots.PlanningScene.remove_collision_mesh", "api/generated/compas_fab.robots.PlanningScene.reset", "api/generated/compas_fab.robots.PointAxisTarget", "api/generated/compas_fab.robots.PointAxisTarget.ToString", "api/generated/compas_fab.robots.PointAxisTarget.copy", "api/generated/compas_fab.robots.PointAxisTarget.from_json", "api/generated/compas_fab.robots.PointAxisTarget.from_jsonstring", "api/generated/compas_fab.robots.PointAxisTarget.scaled", "api/generated/compas_fab.robots.PointAxisTarget.sha256", "api/generated/compas_fab.robots.PointAxisTarget.to_json", "api/generated/compas_fab.robots.PointAxisTarget.to_jsonstring", "api/generated/compas_fab.robots.PointAxisTarget.validate_data", "api/generated/compas_fab.robots.PointAxisWaypoints", "api/generated/compas_fab.robots.PointAxisWaypoints.ToString", "api/generated/compas_fab.robots.PointAxisWaypoints.copy", "api/generated/compas_fab.robots.PointAxisWaypoints.from_json", "api/generated/compas_fab.robots.PointAxisWaypoints.from_jsonstring", "api/generated/compas_fab.robots.PointAxisWaypoints.scaled", "api/generated/compas_fab.robots.PointAxisWaypoints.sha256", "api/generated/compas_fab.robots.PointAxisWaypoints.to_json", "api/generated/compas_fab.robots.PointAxisWaypoints.to_jsonstring", "api/generated/compas_fab.robots.PointAxisWaypoints.validate_data", "api/generated/compas_fab.robots.PositionConstraint", "api/generated/compas_fab.robots.PositionConstraint.ToString", "api/generated/compas_fab.robots.PositionConstraint.copy", "api/generated/compas_fab.robots.PositionConstraint.from_box", "api/generated/compas_fab.robots.PositionConstraint.from_frame", "api/generated/compas_fab.robots.PositionConstraint.from_json", "api/generated/compas_fab.robots.PositionConstraint.from_jsonstring", "api/generated/compas_fab.robots.PositionConstraint.from_mesh", "api/generated/compas_fab.robots.PositionConstraint.from_point", "api/generated/compas_fab.robots.PositionConstraint.from_sphere", "api/generated/compas_fab.robots.PositionConstraint.scale", "api/generated/compas_fab.robots.PositionConstraint.scaled", "api/generated/compas_fab.robots.PositionConstraint.sha256", "api/generated/compas_fab.robots.PositionConstraint.to_json", "api/generated/compas_fab.robots.PositionConstraint.to_jsonstring", "api/generated/compas_fab.robots.PositionConstraint.transform", "api/generated/compas_fab.robots.PositionConstraint.validate_data", "api/generated/compas_fab.robots.ReachabilityMap", "api/generated/compas_fab.robots.ReachabilityMap.ToString", "api/generated/compas_fab.robots.ReachabilityMap.calculate", "api/generated/compas_fab.robots.ReachabilityMap.copy", "api/generated/compas_fab.robots.ReachabilityMap.from_json", "api/generated/compas_fab.robots.ReachabilityMap.from_jsonstring", "api/generated/compas_fab.robots.ReachabilityMap.reachable_frames_and_configurations_at_ik_index", "api/generated/compas_fab.robots.ReachabilityMap.sha256", "api/generated/compas_fab.robots.ReachabilityMap.to_json", "api/generated/compas_fab.robots.ReachabilityMap.to_jsonstring", "api/generated/compas_fab.robots.ReachabilityMap.validate_data", "api/generated/compas_fab.robots.Robot", "api/generated/compas_fab.robots.Robot.ToString", "api/generated/compas_fab.robots.Robot.attach_tool", "api/generated/compas_fab.robots.Robot.basic", "api/generated/compas_fab.robots.Robot.copy", "api/generated/compas_fab.robots.Robot.detach_tool", "api/generated/compas_fab.robots.Robot.draw", "api/generated/compas_fab.robots.Robot.draw_collision", "api/generated/compas_fab.robots.Robot.draw_visual", "api/generated/compas_fab.robots.Robot.ensure_client", "api/generated/compas_fab.robots.Robot.ensure_geometry", "api/generated/compas_fab.robots.Robot.ensure_semantics", "api/generated/compas_fab.robots.Robot.forward_kinematics", "api/generated/compas_fab.robots.Robot.from_json", "api/generated/compas_fab.robots.Robot.from_jsonstring", "api/generated/compas_fab.robots.Robot.from_t0cf_to_tcf", "api/generated/compas_fab.robots.Robot.from_tcf_to_t0cf", "api/generated/compas_fab.robots.Robot.get_RCF", "api/generated/compas_fab.robots.Robot.get_attached_tool_collision_meshes", "api/generated/compas_fab.robots.Robot.get_base_frame", "api/generated/compas_fab.robots.Robot.get_base_link", "api/generated/compas_fab.robots.Robot.get_base_link_name", "api/generated/compas_fab.robots.Robot.get_configurable_joint_names", "api/generated/compas_fab.robots.Robot.get_configurable_joint_types", "api/generated/compas_fab.robots.Robot.get_configurable_joints", "api/generated/compas_fab.robots.Robot.get_configuration_from_group_state", "api/generated/compas_fab.robots.Robot.get_end_effector_frame", "api/generated/compas_fab.robots.Robot.get_end_effector_link", "api/generated/compas_fab.robots.Robot.get_end_effector_link_name", "api/generated/compas_fab.robots.Robot.get_group_configuration", "api/generated/compas_fab.robots.Robot.get_group_names_from_link_name", "api/generated/compas_fab.robots.Robot.get_joint_by_name", "api/generated/compas_fab.robots.Robot.get_joint_types_by_names", "api/generated/compas_fab.robots.Robot.get_link_names", "api/generated/compas_fab.robots.Robot.get_link_names_with_collision_geometry", "api/generated/compas_fab.robots.Robot.get_position_by_joint_name", "api/generated/compas_fab.robots.Robot.info", "api/generated/compas_fab.robots.Robot.inverse_kinematics", "api/generated/compas_fab.robots.Robot.iter_inverse_kinematics", "api/generated/compas_fab.robots.Robot.merge_group_with_full_configuration", "api/generated/compas_fab.robots.Robot.plan_cartesian_motion", "api/generated/compas_fab.robots.Robot.plan_motion", "api/generated/compas_fab.robots.Robot.random_configuration", "api/generated/compas_fab.robots.Robot.scale", "api/generated/compas_fab.robots.Robot.set_RCF", "api/generated/compas_fab.robots.Robot.sha256", "api/generated/compas_fab.robots.Robot.to_json", "api/generated/compas_fab.robots.Robot.to_jsonstring", "api/generated/compas_fab.robots.Robot.to_local_coordinates", "api/generated/compas_fab.robots.Robot.to_world_coordinates", "api/generated/compas_fab.robots.Robot.transformation_RCF_WCF", "api/generated/compas_fab.robots.Robot.transformation_WCF_RCF", "api/generated/compas_fab.robots.Robot.transformed_axes", "api/generated/compas_fab.robots.Robot.transformed_frames", "api/generated/compas_fab.robots.Robot.update", "api/generated/compas_fab.robots.Robot.validate_data", "api/generated/compas_fab.robots.Robot.zero_configuration", "api/generated/compas_fab.robots.RobotLibrary", "api/generated/compas_fab.robots.RobotLibrary.abb_irb4600_40_255", "api/generated/compas_fab.robots.RobotLibrary.rfl", "api/generated/compas_fab.robots.RobotLibrary.ur10e", "api/generated/compas_fab.robots.RobotLibrary.ur5", "api/generated/compas_fab.robots.RobotSemantics", "api/generated/compas_fab.robots.RobotSemantics.ToString", "api/generated/compas_fab.robots.RobotSemantics.copy", "api/generated/compas_fab.robots.RobotSemantics.from_json", "api/generated/compas_fab.robots.RobotSemantics.from_jsonstring", "api/generated/compas_fab.robots.RobotSemantics.from_srdf_file", "api/generated/compas_fab.robots.RobotSemantics.from_srdf_string", "api/generated/compas_fab.robots.RobotSemantics.from_xml", "api/generated/compas_fab.robots.RobotSemantics.get_all_configurable_joints", "api/generated/compas_fab.robots.RobotSemantics.get_base_link_name", "api/generated/compas_fab.robots.RobotSemantics.get_configurable_joint_names", "api/generated/compas_fab.robots.RobotSemantics.get_configurable_joints", "api/generated/compas_fab.robots.RobotSemantics.get_end_effector_link_name", "api/generated/compas_fab.robots.RobotSemantics.sha256", "api/generated/compas_fab.robots.RobotSemantics.to_json", "api/generated/compas_fab.robots.RobotSemantics.to_jsonstring", "api/generated/compas_fab.robots.RobotSemantics.validate_data", "api/generated/compas_fab.robots.Target", "api/generated/compas_fab.robots.Target.ToString", "api/generated/compas_fab.robots.Target.copy", "api/generated/compas_fab.robots.Target.from_json", "api/generated/compas_fab.robots.Target.from_jsonstring", "api/generated/compas_fab.robots.Target.scaled", "api/generated/compas_fab.robots.Target.sha256", "api/generated/compas_fab.robots.Target.to_json", "api/generated/compas_fab.robots.Target.to_jsonstring", "api/generated/compas_fab.robots.Target.validate_data", "api/generated/compas_fab.robots.Tool", "api/generated/compas_fab.robots.Tool.ToString", "api/generated/compas_fab.robots.Tool.copy", "api/generated/compas_fab.robots.Tool.from_json", "api/generated/compas_fab.robots.Tool.from_jsonstring", "api/generated/compas_fab.robots.Tool.from_t0cf_to_tcf", "api/generated/compas_fab.robots.Tool.from_tcf_to_t0cf", "api/generated/compas_fab.robots.Tool.from_tool_model", "api/generated/compas_fab.robots.Tool.sha256", "api/generated/compas_fab.robots.Tool.to_json", "api/generated/compas_fab.robots.Tool.to_jsonstring", "api/generated/compas_fab.robots.Tool.update_touch_links", "api/generated/compas_fab.robots.Tool.validate_data", "api/generated/compas_fab.robots.Trajectory", "api/generated/compas_fab.robots.Trajectory.ToString", "api/generated/compas_fab.robots.Trajectory.copy", "api/generated/compas_fab.robots.Trajectory.from_json", "api/generated/compas_fab.robots.Trajectory.from_jsonstring", "api/generated/compas_fab.robots.Trajectory.sha256", "api/generated/compas_fab.robots.Trajectory.to_json", "api/generated/compas_fab.robots.Trajectory.to_jsonstring", "api/generated/compas_fab.robots.Trajectory.validate_data", "api/generated/compas_fab.robots.Waypoints", "api/generated/compas_fab.robots.Waypoints.ToString", "api/generated/compas_fab.robots.Waypoints.copy", "api/generated/compas_fab.robots.Waypoints.from_json", "api/generated/compas_fab.robots.Waypoints.from_jsonstring", "api/generated/compas_fab.robots.Waypoints.scaled", "api/generated/compas_fab.robots.Waypoints.sha256", "api/generated/compas_fab.robots.Waypoints.to_json", "api/generated/compas_fab.robots.Waypoints.to_jsonstring", "api/generated/compas_fab.robots.Waypoints.validate_data", "api/generated/compas_fab.robots.Wrench", "api/generated/compas_fab.robots.Wrench.ToString", "api/generated/compas_fab.robots.Wrench.by_samples", "api/generated/compas_fab.robots.Wrench.copy", "api/generated/compas_fab.robots.Wrench.from_json", "api/generated/compas_fab.robots.Wrench.from_jsonstring", "api/generated/compas_fab.robots.Wrench.from_list", "api/generated/compas_fab.robots.Wrench.gravity_compensated", "api/generated/compas_fab.robots.Wrench.sha256", "api/generated/compas_fab.robots.Wrench.to_json", "api/generated/compas_fab.robots.Wrench.to_jsonstring", "api/generated/compas_fab.robots.Wrench.transform", "api/generated/compas_fab.robots.Wrench.transformed", "api/generated/compas_fab.robots.Wrench.validate_data", "api/generated/compas_fab.robots.to_degrees", "api/generated/compas_fab.robots.to_radians", "api/generated/compas_fab.sensors.PosCon3D", "api/generated/compas_fab.sensors.PosCon3D.activate_flex_mount", "api/generated/compas_fab.sensors.PosCon3D.adjust_to_dark_object", "api/generated/compas_fab.sensors.PosCon3D.begin", "api/generated/compas_fab.sensors.PosCon3D.calculate_checksum", "api/generated/compas_fab.sensors.PosCon3D.deactivate_flex_mount", "api/generated/compas_fab.sensors.PosCon3D.end", "api/generated/compas_fab.sensors.PosCon3D.format_command", "api/generated/compas_fab.sensors.PosCon3D.get_address", "api/generated/compas_fab.sensors.PosCon3D.get_live_monitor_data", "api/generated/compas_fab.sensors.PosCon3D.get_measurement", "api/generated/compas_fab.sensors.PosCon3D.get_payload", "api/generated/compas_fab.sensors.PosCon3D.reset", "api/generated/compas_fab.sensors.PosCon3D.send_command", "api/generated/compas_fab.sensors.PosCon3D.set_edge_height", "api/generated/compas_fab.sensors.PosCon3D.set_flex_mount", "api/generated/compas_fab.sensors.PosCon3D.set_measurement_type", "api/generated/compas_fab.sensors.PosCon3D.set_precision", "api/generated/compas_fab.sensors.PosConCM", "api/generated/compas_fab.sensors.PosConCM.activate_flex_mount", "api/generated/compas_fab.sensors.PosConCM.adjust_to_dark_object", "api/generated/compas_fab.sensors.PosConCM.begin", "api/generated/compas_fab.sensors.PosConCM.calculate_checksum", "api/generated/compas_fab.sensors.PosConCM.deactivate_flex_mount", "api/generated/compas_fab.sensors.PosConCM.end", "api/generated/compas_fab.sensors.PosConCM.format_command", "api/generated/compas_fab.sensors.PosConCM.get_address", "api/generated/compas_fab.sensors.PosConCM.get_measurement", "api/generated/compas_fab.sensors.PosConCM.get_payload", "api/generated/compas_fab.sensors.PosConCM.reset", "api/generated/compas_fab.sensors.PosConCM.send_command", "api/generated/compas_fab.sensors.PosConCM.set_flex_mount", "api/generated/compas_fab.sensors.PosConCM.set_measurement_type", "api/generated/compas_fab.sensors.PosConCM.set_precision", "api/generated/compas_fab.sensors.PosConCM.teach_flex_mount", "api/generated/compas_fab.sensors.ProtocolError", "api/generated/compas_fab.sensors.SensorTimeoutError", "api/generated/compas_fab.sensors.SerialSensor", "api/generated/compas_fab.utilities.LazyLoader", "api/generated/compas_fab.utilities.allclose", "api/generated/compas_fab.utilities.arange", "api/generated/compas_fab.utilities.argmax", "api/generated/compas_fab.utilities.argmin", "api/generated/compas_fab.utilities.argsort", "api/generated/compas_fab.utilities.clamp", "api/generated/compas_fab.utilities.diffs", "api/generated/compas_fab.utilities.from_tcf_to_t0cf", "api/generated/compas_fab.utilities.list_files_in_directory", "api/generated/compas_fab.utilities.map_range", "api/generated/compas_fab.utilities.range_geometric_row", "api/generated/compas_fab.utilities.read_csv_to_dictionary", "api/generated/compas_fab.utilities.read_data_from_pickle", "api/generated/compas_fab.utilities.sign", "api/generated/compas_fab.utilities.write_data_to_pickle", "authors", "backends", "backends/pybullet", "backends/ros", "backends/web_x11_gui", "changelog", "contributing", "developer/backends", "developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh", "developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.add_attached_collision_mesh", "developer/generated/compas_fab.backends.interfaces.AddCollisionMesh", "developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.add_collision_mesh", "developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh", "developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.append_collision_mesh", "developer/generated/compas_fab.backends.interfaces.BackendFeature", "developer/generated/compas_fab.backends.interfaces.ClientInterface", "developer/generated/compas_fab.backends.interfaces.ClientInterface.add_attached_collision_mesh", "developer/generated/compas_fab.backends.interfaces.ClientInterface.add_collision_mesh", "developer/generated/compas_fab.backends.interfaces.ClientInterface.append_collision_mesh", "developer/generated/compas_fab.backends.interfaces.ClientInterface.forward_kinematics", "developer/generated/compas_fab.backends.interfaces.ClientInterface.get_planning_scene", "developer/generated/compas_fab.backends.interfaces.ClientInterface.inverse_kinematics", "developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_cartesian_motion", "developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_motion", "developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_attached_collision_mesh", "developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_collision_mesh", "developer/generated/compas_fab.backends.interfaces.ClientInterface.reset_planning_scene", "developer/generated/compas_fab.backends.interfaces.ForwardKinematics", "developer/generated/compas_fab.backends.interfaces.ForwardKinematics.forward_kinematics", "developer/generated/compas_fab.backends.interfaces.GetPlanningScene", "developer/generated/compas_fab.backends.interfaces.GetPlanningScene.get_planning_scene", "developer/generated/compas_fab.backends.interfaces.InverseKinematics", "developer/generated/compas_fab.backends.interfaces.InverseKinematics.inverse_kinematics", "developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion", "developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.plan_cartesian_motion", "developer/generated/compas_fab.backends.interfaces.PlanMotion", "developer/generated/compas_fab.backends.interfaces.PlanMotion.plan_motion", "developer/generated/compas_fab.backends.interfaces.PlannerInterface", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_attached_collision_mesh", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_collision_mesh", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.append_collision_mesh", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.forward_kinematics", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.get_planning_scene", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.inverse_kinematics", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_cartesian_motion", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_motion", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_attached_collision_mesh", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_collision_mesh", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.reset_planning_scene", "developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh", "developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.remove_attached_collision_mesh", "developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh", "developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.remove_collision_mesh", "developer/generated/compas_fab.backends.interfaces.ResetPlanningScene", "developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.reset_planning_scene", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.add_collision_mesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.append_collision_mesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.forward_kinematics", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.inverse_kinematics", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.remove_collision_mesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics", "developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics", "developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics", "developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics", "developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene", "developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene", "developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene_async", "developer/grasshopper", "examples", "examples/01_fundamentals", "examples/01_fundamentals/01_frame_and_transformation", "examples/01_fundamentals/02_coordinate_frames", "examples/02_description_models", "examples/02_description_models/01_kinematic_model", "examples/02_description_models/02_robot", "examples/02_description_models/03_robot_instances", "examples/02_description_models/03_targets", "examples/03_backends_ros", "examples/03_backends_ros/01_ros_examples", "examples/03_backends_ros/02_robot_models", "examples/03_backends_ros/03_forward_and_inverse_kinematics", "examples/03_backends_ros/04_plan_motion", "examples/03_backends_ros/05_collision_objects", "examples/03_backends_ros/06_ros_in_grasshopper", "examples/03_backends_ros/07_ros_create_urdf_ur5_with_measurement_tool", "examples/03_backends_ros/08_ros_create_moveit_package_from_custom_urdf", "examples/03_backends_ros/09_ros_create_urdf_ur10_on_tower", "examples/05_backends_pybullet", "examples/05_backends_pybullet/01_pybullet_examples", "examples/05_backends_pybullet/02_forward_and_inverse_kinematics", "examples/06_backends_kinematics", "examples/06_backends_kinematics/01_ik_and_cartesian", "examples/07_reachability_map", "examples/07_reachability_map/01_reachability_map", "examples/07_reachability_map/02_vector_generators", "examples/07_reachability_map/03_rp_2D", "getting_started", "index", "license"], "filenames": ["api.rst", "api/compas_fab.rst", "api/compas_fab.backends.rst", "api/compas_fab.blender.rst", "api/compas_fab.ghpython.rst", "api/compas_fab.rhino.rst", "api/compas_fab.robots.rst", "api/compas_fab.sensors.rst", "api/compas_fab.utilities.rst", "api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.rst", "api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.forward.rst", "api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.inverse.rst", "api/generated/compas_fab.backends.AnalyticalInverseKinematics.rst", "api/generated/compas_fab.backends.AnalyticalInverseKinematics.inverse_kinematics.rst", "api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.rst", "api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.plan_cartesian_motion.rst", "api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.smooth_configurations.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_attached_collision_mesh.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_collision_mesh.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.append_collision_mesh.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.body_from_obj.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.cache_robot.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_objects_for_collision.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_with_objects.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collisions.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_robot_self_collision.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.connect.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.convert_mesh_to_body.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.disconnect.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_geometry.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.filter_configurations_in_collision.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.forward_kinematics.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_filepath.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_planning_scene.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_robot_configuration.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_uid.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.inverse_kinematics.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_robot.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_semantics.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_ur5.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_cartesian_motion.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_motion.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.reload_from_cache.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_attached_collision_mesh.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_collision_mesh.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.reset_planning_scene.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.set_robot_configuration.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.step_simulation.rst", "api/generated/compas_fab.backends.BackendError.rst", "api/generated/compas_fab.backends.BackendFeatureNotSupportedError.rst", "api/generated/compas_fab.backends.CancellableFutureResult.rst", "api/generated/compas_fab.backends.CancellableFutureResult.cancel.rst", "api/generated/compas_fab.backends.CancellableFutureResult.result.rst", "api/generated/compas_fab.backends.CartesianMotionError.rst", "api/generated/compas_fab.backends.CollisionError.rst", "api/generated/compas_fab.backends.FutureResult.rst", "api/generated/compas_fab.backends.FutureResult.result.rst", "api/generated/compas_fab.backends.InverseKinematicsError.rst", "api/generated/compas_fab.backends.KinematicsError.rst", "api/generated/compas_fab.backends.MoveItPlanner.rst", "api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh.rst", "api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh.rst", "api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh.rst", "api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics.rst", "api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene.rst", "api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics.rst", "api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion.rst", "api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.plan_motion.rst", "api/generated/compas_fab.backends.MoveItPlanner.plan_motion_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh.rst", "api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh.rst", "api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene.rst", "api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene_async.rst", "api/generated/compas_fab.backends.OffsetWristKinematics.rst", "api/generated/compas_fab.backends.OffsetWristKinematics.forward.rst", "api/generated/compas_fab.backends.OffsetWristKinematics.inverse.rst", "api/generated/compas_fab.backends.PyBulletClient.rst", "api/generated/compas_fab.backends.PyBulletClient.add_attached_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletClient.add_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletClient.append_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletClient.body_from_obj.rst", "api/generated/compas_fab.backends.PyBulletClient.cache_robot.rst", "api/generated/compas_fab.backends.PyBulletClient.check_collision_objects_for_collision.rst", "api/generated/compas_fab.backends.PyBulletClient.check_collision_with_objects.rst", "api/generated/compas_fab.backends.PyBulletClient.check_collisions.rst", "api/generated/compas_fab.backends.PyBulletClient.check_robot_self_collision.rst", "api/generated/compas_fab.backends.PyBulletClient.connect.rst", "api/generated/compas_fab.backends.PyBulletClient.convert_mesh_to_body.rst", "api/generated/compas_fab.backends.PyBulletClient.disconnect.rst", "api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot.rst", "api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_geometry.rst", "api/generated/compas_fab.backends.PyBulletClient.filter_configurations_in_collision.rst", "api/generated/compas_fab.backends.PyBulletClient.forward_kinematics.rst", "api/generated/compas_fab.backends.PyBulletClient.get_cached_robot.rst", "api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_filepath.rst", "api/generated/compas_fab.backends.PyBulletClient.get_planning_scene.rst", "api/generated/compas_fab.backends.PyBulletClient.get_robot_configuration.rst", "api/generated/compas_fab.backends.PyBulletClient.get_uid.rst", "api/generated/compas_fab.backends.PyBulletClient.inverse_kinematics.rst", "api/generated/compas_fab.backends.PyBulletClient.load_robot.rst", "api/generated/compas_fab.backends.PyBulletClient.load_semantics.rst", "api/generated/compas_fab.backends.PyBulletClient.load_ur5.rst", "api/generated/compas_fab.backends.PyBulletClient.plan_cartesian_motion.rst", "api/generated/compas_fab.backends.PyBulletClient.plan_motion.rst", "api/generated/compas_fab.backends.PyBulletClient.reload_from_cache.rst", "api/generated/compas_fab.backends.PyBulletClient.remove_attached_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletClient.remove_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletClient.reset_planning_scene.rst", "api/generated/compas_fab.backends.PyBulletClient.set_robot_configuration.rst", "api/generated/compas_fab.backends.PyBulletClient.step_simulation.rst", "api/generated/compas_fab.backends.PyBulletError.rst", "api/generated/compas_fab.backends.PyBulletPlanner.rst", "api/generated/compas_fab.backends.PyBulletPlanner.add_attached_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletPlanner.add_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletPlanner.append_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletPlanner.forward_kinematics.rst", "api/generated/compas_fab.backends.PyBulletPlanner.get_planning_scene.rst", "api/generated/compas_fab.backends.PyBulletPlanner.inverse_kinematics.rst", "api/generated/compas_fab.backends.PyBulletPlanner.plan_cartesian_motion.rst", "api/generated/compas_fab.backends.PyBulletPlanner.plan_motion.rst", "api/generated/compas_fab.backends.PyBulletPlanner.remove_attached_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletPlanner.remove_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletPlanner.reset_planning_scene.rst", "api/generated/compas_fab.backends.RosClient.rst", "api/generated/compas_fab.backends.RosClient.add_attached_collision_mesh.rst", "api/generated/compas_fab.backends.RosClient.add_collision_mesh.rst", "api/generated/compas_fab.backends.RosClient.append_collision_mesh.rst", "api/generated/compas_fab.backends.RosClient.authenticate.rst", "api/generated/compas_fab.backends.RosClient.blocking_call_from_thread.rst", "api/generated/compas_fab.backends.RosClient.call_async_service.rst", "api/generated/compas_fab.backends.RosClient.call_in_thread.rst", "api/generated/compas_fab.backends.RosClient.call_later.rst", "api/generated/compas_fab.backends.RosClient.call_sync_service.rst", "api/generated/compas_fab.backends.RosClient.close.rst", "api/generated/compas_fab.backends.RosClient.connect.rst", "api/generated/compas_fab.backends.RosClient.delete_param.rst", "api/generated/compas_fab.backends.RosClient.emit.rst", "api/generated/compas_fab.backends.RosClient.execute_joint_trajectory.rst", "api/generated/compas_fab.backends.RosClient.follow_configurations.rst", "api/generated/compas_fab.backends.RosClient.follow_joint_trajectory.rst", "api/generated/compas_fab.backends.RosClient.forward_kinematics.rst", "api/generated/compas_fab.backends.RosClient.get_action_servers.rst", "api/generated/compas_fab.backends.RosClient.get_configuration.rst", "api/generated/compas_fab.backends.RosClient.get_message_details.rst", "api/generated/compas_fab.backends.RosClient.get_node_details.rst", "api/generated/compas_fab.backends.RosClient.get_nodes.rst", "api/generated/compas_fab.backends.RosClient.get_param.rst", "api/generated/compas_fab.backends.RosClient.get_params.rst", "api/generated/compas_fab.backends.RosClient.get_planning_scene.rst", "api/generated/compas_fab.backends.RosClient.get_service_request_callback.rst", "api/generated/compas_fab.backends.RosClient.get_service_request_details.rst", "api/generated/compas_fab.backends.RosClient.get_service_response_details.rst", "api/generated/compas_fab.backends.RosClient.get_service_type.rst", "api/generated/compas_fab.backends.RosClient.get_services.rst", "api/generated/compas_fab.backends.RosClient.get_services_for_type.rst", "api/generated/compas_fab.backends.RosClient.get_time.rst", "api/generated/compas_fab.backends.RosClient.get_topic_type.rst", "api/generated/compas_fab.backends.RosClient.get_topics.rst", "api/generated/compas_fab.backends.RosClient.get_topics_for_type.rst", "api/generated/compas_fab.backends.RosClient.inverse_kinematics.rst", "api/generated/compas_fab.backends.RosClient.load_robot.rst", "api/generated/compas_fab.backends.RosClient.off.rst", "api/generated/compas_fab.backends.RosClient.on.rst", "api/generated/compas_fab.backends.RosClient.on_ready.rst", "api/generated/compas_fab.backends.RosClient.plan_cartesian_motion.rst", "api/generated/compas_fab.backends.RosClient.plan_motion.rst", "api/generated/compas_fab.backends.RosClient.remove_attached_collision_mesh.rst", "api/generated/compas_fab.backends.RosClient.remove_collision_mesh.rst", "api/generated/compas_fab.backends.RosClient.reset_planning_scene.rst", "api/generated/compas_fab.backends.RosClient.run.rst", "api/generated/compas_fab.backends.RosClient.run_event_loop.rst", "api/generated/compas_fab.backends.RosClient.run_forever.rst", "api/generated/compas_fab.backends.RosClient.send_on_ready.rst", "api/generated/compas_fab.backends.RosClient.set_param.rst", "api/generated/compas_fab.backends.RosClient.set_status_level.rst", "api/generated/compas_fab.backends.RosClient.terminate.rst", "api/generated/compas_fab.backends.RosError.rst", "api/generated/compas_fab.backends.RosFileServerLoader.rst", "api/generated/compas_fab.backends.RosFileServerLoader.can_load_mesh.rst", "api/generated/compas_fab.backends.RosFileServerLoader.load_mesh.rst", "api/generated/compas_fab.backends.RosFileServerLoader.load_meshes.rst", "api/generated/compas_fab.backends.RosFileServerLoader.load_srdf.rst", "api/generated/compas_fab.backends.RosFileServerLoader.load_urdf.rst", "api/generated/compas_fab.backends.RosValidationError.rst", "api/generated/compas_fab.backends.SphericalWristKinematics.rst", "api/generated/compas_fab.backends.SphericalWristKinematics.forward.rst", "api/generated/compas_fab.backends.SphericalWristKinematics.inverse.rst", "api/generated/compas_fab.backends.Staubli_TX260LKinematics.rst", "api/generated/compas_fab.backends.Staubli_TX260LKinematics.forward.rst", "api/generated/compas_fab.backends.Staubli_TX260LKinematics.inverse.rst", "api/generated/compas_fab.backends.UR10Kinematics.rst", "api/generated/compas_fab.backends.UR10Kinematics.forward.rst", "api/generated/compas_fab.backends.UR10Kinematics.inverse.rst", "api/generated/compas_fab.backends.UR10eKinematics.rst", "api/generated/compas_fab.backends.UR10eKinematics.forward.rst", "api/generated/compas_fab.backends.UR10eKinematics.inverse.rst", "api/generated/compas_fab.backends.UR3Kinematics.rst", "api/generated/compas_fab.backends.UR3Kinematics.forward.rst", "api/generated/compas_fab.backends.UR3Kinematics.inverse.rst", "api/generated/compas_fab.backends.UR3eKinematics.rst", "api/generated/compas_fab.backends.UR3eKinematics.forward.rst", "api/generated/compas_fab.backends.UR3eKinematics.inverse.rst", "api/generated/compas_fab.backends.UR5Kinematics.rst", "api/generated/compas_fab.backends.UR5Kinematics.forward.rst", "api/generated/compas_fab.backends.UR5Kinematics.inverse.rst", "api/generated/compas_fab.backends.UR5eKinematics.rst", "api/generated/compas_fab.backends.UR5eKinematics.forward.rst", "api/generated/compas_fab.backends.UR5eKinematics.inverse.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.ToString.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.add.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.clear.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.copy.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.draw.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_cloud.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_frames.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.from_json.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.from_jsonstring.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.remove.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.sha256.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.to_json.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.to_jsonstring.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.traverse.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.validate_data.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.ToString.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.add.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.add_to_group.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.clear.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.clear_layer.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.compile_attributes.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.copy.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.draw.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.draw_cloud.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.draw_frames.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.from_json.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.from_jsonstring.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.get_group.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.remove.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.sha256.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.to_json.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.to_jsonstring.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.traverse.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.validate_data.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.ToString.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.copy.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.from_json.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.from_jsonstring.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.sha256.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.to_json.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.to_jsonstring.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.validate_data.rst", "api/generated/compas_fab.robots.BoundingVolume.rst", "api/generated/compas_fab.robots.BoundingVolume.ToString.rst", "api/generated/compas_fab.robots.BoundingVolume.copy.rst", "api/generated/compas_fab.robots.BoundingVolume.from_box.rst", "api/generated/compas_fab.robots.BoundingVolume.from_json.rst", "api/generated/compas_fab.robots.BoundingVolume.from_jsonstring.rst", "api/generated/compas_fab.robots.BoundingVolume.from_mesh.rst", "api/generated/compas_fab.robots.BoundingVolume.from_sphere.rst", "api/generated/compas_fab.robots.BoundingVolume.scale.rst", "api/generated/compas_fab.robots.BoundingVolume.sha256.rst", "api/generated/compas_fab.robots.BoundingVolume.to_json.rst", "api/generated/compas_fab.robots.BoundingVolume.to_jsonstring.rst", "api/generated/compas_fab.robots.BoundingVolume.transform.rst", "api/generated/compas_fab.robots.BoundingVolume.validate_data.rst", "api/generated/compas_fab.robots.CollisionMesh.rst", "api/generated/compas_fab.robots.CollisionMesh.ToString.rst", "api/generated/compas_fab.robots.CollisionMesh.copy.rst", "api/generated/compas_fab.robots.CollisionMesh.from_json.rst", "api/generated/compas_fab.robots.CollisionMesh.from_jsonstring.rst", "api/generated/compas_fab.robots.CollisionMesh.scale.rst", "api/generated/compas_fab.robots.CollisionMesh.scaled.rst", "api/generated/compas_fab.robots.CollisionMesh.sha256.rst", "api/generated/compas_fab.robots.CollisionMesh.to_json.rst", "api/generated/compas_fab.robots.CollisionMesh.to_jsonstring.rst", "api/generated/compas_fab.robots.CollisionMesh.validate_data.rst", "api/generated/compas_fab.robots.ConfigurationTarget.rst", "api/generated/compas_fab.robots.ConfigurationTarget.ToString.rst", "api/generated/compas_fab.robots.ConfigurationTarget.copy.rst", "api/generated/compas_fab.robots.ConfigurationTarget.from_json.rst", "api/generated/compas_fab.robots.ConfigurationTarget.from_jsonstring.rst", "api/generated/compas_fab.robots.ConfigurationTarget.generate_default_tolerances.rst", "api/generated/compas_fab.robots.ConfigurationTarget.scaled.rst", "api/generated/compas_fab.robots.ConfigurationTarget.sha256.rst", "api/generated/compas_fab.robots.ConfigurationTarget.to_json.rst", "api/generated/compas_fab.robots.ConfigurationTarget.to_jsonstring.rst", "api/generated/compas_fab.robots.ConfigurationTarget.validate_data.rst", "api/generated/compas_fab.robots.Constraint.rst", "api/generated/compas_fab.robots.Constraint.ToString.rst", "api/generated/compas_fab.robots.Constraint.copy.rst", "api/generated/compas_fab.robots.Constraint.from_json.rst", "api/generated/compas_fab.robots.Constraint.from_jsonstring.rst", "api/generated/compas_fab.robots.Constraint.scale.rst", "api/generated/compas_fab.robots.Constraint.scaled.rst", "api/generated/compas_fab.robots.Constraint.sha256.rst", "api/generated/compas_fab.robots.Constraint.to_json.rst", "api/generated/compas_fab.robots.Constraint.to_jsonstring.rst", "api/generated/compas_fab.robots.Constraint.transform.rst", "api/generated/compas_fab.robots.Constraint.validate_data.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.ToString.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.copy.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.from_json.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.from_jsonstring.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.scaled.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.sha256.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.to_json.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.to_jsonstring.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.validate_data.rst", "api/generated/compas_fab.robots.DeviationVectorsGenerator.rst", "api/generated/compas_fab.robots.Duration.rst", "api/generated/compas_fab.robots.Duration.ToString.rst", "api/generated/compas_fab.robots.Duration.copy.rst", "api/generated/compas_fab.robots.Duration.from_json.rst", "api/generated/compas_fab.robots.Duration.from_jsonstring.rst", "api/generated/compas_fab.robots.Duration.sha256.rst", "api/generated/compas_fab.robots.Duration.to_json.rst", "api/generated/compas_fab.robots.Duration.to_jsonstring.rst", "api/generated/compas_fab.robots.Duration.validate_data.rst", "api/generated/compas_fab.robots.FrameTarget.rst", "api/generated/compas_fab.robots.FrameTarget.ToString.rst", "api/generated/compas_fab.robots.FrameTarget.copy.rst", "api/generated/compas_fab.robots.FrameTarget.from_json.rst", "api/generated/compas_fab.robots.FrameTarget.from_jsonstring.rst", "api/generated/compas_fab.robots.FrameTarget.from_transformation.rst", "api/generated/compas_fab.robots.FrameTarget.scaled.rst", "api/generated/compas_fab.robots.FrameTarget.sha256.rst", "api/generated/compas_fab.robots.FrameTarget.to_json.rst", "api/generated/compas_fab.robots.FrameTarget.to_jsonstring.rst", "api/generated/compas_fab.robots.FrameTarget.validate_data.rst", "api/generated/compas_fab.robots.FrameWaypoints.rst", "api/generated/compas_fab.robots.FrameWaypoints.ToString.rst", "api/generated/compas_fab.robots.FrameWaypoints.copy.rst", "api/generated/compas_fab.robots.FrameWaypoints.from_json.rst", "api/generated/compas_fab.robots.FrameWaypoints.from_jsonstring.rst", "api/generated/compas_fab.robots.FrameWaypoints.from_transformations.rst", "api/generated/compas_fab.robots.FrameWaypoints.scaled.rst", "api/generated/compas_fab.robots.FrameWaypoints.sha256.rst", "api/generated/compas_fab.robots.FrameWaypoints.to_json.rst", "api/generated/compas_fab.robots.FrameWaypoints.to_jsonstring.rst", "api/generated/compas_fab.robots.FrameWaypoints.validate_data.rst", "api/generated/compas_fab.robots.Inertia.rst", "api/generated/compas_fab.robots.Inertia.calculate_inertia_tensor.rst", "api/generated/compas_fab.robots.JointConstraint.rst", "api/generated/compas_fab.robots.JointConstraint.ToString.rst", "api/generated/compas_fab.robots.JointConstraint.copy.rst", "api/generated/compas_fab.robots.JointConstraint.from_json.rst", "api/generated/compas_fab.robots.JointConstraint.from_jsonstring.rst", "api/generated/compas_fab.robots.JointConstraint.joint_constraints_from_configuration.rst", "api/generated/compas_fab.robots.JointConstraint.scale.rst", "api/generated/compas_fab.robots.JointConstraint.scaled.rst", "api/generated/compas_fab.robots.JointConstraint.sha256.rst", "api/generated/compas_fab.robots.JointConstraint.to_json.rst", "api/generated/compas_fab.robots.JointConstraint.to_jsonstring.rst", "api/generated/compas_fab.robots.JointConstraint.transform.rst", "api/generated/compas_fab.robots.JointConstraint.validate_data.rst", "api/generated/compas_fab.robots.JointTrajectory.rst", "api/generated/compas_fab.robots.JointTrajectory.ToString.rst", "api/generated/compas_fab.robots.JointTrajectory.copy.rst", "api/generated/compas_fab.robots.JointTrajectory.from_json.rst", "api/generated/compas_fab.robots.JointTrajectory.from_jsonstring.rst", "api/generated/compas_fab.robots.JointTrajectory.sha256.rst", "api/generated/compas_fab.robots.JointTrajectory.to_json.rst", "api/generated/compas_fab.robots.JointTrajectory.to_jsonstring.rst", "api/generated/compas_fab.robots.JointTrajectory.validate_data.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.ToString.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.check_joint_names.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.close_to.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.copy.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_json.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_jsonstring.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_prismatic_and_revolute_values.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_revolute_values.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.get.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.items.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.iter_differences.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.keys.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.max_difference.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.merge.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.merged.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.scale.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.scaled.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.sha256.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.to_json.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.to_jsonstring.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.validate_data.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.values.rst", "api/generated/compas_fab.robots.OrientationConstraint.rst", "api/generated/compas_fab.robots.OrientationConstraint.ToString.rst", "api/generated/compas_fab.robots.OrientationConstraint.copy.rst", "api/generated/compas_fab.robots.OrientationConstraint.from_frame.rst", "api/generated/compas_fab.robots.OrientationConstraint.from_json.rst", "api/generated/compas_fab.robots.OrientationConstraint.from_jsonstring.rst", "api/generated/compas_fab.robots.OrientationConstraint.scale.rst", "api/generated/compas_fab.robots.OrientationConstraint.scaled.rst", "api/generated/compas_fab.robots.OrientationConstraint.sha256.rst", "api/generated/compas_fab.robots.OrientationConstraint.to_json.rst", "api/generated/compas_fab.robots.OrientationConstraint.to_jsonstring.rst", "api/generated/compas_fab.robots.OrientationConstraint.transform.rst", "api/generated/compas_fab.robots.OrientationConstraint.validate_data.rst", "api/generated/compas_fab.robots.OrthonormalVectorsFromAxisGenerator.rst", "api/generated/compas_fab.robots.PlanningScene.rst", "api/generated/compas_fab.robots.PlanningScene.add_attached_collision_mesh.rst", "api/generated/compas_fab.robots.PlanningScene.add_attached_tool.rst", "api/generated/compas_fab.robots.PlanningScene.add_collision_mesh.rst", "api/generated/compas_fab.robots.PlanningScene.append_collision_mesh.rst", "api/generated/compas_fab.robots.PlanningScene.attach_collision_mesh_to_robot_end_effector.rst", "api/generated/compas_fab.robots.PlanningScene.ensure_client.rst", "api/generated/compas_fab.robots.PlanningScene.remove_attached_collision_mesh.rst", "api/generated/compas_fab.robots.PlanningScene.remove_attached_tool.rst", "api/generated/compas_fab.robots.PlanningScene.remove_collision_mesh.rst", "api/generated/compas_fab.robots.PlanningScene.reset.rst", "api/generated/compas_fab.robots.PointAxisTarget.rst", "api/generated/compas_fab.robots.PointAxisTarget.ToString.rst", "api/generated/compas_fab.robots.PointAxisTarget.copy.rst", "api/generated/compas_fab.robots.PointAxisTarget.from_json.rst", "api/generated/compas_fab.robots.PointAxisTarget.from_jsonstring.rst", "api/generated/compas_fab.robots.PointAxisTarget.scaled.rst", "api/generated/compas_fab.robots.PointAxisTarget.sha256.rst", "api/generated/compas_fab.robots.PointAxisTarget.to_json.rst", "api/generated/compas_fab.robots.PointAxisTarget.to_jsonstring.rst", "api/generated/compas_fab.robots.PointAxisTarget.validate_data.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.ToString.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.copy.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.from_json.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.from_jsonstring.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.scaled.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.sha256.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.to_json.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.to_jsonstring.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.validate_data.rst", "api/generated/compas_fab.robots.PositionConstraint.rst", "api/generated/compas_fab.robots.PositionConstraint.ToString.rst", "api/generated/compas_fab.robots.PositionConstraint.copy.rst", "api/generated/compas_fab.robots.PositionConstraint.from_box.rst", "api/generated/compas_fab.robots.PositionConstraint.from_frame.rst", "api/generated/compas_fab.robots.PositionConstraint.from_json.rst", "api/generated/compas_fab.robots.PositionConstraint.from_jsonstring.rst", "api/generated/compas_fab.robots.PositionConstraint.from_mesh.rst", "api/generated/compas_fab.robots.PositionConstraint.from_point.rst", "api/generated/compas_fab.robots.PositionConstraint.from_sphere.rst", "api/generated/compas_fab.robots.PositionConstraint.scale.rst", "api/generated/compas_fab.robots.PositionConstraint.scaled.rst", "api/generated/compas_fab.robots.PositionConstraint.sha256.rst", "api/generated/compas_fab.robots.PositionConstraint.to_json.rst", "api/generated/compas_fab.robots.PositionConstraint.to_jsonstring.rst", "api/generated/compas_fab.robots.PositionConstraint.transform.rst", "api/generated/compas_fab.robots.PositionConstraint.validate_data.rst", "api/generated/compas_fab.robots.ReachabilityMap.rst", "api/generated/compas_fab.robots.ReachabilityMap.ToString.rst", "api/generated/compas_fab.robots.ReachabilityMap.calculate.rst", "api/generated/compas_fab.robots.ReachabilityMap.copy.rst", "api/generated/compas_fab.robots.ReachabilityMap.from_json.rst", "api/generated/compas_fab.robots.ReachabilityMap.from_jsonstring.rst", "api/generated/compas_fab.robots.ReachabilityMap.reachable_frames_and_configurations_at_ik_index.rst", "api/generated/compas_fab.robots.ReachabilityMap.sha256.rst", "api/generated/compas_fab.robots.ReachabilityMap.to_json.rst", "api/generated/compas_fab.robots.ReachabilityMap.to_jsonstring.rst", "api/generated/compas_fab.robots.ReachabilityMap.validate_data.rst", "api/generated/compas_fab.robots.Robot.rst", "api/generated/compas_fab.robots.Robot.ToString.rst", "api/generated/compas_fab.robots.Robot.attach_tool.rst", "api/generated/compas_fab.robots.Robot.basic.rst", "api/generated/compas_fab.robots.Robot.copy.rst", "api/generated/compas_fab.robots.Robot.detach_tool.rst", "api/generated/compas_fab.robots.Robot.draw.rst", "api/generated/compas_fab.robots.Robot.draw_collision.rst", "api/generated/compas_fab.robots.Robot.draw_visual.rst", "api/generated/compas_fab.robots.Robot.ensure_client.rst", "api/generated/compas_fab.robots.Robot.ensure_geometry.rst", "api/generated/compas_fab.robots.Robot.ensure_semantics.rst", "api/generated/compas_fab.robots.Robot.forward_kinematics.rst", "api/generated/compas_fab.robots.Robot.from_json.rst", "api/generated/compas_fab.robots.Robot.from_jsonstring.rst", "api/generated/compas_fab.robots.Robot.from_t0cf_to_tcf.rst", "api/generated/compas_fab.robots.Robot.from_tcf_to_t0cf.rst", "api/generated/compas_fab.robots.Robot.get_RCF.rst", "api/generated/compas_fab.robots.Robot.get_attached_tool_collision_meshes.rst", "api/generated/compas_fab.robots.Robot.get_base_frame.rst", "api/generated/compas_fab.robots.Robot.get_base_link.rst", "api/generated/compas_fab.robots.Robot.get_base_link_name.rst", "api/generated/compas_fab.robots.Robot.get_configurable_joint_names.rst", "api/generated/compas_fab.robots.Robot.get_configurable_joint_types.rst", "api/generated/compas_fab.robots.Robot.get_configurable_joints.rst", "api/generated/compas_fab.robots.Robot.get_configuration_from_group_state.rst", "api/generated/compas_fab.robots.Robot.get_end_effector_frame.rst", "api/generated/compas_fab.robots.Robot.get_end_effector_link.rst", "api/generated/compas_fab.robots.Robot.get_end_effector_link_name.rst", "api/generated/compas_fab.robots.Robot.get_group_configuration.rst", "api/generated/compas_fab.robots.Robot.get_group_names_from_link_name.rst", "api/generated/compas_fab.robots.Robot.get_joint_by_name.rst", "api/generated/compas_fab.robots.Robot.get_joint_types_by_names.rst", "api/generated/compas_fab.robots.Robot.get_link_names.rst", "api/generated/compas_fab.robots.Robot.get_link_names_with_collision_geometry.rst", "api/generated/compas_fab.robots.Robot.get_position_by_joint_name.rst", "api/generated/compas_fab.robots.Robot.info.rst", "api/generated/compas_fab.robots.Robot.inverse_kinematics.rst", "api/generated/compas_fab.robots.Robot.iter_inverse_kinematics.rst", "api/generated/compas_fab.robots.Robot.merge_group_with_full_configuration.rst", "api/generated/compas_fab.robots.Robot.plan_cartesian_motion.rst", "api/generated/compas_fab.robots.Robot.plan_motion.rst", "api/generated/compas_fab.robots.Robot.random_configuration.rst", "api/generated/compas_fab.robots.Robot.scale.rst", "api/generated/compas_fab.robots.Robot.set_RCF.rst", "api/generated/compas_fab.robots.Robot.sha256.rst", "api/generated/compas_fab.robots.Robot.to_json.rst", "api/generated/compas_fab.robots.Robot.to_jsonstring.rst", "api/generated/compas_fab.robots.Robot.to_local_coordinates.rst", "api/generated/compas_fab.robots.Robot.to_world_coordinates.rst", "api/generated/compas_fab.robots.Robot.transformation_RCF_WCF.rst", "api/generated/compas_fab.robots.Robot.transformation_WCF_RCF.rst", "api/generated/compas_fab.robots.Robot.transformed_axes.rst", "api/generated/compas_fab.robots.Robot.transformed_frames.rst", "api/generated/compas_fab.robots.Robot.update.rst", "api/generated/compas_fab.robots.Robot.validate_data.rst", "api/generated/compas_fab.robots.Robot.zero_configuration.rst", "api/generated/compas_fab.robots.RobotLibrary.rst", "api/generated/compas_fab.robots.RobotLibrary.abb_irb4600_40_255.rst", "api/generated/compas_fab.robots.RobotLibrary.rfl.rst", "api/generated/compas_fab.robots.RobotLibrary.ur10e.rst", "api/generated/compas_fab.robots.RobotLibrary.ur5.rst", "api/generated/compas_fab.robots.RobotSemantics.rst", "api/generated/compas_fab.robots.RobotSemantics.ToString.rst", "api/generated/compas_fab.robots.RobotSemantics.copy.rst", "api/generated/compas_fab.robots.RobotSemantics.from_json.rst", "api/generated/compas_fab.robots.RobotSemantics.from_jsonstring.rst", "api/generated/compas_fab.robots.RobotSemantics.from_srdf_file.rst", "api/generated/compas_fab.robots.RobotSemantics.from_srdf_string.rst", "api/generated/compas_fab.robots.RobotSemantics.from_xml.rst", "api/generated/compas_fab.robots.RobotSemantics.get_all_configurable_joints.rst", "api/generated/compas_fab.robots.RobotSemantics.get_base_link_name.rst", "api/generated/compas_fab.robots.RobotSemantics.get_configurable_joint_names.rst", "api/generated/compas_fab.robots.RobotSemantics.get_configurable_joints.rst", "api/generated/compas_fab.robots.RobotSemantics.get_end_effector_link_name.rst", "api/generated/compas_fab.robots.RobotSemantics.sha256.rst", "api/generated/compas_fab.robots.RobotSemantics.to_json.rst", "api/generated/compas_fab.robots.RobotSemantics.to_jsonstring.rst", "api/generated/compas_fab.robots.RobotSemantics.validate_data.rst", "api/generated/compas_fab.robots.Target.rst", "api/generated/compas_fab.robots.Target.ToString.rst", "api/generated/compas_fab.robots.Target.copy.rst", "api/generated/compas_fab.robots.Target.from_json.rst", "api/generated/compas_fab.robots.Target.from_jsonstring.rst", "api/generated/compas_fab.robots.Target.scaled.rst", "api/generated/compas_fab.robots.Target.sha256.rst", "api/generated/compas_fab.robots.Target.to_json.rst", "api/generated/compas_fab.robots.Target.to_jsonstring.rst", "api/generated/compas_fab.robots.Target.validate_data.rst", "api/generated/compas_fab.robots.Tool.rst", "api/generated/compas_fab.robots.Tool.ToString.rst", "api/generated/compas_fab.robots.Tool.copy.rst", "api/generated/compas_fab.robots.Tool.from_json.rst", "api/generated/compas_fab.robots.Tool.from_jsonstring.rst", "api/generated/compas_fab.robots.Tool.from_t0cf_to_tcf.rst", "api/generated/compas_fab.robots.Tool.from_tcf_to_t0cf.rst", "api/generated/compas_fab.robots.Tool.from_tool_model.rst", "api/generated/compas_fab.robots.Tool.sha256.rst", "api/generated/compas_fab.robots.Tool.to_json.rst", "api/generated/compas_fab.robots.Tool.to_jsonstring.rst", "api/generated/compas_fab.robots.Tool.update_touch_links.rst", "api/generated/compas_fab.robots.Tool.validate_data.rst", "api/generated/compas_fab.robots.Trajectory.rst", "api/generated/compas_fab.robots.Trajectory.ToString.rst", "api/generated/compas_fab.robots.Trajectory.copy.rst", "api/generated/compas_fab.robots.Trajectory.from_json.rst", "api/generated/compas_fab.robots.Trajectory.from_jsonstring.rst", "api/generated/compas_fab.robots.Trajectory.sha256.rst", "api/generated/compas_fab.robots.Trajectory.to_json.rst", "api/generated/compas_fab.robots.Trajectory.to_jsonstring.rst", "api/generated/compas_fab.robots.Trajectory.validate_data.rst", "api/generated/compas_fab.robots.Waypoints.rst", "api/generated/compas_fab.robots.Waypoints.ToString.rst", "api/generated/compas_fab.robots.Waypoints.copy.rst", "api/generated/compas_fab.robots.Waypoints.from_json.rst", "api/generated/compas_fab.robots.Waypoints.from_jsonstring.rst", "api/generated/compas_fab.robots.Waypoints.scaled.rst", "api/generated/compas_fab.robots.Waypoints.sha256.rst", "api/generated/compas_fab.robots.Waypoints.to_json.rst", "api/generated/compas_fab.robots.Waypoints.to_jsonstring.rst", "api/generated/compas_fab.robots.Waypoints.validate_data.rst", "api/generated/compas_fab.robots.Wrench.rst", "api/generated/compas_fab.robots.Wrench.ToString.rst", "api/generated/compas_fab.robots.Wrench.by_samples.rst", "api/generated/compas_fab.robots.Wrench.copy.rst", "api/generated/compas_fab.robots.Wrench.from_json.rst", "api/generated/compas_fab.robots.Wrench.from_jsonstring.rst", "api/generated/compas_fab.robots.Wrench.from_list.rst", "api/generated/compas_fab.robots.Wrench.gravity_compensated.rst", "api/generated/compas_fab.robots.Wrench.sha256.rst", "api/generated/compas_fab.robots.Wrench.to_json.rst", "api/generated/compas_fab.robots.Wrench.to_jsonstring.rst", "api/generated/compas_fab.robots.Wrench.transform.rst", "api/generated/compas_fab.robots.Wrench.transformed.rst", "api/generated/compas_fab.robots.Wrench.validate_data.rst", "api/generated/compas_fab.robots.to_degrees.rst", "api/generated/compas_fab.robots.to_radians.rst", "api/generated/compas_fab.sensors.PosCon3D.rst", "api/generated/compas_fab.sensors.PosCon3D.activate_flex_mount.rst", "api/generated/compas_fab.sensors.PosCon3D.adjust_to_dark_object.rst", "api/generated/compas_fab.sensors.PosCon3D.begin.rst", "api/generated/compas_fab.sensors.PosCon3D.calculate_checksum.rst", "api/generated/compas_fab.sensors.PosCon3D.deactivate_flex_mount.rst", "api/generated/compas_fab.sensors.PosCon3D.end.rst", "api/generated/compas_fab.sensors.PosCon3D.format_command.rst", "api/generated/compas_fab.sensors.PosCon3D.get_address.rst", "api/generated/compas_fab.sensors.PosCon3D.get_live_monitor_data.rst", "api/generated/compas_fab.sensors.PosCon3D.get_measurement.rst", "api/generated/compas_fab.sensors.PosCon3D.get_payload.rst", "api/generated/compas_fab.sensors.PosCon3D.reset.rst", "api/generated/compas_fab.sensors.PosCon3D.send_command.rst", "api/generated/compas_fab.sensors.PosCon3D.set_edge_height.rst", "api/generated/compas_fab.sensors.PosCon3D.set_flex_mount.rst", "api/generated/compas_fab.sensors.PosCon3D.set_measurement_type.rst", "api/generated/compas_fab.sensors.PosCon3D.set_precision.rst", "api/generated/compas_fab.sensors.PosConCM.rst", "api/generated/compas_fab.sensors.PosConCM.activate_flex_mount.rst", "api/generated/compas_fab.sensors.PosConCM.adjust_to_dark_object.rst", "api/generated/compas_fab.sensors.PosConCM.begin.rst", "api/generated/compas_fab.sensors.PosConCM.calculate_checksum.rst", "api/generated/compas_fab.sensors.PosConCM.deactivate_flex_mount.rst", "api/generated/compas_fab.sensors.PosConCM.end.rst", "api/generated/compas_fab.sensors.PosConCM.format_command.rst", "api/generated/compas_fab.sensors.PosConCM.get_address.rst", "api/generated/compas_fab.sensors.PosConCM.get_measurement.rst", "api/generated/compas_fab.sensors.PosConCM.get_payload.rst", "api/generated/compas_fab.sensors.PosConCM.reset.rst", "api/generated/compas_fab.sensors.PosConCM.send_command.rst", "api/generated/compas_fab.sensors.PosConCM.set_flex_mount.rst", "api/generated/compas_fab.sensors.PosConCM.set_measurement_type.rst", "api/generated/compas_fab.sensors.PosConCM.set_precision.rst", "api/generated/compas_fab.sensors.PosConCM.teach_flex_mount.rst", "api/generated/compas_fab.sensors.ProtocolError.rst", "api/generated/compas_fab.sensors.SensorTimeoutError.rst", "api/generated/compas_fab.sensors.SerialSensor.rst", "api/generated/compas_fab.utilities.LazyLoader.rst", "api/generated/compas_fab.utilities.allclose.rst", "api/generated/compas_fab.utilities.arange.rst", "api/generated/compas_fab.utilities.argmax.rst", "api/generated/compas_fab.utilities.argmin.rst", "api/generated/compas_fab.utilities.argsort.rst", "api/generated/compas_fab.utilities.clamp.rst", "api/generated/compas_fab.utilities.diffs.rst", "api/generated/compas_fab.utilities.from_tcf_to_t0cf.rst", "api/generated/compas_fab.utilities.list_files_in_directory.rst", "api/generated/compas_fab.utilities.map_range.rst", "api/generated/compas_fab.utilities.range_geometric_row.rst", "api/generated/compas_fab.utilities.read_csv_to_dictionary.rst", "api/generated/compas_fab.utilities.read_data_from_pickle.rst", "api/generated/compas_fab.utilities.sign.rst", "api/generated/compas_fab.utilities.write_data_to_pickle.rst", "authors.rst", "backends.rst", "backends/pybullet.rst", "backends/ros.rst", "backends/web_x11_gui.rst", "changelog.rst", "contributing.rst", "developer/backends.rst", "developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.rst", "developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.add_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.rst", "developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.add_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.rst", "developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.append_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.BackendFeature.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.add_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.add_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.append_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.forward_kinematics.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.get_planning_scene.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.inverse_kinematics.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_cartesian_motion.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_motion.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.reset_planning_scene.rst", "developer/generated/compas_fab.backends.interfaces.ForwardKinematics.rst", "developer/generated/compas_fab.backends.interfaces.ForwardKinematics.forward_kinematics.rst", "developer/generated/compas_fab.backends.interfaces.GetPlanningScene.rst", "developer/generated/compas_fab.backends.interfaces.GetPlanningScene.get_planning_scene.rst", "developer/generated/compas_fab.backends.interfaces.InverseKinematics.rst", "developer/generated/compas_fab.backends.interfaces.InverseKinematics.inverse_kinematics.rst", "developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.rst", "developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.plan_cartesian_motion.rst", "developer/generated/compas_fab.backends.interfaces.PlanMotion.rst", "developer/generated/compas_fab.backends.interfaces.PlanMotion.plan_motion.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.append_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.forward_kinematics.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.get_planning_scene.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.inverse_kinematics.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_cartesian_motion.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_motion.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.reset_planning_scene.rst", "developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.rst", "developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.remove_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.rst", "developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.remove_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.rst", "developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.reset_planning_scene.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.add_collision_mesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.append_collision_mesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.forward_kinematics.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.inverse_kinematics.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.remove_collision_mesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene_async.rst", "developer/grasshopper.rst", "examples.rst", "examples/01_fundamentals.rst", "examples/01_fundamentals/01_frame_and_transformation.rst", "examples/01_fundamentals/02_coordinate_frames.rst", "examples/02_description_models.rst", "examples/02_description_models/01_kinematic_model.rst", "examples/02_description_models/02_robot.rst", "examples/02_description_models/03_robot_instances.rst", "examples/02_description_models/03_targets.rst", "examples/03_backends_ros.rst", "examples/03_backends_ros/01_ros_examples.rst", "examples/03_backends_ros/02_robot_models.rst", "examples/03_backends_ros/03_forward_and_inverse_kinematics.rst", "examples/03_backends_ros/04_plan_motion.rst", "examples/03_backends_ros/05_collision_objects.rst", "examples/03_backends_ros/06_ros_in_grasshopper.rst", "examples/03_backends_ros/07_ros_create_urdf_ur5_with_measurement_tool.rst", "examples/03_backends_ros/08_ros_create_moveit_package_from_custom_urdf.rst", "examples/03_backends_ros/09_ros_create_urdf_ur10_on_tower.rst", "examples/05_backends_pybullet.rst", "examples/05_backends_pybullet/01_pybullet_examples.rst", "examples/05_backends_pybullet/02_forward_and_inverse_kinematics.rst", "examples/06_backends_kinematics.rst", "examples/06_backends_kinematics/01_ik_and_cartesian.rst", "examples/07_reachability_map.rst", "examples/07_reachability_map/01_reachability_map.rst", "examples/07_reachability_map/02_vector_generators.rst", "examples/07_reachability_map/03_rp_2D.rst", "getting_started.rst", "index.rst", "license.rst"], "titles": ["API Reference", "compas_fab", "compas_fab.backends", "compas_fab.blender", "compas_fab.ghpython", "compas_fab.rhino", "compas_fab.robots", "compas_fab.sensors", "compas_fab.utilities", "ABB_IRB4600_40_255Kinematics", "ABB_IRB4600_40_255Kinematics.forward", "ABB_IRB4600_40_255Kinematics.inverse", "AnalyticalInverseKinematics", "AnalyticalInverseKinematics.inverse_kinematics", "AnalyticalPlanCartesianMotion", "AnalyticalPlanCartesianMotion.plan_cartesian_motion", "AnalyticalPlanCartesianMotion.smooth_configurations", "AnalyticalPyBulletClient", "AnalyticalPyBulletClient.add_attached_collision_mesh", "AnalyticalPyBulletClient.add_collision_mesh", "AnalyticalPyBulletClient.append_collision_mesh", "AnalyticalPyBulletClient.body_from_obj", "AnalyticalPyBulletClient.cache_robot", "AnalyticalPyBulletClient.check_collision_objects_for_collision", "AnalyticalPyBulletClient.check_collision_with_objects", "AnalyticalPyBulletClient.check_collisions", "AnalyticalPyBulletClient.check_robot_self_collision", "AnalyticalPyBulletClient.connect", "AnalyticalPyBulletClient.convert_mesh_to_body", "AnalyticalPyBulletClient.disconnect", "AnalyticalPyBulletClient.ensure_cached_robot", "AnalyticalPyBulletClient.ensure_cached_robot_geometry", "AnalyticalPyBulletClient.filter_configurations_in_collision", "AnalyticalPyBulletClient.forward_kinematics", "AnalyticalPyBulletClient.get_cached_robot", "AnalyticalPyBulletClient.get_cached_robot_filepath", "AnalyticalPyBulletClient.get_planning_scene", "AnalyticalPyBulletClient.get_robot_configuration", "AnalyticalPyBulletClient.get_uid", "AnalyticalPyBulletClient.inverse_kinematics", "AnalyticalPyBulletClient.load_robot", "AnalyticalPyBulletClient.load_semantics", "AnalyticalPyBulletClient.load_ur5", "AnalyticalPyBulletClient.plan_cartesian_motion", "AnalyticalPyBulletClient.plan_motion", "AnalyticalPyBulletClient.reload_from_cache", "AnalyticalPyBulletClient.remove_attached_collision_mesh", "AnalyticalPyBulletClient.remove_collision_mesh", "AnalyticalPyBulletClient.reset_planning_scene", "AnalyticalPyBulletClient.set_robot_configuration", "AnalyticalPyBulletClient.step_simulation", "BackendError", "BackendFeatureNotSupportedError", "CancellableFutureResult", "CancellableFutureResult.cancel", "CancellableFutureResult.result", "CartesianMotionError", "CollisionError", "FutureResult", "FutureResult.result", "InverseKinematicsError", "KinematicsError", "MoveItPlanner", "MoveItPlanner.add_attached_collision_mesh", "MoveItPlanner.add_attached_collision_mesh_async", "MoveItPlanner.add_collision_mesh", "MoveItPlanner.add_collision_mesh_async", "MoveItPlanner.append_collision_mesh", "MoveItPlanner.append_collision_mesh_async", "MoveItPlanner.forward_kinematics", "MoveItPlanner.forward_kinematics_async", "MoveItPlanner.get_planning_scene", "MoveItPlanner.get_planning_scene_async", "MoveItPlanner.inverse_kinematics", "MoveItPlanner.inverse_kinematics_async", "MoveItPlanner.plan_cartesian_motion", "MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async", "MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async", "MoveItPlanner.plan_motion", "MoveItPlanner.plan_motion_async", "MoveItPlanner.remove_attached_collision_mesh", "MoveItPlanner.remove_attached_collision_mesh_async", "MoveItPlanner.remove_collision_mesh", "MoveItPlanner.remove_collision_mesh_async", "MoveItPlanner.reset_planning_scene", "MoveItPlanner.reset_planning_scene_async", "OffsetWristKinematics", "OffsetWristKinematics.forward", "OffsetWristKinematics.inverse", "PyBulletClient", "PyBulletClient.add_attached_collision_mesh", "PyBulletClient.add_collision_mesh", "PyBulletClient.append_collision_mesh", "PyBulletClient.body_from_obj", "PyBulletClient.cache_robot", "PyBulletClient.check_collision_objects_for_collision", "PyBulletClient.check_collision_with_objects", "PyBulletClient.check_collisions", "PyBulletClient.check_robot_self_collision", "PyBulletClient.connect", "PyBulletClient.convert_mesh_to_body", "PyBulletClient.disconnect", "PyBulletClient.ensure_cached_robot", "PyBulletClient.ensure_cached_robot_geometry", "PyBulletClient.filter_configurations_in_collision", "PyBulletClient.forward_kinematics", "PyBulletClient.get_cached_robot", "PyBulletClient.get_cached_robot_filepath", "PyBulletClient.get_planning_scene", "PyBulletClient.get_robot_configuration", "PyBulletClient.get_uid", "PyBulletClient.inverse_kinematics", "PyBulletClient.load_robot", "PyBulletClient.load_semantics", "PyBulletClient.load_ur5", "PyBulletClient.plan_cartesian_motion", "PyBulletClient.plan_motion", "PyBulletClient.reload_from_cache", "PyBulletClient.remove_attached_collision_mesh", "PyBulletClient.remove_collision_mesh", "PyBulletClient.reset_planning_scene", "PyBulletClient.set_robot_configuration", "PyBulletClient.step_simulation", "PyBulletError", "PyBulletPlanner", "PyBulletPlanner.add_attached_collision_mesh", "PyBulletPlanner.add_collision_mesh", "PyBulletPlanner.append_collision_mesh", "PyBulletPlanner.forward_kinematics", "PyBulletPlanner.get_planning_scene", "PyBulletPlanner.inverse_kinematics", "PyBulletPlanner.plan_cartesian_motion", "PyBulletPlanner.plan_motion", "PyBulletPlanner.remove_attached_collision_mesh", "PyBulletPlanner.remove_collision_mesh", "PyBulletPlanner.reset_planning_scene", "RosClient", "RosClient.add_attached_collision_mesh", "RosClient.add_collision_mesh", "RosClient.append_collision_mesh", "RosClient.authenticate", "RosClient.blocking_call_from_thread", "RosClient.call_async_service", "RosClient.call_in_thread", "RosClient.call_later", "RosClient.call_sync_service", "RosClient.close", "RosClient.connect", "RosClient.delete_param", "RosClient.emit", "RosClient.execute_joint_trajectory", "RosClient.follow_configurations", "RosClient.follow_joint_trajectory", "RosClient.forward_kinematics", "RosClient.get_action_servers", "RosClient.get_configuration", "RosClient.get_message_details", "RosClient.get_node_details", "RosClient.get_nodes", "RosClient.get_param", "RosClient.get_params", "RosClient.get_planning_scene", "RosClient.get_service_request_callback", "RosClient.get_service_request_details", "RosClient.get_service_response_details", "RosClient.get_service_type", "RosClient.get_services", "RosClient.get_services_for_type", "RosClient.get_time", "RosClient.get_topic_type", "RosClient.get_topics", "RosClient.get_topics_for_type", "RosClient.inverse_kinematics", "RosClient.load_robot", "RosClient.off", "RosClient.on", "RosClient.on_ready", "RosClient.plan_cartesian_motion", "RosClient.plan_motion", "RosClient.remove_attached_collision_mesh", "RosClient.remove_collision_mesh", "RosClient.reset_planning_scene", "RosClient.run", "RosClient.run_event_loop", "RosClient.run_forever", "RosClient.send_on_ready", "RosClient.set_param", "RosClient.set_status_level", "RosClient.terminate", "RosError", "RosFileServerLoader", "RosFileServerLoader.can_load_mesh", "RosFileServerLoader.load_mesh", "RosFileServerLoader.load_meshes", "RosFileServerLoader.load_srdf", "RosFileServerLoader.load_urdf", "RosValidationError", "SphericalWristKinematics", "SphericalWristKinematics.forward", "SphericalWristKinematics.inverse", "Staubli_TX260LKinematics", "Staubli_TX260LKinematics.forward", "Staubli_TX260LKinematics.inverse", "UR10Kinematics", "UR10Kinematics.forward", "UR10Kinematics.inverse", "UR10eKinematics", "UR10eKinematics.forward", "UR10eKinematics.inverse", "UR3Kinematics", "UR3Kinematics.forward", "UR3Kinematics.inverse", "UR3eKinematics", "UR3eKinematics.forward", "UR3eKinematics.inverse", "UR5Kinematics", "UR5Kinematics.forward", "UR5Kinematics.inverse", "UR5eKinematics", "UR5eKinematics.forward", "UR5eKinematics.inverse", "ReachabilityMapObject", "ReachabilityMapObject.ToString", "ReachabilityMapObject.add", "ReachabilityMapObject.clear", "ReachabilityMapObject.copy", "ReachabilityMapObject.draw", "ReachabilityMapObject.draw_cloud", "ReachabilityMapObject.draw_frames", "ReachabilityMapObject.from_json", "ReachabilityMapObject.from_jsonstring", "ReachabilityMapObject.remove", "ReachabilityMapObject.sha256", "ReachabilityMapObject.to_json", "ReachabilityMapObject.to_jsonstring", "ReachabilityMapObject.traverse", "ReachabilityMapObject.validate_data", "ReachabilityMapObject", "ReachabilityMapObject.ToString", "ReachabilityMapObject.add", "ReachabilityMapObject.add_to_group", "ReachabilityMapObject.clear", "ReachabilityMapObject.clear_layer", "ReachabilityMapObject.compile_attributes", "ReachabilityMapObject.copy", "ReachabilityMapObject.draw", "ReachabilityMapObject.draw_cloud", "ReachabilityMapObject.draw_frames", "ReachabilityMapObject.from_json", "ReachabilityMapObject.from_jsonstring", "ReachabilityMapObject.get_group", "ReachabilityMapObject.remove", "ReachabilityMapObject.sha256", "ReachabilityMapObject.to_json", "ReachabilityMapObject.to_jsonstring", "ReachabilityMapObject.traverse", "ReachabilityMapObject.validate_data", "AttachedCollisionMesh", "AttachedCollisionMesh.ToString", "AttachedCollisionMesh.copy", "AttachedCollisionMesh.from_json", "AttachedCollisionMesh.from_jsonstring", "AttachedCollisionMesh.sha256", "AttachedCollisionMesh.to_json", "AttachedCollisionMesh.to_jsonstring", "AttachedCollisionMesh.validate_data", "BoundingVolume", "BoundingVolume.ToString", "BoundingVolume.copy", "BoundingVolume.from_box", "BoundingVolume.from_json", "BoundingVolume.from_jsonstring", "BoundingVolume.from_mesh", "BoundingVolume.from_sphere", "BoundingVolume.scale", "BoundingVolume.sha256", "BoundingVolume.to_json", "BoundingVolume.to_jsonstring", "BoundingVolume.transform", "BoundingVolume.validate_data", "CollisionMesh", "CollisionMesh.ToString", "CollisionMesh.copy", "CollisionMesh.from_json", "CollisionMesh.from_jsonstring", "CollisionMesh.scale", "CollisionMesh.scaled", "CollisionMesh.sha256", "CollisionMesh.to_json", "CollisionMesh.to_jsonstring", "CollisionMesh.validate_data", "ConfigurationTarget", "ConfigurationTarget.ToString", "ConfigurationTarget.copy", "ConfigurationTarget.from_json", "ConfigurationTarget.from_jsonstring", "ConfigurationTarget.generate_default_tolerances", "ConfigurationTarget.scaled", "ConfigurationTarget.sha256", "ConfigurationTarget.to_json", "ConfigurationTarget.to_jsonstring", "ConfigurationTarget.validate_data", "Constraint", "Constraint.ToString", "Constraint.copy", "Constraint.from_json", "Constraint.from_jsonstring", "Constraint.scale", "Constraint.scaled", "Constraint.sha256", "Constraint.to_json", "Constraint.to_jsonstring", "Constraint.transform", "Constraint.validate_data", "ConstraintSetTarget", "ConstraintSetTarget.ToString", "ConstraintSetTarget.copy", "ConstraintSetTarget.from_json", "ConstraintSetTarget.from_jsonstring", "ConstraintSetTarget.scaled", "ConstraintSetTarget.sha256", "ConstraintSetTarget.to_json", "ConstraintSetTarget.to_jsonstring", "ConstraintSetTarget.validate_data", "DeviationVectorsGenerator", "Duration", "Duration.ToString", "Duration.copy", "Duration.from_json", "Duration.from_jsonstring", "Duration.sha256", "Duration.to_json", "Duration.to_jsonstring", "Duration.validate_data", "FrameTarget", "FrameTarget.ToString", "FrameTarget.copy", "FrameTarget.from_json", "FrameTarget.from_jsonstring", "FrameTarget.from_transformation", "FrameTarget.scaled", "FrameTarget.sha256", "FrameTarget.to_json", "FrameTarget.to_jsonstring", "FrameTarget.validate_data", "FrameWaypoints", "FrameWaypoints.ToString", "FrameWaypoints.copy", "FrameWaypoints.from_json", "FrameWaypoints.from_jsonstring", "FrameWaypoints.from_transformations", "FrameWaypoints.scaled", "FrameWaypoints.sha256", "FrameWaypoints.to_json", "FrameWaypoints.to_jsonstring", "FrameWaypoints.validate_data", "Inertia", "Inertia.calculate_inertia_tensor", "JointConstraint", "JointConstraint.ToString", "JointConstraint.copy", "JointConstraint.from_json", "JointConstraint.from_jsonstring", "JointConstraint.joint_constraints_from_configuration", "JointConstraint.scale", "JointConstraint.scaled", "JointConstraint.sha256", "JointConstraint.to_json", "JointConstraint.to_jsonstring", "JointConstraint.transform", "JointConstraint.validate_data", "JointTrajectory", "JointTrajectory.ToString", "JointTrajectory.copy", "JointTrajectory.from_json", "JointTrajectory.from_jsonstring", "JointTrajectory.sha256", "JointTrajectory.to_json", "JointTrajectory.to_jsonstring", "JointTrajectory.validate_data", "JointTrajectoryPoint", "JointTrajectoryPoint.ToString", "JointTrajectoryPoint.check_joint_names", "JointTrajectoryPoint.close_to", "JointTrajectoryPoint.copy", "JointTrajectoryPoint.from_json", "JointTrajectoryPoint.from_jsonstring", "JointTrajectoryPoint.from_prismatic_and_revolute_values", "JointTrajectoryPoint.from_revolute_values", "JointTrajectoryPoint.get", "JointTrajectoryPoint.items", "JointTrajectoryPoint.iter_differences", "JointTrajectoryPoint.keys", "JointTrajectoryPoint.max_difference", "JointTrajectoryPoint.merge", "JointTrajectoryPoint.merged", "JointTrajectoryPoint.scale", "JointTrajectoryPoint.scaled", "JointTrajectoryPoint.sha256", "JointTrajectoryPoint.to_json", "JointTrajectoryPoint.to_jsonstring", "JointTrajectoryPoint.validate_data", "JointTrajectoryPoint.values", "OrientationConstraint", "OrientationConstraint.ToString", "OrientationConstraint.copy", "OrientationConstraint.from_frame", "OrientationConstraint.from_json", "OrientationConstraint.from_jsonstring", "OrientationConstraint.scale", "OrientationConstraint.scaled", "OrientationConstraint.sha256", "OrientationConstraint.to_json", "OrientationConstraint.to_jsonstring", "OrientationConstraint.transform", "OrientationConstraint.validate_data", "OrthonormalVectorsFromAxisGenerator", "PlanningScene", "PlanningScene.add_attached_collision_mesh", "PlanningScene.add_attached_tool", "PlanningScene.add_collision_mesh", "PlanningScene.append_collision_mesh", "PlanningScene.attach_collision_mesh_to_robot_end_effector", "PlanningScene.ensure_client", "PlanningScene.remove_attached_collision_mesh", "PlanningScene.remove_attached_tool", "PlanningScene.remove_collision_mesh", "PlanningScene.reset", "PointAxisTarget", "PointAxisTarget.ToString", "PointAxisTarget.copy", "PointAxisTarget.from_json", "PointAxisTarget.from_jsonstring", "PointAxisTarget.scaled", "PointAxisTarget.sha256", "PointAxisTarget.to_json", "PointAxisTarget.to_jsonstring", "PointAxisTarget.validate_data", "PointAxisWaypoints", "PointAxisWaypoints.ToString", "PointAxisWaypoints.copy", "PointAxisWaypoints.from_json", "PointAxisWaypoints.from_jsonstring", "PointAxisWaypoints.scaled", "PointAxisWaypoints.sha256", "PointAxisWaypoints.to_json", "PointAxisWaypoints.to_jsonstring", "PointAxisWaypoints.validate_data", "PositionConstraint", "PositionConstraint.ToString", "PositionConstraint.copy", "PositionConstraint.from_box", "PositionConstraint.from_frame", "PositionConstraint.from_json", "PositionConstraint.from_jsonstring", "PositionConstraint.from_mesh", "PositionConstraint.from_point", "PositionConstraint.from_sphere", "PositionConstraint.scale", "PositionConstraint.scaled", "PositionConstraint.sha256", "PositionConstraint.to_json", "PositionConstraint.to_jsonstring", "PositionConstraint.transform", "PositionConstraint.validate_data", "ReachabilityMap", "ReachabilityMap.ToString", "ReachabilityMap.calculate", "ReachabilityMap.copy", "ReachabilityMap.from_json", "ReachabilityMap.from_jsonstring", "ReachabilityMap.reachable_frames_and_configurations_at_ik_index", "ReachabilityMap.sha256", "ReachabilityMap.to_json", "ReachabilityMap.to_jsonstring", "ReachabilityMap.validate_data", "Robot", "Robot.ToString", "Robot.attach_tool", "Robot.basic", "Robot.copy", "Robot.detach_tool", "Robot.draw", "Robot.draw_collision", "Robot.draw_visual", "Robot.ensure_client", "Robot.ensure_geometry", "Robot.ensure_semantics", "Robot.forward_kinematics", "Robot.from_json", "Robot.from_jsonstring", "Robot.from_t0cf_to_tcf", "Robot.from_tcf_to_t0cf", "Robot.get_RCF", "Robot.get_attached_tool_collision_meshes", "Robot.get_base_frame", "Robot.get_base_link", "Robot.get_base_link_name", "Robot.get_configurable_joint_names", "Robot.get_configurable_joint_types", "Robot.get_configurable_joints", "Robot.get_configuration_from_group_state", "Robot.get_end_effector_frame", "Robot.get_end_effector_link", "Robot.get_end_effector_link_name", "Robot.get_group_configuration", "Robot.get_group_names_from_link_name", "Robot.get_joint_by_name", "Robot.get_joint_types_by_names", "Robot.get_link_names", "Robot.get_link_names_with_collision_geometry", "Robot.get_position_by_joint_name", "Robot.info", "Robot.inverse_kinematics", "Robot.iter_inverse_kinematics", "Robot.merge_group_with_full_configuration", "Robot.plan_cartesian_motion", "Robot.plan_motion", "Robot.random_configuration", "Robot.scale", "Robot.set_RCF", "Robot.sha256", "Robot.to_json", "Robot.to_jsonstring", "Robot.to_local_coordinates", "Robot.to_world_coordinates", "Robot.transformation_RCF_WCF", "Robot.transformation_WCF_RCF", "Robot.transformed_axes", "Robot.transformed_frames", "Robot.update", "Robot.validate_data", "Robot.zero_configuration", "RobotLibrary", "RobotLibrary.abb_irb4600_40_255", "RobotLibrary.rfl", "RobotLibrary.ur10e", "RobotLibrary.ur5", "RobotSemantics", "RobotSemantics.ToString", "RobotSemantics.copy", "RobotSemantics.from_json", "RobotSemantics.from_jsonstring", "RobotSemantics.from_srdf_file", "RobotSemantics.from_srdf_string", "RobotSemantics.from_xml", "RobotSemantics.get_all_configurable_joints", "RobotSemantics.get_base_link_name", "RobotSemantics.get_configurable_joint_names", "RobotSemantics.get_configurable_joints", "RobotSemantics.get_end_effector_link_name", "RobotSemantics.sha256", "RobotSemantics.to_json", "RobotSemantics.to_jsonstring", "RobotSemantics.validate_data", "Target", "Target.ToString", "Target.copy", "Target.from_json", "Target.from_jsonstring", "Target.scaled", "Target.sha256", "Target.to_json", "Target.to_jsonstring", "Target.validate_data", "Tool", "Tool.ToString", "Tool.copy", "Tool.from_json", "Tool.from_jsonstring", "Tool.from_t0cf_to_tcf", "Tool.from_tcf_to_t0cf", "Tool.from_tool_model", "Tool.sha256", "Tool.to_json", "Tool.to_jsonstring", "Tool.update_touch_links", "Tool.validate_data", "Trajectory", "Trajectory.ToString", "Trajectory.copy", "Trajectory.from_json", "Trajectory.from_jsonstring", "Trajectory.sha256", "Trajectory.to_json", "Trajectory.to_jsonstring", "Trajectory.validate_data", "Waypoints", "Waypoints.ToString", "Waypoints.copy", "Waypoints.from_json", "Waypoints.from_jsonstring", "Waypoints.scaled", "Waypoints.sha256", "Waypoints.to_json", "Waypoints.to_jsonstring", "Waypoints.validate_data", "Wrench", "Wrench.ToString", "Wrench.by_samples", "Wrench.copy", "Wrench.from_json", "Wrench.from_jsonstring", "Wrench.from_list", "Wrench.gravity_compensated", "Wrench.sha256", "Wrench.to_json", "Wrench.to_jsonstring", "Wrench.transform", "Wrench.transformed", "Wrench.validate_data", "to_degrees", "to_radians", "PosCon3D", "PosCon3D.activate_flex_mount", "PosCon3D.adjust_to_dark_object", "PosCon3D.begin", "PosCon3D.calculate_checksum", "PosCon3D.deactivate_flex_mount", "PosCon3D.end", "PosCon3D.format_command", "PosCon3D.get_address", "PosCon3D.get_live_monitor_data", "PosCon3D.get_measurement", "PosCon3D.get_payload", "PosCon3D.reset", "PosCon3D.send_command", "PosCon3D.set_edge_height", "PosCon3D.set_flex_mount", "PosCon3D.set_measurement_type", "PosCon3D.set_precision", "PosConCM", "PosConCM.activate_flex_mount", "PosConCM.adjust_to_dark_object", "PosConCM.begin", "PosConCM.calculate_checksum", "PosConCM.deactivate_flex_mount", "PosConCM.end", "PosConCM.format_command", "PosConCM.get_address", "PosConCM.get_measurement", "PosConCM.get_payload", "PosConCM.reset", "PosConCM.send_command", "PosConCM.set_flex_mount", "PosConCM.set_measurement_type", "PosConCM.set_precision", "PosConCM.teach_flex_mount", "ProtocolError", "SensorTimeoutError", "SerialSensor", "LazyLoader", "allclose", "arange", "argmax", "argmin", "argsort", "clamp", "diffs", "from_tcf_to_t0cf", "list_files_in_directory", "map_range", "range_geometric_row", "read_csv_to_dictionary", "read_data_from_pickle", "sign", "write_data_to_pickle", "Citing", "Working with backends", "PyBullet", "ROS", "Access backend GUI", "CHANGELOG", "Contributor\u2019s Guide", "Backend clients", "AddAttachedCollisionMesh", "AddAttachedCollisionMesh.add_attached_collision_mesh", "AddCollisionMesh", "AddCollisionMesh.add_collision_mesh", "AppendCollisionMesh", "AppendCollisionMesh.append_collision_mesh", "BackendFeature", "ClientInterface", "ClientInterface.add_attached_collision_mesh", "ClientInterface.add_collision_mesh", "ClientInterface.append_collision_mesh", "ClientInterface.forward_kinematics", "ClientInterface.get_planning_scene", "ClientInterface.inverse_kinematics", "ClientInterface.plan_cartesian_motion", "ClientInterface.plan_motion", "ClientInterface.remove_attached_collision_mesh", "ClientInterface.remove_collision_mesh", "ClientInterface.reset_planning_scene", "ForwardKinematics", "ForwardKinematics.forward_kinematics", "GetPlanningScene", "GetPlanningScene.get_planning_scene", "InverseKinematics", "InverseKinematics.inverse_kinematics", "PlanCartesianMotion", "PlanCartesianMotion.plan_cartesian_motion", "PlanMotion", "PlanMotion.plan_motion", "PlannerInterface", "PlannerInterface.add_attached_collision_mesh", "PlannerInterface.add_collision_mesh", "PlannerInterface.append_collision_mesh", "PlannerInterface.forward_kinematics", "PlannerInterface.get_planning_scene", "PlannerInterface.inverse_kinematics", "PlannerInterface.plan_cartesian_motion", "PlannerInterface.plan_motion", "PlannerInterface.remove_attached_collision_mesh", "PlannerInterface.remove_collision_mesh", "PlannerInterface.reset_planning_scene", "RemoveAttachedCollisionMesh", "RemoveAttachedCollisionMesh.remove_attached_collision_mesh", "RemoveCollisionMesh", "RemoveCollisionMesh.remove_collision_mesh", "ResetPlanningScene", "ResetPlanningScene.reset_planning_scene", "PyBulletAddAttachedCollisionMesh", "PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh", "PyBulletAddCollisionMesh", "PyBulletAddCollisionMesh.add_collision_mesh", "PyBulletAppendCollisionMesh", "PyBulletAppendCollisionMesh.append_collision_mesh", "PyBulletForwardKinematics", "PyBulletForwardKinematics.forward_kinematics", "PyBulletInverseKinematics", "PyBulletInverseKinematics.inverse_kinematics", "PyBulletRemoveAttachedCollisionMesh", "PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh", "PyBulletRemoveCollisionMesh", "PyBulletRemoveCollisionMesh.remove_collision_mesh", "MoveItAddAttachedCollisionMesh", "MoveItAddAttachedCollisionMesh.add_attached_collision_mesh", "MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async", "MoveItAddCollisionMesh", "MoveItAddCollisionMesh.add_collision_mesh", "MoveItAddCollisionMesh.add_collision_mesh_async", "MoveItAppendCollisionMesh", "MoveItAppendCollisionMesh.append_collision_mesh", "MoveItAppendCollisionMesh.append_collision_mesh_async", "MoveItForwardKinematics", "MoveItForwardKinematics.forward_kinematics", "MoveItForwardKinematics.forward_kinematics_async", "MoveItInverseKinematics", "MoveItInverseKinematics.inverse_kinematics", "MoveItInverseKinematics.inverse_kinematics_async", "MoveItPlanCartesianMotion", "MoveItPlanCartesianMotion.plan_cartesian_motion", "MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async", "MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async", "MoveItPlanMotion", "MoveItPlanMotion.plan_motion", "MoveItPlanMotion.plan_motion_async", "MoveItPlanningScene", "MoveItPlanningScene.get_planning_scene", "MoveItPlanningScene.get_planning_scene_async", "MoveItRemoveAttachedCollisionMesh", "MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh", "MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async", "MoveItRemoveCollisionMesh", "MoveItRemoveCollisionMesh.remove_collision_mesh", "MoveItRemoveCollisionMesh.remove_collision_mesh_async", "MoveItResetPlanningScene", "MoveItResetPlanningScene.reset_planning_scene", "MoveItResetPlanningScene.reset_planning_scene_async", "Grasshopper components", "Examples", "Fundamentals", "Frame and Transformation", "Coordinate frames", "Description Models", "Kinematic model", "Robot models", "RobotModel Packages", "Targets and Waypoints", "Backends: ROS", "Using ROS", "Robots in ROS", "Forward and inverse kinematics", "Plan motion", "Planning scene and collision objects", "ROS in Grasshopper", "Creating a URDF with an UR5 robot and a custom end-effector", "Creating a MoveIt! package from the custom created URDF", "Creating a URDF of the UR10 on two linear axes", "Backends: PyBullet", "Using PyBullet", "Forward and inverse kinematics", "Backends: Analytical Kinematics", "Analytical kinematics", "Planning: Reachability Map", "Introduction to the Reachability Map", "Vector Generators", "Reachability Map 2D", "Getting started", "Robotic Fabrication for COMPAS", "License"], "terms": {"thi": [0, 1, 2, 6, 12, 13, 15, 28, 40, 50, 73, 75, 77, 78, 100, 112, 122, 125, 129, 131, 132, 135, 148, 150, 152, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 184, 186, 191, 222, 225, 228, 229, 230, 231, 235, 236, 238, 244, 247, 248, 249, 251, 255, 256, 258, 259, 260, 261, 265, 267, 268, 270, 271, 279, 281, 282, 283, 284, 290, 292, 293, 294, 295, 296, 297, 301, 302, 303, 304, 305, 306, 308, 313, 314, 315, 316, 317, 318, 319, 323, 326, 327, 328, 329, 333, 335, 336, 337, 338, 344, 346, 347, 348, 349, 355, 356, 358, 359, 360, 361, 362, 365, 370, 371, 372, 373, 374, 375, 379, 381, 384, 385, 386, 394, 395, 397, 401, 403, 404, 405, 406, 407, 408, 410, 415, 428, 429, 430, 431, 432, 437, 439, 440, 441, 442, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 459, 464, 466, 467, 468, 469, 470, 475, 476, 477, 478, 480, 481, 489, 490, 491, 513, 514, 516, 517, 531, 538, 539, 540, 541, 542, 554, 556, 557, 558, 559, 564, 566, 567, 568, 569, 577, 579, 580, 581, 582, 586, 587, 588, 589, 590, 591, 596, 598, 600, 601, 602, 610, 613, 616, 619, 621, 622, 626, 631, 634, 637, 639, 643, 651, 654, 655, 656, 660, 668, 669, 670, 671, 672, 674, 681, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 723, 749, 752, 754, 756, 770, 771, 776, 777, 779, 782, 783, 784, 785, 787, 788, 789, 791, 792, 794, 796, 797, 798, 799, 801], "manual": [0, 791], "detail": [0, 2, 156, 163, 164, 291, 314, 438, 488, 513, 514, 516, 517, 546, 549, 670, 671, 673, 674, 777], "function": [0, 1, 6, 32, 104, 141, 143, 144, 150, 152, 174, 175, 176, 296, 297, 467, 622, 629, 630, 646, 652, 653, 654, 655, 656, 660, 662, 669, 670, 672, 781, 783, 784, 788, 792, 794, 796, 797, 799], "modul": [0, 1, 651, 669, 672, 800], "object": [0, 21, 23, 24, 26, 28, 40, 41, 57, 58, 63, 65, 67, 86, 93, 95, 96, 98, 100, 112, 113, 125, 126, 127, 133, 190, 197, 221, 222, 223, 225, 229, 230, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 246, 247, 248, 249, 253, 254, 256, 257, 258, 259, 260, 261, 263, 264, 265, 267, 270, 271, 276, 277, 279, 281, 282, 283, 284, 288, 289, 290, 292, 293, 294, 295, 299, 300, 301, 303, 305, 306, 310, 311, 313, 315, 316, 317, 318, 321, 322, 323, 324, 326, 327, 328, 329, 331, 332, 333, 335, 336, 337, 338, 342, 343, 344, 346, 347, 348, 349, 353, 354, 355, 356, 359, 361, 362, 367, 368, 370, 372, 373, 374, 375, 377, 378, 379, 381, 384, 385, 386, 399, 400, 401, 404, 407, 408, 412, 413, 415, 416, 417, 418, 424, 426, 429, 430, 431, 432, 435, 436, 437, 439, 440, 441, 442, 445, 446, 447, 449, 453, 454, 461, 462, 464, 466, 468, 469, 470, 473, 474, 475, 476, 477, 480, 489, 490, 522, 523, 531, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 545, 552, 553, 554, 556, 557, 558, 559, 562, 563, 564, 566, 567, 568, 569, 574, 575, 577, 579, 580, 581, 582, 584, 585, 586, 587, 588, 589, 590, 591, 594, 595, 596, 598, 601, 602, 604, 606, 607, 610, 631, 650, 664, 666, 672, 676, 678, 680, 681, 682, 704, 723, 725, 727, 733, 737, 740, 743, 770, 771, 772, 777, 779, 780, 796, 800], "includ": [0, 21, 93, 173, 314, 371, 395, 465, 513, 514, 587, 671, 672, 673, 674, 777, 787, 789, 794, 796, 799, 801], "compa": [0, 1, 4, 5, 6, 13, 28, 40, 73, 100, 112, 125, 130, 173, 192, 193, 223, 225, 227, 229, 230, 231, 232, 235, 239, 243, 244, 246, 248, 249, 251, 252, 255, 259, 260, 261, 262, 266, 269, 270, 271, 272, 273, 275, 278, 280, 282, 283, 284, 287, 293, 294, 295, 298, 305, 306, 309, 316, 317, 318, 320, 324, 327, 328, 329, 330, 334, 336, 337, 338, 339, 341, 345, 347, 348, 349, 350, 352, 361, 362, 366, 373, 374, 375, 376, 384, 385, 386, 391, 398, 403, 406, 407, 408, 411, 414, 416, 428, 430, 431, 432, 434, 438, 440, 441, 442, 444, 448, 451, 452, 453, 454, 455, 456, 457, 460, 463, 465, 467, 468, 469, 470, 472, 476, 480, 488, 489, 490, 491, 492, 493, 495, 502, 513, 514, 521, 524, 525, 526, 527, 528, 529, 540, 541, 542, 551, 557, 558, 559, 561, 565, 567, 568, 569, 570, 571, 573, 580, 581, 582, 583, 587, 589, 590, 591, 593, 597, 601, 602, 604, 605, 667, 668, 669, 670, 671, 672, 674, 699, 723, 731, 749, 770, 773, 774, 776, 777, 778, 779, 783, 784, 785, 786, 789, 791, 792, 794, 796, 797, 798, 799], "fab": [0, 6, 667, 668, 669, 670, 671, 672, 674, 777, 778, 783, 786, 792, 799, 800], "describ": [0, 266, 325, 371, 465, 476, 659, 773, 774, 776, 779, 783, 784, 785, 786, 788, 792], "what": [0, 787, 788], "thei": [0, 6, 13, 297, 465, 587, 651, 671, 672, 674, 770, 777, 778, 779, 781, 787, 788, 789, 794], "ar": [0, 1, 4, 5, 6, 13, 15, 23, 32, 49, 58, 76, 95, 104, 121, 173, 222, 227, 238, 246, 258, 267, 281, 292, 296, 297, 303, 315, 326, 335, 340, 346, 351, 359, 363, 372, 380, 381, 383, 391, 396, 397, 403, 404, 406, 416, 428, 429, 433, 438, 439, 443, 449, 465, 466, 476, 477, 488, 513, 514, 516, 517, 533, 538, 539, 546, 549, 555, 556, 566, 579, 587, 588, 598, 651, 652, 658, 668, 670, 671, 672, 673, 674, 681, 753, 770, 771, 773, 776, 777, 778, 779, 781, 782, 783, 784, 785, 787, 788, 789, 791, 792, 794, 796, 797, 798, 799], "do": [0, 314, 671, 672, 773, 777, 788, 796, 801], "To": [0, 148, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 186, 513, 670, 672, 674, 704, 774, 785, 787, 788, 789, 799], "learn": [0, 669], "how": [0, 324, 516, 668, 673, 773, 774, 776, 777, 783, 786, 788], "us": [0, 1, 6, 12, 13, 15, 21, 22, 28, 30, 31, 32, 34, 35, 38, 40, 41, 42, 45, 49, 73, 75, 78, 89, 93, 94, 100, 102, 103, 104, 106, 107, 110, 112, 113, 114, 117, 121, 125, 126, 127, 128, 130, 136, 190, 191, 192, 222, 227, 232, 235, 236, 238, 246, 252, 255, 256, 258, 262, 265, 267, 274, 275, 278, 279, 280, 281, 287, 290, 291, 292, 296, 298, 301, 303, 308, 309, 313, 315, 320, 323, 325, 326, 330, 333, 334, 335, 339, 340, 341, 344, 345, 346, 350, 351, 352, 355, 356, 359, 363, 364, 365, 366, 370, 372, 376, 379, 381, 398, 401, 403, 404, 406, 410, 411, 414, 415, 421, 428, 429, 434, 437, 438, 439, 444, 447, 449, 459, 460, 463, 464, 466, 472, 475, 476, 477, 483, 484, 488, 491, 492, 513, 514, 516, 517, 521, 528, 529, 531, 532, 533, 534, 535, 536, 537, 538, 539, 551, 554, 555, 556, 561, 564, 566, 573, 577, 579, 583, 586, 587, 588, 593, 596, 598, 605, 610, 613, 616, 619, 621, 626, 629, 630, 631, 634, 637, 639, 643, 645, 646, 650, 651, 654, 655, 656, 663, 667, 668, 669, 670, 671, 672, 673, 674, 695, 699, 701, 704, 723, 725, 727, 729, 731, 749, 752, 756, 770, 771, 773, 774, 777, 778, 779, 780, 782, 783, 784, 785, 786, 787, 788, 789, 790, 792, 794, 796, 797, 798, 799, 800, 801], "see": [0, 40, 112, 291, 314, 334, 438, 465, 516, 517, 546, 549, 604, 670, 671, 673, 776, 779, 781, 787, 788, 789, 791, 794, 796, 798, 799], "exampl": [0, 40, 89, 112, 136, 173, 232, 252, 257, 262, 269, 272, 273, 275, 280, 287, 296, 298, 309, 314, 320, 324, 325, 330, 341, 352, 356, 358, 366, 376, 383, 391, 393, 398, 403, 406, 411, 416, 418, 420, 421, 422, 424, 426, 434, 444, 448, 451, 452, 455, 457, 460, 472, 478, 479, 488, 491, 492, 496, 497, 498, 499, 500, 503, 504, 509, 510, 513, 514, 516, 517, 521, 524, 525, 532, 533, 543, 551, 561, 565, 570, 571, 573, 583, 593, 597, 599, 603, 604, 605, 608, 609, 613, 631, 650, 651, 669, 670, 672, 673, 674, 772, 773, 776, 777, 779, 780, 782, 783, 784, 786, 787, 788, 791, 792, 794, 795, 797, 799, 800], "work": [0, 12, 13, 15, 75, 78, 89, 516, 517, 672, 673, 752, 756, 774, 781, 782, 787, 788, 789, 791, 800], "backend": [0, 1, 6, 9, 12, 14, 17, 23, 24, 25, 26, 51, 52, 53, 56, 57, 58, 60, 61, 62, 71, 73, 76, 86, 89, 95, 96, 97, 98, 123, 124, 128, 130, 136, 189, 190, 196, 197, 200, 203, 206, 209, 212, 215, 218, 291, 314, 417, 476, 488, 513, 514, 516, 517, 534, 535, 536, 537, 538, 555, 587, 669, 670, 672, 673, 675, 677, 679, 681, 682, 694, 696, 698, 699, 700, 702, 704, 716, 718, 720, 722, 724, 726, 728, 729, 730, 731, 732, 734, 736, 739, 742, 745, 748, 749, 751, 753, 755, 758, 759, 761, 764, 767, 771, 777, 779, 781, 782, 783, 784, 785, 791, 792, 794, 796, 799, 800], "compas_fab": [0, 9, 12, 13, 14, 15, 17, 22, 23, 24, 25, 26, 30, 31, 32, 34, 35, 37, 41, 42, 45, 49, 51, 52, 53, 56, 57, 58, 60, 61, 62, 63, 65, 67, 69, 71, 73, 75, 76, 78, 86, 89, 94, 95, 96, 97, 98, 102, 103, 104, 106, 107, 109, 113, 114, 117, 121, 123, 124, 125, 126, 127, 128, 130, 133, 136, 150, 152, 189, 190, 196, 197, 200, 203, 206, 209, 212, 215, 218, 221, 237, 257, 266, 269, 272, 273, 280, 291, 296, 302, 314, 324, 325, 334, 340, 345, 351, 356, 358, 371, 380, 403, 416, 417, 418, 420, 421, 422, 428, 438, 448, 457, 465, 467, 476, 478, 488, 491, 492, 494, 513, 514, 516, 517, 533, 534, 535, 536, 537, 538, 543, 555, 565, 570, 571, 578, 587, 597, 611, 612, 613, 631, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 669, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 716, 718, 720, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 736, 737, 739, 740, 742, 743, 745, 746, 748, 749, 751, 752, 753, 755, 756, 758, 759, 761, 764, 767, 770, 774, 777, 778, 779, 781, 782, 783, 784, 785, 791, 792, 794, 796, 797, 798, 799, 800], "robot": [0, 9, 12, 13, 15, 22, 24, 25, 26, 30, 31, 32, 34, 35, 37, 38, 39, 40, 41, 42, 43, 45, 49, 63, 65, 67, 69, 73, 75, 76, 78, 80, 94, 96, 97, 98, 102, 103, 104, 106, 107, 109, 110, 112, 113, 114, 117, 121, 125, 126, 127, 128, 130, 133, 150, 152, 173, 190, 194, 195, 200, 203, 206, 209, 212, 215, 218, 221, 228, 237, 247, 257, 266, 269, 272, 273, 280, 291, 296, 302, 314, 324, 325, 334, 339, 340, 345, 350, 351, 356, 358, 363, 371, 380, 403, 406, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 428, 438, 448, 452, 456, 457, 465, 467, 533, 534, 535, 536, 537, 538, 543, 546, 555, 565, 570, 571, 578, 587, 597, 611, 612, 659, 667, 668, 669, 670, 672, 674, 676, 678, 680, 695, 697, 699, 701, 703, 717, 722, 723, 725, 727, 728, 729, 730, 731, 732, 733, 736, 737, 740, 743, 745, 746, 748, 749, 752, 753, 755, 756, 761, 762, 772, 773, 775, 776, 779, 780, 783, 784, 785, 786, 789, 791, 792, 794, 797, 798], "cad": [0, 4, 5, 668, 771, 777, 781, 800], "integr": [0, 2, 7, 50, 122, 668, 672, 674, 774, 776, 786], "blender": [0, 1, 672, 771, 777, 800], "ghpython": [0, 1, 221, 770, 800], "rhino": [0, 1, 222, 237, 238, 243, 246, 247, 250, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 672, 770, 771, 777, 796, 798, 800], "util": [0, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 672, 800], "sensor": [0, 1, 604, 613, 614, 615, 616, 619, 621, 622, 623, 625, 626, 630, 631, 632, 633, 634, 637, 639, 640, 642, 643, 646, 648, 649, 650, 672, 800], "librari": [1, 669, 670, 672, 771, 774, 800], "provid": [1, 4, 5, 150, 152, 334, 613, 631, 668, 669, 670, 672, 674, 704, 773, 776, 777, 778, 797, 800, 801], "tool": [1, 15, 75, 291, 334, 339, 345, 350, 406, 419, 425, 428, 438, 452, 476, 478, 481, 488, 491, 492, 494, 513, 514, 516, 587, 659, 668, 670, 672, 673, 701, 751, 752, 772, 779, 785, 787, 788, 794, 796, 800], "plan": [1, 2, 13, 15, 49, 65, 67, 71, 73, 75, 77, 78, 82, 84, 121, 126, 127, 128, 130, 134, 291, 314, 334, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 438, 476, 478, 481, 488, 491, 492, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 509, 511, 513, 514, 515, 516, 517, 518, 524, 525, 526, 527, 528, 529, 530, 538, 547, 548, 549, 550, 555, 578, 587, 669, 672, 678, 680, 682, 696, 697, 699, 700, 701, 702, 703, 704, 719, 720, 721, 724, 725, 726, 727, 729, 731, 734, 735, 739, 740, 742, 743, 749, 752, 754, 756, 758, 759, 764, 765, 767, 768, 771, 774, 779, 780, 794, 796, 800], "execut": [1, 2, 6, 54, 78, 142, 150, 152, 175, 176, 626, 643, 672, 674, 756, 771, 781, 784, 785, 800], "fabric": [1, 667, 672, 774, 778], "process": [1, 672, 774, 781, 787, 791, 796, 799, 800], "framework": [1, 2, 476, 667, 668, 670, 773, 774, 776, 781, 800], "special": [1, 777, 788], "focu": 1, "enabl": [1, 190, 428, 668, 670, 777], "its": [1, 21, 22, 24, 26, 28, 40, 42, 58, 93, 94, 96, 98, 100, 112, 114, 125, 126, 127, 222, 233, 234, 238, 253, 254, 258, 263, 264, 267, 276, 277, 281, 288, 289, 292, 299, 300, 303, 310, 311, 315, 321, 322, 326, 331, 332, 335, 342, 343, 346, 353, 354, 359, 367, 368, 372, 377, 378, 381, 399, 400, 404, 412, 413, 429, 435, 436, 439, 445, 446, 449, 461, 462, 466, 473, 474, 476, 477, 513, 514, 522, 523, 539, 552, 553, 556, 562, 563, 566, 574, 575, 579, 584, 585, 588, 594, 595, 597, 598, 606, 607, 613, 631, 669, 672, 674, 723, 725, 727, 755, 773, 774, 777, 779, 781, 787, 788, 789, 796], "usag": [1, 513, 671, 672, 673], "from": [1, 4, 5, 6, 13, 21, 27, 28, 29, 32, 40, 49, 73, 80, 82, 89, 93, 99, 100, 101, 104, 112, 121, 130, 133, 134, 141, 146, 148, 159, 160, 173, 174, 186, 190, 192, 193, 194, 195, 227, 228, 229, 230, 231, 232, 235, 246, 247, 248, 249, 251, 252, 255, 260, 261, 262, 269, 270, 271, 272, 273, 275, 283, 284, 287, 291, 294, 295, 296, 298, 305, 306, 309, 317, 318, 320, 324, 328, 329, 330, 334, 337, 338, 339, 341, 345, 348, 349, 350, 352, 358, 361, 362, 366, 374, 375, 376, 380, 385, 386, 387, 388, 391, 398, 403, 406, 407, 408, 411, 424, 425, 426, 428, 431, 432, 434, 438, 441, 442, 444, 448, 451, 452, 453, 454, 455, 456, 457, 460, 465, 469, 470, 472, 476, 479, 489, 490, 501, 513, 514, 521, 524, 525, 526, 527, 533, 538, 541, 542, 543, 551, 558, 559, 561, 568, 569, 573, 581, 582, 583, 590, 591, 593, 597, 599, 601, 602, 603, 604, 605, 613, 619, 631, 637, 650, 664, 670, 671, 672, 673, 674, 717, 719, 731, 732, 733, 734, 735, 749, 755, 761, 762, 764, 765, 770, 771, 773, 774, 775, 776, 778, 779, 780, 781, 783, 784, 785, 786, 787, 789, 791, 792, 794, 795, 796, 798, 799, 800, 801], "within": [1, 51, 358, 380, 383, 403, 448, 652, 653, 657, 661, 670, 672, 674, 770, 791, 799, 800], "environ": [1, 4, 5, 671, 673, 771, 777, 781, 796, 800], "The": [1, 6, 12, 13, 15, 22, 32, 34, 35, 37, 38, 40, 41, 45, 49, 50, 69, 73, 75, 78, 94, 104, 106, 107, 109, 110, 112, 113, 117, 121, 122, 125, 126, 128, 130, 136, 141, 143, 190, 193, 223, 224, 225, 226, 227, 229, 230, 231, 233, 234, 235, 236, 237, 239, 240, 241, 243, 244, 245, 246, 247, 248, 249, 250, 251, 253, 254, 255, 256, 257, 259, 260, 261, 263, 264, 265, 266, 270, 271, 276, 277, 278, 279, 280, 282, 283, 284, 288, 289, 290, 291, 293, 294, 295, 296, 297, 299, 300, 301, 305, 306, 310, 311, 313, 314, 316, 317, 318, 321, 322, 323, 324, 327, 328, 329, 331, 332, 333, 334, 336, 337, 338, 339, 340, 342, 343, 344, 345, 347, 348, 349, 350, 351, 353, 354, 355, 356, 358, 361, 362, 363, 367, 368, 370, 371, 373, 374, 375, 377, 378, 379, 380, 383, 384, 385, 386, 391, 393, 394, 395, 399, 400, 401, 403, 406, 407, 408, 412, 413, 415, 416, 417, 418, 420, 421, 422, 424, 426, 428, 430, 431, 432, 433, 435, 436, 437, 438, 440, 441, 442, 443, 445, 446, 447, 448, 451, 452, 453, 454, 455, 456, 457, 461, 462, 464, 465, 467, 468, 469, 470, 473, 474, 475, 476, 478, 480, 481, 488, 489, 490, 491, 492, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 513, 514, 515, 516, 517, 518, 519, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 533, 534, 535, 536, 537, 538, 540, 541, 542, 543, 547, 548, 549, 550, 552, 553, 554, 555, 557, 558, 559, 560, 562, 563, 564, 565, 567, 568, 569, 574, 575, 577, 580, 581, 582, 584, 585, 586, 587, 589, 590, 591, 592, 594, 595, 596, 599, 600, 601, 602, 603, 604, 606, 607, 608, 609, 610, 613, 614, 623, 626, 630, 631, 632, 640, 643, 646, 652, 653, 654, 655, 656, 660, 662, 663, 664, 666, 670, 671, 672, 673, 674, 681, 695, 699, 701, 703, 723, 725, 729, 731, 746, 749, 752, 756, 770, 773, 774, 776, 777, 778, 779, 781, 782, 783, 784, 785, 786, 787, 788, 789, 791, 792, 794, 796, 797, 798, 799, 800, 801], "core": [1, 516, 517, 672], "featur": [1, 52, 129, 131, 132, 135, 614, 618, 628, 632, 636, 644, 647, 671, 672, 675, 677, 679, 681, 694, 696, 698, 699, 700, 702, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 718, 720, 786], "locat": [1, 770, 774, 777, 778, 781, 788, 796, 797], "implement": [1, 2, 62, 124, 143, 184, 488, 513, 514, 516, 517, 520, 555, 672, 673, 675, 677, 679, 681, 694, 696, 698, 700, 702, 716, 718, 720], "motion": [1, 15, 75, 76, 77, 78, 79, 291, 314, 428, 438, 516, 517, 555, 578, 587, 669, 672, 674, 700, 701, 702, 703, 751, 752, 753, 754, 756, 757, 771, 776, 779, 780, 785, 788, 800], "main": [1, 13, 49, 73, 75, 78, 121, 128, 130, 188, 224, 226, 241, 245, 422, 476, 478, 481, 488, 491, 492, 493, 495, 496, 497, 498, 499, 500, 502, 503, 504, 509, 511, 513, 514, 516, 517, 518, 524, 525, 526, 527, 528, 529, 530, 538, 547, 548, 549, 550, 670, 673, 729, 731, 749, 752, 756, 788], "class": [1, 2, 4, 5, 9, 12, 13, 14, 17, 53, 58, 62, 73, 75, 78, 86, 89, 124, 130, 136, 190, 197, 200, 203, 206, 209, 212, 215, 218, 221, 222, 237, 238, 257, 258, 266, 267, 280, 281, 291, 292, 302, 303, 314, 315, 324, 325, 326, 334, 335, 339, 345, 346, 350, 356, 358, 359, 363, 371, 372, 380, 381, 403, 404, 406, 416, 417, 422, 428, 429, 438, 439, 448, 449, 465, 466, 476, 477, 488, 533, 538, 539, 555, 556, 565, 566, 578, 579, 587, 588, 597, 598, 613, 621, 631, 639, 650, 651, 672, 674, 675, 677, 679, 681, 682, 694, 696, 698, 700, 702, 704, 716, 718, 720, 722, 724, 726, 728, 730, 731, 732, 734, 736, 739, 742, 745, 748, 749, 751, 752, 755, 756, 758, 761, 764, 767, 773, 774, 776, 777, 779, 783, 792], "path": [1, 13, 15, 21, 40, 41, 56, 75, 78, 93, 112, 113, 229, 233, 248, 253, 260, 263, 270, 276, 283, 288, 291, 294, 299, 305, 310, 314, 317, 321, 328, 331, 334, 337, 342, 348, 353, 361, 367, 374, 377, 385, 399, 407, 412, 428, 431, 435, 441, 445, 453, 461, 469, 473, 489, 516, 517, 522, 541, 543, 552, 558, 562, 568, 574, 581, 584, 590, 594, 601, 606, 660, 663, 664, 666, 701, 703, 751, 752, 755, 756, 770, 777, 780, 784, 785, 788, 789, 794, 796, 798, 799], "scene": [1, 40, 65, 67, 71, 82, 84, 112, 126, 127, 134, 221, 223, 237, 239, 242, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 476, 672, 678, 680, 682, 696, 697, 704, 719, 720, 721, 724, 725, 726, 727, 734, 735, 739, 740, 742, 743, 758, 759, 764, 765, 767, 768, 771, 777, 780, 800], "target": [1, 78, 79, 130, 291, 296, 297, 314, 319, 334, 339, 340, 345, 350, 351, 358, 363, 406, 428, 433, 438, 443, 452, 476, 517, 587, 592, 672, 703, 731, 755, 756, 757, 771, 774, 775, 783, 784, 792, 794, 800], "waypoint": [1, 15, 43, 75, 76, 77, 291, 314, 345, 350, 351, 438, 443, 516, 517, 672, 701, 752, 753, 754, 771, 775, 784, 794, 800], "constraint": [1, 50, 73, 75, 78, 122, 314, 358, 363, 364, 365, 369, 403, 406, 409, 410, 448, 451, 452, 455, 456, 457, 459, 516, 517, 555, 672, 749, 752, 756, 779, 784, 796], "built": [1, 533, 672, 770, 774, 787, 796, 799, 800], "unit": [1, 75, 291, 296, 297, 334, 340, 345, 351, 356, 363, 428, 438, 452, 456, 516, 668, 752], "convers": [1, 222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 672], "ro": [1, 71, 73, 76, 136, 142, 144, 145, 146, 147, 148, 150, 152, 154, 156, 158, 159, 160, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 176, 185, 186, 189, 190, 193, 194, 195, 196, 516, 517, 668, 672, 736, 739, 742, 745, 748, 749, 751, 753, 755, 758, 759, 761, 764, 767, 771, 774, 775, 776, 778, 779, 783, 784, 785, 787, 788, 789, 796, 799, 800], "pybullet": [1, 17, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 38, 40, 41, 42, 45, 57, 89, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 110, 112, 113, 114, 117, 123, 124, 668, 672, 722, 724, 726, 728, 730, 732, 734, 771, 792, 800], "analyt": [1, 9, 17, 200, 203, 206, 209, 212, 215, 218, 465, 467, 513, 514, 672, 771, 796, 800], "kinemat": [1, 12, 13, 17, 32, 60, 61, 69, 73, 75, 104, 128, 130, 465, 467, 476, 488, 509, 513, 514, 555, 587, 672, 674, 694, 695, 698, 699, 728, 729, 730, 731, 745, 746, 748, 749, 752, 771, 775, 780, 784, 788, 789, 790, 796, 800], "long": [1, 53, 141, 513, 654, 655, 656, 672, 781], "run": [1, 53, 78, 176, 184, 668, 669, 670, 671, 672, 673, 756, 771, 777, 782, 783, 784, 785, 787, 789, 791, 800], "task": [1, 152, 428, 438, 587, 670, 672, 673, 779], "except": [1, 22, 34, 35, 51, 52, 55, 56, 57, 59, 60, 61, 73, 94, 106, 107, 123, 141, 145, 150, 152, 189, 196, 314, 423, 485, 486, 487, 491, 492, 648, 649, 672, 749], "interfac": [1, 4, 5, 7, 12, 62, 89, 124, 136, 476, 613, 631, 650, 668, 670, 671, 672, 675, 677, 679, 681, 682, 694, 696, 698, 700, 702, 704, 716, 718, 720, 777, 788, 791, 800], "follow": [1, 6, 13, 15, 49, 69, 73, 75, 78, 121, 125, 126, 127, 128, 130, 133, 152, 488, 516, 517, 538, 667, 670, 671, 672, 674, 701, 723, 725, 727, 729, 731, 733, 746, 749, 752, 756, 774, 776, 777, 778, 781, 782, 783, 784, 785, 786, 787, 788, 789, 791, 794, 796, 798, 799, 801], "differ": [1, 73, 78, 130, 173, 314, 363, 391, 393, 488, 513, 514, 555, 587, 613, 631, 658, 668, 670, 672, 731, 749, 756, 771, 776, 781, 787, 788, 789, 798], "packag": [2, 6, 7, 8, 40, 112, 173, 190, 191, 667, 670, 672, 674, 771, 775, 777, 780, 786, 787, 789, 799, 800], "contain": [2, 6, 7, 8, 13, 15, 63, 65, 67, 69, 73, 75, 78, 125, 126, 127, 128, 130, 133, 142, 145, 162, 193, 194, 195, 229, 230, 237, 248, 249, 260, 261, 266, 270, 271, 283, 284, 294, 295, 305, 306, 317, 318, 328, 329, 337, 338, 348, 349, 361, 362, 374, 375, 385, 386, 407, 408, 431, 432, 441, 442, 453, 454, 469, 470, 488, 489, 490, 513, 514, 516, 517, 533, 534, 535, 536, 537, 538, 541, 542, 558, 559, 568, 569, 581, 582, 590, 591, 601, 602, 626, 643, 664, 669, 670, 671, 672, 673, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 737, 740, 743, 746, 749, 752, 756, 778, 779, 785, 787, 788, 789], "simul": [2, 6, 50, 122, 669, 674], "interact": [2, 771, 782], "moveit": [2, 62, 70, 74, 76, 77, 79, 136, 150, 152, 671, 672, 747, 750, 753, 754, 757, 771, 778, 779, 780, 782, 783, 784, 785, 789, 800], "pure": 2, "python": [2, 669, 672, 673, 770, 771, 781, 791, 799, 800], "For": [2, 13, 21, 40, 93, 112, 136, 228, 247, 334, 428, 516, 604, 654, 655, 656, 668, 670, 671, 674, 777, 779, 787, 789, 794, 796, 797, 798, 799], "about": [2, 324, 403, 406, 512, 673, 777], "new": [2, 28, 100, 250, 395, 670, 672, 674, 770, 787, 788, 789, 791, 794], "check": [2, 13, 21, 22, 23, 24, 25, 26, 28, 30, 31, 32, 40, 42, 93, 94, 95, 96, 97, 98, 100, 102, 103, 104, 112, 114, 125, 126, 127, 136, 485, 486, 487, 488, 513, 514, 516, 517, 518, 617, 635, 668, 670, 672, 673, 723, 725, 727, 773, 787, 788, 789, 794, 796, 798, 799], "client": [2, 12, 17, 89, 136, 140, 173, 184, 190, 417, 418, 420, 421, 422, 423, 424, 426, 476, 485, 488, 513, 516, 517, 534, 535, 536, 537, 538, 669, 672, 673, 676, 678, 680, 681, 682, 695, 697, 699, 701, 703, 704, 717, 719, 721, 781, 782, 783, 784, 785, 791, 792, 794, 796, 800], "document": [2, 516, 668, 670, 672, 674, 785, 786, 799, 801], "In": [4, 5, 334, 345, 428, 516, 668, 670, 672, 776, 777, 779, 784, 785, 787, 794, 796, 797, 798], "assist": [4, 5, 777, 780], "visual": [4, 5, 49, 121, 476, 484, 530, 533, 565, 668, 669, 672, 771, 775, 786, 787, 789, 795, 797, 798], "datastructur": [4, 5, 28, 100, 192, 193, 231, 232, 235, 251, 252, 255, 262, 266, 272, 275, 280, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 455, 460, 472, 521, 551, 561, 565, 573, 583, 593, 605, 777, 785, 791], "model": [4, 5, 6, 22, 34, 35, 38, 40, 45, 69, 73, 94, 106, 107, 110, 112, 117, 173, 190, 194, 195, 221, 237, 257, 296, 340, 351, 418, 476, 478, 479, 486, 488, 507, 533, 534, 535, 536, 537, 538, 543, 546, 549, 560, 565, 592, 669, 670, 672, 746, 749, 771, 774, 778, 780, 783, 787, 789, 796, 800], "wai": [4, 5, 668, 670, 673, 771, 773, 777, 781, 782, 783, 799], "maintain": [4, 5, 674, 777, 796], "data": [4, 5, 193, 223, 225, 229, 230, 232, 233, 234, 236, 239, 244, 248, 249, 252, 253, 254, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 270, 271, 275, 276, 277, 279, 280, 282, 283, 284, 287, 288, 289, 290, 293, 294, 295, 298, 299, 300, 301, 302, 305, 306, 309, 310, 311, 313, 316, 317, 318, 320, 321, 322, 323, 325, 327, 328, 329, 330, 331, 332, 333, 336, 337, 338, 341, 342, 343, 344, 347, 348, 349, 352, 353, 354, 355, 356, 361, 362, 366, 367, 368, 370, 371, 373, 374, 375, 376, 377, 378, 379, 380, 384, 385, 386, 398, 399, 400, 401, 407, 408, 411, 412, 413, 415, 430, 431, 432, 434, 435, 436, 437, 440, 441, 442, 444, 445, 446, 447, 453, 454, 460, 461, 462, 464, 465, 468, 469, 470, 472, 473, 474, 475, 476, 480, 489, 490, 521, 522, 523, 531, 538, 540, 541, 542, 551, 552, 553, 554, 555, 557, 558, 559, 561, 562, 563, 564, 565, 567, 568, 569, 573, 574, 575, 577, 578, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 595, 596, 597, 599, 601, 602, 605, 606, 607, 610, 613, 620, 626, 631, 638, 643, 664, 666, 672, 777, 778, 781, 796, 798], "separ": [4, 5, 176, 597, 663, 672, 777, 791], "specif": [4, 5, 157, 173, 314, 471, 488, 513, 514, 516, 517, 628, 644, 647, 674, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 770, 774, 777, 779, 796, 798, 799], "while": [4, 5, 668, 669, 674, 777, 781, 785, 787, 791], "leverag": [4, 5, 777], "nativ": [4, 5, 76, 233, 234, 253, 254, 263, 264, 276, 277, 288, 289, 299, 300, 310, 311, 321, 322, 331, 332, 342, 343, 353, 354, 367, 368, 377, 378, 399, 400, 412, 413, 435, 436, 445, 446, 461, 462, 473, 474, 522, 523, 552, 553, 562, 563, 574, 575, 584, 585, 594, 595, 606, 607, 753, 777], "perform": [4, 5, 50, 78, 122, 314, 661, 674, 756, 777, 779, 787], "exchang": 6, "inform": [6, 41, 113, 380, 476, 512, 516, 538, 672, 772, 776, 780], "system": [6, 69, 128, 190, 240, 246, 247, 387, 488, 524, 525, 526, 527, 668, 671, 673, 695, 729, 746, 770, 773, 774, 778, 781, 783, 787, 791, 792, 800], "most": [6, 479, 670, 777, 779, 787], "commonli": [6, 779], "meter": [6, 291, 296, 297, 334, 340, 345, 351, 356, 380, 387, 597, 604, 787, 789], "radian": [6, 291, 296, 297, 324, 334, 345, 358, 363, 380, 387, 388, 403, 406, 416, 517, 611, 612, 784, 796, 797, 798], "help": [6, 673, 776, 788], "convert": [6, 28, 76, 100, 222, 233, 234, 238, 253, 254, 258, 263, 264, 267, 276, 277, 281, 288, 289, 292, 299, 300, 303, 310, 311, 315, 321, 322, 325, 326, 331, 332, 335, 342, 343, 346, 353, 354, 359, 367, 368, 372, 377, 378, 381, 399, 400, 404, 412, 413, 429, 435, 436, 439, 445, 446, 449, 461, 462, 466, 473, 474, 477, 491, 492, 522, 523, 539, 552, 553, 556, 562, 563, 566, 570, 571, 574, 575, 579, 584, 585, 588, 594, 595, 598, 606, 607, 611, 612, 659, 672, 753, 778], "one": [6, 13, 78, 150, 152, 250, 266, 302, 324, 363, 403, 406, 421, 428, 513, 514, 515, 517, 538, 587, 613, 621, 626, 631, 639, 643, 662, 670, 672, 673, 674, 756, 774, 781, 787, 788, 794, 797, 799], "other": [6, 69, 128, 222, 238, 258, 267, 281, 292, 297, 302, 303, 315, 326, 335, 346, 358, 359, 372, 381, 383, 391, 393, 394, 395, 403, 404, 406, 429, 439, 448, 449, 451, 452, 455, 456, 457, 466, 477, 488, 514, 539, 556, 566, 579, 588, 598, 662, 668, 672, 695, 699, 729, 746, 773, 781, 785, 791, 801], "common": [7, 421, 670, 674, 773, 779], "variou": [7, 672, 673, 674, 773, 776], "vendor": 7, "set": [8, 13, 27, 49, 73, 78, 89, 99, 121, 186, 296, 314, 356, 419, 423, 428, 467, 476, 485, 487, 492, 498, 499, 500, 538, 623, 625, 628, 640, 642, 644, 647, 668, 670, 671, 672, 749, 756, 777, 787, 788, 794, 796, 798, 799], "sourc": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 669, 670, 672, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 778, 787, 788, 789, 796, 799, 800], "base": [9, 12, 14, 17, 51, 52, 53, 56, 57, 58, 60, 61, 62, 69, 73, 75, 78, 86, 89, 123, 124, 136, 189, 190, 196, 197, 200, 203, 206, 209, 212, 215, 218, 221, 237, 257, 266, 280, 291, 296, 302, 314, 324, 325, 334, 345, 356, 358, 371, 380, 403, 416, 417, 428, 438, 448, 465, 476, 479, 495, 496, 497, 514, 533, 538, 543, 544, 545, 547, 555, 565, 578, 587, 597, 613, 631, 648, 649, 650, 651, 669, 670, 671, 672, 675, 677, 679, 681, 682, 694, 696, 698, 700, 702, 704, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, 736, 739, 742, 745, 746, 748, 749, 751, 752, 755, 756, 758, 761, 764, 767, 773, 774, 779, 781, 783, 787, 788, 789, 800], "sphericalwristkinemat": [9, 200], "ik": [9, 12, 13, 60, 74, 200, 203, 206, 209, 212, 215, 218, 228, 247, 465, 471, 513, 514, 672, 750, 794, 796], "solver": [9, 12, 13, 60, 61, 130, 200, 203, 206, 209, 212, 215, 218, 465, 467, 488, 513, 514, 672, 731, 788, 794, 796], "abb": [9, 534, 535, 670, 773, 777, 778], "irb4600": [9, 534, 670], "40": [9, 534, 670, 778, 797, 798], "255": [9, 670], "inherit": [9, 17, 53, 62, 89, 124, 136, 200, 203, 206, 209, 212, 215, 218, 221, 237, 257, 266, 280, 291, 302, 314, 325, 334, 345, 358, 371, 380, 403, 428, 438, 448, 465, 476, 538, 555, 565, 578, 587, 597, 672, 674], "method": [9, 12, 14, 17, 18, 19, 20, 28, 33, 36, 39, 43, 44, 46, 47, 48, 50, 53, 54, 55, 58, 59, 62, 86, 89, 90, 91, 92, 100, 105, 108, 111, 115, 116, 118, 119, 120, 122, 124, 129, 131, 132, 135, 136, 137, 138, 139, 150, 153, 161, 172, 177, 178, 179, 180, 181, 190, 197, 200, 203, 206, 209, 212, 215, 218, 221, 222, 224, 226, 237, 238, 241, 245, 257, 258, 266, 267, 280, 281, 291, 292, 302, 303, 314, 315, 325, 326, 334, 335, 345, 346, 356, 358, 359, 371, 372, 380, 381, 403, 404, 417, 428, 429, 438, 439, 448, 449, 465, 466, 476, 477, 488, 513, 514, 533, 538, 539, 555, 556, 565, 566, 578, 579, 587, 588, 597, 598, 613, 616, 619, 626, 631, 634, 637, 643, 672, 674, 675, 677, 679, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 696, 698, 700, 702, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, 736, 739, 742, 745, 748, 751, 755, 758, 761, 764, 767, 773, 791, 796], "joint_valu": [10, 87, 198, 201, 204, 207, 210, 213, 216, 219, 291, 380, 383, 391, 517, 672, 784, 794], "frame_rcf": [11, 88, 199, 202, 205, 208, 211, 214, 217, 220, 524, 525, 672, 774], "inversekinemat": [12, 672, 674, 730, 748, 800], "callabl": [12, 141, 143, 144, 150, 152, 162, 174, 175, 176, 674, 722, 724, 726, 728, 730, 732, 734, 736, 739, 742, 745, 748, 751, 755, 758, 761, 764, 767, 770], "calcul": [12, 13, 15, 21, 49, 69, 73, 75, 78, 93, 121, 128, 130, 227, 246, 324, 371, 391, 465, 488, 513, 514, 516, 517, 528, 529, 672, 674, 695, 699, 701, 703, 728, 729, 730, 731, 745, 746, 748, 749, 751, 752, 756, 783, 789, 792, 794, 796, 798], "": [12, 13, 15, 22, 28, 34, 35, 37, 38, 45, 49, 69, 73, 75, 78, 89, 94, 100, 106, 107, 109, 110, 117, 121, 128, 130, 136, 140, 173, 236, 256, 257, 265, 279, 290, 291, 301, 313, 314, 323, 333, 334, 339, 344, 345, 350, 355, 363, 370, 379, 383, 391, 393, 401, 403, 406, 415, 418, 419, 420, 421, 422, 423, 425, 428, 437, 438, 447, 452, 456, 464, 467, 475, 476, 478, 479, 483, 484, 486, 488, 491, 492, 495, 496, 497, 500, 501, 502, 503, 504, 505, 513, 514, 515, 516, 517, 524, 525, 526, 527, 528, 529, 530, 531, 554, 564, 565, 570, 571, 577, 586, 596, 604, 610, 613, 622, 626, 631, 643, 652, 653, 654, 655, 656, 659, 667, 668, 670, 672, 675, 677, 679, 694, 695, 696, 698, 699, 700, 701, 702, 703, 716, 718, 720, 728, 729, 730, 731, 745, 746, 748, 749, 752, 756, 774, 776, 777, 779, 781, 783, 785, 787, 789, 792, 796, 800], "invers": [12, 13, 17, 32, 69, 73, 104, 128, 130, 465, 467, 513, 514, 672, 674, 698, 699, 729, 730, 731, 746, 748, 749, 771, 780, 790, 793, 796, 800], "given": [12, 13, 21, 25, 28, 49, 73, 93, 97, 100, 121, 125, 126, 130, 140, 141, 143, 144, 191, 192, 193, 228, 247, 250, 291, 314, 334, 406, 428, 488, 507, 508, 511, 513, 515, 653, 699, 723, 725, 730, 731, 748, 749, 797], "frame": [12, 13, 28, 69, 73, 100, 125, 128, 130, 227, 228, 246, 247, 269, 273, 280, 334, 339, 340, 345, 350, 351, 356, 403, 406, 428, 438, 451, 452, 465, 467, 471, 478, 488, 491, 492, 493, 495, 502, 513, 514, 516, 517, 520, 524, 525, 529, 565, 570, 571, 587, 604, 659, 672, 674, 695, 699, 723, 729, 730, 731, 746, 748, 749, 771, 772, 776, 779, 783, 784, 785, 787, 788, 789, 792, 794, 795, 796, 798, 800], "paramet": [12, 13, 15, 21, 22, 24, 25, 26, 27, 28, 32, 34, 35, 37, 38, 40, 41, 42, 45, 49, 63, 65, 67, 69, 71, 73, 75, 78, 80, 82, 84, 89, 93, 94, 96, 97, 98, 99, 100, 104, 106, 107, 109, 110, 112, 113, 114, 117, 121, 125, 126, 127, 128, 130, 133, 134, 136, 148, 150, 152, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 186, 190, 191, 192, 193, 194, 195, 221, 223, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 239, 240, 243, 244, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 305, 306, 308, 309, 310, 311, 313, 316, 317, 318, 320, 321, 322, 323, 324, 325, 327, 328, 329, 330, 331, 332, 333, 334, 336, 337, 338, 339, 340, 341, 342, 343, 344, 347, 348, 349, 350, 351, 352, 353, 354, 355, 358, 361, 362, 363, 364, 365, 366, 367, 368, 370, 371, 373, 374, 375, 376, 377, 378, 379, 380, 383, 384, 385, 386, 387, 388, 391, 393, 394, 395, 396, 397, 398, 399, 400, 401, 403, 406, 407, 408, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 424, 426, 430, 431, 432, 433, 434, 435, 436, 437, 440, 441, 442, 443, 444, 445, 446, 447, 448, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 467, 468, 469, 470, 472, 473, 474, 475, 476, 478, 479, 480, 481, 488, 489, 490, 491, 492, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 513, 514, 515, 516, 517, 518, 519, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 534, 535, 536, 537, 538, 540, 541, 542, 543, 547, 548, 549, 550, 551, 552, 553, 554, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 570, 571, 573, 574, 575, 577, 580, 581, 582, 583, 584, 585, 586, 589, 590, 591, 592, 593, 594, 595, 596, 599, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 626, 627, 629, 630, 643, 645, 646, 659, 660, 663, 664, 665, 666, 672, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 735, 737, 740, 743, 746, 749, 752, 756, 759, 762, 765, 768, 781, 787, 789, 794], "clientinterfac": [12, 89, 136, 417, 476, 672, 674, 681, 800], "option": [12, 13, 15, 21, 28, 39, 42, 43, 49, 63, 65, 67, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 93, 100, 114, 121, 125, 126, 127, 128, 130, 133, 134, 173, 190, 193, 194, 195, 221, 225, 227, 228, 232, 233, 234, 235, 237, 243, 244, 246, 247, 252, 253, 254, 255, 257, 259, 262, 263, 264, 275, 276, 277, 280, 282, 287, 288, 289, 291, 293, 298, 299, 300, 302, 309, 310, 311, 314, 316, 320, 321, 322, 327, 330, 331, 332, 334, 336, 339, 341, 342, 343, 345, 347, 350, 352, 353, 354, 358, 366, 367, 368, 371, 373, 376, 377, 378, 380, 384, 387, 388, 398, 399, 400, 403, 406, 411, 412, 413, 418, 420, 421, 422, 428, 430, 434, 435, 436, 438, 440, 444, 445, 446, 448, 451, 452, 460, 461, 462, 467, 468, 472, 473, 474, 478, 479, 480, 481, 488, 491, 492, 493, 495, 496, 497, 498, 499, 500, 502, 503, 504, 509, 511, 513, 514, 516, 517, 518, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 534, 535, 536, 537, 538, 540, 547, 548, 549, 550, 551, 552, 553, 555, 557, 561, 562, 563, 567, 573, 574, 575, 580, 583, 584, 585, 587, 589, 593, 594, 595, 605, 606, 607, 626, 643, 660, 663, 668, 670, 671, 672, 674, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 735, 737, 740, 743, 746, 747, 749, 750, 752, 753, 754, 756, 757, 759, 762, 765, 768, 783, 784, 785, 787, 788, 789, 792, 794, 796, 798], "commun": [12, 76, 189, 476, 613, 616, 619, 631, 634, 637, 650, 670, 753, 781], "str": [12, 13, 15, 21, 28, 35, 40, 41, 49, 69, 73, 75, 78, 80, 82, 89, 93, 100, 107, 112, 113, 121, 128, 130, 133, 134, 136, 140, 165, 169, 173, 174, 175, 190, 191, 192, 193, 194, 195, 227, 229, 230, 232, 233, 234, 237, 240, 243, 246, 248, 249, 250, 252, 253, 254, 257, 260, 261, 262, 263, 264, 270, 271, 275, 276, 277, 280, 283, 284, 287, 288, 289, 291, 294, 295, 298, 299, 300, 305, 306, 309, 310, 311, 314, 317, 318, 320, 321, 322, 328, 329, 330, 331, 332, 334, 337, 338, 339, 341, 342, 343, 345, 348, 349, 350, 352, 353, 354, 358, 361, 362, 366, 367, 368, 371, 374, 375, 376, 377, 378, 385, 386, 387, 388, 398, 399, 400, 403, 406, 407, 408, 411, 412, 413, 422, 424, 426, 428, 431, 432, 434, 435, 436, 438, 441, 442, 444, 445, 446, 448, 451, 452, 453, 454, 455, 456, 457, 460, 461, 462, 469, 470, 472, 473, 474, 476, 478, 479, 481, 488, 489, 490, 491, 492, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 513, 514, 515, 516, 517, 518, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 538, 541, 542, 543, 547, 548, 549, 550, 551, 552, 553, 555, 558, 559, 561, 562, 563, 565, 568, 569, 573, 574, 575, 581, 582, 583, 584, 585, 587, 590, 591, 593, 594, 595, 601, 602, 605, 606, 607, 660, 663, 664, 666, 695, 699, 701, 703, 717, 719, 729, 731, 733, 735, 746, 749, 752, 756, 762, 765, 783], "note": [12, 13, 15, 28, 40, 69, 75, 78, 100, 112, 136, 140, 148, 150, 152, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 186, 266, 302, 356, 363, 394, 395, 403, 406, 428, 465, 488, 498, 499, 500, 516, 517, 518, 555, 587, 604, 616, 619, 621, 622, 630, 634, 637, 639, 646, 654, 655, 656, 667, 671, 699, 746, 752, 756, 779, 788, 791, 792, 798, 799], "onli": [12, 13, 15, 21, 93, 130, 173, 190, 228, 235, 247, 255, 297, 314, 325, 363, 396, 397, 403, 406, 428, 452, 465, 467, 476, 479, 513, 538, 555, 565, 587, 613, 614, 616, 619, 621, 626, 631, 632, 634, 637, 639, 643, 651, 670, 671, 672, 731, 770, 779, 785, 788, 789, 791, 796, 797, 799], "industri": [12, 13, 228, 247, 773, 776, 777, 787, 789, 794], "arm": [12, 538, 778, 794], "six": 12, "revolut": [12, 13, 15, 291, 296, 297, 380, 387, 388, 391, 774, 776, 794], "joint": [12, 13, 15, 49, 69, 73, 75, 78, 121, 128, 130, 150, 152, 291, 296, 297, 302, 314, 358, 363, 364, 371, 380, 382, 387, 388, 391, 393, 394, 395, 396, 397, 479, 488, 495, 498, 499, 500, 502, 505, 507, 508, 511, 513, 514, 515, 516, 517, 530, 532, 538, 546, 548, 549, 555, 672, 695, 699, 701, 703, 729, 731, 746, 749, 752, 755, 756, 774, 775, 779, 780, 783, 787, 789, 792, 794], "If": [12, 13, 21, 22, 25, 28, 34, 35, 49, 54, 55, 59, 69, 73, 75, 93, 94, 97, 100, 106, 107, 121, 126, 128, 130, 142, 145, 173, 174, 176, 185, 223, 227, 228, 229, 230, 232, 233, 234, 235, 239, 246, 247, 248, 249, 252, 253, 254, 255, 260, 261, 262, 263, 264, 270, 271, 275, 276, 277, 283, 284, 287, 288, 289, 291, 294, 295, 298, 299, 300, 305, 306, 309, 310, 311, 317, 318, 320, 321, 322, 325, 328, 329, 330, 331, 332, 334, 337, 338, 339, 340, 341, 342, 343, 345, 348, 349, 350, 351, 352, 353, 354, 361, 362, 363, 366, 367, 368, 374, 375, 376, 377, 378, 385, 386, 391, 394, 395, 398, 399, 400, 403, 406, 407, 408, 411, 412, 413, 418, 420, 421, 422, 423, 428, 431, 432, 434, 435, 436, 438, 441, 442, 444, 445, 446, 452, 453, 454, 460, 461, 462, 467, 469, 470, 472, 473, 474, 485, 486, 487, 488, 489, 490, 491, 492, 498, 499, 500, 511, 513, 514, 515, 521, 522, 523, 532, 541, 542, 551, 552, 553, 558, 559, 560, 561, 562, 563, 568, 569, 573, 574, 575, 581, 582, 583, 584, 585, 590, 591, 592, 593, 594, 595, 601, 602, 605, 606, 607, 658, 667, 668, 673, 695, 725, 729, 731, 746, 749, 752, 776, 781, 787, 788, 791, 796, 799], "check_collis": [12, 13, 128, 729, 794, 796], "i": [12, 13, 15, 21, 24, 25, 26, 28, 40, 49, 50, 54, 69, 73, 75, 76, 78, 89, 93, 96, 97, 98, 100, 112, 121, 122, 125, 126, 128, 130, 136, 142, 143, 144, 145, 150, 152, 173, 175, 176, 182, 185, 190, 227, 229, 230, 235, 236, 246, 248, 249, 255, 256, 257, 260, 261, 265, 270, 271, 279, 280, 283, 284, 290, 291, 294, 295, 296, 301, 305, 306, 313, 314, 317, 318, 323, 325, 328, 329, 333, 334, 337, 338, 339, 340, 344, 345, 348, 349, 350, 351, 355, 356, 361, 362, 363, 370, 374, 375, 379, 380, 382, 385, 386, 391, 394, 395, 396, 397, 401, 403, 406, 407, 408, 415, 419, 420, 423, 428, 431, 432, 437, 438, 441, 442, 447, 452, 453, 454, 464, 467, 469, 470, 475, 476, 478, 485, 487, 488, 489, 490, 492, 495, 498, 499, 500, 502, 513, 514, 515, 516, 517, 518, 531, 532, 534, 535, 536, 537, 538, 541, 542, 543, 546, 549, 554, 558, 559, 560, 564, 565, 568, 569, 577, 581, 582, 586, 587, 590, 591, 592, 596, 601, 602, 610, 613, 614, 617, 621, 622, 626, 631, 632, 635, 639, 643, 652, 653, 654, 655, 656, 660, 662, 667, 668, 669, 670, 671, 672, 673, 674, 695, 699, 701, 703, 723, 725, 729, 731, 746, 749, 752, 753, 756, 770, 773, 774, 776, 777, 778, 779, 781, 782, 783, 785, 786, 787, 788, 789, 791, 792, 794, 796, 797, 798, 799, 801], "true": [12, 13, 21, 22, 27, 28, 40, 42, 54, 73, 75, 89, 93, 94, 99, 100, 112, 114, 125, 126, 127, 128, 130, 136, 173, 176, 190, 191, 232, 233, 234, 252, 253, 254, 262, 263, 264, 275, 276, 277, 287, 288, 289, 298, 299, 300, 309, 310, 311, 320, 321, 322, 330, 331, 332, 341, 342, 343, 352, 353, 354, 366, 367, 368, 376, 377, 378, 383, 391, 398, 399, 400, 411, 412, 413, 418, 420, 421, 422, 434, 435, 436, 444, 445, 446, 460, 461, 462, 472, 473, 474, 488, 513, 514, 516, 521, 522, 523, 530, 534, 535, 536, 537, 551, 552, 553, 561, 562, 563, 573, 574, 575, 583, 584, 585, 593, 594, 595, 605, 606, 607, 652, 671, 723, 725, 727, 729, 731, 749, 752, 777, 781, 784, 785, 787, 788, 789, 791, 794, 796], "requir": [12, 40, 112, 150, 152, 184, 314, 614, 632, 670, 673, 674, 770, 783, 787, 789, 791, 792, 794], "support": [12, 52, 77, 150, 152, 266, 314, 319, 516, 555, 587, 669, 671, 672, 681, 754, 771, 777, 779, 781, 787, 789, 794, 799], "so": [12, 89, 136, 533, 613, 631, 770, 801], "now": [12, 422, 670, 672, 674, 781, 787, 788, 789, 796, 797, 798], "pybulletcli": [12, 17, 128, 538, 672, 729, 791, 792, 794, 796], "frame_wcf": [13, 39, 73, 74, 130, 406, 452, 513, 514, 524, 525, 672, 674, 699, 731, 749, 750, 774, 783, 792, 794], "start_configur": [13, 15, 39, 43, 73, 74, 75, 76, 77, 78, 79, 130, 371, 513, 514, 516, 517, 672, 674, 699, 701, 703, 731, 749, 750, 752, 753, 754, 755, 756, 757, 783, 784, 792, 794], "none": [13, 15, 25, 27, 28, 32, 39, 40, 43, 49, 55, 59, 63, 65, 67, 69, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 97, 99, 100, 104, 112, 121, 125, 126, 127, 128, 130, 133, 134, 148, 150, 152, 154, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 186, 193, 225, 227, 228, 231, 240, 242, 243, 244, 246, 247, 251, 259, 282, 293, 316, 324, 327, 336, 339, 347, 350, 373, 384, 387, 388, 389, 396, 397, 406, 416, 418, 419, 420, 421, 422, 424, 426, 430, 440, 452, 467, 468, 476, 478, 479, 480, 481, 488, 491, 492, 493, 495, 496, 497, 498, 499, 500, 502, 503, 504, 509, 511, 513, 514, 516, 517, 518, 519, 520, 524, 525, 526, 527, 528, 529, 530, 532, 534, 535, 536, 537, 540, 547, 548, 549, 550, 557, 565, 567, 576, 580, 589, 608, 620, 626, 638, 643, 660, 672, 674, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 735, 737, 740, 743, 746, 749, 750, 752, 753, 754, 756, 757, 759, 762, 765, 768, 794], "group": [13, 15, 39, 43, 49, 69, 73, 74, 75, 76, 77, 78, 79, 121, 128, 130, 240, 250, 291, 334, 406, 419, 421, 422, 428, 452, 476, 478, 481, 488, 491, 492, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 509, 511, 513, 514, 515, 516, 517, 518, 520, 524, 525, 526, 527, 528, 529, 530, 532, 538, 547, 548, 549, 550, 672, 674, 695, 699, 701, 703, 729, 731, 746, 749, 750, 752, 753, 754, 756, 757, 779, 780, 784], "6": [13, 15, 130, 228, 247, 325, 403, 406, 513, 514, 516, 603, 629, 672, 731, 774, 778, 784, 787, 792, 794, 797], "axi": [13, 77, 228, 247, 324, 387, 403, 406, 416, 428, 433, 438, 443, 754, 773, 774, 776, 779, 787, 789, 794, 795, 796], "return": [13, 15, 21, 27, 28, 32, 34, 35, 37, 38, 42, 54, 55, 59, 63, 65, 67, 69, 71, 73, 75, 78, 80, 82, 84, 93, 99, 100, 104, 106, 107, 109, 110, 114, 125, 126, 127, 128, 130, 133, 134, 141, 145, 150, 152, 156, 159, 160, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 191, 192, 193, 194, 195, 223, 225, 227, 228, 229, 230, 231, 232, 234, 236, 239, 240, 242, 243, 244, 246, 247, 248, 249, 250, 251, 252, 254, 256, 259, 260, 261, 262, 264, 265, 268, 269, 270, 271, 272, 273, 275, 277, 279, 282, 283, 284, 287, 289, 290, 293, 294, 295, 296, 297, 298, 300, 301, 304, 305, 306, 309, 311, 313, 316, 317, 318, 319, 320, 322, 323, 325, 327, 328, 329, 330, 332, 333, 336, 337, 338, 339, 340, 341, 343, 344, 347, 348, 349, 350, 351, 352, 354, 355, 357, 360, 361, 362, 363, 366, 368, 370, 373, 374, 375, 376, 378, 379, 383, 384, 385, 386, 387, 388, 393, 395, 396, 397, 398, 400, 401, 405, 406, 407, 408, 411, 413, 415, 418, 420, 421, 422, 424, 426, 430, 431, 432, 433, 434, 436, 437, 440, 441, 442, 443, 444, 446, 447, 450, 451, 452, 453, 454, 455, 456, 457, 460, 462, 464, 465, 468, 469, 470, 471, 472, 474, 475, 476, 478, 479, 480, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 513, 514, 515, 516, 517, 518, 519, 521, 523, 524, 525, 526, 527, 528, 529, 531, 534, 535, 536, 537, 540, 541, 542, 546, 547, 548, 549, 550, 551, 553, 554, 557, 558, 559, 560, 561, 563, 564, 567, 568, 569, 570, 571, 573, 575, 577, 580, 581, 582, 583, 585, 586, 589, 590, 591, 592, 593, 595, 596, 599, 600, 601, 602, 603, 604, 605, 607, 608, 609, 610, 611, 612, 621, 622, 623, 626, 639, 640, 643, 652, 653, 654, 655, 656, 657, 658, 659, 660, 662, 663, 664, 665, 672, 674, 676, 678, 680, 695, 697, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 735, 737, 740, 743, 746, 749, 752, 756, 759, 762, 765, 768, 796, 798], "default": [13, 21, 22, 25, 27, 28, 40, 42, 49, 50, 69, 73, 75, 78, 89, 93, 94, 97, 99, 100, 112, 114, 121, 122, 125, 126, 127, 128, 129, 130, 131, 132, 135, 136, 150, 152, 173, 190, 194, 195, 222, 225, 233, 234, 238, 244, 253, 254, 257, 258, 259, 263, 264, 267, 276, 277, 280, 281, 282, 288, 289, 291, 292, 293, 296, 299, 300, 302, 303, 310, 311, 314, 315, 316, 321, 322, 326, 327, 331, 332, 334, 335, 336, 339, 340, 342, 343, 345, 346, 347, 350, 351, 353, 354, 358, 359, 367, 368, 372, 373, 377, 378, 381, 383, 384, 389, 399, 400, 403, 404, 406, 412, 413, 422, 428, 429, 430, 435, 436, 438, 439, 440, 445, 446, 448, 449, 451, 452, 455, 456, 457, 461, 462, 466, 468, 473, 474, 476, 477, 478, 480, 481, 488, 491, 492, 493, 495, 496, 497, 498, 499, 500, 502, 503, 504, 509, 511, 513, 514, 516, 517, 518, 522, 523, 524, 525, 526, 527, 528, 529, 530, 534, 535, 536, 537, 539, 540, 547, 548, 549, 550, 552, 553, 555, 556, 557, 562, 563, 565, 566, 567, 574, 575, 579, 580, 584, 585, 587, 588, 589, 594, 595, 598, 606, 607, 613, 626, 631, 643, 663, 670, 672, 674, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 723, 725, 727, 729, 731, 746, 749, 752, 756, 774, 787, 788, 789, 796, 799], "8": [13, 73, 228, 247, 672, 749, 787, 789, 794, 799], "possibl": [13, 28, 100, 280, 302, 465, 514, 670, 671, 673, 674, 779, 783, 792, 794, 799], "solut": [13, 60, 75, 78, 228, 247, 465, 513, 514, 516, 517, 672, 752, 756, 783, 792, 794, 796], "These": [13, 670, 674, 778], "have": [13, 15, 57, 129, 131, 132, 135, 223, 239, 363, 587, 613, 626, 631, 643, 668, 670, 672, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 773, 777, 779, 781, 782, 783, 784, 785, 786, 787, 788, 794, 796, 797], "an": [13, 21, 22, 51, 55, 59, 75, 80, 93, 94, 133, 140, 141, 145, 150, 152, 168, 173, 174, 175, 189, 194, 196, 223, 225, 229, 230, 233, 234, 236, 239, 243, 244, 248, 249, 253, 254, 256, 259, 260, 261, 263, 264, 265, 270, 271, 276, 277, 279, 282, 283, 284, 288, 289, 290, 293, 294, 295, 299, 300, 301, 305, 306, 310, 311, 313, 316, 317, 318, 321, 322, 323, 327, 328, 329, 331, 332, 333, 336, 337, 338, 342, 343, 344, 347, 348, 349, 353, 354, 355, 361, 362, 367, 368, 370, 373, 374, 375, 377, 378, 379, 382, 384, 385, 386, 387, 388, 399, 400, 401, 403, 406, 407, 408, 412, 413, 415, 416, 418, 421, 424, 428, 430, 431, 432, 435, 436, 437, 440, 441, 442, 445, 446, 447, 453, 454, 461, 462, 464, 467, 468, 469, 470, 473, 474, 475, 476, 480, 489, 490, 513, 514, 522, 523, 531, 538, 540, 541, 542, 543, 544, 545, 552, 553, 554, 557, 558, 559, 562, 563, 564, 567, 568, 569, 574, 575, 577, 580, 581, 582, 584, 585, 586, 589, 590, 591, 594, 595, 596, 601, 602, 606, 607, 610, 613, 614, 622, 626, 627, 631, 632, 643, 656, 664, 668, 669, 670, 671, 672, 673, 717, 732, 733, 752, 761, 762, 771, 774, 776, 777, 780, 781, 788, 789, 792, 794, 795, 796, 798, 799, 800, 801], "order": [13, 235, 255, 403, 513, 538, 587, 668, 774, 787, 794], "That": [13, 40, 112, 789, 794], "mean": [13, 302, 358, 371, 403, 406, 448, 451, 452, 455, 456, 457, 534, 535, 536, 537, 599, 783, 792, 794, 799], "you": [13, 50, 122, 363, 403, 406, 613, 631, 660, 667, 668, 670, 673, 777, 781, 782, 783, 784, 785, 787, 788, 789, 791, 794, 796, 799], "call": [13, 18, 19, 20, 28, 33, 36, 39, 43, 44, 46, 47, 48, 54, 90, 91, 92, 100, 105, 108, 111, 115, 116, 118, 119, 120, 128, 137, 138, 139, 141, 143, 144, 148, 153, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 177, 178, 179, 180, 181, 186, 513, 616, 619, 634, 637, 672, 674, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 729, 776, 781, 785, 788, 791, 794], "two": [13, 57, 325, 538, 652, 658, 670, 671, 672, 771, 773, 776, 780, 781, 782, 785, 794, 797, 798, 800], "subsequ": [13, 794], "compar": [13, 383, 391, 393, 779, 794, 796], "configur": [13, 15, 16, 24, 25, 26, 32, 37, 49, 69, 70, 73, 75, 78, 96, 97, 98, 104, 109, 121, 128, 130, 151, 291, 296, 297, 314, 363, 371, 380, 383, 387, 388, 391, 393, 394, 396, 397, 465, 471, 488, 495, 498, 499, 500, 501, 502, 505, 511, 513, 514, 515, 516, 517, 518, 528, 529, 530, 532, 546, 548, 549, 555, 670, 671, 672, 695, 699, 701, 703, 729, 731, 746, 747, 749, 752, 756, 777, 779, 780, 781, 782, 783, 784, 785, 787, 792, 794], "first": [13, 227, 235, 246, 255, 465, 547, 663, 671, 672, 770, 780, 787, 789, 790, 794, 798], "second": [13, 50, 55, 59, 73, 78, 122, 141, 144, 145, 325, 672, 749, 756, 781, 784, 788, 794], "respect": [13, 227, 246, 380, 403, 663, 668, 672, 789, 794, 796], "indic": [13, 42, 51, 52, 60, 61, 114, 136, 371, 514, 613, 623, 626, 631, 640, 643, 656, 794, 798], "close": [13, 781, 791, 794], "anoth": [13, 334, 345, 391, 393, 394, 395, 546, 549, 661, 674, 781, 787, 789, 794, 797], "reason": [13, 794], "certain": [13, 144, 358, 383, 403, 448, 465, 662, 776, 783, 788, 792, 794, 796, 797], "case": [13, 123, 150, 152, 314, 394, 395, 515, 668, 777, 779, 785, 789, 794, 796, 797, 798], "e": [13, 15, 75, 78, 203, 206, 212, 218, 314, 371, 380, 396, 397, 476, 495, 502, 516, 517, 538, 546, 549, 660, 667, 668, 670, 672, 673, 701, 703, 752, 756, 771, 773, 776, 779, 787, 794, 796, 799, 800], "g": [13, 314, 371, 380, 476, 660, 667, 668, 672, 673, 771, 787, 794, 800], "cartesian": [13, 15, 75, 76, 77, 314, 516, 672, 700, 701, 751, 752, 753, 754, 779, 780, 783, 794], "make": [13, 28, 40, 100, 112, 136, 148, 156, 157, 158, 159, 160, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 186, 222, 225, 238, 244, 258, 259, 267, 268, 281, 282, 292, 293, 303, 315, 316, 326, 327, 335, 336, 346, 347, 359, 363, 372, 373, 381, 384, 404, 429, 430, 439, 440, 449, 465, 466, 467, 468, 477, 480, 539, 540, 556, 557, 566, 567, 579, 580, 588, 589, 598, 600, 668, 669, 671, 673, 674, 777, 781, 782, 783, 784, 785, 787, 789, 791, 794, 797, 799, 800], "sens": [13, 465, 467, 794, 797], "keep": [13, 513, 514, 672, 673, 785, 794], "can": [13, 28, 40, 53, 56, 73, 75, 78, 100, 112, 191, 193, 236, 256, 265, 266, 279, 290, 301, 313, 314, 323, 333, 344, 355, 356, 370, 379, 401, 403, 415, 428, 437, 438, 447, 464, 475, 476, 513, 514, 516, 517, 531, 533, 534, 535, 536, 537, 546, 549, 554, 564, 577, 586, 596, 610, 613, 621, 626, 631, 639, 643, 668, 670, 671, 672, 674, 749, 752, 756, 771, 773, 776, 777, 778, 779, 781, 782, 787, 788, 789, 794, 796, 797, 798, 799], "achiev": [13, 363, 403, 517, 703, 781, 794], "keep_ord": [13, 794, 796], "collis": [13, 17, 21, 22, 23, 24, 25, 26, 28, 32, 40, 42, 50, 57, 63, 65, 67, 73, 75, 80, 82, 84, 93, 94, 95, 96, 97, 98, 100, 104, 112, 114, 122, 125, 126, 127, 133, 134, 257, 280, 285, 286, 371, 418, 420, 421, 422, 424, 426, 427, 483, 494, 510, 518, 530, 533, 538, 565, 669, 672, 675, 676, 677, 678, 679, 680, 716, 717, 718, 719, 721, 722, 723, 724, 725, 726, 727, 732, 733, 734, 735, 736, 737, 739, 740, 742, 743, 749, 752, 761, 762, 764, 765, 767, 768, 771, 780, 784, 787, 789, 791, 794, 796, 800], "outsid": [13, 794], "boundari": [13, 794], "remov": [13, 40, 80, 82, 84, 112, 133, 134, 174, 421, 424, 425, 426, 427, 604, 672, 716, 717, 718, 719, 721, 732, 733, 734, 735, 761, 762, 764, 765, 768, 791, 794], "list": [13, 32, 40, 73, 75, 78, 104, 112, 125, 130, 154, 157, 158, 160, 166, 167, 170, 171, 193, 227, 240, 246, 247, 257, 266, 291, 296, 302, 314, 324, 345, 350, 356, 363, 371, 380, 387, 388, 403, 406, 438, 465, 467, 476, 478, 479, 491, 492, 494, 498, 499, 500, 506, 508, 509, 510, 516, 517, 528, 529, 538, 546, 548, 549, 565, 570, 571, 587, 599, 603, 611, 612, 622, 626, 643, 652, 654, 655, 656, 658, 660, 662, 670, 674, 699, 723, 731, 749, 752, 756, 779, 788, 794, 797, 798, 799], "instanc": [13, 15, 28, 42, 69, 73, 75, 78, 100, 114, 125, 128, 130, 133, 150, 152, 168, 173, 192, 222, 229, 230, 238, 248, 249, 258, 260, 261, 267, 270, 271, 281, 283, 284, 292, 294, 295, 303, 305, 306, 315, 317, 318, 326, 328, 329, 335, 337, 338, 346, 348, 349, 359, 361, 362, 372, 374, 375, 381, 385, 386, 387, 388, 404, 407, 408, 426, 429, 431, 432, 439, 441, 442, 449, 453, 454, 466, 467, 469, 470, 476, 477, 479, 488, 489, 490, 530, 534, 535, 536, 537, 539, 541, 542, 543, 544, 545, 556, 558, 559, 566, 568, 569, 579, 581, 582, 588, 590, 591, 598, 601, 602, 613, 616, 619, 631, 634, 637, 650, 672, 695, 699, 701, 703, 723, 729, 731, 733, 746, 749, 752, 756, 771, 777, 785], "which": [13, 15, 21, 32, 69, 73, 75, 78, 93, 104, 125, 128, 130, 133, 162, 174, 175, 314, 324, 383, 406, 416, 428, 452, 465, 467, 495, 534, 535, 536, 537, 565, 587, 613, 622, 626, 631, 643, 670, 672, 674, 695, 699, 701, 703, 723, 729, 731, 733, 746, 749, 752, 756, 770, 774, 776, 777, 779, 785, 786, 787, 789, 791, 792, 799], "being": [13, 15, 54, 69, 73, 75, 78, 128, 130, 152, 467, 669, 672, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 729, 731, 746, 749, 752, 756, 792], "geometri": [13, 22, 28, 31, 40, 42, 73, 94, 100, 103, 112, 114, 125, 130, 173, 227, 246, 266, 269, 273, 278, 280, 324, 334, 339, 345, 350, 391, 403, 406, 414, 416, 428, 438, 448, 451, 452, 456, 457, 463, 465, 467, 483, 484, 486, 488, 491, 492, 493, 495, 502, 510, 513, 514, 519, 524, 525, 526, 527, 528, 529, 530, 534, 535, 536, 537, 565, 570, 571, 587, 597, 604, 672, 674, 699, 723, 731, 749, 773, 774, 777, 779, 783, 784, 785, 787, 789, 791, 792, 794, 796, 797, 798], "determin": [13, 128, 130, 191, 314, 630, 646, 729, 731, 779, 796], "end": [13, 69, 75, 128, 130, 140, 243, 291, 314, 334, 345, 406, 422, 428, 438, 452, 478, 488, 502, 503, 504, 517, 538, 550, 613, 631, 668, 672, 674, 729, 731, 746, 752, 771, 779, 780, 783, 791, 792, 794, 796, 800], "effector": [13, 69, 75, 128, 130, 291, 314, 334, 345, 406, 422, 428, 438, 452, 478, 488, 502, 503, 504, 538, 550, 672, 729, 731, 746, 752, 771, 779, 780, 783, 791, 792, 794, 796, 800], "label": [13, 128, 130, 428, 729, 731, 780], "dict": [13, 15, 63, 65, 67, 69, 71, 73, 75, 78, 80, 82, 84, 125, 126, 127, 128, 130, 133, 134, 221, 223, 237, 239, 371, 380, 467, 476, 479, 488, 513, 514, 516, 517, 538, 578, 663, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 735, 737, 740, 743, 746, 749, 752, 756, 759, 762, 765, 768, 783, 784, 792], "dictionari": [13, 15, 69, 73, 75, 78, 125, 126, 127, 128, 130, 133, 476, 488, 513, 514, 516, 517, 538, 663, 672, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 746, 749, 752, 756], "kei": [13, 15, 69, 73, 75, 78, 125, 126, 127, 128, 130, 133, 389, 488, 513, 514, 516, 517, 538, 663, 670, 672, 723, 725, 727, 729, 731, 733, 746, 749, 752, 756], "valu": [13, 15, 49, 55, 58, 59, 69, 73, 75, 78, 121, 125, 126, 127, 128, 130, 133, 159, 186, 291, 296, 297, 314, 325, 334, 339, 345, 350, 358, 363, 364, 380, 382, 387, 388, 393, 394, 395, 403, 406, 428, 438, 488, 495, 502, 513, 514, 515, 516, 517, 532, 538, 603, 611, 612, 623, 626, 629, 630, 640, 643, 645, 646, 653, 654, 655, 657, 661, 663, 672, 674, 701, 703, 723, 725, 727, 729, 731, 733, 746, 749, 752, 756, 779, 787, 788, 789], "pair": [13, 15, 69, 73, 75, 78, 125, 126, 127, 128, 130, 133, 488, 513, 514, 516, 517, 538, 723, 725, 727, 729, 731, 733, 746, 749, 752, 756], "when": [13, 21, 22, 28, 40, 42, 56, 57, 58, 93, 94, 100, 112, 114, 125, 126, 127, 128, 130, 144, 150, 152, 162, 175, 176, 222, 238, 258, 267, 281, 292, 303, 315, 326, 334, 335, 345, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 543, 556, 566, 579, 588, 598, 613, 621, 626, 631, 639, 643, 651, 671, 672, 673, 674, 723, 725, 727, 729, 731, 779, 781, 785, 787, 791, 799], "fals": [13, 21, 22, 28, 40, 42, 54, 89, 93, 94, 100, 112, 114, 125, 126, 127, 128, 130, 136, 173, 176, 190, 191, 232, 233, 234, 252, 253, 254, 262, 263, 264, 275, 276, 277, 287, 288, 289, 298, 299, 300, 309, 310, 311, 320, 321, 322, 330, 331, 332, 341, 342, 343, 352, 353, 354, 366, 367, 368, 376, 377, 378, 383, 398, 399, 400, 411, 412, 413, 418, 420, 421, 422, 434, 435, 436, 444, 445, 446, 460, 461, 462, 472, 473, 474, 513, 514, 521, 522, 523, 530, 534, 535, 536, 537, 551, 552, 553, 561, 562, 563, 573, 574, 575, 583, 584, 585, 593, 594, 595, 605, 606, 607, 660, 723, 725, 727, 729, 731, 773], "yield": [13, 73, 130, 235, 255, 324, 391, 416, 467, 513, 514, 672, 699, 731, 749, 796, 797, 798], "tupl": [13, 21, 27, 73, 93, 99, 130, 296, 438, 465, 538, 623, 640, 699, 731, 749], "A": [13, 42, 73, 114, 130, 162, 193, 240, 266, 268, 302, 314, 356, 358, 380, 395, 403, 406, 417, 428, 448, 451, 452, 455, 456, 457, 467, 476, 478, 479, 494, 506, 515, 524, 525, 533, 538, 546, 549, 555, 587, 597, 626, 643, 660, 665, 667, 699, 731, 749, 776, 779, 781, 794, 796, 801], "2": [13, 73, 75, 78, 130, 273, 325, 356, 383, 391, 393, 428, 452, 488, 513, 514, 516, 532, 534, 538, 597, 599, 603, 608, 609, 613, 629, 630, 631, 646, 658, 670, 672, 699, 731, 749, 752, 756, 770, 774, 778, 779, 780, 783, 784, 787, 789, 792, 796, 797, 799, 800], "element": [13, 73, 125, 130, 356, 652, 658, 699, 723, 731, 749, 776, 789, 796], "posit": [13, 15, 73, 75, 78, 130, 150, 152, 291, 302, 334, 339, 345, 350, 356, 380, 387, 396, 406, 428, 438, 452, 456, 511, 513, 514, 515, 517, 614, 632, 645, 665, 699, 701, 703, 731, 749, 752, 756, 773, 774, 779, 787, 788, 789, 794, 796, 798], "match": [13, 73, 130, 167, 171, 291, 334, 428, 488, 507, 511, 517, 674, 699, 731, 749, 787, 789], "name": [13, 28, 40, 41, 49, 69, 73, 75, 78, 80, 82, 100, 112, 113, 121, 128, 130, 133, 134, 136, 148, 149, 150, 152, 157, 158, 159, 160, 166, 173, 174, 175, 186, 190, 194, 195, 240, 243, 250, 257, 280, 291, 314, 334, 339, 345, 350, 358, 363, 371, 382, 387, 388, 394, 395, 403, 406, 428, 438, 448, 451, 452, 455, 456, 457, 476, 478, 479, 488, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 515, 516, 517, 518, 524, 525, 526, 527, 530, 533, 538, 547, 548, 549, 550, 555, 565, 587, 672, 673, 695, 699, 703, 717, 719, 729, 731, 733, 735, 746, 749, 752, 756, 762, 765, 782, 783, 784, 785, 787, 788, 789, 797, 799], "also": [13, 69, 465, 488, 530, 613, 626, 631, 643, 669, 672, 746, 777, 781, 783, 785, 787, 788, 789, 792, 794, 799], "rais": [13, 22, 23, 24, 25, 26, 34, 35, 55, 56, 57, 59, 73, 94, 95, 96, 97, 98, 106, 107, 129, 130, 131, 132, 135, 141, 145, 223, 229, 230, 235, 239, 248, 249, 255, 260, 261, 270, 271, 283, 284, 294, 295, 305, 306, 317, 318, 319, 328, 329, 337, 338, 348, 349, 361, 362, 363, 374, 375, 382, 385, 386, 391, 394, 395, 406, 407, 408, 423, 431, 432, 441, 442, 453, 454, 467, 469, 470, 485, 486, 487, 488, 489, 490, 491, 492, 511, 513, 514, 515, 520, 541, 542, 558, 559, 568, 569, 581, 582, 590, 591, 601, 602, 648, 649, 658, 672, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 731, 749], "valueerror": [13, 223, 235, 239, 255, 363, 391, 394, 395, 406, 467, 488, 511, 515, 658], "solv": [13, 50, 122, 794], "ha": [13, 22, 28, 30, 31, 34, 35, 55, 59, 94, 100, 102, 103, 106, 107, 144, 229, 230, 248, 249, 260, 261, 270, 271, 283, 284, 291, 294, 295, 305, 306, 317, 318, 328, 329, 334, 337, 338, 345, 348, 349, 361, 362, 363, 374, 375, 385, 386, 407, 408, 423, 431, 432, 441, 442, 453, 454, 467, 469, 470, 486, 489, 490, 491, 541, 542, 558, 559, 568, 569, 581, 582, 590, 591, 601, 602, 613, 631, 665, 672, 674, 774, 776, 782, 785, 787, 789, 792, 799], "been": [13, 22, 28, 30, 31, 34, 35, 57, 94, 100, 102, 103, 106, 107, 291, 486, 614, 632, 672, 786], "pass": [13, 15, 69, 73, 128, 130, 144, 148, 152, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 186, 228, 247, 325, 340, 351, 363, 403, 406, 467, 479, 488, 498, 499, 500, 513, 514, 516, 517, 560, 587, 592, 658, 672, 673, 674, 695, 729, 731, 746, 749, 777, 779, 781, 787, 796, 797, 798], "plancartesianmot": [14, 751, 800], "linear": [15, 75, 516, 597, 661, 672, 701, 751, 752, 771, 780, 800], "space": [15, 75, 314, 416, 516, 597, 653, 672, 701, 751, 752, 755, 774, 779, 783, 791, 796], "compas_robot": [15, 34, 37, 38, 40, 75, 106, 109, 110, 112, 221, 237, 257, 291, 296, 371, 380, 418, 465, 476, 479, 495, 496, 499, 500, 501, 502, 503, 505, 507, 508, 511, 513, 514, 515, 516, 517, 518, 528, 529, 530, 543, 546, 549, 565, 672, 695, 699, 701, 703, 752, 774, 776, 777, 783, 791, 792], "full": [15, 49, 69, 75, 78, 121, 128, 371, 488, 495, 502, 513, 514, 515, 516, 517, 660, 668, 670, 672, 695, 701, 703, 729, 746, 752, 756, 782, 784, 796, 798], "all": [15, 50, 75, 78, 84, 122, 173, 174, 314, 363, 394, 395, 403, 406, 421, 427, 465, 476, 494, 495, 498, 499, 500, 502, 505, 513, 514, 515, 516, 517, 538, 546, 548, 549, 650, 668, 670, 671, 672, 673, 674, 681, 682, 701, 703, 704, 721, 752, 756, 768, 776, 785, 787, 788, 789, 796, 799, 801], "entir": [15, 75, 78, 173, 495, 502, 516, 517, 671, 701, 703, 752, 756, 777], "start": [15, 75, 78, 182, 184, 243, 371, 380, 516, 517, 587, 613, 616, 631, 634, 653, 670, 671, 673, 701, 703, 752, 756, 773, 777, 780, 781, 782, 783, 784, 785, 787, 800], "iter_inverse_kinemat": [15, 672, 783, 792, 794], "jointtrajectori": [15, 75, 78, 150, 152, 516, 517, 672, 701, 703, 752, 756], "trajectori": [15, 75, 78, 150, 152, 371, 380, 516, 517, 672, 701, 703, 752, 756, 784, 794], "combin": [17, 89, 136, 613, 631, 670, 779, 786, 787, 789, 797, 798], "detect": [17, 40, 50, 112, 122, 615, 627, 633, 669, 672, 787], "arg": [18, 19, 20, 33, 36, 44, 46, 47, 48, 90, 91, 92, 105, 108, 111, 115, 116, 118, 119, 120, 129, 131, 132, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 149, 153, 161, 162, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 185, 650, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 773, 787, 789], "kwarg": [18, 19, 20, 33, 36, 44, 46, 47, 48, 90, 91, 92, 105, 108, 111, 115, 116, 118, 119, 120, 129, 131, 132, 135, 137, 138, 139, 153, 161, 172, 177, 178, 179, 180, 181, 221, 223, 237, 239, 479, 676, 678, 680, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 695, 697, 699, 701, 703, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 717, 719, 721], "forward": [18, 19, 20, 33, 36, 39, 43, 44, 46, 47, 48, 50, 69, 75, 90, 91, 92, 105, 108, 111, 115, 116, 118, 119, 120, 122, 128, 137, 138, 139, 153, 161, 172, 177, 178, 179, 180, 181, 488, 668, 672, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 728, 729, 745, 746, 752, 771, 780, 787, 790, 800], "appropri": [18, 19, 20, 33, 36, 39, 43, 44, 46, 47, 48, 90, 91, 92, 105, 108, 111, 115, 116, 118, 119, 120, 137, 138, 139, 153, 161, 172, 177, 178, 179, 180, 181, 674, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 799], "planner": [18, 19, 20, 33, 36, 39, 43, 44, 46, 47, 48, 62, 69, 76, 77, 78, 79, 90, 91, 92, 105, 108, 111, 115, 116, 118, 119, 120, 124, 129, 131, 132, 135, 136, 137, 138, 139, 152, 153, 161, 172, 177, 178, 179, 180, 181, 291, 314, 334, 339, 340, 345, 350, 351, 428, 438, 488, 516, 517, 560, 587, 592, 672, 674, 675, 677, 679, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 696, 698, 700, 702, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 718, 720, 746, 753, 754, 756, 757, 782, 783, 784, 785, 788], "scale": [21, 93, 237, 418, 420, 421, 422, 476, 671, 672, 773], "1": [21, 50, 78, 93, 122, 125, 232, 252, 257, 262, 269, 275, 280, 287, 296, 298, 302, 309, 320, 324, 325, 330, 341, 352, 356, 358, 366, 371, 376, 383, 391, 393, 398, 403, 406, 411, 416, 428, 434, 444, 448, 451, 452, 455, 456, 457, 460, 472, 478, 488, 491, 492, 513, 514, 516, 517, 521, 538, 551, 561, 565, 570, 571, 573, 583, 593, 597, 599, 603, 604, 605, 608, 609, 613, 626, 629, 630, 631, 643, 646, 650, 659, 662, 665, 672, 674, 723, 756, 773, 774, 779, 780, 781, 783, 784, 787, 789, 791, 792, 794, 796, 797, 798, 799], "0": [21, 28, 75, 93, 100, 125, 126, 192, 228, 232, 247, 252, 257, 262, 273, 275, 280, 287, 296, 298, 309, 320, 324, 325, 330, 340, 341, 351, 352, 356, 358, 366, 376, 383, 391, 393, 398, 403, 406, 411, 416, 434, 444, 448, 451, 452, 455, 456, 457, 460, 472, 478, 488, 491, 492, 499, 513, 514, 516, 517, 521, 524, 525, 532, 551, 560, 561, 565, 570, 571, 573, 583, 592, 593, 597, 599, 603, 604, 605, 608, 609, 629, 630, 646, 671, 672, 674, 723, 725, 752, 773, 774, 783, 784, 785, 787, 789, 791, 792, 794, 796, 797, 798, 799], "concav": [21, 22, 28, 40, 42, 93, 94, 100, 112, 114, 125, 126, 127, 672, 723, 725, 727], "mass": [21, 28, 93, 100, 125, 126, 356, 604, 672, 723, 725, 791], "color": [21, 27, 93, 99, 227, 243, 246, 672, 789, 796, 798], "5": [21, 93, 273, 325, 406, 448, 457, 513, 514, 516, 517, 629, 672, 783, 784, 785, 789, 791, 792, 798], "creat": [21, 28, 40, 93, 100, 112, 223, 227, 239, 246, 247, 250, 269, 272, 273, 297, 304, 339, 340, 350, 351, 360, 363, 405, 406, 421, 450, 451, 452, 455, 456, 457, 479, 533, 534, 535, 536, 537, 538, 543, 544, 545, 560, 592, 668, 670, 673, 770, 771, 776, 777, 779, 780, 784, 785, 791, 796, 798, 799, 800], "bodi": [21, 28, 93, 100, 356, 672, 783, 792], "obj": [21, 93, 232, 252, 262, 272, 275, 287, 296, 298, 309, 320, 330, 341, 352, 363, 366, 376, 380, 398, 406, 411, 434, 444, 451, 455, 460, 472, 488, 513, 514, 521, 551, 561, 573, 583, 593, 605, 787, 789], "file": [21, 40, 41, 93, 112, 113, 190, 193, 229, 233, 248, 253, 260, 263, 270, 276, 283, 288, 294, 299, 305, 310, 317, 321, 328, 331, 337, 342, 348, 353, 361, 367, 374, 377, 385, 399, 407, 412, 428, 431, 435, 441, 445, 453, 461, 469, 473, 489, 522, 533, 538, 541, 543, 552, 558, 562, 568, 574, 581, 584, 590, 594, 601, 606, 660, 663, 664, 666, 670, 671, 672, 673, 674, 776, 777, 778, 780, 781, 787, 789, 796, 799, 801], "float": [21, 27, 28, 75, 78, 93, 99, 100, 125, 126, 130, 140, 237, 257, 274, 285, 286, 291, 296, 297, 302, 308, 324, 325, 334, 339, 340, 345, 350, 351, 356, 358, 363, 364, 365, 371, 380, 383, 387, 388, 391, 393, 396, 397, 403, 406, 410, 416, 428, 433, 438, 443, 448, 451, 452, 455, 456, 457, 458, 459, 476, 511, 516, 519, 560, 578, 592, 599, 603, 604, 611, 612, 627, 657, 665, 672, 723, 725, 731, 752, 756], "factor": [21, 93, 237, 274, 285, 286, 297, 302, 308, 319, 340, 351, 358, 364, 365, 396, 397, 403, 406, 410, 418, 420, 421, 422, 433, 443, 448, 451, 452, 455, 456, 457, 458, 459, 476, 519, 560, 592, 672], "mesh": [21, 22, 28, 40, 42, 63, 65, 67, 80, 82, 84, 93, 94, 100, 112, 114, 125, 126, 127, 133, 134, 173, 190, 191, 192, 193, 232, 252, 257, 262, 266, 272, 275, 280, 285, 286, 287, 298, 309, 320, 330, 341, 352, 357, 366, 371, 376, 398, 411, 418, 420, 421, 422, 427, 434, 444, 455, 460, 472, 478, 491, 492, 494, 521, 533, 551, 561, 565, 570, 571, 573, 583, 593, 605, 672, 675, 676, 677, 678, 679, 680, 716, 717, 718, 719, 721, 722, 723, 724, 725, 726, 727, 732, 733, 734, 735, 736, 737, 739, 740, 742, 743, 761, 762, 764, 765, 767, 768, 778, 780, 791], "bool": [21, 22, 27, 28, 40, 42, 73, 75, 89, 93, 94, 99, 100, 112, 114, 125, 126, 127, 130, 136, 173, 176, 190, 191, 232, 233, 234, 252, 253, 254, 262, 263, 264, 275, 276, 277, 287, 288, 289, 298, 299, 300, 309, 310, 311, 320, 321, 322, 330, 331, 332, 341, 342, 343, 352, 353, 354, 366, 367, 368, 376, 377, 378, 383, 398, 399, 400, 411, 412, 413, 418, 420, 421, 422, 434, 435, 436, 444, 445, 446, 460, 461, 462, 472, 473, 474, 488, 513, 514, 521, 522, 523, 530, 534, 535, 536, 537, 551, 552, 553, 561, 562, 563, 573, 574, 575, 583, 584, 585, 593, 594, 595, 605, 606, 607, 660, 723, 725, 727, 731, 749, 752], "load": [21, 22, 28, 40, 41, 42, 93, 94, 100, 112, 113, 114, 125, 126, 127, 173, 190, 191, 192, 193, 194, 195, 476, 486, 533, 534, 535, 536, 537, 538, 543, 651, 672, 723, 725, 727, 775, 778, 780, 786, 788, 791, 792, 796], "convex": [21, 22, 28, 40, 42, 93, 94, 100, 112, 114, 125, 126, 127, 723, 725, 727], "hull": [21, 22, 28, 40, 42, 93, 94, 100, 112, 114, 125, 126, 127, 723, 725, 727], "purpos": [21, 22, 28, 40, 42, 49, 93, 94, 100, 112, 114, 121, 125, 126, 127, 533, 621, 639, 672, 723, 725, 727, 801], "applic": [21, 28, 93, 100, 184, 794], "static": [21, 22, 28, 30, 31, 40, 42, 93, 94, 100, 102, 103, 112, 114, 125, 126, 127, 357, 555, 723, 725, 727, 773, 789], "massless": [21, 93], "non": [21, 22, 28, 40, 42, 93, 94, 100, 112, 114, 125, 126, 127, 182, 672, 723, 725, 727, 780], "preprocess": [21, 93], "vhacd": [21, 93], "kg": [21, 28, 93, 100, 126, 257, 356, 604, 725], "rgba": [21, 93, 789], "compon": [21, 93, 356, 403, 406, 670, 672, 673, 774, 780, 799, 800], "int": [21, 27, 28, 38, 40, 73, 78, 93, 99, 100, 110, 112, 130, 136, 141, 144, 145, 150, 152, 173, 193, 228, 247, 324, 325, 465, 613, 621, 626, 630, 631, 639, 643, 646, 665, 672, 731, 749, 756], "save": [22, 34, 35, 38, 41, 45, 94, 106, 107, 110, 113, 117, 233, 234, 253, 254, 263, 264, 276, 277, 288, 289, 299, 300, 310, 311, 321, 322, 331, 332, 342, 343, 353, 354, 367, 368, 377, 378, 399, 400, 412, 413, 435, 436, 445, 446, 461, 462, 473, 474, 522, 523, 552, 553, 562, 563, 574, 575, 584, 585, 594, 595, 606, 607, 666, 787, 788, 789, 796], "edit": [22, 34, 35, 94, 106, 107, 799], "copi": [22, 34, 35, 94, 106, 107, 190, 286, 297, 308, 319, 340, 351, 365, 397, 410, 418, 420, 421, 422, 433, 443, 459, 560, 592, 609, 770, 781, 787, 788, 789, 791, 801], "shadow": [22, 27, 34, 35, 38, 94, 99, 106, 107, 110], "state": [22, 34, 35, 38, 51, 69, 94, 106, 107, 110, 128, 476, 488, 501, 530, 538, 672, 674, 695, 729, 746, 783, 792, 794], "server": [22, 27, 29, 34, 35, 38, 45, 50, 94, 99, 101, 106, 107, 110, 117, 122, 140, 148, 154, 159, 160, 186, 190, 193, 669, 670, 671, 672, 792], "decompos": [22, 28, 40, 42, 94, 100, 112, 114, 125, 126, 127, 723, 725, 727], "part": [22, 28, 40, 42, 94, 100, 112, 114, 125, 126, 127, 597, 672, 673, 674, 723, 725, 727, 788, 796], "v": [22, 28, 40, 42, 94, 100, 112, 114, 125, 126, 127, 667, 672, 723, 725, 727, 799], "hacd": [22, 28, 40, 42, 94, 100, 112, 114, 125, 126, 127, 723, 725, 727], "whether": [23, 24, 25, 26, 42, 73, 75, 95, 96, 97, 98, 114, 191, 673, 749, 752, 801], "ani": [23, 24, 40, 95, 96, 112, 236, 256, 265, 279, 290, 301, 313, 323, 333, 344, 355, 370, 379, 401, 415, 437, 447, 464, 475, 476, 488, 494, 531, 554, 564, 577, 586, 596, 610, 669, 673, 674, 771, 776, 779, 781, 788, 796, 801], "collid": [23, 24, 26, 95, 96, 98], "collisionerror": [23, 95], "attach": [24, 26, 40, 63, 80, 96, 98, 112, 125, 133, 257, 334, 371, 418, 419, 422, 424, 425, 428, 476, 478, 481, 488, 491, 492, 494, 513, 514, 565, 672, 674, 675, 676, 716, 717, 722, 723, 732, 733, 736, 737, 761, 762, 779, 780, 787, 788, 791, 796, 799], "current": [24, 25, 26, 37, 54, 96, 97, 98, 109, 168, 194, 195, 225, 244, 259, 282, 293, 316, 327, 336, 347, 373, 384, 396, 430, 440, 468, 476, 480, 540, 555, 557, 567, 580, 589, 621, 623, 639, 640, 671, 672, 794], "whose": [24, 25, 26, 32, 96, 97, 98, 104, 291, 492, 796], "mai": [24, 25, 26, 32, 96, 97, 98, 104, 291, 314, 394, 395, 518, 669, 791, 799], "detectedcollis": [24, 25, 26, 96, 97, 98], "itself": [26, 98, 776, 785, 796, 799], "width": [27, 99, 629], "height": [27, 99, 627], "displai": [27, 99, 222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 672, 787, 789], "gui": [27, 28, 89, 99, 100, 668, 787, 789, 791, 800], "background": [27, 99], "pixel": [27, 99], "_name": [28, 100], "tag": [28, 40, 100, 112, 787, 789], "sever": [28, 100, 476, 672, 674, 773, 774, 778], "time": [28, 73, 100, 140, 144, 168, 325, 380, 513, 578, 668, 670, 672, 749, 781, 785, 787, 791, 799], "same": [28, 32, 100, 104, 383, 420, 538, 672, 779, 781, 783, 785, 787, 789, 791], "modifi": [28, 100, 672, 787, 789, 801], "between": [28, 75, 100, 416, 516, 587, 658, 662, 668, 752, 774, 776, 781, 789, 796, 798], "cach": [28, 30, 31, 34, 35, 45, 100, 102, 103, 106, 107, 117, 173, 190, 672, 777], "behavior": [28, 100, 291, 345, 438, 670, 672, 674, 704, 777], "prevent": [28, 100, 791], "recogn": [28, 100], "chang": [28, 100, 291, 403, 513, 672, 673, 770, 787, 789, 798, 799], "It": [28, 75, 100, 325, 356, 587, 626, 643, 668, 669, 670, 671, 672, 752, 774, 779, 781, 783, 788, 789, 792, 800], "best": [28, 89, 100, 136, 613, 631, 673, 796, 798], "practic": [28, 100, 789], "argument": [28, 73, 100, 221, 223, 237, 239, 467, 479, 513, 672, 674, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 749, 777], "setphysicsengineparamet": [28, 100], "enablefilecach": [28, 100], "filter": [32, 104, 599], "those": [32, 104, 794], "custom": [32, 104, 314, 371, 578, 771, 779, 780, 800], "replac": [32, 104, 420, 671, 672, 787], "robotmodel": [34, 38, 106, 110, 476, 479, 538, 543, 672, 771, 774, 775, 776, 777, 800], "filepath": [35, 107, 229, 233, 248, 253, 260, 263, 270, 276, 283, 288, 294, 299, 305, 310, 317, 321, 328, 331, 337, 342, 348, 353, 361, 367, 374, 377, 385, 399, 407, 412, 431, 435, 441, 445, 453, 461, 469, 473, 489, 522, 541, 552, 558, 562, 568, 574, 581, 584, 590, 594, 601, 606, 796], "get": [37, 109, 159, 162, 232, 252, 257, 262, 272, 275, 280, 287, 298, 308, 309, 320, 330, 341, 352, 365, 366, 376, 395, 398, 410, 411, 418, 420, 421, 422, 434, 444, 455, 459, 460, 472, 478, 491, 492, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 508, 509, 510, 511, 515, 518, 521, 526, 527, 528, 529, 532, 538, 543, 546, 547, 548, 549, 550, 551, 561, 565, 570, 571, 573, 583, 593, 605, 621, 624, 630, 639, 641, 646, 668, 672, 696, 773, 777, 785, 791, 792, 800], "pose": [37, 49, 76, 109, 121, 125, 314, 334, 345, 555, 672, 723, 753, 773, 774, 779, 780, 783, 792, 794, 796], "cached_robot": [38, 110], "intern": [38, 110, 626, 643, 671], "id": [38, 80, 81, 82, 83, 110, 133, 134, 280, 420, 421, 424, 426, 717, 719, 733, 735, 762, 763, 765, 766, 771], "urdf_fil": [40, 112], "resource_load": [40, 112], "precis": [40, 112, 173, 193, 630, 646, 672, 777], "input": [40, 112, 670, 776, 796], "urdf": [40, 112, 173, 195, 476, 533, 543, 672, 771, 776, 777, 780, 791, 792, 800], "absolut": [40, 41, 112, 113, 393, 519, 773], "link": [40, 69, 73, 75, 78, 112, 125, 128, 130, 257, 280, 314, 403, 406, 418, 448, 451, 452, 455, 456, 457, 478, 479, 488, 495, 496, 497, 503, 504, 506, 509, 510, 533, 538, 547, 550, 565, 670, 672, 723, 729, 731, 746, 749, 752, 756, 772, 775, 778, 780, 791, 793, 795, 798], "either": [40, 112, 145, 266, 380, 670, 672], "rel": [40, 112, 125, 302, 334, 339, 345, 350, 356, 358, 403, 406, 428, 438, 448, 451, 452, 455, 456, 457, 565, 587, 659, 670, 723, 773, 779, 789], "abstractmeshload": [40, 112], "befor": [40, 69, 73, 112, 141, 144, 145, 340, 351, 488, 560, 592, 613, 631, 668, 672, 746, 749, 774, 777, 781, 782, 783, 784, 785, 787, 788, 789, 791], "ad": [40, 65, 84, 112, 126, 223, 239, 325, 427, 614, 632, 670, 671, 672, 678, 721, 725, 740, 768, 770, 776, 785, 787, 788, 789, 791], "empti": [40, 112, 660, 788], "defin": [40, 75, 112, 130, 173, 269, 272, 273, 314, 334, 345, 356, 363, 380, 403, 406, 423, 428, 438, 451, 452, 455, 456, 457, 476, 483, 484, 491, 516, 517, 538, 587, 627, 629, 630, 645, 646, 662, 672, 674, 731, 752, 773, 774, 776, 777, 779, 783, 784, 785, 787, 788, 789, 792, 796], "import": [40, 89, 112, 173, 232, 252, 262, 269, 272, 273, 275, 287, 296, 298, 302, 309, 320, 330, 341, 352, 358, 366, 376, 391, 398, 403, 406, 411, 428, 434, 438, 444, 448, 451, 452, 455, 456, 457, 460, 472, 521, 533, 538, 543, 551, 561, 573, 583, 593, 597, 605, 613, 631, 650, 651, 671, 672, 674, 773, 774, 776, 777, 781, 782, 783, 784, 785, 789, 791, 792, 794, 796, 797, 798, 799], "toler": [40, 112, 173, 296, 297, 334, 339, 340, 345, 350, 351, 358, 363, 364, 383, 403, 406, 428, 433, 438, 443, 452, 456, 652, 672], "tol": [40, 112, 173, 383, 652], "By": [40, 50, 112, 122, 340, 351, 774, 796], "amend": [40, 112], "ye": [40, 112], "flag": [40, 112, 672], "srdf_filenam": [41, 113, 543], "semant": [41, 113, 173, 194, 476, 487, 498, 499, 500, 517, 533, 534, 535, 536, 537, 538, 543, 544, 545, 672, 778, 788], "srdf": [41, 113, 173, 194, 428, 533, 538, 543, 544, 672, 788], "load_geometri": [42, 114, 173, 534, 535, 536, 537, 777, 794, 796], "ur5": [42, 114, 215, 218, 406, 452, 478, 488, 491, 492, 496, 497, 498, 499, 500, 503, 504, 509, 510, 513, 514, 524, 525, 532, 533, 670, 672, 771, 774, 776, 778, 780, 782, 783, 784, 785, 788, 791, 792, 794, 796, 800], "reload": [45, 117, 777], "should": [49, 121, 125, 133, 136, 237, 291, 296, 297, 324, 334, 340, 351, 416, 478, 530, 560, 587, 592, 670, 672, 674, 723, 733, 770, 777, 779, 781, 788, 789], "step_simul": [49, 121, 791], "zero_configur": [49, 121, 513, 514, 783, 784, 792], "miss": [49, 121, 672], "ones": [49, 121, 513, 514, 668, 670], "expect": [49, 121, 672], "suppli": [49, 121], "physic": [50, 122, 787, 789], "step": [50, 122, 324, 653, 673, 770, 780, 788, 790, 797], "unless": [50, 122, 770], "explicitli": [50, 122, 296], "send": [50, 122, 140, 142, 145, 162, 185, 626, 643, 673, 774, 781], "command": [50, 122, 617, 620, 621, 626, 635, 638, 639, 643, 670, 671, 673, 770, 781, 787, 788, 789, 791, 799], "action": [50, 122, 150, 152, 154, 672, 770, 801], "singl": [50, 122, 193, 314, 428, 587, 626, 643, 670, 775, 786], "dynam": [50, 122, 488, 555, 669], "timestep": [50, 122, 151], "240": [50, 122], "caus": [51, 514], "error": [51, 142, 150, 152, 382, 403, 406, 648, 649, 672, 673], "engin": [51, 800], "select": [52, 334, 488, 668, 672, 777, 788, 789, 796, 799], "doe": [52, 77, 129, 131, 132, 135, 150, 223, 239, 319, 363, 394, 395, 421, 467, 511, 515, 669, 672, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 754, 770, 783, 787], "futureresult": [53, 672], "repres": [53, 58, 257, 280, 291, 314, 325, 334, 345, 356, 371, 380, 417, 428, 438, 476, 513, 514, 524, 525, 538, 555, 565, 587, 597, 603, 611, 612, 672, 776, 787], "futur": [53, 58, 150, 672], "result": [53, 58, 73, 75, 78, 130, 141, 145, 150, 152, 476, 513, 533, 624, 626, 641, 643, 731, 749, 752, 756, 777, 788, 794, 798], "asynchron": [53, 58, 70, 74, 76, 77, 79, 747, 750, 753, 754, 757], "oper": [53, 54, 58, 274, 280, 421, 613, 621, 626, 631, 639, 643, 670, 671, 672, 673, 787, 791, 800], "cancel": [53, 150, 152, 672], "attempt": [54, 73, 749, 788], "cannot": [54, 314, 776], "otherwis": [54, 136, 156, 159, 160, 163, 164, 165, 166, 167, 169, 170, 171, 173, 176, 190, 191, 291, 383, 530, 613, 631, 665, 801], "timeout": [55, 59, 73, 141, 145, 146, 150, 151, 152, 182, 514, 613, 631, 649, 650, 749, 788], "feedback": [55, 59, 150, 152], "instruct": [55, 59, 668, 670], "yet": [55, 59, 520, 555, 787], "wait": [55, 58, 59, 141, 144, 145, 182, 184, 668], "up": [55, 59, 534, 535, 536, 537, 668, 669, 670, 672, 673, 778, 787, 794, 796, 798], "expir": [55, 59], "kinematicserror": [56, 60], "found": [56, 57, 60, 73, 75, 371, 465, 513, 514, 622, 670, 749, 752, 778, 783, 792, 794, 799], "pybulleterror": 57, "allow": [58, 73, 75, 78, 141, 190, 257, 403, 406, 421, 428, 452, 456, 478, 488, 599, 614, 632, 651, 660, 670, 671, 672, 674, 749, 752, 756, 776, 777, 779, 784, 787, 788], "explicit": [58, 785], "control": [58, 232, 237, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 546, 549, 551, 561, 573, 583, 587, 593, 605, 670, 672, 674, 787], "block": [58, 145, 148, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 182, 184, 186, 476, 672, 781], "complet": [58, 150, 152, 578, 613, 617, 631, 635, 777, 779, 799], "could": [60, 672, 673, 786, 787, 794], "backenderror": [61, 73, 123, 189, 196, 513, 514, 749], "moveitforwardkinemat": [62, 800], "moveitinversekinemat": [62, 800], "moveitplanmot": [62, 800], "moveitplancartesianmot": [62, 800], "moveitplanningscen": [62, 800], "moveitresetplanningscen": [62, 672, 800], "moveitaddcollisionmesh": [62, 800], "moveitremovecollisionmesh": [62, 800], "moveitappendcollisionmesh": [62, 800], "moveitaddattachedcollisionmesh": [62, 800], "moveitremoveattachedcollisionmesh": [62, 800], "plannerinterfac": [62, 124, 136, 672, 674, 800], "attached_collision_mesh": [63, 64, 73, 75, 78, 125, 371, 418, 516, 517, 565, 672, 676, 723, 737, 738, 749, 752, 756], "add": [63, 65, 125, 126, 175, 176, 240, 243, 418, 419, 420, 670, 671, 672, 673, 675, 676, 677, 678, 722, 723, 724, 725, 736, 737, 739, 740, 767, 777, 780, 789, 791, 796, 799], "attachedcollisionmesh": [63, 73, 75, 78, 125, 371, 418, 424, 516, 517, 565, 672, 676, 723, 737, 749, 752, 756, 791], "unus": [63, 65, 67, 69, 71, 80, 82, 84, 134, 735, 737, 740, 743, 746, 759, 762, 765, 768], "callback": [64, 66, 68, 70, 72, 74, 76, 77, 79, 81, 83, 85, 141, 142, 143, 144, 148, 150, 151, 152, 154, 156, 157, 158, 159, 160, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 174, 175, 176, 186, 738, 741, 744, 747, 750, 753, 754, 757, 760, 763, 766, 769, 781], "errback": [64, 66, 68, 70, 72, 74, 76, 77, 79, 81, 83, 85, 142, 148, 150, 152, 154, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 186, 738, 741, 744, 747, 750, 753, 754, 757, 760, 763, 766, 769], "collision_mesh": [65, 66, 67, 68, 126, 127, 257, 420, 421, 422, 678, 680, 725, 727, 740, 741, 743, 744], "collisionmesh": [65, 67, 126, 127, 257, 418, 420, 421, 422, 424, 426, 494, 672, 678, 680, 725, 727, 740, 743, 785, 791], "append": [67, 127, 421, 672, 679, 680, 726, 727, 742, 743, 784, 785], "zero": [69, 73, 75, 78, 128, 130, 302, 358, 403, 406, 448, 451, 452, 455, 456, 457, 488, 495, 502, 513, 514, 516, 517, 532, 672, 695, 729, 731, 746, 749, 752, 756, 787, 789], "assum": [69, 128, 356, 488, 674, 695, 729, 746], "base_link": [69, 73, 75, 78, 496, 497, 509, 746, 749, 752, 756, 774, 776, 787, 788, 789], "root": [69, 73, 280, 476, 671, 746, 749, 787, 789], "backward": [69, 152, 488, 672, 746], "compat": [69, 152, 222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 488, 539, 556, 566, 579, 588, 598, 669, 672, 746, 778], "try": [69, 130, 488, 672, 731, 746, 783, 788], "tool0": [69, 257, 334, 406, 418, 452, 488, 491, 492, 503, 504, 509, 565, 570, 571, 659, 672, 746, 772, 787, 788, 789, 791], "fallback": [69, 488, 746], "world": [69, 128, 280, 428, 438, 488, 524, 525, 526, 527, 672, 695, 729, 746, 772, 773, 780, 783, 787, 788, 789, 792], "coordin": [69, 128, 334, 339, 345, 350, 356, 406, 428, 438, 452, 488, 524, 525, 526, 527, 565, 587, 604, 659, 695, 729, 746, 771, 772, 773, 776, 779, 783, 787, 788, 789, 792, 800], "wcf": [69, 128, 428, 438, 488, 491, 492, 524, 525, 526, 527, 570, 571, 659, 695, 729, 746, 772], "handler": [70, 74, 76, 77, 79, 747, 750, 753, 754, 757], "fk": [70, 488, 672, 747], "servic": [70, 74, 76, 77, 79, 142, 145, 157, 162, 163, 164, 165, 166, 167, 671, 672, 682, 704, 747, 750, 753, 754, 757], "retriev": [71, 154, 156, 157, 158, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 190, 513, 613, 621, 622, 623, 631, 639, 640, 672, 697, 758, 759, 794], "messag": [71, 76, 142, 145, 156, 162, 185, 617, 635, 672, 753, 759, 781], "moveit_msg": [71, 759], "planningscen": [71, 672, 697, 759, 785], "least": [73, 130, 513, 514, 668, 670, 731, 749], "avoid_collis": [73, 75, 516, 749, 752, 784], "avoid": [73, 75, 651, 672, 749, 752, 785], "request": [73, 130, 140, 142, 145, 162, 163, 334, 371, 428, 513, 672, 731, 749, 782, 783, 784, 792, 794], "must": [73, 75, 136, 291, 297, 428, 517, 613, 631, 669, 749, 752, 774, 787, 789, 792, 794], "obei": [73, 749], "maximum": [73, 75, 130, 324, 393, 654, 731, 749, 752], "supersed": [73, 749], "noetic": [73, 670, 672, 749], "number": [73, 78, 130, 141, 144, 145, 291, 296, 324, 325, 465, 511, 626, 643, 654, 655, 656, 662, 665, 731, 749, 756, 779, 796, 799], "ignor": [73, 130, 672, 731, 749], "newer": [73, 749], "instead": [73, 192, 421, 488, 513, 514, 672, 749, 779, 781, 785], "max_result": [73, 130, 731, 749, 783, 792], "100": [73, 130, 731, 749, 783, 784], "max_step": [75, 516, 752, 784], "approxim": [75, 516, 752], "distanc": [75, 130, 297, 516, 622, 628, 644, 647, 731, 752, 796], "point": [75, 173, 227, 246, 280, 325, 334, 356, 371, 380, 428, 433, 438, 443, 448, 452, 456, 457, 465, 491, 492, 516, 524, 525, 570, 571, 587, 604, 671, 672, 674, 752, 773, 774, 775, 783, 784, 785, 787, 789, 794, 795, 796, 797], "01": [75, 403, 406, 516, 752, 784, 795, 798], "jump_threshold": [75, 516, 672, 752], "consecut": [75, 752], "abov": [75, 78, 291, 358, 363, 670, 752, 756, 785, 794, 799, 801], "threshold": [75, 130, 731, 752], "comput": [75, 78, 130, 152, 232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 528, 529, 551, 561, 573, 583, 593, 605, 670, 674, 731, 752, 756, 781, 784, 788], "fail": [75, 514, 516, 517, 752], "specifi": [75, 167, 171, 190, 194, 195, 291, 314, 324, 334, 339, 345, 350, 394, 395, 403, 406, 428, 438, 452, 501, 513, 514, 515, 626, 643, 660, 663, 752, 773, 776, 779, 788, 792, 796], "relat": [75, 476, 662, 752, 774], "jump": [75, 752], "might": [75, 184, 488, 654, 655, 656, 673, 752, 787, 788], "occur": [75, 189, 196, 752], "invalid": [75, 518, 752], "pi": [75, 383, 391, 393, 608, 609, 752, 789], "path_constraint": [75, 78, 516, 517, 752, 756], "impos": [75, 78, 516, 517, 752, 756], "along": [75, 78, 394, 516, 517, 669, 752, 756, 776, 789], "won": [75, 78, 516, 517, 752, 756], "t": [75, 78, 140, 488, 516, 517, 670, 672, 752, 756, 785, 789], "violat": [75, 78, 516, 517, 752, 756], "framewaypoint": [76, 516, 587, 672, 753, 779, 784, 794], "afaik": [77, 754], "relax": [77, 754], "under": [77, 383, 421, 754, 770, 785, 789], "reach": [78, 228, 247, 428, 756, 783, 792, 794, 796], "planner_id": [78, 517, 756, 784], "algorithm": [78, 232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605, 756], "rrtconnect": [78, 517, 756, 784], "num_planning_attempt": [78, 756], "normal": [78, 671, 756, 796], "need": [78, 152, 297, 538, 543, 616, 619, 634, 637, 651, 668, 669, 670, 671, 672, 756, 770, 774, 781, 783, 785, 787, 789, 792, 797, 799], "howev": [78, 513, 668, 669, 671, 756, 779, 789, 794, 797, 798], "random": [78, 140, 518, 756, 788], "like": [78, 428, 438, 543, 587, 756, 773, 785, 787, 789], "rrt": [78, 756], "produc": [78, 467, 699, 756], "mani": [78, 670, 672, 756, 771, 786, 788], "addit": [78, 221, 223, 237, 239, 428, 488, 513, 514, 516, 517, 614, 632, 670, 756], "report": [78, 756], "shortest": [78, 756], "final": [78, 671, 756], "allowed_planning_tim": [78, 756], "max_velocity_scaling_factor": [78, 756], "max_acceleration_scaling_factor": [78, 756], "reset": [84, 672, 720, 721, 768], "pybulletbas": 89, "compasfab": 89, "context": [89, 136, 613, 631, 672, 781], "manag": [89, 136, 613, 631, 672, 674, 682, 704, 781, 799], "type": [89, 136, 156, 163, 164, 165, 167, 169, 171, 222, 225, 229, 230, 236, 238, 244, 248, 249, 256, 258, 259, 260, 261, 265, 266, 267, 269, 270, 271, 272, 273, 279, 281, 282, 283, 284, 290, 292, 293, 294, 295, 296, 301, 302, 303, 305, 306, 313, 314, 315, 316, 317, 318, 319, 323, 326, 327, 328, 329, 333, 335, 336, 337, 338, 344, 346, 347, 348, 349, 355, 359, 361, 362, 363, 370, 372, 373, 374, 375, 379, 380, 381, 384, 385, 386, 391, 401, 404, 407, 408, 415, 429, 430, 431, 432, 437, 439, 440, 441, 442, 447, 449, 453, 454, 464, 466, 468, 469, 470, 475, 477, 480, 489, 490, 499, 508, 516, 531, 539, 540, 541, 542, 554, 555, 556, 557, 558, 559, 564, 566, 567, 568, 569, 577, 579, 580, 581, 582, 586, 587, 588, 589, 590, 591, 596, 598, 601, 602, 610, 613, 629, 631, 645, 672, 674, 776, 779, 785, 787, 788, 789, 799], "statement": [89, 136, 613, 616, 619, 631, 634, 637], "ensur": [89, 136, 423, 613, 631, 670], "resourc": [89, 136, 613, 631, 777, 791], "dealloc": [89, 136, 613, 631], "thank": [89, 671], "yijiang": [89, 667], "huang": [89, 667], "hi": 89, "pybullet_plan": 89, "much": [89, 674], "inspir": [89, 796], "connection_typ": [89, 791, 792, 794, 796], "connect": [89, 136, 140, 142, 144, 145, 176, 182, 185, 222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 516, 517, 539, 556, 566, 579, 588, 598, 613, 621, 626, 631, 639, 643, 670, 671, 672, 674, 776, 781, 787, 791, 796, 801], "verbos": [89, 797], "log": 89, "direct": [89, 791, 792, 794, 796], "print": [89, 136, 173, 222, 233, 234, 238, 253, 254, 258, 263, 264, 267, 276, 277, 281, 288, 289, 292, 299, 300, 303, 310, 311, 315, 321, 322, 324, 326, 331, 332, 335, 342, 343, 346, 353, 354, 359, 367, 368, 372, 377, 378, 381, 399, 400, 404, 412, 413, 416, 428, 429, 435, 436, 438, 439, 445, 446, 449, 461, 462, 466, 473, 474, 477, 512, 517, 522, 523, 539, 543, 552, 553, 556, 562, 563, 566, 571, 574, 575, 579, 584, 585, 587, 588, 594, 595, 598, 599, 604, 606, 607, 773, 774, 776, 777, 779, 781, 783, 784, 791, 792, 794, 796, 797], "is_connect": [89, 136, 672, 781, 791], "pybulletaddattachedcollisionmesh": [124, 800], "pybulletaddcollisionmesh": [124, 800], "pybulletappendcollisionmesh": [124, 800], "pybulletremovecollisionmesh": [124, 800], "pybulletremoveattachedcollisionmesh": [124, 800], "pybulletforwardkinemat": [124, 800], "pybulletinversekinemat": [124, 800], "inertia": [125, 672, 723], "matrix": [125, 339, 356, 723, 780], "ixx": [125, 356, 723], "ixi": [125, 356, 723], "ixz": [125, 356, 723], "iyi": [125, 356, 723], "iyz": [125, 356, 723], "izz": [125, 356, 723], "inertial_origin": [125, 723], "inerti": [125, 356, 723], "refer": [125, 356, 358, 403, 417, 448, 451, 455, 456, 457, 488, 513, 514, 516, 517, 604, 614, 622, 632, 668, 669, 670, 723, 774, 786, 799, 800], "worldxi": [125, 273, 280, 451, 672, 723, 773, 789], "collision_origin": [125, 723], "backendfeaturenotsupportederror": [129, 131, 132, 135, 672, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715], "link_nam": [130, 257, 403, 406, 448, 451, 452, 455, 456, 457, 488, 506, 672, 731], "semi": [130, 731], "constrain": [130, 334, 345, 358, 403, 448, 458, 731], "orient": [130, 302, 334, 339, 345, 350, 403, 406, 428, 438, 452, 731, 773, 779, 787, 796, 797], "consid": [130, 383, 406, 428, 452, 672, 674, 731, 776, 796], "enforce_joint_limit": [130, 731], "limit": [130, 532, 672, 731, 776, 788, 789, 791, 801], "high_accuraci": [130, 731], "iter": [130, 513, 514, 672, 731], "approach": [130, 513, 731], "minimum": [130, 627, 655, 731], "deviat": [130, 291, 324, 731, 795], "high_accuracy_threshold": [130, 731, 792], "accept": [130, 291, 672, 731, 779], "high": [130, 630, 646, 731], "accuraci": [130, 731], "1e": [130, 383, 652, 731, 792], "high_accuracy_max_it": [130, 731, 792], "20": [130, 670, 672, 731, 792, 796, 798], "inversekinematicserror": [130, 731], "via": [136, 150, 613, 626, 631, 643, 672], "rosbridg": [136, 670], "roslibpi": [136, 516, 517, 672, 781], "host": [136, 671], "bridg": [136, 142, 145, 162, 185, 670], "localhost": [136, 671], "port": [136, 613, 631, 650], "9090": [136, 670], "is_secur": 136, "secur": [136, 671], "web": [136, 670], "socket": [136, 670], "planner_backend": [136, 794], "plugin": 136, "sub": [136, 380, 660], "moveitplann": [136, 672], "more": [136, 291, 314, 438, 488, 513, 514, 516, 517, 546, 549, 604, 670, 671, 672, 673, 776, 777, 779, 787, 794, 798], "out": [136, 532, 801], "page": [136, 670], "mac": [140, 668, 671, 672, 770, 791], "dest": 140, "rand": 140, "level": [140, 187, 538, 614, 626, 632, 643, 672], "author": [140, 673, 780, 801], "hash": [140, 232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "string": [140, 150, 152, 222, 230, 234, 238, 249, 254, 258, 261, 264, 267, 271, 277, 281, 284, 289, 292, 295, 300, 303, 306, 311, 315, 318, 322, 326, 329, 332, 335, 338, 343, 346, 349, 354, 359, 362, 368, 372, 375, 378, 381, 386, 400, 404, 408, 413, 429, 432, 436, 439, 442, 446, 449, 454, 462, 466, 470, 474, 477, 490, 523, 539, 542, 544, 553, 556, 559, 563, 566, 569, 575, 579, 582, 585, 588, 591, 595, 598, 602, 607, 626, 629, 643, 645, 660, 781], "trust": 140, "ip": [140, 670, 671], "destin": 140, "user": [140, 296, 314, 334, 340, 351, 428, 514, 560, 592, 668, 670, 671, 672, 674, 770, 773, 774, 779, 788, 791, 799], "session": [140, 771], "thread": [141, 143, 176, 791], "synchron": [141, 672], "invok": [141, 142, 143, 144, 150, 152, 176, 513, 613, 631, 669, 672, 673, 770, 781], "respons": [141, 145, 164, 196], "onc": [142, 145, 185, 670, 673, 777, 782, 787, 799], "establish": [142, 145, 176, 185], "alreadi": [142, 145, 176, 185, 420, 788], "avail": [142, 145, 176, 185, 476, 513, 514, 604, 668, 671, 673, 770, 777, 778, 779, 787, 796, 799, 800], "sent": [142, 145, 185, 626, 643], "immedi": [142, 145, 176, 185, 788], "success": [142, 799], "defer": 143, "factori": [143, 533, 625, 642], "delai": [144, 672], "after": [144, 314, 599, 668, 670, 770, 779, 785, 787, 789, 796, 799], "period": 144, "readi": [144, 176, 182, 778, 799], "10": [146, 182, 604, 667, 668, 670, 672, 783, 788, 796], "disconnect": [146, 672, 674], "delet": 148, "event_nam": [149, 174, 175], "trigger": [149, 175], "event": [149, 174, 175, 182, 184, 188, 781, 801], "joint_trajectori": [150, 152], "action_nam": [150, 152, 672], "execute_trajectori": 150, "feedback_callback": [150, 152], "60000": [150, 151, 152], "infrastructur": [150, 781], "goal": [150, 152, 314, 703, 775, 784], "dure": [150, 152, 232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605, 672, 673, 779, 781], "millisecond": [150, 152], "cancellablefutureresult": [150, 672], "multi": [150, 672, 778], "dof": [150, 778, 794], "joint_nam": [151, 291, 358, 371, 387, 388, 394, 395, 511, 517, 672, 794], "joint_trajectory_act": 152, "msg": 152, "well": [152, 190, 668, 670, 672, 776, 777, 799], "some": [152, 488, 668, 670, 672, 777, 787, 789, 794, 799], "driver": [152, 774], "cancellabletask": [152, 672], "message_typ": 156, "node": [157, 158, 223, 231, 235, 239, 251, 255, 670, 787, 789], "subscrib": [157, 175, 672, 781], "topic": [157, 169, 170, 171, 672, 781], "publish": [157, 670, 672, 781, 801], "activ": [158, 166, 614, 632, 799], "param": [160, 672, 787, 789], "service_nam": 165, "service_typ": 167, "topic_typ": 171, "urdf_param_nam": 173, "robot_descript": [173, 190, 195, 543, 777, 787, 789, 791, 792], "srdf_param_nam": 173, "robot_description_semant": [173, 194, 543], "local_cache_directori": [173, 190, 777], "directli": [173, 671, 672, 777, 787, 796], "where": [173, 297, 340, 351, 428, 433, 438, 443, 587, 666, 670, 672, 674, 777, 779, 781, 788, 795], "directori": [173, 190, 660, 673, 787, 788, 789], "descript": [173, 195, 476, 479, 538, 669, 670, 771, 776, 777, 778, 788, 800], "store": [173, 190, 777], "taken": 173, "rosfileserverload": [173, 672], "global": [173, 773, 789], "workspac": [173, 780, 796], "storag": 173, "assign": [173, 325, 613, 626, 631, 643, 674, 783], "local": [173, 190, 516, 517, 533, 671, 673, 773, 777, 778, 799], "ur5_robot": [173, 533, 543, 782, 783, 784, 785, 787, 791, 792], "arbitrari": [174, 175], "unsubscrib": 174, "run_in_thread": 176, "kick": [182, 184, 222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "loop": [182, 184, 188, 781], "until": [182, 514, 779, 788, 791], "depend": [184, 193, 334, 356, 380, 428, 488, 626, 643, 651, 672, 673, 774, 776, 796], "identifi": [187, 280, 421, 555, 587, 785], "signal": 188, "wrap": [189, 196, 672], "them": [190, 421, 651, 668, 670, 672, 770, 771, 781, 782, 783, 784, 785, 787, 788, 797, 799, 800], "faster": [190, 777], "re": [190, 668, 774], "loader": [190, 191, 672, 777, 791], "afterward": [190, 799], "rosclient": [190, 418, 420, 421, 422, 424, 426, 476, 516, 517, 538, 672, 777, 781, 782, 783, 784, 785], "local_cach": 190, "url": [191, 192, 193, 667], "scheme": 191, "deprec": [192, 672], "sinc": [192, 654, 655, 656, 672, 777, 789, 792], "version": [192, 232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605, 672, 673, 787, 789, 799], "23": [192, 672], "multipl": [193, 334, 428, 516, 668, 670, 672, 771, 775, 783, 785, 792, 797, 799, 800], "format": [193, 232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 538, 551, 561, 573, 583, 593, 605, 620, 638, 672, 776, 787, 788, 789, 799, 800], "pars": [193, 672, 787, 789], "geometr": [193, 776, 796], "parameter_nam": [194, 195], "valid": [196, 236, 256, 265, 279, 290, 301, 313, 323, 333, 344, 355, 370, 379, 401, 415, 437, 447, 464, 465, 475, 513, 514, 531, 554, 564, 577, 586, 587, 596, 610, 796], "st\u00e4ubli": 200, "tx2": 200, "60l": 200, "offsetwristkinemat": [203, 206, 209, 212, 215, 218], "ur10": [203, 206, 670, 672, 771, 778, 780, 794, 800], "seri": [203, 206, 212, 218], "ur3": [209, 212, 670, 672, 794], "ghsceneobject": 221, "draw": [221, 237, 438, 483, 484, 777, 779, 796, 798], "reachabl": [221, 227, 228, 237, 246, 247, 465, 467, 471, 670, 771, 800], "map": [221, 227, 228, 237, 246, 247, 465, 467, 771, 774, 800], "reachability_map": [221, 237], "reachabilitymap": [221, 237, 672, 796, 797, 798], "keyword": [221, 223, 237, 239, 479], "exist": [222, 238, 258, 267, 281, 292, 296, 303, 315, 326, 335, 346, 359, 372, 381, 404, 421, 429, 439, 449, 466, 477, 488, 539, 556, 566, 579, 588, 598, 660, 672, 674, 777, 791, 799, 800], "net": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "ironpython": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 669, 672, 770, 800], "implicit": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "usual": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 514, 539, 556, 566, 579, 588, 598, 670, 770, 787, 796], "take": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 394, 395, 404, 429, 439, 449, 466, 477, 515, 539, 556, 566, 579, 588, 598, 654, 655, 656, 668, 670, 672, 784, 788, 796, 799], "place": [222, 238, 258, 267, 280, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 394, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 796], "cpython": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "self": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 674, 780], "gettyp": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "fullnam": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "similar": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 345, 346, 359, 372, 381, 404, 429, 438, 439, 449, 466, 477, 539, 548, 556, 566, 579, 588, 598, 652, 653, 654, 655, 656, 779, 791], "overrid": [222, 227, 238, 246, 258, 267, 281, 292, 296, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 674, 798], "fix": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 546, 549, 556, 566, 579, 588, 598, 672, 774, 776, 779, 787, 788, 789], "grasshopp": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 669, 672, 673, 771, 777, 780, 799, 800], "proper": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "represent": [222, 233, 234, 238, 253, 254, 258, 263, 264, 267, 276, 277, 281, 288, 289, 292, 299, 300, 303, 310, 311, 315, 321, 322, 326, 331, 332, 335, 342, 343, 346, 353, 354, 359, 367, 368, 372, 377, 378, 381, 399, 400, 404, 412, 413, 429, 435, 436, 439, 445, 446, 449, 461, 462, 466, 473, 474, 476, 477, 522, 523, 539, 552, 553, 556, 562, 563, 565, 566, 574, 575, 579, 584, 585, 588, 594, 595, 598, 606, 607, 672, 773], "panel": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "output": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 673, 776, 781, 787, 789, 791], "item": [223, 239], "child": [223, 231, 239, 251, 672, 774, 776, 787, 788, 789], "sceneobject": [223, 239], "associ": [223, 239, 704, 778, 801], "cl": [225, 244, 259, 282, 293, 316, 327, 336, 347, 357, 373, 384, 430, 440, 468, 480, 540, 557, 567, 580, 589], "independ": [225, 244, 259, 282, 293, 316, 327, 336, 347, 373, 384, 430, 440, 468, 478, 480, 540, 557, 567, 580, 589, 800], "colormap": [226, 227, 245, 246, 796], "viridi": [226, 227, 245, 246, 796], "cloud": [227, 246, 796, 798], "score": [227, 246, 465, 796, 798], "2d": [227, 246, 465, 467, 771, 795, 800], "ik_index": [228, 247, 471, 796], "index": [228, 247, 471, 654, 655, 796, 798, 799, 800], "7": [228, 247, 629, 630, 646, 672, 770, 796, 798, 800], "classmethod": [229, 230, 236, 248, 249, 256, 260, 261, 265, 269, 270, 271, 272, 273, 279, 283, 284, 290, 294, 295, 296, 301, 305, 306, 313, 317, 318, 323, 328, 329, 333, 337, 338, 339, 344, 348, 349, 350, 355, 361, 362, 363, 370, 374, 375, 379, 385, 386, 387, 388, 401, 406, 407, 408, 415, 431, 432, 437, 441, 442, 447, 451, 452, 453, 454, 455, 456, 457, 464, 469, 470, 475, 479, 489, 490, 531, 534, 535, 536, 537, 541, 542, 543, 544, 545, 554, 558, 559, 564, 568, 569, 572, 577, 581, 582, 586, 590, 591, 596, 599, 601, 602, 603, 610], "construct": [229, 230, 236, 248, 249, 256, 260, 261, 265, 270, 271, 279, 283, 284, 290, 294, 295, 301, 305, 306, 313, 317, 318, 323, 328, 329, 333, 337, 338, 344, 348, 349, 355, 361, 362, 370, 374, 375, 379, 385, 386, 387, 388, 401, 407, 408, 415, 431, 432, 437, 441, 442, 447, 453, 454, 464, 469, 470, 475, 489, 490, 531, 541, 542, 554, 558, 559, 564, 568, 569, 577, 581, 582, 586, 590, 591, 596, 599, 601, 602, 603, 610, 672], "json": [229, 230, 233, 234, 248, 249, 253, 254, 260, 261, 263, 264, 270, 271, 276, 277, 283, 284, 288, 289, 294, 295, 299, 300, 305, 306, 310, 311, 317, 318, 321, 322, 328, 329, 331, 332, 337, 338, 342, 343, 348, 349, 353, 354, 361, 362, 367, 368, 374, 375, 377, 378, 385, 386, 399, 400, 407, 408, 412, 413, 431, 432, 435, 436, 441, 442, 445, 446, 453, 454, 461, 462, 469, 470, 473, 474, 489, 490, 522, 523, 541, 542, 552, 553, 558, 559, 562, 563, 568, 569, 574, 575, 581, 582, 584, 585, 590, 591, 594, 595, 601, 602, 606, 607, 672, 796, 798], "correct": [229, 230, 248, 249, 260, 261, 270, 271, 283, 284, 294, 295, 305, 306, 317, 318, 328, 329, 337, 338, 348, 349, 361, 362, 363, 374, 375, 385, 386, 407, 408, 431, 432, 441, 442, 453, 454, 469, 470, 489, 490, 541, 542, 558, 559, 568, 569, 581, 582, 590, 591, 601, 602, 773, 789], "schema": [229, 230, 236, 248, 249, 256, 260, 261, 265, 270, 271, 279, 283, 284, 290, 294, 295, 301, 305, 306, 313, 317, 318, 323, 328, 329, 333, 337, 338, 344, 348, 349, 355, 361, 362, 370, 374, 375, 379, 385, 386, 401, 407, 408, 415, 431, 432, 437, 441, 442, 447, 453, 454, 464, 469, 470, 475, 489, 490, 531, 541, 542, 554, 558, 559, 564, 568, 569, 577, 581, 582, 586, 590, 591, 596, 601, 602, 610], "typeerror": [229, 230, 248, 249, 260, 261, 270, 271, 283, 284, 294, 295, 305, 306, 317, 318, 328, 329, 337, 338, 348, 349, 361, 362, 374, 375, 385, 386, 407, 408, 431, 432, 441, 442, 453, 454, 469, 470, 489, 490, 541, 542, 558, 559, 568, 569, 581, 582, 590, 591, 601, 602], "treenod": [231, 235, 251, 255], "as_str": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "comparison": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "digest": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "hexadecim": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "rather": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 514, 521, 551, 561, 573, 583, 593, 605, 672, 784, 787], "than": [232, 252, 262, 275, 287, 297, 298, 309, 320, 330, 341, 352, 363, 366, 376, 398, 411, 434, 444, 460, 472, 514, 521, 551, 561, 573, 583, 593, 605, 672, 784, 785, 787, 788, 794, 798], "byte": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "from_obj": [232, 252, 262, 272, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 455, 460, 472, 521, 551, 561, 573, 583, 593, 605], "face": [232, 252, 262, 272, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 455, 460, 472, 521, 551, 561, 573, 583, 593, 605], "v1": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605, 672], "v2": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605, 672], "vertex_attribut": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "vertex_sampl": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "z": [232, 252, 262, 275, 280, 287, 298, 309, 320, 324, 330, 341, 352, 356, 366, 376, 398, 403, 406, 411, 416, 428, 434, 438, 444, 460, 472, 521, 551, 561, 573, 583, 593, 599, 604, 605, 645, 667, 774, 779, 783, 785, 787, 789, 796, 797, 798], "v3": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "pretti": [233, 234, 253, 254, 263, 264, 276, 277, 288, 289, 299, 300, 310, 311, 321, 322, 331, 332, 342, 343, 353, 354, 367, 368, 377, 378, 399, 400, 412, 413, 435, 436, 445, 446, 461, 462, 473, 474, 522, 523, 552, 553, 562, 563, 574, 575, 584, 585, 594, 595, 606, 607], "strategi": [235, 255], "depthfirst": [235, 255], "preorder": [235, 255], "tree": [235, 255, 776], "breadthfirst": [235, 255], "postord": [235, 255], "depth": [235, 255], "next": [235, 255, 391, 514, 798], "against": [236, 256, 265, 279, 290, 301, 313, 323, 333, 344, 355, 370, 379, 401, 415, 437, 447, 464, 475, 531, 554, 564, 577, 586, 596, 610], "raw": [236, 256, 265, 279, 290, 301, 313, 323, 333, 344, 355, 370, 379, 401, 415, 437, 447, 464, 475, 531, 554, 564, 577, 586, 596, 610, 670], "__from_data__": [236, 256, 265, 279, 290, 301, 313, 323, 333, 344, 355, 370, 379, 401, 415, 437, 447, 464, 475, 531, 554, 564, 577, 586, 596, 610], "rhinosceneobject": 237, "length": [237, 296, 363, 658, 672], "ax": [237, 356, 403, 406, 438, 528, 771, 773, 774, 776, 780, 800], "layer": [237, 242, 672], "guid": [240, 246, 247, 668, 672, 799, 800], "clear": [242, 672], "arrow": 243, "compil": 243, "docobject": [243, 250], "attribut": [243, 257, 266, 280, 291, 302, 314, 325, 334, 345, 356, 358, 371, 380, 403, 417, 428, 438, 448, 465, 476, 538, 555, 565, 578, 587, 597, 613, 631, 672, 674, 681], "objectattribut": 243, "find": [250, 291, 314, 334, 755, 787, 789, 796], "touch_link": [257, 418, 478, 576], "touch": [257, 478], "weight": [257, 302, 358, 403, 406, 448, 451, 452, 455, 456, 457], "from_stl": [257, 280, 418, 420, 421, 422, 478, 491, 492, 565, 570, 571, 785, 791], "planning_scen": [257, 280, 418, 420, 421, 422, 478, 491, 492, 494, 565, 570, 571, 697, 785, 791], "cone": [257, 418, 422, 478, 491, 492, 565, 570, 571, 785, 791], "stl": [257, 280, 418, 420, 421, 422, 478, 491, 492, 565, 570, 571, 785, 787, 789, 791], "cm": [257, 280, 418, 420, 421, 422, 785, 791], "tip": [257, 334, 339, 345, 350, 406, 418, 422, 424, 428, 438, 452, 491, 492, 570, 571, 587, 659, 774, 785, 788, 791], "end_effector_link_nam": [257, 406, 418, 452], "wrist_3_link": [257, 418, 509, 510, 774, 776, 787, 789], "acm": [257, 418, 791], "we": [257, 383, 406, 418, 420, 421, 422, 452, 668, 670, 673, 674, 773, 777, 782, 785, 787, 788, 789, 792, 794, 796, 797, 798, 799], "want": [257, 314, 334, 418, 420, 421, 422, 587, 660, 773, 779, 787, 788, 789, 796, 798], "bound": [266, 358, 363, 364, 403, 448, 451, 455, 456, 457, 657], "volum": [266, 274, 278, 314, 414, 448, 451, 455, 456, 457], "volume_typ": 266, "primit": 266, "box": [266, 269, 451, 785, 799], "sphere": [266, 273, 448, 452, 457, 795, 796], "bv": [269, 272, 273, 448], "3": [272, 296, 325, 356, 383, 391, 393, 403, 406, 448, 452, 457, 513, 514, 516, 517, 538, 597, 599, 603, 608, 609, 629, 670, 672, 783, 784, 789, 792, 796, 799, 800], "scale_factor": [274, 285, 286, 307, 308, 364, 365, 396, 397, 409, 410, 458, 459, 476], "uniformli": [274, 285, 286], "appli": [278, 296, 770, 795], "ideal": 280, "coars": [280, 787], "later": [280, 671, 785, 787, 788, 789, 796], "add_collision_mesh": [280, 672, 785, 791], "remove_collision_mesh": [280, 421, 785, 791], "append_collision_mesh": [280, 785], "etc": [280, 670, 673, 771, 781, 799], "root_nam": [280, 476], "floor": [280, 420, 421, 426, 785, 791], "x": [280, 324, 356, 403, 406, 416, 599, 604, 631, 645, 672, 783, 787, 789, 796, 797, 798, 800], "y": [280, 324, 356, 403, 406, 416, 599, 604, 667, 783, 785, 796, 797], "xaxi": [280, 416, 773, 774, 796, 797, 798], "vector": [280, 324, 403, 406, 416, 428, 438, 491, 492, 524, 525, 528, 570, 571, 597, 599, 604, 771, 773, 795, 796, 800], "yaxi": [280, 773, 774, 796, 797, 798], "aim": [291, 314, 334, 670, 671], "move": [291, 314, 334, 428, 520, 530, 630, 646, 668, 672, 755, 776, 779, 781, 788, 789], "target_configur": 291, "suitabl": [291, 314, 428, 438], "known": [291, 776], "home": [291, 538, 787, 788], "repetit": 291, "calibr": 291, "actual": [291, 798], "cell": [291, 796], "undefin": 291, "tutori": [291, 314, 356, 669, 670, 776, 787, 788], "continu": [291, 296, 297, 391], "prismat": [291, 296, 297, 387, 396, 397, 776, 789], "tolerance_abov": [291, 296, 358, 672], "One": [291, 363, 668, 788], "each": [291, 314, 356, 363, 380, 403, 406, 494, 662, 670, 674, 776, 783, 788, 792, 796, 798], "alwai": [291, 651, 673, 796], "tolerance_below": [291, 296, 358, 672], "below": [291, 358, 363, 786, 787, 789, 792, 794, 796, 797, 798], "human": [291, 314, 334, 339, 345, 350, 428, 438, 555, 587], "readabl": [291, 314, 334, 339, 345, 350, 428, 438, 555, 587], "tolerance_prismat": 296, "tolerance_revolut": 296, "gener": [296, 324, 391, 416, 467, 513, 514, 670, 672, 673, 674, 699, 771, 779, 780, 794, 795, 796, 798, 800], "tolerances_abov": [296, 363, 517, 672], "tolerances_below": [296, 363, 517, 672], "equal": [296, 324, 652, 773, 787, 796, 797], "from_revolute_valu": [296, 383, 391, 393, 488, 516, 517, 783, 792], "14": [296, 478, 491, 492, 565, 570, 571, 672, 785, 799], "001": [296, 340, 351, 383, 452, 517, 560, 592, 784], "math": [296, 324, 391, 406, 416, 517, 608, 609, 784, 787, 796, 797, 798], "wa": [297, 371, 669, 670, 795, 799], "planar": [297, 396, 397], "constraint_typ": 302, "denot": [302, 358, 403, 406, 448, 451, 452, 455, 456, 457], "closer": [302, 358, 403, 406, 448, 451, 452, 455, 456, 457], "less": [302, 358, 403, 406, 448, 451, 452, 455, 456, 457], "boundingvolum": [304, 448, 452, 672], "satisfi": 314, "veri": [314, 630, 646, 668, 670, 674, 797, 799], "domain": 314, "translat": [314, 334, 345, 773, 789], "trivial": 314, "therefor": [314, 796, 798], "advanc": [314, 779], "who": [314, 672, 779], "free": [314, 356, 597, 672, 779, 799, 801], "constraint_set": 314, "notimplementederror": [319, 488, 520], "distribut": [324, 356, 599, 670, 672, 781, 797, 801], "maxim": [324, 789, 797], "angl": [324, 403, 406, 416, 611, 612, 614, 622, 628, 632, 644, 647, 773, 789, 797], "max_alpha": [324, 796, 797], "often": [324, 672], "divid": [324, 662], "max_angl": [324, 797], "120": [324, 416], "zaxi": [324, 773, 796, 797, 798], "000": [324, 416, 488, 516, 532, 599, 604, 784, 788, 794, 797], "866": [324, 416, 797], "500": [324, 416, 783, 797], "433": 324, "750": 324, "accur": [325, 672], "passag": 325, "consist": [325, 668, 672, 674, 773, 787, 789], "nanosecond": [325, 672], "total": 325, "sum": [325, 662], "sec": [325, 672, 788], "integ": 325, "portion": [325, 796, 801], "decim": [325, 672], "variabl": [325, 671, 672, 799], "nsec": [325, 672], "d": [325, 662, 667, 670, 672, 673, 784, 787, 789], "5e8": 325, "100000000": 325, "read": [325, 476, 538, 565, 643, 663, 664, 787], "fulli": [334, 345], "rotat": [334, 345, 403, 406, 428, 438, 608, 609, 773, 776, 779, 789], "freedom": [334, 345, 428, 776], "word": [334, 345], "t0cf": [334, 428, 438, 488, 513, 514, 565, 672, 772], "target_fram": [334, 345, 516], "tcf": [334, 428, 488, 491, 492, 513, 514, 565, 570, 571, 659, 772, 779], "tool_coordinate_fram": [334, 339, 345, 350, 406, 428, 438, 452, 587, 659], "rfl": [334, 670, 672, 778], "plan_mot": [334, 555, 672, 674, 779, 784], "tolerance_posit": [334, 339, 345, 350, 428, 438, 452, 456, 517, 784], "tolerance_orient": [334, 339, 345, 350, 517, 784], "transform": [334, 339, 345, 350, 438, 526, 527, 528, 529, 587, 672, 771, 772, 774, 779, 789, 800], "flang": [334, 339, 345, 350, 406, 428, 438, 452, 478, 491, 492, 509, 565, 570, 571, 587, 659, 779, 787], "convent": [340, 351, 670, 773, 774, 777, 787], "measur": [340, 351, 613, 623, 629, 630, 631, 640, 645, 646, 788], "millimet": [340, 351, 560, 592], "sequenc": [345, 428, 438, 587, 672, 779, 784], "frametarget": [345, 517, 555, 672, 779, 784], "matric": 350, "moment": [356, 597, 779], "spatial": [356, 672], "rigid": [356, 669, 672], "size": 356, "shape": [356, 465, 798], "m": [356, 667, 672, 770, 799], "express": [356, 380, 387, 388, 406, 774, 789, 801], "symmetr": 356, "definit": [356, 478, 774], "3x3": 356, "diagon": 356, "uniqu": 356, "off": [356, 599, 630, 646, 673], "uniform": [356, 458], "densiti": [356, 788], "obtain": [356, 668, 801], "softwar": [356, 668, 670, 672, 774, 800, 801], "meshlab": 356, "great": 356, "4": [356, 358, 391, 393, 406, 448, 451, 452, 457, 513, 514, 517, 535, 629, 672, 774, 778, 784, 787, 789, 796], "principal_mo": 356, "inertia_tensor": 356, "princip": 356, "product": 356, "center_of_mass": [356, 604], "center": [356, 604, 622, 629, 631, 645, 774, 796, 798], "tensor": 357, "contraint": [358, 403, 448, 451, 455, 456, 457], "jc": 358, "joint_0": 358, "upper": [363, 532, 776, 789], "lower": [363, 532, 776, 789], "sure": [363, 668, 670, 673, 777, 781, 782, 783, 784, 785, 789], "your": [363, 668, 670, 671, 673, 770, 776, 780, 788, 799], "multipli": 364, "trajectory_point": 371, "jointtrajectorypoint": [371, 672], "compos": [371, 670, 671, 672, 673, 778, 799], "fraction": [371, 517, 599, 784, 794], "percentag": 371, "extend": [380, 669], "acceler": [380, 555], "effort": [380, 789], "veloc": [380, 555, 789], "joint_typ": [380, 672], "time_from_start": [380, 784], "durat": [380, 672], "count": 380, "alia": [380, 482], "everi": [382, 781, 787], "rang": [383, 661, 776, 785, 788, 796, 797, 798], "c1": [383, 391, 393], "c2": [383, 391, 393], "prismatic_valu": 387, "revolute_valu": 387, "extern": [387, 774, 776], "over": [391, 394, 395, 514, 515, 672, 778, 781], "smaller": 391, "allclos": 391, "preced": [394, 395, 515], "present": [394, 395, 515, 672, 771, 788, 796], "both": [394, 395, 438, 513, 515, 599, 672, 787, 789, 798], "caution": [394, 395], "rearrang": [394, 395], "scalabl": [396, 397], "quaternion": [403, 406, 773], "desir": [403, 671], "w": [403, 597, 599, 603, 604, 608, 643], "t_": [403, 406], "a_": 403, "around": [403, 406, 428, 438, 779, 788], "correspond": [403, 406, 774, 798, 799], "wherea": [403, 406], "68": [403, 773], "27": [403, 672, 773], "67": [403, 773], "73": [403, 773], "15": [403, 630, 646, 672, 773, 796, 798], "oc": 403, "link_0": [403, 448, 451, 455, 457], "tolerances_orient": 406, "necessari": [406, 428, 452, 791], "three": [406, 776], "would": [406, 656, 673, 784, 787], "robotlibrari": [406, 452, 478, 488, 491, 492, 496, 497, 498, 499, 500, 503, 504, 509, 510, 513, 514, 524, 525, 532, 672, 778, 783, 794], "main_group_nam": [406, 422, 452, 476, 488, 491, 492, 513, 514, 516, 517, 538, 543, 672, 784], "get_end_effector_link_nam": [406, 452], "017453292519943295": 406, "orthonorm": [416, 773, 795], "angle_step": 416, "accord": [418, 420, 421, 422, 623, 640, 672, 776], "load_robot": [418, 420, 421, 422, 424, 426, 516, 517, 538, 672, 777, 782, 783, 784, 785, 791, 792], "cluster": [421, 785], "implicitli": 421, "ee": 422, "remove_attached_collision_mesh": [422, 791], "detach": [422, 481], "degre": [428, 611, 612, 776, 794], "seek": 428, "align": [428, 438], "drill": [428, 779], "mill": [428, 438], "3d": [428, 438, 587, 779, 791, 796], "crucial": [428, 438], "pointaxiswaypoint": [428, 587, 672, 779], "unspecifi": [428, 779], "fcf": 428, "robotsemant": [428, 476, 672], "target_point": [428, 779], "target_z_axi": [428, 779], "toward": [428, 796], "recommend": [428, 438, 668, 799], "pointaxistarget": [438, 555, 672, 779], "target_points_and_ax": 438, "bounding_volum": [448, 458, 463], "from_spher": [448, 452], "pc": [448, 451, 455, 457], "from_box": 452, "from_mesh": 452, "400": 452, "300": [452, 783], "radiu": [457, 796, 798], "reuleaux": [465, 796], "per": [465, 798], "1d": [465, 795, 798], "arrai": [465, 656], "frame_gener": [467, 797], "ik_opt": 467, "bind": [476, 669], "togeth": [476, 626, 643, 798], "build": [476, 670, 672, 673, 770, 787, 789, 800], "cohes": 476, "programm": [476, 587], "upon": [476, 800], "typic": [476, 538, 779, 787], "come": 476, "structur": [476, 538, 774, 776, 778, 796], "scene_object": [476, 483, 484, 777], "baserobotmodelobject": 476, "attached_tool": [476, 565, 672], "group_nam": [476, 538], "group_stat": [476, 501, 538, 672], "affect": [476, 776], "detach_tool": [478, 672], "materi": [479, 672, 789], "attr": 479, "access": [479, 613, 631, 668, 670, 778, 800], "newli": [479, 534, 535, 536, 537, 780, 789, 799], "attach_tool": [481, 491, 492, 672, 785], "draw_visu": 482, "use_attached_tool_fram": [488, 513, 514, 672], "There": [488, 516, 517, 613, 626, 631, 643, 670, 771, 782, 784, 785], "api": [488, 513, 514, 516, 517, 626, 643, 669, 670, 672, 673, 788, 799, 800], "doesn": [488, 672], "238": [488, 783, 792], "153": [488, 783, 792], "174": [488, 513, 514, 516, 783, 784, 792], "185": [488, 783, 792], "667": [488, 783, 792], "frame_wcf_c": 488, "frame_wcf_m": 488, "frames_t0cf": [491, 570, 571, 659], "363": [491, 492, 524, 525, 570, 571], "003": [491, 492, 524, 525, 570, 571], "147": [491, 492, 524, 525, 570, 571], "388": [491, 492, 524, 525, 570, 571, 794], "351": [491, 492, 524, 525, 570, 571], "852": [491, 492, 524, 525, 570, 571], "276": [491, 492, 524, 525, 570, 571], "926": [491, 492, 524, 525, 570, 571], "256": [491, 492, 524, 525, 570, 571], "309": [491, 492, 570, 571, 794], "046": [491, 492, 570, 571], "266": [491, 492, 570, 571], "879": [491, 492, 570, 571], "136": [491, 492, 570, 571], "456": [491, 492, 570, 571], "frames_tcf": [492, 571], "origin": [493, 495, 520, 672, 773, 774, 775, 787, 789], "full_configur": [495, 502, 505, 515, 672], "manipul": [498, 499, 500, 509, 532, 543, 776, 788, 794], "shoulder_pan_joint": [498, 500, 532, 774, 776], "shoulder_lift_joint": [498, 500, 532, 774, 776], "elbow_joint": [498, 500, 532, 774, 776], "wrist_1_joint": [498, 500, 532, 774, 776], "wrist_2_joint": [498, 500, 532, 774, 776], "wrist_3_joint": [498, 500, 532, 774, 776], "supported_typ": [499, 508], "j": [500, 794], "belong": 506, "rget": 507, "chain": [509, 776, 788], "base_link_inertia": [509, 510], "shoulder_link": [509, 510, 774, 776, 787, 789], "upper_arm_link": [509, 510, 774, 776, 787, 789], "forearm_link": [509, 510, 774, 776, 787, 789], "wrist_1_link": [509, 510, 774, 776, 787, 789], "wrist_2_link": [509, 510, 774, 776, 787, 789], "return_full_configur": [513, 514], "fit": [513, 801], "numer": [513, 514], "abstract": [513, 796], "awai": 513, "simplifi": [513, 668, 670, 672], "recal": 513, "last": [513, 550, 674, 774, 787, 788], "ident": 513, "discard": 513, "again": [513, 791], "passiv": [513, 514, 538, 546, 549, 672, 780], "045": [513, 514], "130": [513, 514], "098": [513, 514], "616": [513, 514], "283": [513, 514], "expos": [514, 626, 643], "henc": [514, 669], "exhaust": 514, "hand": [514, 613, 631, 788], "infeas": 514, "code": [514, 533, 668, 672, 674, 770, 771, 777, 778, 781, 783], "stop": [514, 653, 673], "group_configur": 515, "merg": [515, 672, 801], "segment": [516, 775], "doctest": [516, 517, 673], "persist": [516, 517], "ci": [516, 517], "github": [516, 517, 667, 673, 770, 775], "rostimeouterror": [516, 517], "042": [516, 517, 784], "033": [516, 784], "282": [516, 784], "528": [516, 784, 794], "57": 516, "len": [516, 517, 784], "movabl": 517, "295": 517, "327": 517, "755": 517, "goal_constraint": [517, 672], "constraints_from_fram": [517, 672], "tolerances_ax": 517, "configurationtarget": [517, 555, 672, 779], "get_configurable_joint_nam": 517, "5707": 517, "No": 518, "involv": [518, 670], "robot_coordinate_fram": 520, "Not": [520, 671, 776], "rcf": [524, 525, 526, 527, 772], "collect": [533, 670, 674, 796], "test": [533, 668, 672, 673, 798], "write": [533, 666, 670, 787, 788], "stai": [533, 788], "short": 533, "55": [534, 778], "speed": [534, 535, 536, 537, 669, 784], "creation": [534, 535, 536, 537, 796], "irb": [535, 778], "4600": [535, 778], "twin": 535, "gantri": [535, 778], "setup": [535, 670, 671, 672, 673, 774, 778, 780, 787, 789], "from_srdf_fil": 538, "load_semant": 538, "robot_model": [538, 543, 544, 545, 774], "nest": [538, 672], "passive_joint": 538, "end_effector": 538, "disabled_collis": 538, "disabl": [538, 671], "link1": 538, "link2": 538, "particular": [538, 801], "term": 538, "fold": 538, "unordered_disabled_collis": [538, 672], "frozenset": 538, "urdf_filenam": [543, 792], "robot_librari": [543, 672, 777, 791, 792], "from_urdf_fil": [543, 777], "text": [544, 771, 787, 799], "xml": [545, 787, 789], "mimick": [546, 549], "is_configur": [546, 549], "get_configurable_joint": 548, "jerk": 555, "intend": [555, 587, 672, 779], "constraintsettarget": [555, 672, 779], "frame_in_tool0_fram": 565, "connected_to": [565, 672, 787], "tool_model": [565, 572], "toolmodel": 565, "planning_tim": 578, "amount": [578, 777], "took": 578, "through": [587, 669, 670, 673, 674, 779, 794], "contrast": [587, 784], "initi": [587, 621, 639, 672, 789], "paint": 587, "weld": [587, 779], "plan_cartesian_mot": [587, 672, 779, 784, 794], "interpol": [587, 661], "forc": [597, 599, 604, 672, 776], "angular": [597, 672], "torqu": [597, 599, 604, 672], "fx": 597, "fy": 597, "fz": 597, "newton": 597, "tx": 597, "ty": 597, "tz": 597, "proportion_to_cut": 599, "sampl": [599, 788], "cut": 599, "tail": 599, "trim": 599, "w1": [599, 609], "w2": [599, 609], "w3": 599, "200": 599, "ft_sensor_fram": 604, "effect": [604, 799], "graviti": 604, "compens": 604, "info": [604, 782], "vougiouka": 604, "bia": 604, "estim": 604, "http": [604, 667, 670, 671, 672, 787, 788, 789], "www": 604, "semanticscholar": 604, "org": [604, 667, 670, 672, 787, 788, 789], "paper": 604, "900c5de4ac54cf28df816584264fa0de71c4817f": 604, "com": [604, 667, 670, 672], "f": [604, 673, 773, 796], "98": 604, "066": 604, "88": 604, "193": 604, "r": [608, 609, 613, 616, 619, 621, 626, 629, 631, 634, 637, 639, 643, 662, 667, 673], "from_axis_and_angl": [608, 609, 773], "degress": 611, "serialsensor": [613, 631], "baumer": [613, 631, 672], "edg": [613, 627, 629, 630, 646], "serial": [613, 631, 650, 672], "485": [613, 616, 619, 621, 626, 631, 634, 637, 639, 643], "protocol": [613, 631, 648], "lock": [613, 616, 631, 634, 776], "programmat": [613, 631], "unlock": [613, 619, 631, 637], "handl": [613, 616, 619, 631, 634, 637, 670, 672], "automat": [613, 631, 672, 799], "begin": [613, 631, 781], "com5": [613, 631, 650], "57600": [613, 631, 650], "broadcast_address": [613, 626, 631, 643], "broadcast_queri": [613, 631], "addr": [613, 631], "get_address": [613, 631], "set_measurement_typ": [613, 631], "l": [613, 629], "rise": [613, 629], "set_precis": [613, 631], "get_measur": [613, 631], "address": [613, 620, 621, 626, 631, 638, 639, 643, 670, 671, 788], "broadcast": [613, 621, 626, 631, 639, 643], "queri": [613, 626, 631, 643, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721], "bu": [613, 621, 626, 631, 639, 643], "reference_thick": [614, 647], "flex": [614, 618, 628, 632, 636, 644, 647], "mount": [614, 618, 628, 632, 636, 644, 647, 776, 787, 789], "instal": [614, 622, 632, 670, 671, 672, 673, 770, 777], "thick": [614, 632], "surfac": [614, 615, 622, 632, 633], "uneven": [614, 632], "auxiliari": [614, 632], "plate": [614, 632], "is_dark_object": [615, 633], "adjust": [615, 633], "darker": [615, 633], "lighter": [615, 633], "lifetim": [616, 619, 634, 637], "deactiv": [618, 636], "realli": [621, 639, 776], "succe": [621, 639], "laser": 622, "beam": 622, "design": [622, 777, 788, 796, 800], "aid": 622, "addition": [623, 640, 777, 783, 798], "qualiti": [623, 640], "payload": [624, 641], "mostli": [626, 643], "higher": [626, 630, 643, 646], "dedic": [626, 643], "measurement_typ": [629, 645], "fall": 629, "gap": 629, "standard": [630, 646, 668, 672, 800], "median": [630, 646], "averag": [630, 646], "16": [630, 646, 672, 798], "128": [630, 646], "slower": [630, 646], "round": 631, "pariti": [631, 672], "parity_even": 631, "front": [643, 668, 796], "writ": 643, "diamet": 645, "28": [645, 672], "29": 645, "30": 645, "left": [645, 674, 779, 788, 799], "31": 645, "right": [645, 668, 788, 799, 801], "32": 645, "top": [645, 796, 800], "33": 645, "oserror": 648, "lazili": [651, 672], "mainli": [651, 788], "pull": [651, 673], "larg": [651, 654, 655, 656, 777], "contrib": 651, "ffmpeg": 651, "l1": [652, 658], "l2": [652, 658], "05": [652, 672, 798], "wise": [652, 658], "numpi": [652, 653, 654, 655, 656, 673], "evenli": 653, "interv": 653, "reconsid": [654, 655, 656], "too": [654, 655, 656, 672, 791], "sort": 656, "min_valu": 657, "max_valu": 657, "tcf_frame_in_wcf": 659, "let": [659, 781, 788, 796], "w_tcf": 659, "t0cf_tcf": 659, "And": [659, 787, 789, 798], "tcf_t0cf": 659, "w_t0cf": 659, "Then": [659, 787, 789, 796], "fullpath": 660, "extens": [660, 668, 673, 777, 799], "just": [660, 789], "search": [660, 780, 788, 799], "jpg": 660, "png": 660, "imag": [660, 670], "from_min": 661, "from_max": 661, "to_min": 661, "to_max": 661, "n0": 662, "n1": 662, "n2": 662, "n3": 662, "csvfile": 663, "delimit": 663, "csv": 663, "row": 663, "charact": 663, "pickl": [664, 666], "reconstitut": 664, "hierarchi": 664, "project": [667, 672, 673, 773, 795], "pleas": [667, 668, 673, 674, 777, 781, 782, 783, 784, 785, 787, 789, 796, 798], "citat": 667, "misc": 667, "titl": 667, "rust": 667, "casa": 667, "parascho": 667, "jenni": 667, "o": [667, 672, 777, 787, 789, 796, 798], "rfler": 667, "k": 667, "helmreich": 667, "gandia": 667, "ma": 667, "ariza": 667, "pacher": 667, "lytl": 667, "b": 667, "kasir": 667, "c": [667, 669, 670, 781, 794, 799, 801], "bruun": 667, "leung": 667, "p": [667, 670, 773, 787, 799], "howpublish": 667, "dev": [667, 673], "_fab": 667, "gramazio": [667, 670, 801], "kohler": [667, 670, 801], "research": [667, 670, 800, 801], "eth": [667, 778], "u": 667, "rich": 667, "year": 667, "2018": [667, 801], "doi": 667, "5281": 667, "zenodo": 667, "3469478": 667, "gramaziokohl": [667, 670, 778], "romana": 667, "arch": 667, "ethz": 667, "ch": 667, "romanarust": 667, "gonzalo": 667, "gonzalocasa": 667, "stefana": 667, "stefanaparascho": 667, "david": 667, "davidjenni": 667, "kathrin": 667, "d\u00f6rfler": 667, "doerfler": 667, "kathrindoerfl": 667, "matthia": 667, "mhelmrei": 667, "augusto": 667, "augustogandia": 667, "zhao": 667, "xarthurx": 667, "in\u00e9": 667, "inesariza": 667, "matteo": 667, "beverli": 667, "beverlylytl": 667, "yijiangh": 667, "mit": [667, 801], "edu": 667, "chen": 667, "chenkasir": 667, "edvard": 667, "ebruun": 667, "princeton": 667, "victor": 667, "pok": 667, "yin": 667, "yck011522": 667, "drive": 668, "principl": 668, "ecosystem": 668, "serv": [668, 671, 674, 796], "back": [668, 672], "platform": [668, 670, 671, 770, 774, 799], "chapter": 668, "highlight": 668, "explain": [668, 673], "simpl": [668, 670, 773, 774, 781, 787, 797], "complex": [668, 670], "bundl": [668, 670, 672], "isol": 668, "standar": 668, "reproduc": [668, 673], "greatli": [668, 673], "reduc": 668, "without": [668, 670, 672, 776, 781, 784, 787, 799, 801], "download": [668, 670, 777, 781, 785, 786, 791], "desktop": [668, 670], "window": [668, 670, 671, 770, 791, 799], "virtual": [668, 669, 670, 673, 780], "bio": 668, "complain": 668, "pro": 668, "linux": [668, 788, 791], "mode": 668, "click": [668, 788, 799], "icon": [668, 672, 799], "trai": 668, "bar": [668, 799], "switch": [668, 799], "studio": [668, 771], "interest": 668, "architectur": [668, 669, 674, 800], "contributor": [668, 800], "choic": [668, 673, 787], "bullet": 669, "open": [669, 670, 671, 672, 781, 787, 789, 799, 800], "written": [669, 673, 796], "intent": 669, "fast": 669, "easi": 669, "machin": [669, 670], "render": [669, 777, 791], "realiti": 669, "headset": 669, "spin": [669, 791], "docker": [669, 671, 672, 673, 778, 799], "prefer": [669, 781, 782], "alon": 669, "rhinocero": 669, "rpc": 669, "flexibl": 670, "robust": 670, "across": [670, 672, 674], "wide": 670, "varieti": 670, "real": [670, 796], "interconnect": 670, "master": [670, 781], "recent": 670, "becam": 670, "conda": [670, 673], "massiv": 670, "network": 670, "besid": 670, "eas": [670, 673, 674], "deploy": 670, "benefit": 670, "repeat": 670, "made": [670, 672, 673], "hub": 670, "onlin": 670, "minim": [670, 789], "roslaunch": [670, 787, 788, 789], "rosbridge_serv": 670, "rosbridge_websocket": 670, "launch": [670, 787, 788, 789], "enough": 670, "As": [670, 672, 787], "prompt": [670, 673, 781, 787, 788, 789, 799], "go": [670, 671, 777, 787, 789], "folder": [670, 770, 777, 778, 781, 787, 788, 789], "channel": 670, "matter": 670, "yml": [670, 671, 673, 799], "prepar": [670, 780], "irb120": 670, "irb120t": 670, "irb1600": 670, "60": [670, 797], "205": 670, "panda": [670, 777], "graphic": [670, 671, 788, 791], "altern": [670, 779, 794, 799], "brief": 670, "outlin": 670, "ubuntu": 670, "04": 670, "sudo": 670, "sh": 670, "echo": [670, 787], "deb": 670, "lsb_releas": 670, "sc": 670, "apt": 670, "latest": [670, 799], "curl": 670, "githubusercont": 670, "rosdistro": 670, "asc": 670, "updat": [670, 672, 785], "python3": 670, "rosdep": 670, "rosinstal": 670, "wstool": 670, "essenti": 670, "init": [670, 672], "opt": 670, "bash": [670, 787, 788, 789], "bashrc": [670, 787], "mkdir": [670, 787, 789], "catkin_w": 670, "src": [670, 672, 770, 787, 788, 789], "cd": [670, 787, 788, 789, 799], "catkin_mak": [670, 787, 788, 789], "devel": [670, 777, 787, 788, 789], "subsystem": 670, "powershel": [670, 799], "administr": [670, 671], "kernel": 670, "microsoft": [670, 799], "wsl": 671, "visibl": [671, 672], "unnecessari": 671, "easiest": [671, 781, 782], "abil": 671, "easili": [671, 777, 798, 799], "8080": 671, "vnc": 671, "html": [671, 672, 673, 788], "resiz": 671, "autoconnect": 671, "novnc": 671, "x11": 671, "xming": 671, "xquartz": 671, "here": [671, 673, 674, 773, 774, 785, 787, 788, 789, 792, 794, 796], "On": [671, 791, 799], "programfil": [671, 770], "x86": 671, "x0": 671, "xhost": 671, "rememb": 671, "your_ip_address": 671, "export": [671, 780], "notabl": 672, "keepachangelog": 672, "en": 672, "adher": [672, 674], "semver": 672, "spec": 672, "unreleas": 672, "unlik": [672, 699], "previou": [672, 777, 788, 789], "embed": 672, "inher": 672, "__call__": [672, 674], "better": [672, 774], "simpli": [672, 787, 799], "jointconstraint": 672, "orientationconstraint": 672, "positionconstraint": 672, "signatur": [672, 674], "wish": [672, 674], "own": [672, 774, 776, 779, 781, 787, 789, 796], "still": [672, 673], "orientation_constraint_from_fram": 672, "from_fram": 672, "longer": 672, "position_constraint_from_fram": 672, "backend_featur": [672, 722, 724, 726, 728, 730, 732, 734, 736, 739, 742, 745, 748, 751, 755, 758, 761, 764, 767], "convert_target_to_goal_constraint": 672, "gh": [672, 770, 796, 798], "constraintsfromplan": 672, "frametargetfromplan": 672, "constraintsfromtargetconfigur": 672, "plan_cartesian_motion_deprec": 672, "plan_motion_deprec": 672, "forward_kinematics_deprec": 672, "inverse_kinematics_deprec": 672, "2024": 672, "02": [672, 795], "22": 672, "introduc": 672, "script": [672, 778, 781, 785, 791, 796, 798], "extract": [672, 778], "renam": 672, "migrat": 672, "compli": 672, "privat": 672, "show": [672, 673, 776, 783, 787, 789, 794, 799], "ee_link": [672, 787, 789], "rep": [672, 774], "outdat": 672, "pathplan": 672, "demo": [672, 777, 782, 783, 784, 785, 788], "alias": 672, "artist": [672, 796, 798], "becaus": [672, 776, 787, 789, 796], "universal_robot": 672, "2023": 672, "whole": 672, "pre": 672, "prefix": [672, 787, 789], "forward_kinemat": [672, 783, 792], "inverse_kinemat": [672, 674, 783, 792, 794, 796], "revert": 672, "ie": [672, 770], "tangent_points_to_circle_xi": 672, "spheric": [672, 778, 794], "wrist": [672, 778, 794], "older": 672, "dh": [672, 794], "kinet": [672, 777, 788, 796], "ros_client": 672, "eg": 672, "reconnect": 672, "26": [672, 798], "doc": [672, 673, 788], "properti": [672, 783, 787, 789], "simultan": 672, "attachtoolcompon": 672, "overwrit": 672, "25": [672, 785], "compas_rhino": [672, 770, 799], "coerc": 672, "insid": [672, 771, 777, 799], "uninstal": 672, "24": 672, "deviationvectorsgener": [672, 796, 797, 798], "orthonormalvectorsfromaxisgener": [672, 797], "rosmsg": 672, "load_ur5": [672, 794, 796], "public": 672, "remain": [672, 779], "issu": [672, 673], "write_data_to_json": 672, "favor": 672, "json_dump": 672, "read_data_from_json": 672, "json_load": 672, "crowd": 672, "mcneel": 672, "workshop": 672, "21": 672, "wire": 672, "hidden": 672, "cleaner": 672, "offset": [672, 778, 794], "analyticalinversekinemat": [672, 794, 796], "binari": 672, "vrepclient": 672, "remot": [672, 777], "remoteapi": 672, "posearrai": 672, "multiarraydimens": 672, "multiarraylayout": 672, "int8multiarrai": 672, "float32multiarrai": 672, "int32": 672, "consequ": 672, "resolut": [672, 788], "unsupportedoper": 672, "jupyt": 672, "notebook": 672, "redirect_stdout": 672, "from_data": 672, "18": 672, "17": 672, "19": 672, "ghuser": [672, 770], "repr": 672, "bug": 672, "convert_mesh_to_bodi": 672, "circumv": 672, "propens": 672, "9": 672, "collisionobject": 672, "to_collision_mesh": 672, "deseri": 672, "get_robot_configur": 672, "ensure_geometri": 672, "planningscenecompon": 672, "__ne__": 672, "12": [672, 777], "add_attached_collision_mesh": [672, 791], "did": 672, "were": [672, 796], "resetplanningscen": [672, 767, 800], "ipi": [672, 770], "remove_attached_tool": 672, "13": 672, "add_attached_tool": 672, "frame_id": 672, "freez": 672, "sync": 672, "from_t0cf_to_tcf": 672, "from_tcf_to_t0cf": 672, "constructor": 672, "iter_differ": 672, "max_differ": 672, "close_to": 672, "get_configuration_from_group_st": 672, "to_local_coord": 672, "to_local_coordin": [672, 774], "to_world_coord": 672, "to_world_coordin": [672, 773, 774], "restructur": 672, "homogen": 672, "reflect": [672, 773], "unifi": [672, 776], "robotartist": 672, "robotmodelartist": 672, "fact": 672, "from_tool0_to_attached_tool": 672, "from_attached_tool_to_tool0": 672, "refactor": 672, "old": [672, 796], "suffix": 672, "_deprec": 672, "11": [672, 785], "full_joint_st": 672, "get_all_configurable_joint": 672, "asymmetr": 672, "constraints_from_configur": 672, "meth": 672, "dae": 672, "parser": 672, "polylist": 672, "bump": 672, "draw_attached_tool": 672, "redraw": 672, "mutabl": 672, "basic": [672, 773, 782], "triangl": 672, "wrench": 672, "parent": [672, 774, 776, 787, 788, 789], "join": [672, 777, 796, 798], "incompat": 672, "posconcm": 672, "poscon3d": 672, "set_flex_mount": 672, "py": [672, 674, 777, 778, 781, 791, 799], "follow_joint_trajectori": 672, "execute_joint_trajectori": 672, "deal": [672, 801], "async": 672, "get_live_monitor_data": 672, "send_fram": 672, "send_configur": 672, "send_trajectori": 672, "anymor": [672, 787], "reconfigur": 672, "get_configur": 672, "compute_cartesian_path": 672, "motion_plan_goal_fram": 672, "motion_plan_goal_configur": 672, "load_urdf": [672, 777], "get_end_effector_pos": 672, "find_robot_st": 672, "find_path_plan_to_config": 672, "plan_motion_to_config": 672, "find_path_plan": 672, "becom": [672, 779], "robot_artist": 672, "maco": 672, "deeper": 672, "urdfimport": 672, "releas": 672, "welcom": 673, "appreci": 673, "love": 673, "everyon": 673, "quick": [673, 789], "fork": 673, "repositori": [673, 777, 778], "clone": 673, "virtualenv": 673, "develop": [673, 674, 774], "pip": 673, "txt": [673, 787, 789], "integration_setup": 673, "codeblock": 673, "branch": [673, 777], "down": 673, "linter": [673, 799], "lint": 673, "yourself": 673, "rst": 673, "commit": 673, "push": 673, "websit": 673, "pyinvok": 673, "recur": 673, "clean": 673, "artifact": 673, "style": 673, "swift": 673, "introduct": [673, 771, 795, 798, 800], "docstr": 673, "restructuredtext": 673, "sphinx": 673, "napoleon": 673, "troubleshoot": 673, "propos": 673, "scope": 673, "narrow": 673, "easier": 673, "promot": 674, "modular": 674, "eventu": 674, "controlinterfac": 674, "templat": 674, "magic": 674, "exampleinversekinemat": 674, "def": [674, 781, 796, 797, 798], "insert": 674, "fanci": 674, "instanti": 674, "manner": 674, "calculate_example_ik": 674, "ik_result": 674, "equival": [674, 781], "enforc": 674, "sai": 674, "greater": 674, "mix": [674, 675, 677, 679, 694, 696, 698, 700, 702, 716, 718, 720], "suit": [674, 799], "overhead": 674, "illustr": [674, 777], "clienta": 674, "effici": [674, 777], "clientb": 674, "slow": 674, "client_a": 674, "client_b": 674, "clientainversekinemat": 674, "clientbplanmot": 674, "planmot": [674, 755, 800], "resp": 674, "pipelin": 674, "backendfeatur": [675, 677, 679, 694, 696, 698, 700, 702, 716, 718, 720, 800], "conjunct": 704, "addattachedcollisionmesh": [722, 736, 800], "addcollisionmesh": [724, 739, 800], "appendcollisionmesh": [726, 742, 800], "forwardkinemat": [728, 745, 800], "removeattachedcollisionmesh": [732, 761, 800], "removecollisionmesh": [734, 764, 800], "getplanningscen": [758, 800], "component": 770, "rebuild": 770, "io": 770, "path_to_ghio": 770, "dll": 770, "symlink": 770, "reinstal": 770, "line": [770, 787, 789, 799], "gh_io": 770, "grasshopperplugin": 770, "rhp": 770, "app": 770, "section": 771, "concept": [771, 777, 779], "editor": [771, 787, 799], "sublim": 771, "eclips": 771, "fundament": [771, 800], "further": [772, 780], "ocf": 772, "shear": 773, "146": 773, "00": 773, "150": 773, "161": 773, "50": 773, "9767": 773, "0010": 773, "214": 773, "1002": 773, "8818": 773, "4609": 773, "35": [773, 798], "p_": 773, "euler_angl": [773, 789], "xyz": [773, 787, 789], "staubli": 773, "zyx": 773, "kuka": 773, "axis_angle_vector": 773, "ur": [773, 794], "deriv": 773, "euler": [773, 789], "f1": [773, 789], "alpha": 773, "beta": 773, "gamma": 773, "rx": 773, "ry": 773, "rz": 773, "f2": [773, 789], "q": 773, "from_quaternion": 773, "from_axis_angle_vector": 773, "share": 774, "relationship": [774, 776], "upward": 774, "mobil": 774, "coincid": [774, 779], "mechan": [774, 776], "buildup": 774, "tcp": [774, 787, 788, 796], "get_base_fram": 774, "105": 774, "disk": 775, "mathemat": 776, "form": 776, "concern": 776, "inter": 776, "dependend": 776, "plu": 776, "underli": 776, "solid": 776, "movement": [776, 784], "travel": 776, "kind": [776, 801], "major": 776, "hing": 776, "slide": 776, "snippet": 776, "wiki": [776, 787, 789], "programat": 777, "shown": [777, 799], "exemplifi": [777, 781, 783], "localpackagemeshload": [777, 791], "ur10e_robot": 777, "support_package_nam": 777, "githubpackagemeshload": 777, "abb_irb6600_support": 777, "irb6640": 777, "correctli": [777, 781, 782, 783, 784, 785, 799], "situat": 777, "local_directori": 777, "expandus": 777, "robot_nam": 777, "our": [777, 781, 787, 789, 791], "favorit": 777, "robotmodelobject": 777, "ghx": [777, 785, 786], "demonstr": [778, 786, 792], "capabl": 778, "brand": 778, "univers": 778, "abb_irb4600_40_255": [778, 794], "arch_tec_lab": 778, "laboratori": 778, "ros_dock": 778, "extact_robot_package_from_ro": 778, "condit": [779, 801], "cylindr": 779, "parallel": 779, "exact": 779, "orientatio": 779, "taught": 779, "acquir": 779, "jog": 779, "subset": 779, "At": [779, 796], "freeli": 779, "hello": 780, "playground": [780, 785], "catkin": 780, "xacro": [780, 788], "view": [780, 799], "verifi": [781, 791, 799], "past": [781, 787, 789, 791], "standalon": 781, "everyth": [781, 791], "properli": [781, 791], "yai": [781, 799], "latter": 781, "former": 781, "whenev": 781, "respond": 781, "fire": 781, "extrem": 781, "termin": [781, 799], "press": [781, 788, 789, 799], "ctrl": [781, 799], "chatter": 781, "std_msg": 781, "sleep": [781, 785, 791], "unadvertis": 781, "side": [781, 788, 789, 799], "receive_messag": 781, "heard": 781, "talk": 781, "01_ros_hello_world_talk": 781, "01_ros_hello_world_listen": 781, "hear": 781, "relev": 781, "even": 781, "assert": [782, 783, 784, 785, 794], "articul": [783, 792], "simplest": 783, "resolv": 783, "feasibl": 783, "config": [783, 788, 792, 794], "approx": 784, "3f": 784, "530": 784, "830": 784, "580": 784, "330": 784, "760": 784, "bit": [785, 797], "brick": 785, "don": 785, "track": 785, "from_width_height_depth": 785, "07": [785, 789], "to_mesh": 785, "triangul": 785, "zsize": 785, "t1cf": 785, "showcas": 785, "canva": 786, "simplic": [786, 796], "screenshot": [786, 787, 789], "look": [787, 798], "slightli": 787, "larger": 787, "guarante": 787, "safe": 787, "zone": 787, "friendli": [787, 789], "rhino3d": 787, "robotic_setup": [787, 788, 789], "ur5_with_measurement_tool": [787, 788], "catkin_create_pkg": [787, 789], "cmakelist": [787, 789], "buildtool_depend": [787, 789], "test_depend": [787, 789], "build_export_depend": [787, 789], "joint_state_publish": [787, 789], "robot_state_publish": [787, 789], "rviz": [787, 789], "exec_depend": [787, 789], "email": [787, 788, 789], "licenc": [787, 789], "convini": 787, "impli": [787, 801], "macro": [787, 789], "languag": 787, "constant": 787, "parameter": [787, 789], "pico": [787, 789], "measurement_tool": [787, 788], "encod": [787, 789], "utf": [787, 789], "xmln": [787, 789], "measurement_tool_joint": 787, "rpy": [787, 789], "filenam": [787, 789], "tcp_joint": 787, "116": [787, 794], "mayb": 787, "twice": [787, 789], "distinguish": [787, 789], "whatev": 787, "ur_descript": [787, 789], "joint_limit": [787, 789], "todo": 787, "world_joint": [787, 789], "joint6": 787, "link6": 787, "pronounc": 787, "shall": [787, 801], "exactli": 787, "unconfigur": 787, "li": 787, "logic": 787, "ti": 787, "never": 787, "rosrun": [787, 789], "inord": [787, 789], "check_urdf": [787, 789], "successfulli": [787, 789], "ren": [787, 789], "boilerpl": [787, 789], "urdf_tutori": [787, 789], "roscd": [787, 789], "cp": [787, 789], "rvizconfig": [787, 789], "use_gui": [787, 789], "pkg": [787, 789], "state_publish": [787, 789], "conveni": 787, "scratch": [787, 789], "Its": 788, "primari": 788, "moveit_setup_assist": 788, "setup_assist": 788, "brows": 788, "button": 788, "navig": 788, "choos": [788, 789, 796], "few": 788, "screen": 788, "pane": 788, "selector": 788, "tabl": 788, "fine": [788, 789], "primarili": 788, "virtual_joint": 788, "enter": [788, 789], "ur_kinemat": 788, "ur5kinematicsplugin": 788, "kin": 788, "expand": 788, "procedur": [788, 799], "measurment_tool": 788, "mid": 788, "individu": 788, "happi": 788, "someth": [788, 789], "wrong": 788, "abl": 788, "leav": 788, "skip": 788, "almost": 788, "ur5_with_measurement_tool_moveit_config": 788, "appear": 788, "tab": 788, "plai": [788, 789], "rviz_tutori": 788, "moveit_tutori": 788, "setup_assistant_tutori": 788, "urdf_srdf": 788, "urdf_srdf_tutori": 788, "mark": 789, "moveabl": 789, "axis1_joint": 789, "axis1": 789, "121": 789, "537": 789, "1000": 789, "86": 789, "axis1_pl": 789, "axis2_joint": 789, "axis2": 789, "467": 789, "054": 789, "attachment_joint": 789, "ur10_robot": 789, "regard": 789, "remind": 789, "worldyz": 789, "from_frame_to_fram": 789, "turn": 789, "worri": 789, "slider": 789, "repl": 791, "opengl": 791, "osx": 791, "due": 791, "wheel": 791, "stepsimul": 791, "quickli": 791, "urdf_filepath": 791, "smoother": 791, "capac": 792, "eight": 794, "360": 794, "staubli_tx260l": 794, "lobster": 794, "381": 794, "093": 794, "382": 794, "371": 794, "292": 794, "882": 794, "113": 794, "956": 794, "269": 794, "joint_posit": 794, "Or": [794, 797, 799], "analyticalpybulletcli": 794, "matplotlib": 794, "pyplot": 794, "plt": 794, "frames_wcf": 794, "407": 794, "073": 794, "320": 794, "922": 794, "404": 794, "057": 794, "324": 794, "919": 794, "394": 794, "090": 794, "974": 794, "210": 794, "390": 794, "064": 794, "315": 794, "891": 794, "454": 794, "967": 794, "228": 794, "079": 794, "881": 794, "473": 794, "149": 794, "949": 794, "278": 794, "376": 794, "087": 794, "299": 794, "850": 794, "184": 794, "937": [794, 798], "296": 794, "plot": 794, "03": [795, 796], "obstacl": 796, "discret": 796, "checkout": 796, "half": 796, "evalu": [796, 798], "plane": 796, "points_on_sphere_gener": [796, 798], "theta_deg": 796, "phi_deg": 796, "90": 796, "theta": 796, "phi": 796, "co": 796, "sin": 796, "from_plan": 796, "to_json": [796, 798], "map1d": 796, "draw_fram": 796, "from_json": 796, "highest": 796, "yellow": [796, 798], "lowest": 796, "violet": 796, "figur": [796, 798], "captur": 796, "ultim": 796, "meaning": 796, "had": 796, "camera": 796, "hemispher": 796, "littl": 796, "distort": 796, "tripod": 796, "sometim": 797, "helper": 797, "red": 797, "black": 797, "643": 797, "766": 797, "321": 797, "557": 797, "pt": 797, "cross": [797, 798], "deviation_vector_gener": 798, "map2d_devi": 798, "scatter": 798, "dark": 798, "purpl": 798, "know": 798, "sphere_gener": 798, "5705": 798, "163": 798, "give": 798, "436": 798, "ask": 798, "best_scor": 798, "NOT": [798, 801], "sphere_cent": 798, "popular": 799, "project_nam": 799, "n": 799, "forg": 799, "upgrad": 799, "good": 799, "program": 799, "offici": 799, "debug": 799, "auto": 799, "dockerfil": 799, "editorconfig": 799, "tweak": 799, "flake8": 799, "palett": 799, "shift": 799, "shell": 799, "kill": 799, "f5": 799, "debugg": 799, "breakpoint": 799, "gutter": 799, "inspect": 799, "bottom": 799, "statu": 799, "interpret": 799, "facilit": 800, "field": 800, "ompl": 800, "parametr": 800, "collabor": 800, "digit": 800, "cite": 800, "changelog": 800, "licens": 800, "copyright": 801, "permiss": 801, "herebi": 801, "grant": 801, "charg": 801, "person": 801, "restrict": 801, "sublicens": 801, "sell": 801, "permit": 801, "whom": 801, "furnish": 801, "subject": 801, "notic": 801, "substanti": 801, "THE": 801, "AS": 801, "warranti": 801, "OF": 801, "OR": 801, "BUT": 801, "TO": 801, "merchant": 801, "FOR": 801, "AND": 801, "noninfring": 801, "IN": 801, "NO": 801, "holder": 801, "BE": 801, "liabl": 801, "claim": 801, "damag": 801, "liabil": 801, "contract": 801, "tort": 801, "aris": 801, "WITH": 801}, "objects": {"": [[1, 0, 0, "-", "compas_fab"]], "compas_fab": [[2, 0, 0, "-", "backends"], [3, 0, 0, "-", "blender"], [4, 0, 0, "-", "ghpython"], [5, 0, 0, "-", "rhino"], [6, 0, 0, "-", "robots"], [7, 0, 0, "-", "sensors"], [8, 0, 0, "-", "utilities"]], "compas_fab.backends": [[9, 1, 1, "", "ABB_IRB4600_40_255Kinematics"], [12, 1, 1, "", "AnalyticalInverseKinematics"], [14, 1, 1, "", "AnalyticalPlanCartesianMotion"], [17, 1, 1, "", "AnalyticalPyBulletClient"], [51, 3, 1, "", "BackendError"], [52, 3, 1, "", "BackendFeatureNotSupportedError"], [53, 1, 1, "", "CancellableFutureResult"], [56, 3, 1, "", "CartesianMotionError"], [57, 3, 1, "", "CollisionError"], [58, 1, 1, "", "FutureResult"], [60, 3, 1, "", "InverseKinematicsError"], [61, 3, 1, "", "KinematicsError"], [62, 1, 1, "", "MoveItPlanner"], [86, 1, 1, "", "OffsetWristKinematics"], [89, 1, 1, "", "PyBulletClient"], [123, 3, 1, "", "PyBulletError"], [124, 1, 1, "", "PyBulletPlanner"], [136, 1, 1, "", "RosClient"], [189, 3, 1, "", "RosError"], [190, 1, 1, "", "RosFileServerLoader"], [196, 3, 1, "", "RosValidationError"], [197, 1, 1, "", "SphericalWristKinematics"], [200, 1, 1, "", "Staubli_TX260LKinematics"], [203, 1, 1, "", "UR10Kinematics"], [206, 1, 1, "", "UR10eKinematics"], [209, 1, 1, "", "UR3Kinematics"], [212, 1, 1, "", "UR3eKinematics"], [215, 1, 1, "", "UR5Kinematics"], [218, 1, 1, "", "UR5eKinematics"], [674, 0, 0, "-", "interfaces"]], "compas_fab.backends.ABB_IRB4600_40_255Kinematics": [[10, 2, 1, "", "forward"], [11, 2, 1, "", "inverse"]], "compas_fab.backends.AnalyticalInverseKinematics": [[13, 2, 1, "", "inverse_kinematics"]], "compas_fab.backends.AnalyticalPlanCartesianMotion": [[15, 2, 1, "", "plan_cartesian_motion"], [16, 2, 1, "", "smooth_configurations"]], "compas_fab.backends.AnalyticalPyBulletClient": [[18, 2, 1, "", "add_attached_collision_mesh"], [19, 2, 1, "", "add_collision_mesh"], [20, 2, 1, "", "append_collision_mesh"], [21, 2, 1, "", "body_from_obj"], [22, 2, 1, "", "cache_robot"], [23, 2, 1, "", "check_collision_objects_for_collision"], [24, 2, 1, "", "check_collision_with_objects"], [25, 2, 1, "", "check_collisions"], [26, 2, 1, "", "check_robot_self_collision"], [27, 2, 1, "", "connect"], [28, 2, 1, "", "convert_mesh_to_body"], [29, 2, 1, "", "disconnect"], [30, 2, 1, "", "ensure_cached_robot"], [31, 2, 1, "", "ensure_cached_robot_geometry"], [32, 2, 1, "", "filter_configurations_in_collision"], [33, 2, 1, "", "forward_kinematics"], [34, 2, 1, "", "get_cached_robot"], [35, 2, 1, "", "get_cached_robot_filepath"], [36, 2, 1, "", "get_planning_scene"], [37, 2, 1, "", "get_robot_configuration"], [38, 2, 1, "", "get_uid"], [39, 2, 1, "", "inverse_kinematics"], [40, 2, 1, "", "load_robot"], [41, 2, 1, "", "load_semantics"], [42, 2, 1, "", "load_ur5"], [43, 2, 1, "", "plan_cartesian_motion"], [44, 2, 1, "", "plan_motion"], [45, 2, 1, "", "reload_from_cache"], [46, 2, 1, "", "remove_attached_collision_mesh"], [47, 2, 1, "", "remove_collision_mesh"], [48, 2, 1, "", "reset_planning_scene"], [49, 2, 1, "", "set_robot_configuration"], [50, 2, 1, "", "step_simulation"]], "compas_fab.backends.CancellableFutureResult": [[54, 2, 1, "", "cancel"], [55, 2, 1, "", "result"]], "compas_fab.backends.FutureResult": [[59, 2, 1, "", "result"]], "compas_fab.backends.MoveItPlanner": [[63, 2, 1, "", "add_attached_collision_mesh"], [64, 2, 1, "", "add_attached_collision_mesh_async"], [65, 2, 1, "", "add_collision_mesh"], [66, 2, 1, "", "add_collision_mesh_async"], [67, 2, 1, "", "append_collision_mesh"], [68, 2, 1, "", "append_collision_mesh_async"], [69, 2, 1, "", "forward_kinematics"], [70, 2, 1, "", "forward_kinematics_async"], [71, 2, 1, "", "get_planning_scene"], [72, 2, 1, "", "get_planning_scene_async"], [73, 2, 1, "", "inverse_kinematics"], [74, 2, 1, "", "inverse_kinematics_async"], [75, 2, 1, "", "plan_cartesian_motion"], [76, 2, 1, "", "plan_cartesian_motion_with_frame_waypoints_async"], [77, 2, 1, "", "plan_cartesian_motion_with_point_axis_waypoints_async"], [78, 2, 1, "", "plan_motion"], [79, 2, 1, "", "plan_motion_async"], [80, 2, 1, "", "remove_attached_collision_mesh"], [81, 2, 1, "", "remove_attached_collision_mesh_async"], [82, 2, 1, "", "remove_collision_mesh"], [83, 2, 1, "", "remove_collision_mesh_async"], [84, 2, 1, "", "reset_planning_scene"], [85, 2, 1, "", "reset_planning_scene_async"]], "compas_fab.backends.OffsetWristKinematics": [[87, 2, 1, "", "forward"], [88, 2, 1, "", "inverse"]], "compas_fab.backends.PyBulletClient": [[90, 2, 1, "", "add_attached_collision_mesh"], [91, 2, 1, "", "add_collision_mesh"], [92, 2, 1, "", "append_collision_mesh"], [93, 2, 1, "", "body_from_obj"], [94, 2, 1, "", "cache_robot"], [95, 2, 1, "", "check_collision_objects_for_collision"], [96, 2, 1, "", "check_collision_with_objects"], [97, 2, 1, "", "check_collisions"], [98, 2, 1, "", "check_robot_self_collision"], [99, 2, 1, "", "connect"], [100, 2, 1, "", "convert_mesh_to_body"], [101, 2, 1, "", "disconnect"], [102, 2, 1, "", "ensure_cached_robot"], [103, 2, 1, "", "ensure_cached_robot_geometry"], [104, 2, 1, "", "filter_configurations_in_collision"], [105, 2, 1, "", "forward_kinematics"], [106, 2, 1, "", "get_cached_robot"], [107, 2, 1, "", "get_cached_robot_filepath"], [108, 2, 1, "", "get_planning_scene"], [109, 2, 1, "", "get_robot_configuration"], [110, 2, 1, "", "get_uid"], [111, 2, 1, "", "inverse_kinematics"], [112, 2, 1, "", "load_robot"], [113, 2, 1, "", "load_semantics"], [114, 2, 1, "", "load_ur5"], [115, 2, 1, "", "plan_cartesian_motion"], [116, 2, 1, "", "plan_motion"], [117, 2, 1, "", "reload_from_cache"], [118, 2, 1, "", "remove_attached_collision_mesh"], [119, 2, 1, "", "remove_collision_mesh"], [120, 2, 1, "", "reset_planning_scene"], [121, 2, 1, "", "set_robot_configuration"], [122, 2, 1, "", "step_simulation"]], "compas_fab.backends.PyBulletPlanner": [[125, 2, 1, "", "add_attached_collision_mesh"], [126, 2, 1, "", "add_collision_mesh"], [127, 2, 1, "", "append_collision_mesh"], [128, 2, 1, "", "forward_kinematics"], [129, 2, 1, "", "get_planning_scene"], [130, 2, 1, "", "inverse_kinematics"], [131, 2, 1, "", "plan_cartesian_motion"], [132, 2, 1, "", "plan_motion"], [133, 2, 1, "", "remove_attached_collision_mesh"], [134, 2, 1, "", "remove_collision_mesh"], [135, 2, 1, "", "reset_planning_scene"]], "compas_fab.backends.RosClient": [[137, 2, 1, "", "add_attached_collision_mesh"], [138, 2, 1, "", "add_collision_mesh"], [139, 2, 1, "", "append_collision_mesh"], [140, 2, 1, "", "authenticate"], [141, 2, 1, "", "blocking_call_from_thread"], [142, 2, 1, "", "call_async_service"], [143, 2, 1, "", "call_in_thread"], [144, 2, 1, "", "call_later"], [145, 2, 1, "", "call_sync_service"], [146, 2, 1, "", "close"], [147, 2, 1, "", "connect"], [148, 2, 1, "", "delete_param"], [149, 2, 1, "", "emit"], [150, 2, 1, "", "execute_joint_trajectory"], [151, 2, 1, "", "follow_configurations"], [152, 2, 1, "", "follow_joint_trajectory"], [153, 2, 1, "", "forward_kinematics"], [154, 2, 1, "", "get_action_servers"], [155, 2, 1, "", "get_configuration"], [156, 2, 1, "", "get_message_details"], [157, 2, 1, "", "get_node_details"], [158, 2, 1, "", "get_nodes"], [159, 2, 1, "", "get_param"], [160, 2, 1, "", "get_params"], [161, 2, 1, "", "get_planning_scene"], [162, 2, 1, "", "get_service_request_callback"], [163, 2, 1, "", "get_service_request_details"], [164, 2, 1, "", "get_service_response_details"], [165, 2, 1, "", "get_service_type"], [166, 2, 1, "", "get_services"], [167, 2, 1, "", "get_services_for_type"], [168, 2, 1, "", "get_time"], [169, 2, 1, "", "get_topic_type"], [170, 2, 1, "", "get_topics"], [171, 2, 1, "", "get_topics_for_type"], [172, 2, 1, "", "inverse_kinematics"], [173, 2, 1, "", "load_robot"], [174, 2, 1, "", "off"], [175, 2, 1, "", "on"], [176, 2, 1, "", "on_ready"], [177, 2, 1, "", "plan_cartesian_motion"], [178, 2, 1, "", "plan_motion"], [179, 2, 1, "", "remove_attached_collision_mesh"], [180, 2, 1, "", "remove_collision_mesh"], [181, 2, 1, "", "reset_planning_scene"], [182, 2, 1, "", "run"], [183, 2, 1, "", "run_event_loop"], [184, 2, 1, "", "run_forever"], [185, 2, 1, "", "send_on_ready"], [186, 2, 1, "", "set_param"], [187, 2, 1, "", "set_status_level"], [188, 2, 1, "", "terminate"]], "compas_fab.backends.RosFileServerLoader": [[191, 2, 1, "", "can_load_mesh"], [192, 2, 1, "", "load_mesh"], [193, 2, 1, "", "load_meshes"], [194, 2, 1, "", "load_srdf"], [195, 2, 1, "", "load_urdf"]], "compas_fab.backends.SphericalWristKinematics": [[198, 2, 1, "", "forward"], [199, 2, 1, "", "inverse"]], "compas_fab.backends.Staubli_TX260LKinematics": [[201, 2, 1, "", "forward"], [202, 2, 1, "", "inverse"]], "compas_fab.backends.UR10Kinematics": [[204, 2, 1, "", "forward"], [205, 2, 1, "", "inverse"]], "compas_fab.backends.UR10eKinematics": [[207, 2, 1, "", "forward"], [208, 2, 1, "", "inverse"]], "compas_fab.backends.UR3Kinematics": [[210, 2, 1, "", "forward"], [211, 2, 1, "", "inverse"]], "compas_fab.backends.UR3eKinematics": [[213, 2, 1, "", "forward"], [214, 2, 1, "", "inverse"]], "compas_fab.backends.UR5Kinematics": [[216, 2, 1, "", "forward"], [217, 2, 1, "", "inverse"]], "compas_fab.backends.UR5eKinematics": [[219, 2, 1, "", "forward"], [220, 2, 1, "", "inverse"]], "compas_fab.backends.interfaces": [[675, 1, 1, "", "AddAttachedCollisionMesh"], [677, 1, 1, "", "AddCollisionMesh"], [679, 1, 1, "", "AppendCollisionMesh"], [681, 1, 1, "", "BackendFeature"], [682, 1, 1, "", "ClientInterface"], [694, 1, 1, "", "ForwardKinematics"], [696, 1, 1, "", "GetPlanningScene"], [698, 1, 1, "", "InverseKinematics"], [700, 1, 1, "", "PlanCartesianMotion"], [702, 1, 1, "", "PlanMotion"], [704, 1, 1, "", "PlannerInterface"], [716, 1, 1, "", "RemoveAttachedCollisionMesh"], [718, 1, 1, "", "RemoveCollisionMesh"], [720, 1, 1, "", "ResetPlanningScene"]], "compas_fab.backends.interfaces.AddAttachedCollisionMesh": [[676, 2, 1, "", "add_attached_collision_mesh"]], "compas_fab.backends.interfaces.AddCollisionMesh": [[678, 2, 1, "", "add_collision_mesh"]], "compas_fab.backends.interfaces.AppendCollisionMesh": [[680, 2, 1, "", "append_collision_mesh"]], "compas_fab.backends.interfaces.ClientInterface": [[683, 2, 1, "", "add_attached_collision_mesh"], [684, 2, 1, "", "add_collision_mesh"], [685, 2, 1, "", "append_collision_mesh"], [686, 2, 1, "", "forward_kinematics"], [687, 2, 1, "", "get_planning_scene"], [688, 2, 1, "", "inverse_kinematics"], [689, 2, 1, "", "plan_cartesian_motion"], [690, 2, 1, "", "plan_motion"], [691, 2, 1, "", "remove_attached_collision_mesh"], [692, 2, 1, "", "remove_collision_mesh"], [693, 2, 1, "", "reset_planning_scene"]], "compas_fab.backends.interfaces.ForwardKinematics": [[695, 2, 1, "", "forward_kinematics"]], "compas_fab.backends.interfaces.GetPlanningScene": [[697, 2, 1, "", "get_planning_scene"]], "compas_fab.backends.interfaces.InverseKinematics": [[699, 2, 1, "", "inverse_kinematics"]], "compas_fab.backends.interfaces.PlanCartesianMotion": [[701, 2, 1, "", "plan_cartesian_motion"]], "compas_fab.backends.interfaces.PlanMotion": [[703, 2, 1, "", "plan_motion"]], "compas_fab.backends.interfaces.PlannerInterface": [[705, 2, 1, "", "add_attached_collision_mesh"], [706, 2, 1, "", "add_collision_mesh"], [707, 2, 1, "", "append_collision_mesh"], [708, 2, 1, "", "forward_kinematics"], [709, 2, 1, "", "get_planning_scene"], [710, 2, 1, "", "inverse_kinematics"], [711, 2, 1, "", "plan_cartesian_motion"], [712, 2, 1, "", "plan_motion"], [713, 2, 1, "", "remove_attached_collision_mesh"], [714, 2, 1, "", "remove_collision_mesh"], [715, 2, 1, "", "reset_planning_scene"]], "compas_fab.backends.interfaces.RemoveAttachedCollisionMesh": [[717, 2, 1, "", "remove_attached_collision_mesh"]], "compas_fab.backends.interfaces.RemoveCollisionMesh": [[719, 2, 1, "", "remove_collision_mesh"]], "compas_fab.backends.interfaces.ResetPlanningScene": [[721, 2, 1, "", "reset_planning_scene"]], "compas_fab.backends.pybullet": [[674, 0, 0, "-", "backend_features"]], "compas_fab.backends.pybullet.backend_features": [[722, 1, 1, "", "PyBulletAddAttachedCollisionMesh"], [724, 1, 1, "", "PyBulletAddCollisionMesh"], [726, 1, 1, "", "PyBulletAppendCollisionMesh"], [728, 1, 1, "", "PyBulletForwardKinematics"], [730, 1, 1, "", "PyBulletInverseKinematics"], [732, 1, 1, "", "PyBulletRemoveAttachedCollisionMesh"], [734, 1, 1, "", "PyBulletRemoveCollisionMesh"]], "compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh": [[723, 2, 1, "", "add_attached_collision_mesh"]], "compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh": [[725, 2, 1, "", "add_collision_mesh"]], "compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh": [[727, 2, 1, "", "append_collision_mesh"]], "compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics": [[729, 2, 1, "", "forward_kinematics"]], "compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics": [[731, 2, 1, "", "inverse_kinematics"]], "compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh": [[733, 2, 1, "", "remove_attached_collision_mesh"]], "compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh": [[735, 2, 1, "", "remove_collision_mesh"]], "compas_fab.backends.ros": [[674, 0, 0, "-", "backend_features"]], "compas_fab.backends.ros.backend_features": [[736, 1, 1, "", "MoveItAddAttachedCollisionMesh"], [739, 1, 1, "", "MoveItAddCollisionMesh"], [742, 1, 1, "", "MoveItAppendCollisionMesh"], [745, 1, 1, "", "MoveItForwardKinematics"], [748, 1, 1, "", "MoveItInverseKinematics"], [751, 1, 1, "", "MoveItPlanCartesianMotion"], [755, 1, 1, "", "MoveItPlanMotion"], [758, 1, 1, "", "MoveItPlanningScene"], [761, 1, 1, "", "MoveItRemoveAttachedCollisionMesh"], [764, 1, 1, "", "MoveItRemoveCollisionMesh"], [767, 1, 1, "", "MoveItResetPlanningScene"]], "compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh": [[737, 2, 1, "", "add_attached_collision_mesh"], [738, 2, 1, "", "add_attached_collision_mesh_async"]], "compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh": [[740, 2, 1, "", "add_collision_mesh"], [741, 2, 1, "", "add_collision_mesh_async"]], "compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh": [[743, 2, 1, "", "append_collision_mesh"], [744, 2, 1, "", "append_collision_mesh_async"]], "compas_fab.backends.ros.backend_features.MoveItForwardKinematics": [[746, 2, 1, "", "forward_kinematics"], [747, 2, 1, "", "forward_kinematics_async"]], "compas_fab.backends.ros.backend_features.MoveItInverseKinematics": [[749, 2, 1, "", "inverse_kinematics"], [750, 2, 1, "", "inverse_kinematics_async"]], "compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion": [[752, 2, 1, "", "plan_cartesian_motion"], [753, 2, 1, "", "plan_cartesian_motion_with_frame_waypoints_async"], [754, 2, 1, "", "plan_cartesian_motion_with_point_axis_waypoints_async"]], "compas_fab.backends.ros.backend_features.MoveItPlanMotion": [[756, 2, 1, "", "plan_motion"], [757, 2, 1, "", "plan_motion_async"]], "compas_fab.backends.ros.backend_features.MoveItPlanningScene": [[759, 2, 1, "", "get_planning_scene"], [760, 2, 1, "", "get_planning_scene_async"]], "compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh": [[762, 2, 1, "", "remove_attached_collision_mesh"], [763, 2, 1, "", "remove_attached_collision_mesh_async"]], "compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh": [[765, 2, 1, "", "remove_collision_mesh"], [766, 2, 1, "", "remove_collision_mesh_async"]], "compas_fab.backends.ros.backend_features.MoveItResetPlanningScene": [[768, 2, 1, "", "reset_planning_scene"], [769, 2, 1, "", "reset_planning_scene_async"]], "compas_fab.ghpython": [[221, 1, 1, "", "ReachabilityMapObject"]], "compas_fab.ghpython.ReachabilityMapObject": [[222, 2, 1, "", "ToString"], [223, 2, 1, "", "add"], [224, 2, 1, "", "clear"], [225, 2, 1, "", "copy"], [226, 2, 1, "", "draw"], [227, 2, 1, "", "draw_cloud"], [228, 2, 1, "", "draw_frames"], [229, 2, 1, "", "from_json"], [230, 2, 1, "", "from_jsonstring"], [231, 2, 1, "", "remove"], [232, 2, 1, "", "sha256"], [233, 2, 1, "", "to_json"], [234, 2, 1, "", "to_jsonstring"], [235, 2, 1, "", "traverse"], [236, 2, 1, "", "validate_data"]], "compas_fab.rhino": [[237, 1, 1, "", "ReachabilityMapObject"]], "compas_fab.rhino.ReachabilityMapObject": [[238, 2, 1, "", "ToString"], [239, 2, 1, "", "add"], [240, 2, 1, "", "add_to_group"], [241, 2, 1, "", "clear"], [242, 2, 1, "", "clear_layer"], [243, 2, 1, "", "compile_attributes"], [244, 2, 1, "", "copy"], [245, 2, 1, "", "draw"], [246, 2, 1, "", "draw_cloud"], [247, 2, 1, "", "draw_frames"], [248, 2, 1, "", "from_json"], [249, 2, 1, "", "from_jsonstring"], [250, 2, 1, "", "get_group"], [251, 2, 1, "", "remove"], [252, 2, 1, "", "sha256"], [253, 2, 1, "", "to_json"], [254, 2, 1, "", "to_jsonstring"], [255, 2, 1, "", "traverse"], [256, 2, 1, "", "validate_data"]], "compas_fab.robots": [[257, 1, 1, "", "AttachedCollisionMesh"], [266, 1, 1, "", "BoundingVolume"], [280, 1, 1, "", "CollisionMesh"], [291, 1, 1, "", "ConfigurationTarget"], [302, 1, 1, "", "Constraint"], [314, 1, 1, "", "ConstraintSetTarget"], [324, 1, 1, "", "DeviationVectorsGenerator"], [325, 1, 1, "", "Duration"], [334, 1, 1, "", "FrameTarget"], [345, 1, 1, "", "FrameWaypoints"], [356, 1, 1, "", "Inertia"], [358, 1, 1, "", "JointConstraint"], [371, 1, 1, "", "JointTrajectory"], [380, 1, 1, "", "JointTrajectoryPoint"], [403, 1, 1, "", "OrientationConstraint"], [416, 1, 1, "", "OrthonormalVectorsFromAxisGenerator"], [417, 1, 1, "", "PlanningScene"], [428, 1, 1, "", "PointAxisTarget"], [438, 1, 1, "", "PointAxisWaypoints"], [448, 1, 1, "", "PositionConstraint"], [465, 1, 1, "", "ReachabilityMap"], [476, 1, 1, "", "Robot"], [533, 1, 1, "", "RobotLibrary"], [538, 1, 1, "", "RobotSemantics"], [555, 1, 1, "", "Target"], [565, 1, 1, "", "Tool"], [578, 1, 1, "", "Trajectory"], [587, 1, 1, "", "Waypoints"], [597, 1, 1, "", "Wrench"], [611, 4, 1, "", "to_degrees"], [612, 4, 1, "", "to_radians"]], "compas_fab.robots.AttachedCollisionMesh": [[258, 2, 1, "", "ToString"], [259, 2, 1, "", "copy"], [260, 2, 1, "", "from_json"], [261, 2, 1, "", "from_jsonstring"], [262, 2, 1, "", "sha256"], [263, 2, 1, "", "to_json"], [264, 2, 1, "", "to_jsonstring"], [265, 2, 1, "", "validate_data"]], "compas_fab.robots.BoundingVolume": [[267, 2, 1, "", "ToString"], [268, 2, 1, "", "copy"], [269, 2, 1, "", "from_box"], [270, 2, 1, "", "from_json"], [271, 2, 1, "", "from_jsonstring"], [272, 2, 1, "", "from_mesh"], [273, 2, 1, "", "from_sphere"], [274, 2, 1, "", "scale"], [275, 2, 1, "", "sha256"], [276, 2, 1, "", "to_json"], [277, 2, 1, "", "to_jsonstring"], [278, 2, 1, "", "transform"], [279, 2, 1, "", "validate_data"]], "compas_fab.robots.CollisionMesh": [[281, 2, 1, "", "ToString"], [282, 2, 1, "", "copy"], [283, 2, 1, "", "from_json"], [284, 2, 1, "", "from_jsonstring"], [285, 2, 1, "", "scale"], [286, 2, 1, "", "scaled"], [287, 2, 1, "", "sha256"], [288, 2, 1, "", "to_json"], [289, 2, 1, "", "to_jsonstring"], [290, 2, 1, "", "validate_data"]], "compas_fab.robots.ConfigurationTarget": [[292, 2, 1, "", "ToString"], [293, 2, 1, "", "copy"], [294, 2, 1, "", "from_json"], [295, 2, 1, "", "from_jsonstring"], [296, 2, 1, "", "generate_default_tolerances"], [297, 2, 1, "", "scaled"], [298, 2, 1, "", "sha256"], [299, 2, 1, "", "to_json"], [300, 2, 1, "", "to_jsonstring"], [301, 2, 1, "", "validate_data"]], "compas_fab.robots.Constraint": [[303, 2, 1, "", "ToString"], [304, 2, 1, "", "copy"], [305, 2, 1, "", "from_json"], [306, 2, 1, "", "from_jsonstring"], [307, 2, 1, "", "scale"], [308, 2, 1, "", "scaled"], [309, 2, 1, "", "sha256"], [310, 2, 1, "", "to_json"], [311, 2, 1, "", "to_jsonstring"], [312, 2, 1, "", "transform"], [313, 2, 1, "", "validate_data"]], "compas_fab.robots.ConstraintSetTarget": [[315, 2, 1, "", "ToString"], [316, 2, 1, "", "copy"], [317, 2, 1, "", "from_json"], [318, 2, 1, "", "from_jsonstring"], [319, 2, 1, "", "scaled"], [320, 2, 1, "", "sha256"], [321, 2, 1, "", "to_json"], [322, 2, 1, "", "to_jsonstring"], [323, 2, 1, "", "validate_data"]], "compas_fab.robots.Duration": [[326, 2, 1, "", "ToString"], [327, 2, 1, "", "copy"], [328, 2, 1, "", "from_json"], [329, 2, 1, "", "from_jsonstring"], [330, 2, 1, "", "sha256"], [331, 2, 1, "", "to_json"], [332, 2, 1, "", "to_jsonstring"], [333, 2, 1, "", "validate_data"]], "compas_fab.robots.FrameTarget": [[335, 2, 1, "", "ToString"], [336, 2, 1, "", "copy"], [337, 2, 1, "", "from_json"], [338, 2, 1, "", "from_jsonstring"], [339, 2, 1, "", "from_transformation"], [340, 2, 1, "", "scaled"], [341, 2, 1, "", "sha256"], [342, 2, 1, "", "to_json"], [343, 2, 1, "", "to_jsonstring"], [344, 2, 1, "", "validate_data"]], "compas_fab.robots.FrameWaypoints": [[346, 2, 1, "", "ToString"], [347, 2, 1, "", "copy"], [348, 2, 1, "", "from_json"], [349, 2, 1, "", "from_jsonstring"], [350, 2, 1, "", "from_transformations"], [351, 2, 1, "", "scaled"], [352, 2, 1, "", "sha256"], [353, 2, 1, "", "to_json"], [354, 2, 1, "", "to_jsonstring"], [355, 2, 1, "", "validate_data"]], "compas_fab.robots.Inertia": [[357, 2, 1, "", "calculate_inertia_tensor"]], "compas_fab.robots.JointConstraint": [[359, 2, 1, "", "ToString"], [360, 2, 1, "", "copy"], [361, 2, 1, "", "from_json"], [362, 2, 1, "", "from_jsonstring"], [363, 2, 1, "", "joint_constraints_from_configuration"], [364, 2, 1, "", "scale"], [365, 2, 1, "", "scaled"], [366, 2, 1, "", "sha256"], [367, 2, 1, "", "to_json"], [368, 2, 1, "", "to_jsonstring"], [369, 2, 1, "", "transform"], [370, 2, 1, "", "validate_data"]], "compas_fab.robots.JointTrajectory": [[372, 2, 1, "", "ToString"], [373, 2, 1, "", "copy"], [374, 2, 1, "", "from_json"], [375, 2, 1, "", "from_jsonstring"], [376, 2, 1, "", "sha256"], [377, 2, 1, "", "to_json"], [378, 2, 1, "", "to_jsonstring"], [379, 2, 1, "", "validate_data"]], "compas_fab.robots.JointTrajectoryPoint": [[381, 2, 1, "", "ToString"], [382, 2, 1, "", "check_joint_names"], [383, 2, 1, "", "close_to"], [384, 2, 1, "", "copy"], [385, 2, 1, "", "from_json"], [386, 2, 1, "", "from_jsonstring"], [387, 2, 1, "", "from_prismatic_and_revolute_values"], [388, 2, 1, "", "from_revolute_values"], [389, 2, 1, "", "get"], [390, 2, 1, "", "items"], [391, 2, 1, "", "iter_differences"], [392, 2, 1, "", "keys"], [393, 2, 1, "", "max_difference"], [394, 2, 1, "", "merge"], [395, 2, 1, "", "merged"], [396, 2, 1, "", "scale"], [397, 2, 1, "", "scaled"], [398, 2, 1, "", "sha256"], [399, 2, 1, "", "to_json"], [400, 2, 1, "", "to_jsonstring"], [401, 2, 1, "", "validate_data"], [402, 2, 1, "", "values"]], "compas_fab.robots.OrientationConstraint": [[404, 2, 1, "", "ToString"], [405, 2, 1, "", "copy"], [406, 2, 1, "", "from_frame"], [407, 2, 1, "", "from_json"], [408, 2, 1, "", "from_jsonstring"], [409, 2, 1, "", "scale"], [410, 2, 1, "", "scaled"], [411, 2, 1, "", "sha256"], [412, 2, 1, "", "to_json"], [413, 2, 1, "", "to_jsonstring"], [414, 2, 1, "", "transform"], [415, 2, 1, "", "validate_data"]], "compas_fab.robots.PlanningScene": [[418, 2, 1, "", "add_attached_collision_mesh"], [419, 2, 1, "", "add_attached_tool"], [420, 2, 1, "", "add_collision_mesh"], [421, 2, 1, "", "append_collision_mesh"], [422, 2, 1, "", "attach_collision_mesh_to_robot_end_effector"], [423, 2, 1, "", "ensure_client"], [424, 2, 1, "", "remove_attached_collision_mesh"], [425, 2, 1, "", "remove_attached_tool"], [426, 2, 1, "", "remove_collision_mesh"], [427, 2, 1, "", "reset"]], "compas_fab.robots.PointAxisTarget": [[429, 2, 1, "", "ToString"], [430, 2, 1, "", "copy"], [431, 2, 1, "", "from_json"], [432, 2, 1, "", "from_jsonstring"], [433, 2, 1, "", "scaled"], [434, 2, 1, "", "sha256"], [435, 2, 1, "", "to_json"], [436, 2, 1, "", "to_jsonstring"], [437, 2, 1, "", "validate_data"]], "compas_fab.robots.PointAxisWaypoints": [[439, 2, 1, "", "ToString"], [440, 2, 1, "", "copy"], [441, 2, 1, "", "from_json"], [442, 2, 1, "", "from_jsonstring"], [443, 2, 1, "", "scaled"], [444, 2, 1, "", "sha256"], [445, 2, 1, "", "to_json"], [446, 2, 1, "", "to_jsonstring"], [447, 2, 1, "", "validate_data"]], "compas_fab.robots.PositionConstraint": [[449, 2, 1, "", "ToString"], [450, 2, 1, "", "copy"], [451, 2, 1, "", "from_box"], [452, 2, 1, "", "from_frame"], [453, 2, 1, "", "from_json"], [454, 2, 1, "", "from_jsonstring"], [455, 2, 1, "", "from_mesh"], [456, 2, 1, "", "from_point"], [457, 2, 1, "", "from_sphere"], [458, 2, 1, "", "scale"], [459, 2, 1, "", "scaled"], [460, 2, 1, "", "sha256"], [461, 2, 1, "", "to_json"], [462, 2, 1, "", "to_jsonstring"], [463, 2, 1, "", "transform"], [464, 2, 1, "", "validate_data"]], "compas_fab.robots.ReachabilityMap": [[466, 2, 1, "", "ToString"], [467, 2, 1, "", "calculate"], [468, 2, 1, "", "copy"], [469, 2, 1, "", "from_json"], [470, 2, 1, "", "from_jsonstring"], [471, 2, 1, "", "reachable_frames_and_configurations_at_ik_index"], [472, 2, 1, "", "sha256"], [473, 2, 1, "", "to_json"], [474, 2, 1, "", "to_jsonstring"], [475, 2, 1, "", "validate_data"]], "compas_fab.robots.Robot": [[477, 2, 1, "", "ToString"], [478, 2, 1, "", "attach_tool"], [479, 2, 1, "", "basic"], [480, 2, 1, "", "copy"], [481, 2, 1, "", "detach_tool"], [482, 2, 1, "", "draw"], [483, 2, 1, "", "draw_collision"], [484, 2, 1, "", "draw_visual"], [485, 2, 1, "", "ensure_client"], [486, 2, 1, "", "ensure_geometry"], [487, 2, 1, "", "ensure_semantics"], [488, 2, 1, "", "forward_kinematics"], [489, 2, 1, "", "from_json"], [490, 2, 1, "", "from_jsonstring"], [491, 2, 1, "", "from_t0cf_to_tcf"], [492, 2, 1, "", "from_tcf_to_t0cf"], [493, 2, 1, "", "get_RCF"], [494, 2, 1, "", "get_attached_tool_collision_meshes"], [495, 2, 1, "", "get_base_frame"], [496, 2, 1, "", "get_base_link"], [497, 2, 1, "", "get_base_link_name"], [498, 2, 1, "", "get_configurable_joint_names"], [499, 2, 1, "", "get_configurable_joint_types"], [500, 2, 1, "", "get_configurable_joints"], [501, 2, 1, "", "get_configuration_from_group_state"], [502, 2, 1, "", "get_end_effector_frame"], [503, 2, 1, "", "get_end_effector_link"], [504, 2, 1, "", "get_end_effector_link_name"], [505, 2, 1, "", "get_group_configuration"], [506, 2, 1, "", "get_group_names_from_link_name"], [507, 2, 1, "", "get_joint_by_name"], [508, 2, 1, "", "get_joint_types_by_names"], [509, 2, 1, "", "get_link_names"], [510, 2, 1, "", "get_link_names_with_collision_geometry"], [511, 2, 1, "", "get_position_by_joint_name"], [512, 2, 1, "", "info"], [513, 2, 1, "", "inverse_kinematics"], [514, 2, 1, "", "iter_inverse_kinematics"], [515, 2, 1, "", "merge_group_with_full_configuration"], [516, 2, 1, "", "plan_cartesian_motion"], [517, 2, 1, "", "plan_motion"], [518, 2, 1, "", "random_configuration"], [519, 2, 1, "", "scale"], [520, 2, 1, "", "set_RCF"], [521, 2, 1, "", "sha256"], [522, 2, 1, "", "to_json"], [523, 2, 1, "", "to_jsonstring"], [524, 2, 1, "", "to_local_coordinates"], [525, 2, 1, "", "to_world_coordinates"], [526, 2, 1, "", "transformation_RCF_WCF"], [527, 2, 1, "", "transformation_WCF_RCF"], [528, 2, 1, "", "transformed_axes"], [529, 2, 1, "", "transformed_frames"], [530, 2, 1, "", "update"], [531, 2, 1, "", "validate_data"], [532, 2, 1, "", "zero_configuration"]], "compas_fab.robots.RobotLibrary": [[534, 2, 1, "", "abb_irb4600_40_255"], [535, 2, 1, "", "rfl"], [536, 2, 1, "", "ur10e"], [537, 2, 1, "", "ur5"]], "compas_fab.robots.RobotSemantics": [[539, 2, 1, "", "ToString"], [540, 2, 1, "", "copy"], [541, 2, 1, "", "from_json"], [542, 2, 1, "", "from_jsonstring"], [543, 2, 1, "", "from_srdf_file"], [544, 2, 1, "", "from_srdf_string"], [545, 2, 1, "", "from_xml"], [546, 2, 1, "", "get_all_configurable_joints"], [547, 2, 1, "", "get_base_link_name"], [548, 2, 1, "", "get_configurable_joint_names"], [549, 2, 1, "", "get_configurable_joints"], [550, 2, 1, "", "get_end_effector_link_name"], [551, 2, 1, "", "sha256"], [552, 2, 1, "", "to_json"], [553, 2, 1, "", "to_jsonstring"], [554, 2, 1, "", "validate_data"]], "compas_fab.robots.Target": [[556, 2, 1, "", "ToString"], [557, 2, 1, "", "copy"], [558, 2, 1, "", "from_json"], [559, 2, 1, "", "from_jsonstring"], [560, 2, 1, "", "scaled"], [561, 2, 1, "", "sha256"], [562, 2, 1, "", "to_json"], [563, 2, 1, "", "to_jsonstring"], [564, 2, 1, "", "validate_data"]], "compas_fab.robots.Tool": [[566, 2, 1, "", "ToString"], [567, 2, 1, "", "copy"], [568, 2, 1, "", "from_json"], [569, 2, 1, "", "from_jsonstring"], [570, 2, 1, "", "from_t0cf_to_tcf"], [571, 2, 1, "", "from_tcf_to_t0cf"], [572, 2, 1, "", "from_tool_model"], [573, 2, 1, "", "sha256"], [574, 2, 1, "", "to_json"], [575, 2, 1, "", "to_jsonstring"], [576, 2, 1, "", "update_touch_links"], [577, 2, 1, "", "validate_data"]], "compas_fab.robots.Trajectory": [[579, 2, 1, "", "ToString"], [580, 2, 1, "", "copy"], [581, 2, 1, "", "from_json"], [582, 2, 1, "", "from_jsonstring"], [583, 2, 1, "", "sha256"], [584, 2, 1, "", "to_json"], [585, 2, 1, "", "to_jsonstring"], [586, 2, 1, "", "validate_data"]], "compas_fab.robots.Waypoints": [[588, 2, 1, "", "ToString"], [589, 2, 1, "", "copy"], [590, 2, 1, "", "from_json"], [591, 2, 1, "", "from_jsonstring"], [592, 2, 1, "", "scaled"], [593, 2, 1, "", "sha256"], [594, 2, 1, "", "to_json"], [595, 2, 1, "", "to_jsonstring"], [596, 2, 1, "", "validate_data"]], "compas_fab.robots.Wrench": [[598, 2, 1, "", "ToString"], [599, 2, 1, "", "by_samples"], [600, 2, 1, "", "copy"], [601, 2, 1, "", "from_json"], [602, 2, 1, "", "from_jsonstring"], [603, 2, 1, "", "from_list"], [604, 2, 1, "", "gravity_compensated"], [605, 2, 1, "", "sha256"], [606, 2, 1, "", "to_json"], [607, 2, 1, "", "to_jsonstring"], [608, 2, 1, "", "transform"], [609, 2, 1, "", "transformed"], [610, 2, 1, "", "validate_data"]], "compas_fab.sensors": [[613, 1, 1, "", "PosCon3D"], [631, 1, 1, "", "PosConCM"], [648, 3, 1, "", "ProtocolError"], [649, 3, 1, "", "SensorTimeoutError"], [650, 1, 1, "", "SerialSensor"]], "compas_fab.sensors.PosCon3D": [[614, 2, 1, "", "activate_flex_mount"], [615, 2, 1, "", "adjust_to_dark_object"], [616, 2, 1, "", "begin"], [617, 2, 1, "", "calculate_checksum"], [618, 2, 1, "", "deactivate_flex_mount"], [619, 2, 1, "", "end"], [620, 2, 1, "", "format_command"], [621, 2, 1, "", "get_address"], [622, 2, 1, "", "get_live_monitor_data"], [623, 2, 1, "", "get_measurement"], [624, 2, 1, "", "get_payload"], [625, 2, 1, "", "reset"], [626, 2, 1, "", "send_command"], [627, 2, 1, "", "set_edge_height"], [628, 2, 1, "", "set_flex_mount"], [629, 2, 1, "", "set_measurement_type"], [630, 2, 1, "", "set_precision"]], "compas_fab.sensors.PosConCM": [[632, 2, 1, "", "activate_flex_mount"], [633, 2, 1, "", "adjust_to_dark_object"], [634, 2, 1, "", "begin"], [635, 2, 1, "", "calculate_checksum"], [636, 2, 1, "", "deactivate_flex_mount"], [637, 2, 1, "", "end"], [638, 2, 1, "", "format_command"], [639, 2, 1, "", "get_address"], [640, 2, 1, "", "get_measurement"], [641, 2, 1, "", "get_payload"], [642, 2, 1, "", "reset"], [643, 2, 1, "", "send_command"], [644, 2, 1, "", "set_flex_mount"], [645, 2, 1, "", "set_measurement_type"], [646, 2, 1, "", "set_precision"], [647, 2, 1, "", "teach_flex_mount"]], "compas_fab.utilities": [[651, 1, 1, "", "LazyLoader"], [652, 4, 1, "", "allclose"], [653, 4, 1, "", "arange"], [654, 4, 1, "", "argmax"], [655, 4, 1, "", "argmin"], [656, 4, 1, "", "argsort"], [657, 4, 1, "", "clamp"], [658, 4, 1, "", "diffs"], [659, 4, 1, "", "from_tcf_to_t0cf"], [660, 4, 1, "", "list_files_in_directory"], [661, 4, 1, "", "map_range"], [662, 4, 1, "", "range_geometric_row"], [663, 4, 1, "", "read_csv_to_dictionary"], [664, 4, 1, "", "read_data_from_pickle"], [665, 4, 1, "", "sign"], [666, 4, 1, "", "write_data_to_pickle"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"]}, "titleterms": {"api": 0, "refer": 0, "compas_fab": [1, 2, 3, 4, 5, 6, 7, 8], "robot": [1, 2, 6, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 771, 774, 777, 778, 782, 787, 788, 796, 800], "cad": 1, "integr": 1, "util": [1, 8], "backend": [2, 668, 671, 674, 780, 790, 793], "ro": [2, 670, 674, 777, 780, 781, 782, 786], "pybullet": [2, 669, 674, 790, 791], "analyt": [2, 793, 794], "kinemat": [2, 776, 783, 792, 793, 794], "ik": 2, "solver": 2, "specif": 2, "long": 2, "run": [2, 182, 781, 799], "task": 2, "except": [2, 7], "interfac": [2, 674], "blender": [3, 799], "ghpython": 4, "scene": [4, 5, 6, 674, 785], "object": [4, 5, 774, 785], "rhino": [5, 799], "main": [6, 7, 800], "class": [6, 7], "path": [6, 787], "plan": [6, 674, 784, 785, 788, 795], "target": [6, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 779], "waypoint": [6, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 779], "constraint": [6, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313], "built": 6, "unit": 6, "convers": 6, "sensor": 7, "baumer": 7, "file": [8, 788], "system": [8, 670], "function": 8, "transform": [8, 278, 312, 369, 414, 463, 608, 609, 773], "numer": 8, "other": 8, "abb_irb4600_40_255kinemat": [9, 10, 11], "forward": [10, 87, 198, 201, 204, 207, 210, 213, 216, 219, 671, 783, 792], "invers": [11, 88, 199, 202, 205, 208, 211, 214, 217, 220, 783, 792, 794], "analyticalinversekinemat": [12, 13], "inverse_kinemat": [13, 39, 73, 111, 130, 172, 513, 688, 699, 710, 731, 749], "analyticalplancartesianmot": [14, 15, 16], "plan_cartesian_mot": [15, 43, 75, 115, 131, 177, 516, 689, 701, 711, 752], "smooth_configur": 16, "analyticalpybulletcli": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "add_attached_collision_mesh": [18, 63, 90, 125, 137, 418, 676, 683, 705, 723, 737], "add_collision_mesh": [19, 65, 91, 126, 138, 420, 678, 684, 706, 725, 740], "append_collision_mesh": [20, 67, 92, 127, 139, 421, 680, 685, 707, 727, 743], "body_from_obj": [21, 93], "cache_robot": [22, 94], "check_collision_objects_for_collis": [23, 95], "check_collision_with_object": [24, 96], "check_collis": [25, 97], "check_robot_self_collis": [26, 98], "connect": [27, 99, 147], "convert_mesh_to_bodi": [28, 100], "disconnect": [29, 101], "ensure_cached_robot": [30, 102], "ensure_cached_robot_geometri": [31, 103], "filter_configurations_in_collis": [32, 104], "forward_kinemat": [33, 69, 105, 128, 153, 488, 686, 695, 708, 729, 746], "get_cached_robot": [34, 106], "get_cached_robot_filepath": [35, 107], "get_planning_scen": [36, 71, 108, 129, 161, 687, 697, 709, 759], "get_robot_configur": [37, 109], "get_uid": [38, 110], "load_robot": [40, 112, 173], "load_semant": [41, 113], "load_ur5": [42, 114], "plan_mot": [44, 78, 116, 132, 178, 517, 690, 703, 712, 756], "reload_from_cach": [45, 117], "remove_attached_collision_mesh": [46, 80, 118, 133, 179, 424, 691, 713, 717, 733, 762], "remove_collision_mesh": [47, 82, 119, 134, 180, 426, 692, 714, 719, 735, 765], "reset_planning_scen": [48, 84, 120, 135, 181, 693, 715, 721, 768], "set_robot_configur": [49, 121], "step_simul": [50, 122], "backenderror": 51, "backendfeaturenotsupportederror": 52, "cancellablefutureresult": [53, 54, 55], "cancel": 54, "result": [55, 59], "cartesianmotionerror": 56, "collisionerror": 57, "futureresult": [58, 59], "inversekinematicserror": 60, "kinematicserror": 61, "moveitplann": [62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "add_attached_collision_mesh_async": [64, 738], "add_collision_mesh_async": [66, 741], "append_collision_mesh_async": [68, 744], "forward_kinematics_async": [70, 747], "get_planning_scene_async": [72, 760], "inverse_kinematics_async": [74, 750], "plan_cartesian_motion_with_frame_waypoints_async": [76, 753], "plan_cartesian_motion_with_point_axis_waypoints_async": [77, 754], "plan_motion_async": [79, 757], "remove_attached_collision_mesh_async": [81, 763], "remove_collision_mesh_async": [83, 766], "reset_planning_scene_async": [85, 769], "offsetwristkinemat": [86, 87, 88], "pybulletcli": [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122], "pybulleterror": 123, "pybulletplann": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "rosclient": [136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "authent": 140, "blocking_call_from_thread": 141, "call_async_servic": 142, "call_in_thread": 143, "call_lat": 144, "call_sync_servic": 145, "close": 146, "delete_param": 148, "emit": 149, "execute_joint_trajectori": 150, "follow_configur": 151, "follow_joint_trajectori": 152, "get_action_serv": 154, "get_configur": 155, "get_message_detail": 156, "get_node_detail": 157, "get_nod": 158, "get_param": [159, 160], "get_service_request_callback": 162, "get_service_request_detail": 163, "get_service_response_detail": 164, "get_service_typ": 165, "get_servic": 166, "get_services_for_typ": 167, "get_tim": 168, "get_topic_typ": 169, "get_top": 170, "get_topics_for_typ": 171, "off": 174, "on_readi": 176, "run_event_loop": 183, "run_forev": 184, "send_on_readi": 185, "set_param": 186, "set_status_level": 187, "termin": 188, "roserror": 189, "rosfileserverload": [190, 191, 192, 193, 194, 195], "can_load_mesh": 191, "load_mesh": [192, 193], "load_srdf": 194, "load_urdf": 195, "rosvalidationerror": 196, "sphericalwristkinemat": [197, 198, 199], "staubli_tx260lkinemat": [200, 201, 202], "ur10kinemat": [203, 204, 205], "ur10ekinemat": [206, 207, 208], "ur3kinemat": [209, 210, 211], "ur3ekinemat": [212, 213, 214], "ur5kinemat": [215, 216, 217], "ur5ekinemat": [218, 219, 220], "reachabilitymapobject": [221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256], "tostr": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "add": [223, 239, 785, 787, 788], "clear": [224, 241], "copi": [225, 244, 259, 268, 282, 293, 304, 316, 327, 336, 347, 360, 373, 384, 405, 430, 440, 450, 468, 480, 540, 557, 567, 580, 589, 600], "draw": [226, 245, 482], "draw_cloud": [227, 246], "draw_fram": [228, 247], "from_json": [229, 248, 260, 270, 283, 294, 305, 317, 328, 337, 348, 361, 374, 385, 407, 431, 441, 453, 469, 489, 541, 558, 568, 581, 590, 601], "from_jsonstr": [230, 249, 261, 271, 284, 295, 306, 318, 329, 338, 349, 362, 375, 386, 408, 432, 442, 454, 470, 490, 542, 559, 569, 582, 591, 602], "remov": [231, 251, 785], "sha256": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "to_json": [233, 253, 263, 276, 288, 299, 310, 321, 331, 342, 353, 367, 377, 399, 412, 435, 445, 461, 473, 522, 552, 562, 574, 584, 594, 606], "to_jsonstr": [234, 254, 264, 277, 289, 300, 311, 322, 332, 343, 354, 368, 378, 400, 413, 436, 446, 462, 474, 523, 553, 563, 575, 585, 595, 607], "travers": [235, 255], "validate_data": [236, 256, 265, 279, 290, 301, 313, 323, 333, 344, 355, 370, 379, 401, 415, 437, 447, 464, 475, 531, 554, 564, 577, 586, 596, 610], "add_to_group": 240, "clear_lay": 242, "compile_attribut": 243, "get_group": 250, "attachedcollisionmesh": [257, 258, 259, 260, 261, 262, 263, 264, 265], "boundingvolum": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279], "from_box": [269, 451], "from_mesh": [272, 455], "from_spher": [273, 457], "scale": [274, 285, 286, 297, 307, 308, 319, 340, 351, 364, 365, 396, 397, 409, 410, 433, 443, 458, 459, 519, 560, 592], "collisionmesh": [280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290], "configurationtarget": [291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301], "generate_default_toler": 296, "constraintsettarget": [314, 315, 316, 317, 318, 319, 320, 321, 322, 323], "deviationvectorsgener": 324, "durat": [325, 326, 327, 328, 329, 330, 331, 332, 333], "frametarget": [334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "from_transform": [339, 350], "framewaypoint": [345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "inertia": [356, 357], "calculate_inertia_tensor": 357, "jointconstraint": [358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370], "joint_constraints_from_configur": 363, "jointtrajectori": [371, 372, 373, 374, 375, 376, 377, 378, 379], "jointtrajectorypoint": [380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402], "check_joint_nam": 382, "close_to": 383, "from_prismatic_and_revolute_valu": 387, "from_revolute_valu": 388, "get": [389, 799], "item": 390, "iter_differ": 391, "kei": 392, "max_differ": 393, "merg": [394, 395], "valu": 402, "orientationconstraint": [403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "from_fram": [406, 452], "orthonormalvectorsfromaxisgener": 416, "planningscen": [417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427], "add_attached_tool": 419, "attach_collision_mesh_to_robot_end_effector": 422, "ensure_cli": [423, 485], "remove_attached_tool": 425, "reset": [427, 625, 642], "pointaxistarget": [428, 429, 430, 431, 432, 433, 434, 435, 436, 437], "pointaxiswaypoint": [438, 439, 440, 441, 442, 443, 444, 445, 446, 447], "positionconstraint": [448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464], "from_point": 456, "reachabilitymap": [465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475], "calcul": 467, "reachable_frames_and_configurations_at_ik_index": 471, "attach_tool": 478, "basic": 479, "detach_tool": 481, "draw_collis": 483, "draw_visu": 484, "ensure_geometri": 486, "ensure_semant": 487, "from_t0cf_to_tcf": [491, 570], "from_tcf_to_t0cf": [492, 571, 659], "get_rcf": 493, "get_attached_tool_collision_mesh": 494, "get_base_fram": 495, "get_base_link": 496, "get_base_link_nam": [497, 547], "get_configurable_joint_nam": [498, 548], "get_configurable_joint_typ": 499, "get_configurable_joint": [500, 549], "get_configuration_from_group_st": 501, "get_end_effector_fram": 502, "get_end_effector_link": 503, "get_end_effector_link_nam": [504, 550], "get_group_configur": 505, "get_group_names_from_link_nam": 506, "get_joint_by_nam": 507, "get_joint_types_by_nam": 508, "get_link_nam": 509, "get_link_names_with_collision_geometri": 510, "get_position_by_joint_nam": 511, "info": 512, "iter_inverse_kinemat": 514, "merge_group_with_full_configur": 515, "random_configur": 518, "set_rcf": 520, "to_local_coordin": 524, "to_world_coordin": 525, "transformation_rcf_wcf": 526, "transformation_wcf_rcf": 527, "transformed_ax": 528, "transformed_fram": 529, "updat": [530, 799], "zero_configur": 532, "robotlibrari": [533, 534, 535, 536, 537], "abb_irb4600_40_255": 534, "rfl": 535, "ur10": [536, 789], "ur5": [537, 787], "robotsemant": [538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554], "from_srdf_fil": 543, "from_srdf_str": 544, "from_xml": 545, "get_all_configurable_joint": 546, "tool": [565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 774], "from_tool_model": 572, "update_touch_link": 576, "trajectori": [578, 579, 580, 581, 582, 583, 584, 585, 586], "wrench": [597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610], "by_sampl": 599, "from_list": 603, "gravity_compens": 604, "to_degre": 611, "to_radian": 612, "poscon3d": [613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630], "activate_flex_mount": [614, 632], "adjust_to_dark_object": [615, 633], "begin": [616, 634], "calculate_checksum": [617, 635], "deactivate_flex_mount": [618, 636], "end": [619, 637, 785, 787, 788], "format_command": [620, 638], "get_address": [621, 639], "get_live_monitor_data": 622, "get_measur": [623, 640], "get_payload": [624, 641], "send_command": [626, 643], "set_edge_height": 627, "set_flex_mount": [628, 644], "set_measurement_typ": [629, 645], "set_precis": [630, 646], "posconcm": [631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647], "teach_flex_mount": 647, "protocolerror": 648, "sensortimeouterror": 649, "serialsensor": 650, "lazyload": 651, "allclos": 652, "arang": 653, "argmax": 654, "argmin": 655, "argsort": 656, "clamp": 657, "diff": 658, "list_files_in_directori": 660, "map_rang": 661, "range_geometric_row": 662, "read_csv_to_dictionari": 663, "read_data_from_pickl": 664, "sign": 665, "write_data_to_pickl": 666, "cite": 667, "author": [667, 788], "work": [668, 799], "instal": [668, 799], "docker": [668, 670], "contain": 668, "develop": 668, "new": 668, "next": [668, 669, 670, 799], "step": [668, 669, 670, 781, 791, 799], "complet": 670, "linux": 670, "wsl": 670, "access": 671, "gui": 671, "visual": [671, 777, 796, 799], "over": 671, "web": 671, "browser": 671, "displai": 671, "changelog": 672, "contributor": 673, "": 673, "guid": 673, "code": [673, 799], "contribut": 673, "document": 673, "improv": 673, "bug": 673, "report": 673, "featur": [673, 674, 800], "request": 673, "feedback": 673, "design": 673, "client": 674, "implement": 674, "addattachedcollisionmesh": [675, 676], "addcollisionmesh": [677, 678], "appendcollisionmesh": [679, 680], "backendfeatur": 681, "clientinterfac": [682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693], "forwardkinemat": [694, 695], "getplanningscen": [696, 697], "inversekinemat": [698, 699], "plancartesianmot": [700, 701], "planmot": [702, 703], "plannerinterfac": [704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715], "removeattachedcollisionmesh": [716, 717], "removecollisionmesh": [718, 719], "resetplanningscen": [720, 721], "pybulletaddattachedcollisionmesh": [722, 723], "pybulletaddcollisionmesh": [724, 725], "pybulletappendcollisionmesh": [726, 727], "pybulletforwardkinemat": [728, 729], "pybulletinversekinemat": [730, 731], "pybulletremoveattachedcollisionmesh": [732, 733], "pybulletremovecollisionmesh": [734, 735], "moveitaddattachedcollisionmesh": [736, 737, 738], "moveitaddcollisionmesh": [739, 740, 741], "moveitappendcollisionmesh": [742, 743, 744], "moveitforwardkinemat": [745, 746, 747], "moveitinversekinemat": [748, 749, 750], "moveitplancartesianmot": [751, 752, 753, 754], "moveitplanmot": [755, 756, 757], "moveitplanningscen": [758, 759, 760], "moveitremoveattachedcollisionmesh": [761, 762, 763], "moveitremovecollisionmesh": [764, 765, 766], "moveitresetplanningscen": [767, 768, 769], "grasshopp": [770, 785, 786], "compon": [770, 786], "exampl": [771, 774, 781, 785, 796, 798], "fabric": [771, 800], "fundament": 772, "frame": [773, 774, 797], "further": [773, 787, 788, 789], "inform": [773, 788], "coordin": 774, "world": [774, 781], "wcf": 774, "rcf": 774, "tool0": 774, "t0cf": 774, "tcf": 774, "ocf": 774, "link": [774, 776, 787, 788, 789, 794, 796], "descript": 775, "model": [775, 776, 777, 782], "joint": [776, 788], "load": [777, 782], "from": [777, 782, 788, 797], "disk": 777, "github": 777, "robotmodel": 778, "packag": [778, 788], "origin": 778, "singl": [779, 785], "goal": 779, "multipl": 779, "point": [779, 798], "segment": 779, "us": [781, 791], "first": [781, 791], "hello": 781, "write": 781, "talker": 781, "node": 781, "listen": 781, "motion": 784, "cartesian": 784, "collis": [785, 788], "1": 785, "non": 785, "attach": 785, "mesh": [785, 787, 789], "sever": 785, "2": 785, "effector": [785, 787, 788], "playground": 786, "creat": [787, 788, 789], "urdf": [787, 788, 789], "an": [787, 797], "custom": [787, 788], "export": [787, 789], "your": [787, 789], "prepar": [787, 789], "catkin": [787, 789], "workspac": [787, 789], "xacro": [787, 789], "gener": [787, 788, 789, 797], "explan": [787, 789], "view": [787, 789], "search": 787, "moveit": 788, "start": [788, 799], "setup": 788, "assist": 788, "self": 788, "matrix": 788, "virtual": [788, 799], "group": 788, "arm": 788, "gripper": 788, "pose": 788, "label": 788, "passiv": 788, "configur": 788, "newli": 788, "two": 789, "linear": 789, "ax": 789, "tower": 789, "ur10_tow": 789, "reachabl": [795, 796, 798], "map": [795, 796, 798], "introduct": 796, "01": 796, "1d": 796, "project": 796, "where": 796, "wa": 796, "appli": 796, "adapt": 796, "detail": 796, "360": 796, "light": 796, "paint": 796, "workshop": 796, "vector": [797, 798], "orthonorm": 797, "axi": 797, "deviat": [797, 798], "2d": 798, "02": 798, "03": 798, "sphere": 798, "conda": 799, "option": 799, "pip": 799, "studio": 799, "script": 799, "environ": 799, "compa": 800, "content": 800, "indic": 800, "tabl": 800, "licens": 801}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 57}, "alltitles": {"API Reference": [[0, "api-reference"]], "compas_fab": [[1, "compas-fab"]], "Robots": [[1, "robots"]], "CAD integration": [[1, "cad-integration"]], "Utilities": [[1, "utilities"]], "compas_fab.backends": [[2, "compas-fab-backends"]], "ROS": [[2, "ros"], [670, "ros"]], "PyBullet": [[2, "pybullet"], [669, "pybullet"]], "Analytical Kinematics": [[2, "analytical-kinematics"]], "IK solvers": [[2, "ik-solvers"]], "Robot-specific kinematics": [[2, "robot-specific-kinematics"]], "Long-running tasks": [[2, "long-running-tasks"]], "Exceptions": [[2, "exceptions"], [7, "exceptions"]], "Interfaces": [[2, "interfaces"]], "compas_fab.blender": [[3, "compas-fab-blender"]], "compas_fab.ghpython": [[4, "compas-fab-ghpython"]], "Scene objects": [[4, "scene-objects"], [5, "scene-objects"]], "compas_fab.rhino": [[5, "compas-fab-rhino"]], "compas_fab.robots": [[6, "compas-fab-robots"]], "Main classes": [[6, "main-classes"], [7, "main-classes"]], "Path planning": [[6, "path-planning"]], "Planning scene": [[6, "planning-scene"]], "Targets and Waypoints": [[6, "targets-and-waypoints"], [779, "targets-and-waypoints"]], "Constraints": [[6, "constraints"]], "Built-in robots": [[6, "built-in-robots"]], "Unit conversion": [[6, "unit-conversion"]], "compas_fab.sensors": [[7, "compas-fab-sensors"]], "Baumer sensors": [[7, "baumer-sensors"]], "compas_fab.utilities": [[8, "compas-fab-utilities"]], "File system functions": [[8, "file-system-functions"]], "Transformation functions": [[8, "transformation-functions"]], "Numerical functions": [[8, "numerical-functions"]], "Other functions": [[8, "other-functions"]], "ABB_IRB4600_40_255Kinematics": [[9, "abb-irb4600-40-255kinematics"]], "ABB_IRB4600_40_255Kinematics.forward": [[10, "abb-irb4600-40-255kinematics-forward"]], "ABB_IRB4600_40_255Kinematics.inverse": [[11, "abb-irb4600-40-255kinematics-inverse"]], "AnalyticalInverseKinematics": [[12, "analyticalinversekinematics"]], "AnalyticalInverseKinematics.inverse_kinematics": [[13, "analyticalinversekinematics-inverse-kinematics"]], "AnalyticalPlanCartesianMotion": [[14, "analyticalplancartesianmotion"]], "AnalyticalPlanCartesianMotion.plan_cartesian_motion": [[15, "analyticalplancartesianmotion-plan-cartesian-motion"]], "AnalyticalPlanCartesianMotion.smooth_configurations": [[16, "analyticalplancartesianmotion-smooth-configurations"]], "AnalyticalPyBulletClient": [[17, "analyticalpybulletclient"]], "AnalyticalPyBulletClient.add_attached_collision_mesh": [[18, "analyticalpybulletclient-add-attached-collision-mesh"]], "AnalyticalPyBulletClient.add_collision_mesh": [[19, "analyticalpybulletclient-add-collision-mesh"]], "AnalyticalPyBulletClient.append_collision_mesh": [[20, "analyticalpybulletclient-append-collision-mesh"]], "AnalyticalPyBulletClient.body_from_obj": [[21, "analyticalpybulletclient-body-from-obj"]], "AnalyticalPyBulletClient.cache_robot": [[22, "analyticalpybulletclient-cache-robot"]], "AnalyticalPyBulletClient.check_collision_objects_for_collision": [[23, "analyticalpybulletclient-check-collision-objects-for-collision"]], "AnalyticalPyBulletClient.check_collision_with_objects": [[24, "analyticalpybulletclient-check-collision-with-objects"]], "AnalyticalPyBulletClient.check_collisions": [[25, "analyticalpybulletclient-check-collisions"]], "AnalyticalPyBulletClient.check_robot_self_collision": [[26, "analyticalpybulletclient-check-robot-self-collision"]], "AnalyticalPyBulletClient.connect": [[27, "analyticalpybulletclient-connect"]], "AnalyticalPyBulletClient.convert_mesh_to_body": [[28, "analyticalpybulletclient-convert-mesh-to-body"]], "AnalyticalPyBulletClient.disconnect": [[29, "analyticalpybulletclient-disconnect"]], "AnalyticalPyBulletClient.ensure_cached_robot": [[30, "analyticalpybulletclient-ensure-cached-robot"]], "AnalyticalPyBulletClient.ensure_cached_robot_geometry": [[31, "analyticalpybulletclient-ensure-cached-robot-geometry"]], "AnalyticalPyBulletClient.filter_configurations_in_collision": [[32, "analyticalpybulletclient-filter-configurations-in-collision"]], "AnalyticalPyBulletClient.forward_kinematics": [[33, "analyticalpybulletclient-forward-kinematics"]], "AnalyticalPyBulletClient.get_cached_robot": [[34, "analyticalpybulletclient-get-cached-robot"]], "AnalyticalPyBulletClient.get_cached_robot_filepath": [[35, "analyticalpybulletclient-get-cached-robot-filepath"]], "AnalyticalPyBulletClient.get_planning_scene": [[36, "analyticalpybulletclient-get-planning-scene"]], "AnalyticalPyBulletClient.get_robot_configuration": [[37, "analyticalpybulletclient-get-robot-configuration"]], "AnalyticalPyBulletClient.get_uid": [[38, "analyticalpybulletclient-get-uid"]], "AnalyticalPyBulletClient.inverse_kinematics": [[39, "analyticalpybulletclient-inverse-kinematics"]], "AnalyticalPyBulletClient.load_robot": [[40, "analyticalpybulletclient-load-robot"]], "AnalyticalPyBulletClient.load_semantics": [[41, "analyticalpybulletclient-load-semantics"]], "AnalyticalPyBulletClient.load_ur5": [[42, "analyticalpybulletclient-load-ur5"]], "AnalyticalPyBulletClient.plan_cartesian_motion": [[43, "analyticalpybulletclient-plan-cartesian-motion"]], "AnalyticalPyBulletClient.plan_motion": [[44, "analyticalpybulletclient-plan-motion"]], "AnalyticalPyBulletClient.reload_from_cache": [[45, "analyticalpybulletclient-reload-from-cache"]], "AnalyticalPyBulletClient.remove_attached_collision_mesh": [[46, "analyticalpybulletclient-remove-attached-collision-mesh"]], "AnalyticalPyBulletClient.remove_collision_mesh": [[47, "analyticalpybulletclient-remove-collision-mesh"]], "AnalyticalPyBulletClient.reset_planning_scene": [[48, "analyticalpybulletclient-reset-planning-scene"]], "AnalyticalPyBulletClient.set_robot_configuration": [[49, "analyticalpybulletclient-set-robot-configuration"]], "AnalyticalPyBulletClient.step_simulation": [[50, "analyticalpybulletclient-step-simulation"]], "BackendError": [[51, "backenderror"]], "BackendFeatureNotSupportedError": [[52, "backendfeaturenotsupportederror"]], "CancellableFutureResult": [[53, "cancellablefutureresult"]], "CancellableFutureResult.cancel": [[54, "cancellablefutureresult-cancel"]], "CancellableFutureResult.result": [[55, "cancellablefutureresult-result"]], "CartesianMotionError": [[56, "cartesianmotionerror"]], "CollisionError": [[57, "collisionerror"]], "FutureResult": [[58, "futureresult"]], "FutureResult.result": [[59, "futureresult-result"]], "InverseKinematicsError": [[60, "inversekinematicserror"]], "KinematicsError": [[61, "kinematicserror"]], "MoveItPlanner": [[62, "moveitplanner"]], "MoveItPlanner.add_attached_collision_mesh": [[63, "moveitplanner-add-attached-collision-mesh"]], "MoveItPlanner.add_attached_collision_mesh_async": [[64, "moveitplanner-add-attached-collision-mesh-async"]], "MoveItPlanner.add_collision_mesh": [[65, "moveitplanner-add-collision-mesh"]], "MoveItPlanner.add_collision_mesh_async": [[66, "moveitplanner-add-collision-mesh-async"]], "MoveItPlanner.append_collision_mesh": [[67, "moveitplanner-append-collision-mesh"]], "MoveItPlanner.append_collision_mesh_async": [[68, "moveitplanner-append-collision-mesh-async"]], "MoveItPlanner.forward_kinematics": [[69, "moveitplanner-forward-kinematics"]], "MoveItPlanner.forward_kinematics_async": [[70, "moveitplanner-forward-kinematics-async"]], "MoveItPlanner.get_planning_scene": [[71, "moveitplanner-get-planning-scene"]], "MoveItPlanner.get_planning_scene_async": [[72, "moveitplanner-get-planning-scene-async"]], "MoveItPlanner.inverse_kinematics": [[73, "moveitplanner-inverse-kinematics"]], "MoveItPlanner.inverse_kinematics_async": [[74, "moveitplanner-inverse-kinematics-async"]], "MoveItPlanner.plan_cartesian_motion": [[75, "moveitplanner-plan-cartesian-motion"]], "MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async": [[76, "moveitplanner-plan-cartesian-motion-with-frame-waypoints-async"]], "MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async": [[77, "moveitplanner-plan-cartesian-motion-with-point-axis-waypoints-async"]], "MoveItPlanner.plan_motion": [[78, "moveitplanner-plan-motion"]], "MoveItPlanner.plan_motion_async": [[79, "moveitplanner-plan-motion-async"]], "MoveItPlanner.remove_attached_collision_mesh": [[80, "moveitplanner-remove-attached-collision-mesh"]], "MoveItPlanner.remove_attached_collision_mesh_async": [[81, "moveitplanner-remove-attached-collision-mesh-async"]], "MoveItPlanner.remove_collision_mesh": [[82, "moveitplanner-remove-collision-mesh"]], "MoveItPlanner.remove_collision_mesh_async": [[83, "moveitplanner-remove-collision-mesh-async"]], "MoveItPlanner.reset_planning_scene": [[84, "moveitplanner-reset-planning-scene"]], "MoveItPlanner.reset_planning_scene_async": [[85, "moveitplanner-reset-planning-scene-async"]], "OffsetWristKinematics": [[86, "offsetwristkinematics"]], "OffsetWristKinematics.forward": [[87, "offsetwristkinematics-forward"]], "OffsetWristKinematics.inverse": [[88, "offsetwristkinematics-inverse"]], "PyBulletClient": [[89, "pybulletclient"]], "PyBulletClient.add_attached_collision_mesh": [[90, "pybulletclient-add-attached-collision-mesh"]], "PyBulletClient.add_collision_mesh": [[91, "pybulletclient-add-collision-mesh"]], "PyBulletClient.append_collision_mesh": [[92, "pybulletclient-append-collision-mesh"]], "PyBulletClient.body_from_obj": [[93, "pybulletclient-body-from-obj"]], "PyBulletClient.cache_robot": [[94, "pybulletclient-cache-robot"]], "PyBulletClient.check_collision_objects_for_collision": [[95, "pybulletclient-check-collision-objects-for-collision"]], "PyBulletClient.check_collision_with_objects": [[96, "pybulletclient-check-collision-with-objects"]], "PyBulletClient.check_collisions": [[97, "pybulletclient-check-collisions"]], "PyBulletClient.check_robot_self_collision": [[98, "pybulletclient-check-robot-self-collision"]], "PyBulletClient.connect": [[99, "pybulletclient-connect"]], "PyBulletClient.convert_mesh_to_body": [[100, "pybulletclient-convert-mesh-to-body"]], "PyBulletClient.disconnect": [[101, "pybulletclient-disconnect"]], "PyBulletClient.ensure_cached_robot": [[102, "pybulletclient-ensure-cached-robot"]], "PyBulletClient.ensure_cached_robot_geometry": [[103, "pybulletclient-ensure-cached-robot-geometry"]], "PyBulletClient.filter_configurations_in_collision": [[104, "pybulletclient-filter-configurations-in-collision"]], "PyBulletClient.forward_kinematics": [[105, "pybulletclient-forward-kinematics"]], "PyBulletClient.get_cached_robot": [[106, "pybulletclient-get-cached-robot"]], "PyBulletClient.get_cached_robot_filepath": [[107, "pybulletclient-get-cached-robot-filepath"]], "PyBulletClient.get_planning_scene": [[108, "pybulletclient-get-planning-scene"]], "PyBulletClient.get_robot_configuration": [[109, "pybulletclient-get-robot-configuration"]], "PyBulletClient.get_uid": [[110, "pybulletclient-get-uid"]], "PyBulletClient.inverse_kinematics": [[111, "pybulletclient-inverse-kinematics"]], "PyBulletClient.load_robot": [[112, "pybulletclient-load-robot"]], "PyBulletClient.load_semantics": [[113, "pybulletclient-load-semantics"]], "PyBulletClient.load_ur5": [[114, "pybulletclient-load-ur5"]], "PyBulletClient.plan_cartesian_motion": [[115, "pybulletclient-plan-cartesian-motion"]], "PyBulletClient.plan_motion": [[116, "pybulletclient-plan-motion"]], "PyBulletClient.reload_from_cache": [[117, "pybulletclient-reload-from-cache"]], "PyBulletClient.remove_attached_collision_mesh": [[118, "pybulletclient-remove-attached-collision-mesh"]], "PyBulletClient.remove_collision_mesh": [[119, "pybulletclient-remove-collision-mesh"]], "PyBulletClient.reset_planning_scene": [[120, "pybulletclient-reset-planning-scene"]], "PyBulletClient.set_robot_configuration": [[121, "pybulletclient-set-robot-configuration"]], "PyBulletClient.step_simulation": [[122, "pybulletclient-step-simulation"]], "PyBulletError": [[123, "pybulleterror"]], "PyBulletPlanner": [[124, "pybulletplanner"]], "PyBulletPlanner.add_attached_collision_mesh": [[125, "pybulletplanner-add-attached-collision-mesh"]], "PyBulletPlanner.add_collision_mesh": [[126, "pybulletplanner-add-collision-mesh"]], "PyBulletPlanner.append_collision_mesh": [[127, "pybulletplanner-append-collision-mesh"]], "PyBulletPlanner.forward_kinematics": [[128, "pybulletplanner-forward-kinematics"]], "PyBulletPlanner.get_planning_scene": [[129, "pybulletplanner-get-planning-scene"]], "PyBulletPlanner.inverse_kinematics": [[130, "pybulletplanner-inverse-kinematics"]], "PyBulletPlanner.plan_cartesian_motion": [[131, "pybulletplanner-plan-cartesian-motion"]], "PyBulletPlanner.plan_motion": [[132, "pybulletplanner-plan-motion"]], "PyBulletPlanner.remove_attached_collision_mesh": [[133, "pybulletplanner-remove-attached-collision-mesh"]], "PyBulletPlanner.remove_collision_mesh": [[134, "pybulletplanner-remove-collision-mesh"]], "PyBulletPlanner.reset_planning_scene": [[135, "pybulletplanner-reset-planning-scene"]], "RosClient": [[136, "rosclient"]], "RosClient.add_attached_collision_mesh": [[137, "rosclient-add-attached-collision-mesh"]], "RosClient.add_collision_mesh": [[138, "rosclient-add-collision-mesh"]], "RosClient.append_collision_mesh": [[139, "rosclient-append-collision-mesh"]], "RosClient.authenticate": [[140, "rosclient-authenticate"]], "RosClient.blocking_call_from_thread": [[141, "rosclient-blocking-call-from-thread"]], "RosClient.call_async_service": [[142, "rosclient-call-async-service"]], "RosClient.call_in_thread": [[143, "rosclient-call-in-thread"]], "RosClient.call_later": [[144, "rosclient-call-later"]], "RosClient.call_sync_service": [[145, "rosclient-call-sync-service"]], "RosClient.close": [[146, "rosclient-close"]], "RosClient.connect": [[147, "rosclient-connect"]], "RosClient.delete_param": [[148, "rosclient-delete-param"]], "RosClient.emit": [[149, "rosclient-emit"]], "RosClient.execute_joint_trajectory": [[150, "rosclient-execute-joint-trajectory"]], "RosClient.follow_configurations": [[151, "rosclient-follow-configurations"]], "RosClient.follow_joint_trajectory": [[152, "rosclient-follow-joint-trajectory"]], "RosClient.forward_kinematics": [[153, "rosclient-forward-kinematics"]], "RosClient.get_action_servers": [[154, "rosclient-get-action-servers"]], "RosClient.get_configuration": [[155, "rosclient-get-configuration"]], "RosClient.get_message_details": [[156, "rosclient-get-message-details"]], "RosClient.get_node_details": [[157, "rosclient-get-node-details"]], "RosClient.get_nodes": [[158, "rosclient-get-nodes"]], "RosClient.get_param": [[159, "rosclient-get-param"]], "RosClient.get_params": [[160, "rosclient-get-params"]], "RosClient.get_planning_scene": [[161, "rosclient-get-planning-scene"]], "RosClient.get_service_request_callback": [[162, "rosclient-get-service-request-callback"]], "RosClient.get_service_request_details": [[163, "rosclient-get-service-request-details"]], "RosClient.get_service_response_details": [[164, "rosclient-get-service-response-details"]], "RosClient.get_service_type": [[165, "rosclient-get-service-type"]], "RosClient.get_services": [[166, "rosclient-get-services"]], "RosClient.get_services_for_type": [[167, "rosclient-get-services-for-type"]], "RosClient.get_time": [[168, "rosclient-get-time"]], "RosClient.get_topic_type": [[169, "rosclient-get-topic-type"]], "RosClient.get_topics": [[170, "rosclient-get-topics"]], "RosClient.get_topics_for_type": [[171, "rosclient-get-topics-for-type"]], "RosClient.inverse_kinematics": [[172, "rosclient-inverse-kinematics"]], "RosClient.load_robot": [[173, "rosclient-load-robot"]], "RosClient.off": [[174, "rosclient-off"]], "RosClient.on": [[175, "rosclient-on"]], "RosClient.on_ready": [[176, "rosclient-on-ready"]], "RosClient.plan_cartesian_motion": [[177, "rosclient-plan-cartesian-motion"]], "RosClient.plan_motion": [[178, "rosclient-plan-motion"]], "RosClient.remove_attached_collision_mesh": [[179, "rosclient-remove-attached-collision-mesh"]], "RosClient.remove_collision_mesh": [[180, "rosclient-remove-collision-mesh"]], "RosClient.reset_planning_scene": [[181, "rosclient-reset-planning-scene"]], "RosClient.run": [[182, "rosclient-run"]], "RosClient.run_event_loop": [[183, "rosclient-run-event-loop"]], "RosClient.run_forever": [[184, "rosclient-run-forever"]], "RosClient.send_on_ready": [[185, "rosclient-send-on-ready"]], "RosClient.set_param": [[186, "rosclient-set-param"]], "RosClient.set_status_level": [[187, "rosclient-set-status-level"]], "RosClient.terminate": [[188, "rosclient-terminate"]], "RosError": [[189, "roserror"]], "RosFileServerLoader": [[190, "rosfileserverloader"]], "RosFileServerLoader.can_load_mesh": [[191, "rosfileserverloader-can-load-mesh"]], "RosFileServerLoader.load_mesh": [[192, "rosfileserverloader-load-mesh"]], "RosFileServerLoader.load_meshes": [[193, "rosfileserverloader-load-meshes"]], "RosFileServerLoader.load_srdf": [[194, "rosfileserverloader-load-srdf"]], "RosFileServerLoader.load_urdf": [[195, "rosfileserverloader-load-urdf"]], "RosValidationError": [[196, "rosvalidationerror"]], "SphericalWristKinematics": [[197, "sphericalwristkinematics"]], "SphericalWristKinematics.forward": [[198, "sphericalwristkinematics-forward"]], "SphericalWristKinematics.inverse": [[199, "sphericalwristkinematics-inverse"]], "Staubli_TX260LKinematics": [[200, "staubli-tx260lkinematics"]], "Staubli_TX260LKinematics.forward": [[201, "staubli-tx260lkinematics-forward"]], "Staubli_TX260LKinematics.inverse": [[202, "staubli-tx260lkinematics-inverse"]], "UR10Kinematics": [[203, "ur10kinematics"]], "UR10Kinematics.forward": [[204, "ur10kinematics-forward"]], "UR10Kinematics.inverse": [[205, "ur10kinematics-inverse"]], "UR10eKinematics": [[206, "ur10ekinematics"]], "UR10eKinematics.forward": [[207, "ur10ekinematics-forward"]], "UR10eKinematics.inverse": [[208, "ur10ekinematics-inverse"]], "UR3Kinematics": [[209, "ur3kinematics"]], "UR3Kinematics.forward": [[210, "ur3kinematics-forward"]], "UR3Kinematics.inverse": [[211, "ur3kinematics-inverse"]], "UR3eKinematics": [[212, "ur3ekinematics"]], "UR3eKinematics.forward": [[213, "ur3ekinematics-forward"]], "UR3eKinematics.inverse": [[214, "ur3ekinematics-inverse"]], "UR5Kinematics": [[215, "ur5kinematics"]], "UR5Kinematics.forward": [[216, "ur5kinematics-forward"]], "UR5Kinematics.inverse": [[217, "ur5kinematics-inverse"]], "UR5eKinematics": [[218, "ur5ekinematics"]], "UR5eKinematics.forward": [[219, "ur5ekinematics-forward"]], "UR5eKinematics.inverse": [[220, "ur5ekinematics-inverse"]], "ReachabilityMapObject": [[221, "reachabilitymapobject"], [237, "reachabilitymapobject"]], "ReachabilityMapObject.ToString": [[222, "reachabilitymapobject-tostring"], [238, "reachabilitymapobject-tostring"]], "ReachabilityMapObject.add": [[223, "reachabilitymapobject-add"], [239, "reachabilitymapobject-add"]], "ReachabilityMapObject.clear": [[224, "reachabilitymapobject-clear"], [241, "reachabilitymapobject-clear"]], "ReachabilityMapObject.copy": [[225, "reachabilitymapobject-copy"], [244, "reachabilitymapobject-copy"]], "ReachabilityMapObject.draw": [[226, "reachabilitymapobject-draw"], [245, "reachabilitymapobject-draw"]], "ReachabilityMapObject.draw_cloud": [[227, "reachabilitymapobject-draw-cloud"], [246, "reachabilitymapobject-draw-cloud"]], "ReachabilityMapObject.draw_frames": [[228, "reachabilitymapobject-draw-frames"], [247, "reachabilitymapobject-draw-frames"]], "ReachabilityMapObject.from_json": [[229, "reachabilitymapobject-from-json"], [248, "reachabilitymapobject-from-json"]], "ReachabilityMapObject.from_jsonstring": [[230, "reachabilitymapobject-from-jsonstring"], [249, "reachabilitymapobject-from-jsonstring"]], "ReachabilityMapObject.remove": [[231, "reachabilitymapobject-remove"], [251, "reachabilitymapobject-remove"]], "ReachabilityMapObject.sha256": [[232, "reachabilitymapobject-sha256"], [252, "reachabilitymapobject-sha256"]], "ReachabilityMapObject.to_json": [[233, "reachabilitymapobject-to-json"], [253, "reachabilitymapobject-to-json"]], "ReachabilityMapObject.to_jsonstring": [[234, "reachabilitymapobject-to-jsonstring"], [254, "reachabilitymapobject-to-jsonstring"]], "ReachabilityMapObject.traverse": [[235, "reachabilitymapobject-traverse"], [255, "reachabilitymapobject-traverse"]], "ReachabilityMapObject.validate_data": [[236, "reachabilitymapobject-validate-data"], [256, "reachabilitymapobject-validate-data"]], "ReachabilityMapObject.add_to_group": [[240, "reachabilitymapobject-add-to-group"]], "ReachabilityMapObject.clear_layer": [[242, "reachabilitymapobject-clear-layer"]], "ReachabilityMapObject.compile_attributes": [[243, "reachabilitymapobject-compile-attributes"]], "ReachabilityMapObject.get_group": [[250, "reachabilitymapobject-get-group"]], "AttachedCollisionMesh": [[257, "attachedcollisionmesh"]], "AttachedCollisionMesh.ToString": [[258, "attachedcollisionmesh-tostring"]], "AttachedCollisionMesh.copy": [[259, "attachedcollisionmesh-copy"]], "AttachedCollisionMesh.from_json": [[260, "attachedcollisionmesh-from-json"]], "AttachedCollisionMesh.from_jsonstring": [[261, "attachedcollisionmesh-from-jsonstring"]], "AttachedCollisionMesh.sha256": [[262, "attachedcollisionmesh-sha256"]], "AttachedCollisionMesh.to_json": [[263, "attachedcollisionmesh-to-json"]], "AttachedCollisionMesh.to_jsonstring": [[264, "attachedcollisionmesh-to-jsonstring"]], "AttachedCollisionMesh.validate_data": [[265, "attachedcollisionmesh-validate-data"]], "BoundingVolume": [[266, "boundingvolume"]], "BoundingVolume.ToString": [[267, "boundingvolume-tostring"]], "BoundingVolume.copy": [[268, "boundingvolume-copy"]], "BoundingVolume.from_box": [[269, "boundingvolume-from-box"]], "BoundingVolume.from_json": [[270, "boundingvolume-from-json"]], "BoundingVolume.from_jsonstring": [[271, "boundingvolume-from-jsonstring"]], "BoundingVolume.from_mesh": [[272, "boundingvolume-from-mesh"]], "BoundingVolume.from_sphere": [[273, "boundingvolume-from-sphere"]], "BoundingVolume.scale": [[274, "boundingvolume-scale"]], "BoundingVolume.sha256": [[275, "boundingvolume-sha256"]], "BoundingVolume.to_json": [[276, "boundingvolume-to-json"]], "BoundingVolume.to_jsonstring": [[277, "boundingvolume-to-jsonstring"]], "BoundingVolume.transform": [[278, "boundingvolume-transform"]], "BoundingVolume.validate_data": [[279, "boundingvolume-validate-data"]], "CollisionMesh": [[280, "collisionmesh"]], "CollisionMesh.ToString": [[281, "collisionmesh-tostring"]], "CollisionMesh.copy": [[282, "collisionmesh-copy"]], "CollisionMesh.from_json": [[283, "collisionmesh-from-json"]], "CollisionMesh.from_jsonstring": [[284, "collisionmesh-from-jsonstring"]], "CollisionMesh.scale": [[285, "collisionmesh-scale"]], "CollisionMesh.scaled": [[286, "collisionmesh-scaled"]], "CollisionMesh.sha256": [[287, "collisionmesh-sha256"]], "CollisionMesh.to_json": [[288, "collisionmesh-to-json"]], "CollisionMesh.to_jsonstring": [[289, "collisionmesh-to-jsonstring"]], "CollisionMesh.validate_data": [[290, "collisionmesh-validate-data"]], "ConfigurationTarget": [[291, "configurationtarget"]], "ConfigurationTarget.ToString": [[292, "configurationtarget-tostring"]], "ConfigurationTarget.copy": [[293, "configurationtarget-copy"]], "ConfigurationTarget.from_json": [[294, "configurationtarget-from-json"]], "ConfigurationTarget.from_jsonstring": [[295, "configurationtarget-from-jsonstring"]], "ConfigurationTarget.generate_default_tolerances": [[296, "configurationtarget-generate-default-tolerances"]], "ConfigurationTarget.scaled": [[297, "configurationtarget-scaled"]], "ConfigurationTarget.sha256": [[298, "configurationtarget-sha256"]], "ConfigurationTarget.to_json": [[299, "configurationtarget-to-json"]], "ConfigurationTarget.to_jsonstring": [[300, "configurationtarget-to-jsonstring"]], "ConfigurationTarget.validate_data": [[301, "configurationtarget-validate-data"]], "Constraint": [[302, "constraint"]], "Constraint.ToString": [[303, "constraint-tostring"]], "Constraint.copy": [[304, "constraint-copy"]], "Constraint.from_json": [[305, "constraint-from-json"]], "Constraint.from_jsonstring": [[306, "constraint-from-jsonstring"]], "Constraint.scale": [[307, "constraint-scale"]], "Constraint.scaled": [[308, "constraint-scaled"]], "Constraint.sha256": [[309, "constraint-sha256"]], "Constraint.to_json": [[310, "constraint-to-json"]], "Constraint.to_jsonstring": [[311, "constraint-to-jsonstring"]], "Constraint.transform": [[312, "constraint-transform"]], "Constraint.validate_data": [[313, "constraint-validate-data"]], "ConstraintSetTarget": [[314, "constraintsettarget"]], "ConstraintSetTarget.ToString": [[315, "constraintsettarget-tostring"]], "ConstraintSetTarget.copy": [[316, "constraintsettarget-copy"]], "ConstraintSetTarget.from_json": [[317, "constraintsettarget-from-json"]], "ConstraintSetTarget.from_jsonstring": [[318, "constraintsettarget-from-jsonstring"]], "ConstraintSetTarget.scaled": [[319, "constraintsettarget-scaled"]], "ConstraintSetTarget.sha256": [[320, "constraintsettarget-sha256"]], "ConstraintSetTarget.to_json": [[321, "constraintsettarget-to-json"]], "ConstraintSetTarget.to_jsonstring": [[322, "constraintsettarget-to-jsonstring"]], "ConstraintSetTarget.validate_data": [[323, "constraintsettarget-validate-data"]], "DeviationVectorsGenerator": [[324, "deviationvectorsgenerator"]], "Duration": [[325, "duration"]], "Duration.ToString": [[326, "duration-tostring"]], "Duration.copy": [[327, "duration-copy"]], "Duration.from_json": [[328, "duration-from-json"]], "Duration.from_jsonstring": [[329, "duration-from-jsonstring"]], "Duration.sha256": [[330, "duration-sha256"]], "Duration.to_json": [[331, "duration-to-json"]], "Duration.to_jsonstring": [[332, "duration-to-jsonstring"]], "Duration.validate_data": [[333, "duration-validate-data"]], "FrameTarget": [[334, "frametarget"]], "FrameTarget.ToString": [[335, "frametarget-tostring"]], "FrameTarget.copy": [[336, "frametarget-copy"]], "FrameTarget.from_json": [[337, "frametarget-from-json"]], "FrameTarget.from_jsonstring": [[338, "frametarget-from-jsonstring"]], "FrameTarget.from_transformation": [[339, "frametarget-from-transformation"]], "FrameTarget.scaled": [[340, "frametarget-scaled"]], "FrameTarget.sha256": [[341, "frametarget-sha256"]], "FrameTarget.to_json": [[342, "frametarget-to-json"]], "FrameTarget.to_jsonstring": [[343, "frametarget-to-jsonstring"]], "FrameTarget.validate_data": [[344, "frametarget-validate-data"]], "FrameWaypoints": [[345, "framewaypoints"]], "FrameWaypoints.ToString": [[346, "framewaypoints-tostring"]], "FrameWaypoints.copy": [[347, "framewaypoints-copy"]], "FrameWaypoints.from_json": [[348, "framewaypoints-from-json"]], "FrameWaypoints.from_jsonstring": [[349, "framewaypoints-from-jsonstring"]], "FrameWaypoints.from_transformations": [[350, "framewaypoints-from-transformations"]], "FrameWaypoints.scaled": [[351, "framewaypoints-scaled"]], "FrameWaypoints.sha256": [[352, "framewaypoints-sha256"]], "FrameWaypoints.to_json": [[353, "framewaypoints-to-json"]], "FrameWaypoints.to_jsonstring": [[354, "framewaypoints-to-jsonstring"]], "FrameWaypoints.validate_data": [[355, "framewaypoints-validate-data"]], "Inertia": [[356, "inertia"]], "Inertia.calculate_inertia_tensor": [[357, "inertia-calculate-inertia-tensor"]], "JointConstraint": [[358, "jointconstraint"]], "JointConstraint.ToString": [[359, "jointconstraint-tostring"]], "JointConstraint.copy": [[360, "jointconstraint-copy"]], "JointConstraint.from_json": [[361, "jointconstraint-from-json"]], "JointConstraint.from_jsonstring": [[362, "jointconstraint-from-jsonstring"]], "JointConstraint.joint_constraints_from_configuration": [[363, "jointconstraint-joint-constraints-from-configuration"]], "JointConstraint.scale": [[364, "jointconstraint-scale"]], "JointConstraint.scaled": [[365, "jointconstraint-scaled"]], "JointConstraint.sha256": [[366, "jointconstraint-sha256"]], "JointConstraint.to_json": [[367, "jointconstraint-to-json"]], "JointConstraint.to_jsonstring": [[368, "jointconstraint-to-jsonstring"]], "JointConstraint.transform": [[369, "jointconstraint-transform"]], "JointConstraint.validate_data": [[370, "jointconstraint-validate-data"]], "JointTrajectory": [[371, "jointtrajectory"]], "JointTrajectory.ToString": [[372, "jointtrajectory-tostring"]], "JointTrajectory.copy": [[373, "jointtrajectory-copy"]], "JointTrajectory.from_json": [[374, "jointtrajectory-from-json"]], "JointTrajectory.from_jsonstring": [[375, "jointtrajectory-from-jsonstring"]], "JointTrajectory.sha256": [[376, "jointtrajectory-sha256"]], "JointTrajectory.to_json": [[377, "jointtrajectory-to-json"]], "JointTrajectory.to_jsonstring": [[378, "jointtrajectory-to-jsonstring"]], "JointTrajectory.validate_data": [[379, "jointtrajectory-validate-data"]], "JointTrajectoryPoint": [[380, "jointtrajectorypoint"]], "JointTrajectoryPoint.ToString": [[381, "jointtrajectorypoint-tostring"]], "JointTrajectoryPoint.check_joint_names": [[382, "jointtrajectorypoint-check-joint-names"]], "JointTrajectoryPoint.close_to": [[383, "jointtrajectorypoint-close-to"]], "JointTrajectoryPoint.copy": [[384, "jointtrajectorypoint-copy"]], "JointTrajectoryPoint.from_json": [[385, "jointtrajectorypoint-from-json"]], "JointTrajectoryPoint.from_jsonstring": [[386, "jointtrajectorypoint-from-jsonstring"]], "JointTrajectoryPoint.from_prismatic_and_revolute_values": [[387, "jointtrajectorypoint-from-prismatic-and-revolute-values"]], "JointTrajectoryPoint.from_revolute_values": [[388, "jointtrajectorypoint-from-revolute-values"]], "JointTrajectoryPoint.get": [[389, "jointtrajectorypoint-get"]], "JointTrajectoryPoint.items": [[390, "jointtrajectorypoint-items"]], "JointTrajectoryPoint.iter_differences": [[391, "jointtrajectorypoint-iter-differences"]], "JointTrajectoryPoint.keys": [[392, "jointtrajectorypoint-keys"]], "JointTrajectoryPoint.max_difference": [[393, "jointtrajectorypoint-max-difference"]], "JointTrajectoryPoint.merge": [[394, "jointtrajectorypoint-merge"]], "JointTrajectoryPoint.merged": [[395, "jointtrajectorypoint-merged"]], "JointTrajectoryPoint.scale": [[396, "jointtrajectorypoint-scale"]], "JointTrajectoryPoint.scaled": [[397, "jointtrajectorypoint-scaled"]], "JointTrajectoryPoint.sha256": [[398, "jointtrajectorypoint-sha256"]], "JointTrajectoryPoint.to_json": [[399, "jointtrajectorypoint-to-json"]], "JointTrajectoryPoint.to_jsonstring": [[400, "jointtrajectorypoint-to-jsonstring"]], "JointTrajectoryPoint.validate_data": [[401, "jointtrajectorypoint-validate-data"]], "JointTrajectoryPoint.values": [[402, "jointtrajectorypoint-values"]], "OrientationConstraint": [[403, "orientationconstraint"]], "OrientationConstraint.ToString": [[404, "orientationconstraint-tostring"]], "OrientationConstraint.copy": [[405, "orientationconstraint-copy"]], "OrientationConstraint.from_frame": [[406, "orientationconstraint-from-frame"]], "OrientationConstraint.from_json": [[407, "orientationconstraint-from-json"]], "OrientationConstraint.from_jsonstring": [[408, "orientationconstraint-from-jsonstring"]], "OrientationConstraint.scale": [[409, "orientationconstraint-scale"]], "OrientationConstraint.scaled": [[410, "orientationconstraint-scaled"]], "OrientationConstraint.sha256": [[411, "orientationconstraint-sha256"]], "OrientationConstraint.to_json": [[412, "orientationconstraint-to-json"]], "OrientationConstraint.to_jsonstring": [[413, "orientationconstraint-to-jsonstring"]], "OrientationConstraint.transform": [[414, "orientationconstraint-transform"]], "OrientationConstraint.validate_data": [[415, "orientationconstraint-validate-data"]], "OrthonormalVectorsFromAxisGenerator": [[416, "orthonormalvectorsfromaxisgenerator"]], "PlanningScene": [[417, "planningscene"]], "PlanningScene.add_attached_collision_mesh": [[418, "planningscene-add-attached-collision-mesh"]], "PlanningScene.add_attached_tool": [[419, "planningscene-add-attached-tool"]], "PlanningScene.add_collision_mesh": [[420, "planningscene-add-collision-mesh"]], "PlanningScene.append_collision_mesh": [[421, "planningscene-append-collision-mesh"]], "PlanningScene.attach_collision_mesh_to_robot_end_effector": [[422, "planningscene-attach-collision-mesh-to-robot-end-effector"]], "PlanningScene.ensure_client": [[423, "planningscene-ensure-client"]], "PlanningScene.remove_attached_collision_mesh": [[424, "planningscene-remove-attached-collision-mesh"]], "PlanningScene.remove_attached_tool": [[425, "planningscene-remove-attached-tool"]], "PlanningScene.remove_collision_mesh": [[426, "planningscene-remove-collision-mesh"]], "PlanningScene.reset": [[427, "planningscene-reset"]], "PointAxisTarget": [[428, "pointaxistarget"]], "PointAxisTarget.ToString": [[429, "pointaxistarget-tostring"]], "PointAxisTarget.copy": [[430, "pointaxistarget-copy"]], "PointAxisTarget.from_json": [[431, "pointaxistarget-from-json"]], "PointAxisTarget.from_jsonstring": [[432, "pointaxistarget-from-jsonstring"]], "PointAxisTarget.scaled": [[433, "pointaxistarget-scaled"]], "PointAxisTarget.sha256": [[434, "pointaxistarget-sha256"]], "PointAxisTarget.to_json": [[435, "pointaxistarget-to-json"]], "PointAxisTarget.to_jsonstring": [[436, "pointaxistarget-to-jsonstring"]], "PointAxisTarget.validate_data": [[437, "pointaxistarget-validate-data"]], "PointAxisWaypoints": [[438, "pointaxiswaypoints"]], "PointAxisWaypoints.ToString": [[439, "pointaxiswaypoints-tostring"]], "PointAxisWaypoints.copy": [[440, "pointaxiswaypoints-copy"]], "PointAxisWaypoints.from_json": [[441, "pointaxiswaypoints-from-json"]], "PointAxisWaypoints.from_jsonstring": [[442, "pointaxiswaypoints-from-jsonstring"]], "PointAxisWaypoints.scaled": [[443, "pointaxiswaypoints-scaled"]], "PointAxisWaypoints.sha256": [[444, "pointaxiswaypoints-sha256"]], "PointAxisWaypoints.to_json": [[445, "pointaxiswaypoints-to-json"]], "PointAxisWaypoints.to_jsonstring": [[446, "pointaxiswaypoints-to-jsonstring"]], "PointAxisWaypoints.validate_data": [[447, "pointaxiswaypoints-validate-data"]], "PositionConstraint": [[448, "positionconstraint"]], "PositionConstraint.ToString": [[449, "positionconstraint-tostring"]], "PositionConstraint.copy": [[450, "positionconstraint-copy"]], "PositionConstraint.from_box": [[451, "positionconstraint-from-box"]], "PositionConstraint.from_frame": [[452, "positionconstraint-from-frame"]], "PositionConstraint.from_json": [[453, "positionconstraint-from-json"]], "PositionConstraint.from_jsonstring": [[454, "positionconstraint-from-jsonstring"]], "PositionConstraint.from_mesh": [[455, "positionconstraint-from-mesh"]], "PositionConstraint.from_point": [[456, "positionconstraint-from-point"]], "PositionConstraint.from_sphere": [[457, "positionconstraint-from-sphere"]], "PositionConstraint.scale": [[458, "positionconstraint-scale"]], "PositionConstraint.scaled": [[459, "positionconstraint-scaled"]], "PositionConstraint.sha256": [[460, "positionconstraint-sha256"]], "PositionConstraint.to_json": [[461, "positionconstraint-to-json"]], "PositionConstraint.to_jsonstring": [[462, "positionconstraint-to-jsonstring"]], "PositionConstraint.transform": [[463, "positionconstraint-transform"]], "PositionConstraint.validate_data": [[464, "positionconstraint-validate-data"]], "ReachabilityMap": [[465, "reachabilitymap"]], "ReachabilityMap.ToString": [[466, "reachabilitymap-tostring"]], "ReachabilityMap.calculate": [[467, "reachabilitymap-calculate"]], "ReachabilityMap.copy": [[468, "reachabilitymap-copy"]], "ReachabilityMap.from_json": [[469, "reachabilitymap-from-json"]], "ReachabilityMap.from_jsonstring": [[470, "reachabilitymap-from-jsonstring"]], "ReachabilityMap.reachable_frames_and_configurations_at_ik_index": [[471, "reachabilitymap-reachable-frames-and-configurations-at-ik-index"]], "ReachabilityMap.sha256": [[472, "reachabilitymap-sha256"]], "ReachabilityMap.to_json": [[473, "reachabilitymap-to-json"]], "ReachabilityMap.to_jsonstring": [[474, "reachabilitymap-to-jsonstring"]], "ReachabilityMap.validate_data": [[475, "reachabilitymap-validate-data"]], "Robot": [[476, "robot"]], "Robot.ToString": [[477, "robot-tostring"]], "Robot.attach_tool": [[478, "robot-attach-tool"]], "Robot.basic": [[479, "robot-basic"]], "Robot.copy": [[480, "robot-copy"]], "Robot.detach_tool": [[481, "robot-detach-tool"]], "Robot.draw": [[482, "robot-draw"]], "Robot.draw_collision": [[483, "robot-draw-collision"]], "Robot.draw_visual": [[484, "robot-draw-visual"]], "Robot.ensure_client": [[485, "robot-ensure-client"]], "Robot.ensure_geometry": [[486, "robot-ensure-geometry"]], "Robot.ensure_semantics": [[487, "robot-ensure-semantics"]], "Robot.forward_kinematics": [[488, "robot-forward-kinematics"]], "Robot.from_json": [[489, "robot-from-json"]], "Robot.from_jsonstring": [[490, "robot-from-jsonstring"]], "Robot.from_t0cf_to_tcf": [[491, "robot-from-t0cf-to-tcf"]], "Robot.from_tcf_to_t0cf": [[492, "robot-from-tcf-to-t0cf"]], "Robot.get_RCF": [[493, "robot-get-rcf"]], "Robot.get_attached_tool_collision_meshes": [[494, "robot-get-attached-tool-collision-meshes"]], "Robot.get_base_frame": [[495, "robot-get-base-frame"]], "Robot.get_base_link": [[496, "robot-get-base-link"]], "Robot.get_base_link_name": [[497, "robot-get-base-link-name"]], "Robot.get_configurable_joint_names": [[498, "robot-get-configurable-joint-names"]], "Robot.get_configurable_joint_types": [[499, "robot-get-configurable-joint-types"]], "Robot.get_configurable_joints": [[500, "robot-get-configurable-joints"]], "Robot.get_configuration_from_group_state": [[501, "robot-get-configuration-from-group-state"]], "Robot.get_end_effector_frame": [[502, "robot-get-end-effector-frame"]], "Robot.get_end_effector_link": [[503, "robot-get-end-effector-link"]], "Robot.get_end_effector_link_name": [[504, "robot-get-end-effector-link-name"]], "Robot.get_group_configuration": [[505, "robot-get-group-configuration"]], "Robot.get_group_names_from_link_name": [[506, "robot-get-group-names-from-link-name"]], "Robot.get_joint_by_name": [[507, "robot-get-joint-by-name"]], "Robot.get_joint_types_by_names": [[508, "robot-get-joint-types-by-names"]], "Robot.get_link_names": [[509, "robot-get-link-names"]], "Robot.get_link_names_with_collision_geometry": [[510, "robot-get-link-names-with-collision-geometry"]], "Robot.get_position_by_joint_name": [[511, "robot-get-position-by-joint-name"]], "Robot.info": [[512, "robot-info"]], "Robot.inverse_kinematics": [[513, "robot-inverse-kinematics"]], "Robot.iter_inverse_kinematics": [[514, "robot-iter-inverse-kinematics"]], "Robot.merge_group_with_full_configuration": [[515, "robot-merge-group-with-full-configuration"]], "Robot.plan_cartesian_motion": [[516, "robot-plan-cartesian-motion"]], "Robot.plan_motion": [[517, "robot-plan-motion"]], "Robot.random_configuration": [[518, "robot-random-configuration"]], "Robot.scale": [[519, "robot-scale"]], "Robot.set_RCF": [[520, "robot-set-rcf"]], "Robot.sha256": [[521, "robot-sha256"]], "Robot.to_json": [[522, "robot-to-json"]], "Robot.to_jsonstring": [[523, "robot-to-jsonstring"]], "Robot.to_local_coordinates": [[524, "robot-to-local-coordinates"]], "Robot.to_world_coordinates": [[525, "robot-to-world-coordinates"]], "Robot.transformation_RCF_WCF": [[526, "robot-transformation-rcf-wcf"]], "Robot.transformation_WCF_RCF": [[527, "robot-transformation-wcf-rcf"]], "Robot.transformed_axes": [[528, "robot-transformed-axes"]], "Robot.transformed_frames": [[529, "robot-transformed-frames"]], "Robot.update": [[530, "robot-update"]], "Robot.validate_data": [[531, "robot-validate-data"]], "Robot.zero_configuration": [[532, "robot-zero-configuration"]], "RobotLibrary": [[533, "robotlibrary"]], "RobotLibrary.abb_irb4600_40_255": [[534, "robotlibrary-abb-irb4600-40-255"]], "RobotLibrary.rfl": [[535, "robotlibrary-rfl"]], "RobotLibrary.ur10e": [[536, "robotlibrary-ur10e"]], "RobotLibrary.ur5": [[537, "robotlibrary-ur5"]], "RobotSemantics": [[538, "robotsemantics"]], "RobotSemantics.ToString": [[539, "robotsemantics-tostring"]], "RobotSemantics.copy": [[540, "robotsemantics-copy"]], "RobotSemantics.from_json": [[541, "robotsemantics-from-json"]], "RobotSemantics.from_jsonstring": [[542, "robotsemantics-from-jsonstring"]], "RobotSemantics.from_srdf_file": [[543, "robotsemantics-from-srdf-file"]], "RobotSemantics.from_srdf_string": [[544, "robotsemantics-from-srdf-string"]], "RobotSemantics.from_xml": [[545, "robotsemantics-from-xml"]], "RobotSemantics.get_all_configurable_joints": [[546, "robotsemantics-get-all-configurable-joints"]], "RobotSemantics.get_base_link_name": [[547, "robotsemantics-get-base-link-name"]], "RobotSemantics.get_configurable_joint_names": [[548, "robotsemantics-get-configurable-joint-names"]], "RobotSemantics.get_configurable_joints": [[549, "robotsemantics-get-configurable-joints"]], "RobotSemantics.get_end_effector_link_name": [[550, "robotsemantics-get-end-effector-link-name"]], "RobotSemantics.sha256": [[551, "robotsemantics-sha256"]], "RobotSemantics.to_json": [[552, "robotsemantics-to-json"]], "RobotSemantics.to_jsonstring": [[553, "robotsemantics-to-jsonstring"]], "RobotSemantics.validate_data": [[554, "robotsemantics-validate-data"]], "Target": [[555, "target"]], "Target.ToString": [[556, "target-tostring"]], "Target.copy": [[557, "target-copy"]], "Target.from_json": [[558, "target-from-json"]], "Target.from_jsonstring": [[559, "target-from-jsonstring"]], "Target.scaled": [[560, "target-scaled"]], "Target.sha256": [[561, "target-sha256"]], "Target.to_json": [[562, "target-to-json"]], "Target.to_jsonstring": [[563, "target-to-jsonstring"]], "Target.validate_data": [[564, "target-validate-data"]], "Tool": [[565, "tool"]], "Tool.ToString": [[566, "tool-tostring"]], "Tool.copy": [[567, "tool-copy"]], "Tool.from_json": [[568, "tool-from-json"]], "Tool.from_jsonstring": [[569, "tool-from-jsonstring"]], "Tool.from_t0cf_to_tcf": [[570, "tool-from-t0cf-to-tcf"]], "Tool.from_tcf_to_t0cf": [[571, "tool-from-tcf-to-t0cf"]], "Tool.from_tool_model": [[572, "tool-from-tool-model"]], "Tool.sha256": [[573, "tool-sha256"]], "Tool.to_json": [[574, "tool-to-json"]], "Tool.to_jsonstring": [[575, "tool-to-jsonstring"]], "Tool.update_touch_links": [[576, "tool-update-touch-links"]], "Tool.validate_data": [[577, "tool-validate-data"]], "Trajectory": [[578, "trajectory"]], "Trajectory.ToString": [[579, "trajectory-tostring"]], "Trajectory.copy": [[580, "trajectory-copy"]], "Trajectory.from_json": [[581, "trajectory-from-json"]], "Trajectory.from_jsonstring": [[582, "trajectory-from-jsonstring"]], "Trajectory.sha256": [[583, "trajectory-sha256"]], "Trajectory.to_json": [[584, "trajectory-to-json"]], "Trajectory.to_jsonstring": [[585, "trajectory-to-jsonstring"]], "Trajectory.validate_data": [[586, "trajectory-validate-data"]], "Waypoints": [[587, "waypoints"]], "Waypoints.ToString": [[588, "waypoints-tostring"]], "Waypoints.copy": [[589, "waypoints-copy"]], "Waypoints.from_json": [[590, "waypoints-from-json"]], "Waypoints.from_jsonstring": [[591, "waypoints-from-jsonstring"]], "Waypoints.scaled": [[592, "waypoints-scaled"]], "Waypoints.sha256": [[593, "waypoints-sha256"]], "Waypoints.to_json": [[594, "waypoints-to-json"]], "Waypoints.to_jsonstring": [[595, "waypoints-to-jsonstring"]], "Waypoints.validate_data": [[596, "waypoints-validate-data"]], "Wrench": [[597, "wrench"]], "Wrench.ToString": [[598, "wrench-tostring"]], "Wrench.by_samples": [[599, "wrench-by-samples"]], "Wrench.copy": [[600, "wrench-copy"]], "Wrench.from_json": [[601, "wrench-from-json"]], "Wrench.from_jsonstring": [[602, "wrench-from-jsonstring"]], "Wrench.from_list": [[603, "wrench-from-list"]], "Wrench.gravity_compensated": [[604, "wrench-gravity-compensated"]], "Wrench.sha256": [[605, "wrench-sha256"]], "Wrench.to_json": [[606, "wrench-to-json"]], "Wrench.to_jsonstring": [[607, "wrench-to-jsonstring"]], "Wrench.transform": [[608, "wrench-transform"]], "Wrench.transformed": [[609, "wrench-transformed"]], "Wrench.validate_data": [[610, "wrench-validate-data"]], "to_degrees": [[611, "to-degrees"]], "to_radians": [[612, "to-radians"]], "PosCon3D": [[613, "poscon3d"]], "PosCon3D.activate_flex_mount": [[614, "poscon3d-activate-flex-mount"]], "PosCon3D.adjust_to_dark_object": [[615, "poscon3d-adjust-to-dark-object"]], "PosCon3D.begin": [[616, "poscon3d-begin"]], "PosCon3D.calculate_checksum": [[617, "poscon3d-calculate-checksum"]], "PosCon3D.deactivate_flex_mount": [[618, "poscon3d-deactivate-flex-mount"]], "PosCon3D.end": [[619, "poscon3d-end"]], "PosCon3D.format_command": [[620, "poscon3d-format-command"]], "PosCon3D.get_address": [[621, "poscon3d-get-address"]], "PosCon3D.get_live_monitor_data": [[622, "poscon3d-get-live-monitor-data"]], "PosCon3D.get_measurement": [[623, "poscon3d-get-measurement"]], "PosCon3D.get_payload": [[624, "poscon3d-get-payload"]], "PosCon3D.reset": [[625, "poscon3d-reset"]], "PosCon3D.send_command": [[626, "poscon3d-send-command"]], "PosCon3D.set_edge_height": [[627, "poscon3d-set-edge-height"]], "PosCon3D.set_flex_mount": [[628, "poscon3d-set-flex-mount"]], "PosCon3D.set_measurement_type": [[629, "poscon3d-set-measurement-type"]], "PosCon3D.set_precision": [[630, "poscon3d-set-precision"]], "PosConCM": [[631, "posconcm"]], "PosConCM.activate_flex_mount": [[632, "posconcm-activate-flex-mount"]], "PosConCM.adjust_to_dark_object": [[633, "posconcm-adjust-to-dark-object"]], "PosConCM.begin": [[634, "posconcm-begin"]], "PosConCM.calculate_checksum": [[635, "posconcm-calculate-checksum"]], "PosConCM.deactivate_flex_mount": [[636, "posconcm-deactivate-flex-mount"]], "PosConCM.end": [[637, "posconcm-end"]], "PosConCM.format_command": [[638, "posconcm-format-command"]], "PosConCM.get_address": [[639, "posconcm-get-address"]], "PosConCM.get_measurement": [[640, "posconcm-get-measurement"]], "PosConCM.get_payload": [[641, "posconcm-get-payload"]], "PosConCM.reset": [[642, "posconcm-reset"]], "PosConCM.send_command": [[643, "posconcm-send-command"]], "PosConCM.set_flex_mount": [[644, "posconcm-set-flex-mount"]], "PosConCM.set_measurement_type": [[645, "posconcm-set-measurement-type"]], "PosConCM.set_precision": [[646, "posconcm-set-precision"]], "PosConCM.teach_flex_mount": [[647, "posconcm-teach-flex-mount"]], "ProtocolError": [[648, "protocolerror"]], "SensorTimeoutError": [[649, "sensortimeouterror"]], "SerialSensor": [[650, "serialsensor"]], "LazyLoader": [[651, "lazyloader"]], "allclose": [[652, "allclose"]], "arange": [[653, "arange"]], "argmax": [[654, "argmax"]], "argmin": [[655, "argmin"]], "argsort": [[656, "argsort"]], "clamp": [[657, "clamp"]], "diffs": [[658, "diffs"]], "from_tcf_to_t0cf": [[659, "from-tcf-to-t0cf"]], "list_files_in_directory": [[660, "list-files-in-directory"]], "map_range": [[661, "map-range"]], "range_geometric_row": [[662, "range-geometric-row"]], "read_csv_to_dictionary": [[663, "read-csv-to-dictionary"]], "read_data_from_pickle": [[664, "read-data-from-pickle"]], "sign": [[665, "sign"]], "write_data_to_pickle": [[666, "write-data-to-pickle"]], "Citing": [[667, "citing"]], "Authors": [[667, "authors"]], "Working with backends": [[668, "working-with-backends"]], "Installing backends": [[668, "installing-backends"]], "Installing Docker": [[668, "installing-docker"]], "Working with containers": [[668, "working-with-containers"]], "Developing new backends": [[668, "developing-new-backends"]], "Next steps": [[668, "next-steps"]], "Next Steps": [[669, "next-steps"], [670, "next-steps"], [799, "next-steps"]], "ROS on Docker": [[670, "ros-on-docker"]], "Complete ROS systems": [[670, "complete-ros-systems"]], "ROS on Linux": [[670, "ros-on-linux"]], "ROS on WSL": [[670, "ros-on-wsl"]], "Access backend GUI": [[671, "access-backend-gui"]], "Visualization over web browser": [[671, "visualization-over-web-browser"]], "Visualization forwarding display": [[671, "visualization-forwarding-display"]], "CHANGELOG": [[672, "changelog"]], "Contributor\u2019s Guide": [[673, "contributor-s-guide"]], "Code contributions": [[673, "code-contributions"]], "Documentation improvements": [[673, "documentation-improvements"]], "Bug reports": [[673, "bug-reports"]], "Feature requests and feedback": [[673, "feature-requests-and-feedback"]], "Design documents": [[673, "design-documents"]], "Backend clients": [[674, "backend-clients"]], "Backend interfaces": [[674, "module-compas_fab.backends.interfaces"]], "Client interfaces": [[674, "client-interfaces"]], "Feature interfaces": [[674, "feature-interfaces"]], "Planning scene interfaces": [[674, "planning-scene-interfaces"]], "Implemented backend features": [[674, "implemented-backend-features"]], "ROS backend features": [[674, "ros-backend-features"]], "PyBullet backend features": [[674, "pybullet-backend-features"]], "AddAttachedCollisionMesh": [[675, "addattachedcollisionmesh"]], "AddAttachedCollisionMesh.add_attached_collision_mesh": [[676, "addattachedcollisionmesh-add-attached-collision-mesh"]], "AddCollisionMesh": [[677, "addcollisionmesh"]], "AddCollisionMesh.add_collision_mesh": [[678, "addcollisionmesh-add-collision-mesh"]], "AppendCollisionMesh": [[679, "appendcollisionmesh"]], "AppendCollisionMesh.append_collision_mesh": [[680, "appendcollisionmesh-append-collision-mesh"]], "BackendFeature": [[681, "backendfeature"]], "ClientInterface": [[682, "clientinterface"]], "ClientInterface.add_attached_collision_mesh": [[683, "clientinterface-add-attached-collision-mesh"]], "ClientInterface.add_collision_mesh": [[684, "clientinterface-add-collision-mesh"]], "ClientInterface.append_collision_mesh": [[685, "clientinterface-append-collision-mesh"]], "ClientInterface.forward_kinematics": [[686, "clientinterface-forward-kinematics"]], "ClientInterface.get_planning_scene": [[687, "clientinterface-get-planning-scene"]], "ClientInterface.inverse_kinematics": [[688, "clientinterface-inverse-kinematics"]], "ClientInterface.plan_cartesian_motion": [[689, "clientinterface-plan-cartesian-motion"]], "ClientInterface.plan_motion": [[690, "clientinterface-plan-motion"]], "ClientInterface.remove_attached_collision_mesh": [[691, "clientinterface-remove-attached-collision-mesh"]], "ClientInterface.remove_collision_mesh": [[692, "clientinterface-remove-collision-mesh"]], "ClientInterface.reset_planning_scene": [[693, "clientinterface-reset-planning-scene"]], "ForwardKinematics": [[694, "forwardkinematics"]], "ForwardKinematics.forward_kinematics": [[695, "forwardkinematics-forward-kinematics"]], "GetPlanningScene": [[696, "getplanningscene"]], "GetPlanningScene.get_planning_scene": [[697, "getplanningscene-get-planning-scene"]], "InverseKinematics": [[698, "inversekinematics"]], "InverseKinematics.inverse_kinematics": [[699, "inversekinematics-inverse-kinematics"]], "PlanCartesianMotion": [[700, "plancartesianmotion"]], "PlanCartesianMotion.plan_cartesian_motion": [[701, "plancartesianmotion-plan-cartesian-motion"]], "PlanMotion": [[702, "planmotion"]], "PlanMotion.plan_motion": [[703, "planmotion-plan-motion"]], "PlannerInterface": [[704, "plannerinterface"]], "PlannerInterface.add_attached_collision_mesh": [[705, "plannerinterface-add-attached-collision-mesh"]], "PlannerInterface.add_collision_mesh": [[706, "plannerinterface-add-collision-mesh"]], "PlannerInterface.append_collision_mesh": [[707, "plannerinterface-append-collision-mesh"]], "PlannerInterface.forward_kinematics": [[708, "plannerinterface-forward-kinematics"]], "PlannerInterface.get_planning_scene": [[709, "plannerinterface-get-planning-scene"]], "PlannerInterface.inverse_kinematics": [[710, "plannerinterface-inverse-kinematics"]], "PlannerInterface.plan_cartesian_motion": [[711, "plannerinterface-plan-cartesian-motion"]], "PlannerInterface.plan_motion": [[712, "plannerinterface-plan-motion"]], "PlannerInterface.remove_attached_collision_mesh": [[713, "plannerinterface-remove-attached-collision-mesh"]], "PlannerInterface.remove_collision_mesh": [[714, "plannerinterface-remove-collision-mesh"]], "PlannerInterface.reset_planning_scene": [[715, "plannerinterface-reset-planning-scene"]], "RemoveAttachedCollisionMesh": [[716, "removeattachedcollisionmesh"]], "RemoveAttachedCollisionMesh.remove_attached_collision_mesh": [[717, "removeattachedcollisionmesh-remove-attached-collision-mesh"]], "RemoveCollisionMesh": [[718, "removecollisionmesh"]], "RemoveCollisionMesh.remove_collision_mesh": [[719, "removecollisionmesh-remove-collision-mesh"]], "ResetPlanningScene": [[720, "resetplanningscene"]], "ResetPlanningScene.reset_planning_scene": [[721, "resetplanningscene-reset-planning-scene"]], "PyBulletAddAttachedCollisionMesh": [[722, "pybulletaddattachedcollisionmesh"]], "PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh": [[723, "pybulletaddattachedcollisionmesh-add-attached-collision-mesh"]], "PyBulletAddCollisionMesh": [[724, "pybulletaddcollisionmesh"]], "PyBulletAddCollisionMesh.add_collision_mesh": [[725, "pybulletaddcollisionmesh-add-collision-mesh"]], "PyBulletAppendCollisionMesh": [[726, "pybulletappendcollisionmesh"]], "PyBulletAppendCollisionMesh.append_collision_mesh": [[727, "pybulletappendcollisionmesh-append-collision-mesh"]], "PyBulletForwardKinematics": [[728, "pybulletforwardkinematics"]], "PyBulletForwardKinematics.forward_kinematics": [[729, "pybulletforwardkinematics-forward-kinematics"]], "PyBulletInverseKinematics": [[730, "pybulletinversekinematics"]], "PyBulletInverseKinematics.inverse_kinematics": [[731, "pybulletinversekinematics-inverse-kinematics"]], "PyBulletRemoveAttachedCollisionMesh": [[732, "pybulletremoveattachedcollisionmesh"]], "PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh": [[733, "pybulletremoveattachedcollisionmesh-remove-attached-collision-mesh"]], "PyBulletRemoveCollisionMesh": [[734, "pybulletremovecollisionmesh"]], "PyBulletRemoveCollisionMesh.remove_collision_mesh": [[735, "pybulletremovecollisionmesh-remove-collision-mesh"]], "MoveItAddAttachedCollisionMesh": [[736, "moveitaddattachedcollisionmesh"]], "MoveItAddAttachedCollisionMesh.add_attached_collision_mesh": [[737, "moveitaddattachedcollisionmesh-add-attached-collision-mesh"]], "MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async": [[738, "moveitaddattachedcollisionmesh-add-attached-collision-mesh-async"]], "MoveItAddCollisionMesh": [[739, "moveitaddcollisionmesh"]], "MoveItAddCollisionMesh.add_collision_mesh": [[740, "moveitaddcollisionmesh-add-collision-mesh"]], "MoveItAddCollisionMesh.add_collision_mesh_async": [[741, "moveitaddcollisionmesh-add-collision-mesh-async"]], "MoveItAppendCollisionMesh": [[742, "moveitappendcollisionmesh"]], "MoveItAppendCollisionMesh.append_collision_mesh": [[743, "moveitappendcollisionmesh-append-collision-mesh"]], "MoveItAppendCollisionMesh.append_collision_mesh_async": [[744, "moveitappendcollisionmesh-append-collision-mesh-async"]], "MoveItForwardKinematics": [[745, "moveitforwardkinematics"]], "MoveItForwardKinematics.forward_kinematics": [[746, "moveitforwardkinematics-forward-kinematics"]], "MoveItForwardKinematics.forward_kinematics_async": [[747, "moveitforwardkinematics-forward-kinematics-async"]], "MoveItInverseKinematics": [[748, "moveitinversekinematics"]], "MoveItInverseKinematics.inverse_kinematics": [[749, "moveitinversekinematics-inverse-kinematics"]], "MoveItInverseKinematics.inverse_kinematics_async": [[750, "moveitinversekinematics-inverse-kinematics-async"]], "MoveItPlanCartesianMotion": [[751, "moveitplancartesianmotion"]], "MoveItPlanCartesianMotion.plan_cartesian_motion": [[752, "moveitplancartesianmotion-plan-cartesian-motion"]], "MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async": [[753, "moveitplancartesianmotion-plan-cartesian-motion-with-frame-waypoints-async"]], "MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async": [[754, "moveitplancartesianmotion-plan-cartesian-motion-with-point-axis-waypoints-async"]], "MoveItPlanMotion": [[755, "moveitplanmotion"]], "MoveItPlanMotion.plan_motion": [[756, "moveitplanmotion-plan-motion"]], "MoveItPlanMotion.plan_motion_async": [[757, "moveitplanmotion-plan-motion-async"]], "MoveItPlanningScene": [[758, "moveitplanningscene"]], "MoveItPlanningScene.get_planning_scene": [[759, "moveitplanningscene-get-planning-scene"]], "MoveItPlanningScene.get_planning_scene_async": [[760, "moveitplanningscene-get-planning-scene-async"]], "MoveItRemoveAttachedCollisionMesh": [[761, "moveitremoveattachedcollisionmesh"]], "MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh": [[762, "moveitremoveattachedcollisionmesh-remove-attached-collision-mesh"]], "MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async": [[763, "moveitremoveattachedcollisionmesh-remove-attached-collision-mesh-async"]], "MoveItRemoveCollisionMesh": [[764, "moveitremovecollisionmesh"]], "MoveItRemoveCollisionMesh.remove_collision_mesh": [[765, "moveitremovecollisionmesh-remove-collision-mesh"]], "MoveItRemoveCollisionMesh.remove_collision_mesh_async": [[766, "moveitremovecollisionmesh-remove-collision-mesh-async"]], "MoveItResetPlanningScene": [[767, "moveitresetplanningscene"]], "MoveItResetPlanningScene.reset_planning_scene": [[768, "moveitresetplanningscene-reset-planning-scene"]], "MoveItResetPlanningScene.reset_planning_scene_async": [[769, "moveitresetplanningscene-reset-planning-scene-async"]], "Grasshopper components": [[770, "grasshopper-components"]], "Examples": [[771, "examples"]], "Robotic fabrication examples": [[771, "robotic-fabrication-examples"]], "Fundamentals": [[772, "fundamentals"]], "Frame and Transformation": [[773, "frame-and-transformation"]], "Further information": [[773, "further-information"]], "Coordinate frames": [[774, "coordinate-frames"]], "World coordinate frame (WCF)": [[774, "world-coordinate-frame-wcf"]], "Robot coordinate frame (RCF)": [[774, "robot-coordinate-frame-rcf"]], "Tool0 coordinate frame (T0CF)": [[774, "tool0-coordinate-frame-t0cf"]], "Tool coordinate frame (TCF)": [[774, "tool-coordinate-frame-tcf"]], "Object coordinate frame (OCF)": [[774, "object-coordinate-frame-ocf"]], "Example": [[774, "example"]], "Links": [[774, "links"], [776, "links"], [776, "id2"], [794, "links"], [796, "links"]], "Description Models": [[775, "description-models"]], "Kinematic model": [[776, "kinematic-model"]], "Joints": [[776, "joints"]], "Robot models": [[777, "robot-models"]], "Loading model from disk": [[777, "loading-model-from-disk"]], "Loading model from Github": [[777, "loading-model-from-github"]], "Loading model from ROS": [[777, "loading-model-from-ros"]], "Visualizing robot models": [[777, "visualizing-robot-models"]], "RobotModel Packages": [[778, "robotmodel-packages"]], "Robot Packages": [[778, "id1"]], "Origin of the packages": [[778, "origin-of-the-packages"]], "Targets (Single Goal)": [[779, "targets-single-goal"]], "Waypoints (Multiple Points / Segments)": [[779, "waypoints-multiple-points-segments"]], "Backends: ROS": [[780, "backends-ros"]], "Using ROS": [[781, "using-ros"]], "First step": [[781, "first-step"]], "Hello World": [[781, "hello-world"]], "Writing the talker node": [[781, "writing-the-talker-node"]], "Writing the listener node": [[781, "writing-the-listener-node"]], "Running the example": [[781, "running-the-example"]], "Robots in ROS": [[782, "robots-in-ros"]], "Load model from ROS": [[782, "load-model-from-ros"]], "Forward and inverse kinematics": [[783, "forward-and-inverse-kinematics"], [792, "forward-and-inverse-kinematics"]], "Forward kinematics": [[783, "forward-kinematics"], [792, "forward-kinematics"]], "Inverse kinematics": [[783, "inverse-kinematics"], [792, "inverse-kinematics"], [794, "inverse-kinematics"]], "Plan motion": [[784, "plan-motion"], [784, "id1"]], "Plan cartesian motion": [[784, "plan-cartesian-motion"]], "Planning scene and collision objects": [[785, "planning-scene-and-collision-objects"]], "1. Non-attached Collision meshes": [[785, "non-attached-collision-meshes"]], "Add/remove a single mesh": [[785, "add-remove-a-single-mesh"]], "Add/remove several meshes": [[785, "add-remove-several-meshes"]], "2. Attached collision meshes": [[785, "attached-collision-meshes"]], "Attach end-effector": [[785, "attach-end-effector"]], "Grasshopper example": [[785, "grasshopper-example"]], "ROS in Grasshopper": [[786, "ros-in-grasshopper"]], "Grasshopper playground": [[786, "grasshopper-playground"]], "Grasshopper Components": [[786, "grasshopper-components"]], "Creating a URDF with an UR5 robot and a custom end-effector": [[787, "creating-a-urdf-with-an-ur5-robot-and-a-custom-end-effector"]], "Export your meshes": [[787, "export-your-meshes"]], "Prepare your catkin workspace": [[787, "prepare-your-catkin-workspace"], [789, "prepare-your-catkin-workspace"]], "Create xacros and generate urdf": [[787, "create-xacros-and-generate-urdf"], [789, "create-xacros-and-generate-urdf"]], "Explanation": [[787, "explanation"]], "View urdf": [[787, "view-urdf"], [789, "view-urdf"]], "Add path to search paths": [[787, "add-path-to-search-paths"]], "Further links": [[787, "further-links"], [788, "further-links"], [789, "further-links"]], "Creating a MoveIt! package from the custom created URDF": [[788, "creating-a-moveit-package-from-the-custom-created-urdf"]], "Start the MoveIt! Setup Assistant": [[788, "start-the-moveit-setup-assistant"]], "Generate Self-Collision Matrix": [[788, "generate-self-collision-matrix"]], "Add Virtual Joints": [[788, "add-virtual-joints"]], "Add Planning Groups": [[788, "add-planning-groups"]], "Add the arm": [[788, "add-the-arm"]], "Add the gripper": [[788, "add-the-gripper"]], "Add Robot Poses": [[788, "add-robot-poses"]], "Label End-Effectors": [[788, "label-end-effectors"]], "Add Passive Joints": [[788, "add-passive-joints"]], "Add Author Information": [[788, "add-author-information"]], "Generate Configuration Files": [[788, "generate-configuration-files"]], "Start the newly generated MoveIt! Configuration": [[788, "start-the-newly-generated-moveit-configuration"]], "Creating a URDF of the UR10 on two linear axes": [[789, "creating-a-urdf-of-the-ur10-on-two-linear-axes"]], "Export meshes": [[789, "export-meshes"]], "tower.xacro": [[789, "tower-xacro"]], "Explanation:": [[789, "explanation"], [789, "id1"]], "ur10_tower.xacro": [[789, "ur10-tower-xacro"]], "Create URDF": [[789, "create-urdf"]], "Backends: PyBullet": [[790, "backends-pybullet"]], "Using PyBullet": [[791, "using-pybullet"]], "First Step": [[791, "first-step"]], "Backends: Analytical Kinematics": [[793, "backends-analytical-kinematics"]], "Analytical kinematics": [[794, "analytical-kinematics"]], "Planning: Reachability Map": [[795, "planning-reachability-map"]], "Introduction to the Reachability Map": [[796, "introduction-to-the-reachability-map"]], "Example 01: reachability map 1D": [[796, "example-01-reachability-map-1d"]], "Visualization": [[796, "visualization"]], "Projects where the reachability map was applied": [[796, "projects-where-the-reachability-map-was-applied"]], "Adaptive Detailing": [[796, "id1"]], "Robotic 360\u00b0 Light Painting Workshop": [[796, "id2"]], "Vector Generators": [[797, "vector-generators"]], "Generate orthonormal vectors from an axis": [[797, "generate-orthonormal-vectors-from-an-axis"]], "Generate vectors that deviate": [[797, "generate-vectors-that-deviate"]], "Generate frames": [[797, "generate-frames"]], "Reachability Map 2D": [[798, "reachability-map-2d"]], "Example 02: reachability map 2D with deviation vectors": [[798, "example-02-reachability-map-2d-with-deviation-vectors"]], "Example 03: reachability map 2D with sphere points": [[798, "example-03-reachability-map-2d-with-sphere-points"]], "Getting started": [[799, "getting-started"]], "Install with conda": [[799, "install-with-conda"]], "Installation options": [[799, "installation-options"]], "Install with pip": [[799, "install-with-pip"]], "Update with conda": [[799, "update-with-conda"]], "Update with pip": [[799, "update-with-pip"]], "Working in Rhino": [[799, "working-in-rhino"]], "Working in Blender": [[799, "working-in-blender"]], "Working in Visual Studio Code": [[799, "working-in-visual-studio-code"]], "Run scripts": [[799, "run-scripts"]], "Virtual environments": [[799, "virtual-environments"]], "Robotic Fabrication for COMPAS": [[800, "robotic-fabrication-for-compas"]], "Main features": [[800, "main-features"]], "Contents": [[800, "contents"]], "Indices and tables": [[800, "indices-and-tables"]], "License": [[801, "license"]]}, "indexentries": {"compas_fab": [[1, "module-compas_fab"]], "module": [[1, "module-compas_fab"], [2, "module-compas_fab.backends"], [3, "module-compas_fab.blender"], [4, "module-compas_fab.ghpython"], [5, "module-compas_fab.rhino"], [6, "module-compas_fab.robots"], [7, "module-compas_fab.sensors"], [8, "module-compas_fab.utilities"], [674, "module-compas_fab.backends.interfaces"], [674, "module-compas_fab.backends.pybullet.backend_features"], [674, "module-compas_fab.backends.ros.backend_features"]], "compas_fab.backends": [[2, "module-compas_fab.backends"]], "compas_fab.blender": [[3, "module-compas_fab.blender"]], "compas_fab.ghpython": [[4, "module-compas_fab.ghpython"]], "compas_fab.rhino": [[5, "module-compas_fab.rhino"]], "compas_fab.robots": [[6, "module-compas_fab.robots"]], "compas_fab.sensors": [[7, "module-compas_fab.sensors"]], "compas_fab.utilities": [[8, "module-compas_fab.utilities"]], "abb_irb4600_40_255kinematics (class in compas_fab.backends)": [[9, "compas_fab.backends.ABB_IRB4600_40_255Kinematics"]], "forward() (compas_fab.backends.abb_irb4600_40_255kinematics method)": [[10, "compas_fab.backends.ABB_IRB4600_40_255Kinematics.forward"]], "inverse() (compas_fab.backends.abb_irb4600_40_255kinematics method)": [[11, "compas_fab.backends.ABB_IRB4600_40_255Kinematics.inverse"]], "analyticalinversekinematics (class in compas_fab.backends)": [[12, "compas_fab.backends.AnalyticalInverseKinematics"]], "inverse_kinematics() (compas_fab.backends.analyticalinversekinematics method)": [[13, "compas_fab.backends.AnalyticalInverseKinematics.inverse_kinematics"]], "analyticalplancartesianmotion (class in compas_fab.backends)": [[14, "compas_fab.backends.AnalyticalPlanCartesianMotion"]], "plan_cartesian_motion() (compas_fab.backends.analyticalplancartesianmotion method)": [[15, "compas_fab.backends.AnalyticalPlanCartesianMotion.plan_cartesian_motion"]], "smooth_configurations() (compas_fab.backends.analyticalplancartesianmotion method)": [[16, "compas_fab.backends.AnalyticalPlanCartesianMotion.smooth_configurations"]], "analyticalpybulletclient (class in compas_fab.backends)": [[17, "compas_fab.backends.AnalyticalPyBulletClient"]], "add_attached_collision_mesh() (compas_fab.backends.analyticalpybulletclient method)": [[18, "compas_fab.backends.AnalyticalPyBulletClient.add_attached_collision_mesh"]], "add_collision_mesh() (compas_fab.backends.analyticalpybulletclient method)": [[19, "compas_fab.backends.AnalyticalPyBulletClient.add_collision_mesh"]], "append_collision_mesh() (compas_fab.backends.analyticalpybulletclient method)": [[20, "compas_fab.backends.AnalyticalPyBulletClient.append_collision_mesh"]], "body_from_obj() (compas_fab.backends.analyticalpybulletclient method)": [[21, "compas_fab.backends.AnalyticalPyBulletClient.body_from_obj"]], "cache_robot() (compas_fab.backends.analyticalpybulletclient method)": [[22, "compas_fab.backends.AnalyticalPyBulletClient.cache_robot"]], "check_collision_objects_for_collision() (compas_fab.backends.analyticalpybulletclient method)": [[23, "compas_fab.backends.AnalyticalPyBulletClient.check_collision_objects_for_collision"]], "check_collision_with_objects() (compas_fab.backends.analyticalpybulletclient method)": [[24, "compas_fab.backends.AnalyticalPyBulletClient.check_collision_with_objects"]], "check_collisions() (compas_fab.backends.analyticalpybulletclient method)": [[25, "compas_fab.backends.AnalyticalPyBulletClient.check_collisions"]], "check_robot_self_collision() (compas_fab.backends.analyticalpybulletclient method)": [[26, "compas_fab.backends.AnalyticalPyBulletClient.check_robot_self_collision"]], "connect() (compas_fab.backends.analyticalpybulletclient method)": [[27, "compas_fab.backends.AnalyticalPyBulletClient.connect"]], "convert_mesh_to_body() (compas_fab.backends.analyticalpybulletclient method)": [[28, "compas_fab.backends.AnalyticalPyBulletClient.convert_mesh_to_body"]], "disconnect() (compas_fab.backends.analyticalpybulletclient method)": [[29, "compas_fab.backends.AnalyticalPyBulletClient.disconnect"]], "ensure_cached_robot() (compas_fab.backends.analyticalpybulletclient static method)": [[30, "compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot"]], "ensure_cached_robot_geometry() (compas_fab.backends.analyticalpybulletclient static method)": [[31, "compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_geometry"]], "filter_configurations_in_collision() (compas_fab.backends.analyticalpybulletclient method)": [[32, "compas_fab.backends.AnalyticalPyBulletClient.filter_configurations_in_collision"]], "forward_kinematics() (compas_fab.backends.analyticalpybulletclient method)": [[33, "compas_fab.backends.AnalyticalPyBulletClient.forward_kinematics"]], "get_cached_robot() (compas_fab.backends.analyticalpybulletclient method)": [[34, "compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot"]], "get_cached_robot_filepath() (compas_fab.backends.analyticalpybulletclient method)": [[35, "compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_filepath"]], "get_planning_scene() (compas_fab.backends.analyticalpybulletclient method)": [[36, "compas_fab.backends.AnalyticalPyBulletClient.get_planning_scene"]], "get_robot_configuration() (compas_fab.backends.analyticalpybulletclient method)": [[37, "compas_fab.backends.AnalyticalPyBulletClient.get_robot_configuration"]], "get_uid() (compas_fab.backends.analyticalpybulletclient method)": [[38, "compas_fab.backends.AnalyticalPyBulletClient.get_uid"]], "inverse_kinematics() (compas_fab.backends.analyticalpybulletclient method)": [[39, "compas_fab.backends.AnalyticalPyBulletClient.inverse_kinematics"]], "load_robot() (compas_fab.backends.analyticalpybulletclient method)": [[40, "compas_fab.backends.AnalyticalPyBulletClient.load_robot"]], "load_semantics() (compas_fab.backends.analyticalpybulletclient method)": [[41, "compas_fab.backends.AnalyticalPyBulletClient.load_semantics"]], "load_ur5() (compas_fab.backends.analyticalpybulletclient method)": [[42, "compas_fab.backends.AnalyticalPyBulletClient.load_ur5"]], "plan_cartesian_motion() (compas_fab.backends.analyticalpybulletclient method)": [[43, "compas_fab.backends.AnalyticalPyBulletClient.plan_cartesian_motion"]], "plan_motion() (compas_fab.backends.analyticalpybulletclient method)": [[44, "compas_fab.backends.AnalyticalPyBulletClient.plan_motion"]], "reload_from_cache() (compas_fab.backends.analyticalpybulletclient method)": [[45, "compas_fab.backends.AnalyticalPyBulletClient.reload_from_cache"]], "remove_attached_collision_mesh() (compas_fab.backends.analyticalpybulletclient method)": [[46, "compas_fab.backends.AnalyticalPyBulletClient.remove_attached_collision_mesh"]], "remove_collision_mesh() (compas_fab.backends.analyticalpybulletclient method)": [[47, "compas_fab.backends.AnalyticalPyBulletClient.remove_collision_mesh"]], "reset_planning_scene() (compas_fab.backends.analyticalpybulletclient method)": [[48, "compas_fab.backends.AnalyticalPyBulletClient.reset_planning_scene"]], "set_robot_configuration() (compas_fab.backends.analyticalpybulletclient method)": [[49, "compas_fab.backends.AnalyticalPyBulletClient.set_robot_configuration"]], "step_simulation() (compas_fab.backends.analyticalpybulletclient method)": [[50, "compas_fab.backends.AnalyticalPyBulletClient.step_simulation"]], "backenderror": [[51, "compas_fab.backends.BackendError"]], "backendfeaturenotsupportederror": [[52, "compas_fab.backends.BackendFeatureNotSupportedError"]], "cancellablefutureresult (class in compas_fab.backends)": [[53, "compas_fab.backends.CancellableFutureResult"]], "cancel() (compas_fab.backends.cancellablefutureresult method)": [[54, "compas_fab.backends.CancellableFutureResult.cancel"]], "result() (compas_fab.backends.cancellablefutureresult method)": [[55, "compas_fab.backends.CancellableFutureResult.result"]], "cartesianmotionerror": [[56, "compas_fab.backends.CartesianMotionError"]], "collisionerror": [[57, "compas_fab.backends.CollisionError"]], "futureresult (class in compas_fab.backends)": [[58, "compas_fab.backends.FutureResult"]], "result() (compas_fab.backends.futureresult method)": [[59, "compas_fab.backends.FutureResult.result"]], "inversekinematicserror": [[60, "compas_fab.backends.InverseKinematicsError"]], "kinematicserror": [[61, "compas_fab.backends.KinematicsError"]], "moveitplanner (class in compas_fab.backends)": [[62, "compas_fab.backends.MoveItPlanner"]], "add_attached_collision_mesh() (compas_fab.backends.moveitplanner method)": [[63, "compas_fab.backends.MoveItPlanner.add_attached_collision_mesh"]], "add_attached_collision_mesh_async() (compas_fab.backends.moveitplanner method)": [[64, "compas_fab.backends.MoveItPlanner.add_attached_collision_mesh_async"]], "add_collision_mesh() (compas_fab.backends.moveitplanner method)": [[65, "compas_fab.backends.MoveItPlanner.add_collision_mesh"]], "add_collision_mesh_async() (compas_fab.backends.moveitplanner method)": [[66, "compas_fab.backends.MoveItPlanner.add_collision_mesh_async"]], "append_collision_mesh() (compas_fab.backends.moveitplanner method)": [[67, "compas_fab.backends.MoveItPlanner.append_collision_mesh"]], "append_collision_mesh_async() (compas_fab.backends.moveitplanner method)": [[68, "compas_fab.backends.MoveItPlanner.append_collision_mesh_async"]], "forward_kinematics() (compas_fab.backends.moveitplanner method)": [[69, "compas_fab.backends.MoveItPlanner.forward_kinematics"]], "forward_kinematics_async() (compas_fab.backends.moveitplanner method)": [[70, "compas_fab.backends.MoveItPlanner.forward_kinematics_async"]], "get_planning_scene() (compas_fab.backends.moveitplanner method)": [[71, "compas_fab.backends.MoveItPlanner.get_planning_scene"]], "get_planning_scene_async() (compas_fab.backends.moveitplanner method)": [[72, "compas_fab.backends.MoveItPlanner.get_planning_scene_async"]], "inverse_kinematics() (compas_fab.backends.moveitplanner method)": [[73, "compas_fab.backends.MoveItPlanner.inverse_kinematics"]], "inverse_kinematics_async() (compas_fab.backends.moveitplanner method)": [[74, "compas_fab.backends.MoveItPlanner.inverse_kinematics_async"]], "plan_cartesian_motion() (compas_fab.backends.moveitplanner method)": [[75, "compas_fab.backends.MoveItPlanner.plan_cartesian_motion"]], "plan_cartesian_motion_with_frame_waypoints_async() (compas_fab.backends.moveitplanner method)": [[76, "compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async"]], "plan_cartesian_motion_with_point_axis_waypoints_async() (compas_fab.backends.moveitplanner method)": [[77, "compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async"]], "plan_motion() (compas_fab.backends.moveitplanner method)": [[78, "compas_fab.backends.MoveItPlanner.plan_motion"]], "plan_motion_async() (compas_fab.backends.moveitplanner method)": [[79, "compas_fab.backends.MoveItPlanner.plan_motion_async"]], "remove_attached_collision_mesh() (compas_fab.backends.moveitplanner method)": [[80, "compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh"]], "remove_attached_collision_mesh_async() (compas_fab.backends.moveitplanner method)": [[81, "compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh_async"]], "remove_collision_mesh() (compas_fab.backends.moveitplanner method)": [[82, "compas_fab.backends.MoveItPlanner.remove_collision_mesh"]], "remove_collision_mesh_async() (compas_fab.backends.moveitplanner method)": [[83, "compas_fab.backends.MoveItPlanner.remove_collision_mesh_async"]], "reset_planning_scene() (compas_fab.backends.moveitplanner method)": [[84, "compas_fab.backends.MoveItPlanner.reset_planning_scene"]], "reset_planning_scene_async() (compas_fab.backends.moveitplanner method)": [[85, "compas_fab.backends.MoveItPlanner.reset_planning_scene_async"]], "offsetwristkinematics (class in compas_fab.backends)": [[86, "compas_fab.backends.OffsetWristKinematics"]], "forward() (compas_fab.backends.offsetwristkinematics method)": [[87, "compas_fab.backends.OffsetWristKinematics.forward"]], "inverse() (compas_fab.backends.offsetwristkinematics method)": [[88, "compas_fab.backends.OffsetWristKinematics.inverse"]], "pybulletclient (class in compas_fab.backends)": [[89, "compas_fab.backends.PyBulletClient"]], "add_attached_collision_mesh() (compas_fab.backends.pybulletclient method)": [[90, "compas_fab.backends.PyBulletClient.add_attached_collision_mesh"]], "add_collision_mesh() (compas_fab.backends.pybulletclient method)": [[91, "compas_fab.backends.PyBulletClient.add_collision_mesh"]], "append_collision_mesh() (compas_fab.backends.pybulletclient method)": [[92, "compas_fab.backends.PyBulletClient.append_collision_mesh"]], "body_from_obj() (compas_fab.backends.pybulletclient method)": [[93, "compas_fab.backends.PyBulletClient.body_from_obj"]], "cache_robot() (compas_fab.backends.pybulletclient method)": [[94, "compas_fab.backends.PyBulletClient.cache_robot"]], "check_collision_objects_for_collision() (compas_fab.backends.pybulletclient method)": [[95, "compas_fab.backends.PyBulletClient.check_collision_objects_for_collision"]], "check_collision_with_objects() (compas_fab.backends.pybulletclient method)": [[96, "compas_fab.backends.PyBulletClient.check_collision_with_objects"]], "check_collisions() (compas_fab.backends.pybulletclient method)": [[97, "compas_fab.backends.PyBulletClient.check_collisions"]], "check_robot_self_collision() (compas_fab.backends.pybulletclient method)": [[98, "compas_fab.backends.PyBulletClient.check_robot_self_collision"]], "connect() (compas_fab.backends.pybulletclient method)": [[99, "compas_fab.backends.PyBulletClient.connect"]], "convert_mesh_to_body() (compas_fab.backends.pybulletclient method)": [[100, "compas_fab.backends.PyBulletClient.convert_mesh_to_body"]], "disconnect() (compas_fab.backends.pybulletclient method)": [[101, "compas_fab.backends.PyBulletClient.disconnect"]], "ensure_cached_robot() (compas_fab.backends.pybulletclient static method)": [[102, "compas_fab.backends.PyBulletClient.ensure_cached_robot"]], "ensure_cached_robot_geometry() (compas_fab.backends.pybulletclient static method)": [[103, "compas_fab.backends.PyBulletClient.ensure_cached_robot_geometry"]], "filter_configurations_in_collision() (compas_fab.backends.pybulletclient method)": [[104, "compas_fab.backends.PyBulletClient.filter_configurations_in_collision"]], "forward_kinematics() (compas_fab.backends.pybulletclient method)": [[105, "compas_fab.backends.PyBulletClient.forward_kinematics"]], "get_cached_robot() (compas_fab.backends.pybulletclient method)": [[106, "compas_fab.backends.PyBulletClient.get_cached_robot"]], "get_cached_robot_filepath() (compas_fab.backends.pybulletclient method)": [[107, "compas_fab.backends.PyBulletClient.get_cached_robot_filepath"]], "get_planning_scene() (compas_fab.backends.pybulletclient method)": [[108, "compas_fab.backends.PyBulletClient.get_planning_scene"]], "get_robot_configuration() (compas_fab.backends.pybulletclient method)": [[109, "compas_fab.backends.PyBulletClient.get_robot_configuration"]], "get_uid() (compas_fab.backends.pybulletclient method)": [[110, "compas_fab.backends.PyBulletClient.get_uid"]], "inverse_kinematics() (compas_fab.backends.pybulletclient method)": [[111, "compas_fab.backends.PyBulletClient.inverse_kinematics"]], "load_robot() (compas_fab.backends.pybulletclient method)": [[112, "compas_fab.backends.PyBulletClient.load_robot"]], "load_semantics() (compas_fab.backends.pybulletclient method)": [[113, "compas_fab.backends.PyBulletClient.load_semantics"]], "load_ur5() (compas_fab.backends.pybulletclient method)": [[114, "compas_fab.backends.PyBulletClient.load_ur5"]], "plan_cartesian_motion() (compas_fab.backends.pybulletclient method)": [[115, "compas_fab.backends.PyBulletClient.plan_cartesian_motion"]], "plan_motion() (compas_fab.backends.pybulletclient method)": [[116, "compas_fab.backends.PyBulletClient.plan_motion"]], "reload_from_cache() (compas_fab.backends.pybulletclient method)": [[117, "compas_fab.backends.PyBulletClient.reload_from_cache"]], "remove_attached_collision_mesh() (compas_fab.backends.pybulletclient method)": [[118, "compas_fab.backends.PyBulletClient.remove_attached_collision_mesh"]], "remove_collision_mesh() (compas_fab.backends.pybulletclient method)": [[119, "compas_fab.backends.PyBulletClient.remove_collision_mesh"]], "reset_planning_scene() (compas_fab.backends.pybulletclient method)": [[120, "compas_fab.backends.PyBulletClient.reset_planning_scene"]], "set_robot_configuration() (compas_fab.backends.pybulletclient method)": [[121, "compas_fab.backends.PyBulletClient.set_robot_configuration"]], "step_simulation() (compas_fab.backends.pybulletclient method)": [[122, "compas_fab.backends.PyBulletClient.step_simulation"]], "pybulleterror": [[123, "compas_fab.backends.PyBulletError"]], "pybulletplanner (class in compas_fab.backends)": [[124, "compas_fab.backends.PyBulletPlanner"]], "add_attached_collision_mesh() (compas_fab.backends.pybulletplanner method)": [[125, "compas_fab.backends.PyBulletPlanner.add_attached_collision_mesh"]], "add_collision_mesh() (compas_fab.backends.pybulletplanner method)": [[126, "compas_fab.backends.PyBulletPlanner.add_collision_mesh"]], "append_collision_mesh() (compas_fab.backends.pybulletplanner method)": [[127, "compas_fab.backends.PyBulletPlanner.append_collision_mesh"]], "forward_kinematics() (compas_fab.backends.pybulletplanner method)": [[128, "compas_fab.backends.PyBulletPlanner.forward_kinematics"]], "get_planning_scene() (compas_fab.backends.pybulletplanner method)": [[129, "compas_fab.backends.PyBulletPlanner.get_planning_scene"]], "inverse_kinematics() (compas_fab.backends.pybulletplanner method)": [[130, "compas_fab.backends.PyBulletPlanner.inverse_kinematics"]], "plan_cartesian_motion() (compas_fab.backends.pybulletplanner method)": [[131, "compas_fab.backends.PyBulletPlanner.plan_cartesian_motion"]], "plan_motion() (compas_fab.backends.pybulletplanner method)": [[132, "compas_fab.backends.PyBulletPlanner.plan_motion"]], "remove_attached_collision_mesh() (compas_fab.backends.pybulletplanner method)": [[133, "compas_fab.backends.PyBulletPlanner.remove_attached_collision_mesh"]], "remove_collision_mesh() (compas_fab.backends.pybulletplanner method)": [[134, "compas_fab.backends.PyBulletPlanner.remove_collision_mesh"]], "reset_planning_scene() (compas_fab.backends.pybulletplanner method)": [[135, "compas_fab.backends.PyBulletPlanner.reset_planning_scene"]], "rosclient (class in compas_fab.backends)": [[136, "compas_fab.backends.RosClient"]], "add_attached_collision_mesh() (compas_fab.backends.rosclient method)": [[137, "compas_fab.backends.RosClient.add_attached_collision_mesh"]], "add_collision_mesh() (compas_fab.backends.rosclient method)": [[138, "compas_fab.backends.RosClient.add_collision_mesh"]], "append_collision_mesh() (compas_fab.backends.rosclient method)": [[139, "compas_fab.backends.RosClient.append_collision_mesh"]], "authenticate() (compas_fab.backends.rosclient method)": [[140, "compas_fab.backends.RosClient.authenticate"]], "blocking_call_from_thread() (compas_fab.backends.rosclient method)": [[141, "compas_fab.backends.RosClient.blocking_call_from_thread"]], "call_async_service() (compas_fab.backends.rosclient method)": [[142, "compas_fab.backends.RosClient.call_async_service"]], "call_in_thread() (compas_fab.backends.rosclient method)": [[143, "compas_fab.backends.RosClient.call_in_thread"]], "call_later() (compas_fab.backends.rosclient method)": [[144, "compas_fab.backends.RosClient.call_later"]], "call_sync_service() (compas_fab.backends.rosclient method)": [[145, "compas_fab.backends.RosClient.call_sync_service"]], "close() (compas_fab.backends.rosclient method)": [[146, "compas_fab.backends.RosClient.close"]], "connect() (compas_fab.backends.rosclient method)": [[147, "compas_fab.backends.RosClient.connect"]], "delete_param() (compas_fab.backends.rosclient method)": [[148, "compas_fab.backends.RosClient.delete_param"]], "emit() (compas_fab.backends.rosclient method)": [[149, "compas_fab.backends.RosClient.emit"]], "execute_joint_trajectory() (compas_fab.backends.rosclient method)": [[150, "compas_fab.backends.RosClient.execute_joint_trajectory"]], "follow_configurations() (compas_fab.backends.rosclient method)": [[151, "compas_fab.backends.RosClient.follow_configurations"]], "follow_joint_trajectory() (compas_fab.backends.rosclient method)": [[152, "compas_fab.backends.RosClient.follow_joint_trajectory"]], "forward_kinematics() (compas_fab.backends.rosclient method)": [[153, "compas_fab.backends.RosClient.forward_kinematics"]], "get_action_servers() (compas_fab.backends.rosclient method)": [[154, "compas_fab.backends.RosClient.get_action_servers"]], "get_configuration() (compas_fab.backends.rosclient method)": [[155, "compas_fab.backends.RosClient.get_configuration"]], "get_message_details() (compas_fab.backends.rosclient method)": [[156, "compas_fab.backends.RosClient.get_message_details"]], "get_node_details() (compas_fab.backends.rosclient method)": [[157, "compas_fab.backends.RosClient.get_node_details"]], "get_nodes() (compas_fab.backends.rosclient method)": [[158, "compas_fab.backends.RosClient.get_nodes"]], "get_param() (compas_fab.backends.rosclient method)": [[159, "compas_fab.backends.RosClient.get_param"]], "get_params() (compas_fab.backends.rosclient method)": [[160, "compas_fab.backends.RosClient.get_params"]], "get_planning_scene() (compas_fab.backends.rosclient method)": [[161, "compas_fab.backends.RosClient.get_planning_scene"]], "get_service_request_callback() (compas_fab.backends.rosclient method)": [[162, "compas_fab.backends.RosClient.get_service_request_callback"]], "get_service_request_details() (compas_fab.backends.rosclient method)": [[163, "compas_fab.backends.RosClient.get_service_request_details"]], "get_service_response_details() (compas_fab.backends.rosclient method)": [[164, "compas_fab.backends.RosClient.get_service_response_details"]], "get_service_type() (compas_fab.backends.rosclient method)": [[165, "compas_fab.backends.RosClient.get_service_type"]], "get_services() (compas_fab.backends.rosclient method)": [[166, "compas_fab.backends.RosClient.get_services"]], "get_services_for_type() (compas_fab.backends.rosclient method)": [[167, "compas_fab.backends.RosClient.get_services_for_type"]], "get_time() (compas_fab.backends.rosclient method)": [[168, "compas_fab.backends.RosClient.get_time"]], "get_topic_type() (compas_fab.backends.rosclient method)": [[169, "compas_fab.backends.RosClient.get_topic_type"]], "get_topics() (compas_fab.backends.rosclient method)": [[170, "compas_fab.backends.RosClient.get_topics"]], "get_topics_for_type() (compas_fab.backends.rosclient method)": [[171, "compas_fab.backends.RosClient.get_topics_for_type"]], "inverse_kinematics() (compas_fab.backends.rosclient method)": [[172, "compas_fab.backends.RosClient.inverse_kinematics"]], "load_robot() (compas_fab.backends.rosclient method)": [[173, "compas_fab.backends.RosClient.load_robot"]], "off() (compas_fab.backends.rosclient method)": [[174, "compas_fab.backends.RosClient.off"]], "on() (compas_fab.backends.rosclient method)": [[175, "compas_fab.backends.RosClient.on"]], "on_ready() (compas_fab.backends.rosclient method)": [[176, "compas_fab.backends.RosClient.on_ready"]], "plan_cartesian_motion() (compas_fab.backends.rosclient method)": [[177, "compas_fab.backends.RosClient.plan_cartesian_motion"]], "plan_motion() (compas_fab.backends.rosclient method)": [[178, "compas_fab.backends.RosClient.plan_motion"]], "remove_attached_collision_mesh() (compas_fab.backends.rosclient method)": [[179, "compas_fab.backends.RosClient.remove_attached_collision_mesh"]], "remove_collision_mesh() (compas_fab.backends.rosclient method)": [[180, "compas_fab.backends.RosClient.remove_collision_mesh"]], "reset_planning_scene() (compas_fab.backends.rosclient method)": [[181, "compas_fab.backends.RosClient.reset_planning_scene"]], "run() (compas_fab.backends.rosclient method)": [[182, "compas_fab.backends.RosClient.run"]], "run_event_loop() (compas_fab.backends.rosclient method)": [[183, "compas_fab.backends.RosClient.run_event_loop"]], "run_forever() (compas_fab.backends.rosclient method)": [[184, "compas_fab.backends.RosClient.run_forever"]], "send_on_ready() (compas_fab.backends.rosclient method)": [[185, "compas_fab.backends.RosClient.send_on_ready"]], "set_param() (compas_fab.backends.rosclient method)": [[186, "compas_fab.backends.RosClient.set_param"]], "set_status_level() (compas_fab.backends.rosclient method)": [[187, "compas_fab.backends.RosClient.set_status_level"]], "terminate() (compas_fab.backends.rosclient method)": [[188, "compas_fab.backends.RosClient.terminate"]], "roserror": [[189, "compas_fab.backends.RosError"]], "rosfileserverloader (class in compas_fab.backends)": [[190, "compas_fab.backends.RosFileServerLoader"]], "can_load_mesh() (compas_fab.backends.rosfileserverloader method)": [[191, "compas_fab.backends.RosFileServerLoader.can_load_mesh"]], "load_mesh() (compas_fab.backends.rosfileserverloader method)": [[192, "compas_fab.backends.RosFileServerLoader.load_mesh"]], "load_meshes() (compas_fab.backends.rosfileserverloader method)": [[193, "compas_fab.backends.RosFileServerLoader.load_meshes"]], "load_srdf() (compas_fab.backends.rosfileserverloader method)": [[194, "compas_fab.backends.RosFileServerLoader.load_srdf"]], "load_urdf() (compas_fab.backends.rosfileserverloader method)": [[195, "compas_fab.backends.RosFileServerLoader.load_urdf"]], "rosvalidationerror": [[196, "compas_fab.backends.RosValidationError"]], "sphericalwristkinematics (class in compas_fab.backends)": [[197, "compas_fab.backends.SphericalWristKinematics"]], "forward() (compas_fab.backends.sphericalwristkinematics method)": [[198, "compas_fab.backends.SphericalWristKinematics.forward"]], "inverse() (compas_fab.backends.sphericalwristkinematics method)": [[199, "compas_fab.backends.SphericalWristKinematics.inverse"]], "staubli_tx260lkinematics (class in compas_fab.backends)": [[200, "compas_fab.backends.Staubli_TX260LKinematics"]], "forward() (compas_fab.backends.staubli_tx260lkinematics method)": [[201, "compas_fab.backends.Staubli_TX260LKinematics.forward"]], "inverse() (compas_fab.backends.staubli_tx260lkinematics method)": [[202, "compas_fab.backends.Staubli_TX260LKinematics.inverse"]], "ur10kinematics (class in compas_fab.backends)": [[203, "compas_fab.backends.UR10Kinematics"]], "forward() (compas_fab.backends.ur10kinematics method)": [[204, "compas_fab.backends.UR10Kinematics.forward"]], "inverse() (compas_fab.backends.ur10kinematics method)": [[205, "compas_fab.backends.UR10Kinematics.inverse"]], "ur10ekinematics (class in compas_fab.backends)": [[206, "compas_fab.backends.UR10eKinematics"]], "forward() (compas_fab.backends.ur10ekinematics method)": [[207, "compas_fab.backends.UR10eKinematics.forward"]], "inverse() (compas_fab.backends.ur10ekinematics method)": [[208, "compas_fab.backends.UR10eKinematics.inverse"]], "ur3kinematics (class in compas_fab.backends)": [[209, "compas_fab.backends.UR3Kinematics"]], "forward() (compas_fab.backends.ur3kinematics method)": [[210, "compas_fab.backends.UR3Kinematics.forward"]], "inverse() (compas_fab.backends.ur3kinematics method)": [[211, "compas_fab.backends.UR3Kinematics.inverse"]], "ur3ekinematics (class in compas_fab.backends)": [[212, "compas_fab.backends.UR3eKinematics"]], "forward() (compas_fab.backends.ur3ekinematics method)": [[213, "compas_fab.backends.UR3eKinematics.forward"]], "inverse() (compas_fab.backends.ur3ekinematics method)": [[214, "compas_fab.backends.UR3eKinematics.inverse"]], "ur5kinematics (class in compas_fab.backends)": [[215, "compas_fab.backends.UR5Kinematics"]], "forward() (compas_fab.backends.ur5kinematics method)": [[216, "compas_fab.backends.UR5Kinematics.forward"]], "inverse() (compas_fab.backends.ur5kinematics method)": [[217, "compas_fab.backends.UR5Kinematics.inverse"]], "ur5ekinematics (class in compas_fab.backends)": [[218, "compas_fab.backends.UR5eKinematics"]], "forward() (compas_fab.backends.ur5ekinematics method)": [[219, "compas_fab.backends.UR5eKinematics.forward"]], "inverse() (compas_fab.backends.ur5ekinematics method)": [[220, "compas_fab.backends.UR5eKinematics.inverse"]], "reachabilitymapobject (class in compas_fab.ghpython)": [[221, "compas_fab.ghpython.ReachabilityMapObject"]], "tostring() (compas_fab.ghpython.reachabilitymapobject method)": [[222, "compas_fab.ghpython.ReachabilityMapObject.ToString"]], "add() (compas_fab.ghpython.reachabilitymapobject method)": [[223, "compas_fab.ghpython.ReachabilityMapObject.add"]], "clear() (compas_fab.ghpython.reachabilitymapobject method)": [[224, "compas_fab.ghpython.ReachabilityMapObject.clear"]], "copy() (compas_fab.ghpython.reachabilitymapobject method)": [[225, "compas_fab.ghpython.ReachabilityMapObject.copy"]], "draw() (compas_fab.ghpython.reachabilitymapobject method)": [[226, "compas_fab.ghpython.ReachabilityMapObject.draw"]], "draw_cloud() (compas_fab.ghpython.reachabilitymapobject method)": [[227, "compas_fab.ghpython.ReachabilityMapObject.draw_cloud"]], "draw_frames() (compas_fab.ghpython.reachabilitymapobject method)": [[228, "compas_fab.ghpython.ReachabilityMapObject.draw_frames"]], "from_json() (compas_fab.ghpython.reachabilitymapobject class method)": [[229, "compas_fab.ghpython.ReachabilityMapObject.from_json"]], "from_jsonstring() (compas_fab.ghpython.reachabilitymapobject class method)": [[230, "compas_fab.ghpython.ReachabilityMapObject.from_jsonstring"]], "remove() (compas_fab.ghpython.reachabilitymapobject method)": [[231, "compas_fab.ghpython.ReachabilityMapObject.remove"]], "sha256() (compas_fab.ghpython.reachabilitymapobject method)": [[232, "compas_fab.ghpython.ReachabilityMapObject.sha256"]], "to_json() (compas_fab.ghpython.reachabilitymapobject method)": [[233, "compas_fab.ghpython.ReachabilityMapObject.to_json"]], "to_jsonstring() (compas_fab.ghpython.reachabilitymapobject method)": [[234, "compas_fab.ghpython.ReachabilityMapObject.to_jsonstring"]], "traverse() (compas_fab.ghpython.reachabilitymapobject method)": [[235, "compas_fab.ghpython.ReachabilityMapObject.traverse"]], "validate_data() (compas_fab.ghpython.reachabilitymapobject class method)": [[236, "compas_fab.ghpython.ReachabilityMapObject.validate_data"]], "reachabilitymapobject (class in compas_fab.rhino)": [[237, "compas_fab.rhino.ReachabilityMapObject"]], "tostring() (compas_fab.rhino.reachabilitymapobject method)": [[238, "compas_fab.rhino.ReachabilityMapObject.ToString"]], "add() (compas_fab.rhino.reachabilitymapobject method)": [[239, "compas_fab.rhino.ReachabilityMapObject.add"]], "add_to_group() (compas_fab.rhino.reachabilitymapobject method)": [[240, "compas_fab.rhino.ReachabilityMapObject.add_to_group"]], "clear() (compas_fab.rhino.reachabilitymapobject method)": [[241, "compas_fab.rhino.ReachabilityMapObject.clear"]], "clear_layer() (compas_fab.rhino.reachabilitymapobject method)": [[242, "compas_fab.rhino.ReachabilityMapObject.clear_layer"]], "compile_attributes() (compas_fab.rhino.reachabilitymapobject method)": [[243, "compas_fab.rhino.ReachabilityMapObject.compile_attributes"]], "copy() (compas_fab.rhino.reachabilitymapobject method)": [[244, "compas_fab.rhino.ReachabilityMapObject.copy"]], "draw() (compas_fab.rhino.reachabilitymapobject method)": [[245, "compas_fab.rhino.ReachabilityMapObject.draw"]], "draw_cloud() (compas_fab.rhino.reachabilitymapobject method)": [[246, "compas_fab.rhino.ReachabilityMapObject.draw_cloud"]], "draw_frames() (compas_fab.rhino.reachabilitymapobject method)": [[247, "compas_fab.rhino.ReachabilityMapObject.draw_frames"]], "from_json() (compas_fab.rhino.reachabilitymapobject class method)": [[248, "compas_fab.rhino.ReachabilityMapObject.from_json"]], "from_jsonstring() (compas_fab.rhino.reachabilitymapobject class method)": [[249, "compas_fab.rhino.ReachabilityMapObject.from_jsonstring"]], "get_group() (compas_fab.rhino.reachabilitymapobject method)": [[250, "compas_fab.rhino.ReachabilityMapObject.get_group"]], "remove() (compas_fab.rhino.reachabilitymapobject method)": [[251, "compas_fab.rhino.ReachabilityMapObject.remove"]], "sha256() (compas_fab.rhino.reachabilitymapobject method)": [[252, "compas_fab.rhino.ReachabilityMapObject.sha256"]], "to_json() (compas_fab.rhino.reachabilitymapobject method)": [[253, "compas_fab.rhino.ReachabilityMapObject.to_json"]], "to_jsonstring() (compas_fab.rhino.reachabilitymapobject method)": [[254, "compas_fab.rhino.ReachabilityMapObject.to_jsonstring"]], "traverse() (compas_fab.rhino.reachabilitymapobject method)": [[255, "compas_fab.rhino.ReachabilityMapObject.traverse"]], "validate_data() (compas_fab.rhino.reachabilitymapobject class method)": [[256, "compas_fab.rhino.ReachabilityMapObject.validate_data"]], "attachedcollisionmesh (class in compas_fab.robots)": [[257, "compas_fab.robots.AttachedCollisionMesh"]], "tostring() (compas_fab.robots.attachedcollisionmesh method)": [[258, "compas_fab.robots.AttachedCollisionMesh.ToString"]], "copy() (compas_fab.robots.attachedcollisionmesh method)": [[259, "compas_fab.robots.AttachedCollisionMesh.copy"]], "from_json() (compas_fab.robots.attachedcollisionmesh class method)": [[260, "compas_fab.robots.AttachedCollisionMesh.from_json"]], "from_jsonstring() (compas_fab.robots.attachedcollisionmesh class method)": [[261, "compas_fab.robots.AttachedCollisionMesh.from_jsonstring"]], "sha256() (compas_fab.robots.attachedcollisionmesh method)": [[262, "compas_fab.robots.AttachedCollisionMesh.sha256"]], "to_json() (compas_fab.robots.attachedcollisionmesh method)": [[263, "compas_fab.robots.AttachedCollisionMesh.to_json"]], "to_jsonstring() (compas_fab.robots.attachedcollisionmesh method)": [[264, "compas_fab.robots.AttachedCollisionMesh.to_jsonstring"]], "validate_data() (compas_fab.robots.attachedcollisionmesh class method)": [[265, "compas_fab.robots.AttachedCollisionMesh.validate_data"]], "boundingvolume (class in compas_fab.robots)": [[266, "compas_fab.robots.BoundingVolume"]], "tostring() (compas_fab.robots.boundingvolume method)": [[267, "compas_fab.robots.BoundingVolume.ToString"]], "copy() (compas_fab.robots.boundingvolume method)": [[268, "compas_fab.robots.BoundingVolume.copy"]], "from_box() (compas_fab.robots.boundingvolume class method)": [[269, "compas_fab.robots.BoundingVolume.from_box"]], "from_json() (compas_fab.robots.boundingvolume class method)": [[270, "compas_fab.robots.BoundingVolume.from_json"]], "from_jsonstring() (compas_fab.robots.boundingvolume class method)": [[271, "compas_fab.robots.BoundingVolume.from_jsonstring"]], "from_mesh() (compas_fab.robots.boundingvolume class method)": [[272, "compas_fab.robots.BoundingVolume.from_mesh"]], "from_sphere() (compas_fab.robots.boundingvolume class method)": [[273, "compas_fab.robots.BoundingVolume.from_sphere"]], "scale() (compas_fab.robots.boundingvolume method)": [[274, "compas_fab.robots.BoundingVolume.scale"]], "sha256() (compas_fab.robots.boundingvolume method)": [[275, "compas_fab.robots.BoundingVolume.sha256"]], "to_json() (compas_fab.robots.boundingvolume method)": [[276, "compas_fab.robots.BoundingVolume.to_json"]], "to_jsonstring() (compas_fab.robots.boundingvolume method)": [[277, "compas_fab.robots.BoundingVolume.to_jsonstring"]], "transform() (compas_fab.robots.boundingvolume method)": [[278, "compas_fab.robots.BoundingVolume.transform"]], "validate_data() (compas_fab.robots.boundingvolume class method)": [[279, "compas_fab.robots.BoundingVolume.validate_data"]], "collisionmesh (class in compas_fab.robots)": [[280, "compas_fab.robots.CollisionMesh"]], "tostring() (compas_fab.robots.collisionmesh method)": [[281, "compas_fab.robots.CollisionMesh.ToString"]], "copy() (compas_fab.robots.collisionmesh method)": [[282, "compas_fab.robots.CollisionMesh.copy"]], "from_json() (compas_fab.robots.collisionmesh class method)": [[283, "compas_fab.robots.CollisionMesh.from_json"]], "from_jsonstring() (compas_fab.robots.collisionmesh class method)": [[284, "compas_fab.robots.CollisionMesh.from_jsonstring"]], "scale() (compas_fab.robots.collisionmesh method)": [[285, "compas_fab.robots.CollisionMesh.scale"]], "scaled() (compas_fab.robots.collisionmesh method)": [[286, "compas_fab.robots.CollisionMesh.scaled"]], "sha256() (compas_fab.robots.collisionmesh method)": [[287, "compas_fab.robots.CollisionMesh.sha256"]], "to_json() (compas_fab.robots.collisionmesh method)": [[288, "compas_fab.robots.CollisionMesh.to_json"]], "to_jsonstring() (compas_fab.robots.collisionmesh method)": [[289, "compas_fab.robots.CollisionMesh.to_jsonstring"]], "validate_data() (compas_fab.robots.collisionmesh class method)": [[290, "compas_fab.robots.CollisionMesh.validate_data"]], "configurationtarget (class in compas_fab.robots)": [[291, "compas_fab.robots.ConfigurationTarget"]], "tostring() (compas_fab.robots.configurationtarget method)": [[292, "compas_fab.robots.ConfigurationTarget.ToString"]], "copy() (compas_fab.robots.configurationtarget method)": [[293, "compas_fab.robots.ConfigurationTarget.copy"]], "from_json() (compas_fab.robots.configurationtarget class method)": [[294, "compas_fab.robots.ConfigurationTarget.from_json"]], "from_jsonstring() (compas_fab.robots.configurationtarget class method)": [[295, "compas_fab.robots.ConfigurationTarget.from_jsonstring"]], "generate_default_tolerances() (compas_fab.robots.configurationtarget class method)": [[296, "compas_fab.robots.ConfigurationTarget.generate_default_tolerances"]], "scaled() (compas_fab.robots.configurationtarget method)": [[297, "compas_fab.robots.ConfigurationTarget.scaled"]], "sha256() (compas_fab.robots.configurationtarget method)": [[298, "compas_fab.robots.ConfigurationTarget.sha256"]], "to_json() (compas_fab.robots.configurationtarget method)": [[299, "compas_fab.robots.ConfigurationTarget.to_json"]], "to_jsonstring() (compas_fab.robots.configurationtarget method)": [[300, "compas_fab.robots.ConfigurationTarget.to_jsonstring"]], "validate_data() (compas_fab.robots.configurationtarget class method)": [[301, "compas_fab.robots.ConfigurationTarget.validate_data"]], "constraint (class in compas_fab.robots)": [[302, "compas_fab.robots.Constraint"]], "tostring() (compas_fab.robots.constraint method)": [[303, "compas_fab.robots.Constraint.ToString"]], "copy() (compas_fab.robots.constraint method)": [[304, "compas_fab.robots.Constraint.copy"]], "from_json() (compas_fab.robots.constraint class method)": [[305, "compas_fab.robots.Constraint.from_json"]], "from_jsonstring() (compas_fab.robots.constraint class method)": [[306, "compas_fab.robots.Constraint.from_jsonstring"]], "scale() (compas_fab.robots.constraint method)": [[307, "compas_fab.robots.Constraint.scale"]], "scaled() (compas_fab.robots.constraint method)": [[308, "compas_fab.robots.Constraint.scaled"]], "sha256() (compas_fab.robots.constraint method)": [[309, "compas_fab.robots.Constraint.sha256"]], "to_json() (compas_fab.robots.constraint method)": [[310, "compas_fab.robots.Constraint.to_json"]], "to_jsonstring() (compas_fab.robots.constraint method)": [[311, "compas_fab.robots.Constraint.to_jsonstring"]], "transform() (compas_fab.robots.constraint method)": [[312, "compas_fab.robots.Constraint.transform"]], "validate_data() (compas_fab.robots.constraint class method)": [[313, "compas_fab.robots.Constraint.validate_data"]], "constraintsettarget (class in compas_fab.robots)": [[314, "compas_fab.robots.ConstraintSetTarget"]], "tostring() (compas_fab.robots.constraintsettarget method)": [[315, "compas_fab.robots.ConstraintSetTarget.ToString"]], "copy() (compas_fab.robots.constraintsettarget method)": [[316, "compas_fab.robots.ConstraintSetTarget.copy"]], "from_json() (compas_fab.robots.constraintsettarget class method)": [[317, "compas_fab.robots.ConstraintSetTarget.from_json"]], "from_jsonstring() (compas_fab.robots.constraintsettarget class method)": [[318, "compas_fab.robots.ConstraintSetTarget.from_jsonstring"]], "scaled() (compas_fab.robots.constraintsettarget method)": [[319, "compas_fab.robots.ConstraintSetTarget.scaled"]], "sha256() (compas_fab.robots.constraintsettarget method)": [[320, "compas_fab.robots.ConstraintSetTarget.sha256"]], "to_json() (compas_fab.robots.constraintsettarget method)": [[321, "compas_fab.robots.ConstraintSetTarget.to_json"]], "to_jsonstring() (compas_fab.robots.constraintsettarget method)": [[322, "compas_fab.robots.ConstraintSetTarget.to_jsonstring"]], "validate_data() (compas_fab.robots.constraintsettarget class method)": [[323, "compas_fab.robots.ConstraintSetTarget.validate_data"]], "deviationvectorsgenerator (class in compas_fab.robots)": [[324, "compas_fab.robots.DeviationVectorsGenerator"]], "duration (class in compas_fab.robots)": [[325, "compas_fab.robots.Duration"]], "tostring() (compas_fab.robots.duration method)": [[326, "compas_fab.robots.Duration.ToString"]], "copy() (compas_fab.robots.duration method)": [[327, "compas_fab.robots.Duration.copy"]], "from_json() (compas_fab.robots.duration class method)": [[328, "compas_fab.robots.Duration.from_json"]], "from_jsonstring() (compas_fab.robots.duration class method)": [[329, "compas_fab.robots.Duration.from_jsonstring"]], "sha256() (compas_fab.robots.duration method)": [[330, "compas_fab.robots.Duration.sha256"]], "to_json() (compas_fab.robots.duration method)": [[331, "compas_fab.robots.Duration.to_json"]], "to_jsonstring() (compas_fab.robots.duration method)": [[332, "compas_fab.robots.Duration.to_jsonstring"]], "validate_data() (compas_fab.robots.duration class method)": [[333, "compas_fab.robots.Duration.validate_data"]], "frametarget (class in compas_fab.robots)": [[334, "compas_fab.robots.FrameTarget"]], "tostring() (compas_fab.robots.frametarget method)": [[335, "compas_fab.robots.FrameTarget.ToString"]], "copy() (compas_fab.robots.frametarget method)": [[336, "compas_fab.robots.FrameTarget.copy"]], "from_json() (compas_fab.robots.frametarget class method)": [[337, "compas_fab.robots.FrameTarget.from_json"]], "from_jsonstring() (compas_fab.robots.frametarget class method)": [[338, "compas_fab.robots.FrameTarget.from_jsonstring"]], "from_transformation() (compas_fab.robots.frametarget class method)": [[339, "compas_fab.robots.FrameTarget.from_transformation"]], "scaled() (compas_fab.robots.frametarget method)": [[340, "compas_fab.robots.FrameTarget.scaled"]], "sha256() (compas_fab.robots.frametarget method)": [[341, "compas_fab.robots.FrameTarget.sha256"]], "to_json() (compas_fab.robots.frametarget method)": [[342, "compas_fab.robots.FrameTarget.to_json"]], "to_jsonstring() (compas_fab.robots.frametarget method)": [[343, "compas_fab.robots.FrameTarget.to_jsonstring"]], "validate_data() (compas_fab.robots.frametarget class method)": [[344, "compas_fab.robots.FrameTarget.validate_data"]], "framewaypoints (class in compas_fab.robots)": [[345, "compas_fab.robots.FrameWaypoints"]], "tostring() (compas_fab.robots.framewaypoints method)": [[346, "compas_fab.robots.FrameWaypoints.ToString"]], "copy() (compas_fab.robots.framewaypoints method)": [[347, "compas_fab.robots.FrameWaypoints.copy"]], "from_json() (compas_fab.robots.framewaypoints class method)": [[348, "compas_fab.robots.FrameWaypoints.from_json"]], "from_jsonstring() (compas_fab.robots.framewaypoints class method)": [[349, "compas_fab.robots.FrameWaypoints.from_jsonstring"]], "from_transformations() (compas_fab.robots.framewaypoints class method)": [[350, "compas_fab.robots.FrameWaypoints.from_transformations"]], "scaled() (compas_fab.robots.framewaypoints method)": [[351, "compas_fab.robots.FrameWaypoints.scaled"]], "sha256() (compas_fab.robots.framewaypoints method)": [[352, "compas_fab.robots.FrameWaypoints.sha256"]], "to_json() (compas_fab.robots.framewaypoints method)": [[353, "compas_fab.robots.FrameWaypoints.to_json"]], "to_jsonstring() (compas_fab.robots.framewaypoints method)": [[354, "compas_fab.robots.FrameWaypoints.to_jsonstring"]], "validate_data() (compas_fab.robots.framewaypoints class method)": [[355, "compas_fab.robots.FrameWaypoints.validate_data"]], "inertia (class in compas_fab.robots)": [[356, "compas_fab.robots.Inertia"]], "calculate_inertia_tensor() (compas_fab.robots.inertia static method)": [[357, "compas_fab.robots.Inertia.calculate_inertia_tensor"]], "jointconstraint (class in compas_fab.robots)": [[358, "compas_fab.robots.JointConstraint"]], "tostring() (compas_fab.robots.jointconstraint method)": [[359, "compas_fab.robots.JointConstraint.ToString"]], "copy() (compas_fab.robots.jointconstraint method)": [[360, "compas_fab.robots.JointConstraint.copy"]], "from_json() (compas_fab.robots.jointconstraint class method)": [[361, "compas_fab.robots.JointConstraint.from_json"]], "from_jsonstring() (compas_fab.robots.jointconstraint class method)": [[362, "compas_fab.robots.JointConstraint.from_jsonstring"]], "joint_constraints_from_configuration() (compas_fab.robots.jointconstraint class method)": [[363, "compas_fab.robots.JointConstraint.joint_constraints_from_configuration"]], "scale() (compas_fab.robots.jointconstraint method)": [[364, "compas_fab.robots.JointConstraint.scale"]], "scaled() (compas_fab.robots.jointconstraint method)": [[365, "compas_fab.robots.JointConstraint.scaled"]], "sha256() (compas_fab.robots.jointconstraint method)": [[366, "compas_fab.robots.JointConstraint.sha256"]], "to_json() (compas_fab.robots.jointconstraint method)": [[367, "compas_fab.robots.JointConstraint.to_json"]], "to_jsonstring() (compas_fab.robots.jointconstraint method)": [[368, "compas_fab.robots.JointConstraint.to_jsonstring"]], "transform() (compas_fab.robots.jointconstraint method)": [[369, "compas_fab.robots.JointConstraint.transform"]], "validate_data() (compas_fab.robots.jointconstraint class method)": [[370, "compas_fab.robots.JointConstraint.validate_data"]], "jointtrajectory (class in compas_fab.robots)": [[371, "compas_fab.robots.JointTrajectory"]], "tostring() (compas_fab.robots.jointtrajectory method)": [[372, "compas_fab.robots.JointTrajectory.ToString"]], "copy() (compas_fab.robots.jointtrajectory method)": [[373, "compas_fab.robots.JointTrajectory.copy"]], "from_json() (compas_fab.robots.jointtrajectory class method)": [[374, "compas_fab.robots.JointTrajectory.from_json"]], "from_jsonstring() (compas_fab.robots.jointtrajectory class method)": [[375, "compas_fab.robots.JointTrajectory.from_jsonstring"]], "sha256() (compas_fab.robots.jointtrajectory method)": [[376, "compas_fab.robots.JointTrajectory.sha256"]], "to_json() (compas_fab.robots.jointtrajectory method)": [[377, "compas_fab.robots.JointTrajectory.to_json"]], "to_jsonstring() (compas_fab.robots.jointtrajectory method)": [[378, "compas_fab.robots.JointTrajectory.to_jsonstring"]], "validate_data() (compas_fab.robots.jointtrajectory class method)": [[379, "compas_fab.robots.JointTrajectory.validate_data"]], "jointtrajectorypoint (class in compas_fab.robots)": [[380, "compas_fab.robots.JointTrajectoryPoint"]], "tostring() (compas_fab.robots.jointtrajectorypoint method)": [[381, "compas_fab.robots.JointTrajectoryPoint.ToString"]], "check_joint_names() (compas_fab.robots.jointtrajectorypoint method)": [[382, "compas_fab.robots.JointTrajectoryPoint.check_joint_names"]], "close_to() (compas_fab.robots.jointtrajectorypoint method)": [[383, "compas_fab.robots.JointTrajectoryPoint.close_to"]], "copy() (compas_fab.robots.jointtrajectorypoint method)": [[384, "compas_fab.robots.JointTrajectoryPoint.copy"]], "from_json() (compas_fab.robots.jointtrajectorypoint class method)": [[385, "compas_fab.robots.JointTrajectoryPoint.from_json"]], "from_jsonstring() (compas_fab.robots.jointtrajectorypoint class method)": [[386, "compas_fab.robots.JointTrajectoryPoint.from_jsonstring"]], "from_prismatic_and_revolute_values() (compas_fab.robots.jointtrajectorypoint class method)": [[387, "compas_fab.robots.JointTrajectoryPoint.from_prismatic_and_revolute_values"]], "from_revolute_values() (compas_fab.robots.jointtrajectorypoint class method)": [[388, "compas_fab.robots.JointTrajectoryPoint.from_revolute_values"]], "get() (compas_fab.robots.jointtrajectorypoint method)": [[389, "compas_fab.robots.JointTrajectoryPoint.get"]], "items() (compas_fab.robots.jointtrajectorypoint method)": [[390, "compas_fab.robots.JointTrajectoryPoint.items"]], "iter_differences() (compas_fab.robots.jointtrajectorypoint method)": [[391, "compas_fab.robots.JointTrajectoryPoint.iter_differences"]], "keys() (compas_fab.robots.jointtrajectorypoint method)": [[392, "compas_fab.robots.JointTrajectoryPoint.keys"]], "max_difference() (compas_fab.robots.jointtrajectorypoint method)": [[393, "compas_fab.robots.JointTrajectoryPoint.max_difference"]], "merge() (compas_fab.robots.jointtrajectorypoint method)": [[394, "compas_fab.robots.JointTrajectoryPoint.merge"]], "merged() (compas_fab.robots.jointtrajectorypoint method)": [[395, "compas_fab.robots.JointTrajectoryPoint.merged"]], "scale() (compas_fab.robots.jointtrajectorypoint method)": [[396, "compas_fab.robots.JointTrajectoryPoint.scale"]], "scaled() (compas_fab.robots.jointtrajectorypoint method)": [[397, "compas_fab.robots.JointTrajectoryPoint.scaled"]], "sha256() (compas_fab.robots.jointtrajectorypoint method)": [[398, "compas_fab.robots.JointTrajectoryPoint.sha256"]], "to_json() (compas_fab.robots.jointtrajectorypoint method)": [[399, "compas_fab.robots.JointTrajectoryPoint.to_json"]], "to_jsonstring() (compas_fab.robots.jointtrajectorypoint method)": [[400, "compas_fab.robots.JointTrajectoryPoint.to_jsonstring"]], "validate_data() (compas_fab.robots.jointtrajectorypoint class method)": [[401, "compas_fab.robots.JointTrajectoryPoint.validate_data"]], "values() (compas_fab.robots.jointtrajectorypoint method)": [[402, "compas_fab.robots.JointTrajectoryPoint.values"]], "orientationconstraint (class in compas_fab.robots)": [[403, "compas_fab.robots.OrientationConstraint"]], "tostring() (compas_fab.robots.orientationconstraint method)": [[404, "compas_fab.robots.OrientationConstraint.ToString"]], "copy() (compas_fab.robots.orientationconstraint method)": [[405, "compas_fab.robots.OrientationConstraint.copy"]], "from_frame() (compas_fab.robots.orientationconstraint class method)": [[406, "compas_fab.robots.OrientationConstraint.from_frame"]], "from_json() (compas_fab.robots.orientationconstraint class method)": [[407, "compas_fab.robots.OrientationConstraint.from_json"]], "from_jsonstring() (compas_fab.robots.orientationconstraint class method)": [[408, "compas_fab.robots.OrientationConstraint.from_jsonstring"]], "scale() (compas_fab.robots.orientationconstraint method)": [[409, "compas_fab.robots.OrientationConstraint.scale"]], "scaled() (compas_fab.robots.orientationconstraint method)": [[410, "compas_fab.robots.OrientationConstraint.scaled"]], "sha256() (compas_fab.robots.orientationconstraint method)": [[411, "compas_fab.robots.OrientationConstraint.sha256"]], "to_json() (compas_fab.robots.orientationconstraint method)": [[412, "compas_fab.robots.OrientationConstraint.to_json"]], "to_jsonstring() (compas_fab.robots.orientationconstraint method)": [[413, "compas_fab.robots.OrientationConstraint.to_jsonstring"]], "transform() (compas_fab.robots.orientationconstraint method)": [[414, "compas_fab.robots.OrientationConstraint.transform"]], "validate_data() (compas_fab.robots.orientationconstraint class method)": [[415, "compas_fab.robots.OrientationConstraint.validate_data"]], "orthonormalvectorsfromaxisgenerator (class in compas_fab.robots)": [[416, "compas_fab.robots.OrthonormalVectorsFromAxisGenerator"]], "planningscene (class in compas_fab.robots)": [[417, "compas_fab.robots.PlanningScene"]], "add_attached_collision_mesh() (compas_fab.robots.planningscene method)": [[418, "compas_fab.robots.PlanningScene.add_attached_collision_mesh"]], "add_attached_tool() (compas_fab.robots.planningscene method)": [[419, "compas_fab.robots.PlanningScene.add_attached_tool"]], "add_collision_mesh() (compas_fab.robots.planningscene method)": [[420, "compas_fab.robots.PlanningScene.add_collision_mesh"]], "append_collision_mesh() (compas_fab.robots.planningscene method)": [[421, "compas_fab.robots.PlanningScene.append_collision_mesh"]], "attach_collision_mesh_to_robot_end_effector() (compas_fab.robots.planningscene method)": [[422, "compas_fab.robots.PlanningScene.attach_collision_mesh_to_robot_end_effector"]], "ensure_client() (compas_fab.robots.planningscene method)": [[423, "compas_fab.robots.PlanningScene.ensure_client"]], "remove_attached_collision_mesh() (compas_fab.robots.planningscene method)": [[424, "compas_fab.robots.PlanningScene.remove_attached_collision_mesh"]], "remove_attached_tool() (compas_fab.robots.planningscene method)": [[425, "compas_fab.robots.PlanningScene.remove_attached_tool"]], "remove_collision_mesh() (compas_fab.robots.planningscene method)": [[426, "compas_fab.robots.PlanningScene.remove_collision_mesh"]], "reset() (compas_fab.robots.planningscene method)": [[427, "compas_fab.robots.PlanningScene.reset"]], "pointaxistarget (class in compas_fab.robots)": [[428, "compas_fab.robots.PointAxisTarget"]], "tostring() (compas_fab.robots.pointaxistarget method)": [[429, "compas_fab.robots.PointAxisTarget.ToString"]], "copy() (compas_fab.robots.pointaxistarget method)": [[430, "compas_fab.robots.PointAxisTarget.copy"]], "from_json() (compas_fab.robots.pointaxistarget class method)": [[431, "compas_fab.robots.PointAxisTarget.from_json"]], "from_jsonstring() (compas_fab.robots.pointaxistarget class method)": [[432, "compas_fab.robots.PointAxisTarget.from_jsonstring"]], "scaled() (compas_fab.robots.pointaxistarget method)": [[433, "compas_fab.robots.PointAxisTarget.scaled"]], "sha256() (compas_fab.robots.pointaxistarget method)": [[434, "compas_fab.robots.PointAxisTarget.sha256"]], "to_json() (compas_fab.robots.pointaxistarget method)": [[435, "compas_fab.robots.PointAxisTarget.to_json"]], "to_jsonstring() (compas_fab.robots.pointaxistarget method)": [[436, "compas_fab.robots.PointAxisTarget.to_jsonstring"]], "validate_data() (compas_fab.robots.pointaxistarget class method)": [[437, "compas_fab.robots.PointAxisTarget.validate_data"]], "pointaxiswaypoints (class in compas_fab.robots)": [[438, "compas_fab.robots.PointAxisWaypoints"]], "tostring() (compas_fab.robots.pointaxiswaypoints method)": [[439, "compas_fab.robots.PointAxisWaypoints.ToString"]], "copy() (compas_fab.robots.pointaxiswaypoints method)": [[440, "compas_fab.robots.PointAxisWaypoints.copy"]], "from_json() (compas_fab.robots.pointaxiswaypoints class method)": [[441, "compas_fab.robots.PointAxisWaypoints.from_json"]], "from_jsonstring() (compas_fab.robots.pointaxiswaypoints class method)": [[442, "compas_fab.robots.PointAxisWaypoints.from_jsonstring"]], "scaled() (compas_fab.robots.pointaxiswaypoints method)": [[443, "compas_fab.robots.PointAxisWaypoints.scaled"]], "sha256() (compas_fab.robots.pointaxiswaypoints method)": [[444, "compas_fab.robots.PointAxisWaypoints.sha256"]], "to_json() (compas_fab.robots.pointaxiswaypoints method)": [[445, "compas_fab.robots.PointAxisWaypoints.to_json"]], "to_jsonstring() (compas_fab.robots.pointaxiswaypoints method)": [[446, "compas_fab.robots.PointAxisWaypoints.to_jsonstring"]], "validate_data() (compas_fab.robots.pointaxiswaypoints class method)": [[447, "compas_fab.robots.PointAxisWaypoints.validate_data"]], "positionconstraint (class in compas_fab.robots)": [[448, "compas_fab.robots.PositionConstraint"]], "tostring() (compas_fab.robots.positionconstraint method)": [[449, "compas_fab.robots.PositionConstraint.ToString"]], "copy() (compas_fab.robots.positionconstraint method)": [[450, "compas_fab.robots.PositionConstraint.copy"]], "from_box() (compas_fab.robots.positionconstraint class method)": [[451, "compas_fab.robots.PositionConstraint.from_box"]], "from_frame() (compas_fab.robots.positionconstraint class method)": [[452, "compas_fab.robots.PositionConstraint.from_frame"]], "from_json() (compas_fab.robots.positionconstraint class method)": [[453, "compas_fab.robots.PositionConstraint.from_json"]], "from_jsonstring() (compas_fab.robots.positionconstraint class method)": [[454, "compas_fab.robots.PositionConstraint.from_jsonstring"]], "from_mesh() (compas_fab.robots.positionconstraint class method)": [[455, "compas_fab.robots.PositionConstraint.from_mesh"]], "from_point() (compas_fab.robots.positionconstraint class method)": [[456, "compas_fab.robots.PositionConstraint.from_point"]], "from_sphere() (compas_fab.robots.positionconstraint class method)": [[457, "compas_fab.robots.PositionConstraint.from_sphere"]], "scale() (compas_fab.robots.positionconstraint method)": [[458, "compas_fab.robots.PositionConstraint.scale"]], "scaled() (compas_fab.robots.positionconstraint method)": [[459, "compas_fab.robots.PositionConstraint.scaled"]], "sha256() (compas_fab.robots.positionconstraint method)": [[460, "compas_fab.robots.PositionConstraint.sha256"]], "to_json() (compas_fab.robots.positionconstraint method)": [[461, "compas_fab.robots.PositionConstraint.to_json"]], "to_jsonstring() (compas_fab.robots.positionconstraint method)": [[462, "compas_fab.robots.PositionConstraint.to_jsonstring"]], "transform() (compas_fab.robots.positionconstraint method)": [[463, "compas_fab.robots.PositionConstraint.transform"]], "validate_data() (compas_fab.robots.positionconstraint class method)": [[464, "compas_fab.robots.PositionConstraint.validate_data"]], "reachabilitymap (class in compas_fab.robots)": [[465, "compas_fab.robots.ReachabilityMap"]], "tostring() (compas_fab.robots.reachabilitymap method)": [[466, "compas_fab.robots.ReachabilityMap.ToString"]], "calculate() (compas_fab.robots.reachabilitymap method)": [[467, "compas_fab.robots.ReachabilityMap.calculate"]], "copy() (compas_fab.robots.reachabilitymap method)": [[468, "compas_fab.robots.ReachabilityMap.copy"]], "from_json() (compas_fab.robots.reachabilitymap class method)": [[469, "compas_fab.robots.ReachabilityMap.from_json"]], "from_jsonstring() (compas_fab.robots.reachabilitymap class method)": [[470, "compas_fab.robots.ReachabilityMap.from_jsonstring"]], "reachable_frames_and_configurations_at_ik_index() (compas_fab.robots.reachabilitymap method)": [[471, "compas_fab.robots.ReachabilityMap.reachable_frames_and_configurations_at_ik_index"]], "sha256() (compas_fab.robots.reachabilitymap method)": [[472, "compas_fab.robots.ReachabilityMap.sha256"]], "to_json() (compas_fab.robots.reachabilitymap method)": [[473, "compas_fab.robots.ReachabilityMap.to_json"]], "to_jsonstring() (compas_fab.robots.reachabilitymap method)": [[474, "compas_fab.robots.ReachabilityMap.to_jsonstring"]], "validate_data() (compas_fab.robots.reachabilitymap class method)": [[475, "compas_fab.robots.ReachabilityMap.validate_data"]], "robot (class in compas_fab.robots)": [[476, "compas_fab.robots.Robot"]], "tostring() (compas_fab.robots.robot method)": [[477, "compas_fab.robots.Robot.ToString"]], "attach_tool() (compas_fab.robots.robot method)": [[478, "compas_fab.robots.Robot.attach_tool"]], "basic() (compas_fab.robots.robot class method)": [[479, "compas_fab.robots.Robot.basic"]], "copy() (compas_fab.robots.robot method)": [[480, "compas_fab.robots.Robot.copy"]], "detach_tool() (compas_fab.robots.robot method)": [[481, "compas_fab.robots.Robot.detach_tool"]], "draw() (compas_fab.robots.robot method)": [[482, "compas_fab.robots.Robot.draw"]], "draw_collision() (compas_fab.robots.robot method)": [[483, "compas_fab.robots.Robot.draw_collision"]], "draw_visual() (compas_fab.robots.robot method)": [[484, "compas_fab.robots.Robot.draw_visual"]], "ensure_client() (compas_fab.robots.robot method)": [[485, "compas_fab.robots.Robot.ensure_client"]], "ensure_geometry() (compas_fab.robots.robot method)": [[486, "compas_fab.robots.Robot.ensure_geometry"]], "ensure_semantics() (compas_fab.robots.robot method)": [[487, "compas_fab.robots.Robot.ensure_semantics"]], "forward_kinematics() (compas_fab.robots.robot method)": [[488, "compas_fab.robots.Robot.forward_kinematics"]], "from_json() (compas_fab.robots.robot class method)": [[489, "compas_fab.robots.Robot.from_json"]], "from_jsonstring() (compas_fab.robots.robot class method)": [[490, "compas_fab.robots.Robot.from_jsonstring"]], "from_t0cf_to_tcf() (compas_fab.robots.robot method)": [[491, "compas_fab.robots.Robot.from_t0cf_to_tcf"]], "from_tcf_to_t0cf() (compas_fab.robots.robot method)": [[492, "compas_fab.robots.Robot.from_tcf_to_t0cf"]], "get_rcf() (compas_fab.robots.robot method)": [[493, "compas_fab.robots.Robot.get_RCF"]], "get_attached_tool_collision_meshes() (compas_fab.robots.robot method)": [[494, "compas_fab.robots.Robot.get_attached_tool_collision_meshes"]], "get_base_frame() (compas_fab.robots.robot method)": [[495, "compas_fab.robots.Robot.get_base_frame"]], "get_base_link() (compas_fab.robots.robot method)": [[496, "compas_fab.robots.Robot.get_base_link"]], "get_base_link_name() (compas_fab.robots.robot method)": [[497, "compas_fab.robots.Robot.get_base_link_name"]], "get_configurable_joint_names() (compas_fab.robots.robot method)": [[498, "compas_fab.robots.Robot.get_configurable_joint_names"]], "get_configurable_joint_types() (compas_fab.robots.robot method)": [[499, "compas_fab.robots.Robot.get_configurable_joint_types"]], "get_configurable_joints() (compas_fab.robots.robot method)": [[500, "compas_fab.robots.Robot.get_configurable_joints"]], "get_configuration_from_group_state() (compas_fab.robots.robot method)": [[501, "compas_fab.robots.Robot.get_configuration_from_group_state"]], "get_end_effector_frame() (compas_fab.robots.robot method)": [[502, "compas_fab.robots.Robot.get_end_effector_frame"]], "get_end_effector_link() (compas_fab.robots.robot method)": [[503, "compas_fab.robots.Robot.get_end_effector_link"]], "get_end_effector_link_name() (compas_fab.robots.robot method)": [[504, "compas_fab.robots.Robot.get_end_effector_link_name"]], "get_group_configuration() (compas_fab.robots.robot method)": [[505, "compas_fab.robots.Robot.get_group_configuration"]], "get_group_names_from_link_name() (compas_fab.robots.robot method)": [[506, "compas_fab.robots.Robot.get_group_names_from_link_name"]], "get_joint_by_name() (compas_fab.robots.robot method)": [[507, "compas_fab.robots.Robot.get_joint_by_name"]], "get_joint_types_by_names() (compas_fab.robots.robot method)": [[508, "compas_fab.robots.Robot.get_joint_types_by_names"]], "get_link_names() (compas_fab.robots.robot method)": [[509, "compas_fab.robots.Robot.get_link_names"]], "get_link_names_with_collision_geometry() (compas_fab.robots.robot method)": [[510, "compas_fab.robots.Robot.get_link_names_with_collision_geometry"]], "get_position_by_joint_name() (compas_fab.robots.robot method)": [[511, "compas_fab.robots.Robot.get_position_by_joint_name"]], "info() (compas_fab.robots.robot method)": [[512, "compas_fab.robots.Robot.info"]], "inverse_kinematics() (compas_fab.robots.robot method)": [[513, "compas_fab.robots.Robot.inverse_kinematics"]], "iter_inverse_kinematics() (compas_fab.robots.robot method)": [[514, "compas_fab.robots.Robot.iter_inverse_kinematics"]], "merge_group_with_full_configuration() (compas_fab.robots.robot method)": [[515, "compas_fab.robots.Robot.merge_group_with_full_configuration"]], "plan_cartesian_motion() (compas_fab.robots.robot method)": [[516, "compas_fab.robots.Robot.plan_cartesian_motion"]], "plan_motion() (compas_fab.robots.robot method)": [[517, "compas_fab.robots.Robot.plan_motion"]], "random_configuration() (compas_fab.robots.robot method)": [[518, "compas_fab.robots.Robot.random_configuration"]], "scale() (compas_fab.robots.robot method)": [[519, "compas_fab.robots.Robot.scale"]], "set_rcf() (compas_fab.robots.robot method)": [[520, "compas_fab.robots.Robot.set_RCF"]], "sha256() (compas_fab.robots.robot method)": [[521, "compas_fab.robots.Robot.sha256"]], "to_json() (compas_fab.robots.robot method)": [[522, "compas_fab.robots.Robot.to_json"]], "to_jsonstring() (compas_fab.robots.robot method)": [[523, "compas_fab.robots.Robot.to_jsonstring"]], "to_local_coordinates() (compas_fab.robots.robot method)": [[524, "compas_fab.robots.Robot.to_local_coordinates"]], "to_world_coordinates() (compas_fab.robots.robot method)": [[525, "compas_fab.robots.Robot.to_world_coordinates"]], "transformation_rcf_wcf() (compas_fab.robots.robot method)": [[526, "compas_fab.robots.Robot.transformation_RCF_WCF"]], "transformation_wcf_rcf() (compas_fab.robots.robot method)": [[527, "compas_fab.robots.Robot.transformation_WCF_RCF"]], "transformed_axes() (compas_fab.robots.robot method)": [[528, "compas_fab.robots.Robot.transformed_axes"]], "transformed_frames() (compas_fab.robots.robot method)": [[529, "compas_fab.robots.Robot.transformed_frames"]], "update() (compas_fab.robots.robot method)": [[530, "compas_fab.robots.Robot.update"]], "validate_data() (compas_fab.robots.robot class method)": [[531, "compas_fab.robots.Robot.validate_data"]], "zero_configuration() (compas_fab.robots.robot method)": [[532, "compas_fab.robots.Robot.zero_configuration"]], "robotlibrary (class in compas_fab.robots)": [[533, "compas_fab.robots.RobotLibrary"]], "abb_irb4600_40_255() (compas_fab.robots.robotlibrary class method)": [[534, "compas_fab.robots.RobotLibrary.abb_irb4600_40_255"]], "rfl() (compas_fab.robots.robotlibrary class method)": [[535, "compas_fab.robots.RobotLibrary.rfl"]], "ur10e() (compas_fab.robots.robotlibrary class method)": [[536, "compas_fab.robots.RobotLibrary.ur10e"]], "ur5() (compas_fab.robots.robotlibrary class method)": [[537, "compas_fab.robots.RobotLibrary.ur5"]], "robotsemantics (class in compas_fab.robots)": [[538, "compas_fab.robots.RobotSemantics"]], "tostring() (compas_fab.robots.robotsemantics method)": [[539, "compas_fab.robots.RobotSemantics.ToString"]], "copy() (compas_fab.robots.robotsemantics method)": [[540, "compas_fab.robots.RobotSemantics.copy"]], "from_json() (compas_fab.robots.robotsemantics class method)": [[541, "compas_fab.robots.RobotSemantics.from_json"]], "from_jsonstring() (compas_fab.robots.robotsemantics class method)": [[542, "compas_fab.robots.RobotSemantics.from_jsonstring"]], "from_srdf_file() (compas_fab.robots.robotsemantics class method)": [[543, "compas_fab.robots.RobotSemantics.from_srdf_file"]], "from_srdf_string() (compas_fab.robots.robotsemantics class method)": [[544, "compas_fab.robots.RobotSemantics.from_srdf_string"]], "from_xml() (compas_fab.robots.robotsemantics class method)": [[545, "compas_fab.robots.RobotSemantics.from_xml"]], "get_all_configurable_joints() (compas_fab.robots.robotsemantics method)": [[546, "compas_fab.robots.RobotSemantics.get_all_configurable_joints"]], "get_base_link_name() (compas_fab.robots.robotsemantics method)": [[547, "compas_fab.robots.RobotSemantics.get_base_link_name"]], "get_configurable_joint_names() (compas_fab.robots.robotsemantics method)": [[548, "compas_fab.robots.RobotSemantics.get_configurable_joint_names"]], "get_configurable_joints() (compas_fab.robots.robotsemantics method)": [[549, "compas_fab.robots.RobotSemantics.get_configurable_joints"]], "get_end_effector_link_name() (compas_fab.robots.robotsemantics method)": [[550, "compas_fab.robots.RobotSemantics.get_end_effector_link_name"]], "sha256() (compas_fab.robots.robotsemantics method)": [[551, "compas_fab.robots.RobotSemantics.sha256"]], "to_json() (compas_fab.robots.robotsemantics method)": [[552, "compas_fab.robots.RobotSemantics.to_json"]], "to_jsonstring() (compas_fab.robots.robotsemantics method)": [[553, "compas_fab.robots.RobotSemantics.to_jsonstring"]], "validate_data() (compas_fab.robots.robotsemantics class method)": [[554, "compas_fab.robots.RobotSemantics.validate_data"]], "target (class in compas_fab.robots)": [[555, "compas_fab.robots.Target"]], "tostring() (compas_fab.robots.target method)": [[556, "compas_fab.robots.Target.ToString"]], "copy() (compas_fab.robots.target method)": [[557, "compas_fab.robots.Target.copy"]], "from_json() (compas_fab.robots.target class method)": [[558, "compas_fab.robots.Target.from_json"]], "from_jsonstring() (compas_fab.robots.target class method)": [[559, "compas_fab.robots.Target.from_jsonstring"]], "scaled() (compas_fab.robots.target method)": [[560, "compas_fab.robots.Target.scaled"]], "sha256() (compas_fab.robots.target method)": [[561, "compas_fab.robots.Target.sha256"]], "to_json() (compas_fab.robots.target method)": [[562, "compas_fab.robots.Target.to_json"]], "to_jsonstring() (compas_fab.robots.target method)": [[563, "compas_fab.robots.Target.to_jsonstring"]], "validate_data() (compas_fab.robots.target class method)": [[564, "compas_fab.robots.Target.validate_data"]], "tool (class in compas_fab.robots)": [[565, "compas_fab.robots.Tool"]], "tostring() (compas_fab.robots.tool method)": [[566, "compas_fab.robots.Tool.ToString"]], "copy() (compas_fab.robots.tool method)": [[567, "compas_fab.robots.Tool.copy"]], "from_json() (compas_fab.robots.tool class method)": [[568, "compas_fab.robots.Tool.from_json"]], "from_jsonstring() (compas_fab.robots.tool class method)": [[569, "compas_fab.robots.Tool.from_jsonstring"]], "from_t0cf_to_tcf() (compas_fab.robots.tool method)": [[570, "compas_fab.robots.Tool.from_t0cf_to_tcf"]], "from_tcf_to_t0cf() (compas_fab.robots.tool method)": [[571, "compas_fab.robots.Tool.from_tcf_to_t0cf"]], "from_tool_model() (compas_fab.robots.tool class method)": [[572, "compas_fab.robots.Tool.from_tool_model"]], "sha256() (compas_fab.robots.tool method)": [[573, "compas_fab.robots.Tool.sha256"]], "to_json() (compas_fab.robots.tool method)": [[574, "compas_fab.robots.Tool.to_json"]], "to_jsonstring() (compas_fab.robots.tool method)": [[575, "compas_fab.robots.Tool.to_jsonstring"]], "update_touch_links() (compas_fab.robots.tool method)": [[576, "compas_fab.robots.Tool.update_touch_links"]], "validate_data() (compas_fab.robots.tool class method)": [[577, "compas_fab.robots.Tool.validate_data"]], "trajectory (class in compas_fab.robots)": [[578, "compas_fab.robots.Trajectory"]], "tostring() (compas_fab.robots.trajectory method)": [[579, "compas_fab.robots.Trajectory.ToString"]], "copy() (compas_fab.robots.trajectory method)": [[580, "compas_fab.robots.Trajectory.copy"]], "from_json() (compas_fab.robots.trajectory class method)": [[581, "compas_fab.robots.Trajectory.from_json"]], "from_jsonstring() (compas_fab.robots.trajectory class method)": [[582, "compas_fab.robots.Trajectory.from_jsonstring"]], "sha256() (compas_fab.robots.trajectory method)": [[583, "compas_fab.robots.Trajectory.sha256"]], "to_json() (compas_fab.robots.trajectory method)": [[584, "compas_fab.robots.Trajectory.to_json"]], "to_jsonstring() (compas_fab.robots.trajectory method)": [[585, "compas_fab.robots.Trajectory.to_jsonstring"]], "validate_data() (compas_fab.robots.trajectory class method)": [[586, "compas_fab.robots.Trajectory.validate_data"]], "waypoints (class in compas_fab.robots)": [[587, "compas_fab.robots.Waypoints"]], "tostring() (compas_fab.robots.waypoints method)": [[588, "compas_fab.robots.Waypoints.ToString"]], "copy() (compas_fab.robots.waypoints method)": [[589, "compas_fab.robots.Waypoints.copy"]], "from_json() (compas_fab.robots.waypoints class method)": [[590, "compas_fab.robots.Waypoints.from_json"]], "from_jsonstring() (compas_fab.robots.waypoints class method)": [[591, "compas_fab.robots.Waypoints.from_jsonstring"]], "scaled() (compas_fab.robots.waypoints method)": [[592, "compas_fab.robots.Waypoints.scaled"]], "sha256() (compas_fab.robots.waypoints method)": [[593, "compas_fab.robots.Waypoints.sha256"]], "to_json() (compas_fab.robots.waypoints method)": [[594, "compas_fab.robots.Waypoints.to_json"]], "to_jsonstring() (compas_fab.robots.waypoints method)": [[595, "compas_fab.robots.Waypoints.to_jsonstring"]], "validate_data() (compas_fab.robots.waypoints class method)": [[596, "compas_fab.robots.Waypoints.validate_data"]], "wrench (class in compas_fab.robots)": [[597, "compas_fab.robots.Wrench"]], "tostring() (compas_fab.robots.wrench method)": [[598, "compas_fab.robots.Wrench.ToString"]], "by_samples() (compas_fab.robots.wrench class method)": [[599, "compas_fab.robots.Wrench.by_samples"]], "copy() (compas_fab.robots.wrench method)": [[600, "compas_fab.robots.Wrench.copy"]], "from_json() (compas_fab.robots.wrench class method)": [[601, "compas_fab.robots.Wrench.from_json"]], "from_jsonstring() (compas_fab.robots.wrench class method)": [[602, "compas_fab.robots.Wrench.from_jsonstring"]], "from_list() (compas_fab.robots.wrench class method)": [[603, "compas_fab.robots.Wrench.from_list"]], "gravity_compensated() (compas_fab.robots.wrench method)": [[604, "compas_fab.robots.Wrench.gravity_compensated"]], "sha256() (compas_fab.robots.wrench method)": [[605, "compas_fab.robots.Wrench.sha256"]], "to_json() (compas_fab.robots.wrench method)": [[606, "compas_fab.robots.Wrench.to_json"]], "to_jsonstring() (compas_fab.robots.wrench method)": [[607, "compas_fab.robots.Wrench.to_jsonstring"]], "transform() (compas_fab.robots.wrench method)": [[608, "compas_fab.robots.Wrench.transform"]], "transformed() (compas_fab.robots.wrench method)": [[609, "compas_fab.robots.Wrench.transformed"]], "validate_data() (compas_fab.robots.wrench class method)": [[610, "compas_fab.robots.Wrench.validate_data"]], "to_degrees() (in module compas_fab.robots)": [[611, "compas_fab.robots.to_degrees"]], "to_radians() (in module compas_fab.robots)": [[612, "compas_fab.robots.to_radians"]], "poscon3d (class in compas_fab.sensors)": [[613, "compas_fab.sensors.PosCon3D"]], "activate_flex_mount() (compas_fab.sensors.poscon3d method)": [[614, "compas_fab.sensors.PosCon3D.activate_flex_mount"]], "adjust_to_dark_object() (compas_fab.sensors.poscon3d method)": [[615, "compas_fab.sensors.PosCon3D.adjust_to_dark_object"]], "begin() (compas_fab.sensors.poscon3d method)": [[616, "compas_fab.sensors.PosCon3D.begin"]], "calculate_checksum() (compas_fab.sensors.poscon3d method)": [[617, "compas_fab.sensors.PosCon3D.calculate_checksum"]], "deactivate_flex_mount() (compas_fab.sensors.poscon3d method)": [[618, "compas_fab.sensors.PosCon3D.deactivate_flex_mount"]], "end() (compas_fab.sensors.poscon3d method)": [[619, "compas_fab.sensors.PosCon3D.end"]], "format_command() (compas_fab.sensors.poscon3d method)": [[620, "compas_fab.sensors.PosCon3D.format_command"]], "get_address() (compas_fab.sensors.poscon3d method)": [[621, "compas_fab.sensors.PosCon3D.get_address"]], "get_live_monitor_data() (compas_fab.sensors.poscon3d method)": [[622, "compas_fab.sensors.PosCon3D.get_live_monitor_data"]], "get_measurement() (compas_fab.sensors.poscon3d method)": [[623, "compas_fab.sensors.PosCon3D.get_measurement"]], "get_payload() (compas_fab.sensors.poscon3d method)": [[624, "compas_fab.sensors.PosCon3D.get_payload"]], "reset() (compas_fab.sensors.poscon3d method)": [[625, "compas_fab.sensors.PosCon3D.reset"]], "send_command() (compas_fab.sensors.poscon3d method)": [[626, "compas_fab.sensors.PosCon3D.send_command"]], "set_edge_height() (compas_fab.sensors.poscon3d method)": [[627, "compas_fab.sensors.PosCon3D.set_edge_height"]], "set_flex_mount() (compas_fab.sensors.poscon3d method)": [[628, "compas_fab.sensors.PosCon3D.set_flex_mount"]], "set_measurement_type() (compas_fab.sensors.poscon3d method)": [[629, "compas_fab.sensors.PosCon3D.set_measurement_type"]], "set_precision() (compas_fab.sensors.poscon3d method)": [[630, "compas_fab.sensors.PosCon3D.set_precision"]], "posconcm (class in compas_fab.sensors)": [[631, "compas_fab.sensors.PosConCM"]], "activate_flex_mount() (compas_fab.sensors.posconcm method)": [[632, "compas_fab.sensors.PosConCM.activate_flex_mount"]], "adjust_to_dark_object() (compas_fab.sensors.posconcm method)": [[633, "compas_fab.sensors.PosConCM.adjust_to_dark_object"]], "begin() (compas_fab.sensors.posconcm method)": [[634, "compas_fab.sensors.PosConCM.begin"]], "calculate_checksum() (compas_fab.sensors.posconcm method)": [[635, "compas_fab.sensors.PosConCM.calculate_checksum"]], "deactivate_flex_mount() (compas_fab.sensors.posconcm method)": [[636, "compas_fab.sensors.PosConCM.deactivate_flex_mount"]], "end() (compas_fab.sensors.posconcm method)": [[637, "compas_fab.sensors.PosConCM.end"]], "format_command() (compas_fab.sensors.posconcm method)": [[638, "compas_fab.sensors.PosConCM.format_command"]], "get_address() (compas_fab.sensors.posconcm method)": [[639, "compas_fab.sensors.PosConCM.get_address"]], "get_measurement() (compas_fab.sensors.posconcm method)": [[640, "compas_fab.sensors.PosConCM.get_measurement"]], "get_payload() (compas_fab.sensors.posconcm method)": [[641, "compas_fab.sensors.PosConCM.get_payload"]], "reset() (compas_fab.sensors.posconcm method)": [[642, "compas_fab.sensors.PosConCM.reset"]], "send_command() (compas_fab.sensors.posconcm method)": [[643, "compas_fab.sensors.PosConCM.send_command"]], "set_flex_mount() (compas_fab.sensors.posconcm method)": [[644, "compas_fab.sensors.PosConCM.set_flex_mount"]], "set_measurement_type() (compas_fab.sensors.posconcm method)": [[645, "compas_fab.sensors.PosConCM.set_measurement_type"]], "set_precision() (compas_fab.sensors.posconcm method)": [[646, "compas_fab.sensors.PosConCM.set_precision"]], "teach_flex_mount() (compas_fab.sensors.posconcm method)": [[647, "compas_fab.sensors.PosConCM.teach_flex_mount"]], "protocolerror": [[648, "compas_fab.sensors.ProtocolError"]], "sensortimeouterror": [[649, "compas_fab.sensors.SensorTimeoutError"]], "serialsensor (class in compas_fab.sensors)": [[650, "compas_fab.sensors.SerialSensor"]], "lazyloader (class in compas_fab.utilities)": [[651, "compas_fab.utilities.LazyLoader"]], "allclose() (in module compas_fab.utilities)": [[652, "compas_fab.utilities.allclose"]], "arange() (in module compas_fab.utilities)": [[653, "compas_fab.utilities.arange"]], "argmax() (in module compas_fab.utilities)": [[654, "compas_fab.utilities.argmax"]], "argmin() (in module compas_fab.utilities)": [[655, "compas_fab.utilities.argmin"]], "argsort() (in module compas_fab.utilities)": [[656, "compas_fab.utilities.argsort"]], "clamp() (in module compas_fab.utilities)": [[657, "compas_fab.utilities.clamp"]], "diffs() (in module compas_fab.utilities)": [[658, "compas_fab.utilities.diffs"]], "from_tcf_to_t0cf() (in module compas_fab.utilities)": [[659, "compas_fab.utilities.from_tcf_to_t0cf"]], "list_files_in_directory() (in module compas_fab.utilities)": [[660, "compas_fab.utilities.list_files_in_directory"]], "map_range() (in module compas_fab.utilities)": [[661, "compas_fab.utilities.map_range"]], "range_geometric_row() (in module compas_fab.utilities)": [[662, "compas_fab.utilities.range_geometric_row"]], "read_csv_to_dictionary() (in module compas_fab.utilities)": [[663, "compas_fab.utilities.read_csv_to_dictionary"]], "read_data_from_pickle() (in module compas_fab.utilities)": [[664, "compas_fab.utilities.read_data_from_pickle"]], "sign() (in module compas_fab.utilities)": [[665, "compas_fab.utilities.sign"]], "write_data_to_pickle() (in module compas_fab.utilities)": [[666, "compas_fab.utilities.write_data_to_pickle"]], "compas_fab.backends.interfaces": [[674, "module-compas_fab.backends.interfaces"]], "compas_fab.backends.pybullet.backend_features": [[674, "module-compas_fab.backends.pybullet.backend_features"]], "compas_fab.backends.ros.backend_features": [[674, "module-compas_fab.backends.ros.backend_features"]], "addattachedcollisionmesh (class in compas_fab.backends.interfaces)": [[675, "compas_fab.backends.interfaces.AddAttachedCollisionMesh"]], "add_attached_collision_mesh() (compas_fab.backends.interfaces.addattachedcollisionmesh method)": [[676, "compas_fab.backends.interfaces.AddAttachedCollisionMesh.add_attached_collision_mesh"]], "addcollisionmesh (class in compas_fab.backends.interfaces)": [[677, "compas_fab.backends.interfaces.AddCollisionMesh"]], "add_collision_mesh() (compas_fab.backends.interfaces.addcollisionmesh method)": [[678, "compas_fab.backends.interfaces.AddCollisionMesh.add_collision_mesh"]], "appendcollisionmesh (class in compas_fab.backends.interfaces)": [[679, "compas_fab.backends.interfaces.AppendCollisionMesh"]], "append_collision_mesh() (compas_fab.backends.interfaces.appendcollisionmesh method)": [[680, "compas_fab.backends.interfaces.AppendCollisionMesh.append_collision_mesh"]], "backendfeature (class in compas_fab.backends.interfaces)": [[681, "compas_fab.backends.interfaces.BackendFeature"]], "clientinterface (class in compas_fab.backends.interfaces)": [[682, "compas_fab.backends.interfaces.ClientInterface"]], "add_attached_collision_mesh() (compas_fab.backends.interfaces.clientinterface method)": [[683, "compas_fab.backends.interfaces.ClientInterface.add_attached_collision_mesh"]], "add_collision_mesh() (compas_fab.backends.interfaces.clientinterface method)": [[684, "compas_fab.backends.interfaces.ClientInterface.add_collision_mesh"]], "append_collision_mesh() (compas_fab.backends.interfaces.clientinterface method)": [[685, "compas_fab.backends.interfaces.ClientInterface.append_collision_mesh"]], "forward_kinematics() (compas_fab.backends.interfaces.clientinterface method)": [[686, "compas_fab.backends.interfaces.ClientInterface.forward_kinematics"]], "get_planning_scene() (compas_fab.backends.interfaces.clientinterface method)": [[687, "compas_fab.backends.interfaces.ClientInterface.get_planning_scene"]], "inverse_kinematics() (compas_fab.backends.interfaces.clientinterface method)": [[688, "compas_fab.backends.interfaces.ClientInterface.inverse_kinematics"]], "plan_cartesian_motion() (compas_fab.backends.interfaces.clientinterface method)": [[689, "compas_fab.backends.interfaces.ClientInterface.plan_cartesian_motion"]], "plan_motion() (compas_fab.backends.interfaces.clientinterface method)": [[690, "compas_fab.backends.interfaces.ClientInterface.plan_motion"]], "remove_attached_collision_mesh() (compas_fab.backends.interfaces.clientinterface method)": [[691, "compas_fab.backends.interfaces.ClientInterface.remove_attached_collision_mesh"]], "remove_collision_mesh() (compas_fab.backends.interfaces.clientinterface method)": [[692, "compas_fab.backends.interfaces.ClientInterface.remove_collision_mesh"]], "reset_planning_scene() (compas_fab.backends.interfaces.clientinterface method)": [[693, "compas_fab.backends.interfaces.ClientInterface.reset_planning_scene"]], "forwardkinematics (class in compas_fab.backends.interfaces)": [[694, "compas_fab.backends.interfaces.ForwardKinematics"]], "forward_kinematics() (compas_fab.backends.interfaces.forwardkinematics method)": [[695, "compas_fab.backends.interfaces.ForwardKinematics.forward_kinematics"]], "getplanningscene (class in compas_fab.backends.interfaces)": [[696, "compas_fab.backends.interfaces.GetPlanningScene"]], "get_planning_scene() (compas_fab.backends.interfaces.getplanningscene method)": [[697, "compas_fab.backends.interfaces.GetPlanningScene.get_planning_scene"]], "inversekinematics (class in compas_fab.backends.interfaces)": [[698, "compas_fab.backends.interfaces.InverseKinematics"]], "inverse_kinematics() (compas_fab.backends.interfaces.inversekinematics method)": [[699, "compas_fab.backends.interfaces.InverseKinematics.inverse_kinematics"]], "plancartesianmotion (class in compas_fab.backends.interfaces)": [[700, "compas_fab.backends.interfaces.PlanCartesianMotion"]], "plan_cartesian_motion() (compas_fab.backends.interfaces.plancartesianmotion method)": [[701, "compas_fab.backends.interfaces.PlanCartesianMotion.plan_cartesian_motion"]], "planmotion (class in compas_fab.backends.interfaces)": [[702, "compas_fab.backends.interfaces.PlanMotion"]], "plan_motion() (compas_fab.backends.interfaces.planmotion method)": [[703, "compas_fab.backends.interfaces.PlanMotion.plan_motion"]], "plannerinterface (class in compas_fab.backends.interfaces)": [[704, "compas_fab.backends.interfaces.PlannerInterface"]], "add_attached_collision_mesh() (compas_fab.backends.interfaces.plannerinterface method)": [[705, "compas_fab.backends.interfaces.PlannerInterface.add_attached_collision_mesh"]], "add_collision_mesh() (compas_fab.backends.interfaces.plannerinterface method)": [[706, "compas_fab.backends.interfaces.PlannerInterface.add_collision_mesh"]], "append_collision_mesh() (compas_fab.backends.interfaces.plannerinterface method)": [[707, "compas_fab.backends.interfaces.PlannerInterface.append_collision_mesh"]], "forward_kinematics() (compas_fab.backends.interfaces.plannerinterface method)": [[708, "compas_fab.backends.interfaces.PlannerInterface.forward_kinematics"]], "get_planning_scene() (compas_fab.backends.interfaces.plannerinterface method)": [[709, "compas_fab.backends.interfaces.PlannerInterface.get_planning_scene"]], "inverse_kinematics() (compas_fab.backends.interfaces.plannerinterface method)": [[710, "compas_fab.backends.interfaces.PlannerInterface.inverse_kinematics"]], "plan_cartesian_motion() (compas_fab.backends.interfaces.plannerinterface method)": [[711, "compas_fab.backends.interfaces.PlannerInterface.plan_cartesian_motion"]], "plan_motion() (compas_fab.backends.interfaces.plannerinterface method)": [[712, "compas_fab.backends.interfaces.PlannerInterface.plan_motion"]], "remove_attached_collision_mesh() (compas_fab.backends.interfaces.plannerinterface method)": [[713, "compas_fab.backends.interfaces.PlannerInterface.remove_attached_collision_mesh"]], "remove_collision_mesh() (compas_fab.backends.interfaces.plannerinterface method)": [[714, "compas_fab.backends.interfaces.PlannerInterface.remove_collision_mesh"]], "reset_planning_scene() (compas_fab.backends.interfaces.plannerinterface method)": [[715, "compas_fab.backends.interfaces.PlannerInterface.reset_planning_scene"]], "removeattachedcollisionmesh (class in compas_fab.backends.interfaces)": [[716, "compas_fab.backends.interfaces.RemoveAttachedCollisionMesh"]], "remove_attached_collision_mesh() (compas_fab.backends.interfaces.removeattachedcollisionmesh method)": [[717, "compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.remove_attached_collision_mesh"]], "removecollisionmesh (class in compas_fab.backends.interfaces)": [[718, "compas_fab.backends.interfaces.RemoveCollisionMesh"]], "remove_collision_mesh() (compas_fab.backends.interfaces.removecollisionmesh method)": [[719, "compas_fab.backends.interfaces.RemoveCollisionMesh.remove_collision_mesh"]], "resetplanningscene (class in compas_fab.backends.interfaces)": [[720, "compas_fab.backends.interfaces.ResetPlanningScene"]], "reset_planning_scene() (compas_fab.backends.interfaces.resetplanningscene method)": [[721, "compas_fab.backends.interfaces.ResetPlanningScene.reset_planning_scene"]], "pybulletaddattachedcollisionmesh (class in compas_fab.backends.pybullet.backend_features)": [[722, "compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh"]], "add_attached_collision_mesh() (compas_fab.backends.pybullet.backend_features.pybulletaddattachedcollisionmesh method)": [[723, "compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh"]], "pybulletaddcollisionmesh (class in compas_fab.backends.pybullet.backend_features)": [[724, "compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh"]], "add_collision_mesh() (compas_fab.backends.pybullet.backend_features.pybulletaddcollisionmesh method)": [[725, "compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.add_collision_mesh"]], "pybulletappendcollisionmesh (class in compas_fab.backends.pybullet.backend_features)": [[726, "compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh"]], "append_collision_mesh() (compas_fab.backends.pybullet.backend_features.pybulletappendcollisionmesh method)": [[727, "compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.append_collision_mesh"]], "pybulletforwardkinematics (class in compas_fab.backends.pybullet.backend_features)": [[728, "compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics"]], "forward_kinematics() (compas_fab.backends.pybullet.backend_features.pybulletforwardkinematics method)": [[729, "compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.forward_kinematics"]], "pybulletinversekinematics (class in compas_fab.backends.pybullet.backend_features)": [[730, "compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics"]], "inverse_kinematics() (compas_fab.backends.pybullet.backend_features.pybulletinversekinematics method)": [[731, "compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.inverse_kinematics"]], "pybulletremoveattachedcollisionmesh (class in compas_fab.backends.pybullet.backend_features)": [[732, "compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh"]], "remove_attached_collision_mesh() (compas_fab.backends.pybullet.backend_features.pybulletremoveattachedcollisionmesh method)": [[733, "compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh"]], "pybulletremovecollisionmesh (class in compas_fab.backends.pybullet.backend_features)": [[734, "compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh"]], "remove_collision_mesh() (compas_fab.backends.pybullet.backend_features.pybulletremovecollisionmesh method)": [[735, "compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.remove_collision_mesh"]], "moveitaddattachedcollisionmesh (class in compas_fab.backends.ros.backend_features)": [[736, "compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh"]], "add_attached_collision_mesh() (compas_fab.backends.ros.backend_features.moveitaddattachedcollisionmesh method)": [[737, "compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh"]], "add_attached_collision_mesh_async() (compas_fab.backends.ros.backend_features.moveitaddattachedcollisionmesh method)": [[738, "compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async"]], "moveitaddcollisionmesh (class in compas_fab.backends.ros.backend_features)": [[739, "compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh"]], "add_collision_mesh() (compas_fab.backends.ros.backend_features.moveitaddcollisionmesh method)": [[740, "compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh"]], "add_collision_mesh_async() (compas_fab.backends.ros.backend_features.moveitaddcollisionmesh method)": [[741, "compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh_async"]], "moveitappendcollisionmesh (class in compas_fab.backends.ros.backend_features)": [[742, "compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh"]], "append_collision_mesh() (compas_fab.backends.ros.backend_features.moveitappendcollisionmesh method)": [[743, "compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh"]], "append_collision_mesh_async() (compas_fab.backends.ros.backend_features.moveitappendcollisionmesh method)": [[744, "compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh_async"]], "moveitforwardkinematics (class in compas_fab.backends.ros.backend_features)": [[745, "compas_fab.backends.ros.backend_features.MoveItForwardKinematics"]], "forward_kinematics() (compas_fab.backends.ros.backend_features.moveitforwardkinematics method)": [[746, "compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics"]], "forward_kinematics_async() (compas_fab.backends.ros.backend_features.moveitforwardkinematics method)": [[747, "compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics_async"]], "moveitinversekinematics (class in compas_fab.backends.ros.backend_features)": [[748, "compas_fab.backends.ros.backend_features.MoveItInverseKinematics"]], "inverse_kinematics() (compas_fab.backends.ros.backend_features.moveitinversekinematics method)": [[749, "compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics"]], "inverse_kinematics_async() (compas_fab.backends.ros.backend_features.moveitinversekinematics method)": [[750, "compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics_async"]], "moveitplancartesianmotion (class in compas_fab.backends.ros.backend_features)": [[751, "compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion"]], "plan_cartesian_motion() (compas_fab.backends.ros.backend_features.moveitplancartesianmotion method)": [[752, "compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion"]], "plan_cartesian_motion_with_frame_waypoints_async() (compas_fab.backends.ros.backend_features.moveitplancartesianmotion method)": [[753, "compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async"]], "plan_cartesian_motion_with_point_axis_waypoints_async() (compas_fab.backends.ros.backend_features.moveitplancartesianmotion method)": [[754, "compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async"]], "moveitplanmotion (class in compas_fab.backends.ros.backend_features)": [[755, "compas_fab.backends.ros.backend_features.MoveItPlanMotion"]], "plan_motion() (compas_fab.backends.ros.backend_features.moveitplanmotion method)": [[756, "compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion"]], "plan_motion_async() (compas_fab.backends.ros.backend_features.moveitplanmotion method)": [[757, "compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion_async"]], "moveitplanningscene (class in compas_fab.backends.ros.backend_features)": [[758, "compas_fab.backends.ros.backend_features.MoveItPlanningScene"]], "get_planning_scene() (compas_fab.backends.ros.backend_features.moveitplanningscene method)": [[759, "compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene"]], "get_planning_scene_async() (compas_fab.backends.ros.backend_features.moveitplanningscene method)": [[760, "compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene_async"]], "moveitremoveattachedcollisionmesh (class in compas_fab.backends.ros.backend_features)": [[761, "compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh"]], "remove_attached_collision_mesh() (compas_fab.backends.ros.backend_features.moveitremoveattachedcollisionmesh method)": [[762, "compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh"]], "remove_attached_collision_mesh_async() (compas_fab.backends.ros.backend_features.moveitremoveattachedcollisionmesh method)": [[763, "compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async"]], "moveitremovecollisionmesh (class in compas_fab.backends.ros.backend_features)": [[764, "compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh"]], "remove_collision_mesh() (compas_fab.backends.ros.backend_features.moveitremovecollisionmesh method)": [[765, "compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh"]], "remove_collision_mesh_async() (compas_fab.backends.ros.backend_features.moveitremovecollisionmesh method)": [[766, "compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh_async"]], "moveitresetplanningscene (class in compas_fab.backends.ros.backend_features)": [[767, "compas_fab.backends.ros.backend_features.MoveItResetPlanningScene"]], "reset_planning_scene() (compas_fab.backends.ros.backend_features.moveitresetplanningscene method)": [[768, "compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene"]], "reset_planning_scene_async() (compas_fab.backends.ros.backend_features.moveitresetplanningscene method)": [[769, "compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene_async"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api", "api/compas_fab", "api/compas_fab.backends", "api/compas_fab.blender", "api/compas_fab.ghpython", "api/compas_fab.rhino", "api/compas_fab.robots", "api/compas_fab.sensors", "api/compas_fab.utilities", "api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics", "api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.forward", "api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.inverse", "api/generated/compas_fab.backends.AnalyticalInverseKinematics", "api/generated/compas_fab.backends.AnalyticalInverseKinematics.inverse_kinematics", "api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion", "api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.plan_cartesian_motion", "api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.smooth_configurations", "api/generated/compas_fab.backends.AnalyticalPyBulletClient", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_attached_collision_mesh", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_collision_mesh", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.append_collision_mesh", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.body_from_obj", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.cache_robot_model", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_objects_for_collision", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_with_objects", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collisions", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_robot_self_collision", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.connect", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.convert_mesh_to_body", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.disconnect", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model_geometry", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.filter_configurations_in_collision", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.forward_kinematics", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_filepath", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_model", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_planning_scene", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_robot_configuration", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_uid", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.inverse_kinematics", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_robot", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_semantics", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_ur5", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_cartesian_motion", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_motion", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.reload_from_cache", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_attached_collision_mesh", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_collision_mesh", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.reset_planning_scene", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.set_robot_configuration", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.step_simulation", "api/generated/compas_fab.backends.BackendError", "api/generated/compas_fab.backends.BackendFeatureNotSupportedError", "api/generated/compas_fab.backends.CancellableFutureResult", "api/generated/compas_fab.backends.CancellableFutureResult.cancel", "api/generated/compas_fab.backends.CancellableFutureResult.result", "api/generated/compas_fab.backends.CartesianMotionError", "api/generated/compas_fab.backends.CollisionError", "api/generated/compas_fab.backends.FutureResult", "api/generated/compas_fab.backends.FutureResult.result", "api/generated/compas_fab.backends.InverseKinematicsError", "api/generated/compas_fab.backends.KinematicsError", "api/generated/compas_fab.backends.MoveItPlanner", "api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh", "api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh_async", "api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh", "api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh_async", "api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh", "api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh_async", "api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics", "api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics_async", "api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene", "api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene_async", "api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics", "api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics_async", "api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion", "api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async", "api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async", "api/generated/compas_fab.backends.MoveItPlanner.plan_motion", "api/generated/compas_fab.backends.MoveItPlanner.plan_motion_async", "api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh", "api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh_async", "api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh", "api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh_async", "api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene", "api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene_async", "api/generated/compas_fab.backends.OffsetWristKinematics", "api/generated/compas_fab.backends.OffsetWristKinematics.forward", "api/generated/compas_fab.backends.OffsetWristKinematics.inverse", "api/generated/compas_fab.backends.PyBulletClient", "api/generated/compas_fab.backends.PyBulletClient.add_attached_collision_mesh", "api/generated/compas_fab.backends.PyBulletClient.add_collision_mesh", "api/generated/compas_fab.backends.PyBulletClient.append_collision_mesh", "api/generated/compas_fab.backends.PyBulletClient.body_from_obj", "api/generated/compas_fab.backends.PyBulletClient.cache_robot_model", "api/generated/compas_fab.backends.PyBulletClient.check_collision_objects_for_collision", "api/generated/compas_fab.backends.PyBulletClient.check_collision_with_objects", "api/generated/compas_fab.backends.PyBulletClient.check_collisions", "api/generated/compas_fab.backends.PyBulletClient.check_robot_self_collision", "api/generated/compas_fab.backends.PyBulletClient.connect", "api/generated/compas_fab.backends.PyBulletClient.convert_mesh_to_body", "api/generated/compas_fab.backends.PyBulletClient.disconnect", "api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model", "api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model_geometry", "api/generated/compas_fab.backends.PyBulletClient.filter_configurations_in_collision", "api/generated/compas_fab.backends.PyBulletClient.forward_kinematics", "api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_filepath", "api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_model", "api/generated/compas_fab.backends.PyBulletClient.get_planning_scene", "api/generated/compas_fab.backends.PyBulletClient.get_robot_configuration", "api/generated/compas_fab.backends.PyBulletClient.get_uid", "api/generated/compas_fab.backends.PyBulletClient.inverse_kinematics", "api/generated/compas_fab.backends.PyBulletClient.load_robot", "api/generated/compas_fab.backends.PyBulletClient.load_semantics", "api/generated/compas_fab.backends.PyBulletClient.load_ur5", "api/generated/compas_fab.backends.PyBulletClient.plan_cartesian_motion", "api/generated/compas_fab.backends.PyBulletClient.plan_motion", "api/generated/compas_fab.backends.PyBulletClient.reload_from_cache", "api/generated/compas_fab.backends.PyBulletClient.remove_attached_collision_mesh", "api/generated/compas_fab.backends.PyBulletClient.remove_collision_mesh", "api/generated/compas_fab.backends.PyBulletClient.reset_planning_scene", "api/generated/compas_fab.backends.PyBulletClient.set_robot_configuration", "api/generated/compas_fab.backends.PyBulletClient.step_simulation", "api/generated/compas_fab.backends.PyBulletError", "api/generated/compas_fab.backends.PyBulletPlanner", "api/generated/compas_fab.backends.PyBulletPlanner.add_attached_collision_mesh", "api/generated/compas_fab.backends.PyBulletPlanner.add_collision_mesh", "api/generated/compas_fab.backends.PyBulletPlanner.append_collision_mesh", "api/generated/compas_fab.backends.PyBulletPlanner.forward_kinematics", "api/generated/compas_fab.backends.PyBulletPlanner.get_planning_scene", "api/generated/compas_fab.backends.PyBulletPlanner.inverse_kinematics", "api/generated/compas_fab.backends.PyBulletPlanner.plan_cartesian_motion", "api/generated/compas_fab.backends.PyBulletPlanner.plan_motion", "api/generated/compas_fab.backends.PyBulletPlanner.remove_attached_collision_mesh", "api/generated/compas_fab.backends.PyBulletPlanner.remove_collision_mesh", "api/generated/compas_fab.backends.PyBulletPlanner.reset_planning_scene", "api/generated/compas_fab.backends.RosClient", "api/generated/compas_fab.backends.RosClient.add_attached_collision_mesh", "api/generated/compas_fab.backends.RosClient.add_collision_mesh", "api/generated/compas_fab.backends.RosClient.append_collision_mesh", "api/generated/compas_fab.backends.RosClient.authenticate", "api/generated/compas_fab.backends.RosClient.blocking_call_from_thread", "api/generated/compas_fab.backends.RosClient.call_async_service", "api/generated/compas_fab.backends.RosClient.call_in_thread", "api/generated/compas_fab.backends.RosClient.call_later", "api/generated/compas_fab.backends.RosClient.call_sync_service", "api/generated/compas_fab.backends.RosClient.close", "api/generated/compas_fab.backends.RosClient.connect", "api/generated/compas_fab.backends.RosClient.delete_param", "api/generated/compas_fab.backends.RosClient.emit", "api/generated/compas_fab.backends.RosClient.execute_joint_trajectory", "api/generated/compas_fab.backends.RosClient.follow_configurations", "api/generated/compas_fab.backends.RosClient.follow_joint_trajectory", "api/generated/compas_fab.backends.RosClient.forward_kinematics", "api/generated/compas_fab.backends.RosClient.get_action_servers", "api/generated/compas_fab.backends.RosClient.get_configuration", "api/generated/compas_fab.backends.RosClient.get_message_details", "api/generated/compas_fab.backends.RosClient.get_node_details", "api/generated/compas_fab.backends.RosClient.get_nodes", "api/generated/compas_fab.backends.RosClient.get_param", "api/generated/compas_fab.backends.RosClient.get_params", "api/generated/compas_fab.backends.RosClient.get_planning_scene", "api/generated/compas_fab.backends.RosClient.get_service_request_callback", "api/generated/compas_fab.backends.RosClient.get_service_request_details", "api/generated/compas_fab.backends.RosClient.get_service_response_details", "api/generated/compas_fab.backends.RosClient.get_service_type", "api/generated/compas_fab.backends.RosClient.get_services", "api/generated/compas_fab.backends.RosClient.get_services_for_type", "api/generated/compas_fab.backends.RosClient.get_time", "api/generated/compas_fab.backends.RosClient.get_topic_type", "api/generated/compas_fab.backends.RosClient.get_topics", "api/generated/compas_fab.backends.RosClient.get_topics_for_type", "api/generated/compas_fab.backends.RosClient.inverse_kinematics", "api/generated/compas_fab.backends.RosClient.load_robot", "api/generated/compas_fab.backends.RosClient.off", "api/generated/compas_fab.backends.RosClient.on", "api/generated/compas_fab.backends.RosClient.on_ready", "api/generated/compas_fab.backends.RosClient.plan_cartesian_motion", "api/generated/compas_fab.backends.RosClient.plan_motion", "api/generated/compas_fab.backends.RosClient.remove_attached_collision_mesh", "api/generated/compas_fab.backends.RosClient.remove_collision_mesh", "api/generated/compas_fab.backends.RosClient.reset_planning_scene", "api/generated/compas_fab.backends.RosClient.run", "api/generated/compas_fab.backends.RosClient.run_event_loop", "api/generated/compas_fab.backends.RosClient.run_forever", "api/generated/compas_fab.backends.RosClient.send_on_ready", "api/generated/compas_fab.backends.RosClient.set_param", "api/generated/compas_fab.backends.RosClient.set_status_level", "api/generated/compas_fab.backends.RosClient.terminate", "api/generated/compas_fab.backends.RosError", "api/generated/compas_fab.backends.RosFileServerLoader", "api/generated/compas_fab.backends.RosFileServerLoader.can_load_mesh", "api/generated/compas_fab.backends.RosFileServerLoader.load_mesh", "api/generated/compas_fab.backends.RosFileServerLoader.load_meshes", "api/generated/compas_fab.backends.RosFileServerLoader.load_srdf", "api/generated/compas_fab.backends.RosFileServerLoader.load_urdf", "api/generated/compas_fab.backends.RosValidationError", "api/generated/compas_fab.backends.SphericalWristKinematics", "api/generated/compas_fab.backends.SphericalWristKinematics.forward", "api/generated/compas_fab.backends.SphericalWristKinematics.inverse", "api/generated/compas_fab.backends.Staubli_TX260LKinematics", "api/generated/compas_fab.backends.Staubli_TX260LKinematics.forward", "api/generated/compas_fab.backends.Staubli_TX260LKinematics.inverse", "api/generated/compas_fab.backends.UR10Kinematics", "api/generated/compas_fab.backends.UR10Kinematics.forward", "api/generated/compas_fab.backends.UR10Kinematics.inverse", "api/generated/compas_fab.backends.UR10eKinematics", "api/generated/compas_fab.backends.UR10eKinematics.forward", "api/generated/compas_fab.backends.UR10eKinematics.inverse", "api/generated/compas_fab.backends.UR3Kinematics", "api/generated/compas_fab.backends.UR3Kinematics.forward", "api/generated/compas_fab.backends.UR3Kinematics.inverse", "api/generated/compas_fab.backends.UR3eKinematics", "api/generated/compas_fab.backends.UR3eKinematics.forward", "api/generated/compas_fab.backends.UR3eKinematics.inverse", "api/generated/compas_fab.backends.UR5Kinematics", "api/generated/compas_fab.backends.UR5Kinematics.forward", "api/generated/compas_fab.backends.UR5Kinematics.inverse", "api/generated/compas_fab.backends.UR5eKinematics", "api/generated/compas_fab.backends.UR5eKinematics.forward", "api/generated/compas_fab.backends.UR5eKinematics.inverse", "api/generated/compas_fab.ghpython.ReachabilityMapObject", "api/generated/compas_fab.ghpython.ReachabilityMapObject.ToString", "api/generated/compas_fab.ghpython.ReachabilityMapObject.add", "api/generated/compas_fab.ghpython.ReachabilityMapObject.clear", "api/generated/compas_fab.ghpython.ReachabilityMapObject.copy", "api/generated/compas_fab.ghpython.ReachabilityMapObject.draw", "api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_cloud", "api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_frames", "api/generated/compas_fab.ghpython.ReachabilityMapObject.from_json", "api/generated/compas_fab.ghpython.ReachabilityMapObject.from_jsonstring", "api/generated/compas_fab.ghpython.ReachabilityMapObject.remove", "api/generated/compas_fab.ghpython.ReachabilityMapObject.sha256", "api/generated/compas_fab.ghpython.ReachabilityMapObject.to_json", "api/generated/compas_fab.ghpython.ReachabilityMapObject.to_jsonstring", "api/generated/compas_fab.ghpython.ReachabilityMapObject.traverse", "api/generated/compas_fab.ghpython.ReachabilityMapObject.validate_data", "api/generated/compas_fab.rhino.ReachabilityMapObject", "api/generated/compas_fab.rhino.ReachabilityMapObject.ToString", "api/generated/compas_fab.rhino.ReachabilityMapObject.add", "api/generated/compas_fab.rhino.ReachabilityMapObject.add_to_group", "api/generated/compas_fab.rhino.ReachabilityMapObject.clear", "api/generated/compas_fab.rhino.ReachabilityMapObject.clear_layer", "api/generated/compas_fab.rhino.ReachabilityMapObject.compile_attributes", "api/generated/compas_fab.rhino.ReachabilityMapObject.copy", "api/generated/compas_fab.rhino.ReachabilityMapObject.draw", "api/generated/compas_fab.rhino.ReachabilityMapObject.draw_cloud", "api/generated/compas_fab.rhino.ReachabilityMapObject.draw_frames", "api/generated/compas_fab.rhino.ReachabilityMapObject.from_json", "api/generated/compas_fab.rhino.ReachabilityMapObject.from_jsonstring", "api/generated/compas_fab.rhino.ReachabilityMapObject.get_group", "api/generated/compas_fab.rhino.ReachabilityMapObject.remove", "api/generated/compas_fab.rhino.ReachabilityMapObject.sha256", "api/generated/compas_fab.rhino.ReachabilityMapObject.to_json", "api/generated/compas_fab.rhino.ReachabilityMapObject.to_jsonstring", "api/generated/compas_fab.rhino.ReachabilityMapObject.traverse", "api/generated/compas_fab.rhino.ReachabilityMapObject.validate_data", "api/generated/compas_fab.robots.AttachedCollisionMesh", "api/generated/compas_fab.robots.AttachedCollisionMesh.ToString", "api/generated/compas_fab.robots.AttachedCollisionMesh.copy", "api/generated/compas_fab.robots.AttachedCollisionMesh.from_json", "api/generated/compas_fab.robots.AttachedCollisionMesh.from_jsonstring", "api/generated/compas_fab.robots.AttachedCollisionMesh.sha256", "api/generated/compas_fab.robots.AttachedCollisionMesh.to_json", "api/generated/compas_fab.robots.AttachedCollisionMesh.to_jsonstring", "api/generated/compas_fab.robots.AttachedCollisionMesh.validate_data", "api/generated/compas_fab.robots.BoundingVolume", "api/generated/compas_fab.robots.BoundingVolume.ToString", "api/generated/compas_fab.robots.BoundingVolume.copy", "api/generated/compas_fab.robots.BoundingVolume.from_box", "api/generated/compas_fab.robots.BoundingVolume.from_json", "api/generated/compas_fab.robots.BoundingVolume.from_jsonstring", "api/generated/compas_fab.robots.BoundingVolume.from_mesh", "api/generated/compas_fab.robots.BoundingVolume.from_sphere", "api/generated/compas_fab.robots.BoundingVolume.scale", "api/generated/compas_fab.robots.BoundingVolume.sha256", "api/generated/compas_fab.robots.BoundingVolume.to_json", "api/generated/compas_fab.robots.BoundingVolume.to_jsonstring", "api/generated/compas_fab.robots.BoundingVolume.transform", "api/generated/compas_fab.robots.BoundingVolume.validate_data", "api/generated/compas_fab.robots.CollisionMesh", "api/generated/compas_fab.robots.CollisionMesh.ToString", "api/generated/compas_fab.robots.CollisionMesh.copy", "api/generated/compas_fab.robots.CollisionMesh.from_json", "api/generated/compas_fab.robots.CollisionMesh.from_jsonstring", "api/generated/compas_fab.robots.CollisionMesh.scale", "api/generated/compas_fab.robots.CollisionMesh.scaled", "api/generated/compas_fab.robots.CollisionMesh.sha256", "api/generated/compas_fab.robots.CollisionMesh.to_json", "api/generated/compas_fab.robots.CollisionMesh.to_jsonstring", "api/generated/compas_fab.robots.CollisionMesh.validate_data", "api/generated/compas_fab.robots.ConfigurationTarget", "api/generated/compas_fab.robots.ConfigurationTarget.ToString", "api/generated/compas_fab.robots.ConfigurationTarget.copy", "api/generated/compas_fab.robots.ConfigurationTarget.from_json", "api/generated/compas_fab.robots.ConfigurationTarget.from_jsonstring", "api/generated/compas_fab.robots.ConfigurationTarget.generate_default_tolerances", "api/generated/compas_fab.robots.ConfigurationTarget.scaled", "api/generated/compas_fab.robots.ConfigurationTarget.sha256", "api/generated/compas_fab.robots.ConfigurationTarget.to_json", "api/generated/compas_fab.robots.ConfigurationTarget.to_jsonstring", "api/generated/compas_fab.robots.ConfigurationTarget.validate_data", "api/generated/compas_fab.robots.Constraint", "api/generated/compas_fab.robots.Constraint.ToString", "api/generated/compas_fab.robots.Constraint.copy", "api/generated/compas_fab.robots.Constraint.from_json", "api/generated/compas_fab.robots.Constraint.from_jsonstring", "api/generated/compas_fab.robots.Constraint.scale", "api/generated/compas_fab.robots.Constraint.scaled", "api/generated/compas_fab.robots.Constraint.sha256", "api/generated/compas_fab.robots.Constraint.to_json", "api/generated/compas_fab.robots.Constraint.to_jsonstring", "api/generated/compas_fab.robots.Constraint.transform", "api/generated/compas_fab.robots.Constraint.validate_data", "api/generated/compas_fab.robots.ConstraintSetTarget", "api/generated/compas_fab.robots.ConstraintSetTarget.ToString", "api/generated/compas_fab.robots.ConstraintSetTarget.copy", "api/generated/compas_fab.robots.ConstraintSetTarget.from_json", "api/generated/compas_fab.robots.ConstraintSetTarget.from_jsonstring", "api/generated/compas_fab.robots.ConstraintSetTarget.scaled", "api/generated/compas_fab.robots.ConstraintSetTarget.sha256", "api/generated/compas_fab.robots.ConstraintSetTarget.to_json", "api/generated/compas_fab.robots.ConstraintSetTarget.to_jsonstring", "api/generated/compas_fab.robots.ConstraintSetTarget.validate_data", "api/generated/compas_fab.robots.DeviationVectorsGenerator", "api/generated/compas_fab.robots.Duration", "api/generated/compas_fab.robots.Duration.ToString", "api/generated/compas_fab.robots.Duration.copy", "api/generated/compas_fab.robots.Duration.from_json", "api/generated/compas_fab.robots.Duration.from_jsonstring", "api/generated/compas_fab.robots.Duration.sha256", "api/generated/compas_fab.robots.Duration.to_json", "api/generated/compas_fab.robots.Duration.to_jsonstring", "api/generated/compas_fab.robots.Duration.validate_data", "api/generated/compas_fab.robots.FrameTarget", "api/generated/compas_fab.robots.FrameTarget.ToString", "api/generated/compas_fab.robots.FrameTarget.copy", "api/generated/compas_fab.robots.FrameTarget.from_json", "api/generated/compas_fab.robots.FrameTarget.from_jsonstring", "api/generated/compas_fab.robots.FrameTarget.from_transformation", "api/generated/compas_fab.robots.FrameTarget.scaled", "api/generated/compas_fab.robots.FrameTarget.sha256", "api/generated/compas_fab.robots.FrameTarget.to_json", "api/generated/compas_fab.robots.FrameTarget.to_jsonstring", "api/generated/compas_fab.robots.FrameTarget.validate_data", "api/generated/compas_fab.robots.FrameWaypoints", "api/generated/compas_fab.robots.FrameWaypoints.ToString", "api/generated/compas_fab.robots.FrameWaypoints.copy", "api/generated/compas_fab.robots.FrameWaypoints.from_json", "api/generated/compas_fab.robots.FrameWaypoints.from_jsonstring", "api/generated/compas_fab.robots.FrameWaypoints.from_transformations", "api/generated/compas_fab.robots.FrameWaypoints.scaled", "api/generated/compas_fab.robots.FrameWaypoints.sha256", "api/generated/compas_fab.robots.FrameWaypoints.to_json", "api/generated/compas_fab.robots.FrameWaypoints.to_jsonstring", "api/generated/compas_fab.robots.FrameWaypoints.validate_data", "api/generated/compas_fab.robots.Inertia", "api/generated/compas_fab.robots.Inertia.calculate_inertia_tensor", "api/generated/compas_fab.robots.JointConstraint", "api/generated/compas_fab.robots.JointConstraint.ToString", "api/generated/compas_fab.robots.JointConstraint.copy", "api/generated/compas_fab.robots.JointConstraint.from_json", "api/generated/compas_fab.robots.JointConstraint.from_jsonstring", "api/generated/compas_fab.robots.JointConstraint.joint_constraints_from_configuration", "api/generated/compas_fab.robots.JointConstraint.scale", "api/generated/compas_fab.robots.JointConstraint.scaled", "api/generated/compas_fab.robots.JointConstraint.sha256", "api/generated/compas_fab.robots.JointConstraint.to_json", "api/generated/compas_fab.robots.JointConstraint.to_jsonstring", "api/generated/compas_fab.robots.JointConstraint.transform", "api/generated/compas_fab.robots.JointConstraint.validate_data", "api/generated/compas_fab.robots.JointTrajectory", "api/generated/compas_fab.robots.JointTrajectory.ToString", "api/generated/compas_fab.robots.JointTrajectory.copy", "api/generated/compas_fab.robots.JointTrajectory.from_json", "api/generated/compas_fab.robots.JointTrajectory.from_jsonstring", "api/generated/compas_fab.robots.JointTrajectory.sha256", "api/generated/compas_fab.robots.JointTrajectory.to_json", "api/generated/compas_fab.robots.JointTrajectory.to_jsonstring", "api/generated/compas_fab.robots.JointTrajectory.validate_data", "api/generated/compas_fab.robots.JointTrajectoryPoint", "api/generated/compas_fab.robots.JointTrajectoryPoint.ToString", "api/generated/compas_fab.robots.JointTrajectoryPoint.check_joint_names", "api/generated/compas_fab.robots.JointTrajectoryPoint.close_to", "api/generated/compas_fab.robots.JointTrajectoryPoint.copy", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_json", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_jsonstring", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_prismatic_and_revolute_values", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_revolute_values", "api/generated/compas_fab.robots.JointTrajectoryPoint.get", "api/generated/compas_fab.robots.JointTrajectoryPoint.items", "api/generated/compas_fab.robots.JointTrajectoryPoint.iter_differences", "api/generated/compas_fab.robots.JointTrajectoryPoint.keys", "api/generated/compas_fab.robots.JointTrajectoryPoint.max_difference", "api/generated/compas_fab.robots.JointTrajectoryPoint.merge", "api/generated/compas_fab.robots.JointTrajectoryPoint.merged", "api/generated/compas_fab.robots.JointTrajectoryPoint.scale", "api/generated/compas_fab.robots.JointTrajectoryPoint.scaled", "api/generated/compas_fab.robots.JointTrajectoryPoint.sha256", "api/generated/compas_fab.robots.JointTrajectoryPoint.to_json", "api/generated/compas_fab.robots.JointTrajectoryPoint.to_jsonstring", "api/generated/compas_fab.robots.JointTrajectoryPoint.validate_data", "api/generated/compas_fab.robots.JointTrajectoryPoint.values", "api/generated/compas_fab.robots.OrientationConstraint", "api/generated/compas_fab.robots.OrientationConstraint.ToString", "api/generated/compas_fab.robots.OrientationConstraint.copy", "api/generated/compas_fab.robots.OrientationConstraint.from_frame", "api/generated/compas_fab.robots.OrientationConstraint.from_json", "api/generated/compas_fab.robots.OrientationConstraint.from_jsonstring", "api/generated/compas_fab.robots.OrientationConstraint.scale", "api/generated/compas_fab.robots.OrientationConstraint.scaled", "api/generated/compas_fab.robots.OrientationConstraint.sha256", "api/generated/compas_fab.robots.OrientationConstraint.to_json", "api/generated/compas_fab.robots.OrientationConstraint.to_jsonstring", "api/generated/compas_fab.robots.OrientationConstraint.transform", "api/generated/compas_fab.robots.OrientationConstraint.validate_data", "api/generated/compas_fab.robots.OrthonormalVectorsFromAxisGenerator", "api/generated/compas_fab.robots.PlanningScene", "api/generated/compas_fab.robots.PlanningScene.add_attached_collision_mesh", "api/generated/compas_fab.robots.PlanningScene.add_attached_tool", "api/generated/compas_fab.robots.PlanningScene.add_collision_mesh", "api/generated/compas_fab.robots.PlanningScene.append_collision_mesh", "api/generated/compas_fab.robots.PlanningScene.attach_collision_mesh_to_robot_end_effector", "api/generated/compas_fab.robots.PlanningScene.ensure_client", "api/generated/compas_fab.robots.PlanningScene.remove_attached_collision_mesh", "api/generated/compas_fab.robots.PlanningScene.remove_attached_tool", "api/generated/compas_fab.robots.PlanningScene.remove_collision_mesh", "api/generated/compas_fab.robots.PlanningScene.reset", "api/generated/compas_fab.robots.PointAxisTarget", "api/generated/compas_fab.robots.PointAxisTarget.ToString", "api/generated/compas_fab.robots.PointAxisTarget.copy", "api/generated/compas_fab.robots.PointAxisTarget.from_json", "api/generated/compas_fab.robots.PointAxisTarget.from_jsonstring", "api/generated/compas_fab.robots.PointAxisTarget.scaled", "api/generated/compas_fab.robots.PointAxisTarget.sha256", "api/generated/compas_fab.robots.PointAxisTarget.to_json", "api/generated/compas_fab.robots.PointAxisTarget.to_jsonstring", "api/generated/compas_fab.robots.PointAxisTarget.validate_data", "api/generated/compas_fab.robots.PointAxisWaypoints", "api/generated/compas_fab.robots.PointAxisWaypoints.ToString", "api/generated/compas_fab.robots.PointAxisWaypoints.copy", "api/generated/compas_fab.robots.PointAxisWaypoints.from_json", "api/generated/compas_fab.robots.PointAxisWaypoints.from_jsonstring", "api/generated/compas_fab.robots.PointAxisWaypoints.scaled", "api/generated/compas_fab.robots.PointAxisWaypoints.sha256", "api/generated/compas_fab.robots.PointAxisWaypoints.to_json", "api/generated/compas_fab.robots.PointAxisWaypoints.to_jsonstring", "api/generated/compas_fab.robots.PointAxisWaypoints.validate_data", "api/generated/compas_fab.robots.PositionConstraint", "api/generated/compas_fab.robots.PositionConstraint.ToString", "api/generated/compas_fab.robots.PositionConstraint.copy", "api/generated/compas_fab.robots.PositionConstraint.from_box", "api/generated/compas_fab.robots.PositionConstraint.from_frame", "api/generated/compas_fab.robots.PositionConstraint.from_json", "api/generated/compas_fab.robots.PositionConstraint.from_jsonstring", "api/generated/compas_fab.robots.PositionConstraint.from_mesh", "api/generated/compas_fab.robots.PositionConstraint.from_point", "api/generated/compas_fab.robots.PositionConstraint.from_sphere", "api/generated/compas_fab.robots.PositionConstraint.scale", "api/generated/compas_fab.robots.PositionConstraint.scaled", "api/generated/compas_fab.robots.PositionConstraint.sha256", "api/generated/compas_fab.robots.PositionConstraint.to_json", "api/generated/compas_fab.robots.PositionConstraint.to_jsonstring", "api/generated/compas_fab.robots.PositionConstraint.transform", "api/generated/compas_fab.robots.PositionConstraint.validate_data", "api/generated/compas_fab.robots.ReachabilityMap", "api/generated/compas_fab.robots.ReachabilityMap.ToString", "api/generated/compas_fab.robots.ReachabilityMap.calculate", "api/generated/compas_fab.robots.ReachabilityMap.copy", "api/generated/compas_fab.robots.ReachabilityMap.from_json", "api/generated/compas_fab.robots.ReachabilityMap.from_jsonstring", "api/generated/compas_fab.robots.ReachabilityMap.reachable_frames_and_configurations_at_ik_index", "api/generated/compas_fab.robots.ReachabilityMap.sha256", "api/generated/compas_fab.robots.ReachabilityMap.to_json", "api/generated/compas_fab.robots.ReachabilityMap.to_jsonstring", "api/generated/compas_fab.robots.ReachabilityMap.validate_data", "api/generated/compas_fab.robots.Robot", "api/generated/compas_fab.robots.Robot.ToString", "api/generated/compas_fab.robots.Robot.attach_tool", "api/generated/compas_fab.robots.Robot.basic", "api/generated/compas_fab.robots.Robot.copy", "api/generated/compas_fab.robots.Robot.detach_tool", "api/generated/compas_fab.robots.Robot.draw", "api/generated/compas_fab.robots.Robot.draw_collision", "api/generated/compas_fab.robots.Robot.draw_visual", "api/generated/compas_fab.robots.Robot.ensure_client", "api/generated/compas_fab.robots.Robot.ensure_geometry", "api/generated/compas_fab.robots.Robot.ensure_semantics", "api/generated/compas_fab.robots.Robot.forward_kinematics", "api/generated/compas_fab.robots.Robot.from_json", "api/generated/compas_fab.robots.Robot.from_jsonstring", "api/generated/compas_fab.robots.Robot.from_t0cf_to_tcf", "api/generated/compas_fab.robots.Robot.from_tcf_to_t0cf", "api/generated/compas_fab.robots.Robot.get_RCF", "api/generated/compas_fab.robots.Robot.get_attached_tool_collision_meshes", "api/generated/compas_fab.robots.Robot.get_base_frame", "api/generated/compas_fab.robots.Robot.get_base_link", "api/generated/compas_fab.robots.Robot.get_base_link_name", "api/generated/compas_fab.robots.Robot.get_configurable_joint_names", "api/generated/compas_fab.robots.Robot.get_configurable_joint_types", "api/generated/compas_fab.robots.Robot.get_configurable_joints", "api/generated/compas_fab.robots.Robot.get_configuration_from_group_state", "api/generated/compas_fab.robots.Robot.get_end_effector_frame", "api/generated/compas_fab.robots.Robot.get_end_effector_link", "api/generated/compas_fab.robots.Robot.get_end_effector_link_name", "api/generated/compas_fab.robots.Robot.get_group_configuration", "api/generated/compas_fab.robots.Robot.get_group_names_from_link_name", "api/generated/compas_fab.robots.Robot.get_joint_by_name", "api/generated/compas_fab.robots.Robot.get_joint_types_by_names", "api/generated/compas_fab.robots.Robot.get_link_names", "api/generated/compas_fab.robots.Robot.get_link_names_with_collision_geometry", "api/generated/compas_fab.robots.Robot.get_position_by_joint_name", "api/generated/compas_fab.robots.Robot.info", "api/generated/compas_fab.robots.Robot.inverse_kinematics", "api/generated/compas_fab.robots.Robot.iter_inverse_kinematics", "api/generated/compas_fab.robots.Robot.merge_group_with_full_configuration", "api/generated/compas_fab.robots.Robot.plan_cartesian_motion", "api/generated/compas_fab.robots.Robot.plan_motion", "api/generated/compas_fab.robots.Robot.random_configuration", "api/generated/compas_fab.robots.Robot.scale", "api/generated/compas_fab.robots.Robot.set_RCF", "api/generated/compas_fab.robots.Robot.sha256", "api/generated/compas_fab.robots.Robot.to_json", "api/generated/compas_fab.robots.Robot.to_jsonstring", "api/generated/compas_fab.robots.Robot.to_local_coordinates", "api/generated/compas_fab.robots.Robot.to_world_coordinates", "api/generated/compas_fab.robots.Robot.transformation_RCF_WCF", "api/generated/compas_fab.robots.Robot.transformation_WCF_RCF", "api/generated/compas_fab.robots.Robot.transformed_axes", "api/generated/compas_fab.robots.Robot.transformed_frames", "api/generated/compas_fab.robots.Robot.update", "api/generated/compas_fab.robots.Robot.validate_data", "api/generated/compas_fab.robots.Robot.zero_configuration", "api/generated/compas_fab.robots.RobotLibrary", "api/generated/compas_fab.robots.RobotLibrary.abb_irb4600_40_255", "api/generated/compas_fab.robots.RobotLibrary.rfl", "api/generated/compas_fab.robots.RobotLibrary.ur10e", "api/generated/compas_fab.robots.RobotLibrary.ur5", "api/generated/compas_fab.robots.RobotSemantics", "api/generated/compas_fab.robots.RobotSemantics.ToString", "api/generated/compas_fab.robots.RobotSemantics.copy", "api/generated/compas_fab.robots.RobotSemantics.from_json", "api/generated/compas_fab.robots.RobotSemantics.from_jsonstring", "api/generated/compas_fab.robots.RobotSemantics.from_srdf_file", "api/generated/compas_fab.robots.RobotSemantics.from_srdf_string", "api/generated/compas_fab.robots.RobotSemantics.from_xml", "api/generated/compas_fab.robots.RobotSemantics.get_all_configurable_joints", "api/generated/compas_fab.robots.RobotSemantics.get_base_link_name", "api/generated/compas_fab.robots.RobotSemantics.get_configurable_joint_names", "api/generated/compas_fab.robots.RobotSemantics.get_configurable_joints", "api/generated/compas_fab.robots.RobotSemantics.get_end_effector_link_name", "api/generated/compas_fab.robots.RobotSemantics.sha256", "api/generated/compas_fab.robots.RobotSemantics.to_json", "api/generated/compas_fab.robots.RobotSemantics.to_jsonstring", "api/generated/compas_fab.robots.RobotSemantics.validate_data", "api/generated/compas_fab.robots.Target", "api/generated/compas_fab.robots.Target.ToString", "api/generated/compas_fab.robots.Target.copy", "api/generated/compas_fab.robots.Target.from_json", "api/generated/compas_fab.robots.Target.from_jsonstring", "api/generated/compas_fab.robots.Target.scaled", "api/generated/compas_fab.robots.Target.sha256", "api/generated/compas_fab.robots.Target.to_json", "api/generated/compas_fab.robots.Target.to_jsonstring", "api/generated/compas_fab.robots.Target.validate_data", "api/generated/compas_fab.robots.Tool", "api/generated/compas_fab.robots.Tool.ToString", "api/generated/compas_fab.robots.Tool.copy", "api/generated/compas_fab.robots.Tool.from_json", "api/generated/compas_fab.robots.Tool.from_jsonstring", "api/generated/compas_fab.robots.Tool.from_t0cf_to_tcf", "api/generated/compas_fab.robots.Tool.from_tcf_to_t0cf", "api/generated/compas_fab.robots.Tool.from_tool_model", "api/generated/compas_fab.robots.Tool.sha256", "api/generated/compas_fab.robots.Tool.to_json", "api/generated/compas_fab.robots.Tool.to_jsonstring", "api/generated/compas_fab.robots.Tool.update_touch_links", "api/generated/compas_fab.robots.Tool.validate_data", "api/generated/compas_fab.robots.Trajectory", "api/generated/compas_fab.robots.Trajectory.ToString", "api/generated/compas_fab.robots.Trajectory.copy", "api/generated/compas_fab.robots.Trajectory.from_json", "api/generated/compas_fab.robots.Trajectory.from_jsonstring", "api/generated/compas_fab.robots.Trajectory.sha256", "api/generated/compas_fab.robots.Trajectory.to_json", "api/generated/compas_fab.robots.Trajectory.to_jsonstring", "api/generated/compas_fab.robots.Trajectory.validate_data", "api/generated/compas_fab.robots.Waypoints", "api/generated/compas_fab.robots.Waypoints.ToString", "api/generated/compas_fab.robots.Waypoints.copy", "api/generated/compas_fab.robots.Waypoints.from_json", "api/generated/compas_fab.robots.Waypoints.from_jsonstring", "api/generated/compas_fab.robots.Waypoints.scaled", "api/generated/compas_fab.robots.Waypoints.sha256", "api/generated/compas_fab.robots.Waypoints.to_json", "api/generated/compas_fab.robots.Waypoints.to_jsonstring", "api/generated/compas_fab.robots.Waypoints.validate_data", "api/generated/compas_fab.robots.Wrench", "api/generated/compas_fab.robots.Wrench.ToString", "api/generated/compas_fab.robots.Wrench.by_samples", "api/generated/compas_fab.robots.Wrench.copy", "api/generated/compas_fab.robots.Wrench.from_json", "api/generated/compas_fab.robots.Wrench.from_jsonstring", "api/generated/compas_fab.robots.Wrench.from_list", "api/generated/compas_fab.robots.Wrench.gravity_compensated", "api/generated/compas_fab.robots.Wrench.sha256", "api/generated/compas_fab.robots.Wrench.to_json", "api/generated/compas_fab.robots.Wrench.to_jsonstring", "api/generated/compas_fab.robots.Wrench.transform", "api/generated/compas_fab.robots.Wrench.transformed", "api/generated/compas_fab.robots.Wrench.validate_data", "api/generated/compas_fab.robots.to_degrees", "api/generated/compas_fab.robots.to_radians", "api/generated/compas_fab.sensors.PosCon3D", "api/generated/compas_fab.sensors.PosCon3D.activate_flex_mount", "api/generated/compas_fab.sensors.PosCon3D.adjust_to_dark_object", "api/generated/compas_fab.sensors.PosCon3D.begin", "api/generated/compas_fab.sensors.PosCon3D.calculate_checksum", "api/generated/compas_fab.sensors.PosCon3D.deactivate_flex_mount", "api/generated/compas_fab.sensors.PosCon3D.end", "api/generated/compas_fab.sensors.PosCon3D.format_command", "api/generated/compas_fab.sensors.PosCon3D.get_address", "api/generated/compas_fab.sensors.PosCon3D.get_live_monitor_data", "api/generated/compas_fab.sensors.PosCon3D.get_measurement", "api/generated/compas_fab.sensors.PosCon3D.get_payload", "api/generated/compas_fab.sensors.PosCon3D.reset", "api/generated/compas_fab.sensors.PosCon3D.send_command", "api/generated/compas_fab.sensors.PosCon3D.set_edge_height", "api/generated/compas_fab.sensors.PosCon3D.set_flex_mount", "api/generated/compas_fab.sensors.PosCon3D.set_measurement_type", "api/generated/compas_fab.sensors.PosCon3D.set_precision", "api/generated/compas_fab.sensors.PosConCM", "api/generated/compas_fab.sensors.PosConCM.activate_flex_mount", "api/generated/compas_fab.sensors.PosConCM.adjust_to_dark_object", "api/generated/compas_fab.sensors.PosConCM.begin", "api/generated/compas_fab.sensors.PosConCM.calculate_checksum", "api/generated/compas_fab.sensors.PosConCM.deactivate_flex_mount", "api/generated/compas_fab.sensors.PosConCM.end", "api/generated/compas_fab.sensors.PosConCM.format_command", "api/generated/compas_fab.sensors.PosConCM.get_address", "api/generated/compas_fab.sensors.PosConCM.get_measurement", "api/generated/compas_fab.sensors.PosConCM.get_payload", "api/generated/compas_fab.sensors.PosConCM.reset", "api/generated/compas_fab.sensors.PosConCM.send_command", "api/generated/compas_fab.sensors.PosConCM.set_flex_mount", "api/generated/compas_fab.sensors.PosConCM.set_measurement_type", "api/generated/compas_fab.sensors.PosConCM.set_precision", "api/generated/compas_fab.sensors.PosConCM.teach_flex_mount", "api/generated/compas_fab.sensors.ProtocolError", "api/generated/compas_fab.sensors.SensorTimeoutError", "api/generated/compas_fab.sensors.SerialSensor", "api/generated/compas_fab.utilities.LazyLoader", "api/generated/compas_fab.utilities.allclose", "api/generated/compas_fab.utilities.arange", "api/generated/compas_fab.utilities.argmax", "api/generated/compas_fab.utilities.argmin", "api/generated/compas_fab.utilities.argsort", "api/generated/compas_fab.utilities.clamp", "api/generated/compas_fab.utilities.diffs", "api/generated/compas_fab.utilities.from_tcf_to_t0cf", "api/generated/compas_fab.utilities.list_files_in_directory", "api/generated/compas_fab.utilities.map_range", "api/generated/compas_fab.utilities.range_geometric_row", "api/generated/compas_fab.utilities.read_csv_to_dictionary", "api/generated/compas_fab.utilities.read_data_from_pickle", "api/generated/compas_fab.utilities.sign", "api/generated/compas_fab.utilities.write_data_to_pickle", "authors", "backends", "backends/pybullet", "backends/ros", "backends/web_x11_gui", "changelog", "contributing", "developer/backends", "developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh", "developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.add_attached_collision_mesh", "developer/generated/compas_fab.backends.interfaces.AddCollisionMesh", "developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.add_collision_mesh", "developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh", "developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.append_collision_mesh", "developer/generated/compas_fab.backends.interfaces.BackendFeature", "developer/generated/compas_fab.backends.interfaces.ClientInterface", "developer/generated/compas_fab.backends.interfaces.ClientInterface.add_attached_collision_mesh", "developer/generated/compas_fab.backends.interfaces.ClientInterface.add_collision_mesh", "developer/generated/compas_fab.backends.interfaces.ClientInterface.append_collision_mesh", "developer/generated/compas_fab.backends.interfaces.ClientInterface.forward_kinematics", "developer/generated/compas_fab.backends.interfaces.ClientInterface.get_planning_scene", "developer/generated/compas_fab.backends.interfaces.ClientInterface.inverse_kinematics", "developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_cartesian_motion", "developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_motion", "developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_attached_collision_mesh", "developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_collision_mesh", "developer/generated/compas_fab.backends.interfaces.ClientInterface.reset_planning_scene", "developer/generated/compas_fab.backends.interfaces.ForwardKinematics", "developer/generated/compas_fab.backends.interfaces.ForwardKinematics.forward_kinematics", "developer/generated/compas_fab.backends.interfaces.GetPlanningScene", "developer/generated/compas_fab.backends.interfaces.GetPlanningScene.get_planning_scene", "developer/generated/compas_fab.backends.interfaces.InverseKinematics", "developer/generated/compas_fab.backends.interfaces.InverseKinematics.inverse_kinematics", "developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion", "developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.plan_cartesian_motion", "developer/generated/compas_fab.backends.interfaces.PlanMotion", "developer/generated/compas_fab.backends.interfaces.PlanMotion.plan_motion", "developer/generated/compas_fab.backends.interfaces.PlannerInterface", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_attached_collision_mesh", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_collision_mesh", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.append_collision_mesh", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.forward_kinematics", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.get_planning_scene", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.inverse_kinematics", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_cartesian_motion", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_motion", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_attached_collision_mesh", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_collision_mesh", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.reset_planning_scene", "developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh", "developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.remove_attached_collision_mesh", "developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh", "developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.remove_collision_mesh", "developer/generated/compas_fab.backends.interfaces.ResetPlanningScene", "developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.reset_planning_scene", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.add_collision_mesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.append_collision_mesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.forward_kinematics", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.inverse_kinematics", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.remove_collision_mesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics", "developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics", "developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics", "developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics", "developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh_async", "developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene", "developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene", "developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene_async", "developer/grasshopper", "examples", "examples/01_fundamentals", "examples/01_fundamentals/01_frame_and_transformation", "examples/01_fundamentals/02_coordinate_frames", "examples/02_description_models", "examples/02_description_models/01_kinematic_model", "examples/02_description_models/02_robot", "examples/02_description_models/03_robot_instances", "examples/02_description_models/03_targets", "examples/03_backends_ros", "examples/03_backends_ros/01_ros_examples", "examples/03_backends_ros/02_robot_models", "examples/03_backends_ros/03_forward_and_inverse_kinematics", "examples/03_backends_ros/04_plan_motion", "examples/03_backends_ros/05_collision_objects", "examples/03_backends_ros/06_ros_in_grasshopper", "examples/03_backends_ros/07_ros_create_urdf_ur5_with_measurement_tool", "examples/03_backends_ros/08_ros_create_moveit_package_from_custom_urdf", "examples/03_backends_ros/09_ros_create_urdf_ur10_on_tower", "examples/05_backends_pybullet", "examples/05_backends_pybullet/01_pybullet_examples", "examples/05_backends_pybullet/02_forward_and_inverse_kinematics", "examples/06_backends_kinematics", "examples/06_backends_kinematics/01_ik_and_cartesian", "examples/07_reachability_map", "examples/07_reachability_map/01_reachability_map", "examples/07_reachability_map/02_vector_generators", "examples/07_reachability_map/03_rp_2D", "getting_started", "index", "license"], "filenames": ["api.rst", "api/compas_fab.rst", "api/compas_fab.backends.rst", "api/compas_fab.blender.rst", "api/compas_fab.ghpython.rst", "api/compas_fab.rhino.rst", "api/compas_fab.robots.rst", "api/compas_fab.sensors.rst", "api/compas_fab.utilities.rst", "api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.rst", "api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.forward.rst", "api/generated/compas_fab.backends.ABB_IRB4600_40_255Kinematics.inverse.rst", "api/generated/compas_fab.backends.AnalyticalInverseKinematics.rst", "api/generated/compas_fab.backends.AnalyticalInverseKinematics.inverse_kinematics.rst", "api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.rst", "api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.plan_cartesian_motion.rst", "api/generated/compas_fab.backends.AnalyticalPlanCartesianMotion.smooth_configurations.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_attached_collision_mesh.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.add_collision_mesh.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.append_collision_mesh.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.body_from_obj.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.cache_robot_model.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_objects_for_collision.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collision_with_objects.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_collisions.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.check_robot_self_collision.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.connect.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.convert_mesh_to_body.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.disconnect.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model_geometry.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.filter_configurations_in_collision.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.forward_kinematics.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_filepath.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_model.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_planning_scene.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_robot_configuration.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.get_uid.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.inverse_kinematics.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_robot.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_semantics.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.load_ur5.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_cartesian_motion.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.plan_motion.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.reload_from_cache.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_attached_collision_mesh.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.remove_collision_mesh.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.reset_planning_scene.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.set_robot_configuration.rst", "api/generated/compas_fab.backends.AnalyticalPyBulletClient.step_simulation.rst", "api/generated/compas_fab.backends.BackendError.rst", "api/generated/compas_fab.backends.BackendFeatureNotSupportedError.rst", "api/generated/compas_fab.backends.CancellableFutureResult.rst", "api/generated/compas_fab.backends.CancellableFutureResult.cancel.rst", "api/generated/compas_fab.backends.CancellableFutureResult.result.rst", "api/generated/compas_fab.backends.CartesianMotionError.rst", "api/generated/compas_fab.backends.CollisionError.rst", "api/generated/compas_fab.backends.FutureResult.rst", "api/generated/compas_fab.backends.FutureResult.result.rst", "api/generated/compas_fab.backends.InverseKinematicsError.rst", "api/generated/compas_fab.backends.KinematicsError.rst", "api/generated/compas_fab.backends.MoveItPlanner.rst", "api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh.rst", "api/generated/compas_fab.backends.MoveItPlanner.add_attached_collision_mesh_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh.rst", "api/generated/compas_fab.backends.MoveItPlanner.add_collision_mesh_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh.rst", "api/generated/compas_fab.backends.MoveItPlanner.append_collision_mesh_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics.rst", "api/generated/compas_fab.backends.MoveItPlanner.forward_kinematics_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene.rst", "api/generated/compas_fab.backends.MoveItPlanner.get_planning_scene_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics.rst", "api/generated/compas_fab.backends.MoveItPlanner.inverse_kinematics_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion.rst", "api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.plan_motion.rst", "api/generated/compas_fab.backends.MoveItPlanner.plan_motion_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh.rst", "api/generated/compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh.rst", "api/generated/compas_fab.backends.MoveItPlanner.remove_collision_mesh_async.rst", "api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene.rst", "api/generated/compas_fab.backends.MoveItPlanner.reset_planning_scene_async.rst", "api/generated/compas_fab.backends.OffsetWristKinematics.rst", "api/generated/compas_fab.backends.OffsetWristKinematics.forward.rst", "api/generated/compas_fab.backends.OffsetWristKinematics.inverse.rst", "api/generated/compas_fab.backends.PyBulletClient.rst", "api/generated/compas_fab.backends.PyBulletClient.add_attached_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletClient.add_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletClient.append_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletClient.body_from_obj.rst", "api/generated/compas_fab.backends.PyBulletClient.cache_robot_model.rst", "api/generated/compas_fab.backends.PyBulletClient.check_collision_objects_for_collision.rst", "api/generated/compas_fab.backends.PyBulletClient.check_collision_with_objects.rst", "api/generated/compas_fab.backends.PyBulletClient.check_collisions.rst", "api/generated/compas_fab.backends.PyBulletClient.check_robot_self_collision.rst", "api/generated/compas_fab.backends.PyBulletClient.connect.rst", "api/generated/compas_fab.backends.PyBulletClient.convert_mesh_to_body.rst", "api/generated/compas_fab.backends.PyBulletClient.disconnect.rst", "api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model.rst", "api/generated/compas_fab.backends.PyBulletClient.ensure_cached_robot_model_geometry.rst", "api/generated/compas_fab.backends.PyBulletClient.filter_configurations_in_collision.rst", "api/generated/compas_fab.backends.PyBulletClient.forward_kinematics.rst", "api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_filepath.rst", "api/generated/compas_fab.backends.PyBulletClient.get_cached_robot_model.rst", "api/generated/compas_fab.backends.PyBulletClient.get_planning_scene.rst", "api/generated/compas_fab.backends.PyBulletClient.get_robot_configuration.rst", "api/generated/compas_fab.backends.PyBulletClient.get_uid.rst", "api/generated/compas_fab.backends.PyBulletClient.inverse_kinematics.rst", "api/generated/compas_fab.backends.PyBulletClient.load_robot.rst", "api/generated/compas_fab.backends.PyBulletClient.load_semantics.rst", "api/generated/compas_fab.backends.PyBulletClient.load_ur5.rst", "api/generated/compas_fab.backends.PyBulletClient.plan_cartesian_motion.rst", "api/generated/compas_fab.backends.PyBulletClient.plan_motion.rst", "api/generated/compas_fab.backends.PyBulletClient.reload_from_cache.rst", "api/generated/compas_fab.backends.PyBulletClient.remove_attached_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletClient.remove_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletClient.reset_planning_scene.rst", "api/generated/compas_fab.backends.PyBulletClient.set_robot_configuration.rst", "api/generated/compas_fab.backends.PyBulletClient.step_simulation.rst", "api/generated/compas_fab.backends.PyBulletError.rst", "api/generated/compas_fab.backends.PyBulletPlanner.rst", "api/generated/compas_fab.backends.PyBulletPlanner.add_attached_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletPlanner.add_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletPlanner.append_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletPlanner.forward_kinematics.rst", "api/generated/compas_fab.backends.PyBulletPlanner.get_planning_scene.rst", "api/generated/compas_fab.backends.PyBulletPlanner.inverse_kinematics.rst", "api/generated/compas_fab.backends.PyBulletPlanner.plan_cartesian_motion.rst", "api/generated/compas_fab.backends.PyBulletPlanner.plan_motion.rst", "api/generated/compas_fab.backends.PyBulletPlanner.remove_attached_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletPlanner.remove_collision_mesh.rst", "api/generated/compas_fab.backends.PyBulletPlanner.reset_planning_scene.rst", "api/generated/compas_fab.backends.RosClient.rst", "api/generated/compas_fab.backends.RosClient.add_attached_collision_mesh.rst", "api/generated/compas_fab.backends.RosClient.add_collision_mesh.rst", "api/generated/compas_fab.backends.RosClient.append_collision_mesh.rst", "api/generated/compas_fab.backends.RosClient.authenticate.rst", "api/generated/compas_fab.backends.RosClient.blocking_call_from_thread.rst", "api/generated/compas_fab.backends.RosClient.call_async_service.rst", "api/generated/compas_fab.backends.RosClient.call_in_thread.rst", "api/generated/compas_fab.backends.RosClient.call_later.rst", "api/generated/compas_fab.backends.RosClient.call_sync_service.rst", "api/generated/compas_fab.backends.RosClient.close.rst", "api/generated/compas_fab.backends.RosClient.connect.rst", "api/generated/compas_fab.backends.RosClient.delete_param.rst", "api/generated/compas_fab.backends.RosClient.emit.rst", "api/generated/compas_fab.backends.RosClient.execute_joint_trajectory.rst", "api/generated/compas_fab.backends.RosClient.follow_configurations.rst", "api/generated/compas_fab.backends.RosClient.follow_joint_trajectory.rst", "api/generated/compas_fab.backends.RosClient.forward_kinematics.rst", "api/generated/compas_fab.backends.RosClient.get_action_servers.rst", "api/generated/compas_fab.backends.RosClient.get_configuration.rst", "api/generated/compas_fab.backends.RosClient.get_message_details.rst", "api/generated/compas_fab.backends.RosClient.get_node_details.rst", "api/generated/compas_fab.backends.RosClient.get_nodes.rst", "api/generated/compas_fab.backends.RosClient.get_param.rst", "api/generated/compas_fab.backends.RosClient.get_params.rst", "api/generated/compas_fab.backends.RosClient.get_planning_scene.rst", "api/generated/compas_fab.backends.RosClient.get_service_request_callback.rst", "api/generated/compas_fab.backends.RosClient.get_service_request_details.rst", "api/generated/compas_fab.backends.RosClient.get_service_response_details.rst", "api/generated/compas_fab.backends.RosClient.get_service_type.rst", "api/generated/compas_fab.backends.RosClient.get_services.rst", "api/generated/compas_fab.backends.RosClient.get_services_for_type.rst", "api/generated/compas_fab.backends.RosClient.get_time.rst", "api/generated/compas_fab.backends.RosClient.get_topic_type.rst", "api/generated/compas_fab.backends.RosClient.get_topics.rst", "api/generated/compas_fab.backends.RosClient.get_topics_for_type.rst", "api/generated/compas_fab.backends.RosClient.inverse_kinematics.rst", "api/generated/compas_fab.backends.RosClient.load_robot.rst", "api/generated/compas_fab.backends.RosClient.off.rst", "api/generated/compas_fab.backends.RosClient.on.rst", "api/generated/compas_fab.backends.RosClient.on_ready.rst", "api/generated/compas_fab.backends.RosClient.plan_cartesian_motion.rst", "api/generated/compas_fab.backends.RosClient.plan_motion.rst", "api/generated/compas_fab.backends.RosClient.remove_attached_collision_mesh.rst", "api/generated/compas_fab.backends.RosClient.remove_collision_mesh.rst", "api/generated/compas_fab.backends.RosClient.reset_planning_scene.rst", "api/generated/compas_fab.backends.RosClient.run.rst", "api/generated/compas_fab.backends.RosClient.run_event_loop.rst", "api/generated/compas_fab.backends.RosClient.run_forever.rst", "api/generated/compas_fab.backends.RosClient.send_on_ready.rst", "api/generated/compas_fab.backends.RosClient.set_param.rst", "api/generated/compas_fab.backends.RosClient.set_status_level.rst", "api/generated/compas_fab.backends.RosClient.terminate.rst", "api/generated/compas_fab.backends.RosError.rst", "api/generated/compas_fab.backends.RosFileServerLoader.rst", "api/generated/compas_fab.backends.RosFileServerLoader.can_load_mesh.rst", "api/generated/compas_fab.backends.RosFileServerLoader.load_mesh.rst", "api/generated/compas_fab.backends.RosFileServerLoader.load_meshes.rst", "api/generated/compas_fab.backends.RosFileServerLoader.load_srdf.rst", "api/generated/compas_fab.backends.RosFileServerLoader.load_urdf.rst", "api/generated/compas_fab.backends.RosValidationError.rst", "api/generated/compas_fab.backends.SphericalWristKinematics.rst", "api/generated/compas_fab.backends.SphericalWristKinematics.forward.rst", "api/generated/compas_fab.backends.SphericalWristKinematics.inverse.rst", "api/generated/compas_fab.backends.Staubli_TX260LKinematics.rst", "api/generated/compas_fab.backends.Staubli_TX260LKinematics.forward.rst", "api/generated/compas_fab.backends.Staubli_TX260LKinematics.inverse.rst", "api/generated/compas_fab.backends.UR10Kinematics.rst", "api/generated/compas_fab.backends.UR10Kinematics.forward.rst", "api/generated/compas_fab.backends.UR10Kinematics.inverse.rst", "api/generated/compas_fab.backends.UR10eKinematics.rst", "api/generated/compas_fab.backends.UR10eKinematics.forward.rst", "api/generated/compas_fab.backends.UR10eKinematics.inverse.rst", "api/generated/compas_fab.backends.UR3Kinematics.rst", "api/generated/compas_fab.backends.UR3Kinematics.forward.rst", "api/generated/compas_fab.backends.UR3Kinematics.inverse.rst", "api/generated/compas_fab.backends.UR3eKinematics.rst", "api/generated/compas_fab.backends.UR3eKinematics.forward.rst", "api/generated/compas_fab.backends.UR3eKinematics.inverse.rst", "api/generated/compas_fab.backends.UR5Kinematics.rst", "api/generated/compas_fab.backends.UR5Kinematics.forward.rst", "api/generated/compas_fab.backends.UR5Kinematics.inverse.rst", "api/generated/compas_fab.backends.UR5eKinematics.rst", "api/generated/compas_fab.backends.UR5eKinematics.forward.rst", "api/generated/compas_fab.backends.UR5eKinematics.inverse.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.ToString.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.add.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.clear.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.copy.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.draw.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_cloud.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.draw_frames.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.from_json.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.from_jsonstring.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.remove.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.sha256.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.to_json.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.to_jsonstring.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.traverse.rst", "api/generated/compas_fab.ghpython.ReachabilityMapObject.validate_data.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.ToString.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.add.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.add_to_group.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.clear.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.clear_layer.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.compile_attributes.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.copy.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.draw.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.draw_cloud.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.draw_frames.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.from_json.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.from_jsonstring.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.get_group.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.remove.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.sha256.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.to_json.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.to_jsonstring.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.traverse.rst", "api/generated/compas_fab.rhino.ReachabilityMapObject.validate_data.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.ToString.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.copy.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.from_json.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.from_jsonstring.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.sha256.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.to_json.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.to_jsonstring.rst", "api/generated/compas_fab.robots.AttachedCollisionMesh.validate_data.rst", "api/generated/compas_fab.robots.BoundingVolume.rst", "api/generated/compas_fab.robots.BoundingVolume.ToString.rst", "api/generated/compas_fab.robots.BoundingVolume.copy.rst", "api/generated/compas_fab.robots.BoundingVolume.from_box.rst", "api/generated/compas_fab.robots.BoundingVolume.from_json.rst", "api/generated/compas_fab.robots.BoundingVolume.from_jsonstring.rst", "api/generated/compas_fab.robots.BoundingVolume.from_mesh.rst", "api/generated/compas_fab.robots.BoundingVolume.from_sphere.rst", "api/generated/compas_fab.robots.BoundingVolume.scale.rst", "api/generated/compas_fab.robots.BoundingVolume.sha256.rst", "api/generated/compas_fab.robots.BoundingVolume.to_json.rst", "api/generated/compas_fab.robots.BoundingVolume.to_jsonstring.rst", "api/generated/compas_fab.robots.BoundingVolume.transform.rst", "api/generated/compas_fab.robots.BoundingVolume.validate_data.rst", "api/generated/compas_fab.robots.CollisionMesh.rst", "api/generated/compas_fab.robots.CollisionMesh.ToString.rst", "api/generated/compas_fab.robots.CollisionMesh.copy.rst", "api/generated/compas_fab.robots.CollisionMesh.from_json.rst", "api/generated/compas_fab.robots.CollisionMesh.from_jsonstring.rst", "api/generated/compas_fab.robots.CollisionMesh.scale.rst", "api/generated/compas_fab.robots.CollisionMesh.scaled.rst", "api/generated/compas_fab.robots.CollisionMesh.sha256.rst", "api/generated/compas_fab.robots.CollisionMesh.to_json.rst", "api/generated/compas_fab.robots.CollisionMesh.to_jsonstring.rst", "api/generated/compas_fab.robots.CollisionMesh.validate_data.rst", "api/generated/compas_fab.robots.ConfigurationTarget.rst", "api/generated/compas_fab.robots.ConfigurationTarget.ToString.rst", "api/generated/compas_fab.robots.ConfigurationTarget.copy.rst", "api/generated/compas_fab.robots.ConfigurationTarget.from_json.rst", "api/generated/compas_fab.robots.ConfigurationTarget.from_jsonstring.rst", "api/generated/compas_fab.robots.ConfigurationTarget.generate_default_tolerances.rst", "api/generated/compas_fab.robots.ConfigurationTarget.scaled.rst", "api/generated/compas_fab.robots.ConfigurationTarget.sha256.rst", "api/generated/compas_fab.robots.ConfigurationTarget.to_json.rst", "api/generated/compas_fab.robots.ConfigurationTarget.to_jsonstring.rst", "api/generated/compas_fab.robots.ConfigurationTarget.validate_data.rst", "api/generated/compas_fab.robots.Constraint.rst", "api/generated/compas_fab.robots.Constraint.ToString.rst", "api/generated/compas_fab.robots.Constraint.copy.rst", "api/generated/compas_fab.robots.Constraint.from_json.rst", "api/generated/compas_fab.robots.Constraint.from_jsonstring.rst", "api/generated/compas_fab.robots.Constraint.scale.rst", "api/generated/compas_fab.robots.Constraint.scaled.rst", "api/generated/compas_fab.robots.Constraint.sha256.rst", "api/generated/compas_fab.robots.Constraint.to_json.rst", "api/generated/compas_fab.robots.Constraint.to_jsonstring.rst", "api/generated/compas_fab.robots.Constraint.transform.rst", "api/generated/compas_fab.robots.Constraint.validate_data.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.ToString.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.copy.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.from_json.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.from_jsonstring.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.scaled.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.sha256.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.to_json.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.to_jsonstring.rst", "api/generated/compas_fab.robots.ConstraintSetTarget.validate_data.rst", "api/generated/compas_fab.robots.DeviationVectorsGenerator.rst", "api/generated/compas_fab.robots.Duration.rst", "api/generated/compas_fab.robots.Duration.ToString.rst", "api/generated/compas_fab.robots.Duration.copy.rst", "api/generated/compas_fab.robots.Duration.from_json.rst", "api/generated/compas_fab.robots.Duration.from_jsonstring.rst", "api/generated/compas_fab.robots.Duration.sha256.rst", "api/generated/compas_fab.robots.Duration.to_json.rst", "api/generated/compas_fab.robots.Duration.to_jsonstring.rst", "api/generated/compas_fab.robots.Duration.validate_data.rst", "api/generated/compas_fab.robots.FrameTarget.rst", "api/generated/compas_fab.robots.FrameTarget.ToString.rst", "api/generated/compas_fab.robots.FrameTarget.copy.rst", "api/generated/compas_fab.robots.FrameTarget.from_json.rst", "api/generated/compas_fab.robots.FrameTarget.from_jsonstring.rst", "api/generated/compas_fab.robots.FrameTarget.from_transformation.rst", "api/generated/compas_fab.robots.FrameTarget.scaled.rst", "api/generated/compas_fab.robots.FrameTarget.sha256.rst", "api/generated/compas_fab.robots.FrameTarget.to_json.rst", "api/generated/compas_fab.robots.FrameTarget.to_jsonstring.rst", "api/generated/compas_fab.robots.FrameTarget.validate_data.rst", "api/generated/compas_fab.robots.FrameWaypoints.rst", "api/generated/compas_fab.robots.FrameWaypoints.ToString.rst", "api/generated/compas_fab.robots.FrameWaypoints.copy.rst", "api/generated/compas_fab.robots.FrameWaypoints.from_json.rst", "api/generated/compas_fab.robots.FrameWaypoints.from_jsonstring.rst", "api/generated/compas_fab.robots.FrameWaypoints.from_transformations.rst", "api/generated/compas_fab.robots.FrameWaypoints.scaled.rst", "api/generated/compas_fab.robots.FrameWaypoints.sha256.rst", "api/generated/compas_fab.robots.FrameWaypoints.to_json.rst", "api/generated/compas_fab.robots.FrameWaypoints.to_jsonstring.rst", "api/generated/compas_fab.robots.FrameWaypoints.validate_data.rst", "api/generated/compas_fab.robots.Inertia.rst", "api/generated/compas_fab.robots.Inertia.calculate_inertia_tensor.rst", "api/generated/compas_fab.robots.JointConstraint.rst", "api/generated/compas_fab.robots.JointConstraint.ToString.rst", "api/generated/compas_fab.robots.JointConstraint.copy.rst", "api/generated/compas_fab.robots.JointConstraint.from_json.rst", "api/generated/compas_fab.robots.JointConstraint.from_jsonstring.rst", "api/generated/compas_fab.robots.JointConstraint.joint_constraints_from_configuration.rst", "api/generated/compas_fab.robots.JointConstraint.scale.rst", "api/generated/compas_fab.robots.JointConstraint.scaled.rst", "api/generated/compas_fab.robots.JointConstraint.sha256.rst", "api/generated/compas_fab.robots.JointConstraint.to_json.rst", "api/generated/compas_fab.robots.JointConstraint.to_jsonstring.rst", "api/generated/compas_fab.robots.JointConstraint.transform.rst", "api/generated/compas_fab.robots.JointConstraint.validate_data.rst", "api/generated/compas_fab.robots.JointTrajectory.rst", "api/generated/compas_fab.robots.JointTrajectory.ToString.rst", "api/generated/compas_fab.robots.JointTrajectory.copy.rst", "api/generated/compas_fab.robots.JointTrajectory.from_json.rst", "api/generated/compas_fab.robots.JointTrajectory.from_jsonstring.rst", "api/generated/compas_fab.robots.JointTrajectory.sha256.rst", "api/generated/compas_fab.robots.JointTrajectory.to_json.rst", "api/generated/compas_fab.robots.JointTrajectory.to_jsonstring.rst", "api/generated/compas_fab.robots.JointTrajectory.validate_data.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.ToString.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.check_joint_names.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.close_to.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.copy.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_json.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_jsonstring.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_prismatic_and_revolute_values.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.from_revolute_values.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.get.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.items.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.iter_differences.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.keys.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.max_difference.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.merge.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.merged.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.scale.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.scaled.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.sha256.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.to_json.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.to_jsonstring.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.validate_data.rst", "api/generated/compas_fab.robots.JointTrajectoryPoint.values.rst", "api/generated/compas_fab.robots.OrientationConstraint.rst", "api/generated/compas_fab.robots.OrientationConstraint.ToString.rst", "api/generated/compas_fab.robots.OrientationConstraint.copy.rst", "api/generated/compas_fab.robots.OrientationConstraint.from_frame.rst", "api/generated/compas_fab.robots.OrientationConstraint.from_json.rst", "api/generated/compas_fab.robots.OrientationConstraint.from_jsonstring.rst", "api/generated/compas_fab.robots.OrientationConstraint.scale.rst", "api/generated/compas_fab.robots.OrientationConstraint.scaled.rst", "api/generated/compas_fab.robots.OrientationConstraint.sha256.rst", "api/generated/compas_fab.robots.OrientationConstraint.to_json.rst", "api/generated/compas_fab.robots.OrientationConstraint.to_jsonstring.rst", "api/generated/compas_fab.robots.OrientationConstraint.transform.rst", "api/generated/compas_fab.robots.OrientationConstraint.validate_data.rst", "api/generated/compas_fab.robots.OrthonormalVectorsFromAxisGenerator.rst", "api/generated/compas_fab.robots.PlanningScene.rst", "api/generated/compas_fab.robots.PlanningScene.add_attached_collision_mesh.rst", "api/generated/compas_fab.robots.PlanningScene.add_attached_tool.rst", "api/generated/compas_fab.robots.PlanningScene.add_collision_mesh.rst", "api/generated/compas_fab.robots.PlanningScene.append_collision_mesh.rst", "api/generated/compas_fab.robots.PlanningScene.attach_collision_mesh_to_robot_end_effector.rst", "api/generated/compas_fab.robots.PlanningScene.ensure_client.rst", "api/generated/compas_fab.robots.PlanningScene.remove_attached_collision_mesh.rst", "api/generated/compas_fab.robots.PlanningScene.remove_attached_tool.rst", "api/generated/compas_fab.robots.PlanningScene.remove_collision_mesh.rst", "api/generated/compas_fab.robots.PlanningScene.reset.rst", "api/generated/compas_fab.robots.PointAxisTarget.rst", "api/generated/compas_fab.robots.PointAxisTarget.ToString.rst", "api/generated/compas_fab.robots.PointAxisTarget.copy.rst", "api/generated/compas_fab.robots.PointAxisTarget.from_json.rst", "api/generated/compas_fab.robots.PointAxisTarget.from_jsonstring.rst", "api/generated/compas_fab.robots.PointAxisTarget.scaled.rst", "api/generated/compas_fab.robots.PointAxisTarget.sha256.rst", "api/generated/compas_fab.robots.PointAxisTarget.to_json.rst", "api/generated/compas_fab.robots.PointAxisTarget.to_jsonstring.rst", "api/generated/compas_fab.robots.PointAxisTarget.validate_data.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.ToString.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.copy.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.from_json.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.from_jsonstring.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.scaled.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.sha256.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.to_json.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.to_jsonstring.rst", "api/generated/compas_fab.robots.PointAxisWaypoints.validate_data.rst", "api/generated/compas_fab.robots.PositionConstraint.rst", "api/generated/compas_fab.robots.PositionConstraint.ToString.rst", "api/generated/compas_fab.robots.PositionConstraint.copy.rst", "api/generated/compas_fab.robots.PositionConstraint.from_box.rst", "api/generated/compas_fab.robots.PositionConstraint.from_frame.rst", "api/generated/compas_fab.robots.PositionConstraint.from_json.rst", "api/generated/compas_fab.robots.PositionConstraint.from_jsonstring.rst", "api/generated/compas_fab.robots.PositionConstraint.from_mesh.rst", "api/generated/compas_fab.robots.PositionConstraint.from_point.rst", "api/generated/compas_fab.robots.PositionConstraint.from_sphere.rst", "api/generated/compas_fab.robots.PositionConstraint.scale.rst", "api/generated/compas_fab.robots.PositionConstraint.scaled.rst", "api/generated/compas_fab.robots.PositionConstraint.sha256.rst", "api/generated/compas_fab.robots.PositionConstraint.to_json.rst", "api/generated/compas_fab.robots.PositionConstraint.to_jsonstring.rst", "api/generated/compas_fab.robots.PositionConstraint.transform.rst", "api/generated/compas_fab.robots.PositionConstraint.validate_data.rst", "api/generated/compas_fab.robots.ReachabilityMap.rst", "api/generated/compas_fab.robots.ReachabilityMap.ToString.rst", "api/generated/compas_fab.robots.ReachabilityMap.calculate.rst", "api/generated/compas_fab.robots.ReachabilityMap.copy.rst", "api/generated/compas_fab.robots.ReachabilityMap.from_json.rst", "api/generated/compas_fab.robots.ReachabilityMap.from_jsonstring.rst", "api/generated/compas_fab.robots.ReachabilityMap.reachable_frames_and_configurations_at_ik_index.rst", "api/generated/compas_fab.robots.ReachabilityMap.sha256.rst", "api/generated/compas_fab.robots.ReachabilityMap.to_json.rst", "api/generated/compas_fab.robots.ReachabilityMap.to_jsonstring.rst", "api/generated/compas_fab.robots.ReachabilityMap.validate_data.rst", "api/generated/compas_fab.robots.Robot.rst", "api/generated/compas_fab.robots.Robot.ToString.rst", "api/generated/compas_fab.robots.Robot.attach_tool.rst", "api/generated/compas_fab.robots.Robot.basic.rst", "api/generated/compas_fab.robots.Robot.copy.rst", "api/generated/compas_fab.robots.Robot.detach_tool.rst", "api/generated/compas_fab.robots.Robot.draw.rst", "api/generated/compas_fab.robots.Robot.draw_collision.rst", "api/generated/compas_fab.robots.Robot.draw_visual.rst", "api/generated/compas_fab.robots.Robot.ensure_client.rst", "api/generated/compas_fab.robots.Robot.ensure_geometry.rst", "api/generated/compas_fab.robots.Robot.ensure_semantics.rst", "api/generated/compas_fab.robots.Robot.forward_kinematics.rst", "api/generated/compas_fab.robots.Robot.from_json.rst", "api/generated/compas_fab.robots.Robot.from_jsonstring.rst", "api/generated/compas_fab.robots.Robot.from_t0cf_to_tcf.rst", "api/generated/compas_fab.robots.Robot.from_tcf_to_t0cf.rst", "api/generated/compas_fab.robots.Robot.get_RCF.rst", "api/generated/compas_fab.robots.Robot.get_attached_tool_collision_meshes.rst", "api/generated/compas_fab.robots.Robot.get_base_frame.rst", "api/generated/compas_fab.robots.Robot.get_base_link.rst", "api/generated/compas_fab.robots.Robot.get_base_link_name.rst", "api/generated/compas_fab.robots.Robot.get_configurable_joint_names.rst", "api/generated/compas_fab.robots.Robot.get_configurable_joint_types.rst", "api/generated/compas_fab.robots.Robot.get_configurable_joints.rst", "api/generated/compas_fab.robots.Robot.get_configuration_from_group_state.rst", "api/generated/compas_fab.robots.Robot.get_end_effector_frame.rst", "api/generated/compas_fab.robots.Robot.get_end_effector_link.rst", "api/generated/compas_fab.robots.Robot.get_end_effector_link_name.rst", "api/generated/compas_fab.robots.Robot.get_group_configuration.rst", "api/generated/compas_fab.robots.Robot.get_group_names_from_link_name.rst", "api/generated/compas_fab.robots.Robot.get_joint_by_name.rst", "api/generated/compas_fab.robots.Robot.get_joint_types_by_names.rst", "api/generated/compas_fab.robots.Robot.get_link_names.rst", "api/generated/compas_fab.robots.Robot.get_link_names_with_collision_geometry.rst", "api/generated/compas_fab.robots.Robot.get_position_by_joint_name.rst", "api/generated/compas_fab.robots.Robot.info.rst", "api/generated/compas_fab.robots.Robot.inverse_kinematics.rst", "api/generated/compas_fab.robots.Robot.iter_inverse_kinematics.rst", "api/generated/compas_fab.robots.Robot.merge_group_with_full_configuration.rst", "api/generated/compas_fab.robots.Robot.plan_cartesian_motion.rst", "api/generated/compas_fab.robots.Robot.plan_motion.rst", "api/generated/compas_fab.robots.Robot.random_configuration.rst", "api/generated/compas_fab.robots.Robot.scale.rst", "api/generated/compas_fab.robots.Robot.set_RCF.rst", "api/generated/compas_fab.robots.Robot.sha256.rst", "api/generated/compas_fab.robots.Robot.to_json.rst", "api/generated/compas_fab.robots.Robot.to_jsonstring.rst", "api/generated/compas_fab.robots.Robot.to_local_coordinates.rst", "api/generated/compas_fab.robots.Robot.to_world_coordinates.rst", "api/generated/compas_fab.robots.Robot.transformation_RCF_WCF.rst", "api/generated/compas_fab.robots.Robot.transformation_WCF_RCF.rst", "api/generated/compas_fab.robots.Robot.transformed_axes.rst", "api/generated/compas_fab.robots.Robot.transformed_frames.rst", "api/generated/compas_fab.robots.Robot.update.rst", "api/generated/compas_fab.robots.Robot.validate_data.rst", "api/generated/compas_fab.robots.Robot.zero_configuration.rst", "api/generated/compas_fab.robots.RobotLibrary.rst", "api/generated/compas_fab.robots.RobotLibrary.abb_irb4600_40_255.rst", "api/generated/compas_fab.robots.RobotLibrary.rfl.rst", "api/generated/compas_fab.robots.RobotLibrary.ur10e.rst", "api/generated/compas_fab.robots.RobotLibrary.ur5.rst", "api/generated/compas_fab.robots.RobotSemantics.rst", "api/generated/compas_fab.robots.RobotSemantics.ToString.rst", "api/generated/compas_fab.robots.RobotSemantics.copy.rst", "api/generated/compas_fab.robots.RobotSemantics.from_json.rst", "api/generated/compas_fab.robots.RobotSemantics.from_jsonstring.rst", "api/generated/compas_fab.robots.RobotSemantics.from_srdf_file.rst", "api/generated/compas_fab.robots.RobotSemantics.from_srdf_string.rst", "api/generated/compas_fab.robots.RobotSemantics.from_xml.rst", "api/generated/compas_fab.robots.RobotSemantics.get_all_configurable_joints.rst", "api/generated/compas_fab.robots.RobotSemantics.get_base_link_name.rst", "api/generated/compas_fab.robots.RobotSemantics.get_configurable_joint_names.rst", "api/generated/compas_fab.robots.RobotSemantics.get_configurable_joints.rst", "api/generated/compas_fab.robots.RobotSemantics.get_end_effector_link_name.rst", "api/generated/compas_fab.robots.RobotSemantics.sha256.rst", "api/generated/compas_fab.robots.RobotSemantics.to_json.rst", "api/generated/compas_fab.robots.RobotSemantics.to_jsonstring.rst", "api/generated/compas_fab.robots.RobotSemantics.validate_data.rst", "api/generated/compas_fab.robots.Target.rst", "api/generated/compas_fab.robots.Target.ToString.rst", "api/generated/compas_fab.robots.Target.copy.rst", "api/generated/compas_fab.robots.Target.from_json.rst", "api/generated/compas_fab.robots.Target.from_jsonstring.rst", "api/generated/compas_fab.robots.Target.scaled.rst", "api/generated/compas_fab.robots.Target.sha256.rst", "api/generated/compas_fab.robots.Target.to_json.rst", "api/generated/compas_fab.robots.Target.to_jsonstring.rst", "api/generated/compas_fab.robots.Target.validate_data.rst", "api/generated/compas_fab.robots.Tool.rst", "api/generated/compas_fab.robots.Tool.ToString.rst", "api/generated/compas_fab.robots.Tool.copy.rst", "api/generated/compas_fab.robots.Tool.from_json.rst", "api/generated/compas_fab.robots.Tool.from_jsonstring.rst", "api/generated/compas_fab.robots.Tool.from_t0cf_to_tcf.rst", "api/generated/compas_fab.robots.Tool.from_tcf_to_t0cf.rst", "api/generated/compas_fab.robots.Tool.from_tool_model.rst", "api/generated/compas_fab.robots.Tool.sha256.rst", "api/generated/compas_fab.robots.Tool.to_json.rst", "api/generated/compas_fab.robots.Tool.to_jsonstring.rst", "api/generated/compas_fab.robots.Tool.update_touch_links.rst", "api/generated/compas_fab.robots.Tool.validate_data.rst", "api/generated/compas_fab.robots.Trajectory.rst", "api/generated/compas_fab.robots.Trajectory.ToString.rst", "api/generated/compas_fab.robots.Trajectory.copy.rst", "api/generated/compas_fab.robots.Trajectory.from_json.rst", "api/generated/compas_fab.robots.Trajectory.from_jsonstring.rst", "api/generated/compas_fab.robots.Trajectory.sha256.rst", "api/generated/compas_fab.robots.Trajectory.to_json.rst", "api/generated/compas_fab.robots.Trajectory.to_jsonstring.rst", "api/generated/compas_fab.robots.Trajectory.validate_data.rst", "api/generated/compas_fab.robots.Waypoints.rst", "api/generated/compas_fab.robots.Waypoints.ToString.rst", "api/generated/compas_fab.robots.Waypoints.copy.rst", "api/generated/compas_fab.robots.Waypoints.from_json.rst", "api/generated/compas_fab.robots.Waypoints.from_jsonstring.rst", "api/generated/compas_fab.robots.Waypoints.scaled.rst", "api/generated/compas_fab.robots.Waypoints.sha256.rst", "api/generated/compas_fab.robots.Waypoints.to_json.rst", "api/generated/compas_fab.robots.Waypoints.to_jsonstring.rst", "api/generated/compas_fab.robots.Waypoints.validate_data.rst", "api/generated/compas_fab.robots.Wrench.rst", "api/generated/compas_fab.robots.Wrench.ToString.rst", "api/generated/compas_fab.robots.Wrench.by_samples.rst", "api/generated/compas_fab.robots.Wrench.copy.rst", "api/generated/compas_fab.robots.Wrench.from_json.rst", "api/generated/compas_fab.robots.Wrench.from_jsonstring.rst", "api/generated/compas_fab.robots.Wrench.from_list.rst", "api/generated/compas_fab.robots.Wrench.gravity_compensated.rst", "api/generated/compas_fab.robots.Wrench.sha256.rst", "api/generated/compas_fab.robots.Wrench.to_json.rst", "api/generated/compas_fab.robots.Wrench.to_jsonstring.rst", "api/generated/compas_fab.robots.Wrench.transform.rst", "api/generated/compas_fab.robots.Wrench.transformed.rst", "api/generated/compas_fab.robots.Wrench.validate_data.rst", "api/generated/compas_fab.robots.to_degrees.rst", "api/generated/compas_fab.robots.to_radians.rst", "api/generated/compas_fab.sensors.PosCon3D.rst", "api/generated/compas_fab.sensors.PosCon3D.activate_flex_mount.rst", "api/generated/compas_fab.sensors.PosCon3D.adjust_to_dark_object.rst", "api/generated/compas_fab.sensors.PosCon3D.begin.rst", "api/generated/compas_fab.sensors.PosCon3D.calculate_checksum.rst", "api/generated/compas_fab.sensors.PosCon3D.deactivate_flex_mount.rst", "api/generated/compas_fab.sensors.PosCon3D.end.rst", "api/generated/compas_fab.sensors.PosCon3D.format_command.rst", "api/generated/compas_fab.sensors.PosCon3D.get_address.rst", "api/generated/compas_fab.sensors.PosCon3D.get_live_monitor_data.rst", "api/generated/compas_fab.sensors.PosCon3D.get_measurement.rst", "api/generated/compas_fab.sensors.PosCon3D.get_payload.rst", "api/generated/compas_fab.sensors.PosCon3D.reset.rst", "api/generated/compas_fab.sensors.PosCon3D.send_command.rst", "api/generated/compas_fab.sensors.PosCon3D.set_edge_height.rst", "api/generated/compas_fab.sensors.PosCon3D.set_flex_mount.rst", "api/generated/compas_fab.sensors.PosCon3D.set_measurement_type.rst", "api/generated/compas_fab.sensors.PosCon3D.set_precision.rst", "api/generated/compas_fab.sensors.PosConCM.rst", "api/generated/compas_fab.sensors.PosConCM.activate_flex_mount.rst", "api/generated/compas_fab.sensors.PosConCM.adjust_to_dark_object.rst", "api/generated/compas_fab.sensors.PosConCM.begin.rst", "api/generated/compas_fab.sensors.PosConCM.calculate_checksum.rst", "api/generated/compas_fab.sensors.PosConCM.deactivate_flex_mount.rst", "api/generated/compas_fab.sensors.PosConCM.end.rst", "api/generated/compas_fab.sensors.PosConCM.format_command.rst", "api/generated/compas_fab.sensors.PosConCM.get_address.rst", "api/generated/compas_fab.sensors.PosConCM.get_measurement.rst", "api/generated/compas_fab.sensors.PosConCM.get_payload.rst", "api/generated/compas_fab.sensors.PosConCM.reset.rst", "api/generated/compas_fab.sensors.PosConCM.send_command.rst", "api/generated/compas_fab.sensors.PosConCM.set_flex_mount.rst", "api/generated/compas_fab.sensors.PosConCM.set_measurement_type.rst", "api/generated/compas_fab.sensors.PosConCM.set_precision.rst", "api/generated/compas_fab.sensors.PosConCM.teach_flex_mount.rst", "api/generated/compas_fab.sensors.ProtocolError.rst", "api/generated/compas_fab.sensors.SensorTimeoutError.rst", "api/generated/compas_fab.sensors.SerialSensor.rst", "api/generated/compas_fab.utilities.LazyLoader.rst", "api/generated/compas_fab.utilities.allclose.rst", "api/generated/compas_fab.utilities.arange.rst", "api/generated/compas_fab.utilities.argmax.rst", "api/generated/compas_fab.utilities.argmin.rst", "api/generated/compas_fab.utilities.argsort.rst", "api/generated/compas_fab.utilities.clamp.rst", "api/generated/compas_fab.utilities.diffs.rst", "api/generated/compas_fab.utilities.from_tcf_to_t0cf.rst", "api/generated/compas_fab.utilities.list_files_in_directory.rst", "api/generated/compas_fab.utilities.map_range.rst", "api/generated/compas_fab.utilities.range_geometric_row.rst", "api/generated/compas_fab.utilities.read_csv_to_dictionary.rst", "api/generated/compas_fab.utilities.read_data_from_pickle.rst", "api/generated/compas_fab.utilities.sign.rst", "api/generated/compas_fab.utilities.write_data_to_pickle.rst", "authors.rst", "backends.rst", "backends/pybullet.rst", "backends/ros.rst", "backends/web_x11_gui.rst", "changelog.rst", "contributing.rst", "developer/backends.rst", "developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.rst", "developer/generated/compas_fab.backends.interfaces.AddAttachedCollisionMesh.add_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.rst", "developer/generated/compas_fab.backends.interfaces.AddCollisionMesh.add_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.rst", "developer/generated/compas_fab.backends.interfaces.AppendCollisionMesh.append_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.BackendFeature.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.add_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.add_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.append_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.forward_kinematics.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.get_planning_scene.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.inverse_kinematics.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_cartesian_motion.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.plan_motion.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.remove_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.ClientInterface.reset_planning_scene.rst", "developer/generated/compas_fab.backends.interfaces.ForwardKinematics.rst", "developer/generated/compas_fab.backends.interfaces.ForwardKinematics.forward_kinematics.rst", "developer/generated/compas_fab.backends.interfaces.GetPlanningScene.rst", "developer/generated/compas_fab.backends.interfaces.GetPlanningScene.get_planning_scene.rst", "developer/generated/compas_fab.backends.interfaces.InverseKinematics.rst", "developer/generated/compas_fab.backends.interfaces.InverseKinematics.inverse_kinematics.rst", "developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.rst", "developer/generated/compas_fab.backends.interfaces.PlanCartesianMotion.plan_cartesian_motion.rst", "developer/generated/compas_fab.backends.interfaces.PlanMotion.rst", "developer/generated/compas_fab.backends.interfaces.PlanMotion.plan_motion.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.add_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.append_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.forward_kinematics.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.get_planning_scene.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.inverse_kinematics.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_cartesian_motion.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.plan_motion.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.remove_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.PlannerInterface.reset_planning_scene.rst", "developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.rst", "developer/generated/compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.remove_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.rst", "developer/generated/compas_fab.backends.interfaces.RemoveCollisionMesh.remove_collision_mesh.rst", "developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.rst", "developer/generated/compas_fab.backends.interfaces.ResetPlanningScene.reset_planning_scene.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.add_collision_mesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.append_collision_mesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.forward_kinematics.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.inverse_kinematics.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.rst", "developer/generated/compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.remove_collision_mesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh_async.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene.rst", "developer/generated/compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene_async.rst", "developer/grasshopper.rst", "examples.rst", "examples/01_fundamentals.rst", "examples/01_fundamentals/01_frame_and_transformation.rst", "examples/01_fundamentals/02_coordinate_frames.rst", "examples/02_description_models.rst", "examples/02_description_models/01_kinematic_model.rst", "examples/02_description_models/02_robot.rst", "examples/02_description_models/03_robot_instances.rst", "examples/02_description_models/03_targets.rst", "examples/03_backends_ros.rst", "examples/03_backends_ros/01_ros_examples.rst", "examples/03_backends_ros/02_robot_models.rst", "examples/03_backends_ros/03_forward_and_inverse_kinematics.rst", "examples/03_backends_ros/04_plan_motion.rst", "examples/03_backends_ros/05_collision_objects.rst", "examples/03_backends_ros/06_ros_in_grasshopper.rst", "examples/03_backends_ros/07_ros_create_urdf_ur5_with_measurement_tool.rst", "examples/03_backends_ros/08_ros_create_moveit_package_from_custom_urdf.rst", "examples/03_backends_ros/09_ros_create_urdf_ur10_on_tower.rst", "examples/05_backends_pybullet.rst", "examples/05_backends_pybullet/01_pybullet_examples.rst", "examples/05_backends_pybullet/02_forward_and_inverse_kinematics.rst", "examples/06_backends_kinematics.rst", "examples/06_backends_kinematics/01_ik_and_cartesian.rst", "examples/07_reachability_map.rst", "examples/07_reachability_map/01_reachability_map.rst", "examples/07_reachability_map/02_vector_generators.rst", "examples/07_reachability_map/03_rp_2D.rst", "getting_started.rst", "index.rst", "license.rst"], "titles": ["API Reference", "compas_fab", "compas_fab.backends", "compas_fab.blender", "compas_fab.ghpython", "compas_fab.rhino", "compas_fab.robots", "compas_fab.sensors", "compas_fab.utilities", "ABB_IRB4600_40_255Kinematics", "ABB_IRB4600_40_255Kinematics.forward", "ABB_IRB4600_40_255Kinematics.inverse", "AnalyticalInverseKinematics", "AnalyticalInverseKinematics.inverse_kinematics", "AnalyticalPlanCartesianMotion", "AnalyticalPlanCartesianMotion.plan_cartesian_motion", "AnalyticalPlanCartesianMotion.smooth_configurations", "AnalyticalPyBulletClient", "AnalyticalPyBulletClient.add_attached_collision_mesh", "AnalyticalPyBulletClient.add_collision_mesh", "AnalyticalPyBulletClient.append_collision_mesh", "AnalyticalPyBulletClient.body_from_obj", "AnalyticalPyBulletClient.cache_robot_model", "AnalyticalPyBulletClient.check_collision_objects_for_collision", "AnalyticalPyBulletClient.check_collision_with_objects", "AnalyticalPyBulletClient.check_collisions", "AnalyticalPyBulletClient.check_robot_self_collision", "AnalyticalPyBulletClient.connect", "AnalyticalPyBulletClient.convert_mesh_to_body", "AnalyticalPyBulletClient.disconnect", "AnalyticalPyBulletClient.ensure_cached_robot_model", "AnalyticalPyBulletClient.ensure_cached_robot_model_geometry", "AnalyticalPyBulletClient.filter_configurations_in_collision", "AnalyticalPyBulletClient.forward_kinematics", "AnalyticalPyBulletClient.get_cached_robot_filepath", "AnalyticalPyBulletClient.get_cached_robot_model", "AnalyticalPyBulletClient.get_planning_scene", "AnalyticalPyBulletClient.get_robot_configuration", "AnalyticalPyBulletClient.get_uid", "AnalyticalPyBulletClient.inverse_kinematics", "AnalyticalPyBulletClient.load_robot", "AnalyticalPyBulletClient.load_semantics", "AnalyticalPyBulletClient.load_ur5", "AnalyticalPyBulletClient.plan_cartesian_motion", "AnalyticalPyBulletClient.plan_motion", "AnalyticalPyBulletClient.reload_from_cache", "AnalyticalPyBulletClient.remove_attached_collision_mesh", "AnalyticalPyBulletClient.remove_collision_mesh", "AnalyticalPyBulletClient.reset_planning_scene", "AnalyticalPyBulletClient.set_robot_configuration", "AnalyticalPyBulletClient.step_simulation", "BackendError", "BackendFeatureNotSupportedError", "CancellableFutureResult", "CancellableFutureResult.cancel", "CancellableFutureResult.result", "CartesianMotionError", "CollisionError", "FutureResult", "FutureResult.result", "InverseKinematicsError", "KinematicsError", "MoveItPlanner", "MoveItPlanner.add_attached_collision_mesh", "MoveItPlanner.add_attached_collision_mesh_async", "MoveItPlanner.add_collision_mesh", "MoveItPlanner.add_collision_mesh_async", "MoveItPlanner.append_collision_mesh", "MoveItPlanner.append_collision_mesh_async", "MoveItPlanner.forward_kinematics", "MoveItPlanner.forward_kinematics_async", "MoveItPlanner.get_planning_scene", "MoveItPlanner.get_planning_scene_async", "MoveItPlanner.inverse_kinematics", "MoveItPlanner.inverse_kinematics_async", "MoveItPlanner.plan_cartesian_motion", "MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async", "MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async", "MoveItPlanner.plan_motion", "MoveItPlanner.plan_motion_async", "MoveItPlanner.remove_attached_collision_mesh", "MoveItPlanner.remove_attached_collision_mesh_async", "MoveItPlanner.remove_collision_mesh", "MoveItPlanner.remove_collision_mesh_async", "MoveItPlanner.reset_planning_scene", "MoveItPlanner.reset_planning_scene_async", "OffsetWristKinematics", "OffsetWristKinematics.forward", "OffsetWristKinematics.inverse", "PyBulletClient", "PyBulletClient.add_attached_collision_mesh", "PyBulletClient.add_collision_mesh", "PyBulletClient.append_collision_mesh", "PyBulletClient.body_from_obj", "PyBulletClient.cache_robot_model", "PyBulletClient.check_collision_objects_for_collision", "PyBulletClient.check_collision_with_objects", "PyBulletClient.check_collisions", "PyBulletClient.check_robot_self_collision", "PyBulletClient.connect", "PyBulletClient.convert_mesh_to_body", "PyBulletClient.disconnect", "PyBulletClient.ensure_cached_robot_model", "PyBulletClient.ensure_cached_robot_model_geometry", "PyBulletClient.filter_configurations_in_collision", "PyBulletClient.forward_kinematics", "PyBulletClient.get_cached_robot_filepath", "PyBulletClient.get_cached_robot_model", "PyBulletClient.get_planning_scene", "PyBulletClient.get_robot_configuration", "PyBulletClient.get_uid", "PyBulletClient.inverse_kinematics", "PyBulletClient.load_robot", "PyBulletClient.load_semantics", "PyBulletClient.load_ur5", "PyBulletClient.plan_cartesian_motion", "PyBulletClient.plan_motion", "PyBulletClient.reload_from_cache", "PyBulletClient.remove_attached_collision_mesh", "PyBulletClient.remove_collision_mesh", "PyBulletClient.reset_planning_scene", "PyBulletClient.set_robot_configuration", "PyBulletClient.step_simulation", "PyBulletError", "PyBulletPlanner", "PyBulletPlanner.add_attached_collision_mesh", "PyBulletPlanner.add_collision_mesh", "PyBulletPlanner.append_collision_mesh", "PyBulletPlanner.forward_kinematics", "PyBulletPlanner.get_planning_scene", "PyBulletPlanner.inverse_kinematics", "PyBulletPlanner.plan_cartesian_motion", "PyBulletPlanner.plan_motion", "PyBulletPlanner.remove_attached_collision_mesh", "PyBulletPlanner.remove_collision_mesh", "PyBulletPlanner.reset_planning_scene", "RosClient", "RosClient.add_attached_collision_mesh", "RosClient.add_collision_mesh", "RosClient.append_collision_mesh", "RosClient.authenticate", "RosClient.blocking_call_from_thread", "RosClient.call_async_service", "RosClient.call_in_thread", "RosClient.call_later", "RosClient.call_sync_service", "RosClient.close", "RosClient.connect", "RosClient.delete_param", "RosClient.emit", "RosClient.execute_joint_trajectory", "RosClient.follow_configurations", "RosClient.follow_joint_trajectory", "RosClient.forward_kinematics", "RosClient.get_action_servers", "RosClient.get_configuration", "RosClient.get_message_details", "RosClient.get_node_details", "RosClient.get_nodes", "RosClient.get_param", "RosClient.get_params", "RosClient.get_planning_scene", "RosClient.get_service_request_callback", "RosClient.get_service_request_details", "RosClient.get_service_response_details", "RosClient.get_service_type", "RosClient.get_services", "RosClient.get_services_for_type", "RosClient.get_time", "RosClient.get_topic_type", "RosClient.get_topics", "RosClient.get_topics_for_type", "RosClient.inverse_kinematics", "RosClient.load_robot", "RosClient.off", "RosClient.on", "RosClient.on_ready", "RosClient.plan_cartesian_motion", "RosClient.plan_motion", "RosClient.remove_attached_collision_mesh", "RosClient.remove_collision_mesh", "RosClient.reset_planning_scene", "RosClient.run", "RosClient.run_event_loop", "RosClient.run_forever", "RosClient.send_on_ready", "RosClient.set_param", "RosClient.set_status_level", "RosClient.terminate", "RosError", "RosFileServerLoader", "RosFileServerLoader.can_load_mesh", "RosFileServerLoader.load_mesh", "RosFileServerLoader.load_meshes", "RosFileServerLoader.load_srdf", "RosFileServerLoader.load_urdf", "RosValidationError", "SphericalWristKinematics", "SphericalWristKinematics.forward", "SphericalWristKinematics.inverse", "Staubli_TX260LKinematics", "Staubli_TX260LKinematics.forward", "Staubli_TX260LKinematics.inverse", "UR10Kinematics", "UR10Kinematics.forward", "UR10Kinematics.inverse", "UR10eKinematics", "UR10eKinematics.forward", "UR10eKinematics.inverse", "UR3Kinematics", "UR3Kinematics.forward", "UR3Kinematics.inverse", "UR3eKinematics", "UR3eKinematics.forward", "UR3eKinematics.inverse", "UR5Kinematics", "UR5Kinematics.forward", "UR5Kinematics.inverse", "UR5eKinematics", "UR5eKinematics.forward", "UR5eKinematics.inverse", "ReachabilityMapObject", "ReachabilityMapObject.ToString", "ReachabilityMapObject.add", "ReachabilityMapObject.clear", "ReachabilityMapObject.copy", "ReachabilityMapObject.draw", "ReachabilityMapObject.draw_cloud", "ReachabilityMapObject.draw_frames", "ReachabilityMapObject.from_json", "ReachabilityMapObject.from_jsonstring", "ReachabilityMapObject.remove", "ReachabilityMapObject.sha256", "ReachabilityMapObject.to_json", "ReachabilityMapObject.to_jsonstring", "ReachabilityMapObject.traverse", "ReachabilityMapObject.validate_data", "ReachabilityMapObject", "ReachabilityMapObject.ToString", "ReachabilityMapObject.add", "ReachabilityMapObject.add_to_group", "ReachabilityMapObject.clear", "ReachabilityMapObject.clear_layer", "ReachabilityMapObject.compile_attributes", "ReachabilityMapObject.copy", "ReachabilityMapObject.draw", "ReachabilityMapObject.draw_cloud", "ReachabilityMapObject.draw_frames", "ReachabilityMapObject.from_json", "ReachabilityMapObject.from_jsonstring", "ReachabilityMapObject.get_group", "ReachabilityMapObject.remove", "ReachabilityMapObject.sha256", "ReachabilityMapObject.to_json", "ReachabilityMapObject.to_jsonstring", "ReachabilityMapObject.traverse", "ReachabilityMapObject.validate_data", "AttachedCollisionMesh", "AttachedCollisionMesh.ToString", "AttachedCollisionMesh.copy", "AttachedCollisionMesh.from_json", "AttachedCollisionMesh.from_jsonstring", "AttachedCollisionMesh.sha256", "AttachedCollisionMesh.to_json", "AttachedCollisionMesh.to_jsonstring", "AttachedCollisionMesh.validate_data", "BoundingVolume", "BoundingVolume.ToString", "BoundingVolume.copy", "BoundingVolume.from_box", "BoundingVolume.from_json", "BoundingVolume.from_jsonstring", "BoundingVolume.from_mesh", "BoundingVolume.from_sphere", "BoundingVolume.scale", "BoundingVolume.sha256", "BoundingVolume.to_json", "BoundingVolume.to_jsonstring", "BoundingVolume.transform", "BoundingVolume.validate_data", "CollisionMesh", "CollisionMesh.ToString", "CollisionMesh.copy", "CollisionMesh.from_json", "CollisionMesh.from_jsonstring", "CollisionMesh.scale", "CollisionMesh.scaled", "CollisionMesh.sha256", "CollisionMesh.to_json", "CollisionMesh.to_jsonstring", "CollisionMesh.validate_data", "ConfigurationTarget", "ConfigurationTarget.ToString", "ConfigurationTarget.copy", "ConfigurationTarget.from_json", "ConfigurationTarget.from_jsonstring", "ConfigurationTarget.generate_default_tolerances", "ConfigurationTarget.scaled", "ConfigurationTarget.sha256", "ConfigurationTarget.to_json", "ConfigurationTarget.to_jsonstring", "ConfigurationTarget.validate_data", "Constraint", "Constraint.ToString", "Constraint.copy", "Constraint.from_json", "Constraint.from_jsonstring", "Constraint.scale", "Constraint.scaled", "Constraint.sha256", "Constraint.to_json", "Constraint.to_jsonstring", "Constraint.transform", "Constraint.validate_data", "ConstraintSetTarget", "ConstraintSetTarget.ToString", "ConstraintSetTarget.copy", "ConstraintSetTarget.from_json", "ConstraintSetTarget.from_jsonstring", "ConstraintSetTarget.scaled", "ConstraintSetTarget.sha256", "ConstraintSetTarget.to_json", "ConstraintSetTarget.to_jsonstring", "ConstraintSetTarget.validate_data", "DeviationVectorsGenerator", "Duration", "Duration.ToString", "Duration.copy", "Duration.from_json", "Duration.from_jsonstring", "Duration.sha256", "Duration.to_json", "Duration.to_jsonstring", "Duration.validate_data", "FrameTarget", "FrameTarget.ToString", "FrameTarget.copy", "FrameTarget.from_json", "FrameTarget.from_jsonstring", "FrameTarget.from_transformation", "FrameTarget.scaled", "FrameTarget.sha256", "FrameTarget.to_json", "FrameTarget.to_jsonstring", "FrameTarget.validate_data", "FrameWaypoints", "FrameWaypoints.ToString", "FrameWaypoints.copy", "FrameWaypoints.from_json", "FrameWaypoints.from_jsonstring", "FrameWaypoints.from_transformations", "FrameWaypoints.scaled", "FrameWaypoints.sha256", "FrameWaypoints.to_json", "FrameWaypoints.to_jsonstring", "FrameWaypoints.validate_data", "Inertia", "Inertia.calculate_inertia_tensor", "JointConstraint", "JointConstraint.ToString", "JointConstraint.copy", "JointConstraint.from_json", "JointConstraint.from_jsonstring", "JointConstraint.joint_constraints_from_configuration", "JointConstraint.scale", "JointConstraint.scaled", "JointConstraint.sha256", "JointConstraint.to_json", "JointConstraint.to_jsonstring", "JointConstraint.transform", "JointConstraint.validate_data", "JointTrajectory", "JointTrajectory.ToString", "JointTrajectory.copy", "JointTrajectory.from_json", "JointTrajectory.from_jsonstring", "JointTrajectory.sha256", "JointTrajectory.to_json", "JointTrajectory.to_jsonstring", "JointTrajectory.validate_data", "JointTrajectoryPoint", "JointTrajectoryPoint.ToString", "JointTrajectoryPoint.check_joint_names", "JointTrajectoryPoint.close_to", "JointTrajectoryPoint.copy", "JointTrajectoryPoint.from_json", "JointTrajectoryPoint.from_jsonstring", "JointTrajectoryPoint.from_prismatic_and_revolute_values", "JointTrajectoryPoint.from_revolute_values", "JointTrajectoryPoint.get", "JointTrajectoryPoint.items", "JointTrajectoryPoint.iter_differences", "JointTrajectoryPoint.keys", "JointTrajectoryPoint.max_difference", "JointTrajectoryPoint.merge", "JointTrajectoryPoint.merged", "JointTrajectoryPoint.scale", "JointTrajectoryPoint.scaled", "JointTrajectoryPoint.sha256", "JointTrajectoryPoint.to_json", "JointTrajectoryPoint.to_jsonstring", "JointTrajectoryPoint.validate_data", "JointTrajectoryPoint.values", "OrientationConstraint", "OrientationConstraint.ToString", "OrientationConstraint.copy", "OrientationConstraint.from_frame", "OrientationConstraint.from_json", "OrientationConstraint.from_jsonstring", "OrientationConstraint.scale", "OrientationConstraint.scaled", "OrientationConstraint.sha256", "OrientationConstraint.to_json", "OrientationConstraint.to_jsonstring", "OrientationConstraint.transform", "OrientationConstraint.validate_data", "OrthonormalVectorsFromAxisGenerator", "PlanningScene", "PlanningScene.add_attached_collision_mesh", "PlanningScene.add_attached_tool", "PlanningScene.add_collision_mesh", "PlanningScene.append_collision_mesh", "PlanningScene.attach_collision_mesh_to_robot_end_effector", "PlanningScene.ensure_client", "PlanningScene.remove_attached_collision_mesh", "PlanningScene.remove_attached_tool", "PlanningScene.remove_collision_mesh", "PlanningScene.reset", "PointAxisTarget", "PointAxisTarget.ToString", "PointAxisTarget.copy", "PointAxisTarget.from_json", "PointAxisTarget.from_jsonstring", "PointAxisTarget.scaled", "PointAxisTarget.sha256", "PointAxisTarget.to_json", "PointAxisTarget.to_jsonstring", "PointAxisTarget.validate_data", "PointAxisWaypoints", "PointAxisWaypoints.ToString", "PointAxisWaypoints.copy", "PointAxisWaypoints.from_json", "PointAxisWaypoints.from_jsonstring", "PointAxisWaypoints.scaled", "PointAxisWaypoints.sha256", "PointAxisWaypoints.to_json", "PointAxisWaypoints.to_jsonstring", "PointAxisWaypoints.validate_data", "PositionConstraint", "PositionConstraint.ToString", "PositionConstraint.copy", "PositionConstraint.from_box", "PositionConstraint.from_frame", "PositionConstraint.from_json", "PositionConstraint.from_jsonstring", "PositionConstraint.from_mesh", "PositionConstraint.from_point", "PositionConstraint.from_sphere", "PositionConstraint.scale", "PositionConstraint.scaled", "PositionConstraint.sha256", "PositionConstraint.to_json", "PositionConstraint.to_jsonstring", "PositionConstraint.transform", "PositionConstraint.validate_data", "ReachabilityMap", "ReachabilityMap.ToString", "ReachabilityMap.calculate", "ReachabilityMap.copy", "ReachabilityMap.from_json", "ReachabilityMap.from_jsonstring", "ReachabilityMap.reachable_frames_and_configurations_at_ik_index", "ReachabilityMap.sha256", "ReachabilityMap.to_json", "ReachabilityMap.to_jsonstring", "ReachabilityMap.validate_data", "Robot", "Robot.ToString", "Robot.attach_tool", "Robot.basic", "Robot.copy", "Robot.detach_tool", "Robot.draw", "Robot.draw_collision", "Robot.draw_visual", "Robot.ensure_client", "Robot.ensure_geometry", "Robot.ensure_semantics", "Robot.forward_kinematics", "Robot.from_json", "Robot.from_jsonstring", "Robot.from_t0cf_to_tcf", "Robot.from_tcf_to_t0cf", "Robot.get_RCF", "Robot.get_attached_tool_collision_meshes", "Robot.get_base_frame", "Robot.get_base_link", "Robot.get_base_link_name", "Robot.get_configurable_joint_names", "Robot.get_configurable_joint_types", "Robot.get_configurable_joints", "Robot.get_configuration_from_group_state", "Robot.get_end_effector_frame", "Robot.get_end_effector_link", "Robot.get_end_effector_link_name", "Robot.get_group_configuration", "Robot.get_group_names_from_link_name", "Robot.get_joint_by_name", "Robot.get_joint_types_by_names", "Robot.get_link_names", "Robot.get_link_names_with_collision_geometry", "Robot.get_position_by_joint_name", "Robot.info", "Robot.inverse_kinematics", "Robot.iter_inverse_kinematics", "Robot.merge_group_with_full_configuration", "Robot.plan_cartesian_motion", "Robot.plan_motion", "Robot.random_configuration", "Robot.scale", "Robot.set_RCF", "Robot.sha256", "Robot.to_json", "Robot.to_jsonstring", "Robot.to_local_coordinates", "Robot.to_world_coordinates", "Robot.transformation_RCF_WCF", "Robot.transformation_WCF_RCF", "Robot.transformed_axes", "Robot.transformed_frames", "Robot.update", "Robot.validate_data", "Robot.zero_configuration", "RobotLibrary", "RobotLibrary.abb_irb4600_40_255", "RobotLibrary.rfl", "RobotLibrary.ur10e", "RobotLibrary.ur5", "RobotSemantics", "RobotSemantics.ToString", "RobotSemantics.copy", "RobotSemantics.from_json", "RobotSemantics.from_jsonstring", "RobotSemantics.from_srdf_file", "RobotSemantics.from_srdf_string", "RobotSemantics.from_xml", "RobotSemantics.get_all_configurable_joints", "RobotSemantics.get_base_link_name", "RobotSemantics.get_configurable_joint_names", "RobotSemantics.get_configurable_joints", "RobotSemantics.get_end_effector_link_name", "RobotSemantics.sha256", "RobotSemantics.to_json", "RobotSemantics.to_jsonstring", "RobotSemantics.validate_data", "Target", "Target.ToString", "Target.copy", "Target.from_json", "Target.from_jsonstring", "Target.scaled", "Target.sha256", "Target.to_json", "Target.to_jsonstring", "Target.validate_data", "Tool", "Tool.ToString", "Tool.copy", "Tool.from_json", "Tool.from_jsonstring", "Tool.from_t0cf_to_tcf", "Tool.from_tcf_to_t0cf", "Tool.from_tool_model", "Tool.sha256", "Tool.to_json", "Tool.to_jsonstring", "Tool.update_touch_links", "Tool.validate_data", "Trajectory", "Trajectory.ToString", "Trajectory.copy", "Trajectory.from_json", "Trajectory.from_jsonstring", "Trajectory.sha256", "Trajectory.to_json", "Trajectory.to_jsonstring", "Trajectory.validate_data", "Waypoints", "Waypoints.ToString", "Waypoints.copy", "Waypoints.from_json", "Waypoints.from_jsonstring", "Waypoints.scaled", "Waypoints.sha256", "Waypoints.to_json", "Waypoints.to_jsonstring", "Waypoints.validate_data", "Wrench", "Wrench.ToString", "Wrench.by_samples", "Wrench.copy", "Wrench.from_json", "Wrench.from_jsonstring", "Wrench.from_list", "Wrench.gravity_compensated", "Wrench.sha256", "Wrench.to_json", "Wrench.to_jsonstring", "Wrench.transform", "Wrench.transformed", "Wrench.validate_data", "to_degrees", "to_radians", "PosCon3D", "PosCon3D.activate_flex_mount", "PosCon3D.adjust_to_dark_object", "PosCon3D.begin", "PosCon3D.calculate_checksum", "PosCon3D.deactivate_flex_mount", "PosCon3D.end", "PosCon3D.format_command", "PosCon3D.get_address", "PosCon3D.get_live_monitor_data", "PosCon3D.get_measurement", "PosCon3D.get_payload", "PosCon3D.reset", "PosCon3D.send_command", "PosCon3D.set_edge_height", "PosCon3D.set_flex_mount", "PosCon3D.set_measurement_type", "PosCon3D.set_precision", "PosConCM", "PosConCM.activate_flex_mount", "PosConCM.adjust_to_dark_object", "PosConCM.begin", "PosConCM.calculate_checksum", "PosConCM.deactivate_flex_mount", "PosConCM.end", "PosConCM.format_command", "PosConCM.get_address", "PosConCM.get_measurement", "PosConCM.get_payload", "PosConCM.reset", "PosConCM.send_command", "PosConCM.set_flex_mount", "PosConCM.set_measurement_type", "PosConCM.set_precision", "PosConCM.teach_flex_mount", "ProtocolError", "SensorTimeoutError", "SerialSensor", "LazyLoader", "allclose", "arange", "argmax", "argmin", "argsort", "clamp", "diffs", "from_tcf_to_t0cf", "list_files_in_directory", "map_range", "range_geometric_row", "read_csv_to_dictionary", "read_data_from_pickle", "sign", "write_data_to_pickle", "Citing", "Working with backends", "PyBullet", "ROS", "Access backend GUI", "CHANGELOG", "Contributor\u2019s Guide", "Backend clients", "AddAttachedCollisionMesh", "AddAttachedCollisionMesh.add_attached_collision_mesh", "AddCollisionMesh", "AddCollisionMesh.add_collision_mesh", "AppendCollisionMesh", "AppendCollisionMesh.append_collision_mesh", "BackendFeature", "ClientInterface", "ClientInterface.add_attached_collision_mesh", "ClientInterface.add_collision_mesh", "ClientInterface.append_collision_mesh", "ClientInterface.forward_kinematics", "ClientInterface.get_planning_scene", "ClientInterface.inverse_kinematics", "ClientInterface.plan_cartesian_motion", "ClientInterface.plan_motion", "ClientInterface.remove_attached_collision_mesh", "ClientInterface.remove_collision_mesh", "ClientInterface.reset_planning_scene", "ForwardKinematics", "ForwardKinematics.forward_kinematics", "GetPlanningScene", "GetPlanningScene.get_planning_scene", "InverseKinematics", "InverseKinematics.inverse_kinematics", "PlanCartesianMotion", "PlanCartesianMotion.plan_cartesian_motion", "PlanMotion", "PlanMotion.plan_motion", "PlannerInterface", "PlannerInterface.add_attached_collision_mesh", "PlannerInterface.add_collision_mesh", "PlannerInterface.append_collision_mesh", "PlannerInterface.forward_kinematics", "PlannerInterface.get_planning_scene", "PlannerInterface.inverse_kinematics", "PlannerInterface.plan_cartesian_motion", "PlannerInterface.plan_motion", "PlannerInterface.remove_attached_collision_mesh", "PlannerInterface.remove_collision_mesh", "PlannerInterface.reset_planning_scene", "RemoveAttachedCollisionMesh", "RemoveAttachedCollisionMesh.remove_attached_collision_mesh", "RemoveCollisionMesh", "RemoveCollisionMesh.remove_collision_mesh", "ResetPlanningScene", "ResetPlanningScene.reset_planning_scene", "PyBulletAddAttachedCollisionMesh", "PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh", "PyBulletAddCollisionMesh", "PyBulletAddCollisionMesh.add_collision_mesh", "PyBulletAppendCollisionMesh", "PyBulletAppendCollisionMesh.append_collision_mesh", "PyBulletForwardKinematics", "PyBulletForwardKinematics.forward_kinematics", "PyBulletInverseKinematics", "PyBulletInverseKinematics.inverse_kinematics", "PyBulletRemoveAttachedCollisionMesh", "PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh", "PyBulletRemoveCollisionMesh", "PyBulletRemoveCollisionMesh.remove_collision_mesh", "MoveItAddAttachedCollisionMesh", "MoveItAddAttachedCollisionMesh.add_attached_collision_mesh", "MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async", "MoveItAddCollisionMesh", "MoveItAddCollisionMesh.add_collision_mesh", "MoveItAddCollisionMesh.add_collision_mesh_async", "MoveItAppendCollisionMesh", "MoveItAppendCollisionMesh.append_collision_mesh", "MoveItAppendCollisionMesh.append_collision_mesh_async", "MoveItForwardKinematics", "MoveItForwardKinematics.forward_kinematics", "MoveItForwardKinematics.forward_kinematics_async", "MoveItInverseKinematics", "MoveItInverseKinematics.inverse_kinematics", "MoveItInverseKinematics.inverse_kinematics_async", "MoveItPlanCartesianMotion", "MoveItPlanCartesianMotion.plan_cartesian_motion", "MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async", "MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async", "MoveItPlanMotion", "MoveItPlanMotion.plan_motion", "MoveItPlanMotion.plan_motion_async", "MoveItPlanningScene", "MoveItPlanningScene.get_planning_scene", "MoveItPlanningScene.get_planning_scene_async", "MoveItRemoveAttachedCollisionMesh", "MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh", "MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async", "MoveItRemoveCollisionMesh", "MoveItRemoveCollisionMesh.remove_collision_mesh", "MoveItRemoveCollisionMesh.remove_collision_mesh_async", "MoveItResetPlanningScene", "MoveItResetPlanningScene.reset_planning_scene", "MoveItResetPlanningScene.reset_planning_scene_async", "Grasshopper components", "Examples", "Fundamentals", "Frame and Transformation", "Coordinate frames", "Description Models", "Kinematic model", "Robot models", "RobotModel Packages", "Targets and Waypoints", "Backends: ROS", "Using ROS", "Robots in ROS", "Forward and inverse kinematics", "Plan motion", "Planning scene and collision objects", "ROS in Grasshopper", "Creating a URDF with an UR5 robot and a custom end-effector", "Creating a MoveIt! package from the custom created URDF", "Creating a URDF of the UR10 on two linear axes", "Backends: PyBullet", "Using PyBullet", "Forward and inverse kinematics", "Backends: Analytical Kinematics", "Analytical kinematics", "Planning: Reachability Map", "Introduction to the Reachability Map", "Vector Generators", "Reachability Map 2D", "Getting started", "Robotic Fabrication for COMPAS", "License"], "terms": {"thi": [0, 1, 2, 6, 12, 13, 15, 28, 40, 50, 73, 75, 77, 78, 100, 112, 122, 125, 129, 131, 132, 135, 148, 150, 152, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 184, 186, 191, 222, 225, 228, 229, 230, 231, 235, 236, 238, 244, 247, 248, 249, 251, 255, 256, 258, 259, 260, 261, 265, 267, 268, 270, 271, 279, 281, 282, 283, 284, 290, 292, 293, 294, 295, 296, 297, 301, 302, 303, 304, 305, 306, 308, 313, 314, 315, 316, 317, 318, 319, 323, 326, 327, 328, 329, 333, 335, 336, 337, 338, 344, 346, 347, 348, 349, 355, 356, 358, 359, 360, 361, 362, 365, 370, 371, 372, 373, 374, 375, 379, 381, 384, 385, 386, 394, 395, 397, 401, 403, 404, 405, 406, 407, 408, 410, 415, 428, 429, 430, 431, 432, 437, 439, 440, 441, 442, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 459, 464, 466, 467, 468, 469, 470, 475, 476, 477, 478, 480, 481, 489, 490, 491, 513, 514, 516, 517, 531, 538, 539, 540, 541, 542, 554, 556, 557, 558, 559, 564, 566, 567, 568, 569, 577, 579, 580, 581, 582, 586, 587, 588, 589, 590, 591, 596, 598, 600, 601, 602, 610, 613, 616, 619, 621, 622, 626, 631, 634, 637, 639, 643, 651, 654, 655, 656, 660, 668, 669, 670, 671, 672, 674, 681, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 723, 749, 752, 754, 756, 770, 771, 776, 777, 779, 782, 783, 784, 785, 787, 788, 789, 791, 792, 794, 796, 797, 798, 799, 801], "manual": [0, 791], "detail": [0, 2, 156, 163, 164, 291, 314, 438, 488, 513, 514, 516, 517, 546, 549, 670, 671, 673, 674, 777], "function": [0, 1, 6, 32, 104, 141, 143, 144, 150, 152, 174, 175, 176, 296, 297, 467, 622, 629, 630, 646, 652, 653, 654, 655, 656, 660, 662, 669, 670, 672, 781, 783, 784, 788, 792, 794, 796, 797, 799], "modul": [0, 1, 651, 669, 672, 800], "object": [0, 21, 23, 24, 26, 28, 40, 41, 57, 58, 63, 65, 67, 86, 93, 95, 96, 98, 100, 112, 113, 125, 126, 127, 133, 190, 197, 221, 222, 223, 225, 229, 230, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 246, 247, 248, 249, 253, 254, 256, 257, 258, 259, 260, 261, 263, 264, 265, 267, 270, 271, 276, 277, 279, 281, 282, 283, 284, 288, 289, 290, 292, 293, 294, 295, 299, 300, 301, 303, 305, 306, 310, 311, 313, 315, 316, 317, 318, 321, 322, 323, 324, 326, 327, 328, 329, 331, 332, 333, 335, 336, 337, 338, 342, 343, 344, 346, 347, 348, 349, 353, 354, 355, 356, 359, 361, 362, 367, 368, 370, 372, 373, 374, 375, 377, 378, 379, 381, 384, 385, 386, 399, 400, 401, 404, 407, 408, 412, 413, 415, 416, 417, 418, 424, 426, 429, 430, 431, 432, 435, 436, 437, 439, 440, 441, 442, 445, 446, 447, 449, 453, 454, 461, 462, 464, 466, 468, 469, 470, 473, 474, 475, 476, 477, 480, 489, 490, 522, 523, 531, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 545, 552, 553, 554, 556, 557, 558, 559, 562, 563, 564, 566, 567, 568, 569, 574, 575, 577, 579, 580, 581, 582, 584, 585, 586, 587, 588, 589, 590, 591, 594, 595, 596, 598, 601, 602, 604, 606, 607, 610, 631, 650, 664, 666, 672, 676, 678, 680, 681, 682, 704, 723, 725, 727, 733, 737, 740, 743, 770, 771, 772, 777, 779, 780, 796, 800], "includ": [0, 21, 93, 173, 314, 371, 395, 465, 513, 514, 587, 671, 672, 673, 674, 777, 787, 789, 794, 796, 799, 801], "compa": [0, 1, 4, 5, 6, 13, 28, 40, 73, 100, 112, 125, 130, 173, 192, 193, 223, 225, 227, 229, 230, 231, 232, 235, 239, 243, 244, 246, 248, 249, 251, 252, 255, 259, 260, 261, 262, 266, 269, 270, 271, 272, 273, 275, 278, 280, 282, 283, 284, 287, 293, 294, 295, 298, 305, 306, 309, 316, 317, 318, 320, 324, 327, 328, 329, 330, 334, 336, 337, 338, 339, 341, 345, 347, 348, 349, 350, 352, 361, 362, 366, 373, 374, 375, 376, 384, 385, 386, 391, 398, 403, 406, 407, 408, 411, 414, 416, 428, 430, 431, 432, 434, 438, 440, 441, 442, 444, 448, 451, 452, 453, 454, 455, 456, 457, 460, 463, 465, 467, 468, 469, 470, 472, 476, 480, 488, 489, 490, 491, 492, 493, 495, 502, 513, 514, 521, 524, 525, 526, 527, 528, 529, 540, 541, 542, 551, 557, 558, 559, 561, 565, 567, 568, 569, 570, 571, 573, 580, 581, 582, 583, 587, 589, 590, 591, 593, 597, 601, 602, 604, 605, 667, 668, 669, 670, 671, 672, 674, 699, 723, 731, 749, 770, 773, 774, 776, 777, 778, 779, 783, 784, 785, 786, 789, 791, 792, 794, 796, 797, 798, 799], "fab": [0, 6, 667, 668, 669, 670, 671, 672, 674, 777, 778, 783, 786, 792, 799, 800], "describ": [0, 266, 325, 371, 465, 476, 659, 773, 774, 776, 779, 783, 784, 785, 786, 788, 792], "what": [0, 787, 788], "thei": [0, 6, 13, 297, 465, 587, 651, 671, 672, 674, 770, 777, 778, 779, 781, 787, 788, 789, 794], "ar": [0, 1, 4, 5, 6, 13, 15, 23, 32, 49, 58, 76, 95, 104, 121, 173, 222, 227, 238, 246, 258, 267, 281, 292, 296, 297, 303, 315, 326, 335, 340, 346, 351, 359, 363, 372, 380, 381, 383, 391, 396, 397, 403, 404, 406, 416, 428, 429, 433, 438, 439, 443, 449, 465, 466, 476, 477, 488, 513, 514, 516, 517, 533, 538, 539, 546, 549, 555, 556, 566, 579, 587, 588, 598, 651, 652, 658, 668, 670, 671, 672, 673, 674, 681, 753, 770, 771, 773, 776, 777, 778, 779, 781, 782, 783, 784, 785, 787, 788, 789, 791, 792, 794, 796, 797, 798, 799], "do": [0, 314, 671, 672, 773, 777, 788, 796, 801], "To": [0, 148, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 186, 513, 670, 672, 674, 704, 774, 785, 787, 788, 789, 799], "learn": [0, 669], "how": [0, 324, 516, 668, 673, 773, 774, 776, 777, 783, 786, 788], "us": [0, 1, 6, 12, 13, 15, 21, 22, 28, 30, 31, 32, 34, 35, 38, 40, 41, 42, 45, 49, 73, 75, 78, 89, 93, 94, 100, 102, 103, 104, 106, 107, 110, 112, 113, 114, 117, 121, 125, 126, 127, 128, 130, 136, 190, 191, 192, 222, 227, 232, 235, 236, 238, 246, 252, 255, 256, 258, 262, 265, 267, 274, 275, 278, 279, 280, 281, 287, 290, 291, 292, 296, 298, 301, 303, 308, 309, 313, 315, 320, 323, 325, 326, 330, 333, 334, 335, 339, 340, 341, 344, 345, 346, 350, 351, 352, 355, 356, 359, 363, 364, 365, 366, 370, 372, 376, 379, 381, 398, 401, 403, 404, 406, 410, 411, 414, 415, 421, 428, 429, 434, 437, 438, 439, 444, 447, 449, 459, 460, 463, 464, 466, 472, 475, 476, 477, 483, 484, 488, 491, 492, 513, 514, 516, 517, 521, 528, 529, 531, 532, 533, 534, 535, 536, 537, 538, 539, 551, 554, 555, 556, 561, 564, 566, 573, 577, 579, 583, 586, 587, 588, 593, 596, 598, 605, 610, 613, 616, 619, 621, 626, 629, 630, 631, 634, 637, 639, 643, 645, 646, 650, 651, 654, 655, 656, 663, 667, 668, 669, 670, 671, 672, 673, 674, 695, 699, 701, 704, 723, 725, 727, 729, 731, 749, 752, 756, 770, 771, 773, 774, 777, 778, 779, 780, 782, 783, 784, 785, 786, 787, 788, 789, 790, 792, 794, 796, 797, 798, 799, 800, 801], "see": [0, 40, 112, 291, 314, 334, 438, 465, 516, 517, 546, 549, 604, 670, 671, 673, 776, 779, 781, 787, 788, 789, 791, 794, 796, 798, 799], "exampl": [0, 40, 89, 112, 136, 173, 232, 252, 257, 262, 269, 272, 273, 275, 280, 287, 296, 298, 309, 314, 320, 324, 325, 330, 341, 352, 356, 358, 366, 376, 383, 391, 393, 398, 403, 406, 411, 416, 418, 420, 421, 422, 424, 426, 434, 444, 448, 451, 452, 455, 457, 460, 472, 478, 479, 488, 491, 492, 496, 497, 498, 499, 500, 503, 504, 509, 510, 513, 514, 516, 517, 521, 524, 525, 532, 533, 543, 551, 561, 565, 570, 571, 573, 583, 593, 597, 599, 603, 604, 605, 608, 609, 613, 631, 650, 651, 669, 670, 672, 673, 674, 772, 773, 776, 777, 779, 780, 782, 783, 784, 786, 787, 788, 791, 792, 794, 795, 797, 799, 800], "work": [0, 12, 13, 15, 75, 78, 89, 516, 517, 672, 673, 752, 756, 774, 781, 782, 787, 788, 789, 791, 800], "backend": [0, 1, 6, 9, 12, 14, 17, 23, 24, 25, 26, 51, 52, 53, 56, 57, 58, 60, 61, 62, 71, 73, 76, 86, 89, 95, 96, 97, 98, 123, 124, 128, 130, 136, 189, 190, 196, 197, 200, 203, 206, 209, 212, 215, 218, 291, 314, 417, 476, 488, 513, 514, 516, 517, 534, 535, 536, 537, 538, 555, 587, 669, 670, 672, 673, 675, 677, 679, 681, 682, 694, 696, 698, 699, 700, 702, 704, 716, 718, 720, 722, 724, 726, 728, 729, 730, 731, 732, 734, 736, 739, 742, 745, 748, 749, 751, 753, 755, 758, 759, 761, 764, 767, 771, 777, 779, 781, 782, 783, 784, 785, 791, 792, 794, 796, 799, 800], "compas_fab": [0, 9, 12, 13, 14, 15, 17, 22, 23, 24, 25, 26, 30, 31, 32, 34, 35, 37, 41, 42, 45, 49, 51, 52, 53, 56, 57, 58, 60, 61, 62, 63, 65, 67, 69, 71, 73, 75, 76, 78, 86, 89, 94, 95, 96, 97, 98, 102, 103, 104, 106, 107, 109, 113, 114, 117, 121, 123, 124, 125, 126, 127, 128, 130, 133, 136, 150, 152, 189, 190, 196, 197, 200, 203, 206, 209, 212, 215, 218, 221, 237, 257, 266, 269, 272, 273, 280, 291, 296, 302, 314, 324, 325, 334, 340, 345, 351, 356, 358, 371, 380, 403, 416, 417, 418, 420, 421, 422, 428, 438, 448, 457, 465, 467, 476, 478, 488, 491, 492, 494, 513, 514, 516, 517, 533, 534, 535, 536, 537, 538, 543, 555, 565, 570, 571, 578, 587, 597, 611, 612, 613, 631, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 669, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 716, 718, 720, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 736, 737, 739, 740, 742, 743, 745, 746, 748, 749, 751, 752, 753, 755, 756, 758, 759, 761, 764, 767, 770, 774, 777, 778, 779, 781, 782, 783, 784, 785, 791, 792, 794, 796, 797, 798, 799, 800], "robot": [0, 9, 12, 13, 15, 22, 24, 25, 26, 30, 31, 32, 34, 35, 37, 38, 39, 40, 41, 42, 43, 45, 49, 63, 65, 67, 69, 73, 75, 76, 78, 80, 94, 96, 97, 98, 102, 103, 104, 106, 107, 109, 110, 112, 113, 114, 117, 121, 125, 126, 127, 128, 130, 133, 150, 152, 173, 190, 194, 195, 200, 203, 206, 209, 212, 215, 218, 221, 228, 237, 247, 257, 266, 269, 272, 273, 280, 291, 296, 302, 314, 324, 325, 334, 339, 340, 345, 350, 351, 356, 358, 363, 371, 380, 403, 406, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 428, 438, 448, 452, 456, 457, 465, 467, 533, 534, 535, 536, 537, 538, 543, 546, 555, 565, 570, 571, 578, 587, 597, 611, 612, 659, 667, 668, 669, 670, 672, 674, 676, 678, 680, 695, 697, 699, 701, 703, 717, 722, 723, 725, 727, 728, 729, 730, 731, 732, 733, 736, 737, 740, 743, 745, 746, 748, 749, 752, 753, 755, 756, 761, 762, 772, 773, 775, 776, 779, 780, 783, 784, 785, 786, 789, 791, 792, 794, 797, 798], "cad": [0, 4, 5, 668, 771, 777, 781, 800], "integr": [0, 2, 7, 50, 122, 668, 672, 674, 774, 776, 786], "blender": [0, 1, 672, 771, 777, 800], "ghpython": [0, 1, 221, 770, 800], "rhino": [0, 1, 222, 237, 238, 243, 246, 247, 250, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 672, 770, 771, 777, 796, 798, 800], "util": [0, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 672, 800], "sensor": [0, 1, 604, 613, 614, 615, 616, 619, 621, 622, 623, 625, 626, 630, 631, 632, 633, 634, 637, 639, 640, 642, 643, 646, 648, 649, 650, 672, 800], "librari": [1, 669, 670, 672, 771, 774, 800], "provid": [1, 4, 5, 150, 152, 334, 613, 631, 668, 669, 670, 672, 674, 704, 773, 776, 777, 778, 797, 800, 801], "tool": [1, 15, 75, 291, 334, 339, 345, 350, 406, 419, 425, 428, 438, 452, 476, 478, 481, 488, 491, 492, 494, 513, 514, 516, 587, 659, 668, 670, 672, 673, 701, 751, 752, 772, 779, 785, 787, 788, 794, 796, 800], "plan": [1, 2, 13, 15, 49, 65, 67, 71, 73, 75, 77, 78, 82, 84, 121, 126, 127, 128, 130, 134, 291, 314, 334, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 438, 476, 478, 481, 488, 491, 492, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 509, 511, 513, 514, 515, 516, 517, 518, 524, 525, 526, 527, 528, 529, 530, 538, 547, 548, 549, 550, 555, 578, 587, 669, 672, 678, 680, 682, 696, 697, 699, 700, 701, 702, 703, 704, 719, 720, 721, 724, 725, 726, 727, 729, 731, 734, 735, 739, 740, 742, 743, 749, 752, 754, 756, 758, 759, 764, 765, 767, 768, 771, 774, 779, 780, 794, 796, 800], "execut": [1, 2, 6, 54, 78, 142, 150, 152, 175, 176, 626, 643, 672, 674, 756, 771, 781, 784, 785, 800], "fabric": [1, 667, 672, 774, 778], "process": [1, 672, 774, 781, 787, 791, 796, 799, 800], "framework": [1, 2, 476, 667, 668, 670, 773, 774, 776, 781, 800], "special": [1, 777, 788], "focu": 1, "enabl": [1, 190, 428, 668, 670, 777], "its": [1, 21, 22, 24, 26, 28, 40, 42, 58, 93, 94, 96, 98, 100, 112, 114, 125, 126, 127, 222, 233, 234, 238, 253, 254, 258, 263, 264, 267, 276, 277, 281, 288, 289, 292, 299, 300, 303, 310, 311, 315, 321, 322, 326, 331, 332, 335, 342, 343, 346, 353, 354, 359, 367, 368, 372, 377, 378, 381, 399, 400, 404, 412, 413, 429, 435, 436, 439, 445, 446, 449, 461, 462, 466, 473, 474, 476, 477, 513, 514, 522, 523, 539, 552, 553, 556, 562, 563, 566, 574, 575, 579, 584, 585, 588, 594, 595, 597, 598, 606, 607, 613, 631, 669, 672, 674, 723, 725, 727, 755, 773, 774, 777, 779, 781, 787, 788, 789, 796], "usag": [1, 513, 671, 672, 673], "from": [1, 4, 5, 6, 13, 21, 27, 28, 29, 32, 40, 49, 73, 80, 82, 89, 93, 99, 100, 101, 104, 112, 121, 130, 133, 134, 141, 146, 148, 159, 160, 173, 174, 186, 190, 192, 193, 194, 195, 227, 228, 229, 230, 231, 232, 235, 246, 247, 248, 249, 251, 252, 255, 260, 261, 262, 269, 270, 271, 272, 273, 275, 283, 284, 287, 291, 294, 295, 296, 298, 305, 306, 309, 317, 318, 320, 324, 328, 329, 330, 334, 337, 338, 339, 341, 345, 348, 349, 350, 352, 358, 361, 362, 366, 374, 375, 376, 380, 385, 386, 387, 388, 391, 398, 403, 406, 407, 408, 411, 424, 425, 426, 428, 431, 432, 434, 438, 441, 442, 444, 448, 451, 452, 453, 454, 455, 456, 457, 460, 465, 469, 470, 472, 476, 479, 489, 490, 501, 513, 514, 521, 524, 525, 526, 527, 533, 538, 541, 542, 543, 551, 558, 559, 561, 568, 569, 573, 581, 582, 583, 590, 591, 593, 597, 599, 601, 602, 603, 604, 605, 613, 619, 631, 637, 650, 664, 670, 671, 672, 673, 674, 717, 719, 731, 732, 733, 734, 735, 749, 755, 761, 762, 764, 765, 770, 771, 773, 774, 775, 776, 778, 779, 780, 781, 783, 784, 785, 786, 787, 789, 791, 792, 794, 795, 796, 798, 799, 800, 801], "within": [1, 51, 358, 380, 383, 403, 448, 652, 653, 657, 661, 670, 672, 674, 770, 791, 799, 800], "environ": [1, 4, 5, 671, 673, 771, 777, 781, 796, 800], "The": [1, 6, 12, 13, 15, 22, 32, 34, 35, 37, 38, 40, 41, 45, 49, 50, 69, 73, 75, 78, 94, 104, 106, 107, 109, 110, 112, 113, 117, 121, 122, 125, 126, 128, 130, 136, 141, 143, 190, 193, 223, 224, 225, 226, 227, 229, 230, 231, 233, 234, 235, 236, 237, 239, 240, 241, 243, 244, 245, 246, 247, 248, 249, 250, 251, 253, 254, 255, 256, 257, 259, 260, 261, 263, 264, 265, 266, 270, 271, 276, 277, 278, 279, 280, 282, 283, 284, 288, 289, 290, 291, 293, 294, 295, 296, 297, 299, 300, 301, 305, 306, 310, 311, 313, 314, 316, 317, 318, 321, 322, 323, 324, 327, 328, 329, 331, 332, 333, 334, 336, 337, 338, 339, 340, 342, 343, 344, 345, 347, 348, 349, 350, 351, 353, 354, 355, 356, 358, 361, 362, 363, 367, 368, 370, 371, 373, 374, 375, 377, 378, 379, 380, 383, 384, 385, 386, 391, 393, 394, 395, 399, 400, 401, 403, 406, 407, 408, 412, 413, 415, 416, 417, 418, 420, 421, 422, 424, 426, 428, 430, 431, 432, 433, 435, 436, 437, 438, 440, 441, 442, 443, 445, 446, 447, 448, 451, 452, 453, 454, 455, 456, 457, 461, 462, 464, 465, 467, 468, 469, 470, 473, 474, 475, 476, 478, 480, 481, 488, 489, 490, 491, 492, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 513, 514, 515, 516, 517, 518, 519, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 533, 534, 535, 536, 537, 538, 540, 541, 542, 543, 547, 548, 549, 550, 552, 553, 554, 555, 557, 558, 559, 560, 562, 563, 564, 565, 567, 568, 569, 574, 575, 577, 580, 581, 582, 584, 585, 586, 587, 589, 590, 591, 592, 594, 595, 596, 599, 600, 601, 602, 603, 604, 606, 607, 608, 609, 610, 613, 614, 623, 626, 630, 631, 632, 640, 643, 646, 652, 653, 654, 655, 656, 660, 662, 663, 664, 666, 670, 671, 672, 673, 674, 681, 695, 699, 701, 703, 723, 725, 729, 731, 746, 749, 752, 756, 770, 773, 774, 776, 777, 778, 779, 781, 782, 783, 784, 785, 786, 787, 788, 789, 791, 792, 794, 796, 797, 798, 799, 800, 801], "core": [1, 516, 517, 672], "featur": [1, 52, 129, 131, 132, 135, 614, 618, 628, 632, 636, 644, 647, 671, 672, 675, 677, 679, 681, 694, 696, 698, 699, 700, 702, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 718, 720, 786], "locat": [1, 770, 774, 777, 778, 781, 788, 796, 797], "implement": [1, 2, 62, 124, 143, 184, 488, 513, 514, 516, 517, 520, 555, 672, 673, 675, 677, 679, 681, 694, 696, 698, 700, 702, 716, 718, 720], "motion": [1, 15, 75, 76, 77, 78, 79, 291, 314, 428, 438, 516, 517, 555, 578, 587, 669, 672, 674, 700, 701, 702, 703, 751, 752, 753, 754, 756, 757, 771, 776, 779, 780, 785, 788, 800], "main": [1, 13, 49, 73, 75, 78, 121, 128, 130, 188, 224, 226, 241, 245, 422, 476, 478, 481, 488, 491, 492, 493, 495, 496, 497, 498, 499, 500, 502, 503, 504, 509, 511, 513, 514, 516, 517, 518, 524, 525, 526, 527, 528, 529, 530, 538, 547, 548, 549, 550, 670, 673, 729, 731, 749, 752, 756, 788], "class": [1, 2, 4, 5, 9, 12, 13, 14, 17, 53, 58, 62, 73, 75, 78, 86, 89, 124, 130, 136, 190, 197, 200, 203, 206, 209, 212, 215, 218, 221, 222, 237, 238, 257, 258, 266, 267, 280, 281, 291, 292, 302, 303, 314, 315, 324, 325, 326, 334, 335, 339, 345, 346, 350, 356, 358, 359, 363, 371, 372, 380, 381, 403, 404, 406, 416, 417, 422, 428, 429, 438, 439, 448, 449, 465, 466, 476, 477, 488, 533, 538, 539, 555, 556, 565, 566, 578, 579, 587, 588, 597, 598, 613, 621, 631, 639, 650, 651, 672, 674, 675, 677, 679, 681, 682, 694, 696, 698, 700, 702, 704, 716, 718, 720, 722, 724, 726, 728, 730, 731, 732, 734, 736, 739, 742, 745, 748, 749, 751, 752, 755, 756, 758, 761, 764, 767, 773, 774, 776, 777, 779, 783, 792], "path": [1, 13, 15, 21, 40, 41, 56, 75, 78, 93, 112, 113, 229, 233, 248, 253, 260, 263, 270, 276, 283, 288, 291, 294, 299, 305, 310, 314, 317, 321, 328, 331, 334, 337, 342, 348, 353, 361, 367, 374, 377, 385, 399, 407, 412, 428, 431, 435, 441, 445, 453, 461, 469, 473, 489, 516, 517, 522, 541, 543, 552, 558, 562, 568, 574, 581, 584, 590, 594, 601, 606, 660, 663, 664, 666, 701, 703, 751, 752, 755, 756, 770, 777, 780, 784, 785, 788, 789, 794, 796, 798, 799], "scene": [1, 40, 65, 67, 71, 82, 84, 112, 126, 127, 134, 221, 223, 237, 239, 242, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 476, 672, 678, 680, 682, 696, 697, 704, 719, 720, 721, 724, 725, 726, 727, 734, 735, 739, 740, 742, 743, 758, 759, 764, 765, 767, 768, 771, 777, 780, 800], "target": [1, 78, 79, 130, 291, 296, 297, 314, 319, 334, 339, 340, 345, 350, 351, 358, 363, 406, 428, 433, 438, 443, 452, 476, 517, 587, 592, 672, 703, 731, 755, 756, 757, 771, 774, 775, 783, 784, 792, 794, 800], "waypoint": [1, 15, 43, 75, 76, 77, 291, 314, 345, 350, 351, 438, 443, 516, 517, 672, 701, 752, 753, 754, 771, 775, 784, 794, 800], "constraint": [1, 50, 73, 75, 78, 122, 314, 358, 363, 364, 365, 369, 403, 406, 409, 410, 448, 451, 452, 455, 456, 457, 459, 516, 517, 555, 672, 749, 752, 756, 779, 784, 796], "built": [1, 533, 672, 770, 774, 787, 796, 799, 800], "unit": [1, 75, 291, 296, 297, 334, 340, 345, 351, 356, 363, 428, 438, 452, 456, 516, 668, 752], "convers": [1, 222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 672], "ro": [1, 71, 73, 76, 136, 142, 144, 145, 146, 147, 148, 150, 152, 154, 156, 158, 159, 160, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 176, 185, 186, 189, 190, 193, 194, 195, 196, 516, 517, 668, 672, 736, 739, 742, 745, 748, 749, 751, 753, 755, 758, 759, 761, 764, 767, 771, 774, 775, 776, 778, 779, 783, 784, 785, 787, 788, 789, 796, 799, 800], "pybullet": [1, 17, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 38, 40, 41, 42, 45, 57, 89, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 106, 107, 110, 112, 113, 114, 117, 123, 124, 668, 672, 722, 724, 726, 728, 730, 732, 734, 771, 792, 800], "analyt": [1, 9, 17, 200, 203, 206, 209, 212, 215, 218, 465, 467, 513, 514, 672, 771, 796, 800], "kinemat": [1, 12, 13, 17, 32, 60, 61, 69, 73, 75, 104, 128, 130, 465, 467, 476, 488, 509, 513, 514, 555, 587, 672, 674, 694, 695, 698, 699, 728, 729, 730, 731, 745, 746, 748, 749, 752, 771, 775, 780, 784, 788, 789, 790, 796, 800], "long": [1, 53, 141, 513, 654, 655, 656, 672, 781], "run": [1, 53, 78, 176, 184, 668, 669, 670, 671, 672, 673, 756, 771, 777, 782, 783, 784, 785, 787, 789, 791, 800], "task": [1, 152, 428, 438, 587, 670, 672, 673, 779], "except": [1, 22, 34, 35, 51, 52, 55, 56, 57, 59, 60, 61, 73, 94, 106, 107, 123, 141, 145, 150, 152, 189, 196, 314, 423, 485, 486, 487, 491, 492, 648, 649, 672, 749], "interfac": [1, 4, 5, 7, 12, 62, 89, 124, 136, 476, 613, 631, 650, 668, 670, 671, 672, 675, 677, 679, 681, 682, 694, 696, 698, 700, 702, 704, 716, 718, 720, 777, 788, 791, 800], "follow": [1, 6, 13, 15, 49, 69, 73, 75, 78, 121, 125, 126, 127, 128, 130, 133, 152, 488, 516, 517, 538, 667, 670, 671, 672, 674, 701, 723, 725, 727, 729, 731, 733, 746, 749, 752, 756, 774, 776, 777, 778, 781, 782, 783, 784, 785, 786, 787, 788, 789, 791, 794, 796, 798, 799, 801], "differ": [1, 73, 78, 130, 173, 314, 363, 391, 393, 488, 513, 514, 555, 587, 613, 631, 658, 668, 670, 672, 731, 749, 756, 771, 776, 781, 787, 788, 789, 798], "packag": [2, 6, 7, 8, 40, 112, 173, 190, 191, 667, 670, 672, 674, 771, 775, 777, 780, 786, 787, 789, 799, 800], "contain": [2, 6, 7, 8, 13, 15, 63, 65, 67, 69, 73, 75, 78, 125, 126, 127, 128, 130, 133, 142, 145, 162, 193, 194, 195, 229, 230, 237, 248, 249, 260, 261, 266, 270, 271, 283, 284, 294, 295, 305, 306, 317, 318, 328, 329, 337, 338, 348, 349, 361, 362, 374, 375, 385, 386, 407, 408, 431, 432, 441, 442, 453, 454, 469, 470, 488, 489, 490, 513, 514, 516, 517, 533, 534, 535, 536, 537, 538, 541, 542, 558, 559, 568, 569, 581, 582, 590, 591, 601, 602, 626, 643, 664, 669, 670, 671, 672, 673, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 737, 740, 743, 746, 749, 752, 756, 778, 779, 785, 787, 788, 789], "simul": [2, 6, 50, 122, 669, 674], "interact": [2, 771, 782], "moveit": [2, 62, 70, 74, 76, 77, 79, 136, 150, 152, 671, 672, 747, 750, 753, 754, 757, 771, 778, 779, 780, 782, 783, 784, 785, 789, 800], "pure": 2, "python": [2, 669, 672, 673, 770, 771, 781, 791, 799, 800], "For": [2, 13, 21, 40, 93, 112, 136, 228, 247, 334, 428, 516, 604, 654, 655, 656, 668, 670, 671, 674, 777, 779, 787, 789, 794, 796, 797, 798, 799], "about": [2, 324, 403, 406, 512, 673, 777], "new": [2, 28, 100, 250, 395, 670, 672, 674, 770, 787, 788, 789, 791, 794], "check": [2, 13, 21, 22, 23, 24, 25, 26, 28, 30, 31, 32, 40, 42, 93, 94, 95, 96, 97, 98, 100, 102, 103, 104, 112, 114, 125, 126, 127, 136, 485, 486, 487, 488, 513, 514, 516, 517, 518, 617, 635, 668, 670, 672, 673, 723, 725, 727, 773, 787, 788, 789, 794, 796, 798, 799], "client": [2, 12, 17, 89, 136, 140, 173, 184, 190, 417, 418, 420, 421, 422, 423, 424, 426, 476, 485, 488, 513, 516, 517, 534, 535, 536, 537, 538, 669, 672, 673, 676, 678, 680, 681, 682, 695, 697, 699, 701, 703, 704, 717, 719, 721, 781, 782, 783, 784, 785, 791, 792, 794, 796, 800], "document": [2, 516, 668, 670, 672, 674, 785, 786, 799, 801], "In": [4, 5, 334, 345, 428, 516, 668, 670, 672, 776, 777, 779, 784, 785, 787, 794, 796, 797, 798], "assist": [4, 5, 777, 780], "visual": [4, 5, 49, 121, 476, 484, 530, 533, 565, 668, 669, 672, 771, 775, 786, 787, 789, 795, 797, 798], "datastructur": [4, 5, 28, 100, 192, 193, 231, 232, 235, 251, 252, 255, 262, 266, 272, 275, 280, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 455, 460, 472, 521, 551, 561, 565, 573, 583, 593, 605, 777, 785, 791], "model": [4, 5, 6, 22, 34, 35, 38, 40, 45, 69, 73, 94, 106, 107, 110, 112, 117, 173, 190, 194, 195, 221, 237, 257, 296, 340, 351, 418, 476, 478, 479, 486, 488, 507, 533, 534, 535, 536, 537, 538, 543, 546, 549, 560, 565, 592, 669, 670, 672, 746, 749, 771, 774, 778, 780, 783, 787, 789, 796, 800], "wai": [4, 5, 668, 670, 673, 771, 773, 777, 781, 782, 783, 799], "maintain": [4, 5, 674, 777, 796], "data": [4, 5, 193, 223, 225, 229, 230, 232, 233, 234, 236, 239, 244, 248, 249, 252, 253, 254, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 270, 271, 275, 276, 277, 279, 280, 282, 283, 284, 287, 288, 289, 290, 293, 294, 295, 298, 299, 300, 301, 302, 305, 306, 309, 310, 311, 313, 316, 317, 318, 320, 321, 322, 323, 325, 327, 328, 329, 330, 331, 332, 333, 336, 337, 338, 341, 342, 343, 344, 347, 348, 349, 352, 353, 354, 355, 356, 361, 362, 366, 367, 368, 370, 371, 373, 374, 375, 376, 377, 378, 379, 380, 384, 385, 386, 398, 399, 400, 401, 407, 408, 411, 412, 413, 415, 430, 431, 432, 434, 435, 436, 437, 440, 441, 442, 444, 445, 446, 447, 453, 454, 460, 461, 462, 464, 465, 468, 469, 470, 472, 473, 474, 475, 476, 480, 489, 490, 521, 522, 523, 531, 538, 540, 541, 542, 551, 552, 553, 554, 555, 557, 558, 559, 561, 562, 563, 564, 565, 567, 568, 569, 573, 574, 575, 577, 578, 580, 581, 582, 583, 584, 585, 586, 587, 589, 590, 591, 593, 594, 595, 596, 597, 599, 601, 602, 605, 606, 607, 610, 613, 620, 626, 631, 638, 643, 664, 666, 672, 777, 778, 781, 796, 798], "separ": [4, 5, 176, 597, 663, 672, 777, 791], "specif": [4, 5, 157, 173, 314, 471, 488, 513, 514, 516, 517, 628, 644, 647, 674, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 770, 774, 777, 779, 796, 798, 799], "while": [4, 5, 668, 669, 674, 777, 781, 785, 787, 791], "leverag": [4, 5, 777], "nativ": [4, 5, 76, 233, 234, 253, 254, 263, 264, 276, 277, 288, 289, 299, 300, 310, 311, 321, 322, 331, 332, 342, 343, 353, 354, 367, 368, 377, 378, 399, 400, 412, 413, 435, 436, 445, 446, 461, 462, 473, 474, 522, 523, 552, 553, 562, 563, 574, 575, 584, 585, 594, 595, 606, 607, 753, 777], "perform": [4, 5, 50, 78, 122, 314, 661, 674, 756, 777, 779, 787], "exchang": 6, "inform": [6, 41, 113, 380, 476, 512, 516, 538, 672, 772, 776, 780], "system": [6, 69, 128, 190, 240, 246, 247, 387, 488, 524, 525, 526, 527, 668, 671, 673, 695, 729, 746, 770, 773, 774, 778, 781, 783, 787, 791, 792, 800], "most": [6, 479, 670, 777, 779, 787], "commonli": [6, 779], "meter": [6, 291, 296, 297, 334, 340, 345, 351, 356, 380, 387, 597, 604, 787, 789], "radian": [6, 291, 296, 297, 324, 334, 345, 358, 363, 380, 387, 388, 403, 406, 416, 517, 611, 612, 784, 796, 797, 798], "help": [6, 673, 776, 788], "convert": [6, 28, 76, 100, 222, 233, 234, 238, 253, 254, 258, 263, 264, 267, 276, 277, 281, 288, 289, 292, 299, 300, 303, 310, 311, 315, 321, 322, 325, 326, 331, 332, 335, 342, 343, 346, 353, 354, 359, 367, 368, 372, 377, 378, 381, 399, 400, 404, 412, 413, 429, 435, 436, 439, 445, 446, 449, 461, 462, 466, 473, 474, 477, 491, 492, 522, 523, 539, 552, 553, 556, 562, 563, 566, 570, 571, 574, 575, 579, 584, 585, 588, 594, 595, 598, 606, 607, 611, 612, 659, 672, 753, 778], "one": [6, 13, 78, 150, 152, 250, 266, 302, 324, 363, 403, 406, 421, 428, 513, 514, 515, 517, 538, 587, 613, 621, 626, 631, 639, 643, 662, 670, 672, 673, 674, 756, 774, 781, 787, 788, 794, 797, 799], "other": [6, 69, 128, 222, 238, 258, 267, 281, 292, 297, 302, 303, 315, 326, 335, 346, 358, 359, 372, 381, 383, 391, 393, 394, 395, 403, 404, 406, 429, 439, 448, 449, 451, 452, 455, 456, 457, 466, 477, 488, 514, 539, 556, 566, 579, 588, 598, 662, 668, 672, 695, 699, 729, 746, 773, 781, 785, 791, 801], "common": [7, 421, 670, 674, 773, 779], "variou": [7, 672, 673, 674, 773, 776], "vendor": 7, "set": [8, 13, 27, 49, 73, 78, 89, 99, 121, 186, 296, 314, 356, 419, 423, 428, 467, 476, 485, 487, 492, 498, 499, 500, 538, 623, 625, 628, 640, 642, 644, 647, 668, 670, 671, 672, 749, 756, 777, 787, 788, 794, 796, 798, 799], "sourc": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 669, 670, 672, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 778, 787, 788, 789, 796, 799, 800], "base": [9, 12, 14, 17, 51, 52, 53, 56, 57, 58, 60, 61, 62, 69, 73, 75, 78, 86, 89, 123, 124, 136, 189, 190, 196, 197, 200, 203, 206, 209, 212, 215, 218, 221, 237, 257, 266, 280, 291, 296, 302, 314, 324, 325, 334, 345, 356, 358, 371, 380, 403, 416, 417, 428, 438, 448, 465, 476, 479, 495, 496, 497, 514, 533, 538, 543, 544, 545, 547, 555, 565, 578, 587, 597, 613, 631, 648, 649, 650, 651, 669, 670, 671, 672, 675, 677, 679, 681, 682, 694, 696, 698, 700, 702, 704, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, 736, 739, 742, 745, 746, 748, 749, 751, 752, 755, 756, 758, 761, 764, 767, 773, 774, 779, 781, 783, 787, 788, 789, 800], "sphericalwristkinemat": [9, 200], "ik": [9, 12, 13, 60, 74, 200, 203, 206, 209, 212, 215, 218, 228, 247, 465, 471, 513, 514, 672, 750, 794, 796], "solver": [9, 12, 13, 60, 61, 130, 200, 203, 206, 209, 212, 215, 218, 465, 467, 488, 513, 514, 672, 731, 788, 794, 796], "abb": [9, 534, 535, 670, 773, 777, 778], "irb4600": [9, 534, 670], "40": [9, 534, 670, 778, 797, 798], "255": [9, 670], "inherit": [9, 17, 53, 62, 89, 124, 136, 200, 203, 206, 209, 212, 215, 218, 221, 237, 257, 266, 280, 291, 302, 314, 325, 334, 345, 358, 371, 380, 403, 428, 438, 448, 465, 476, 538, 555, 565, 578, 587, 597, 672, 674], "method": [9, 12, 14, 17, 18, 19, 20, 28, 33, 36, 39, 43, 44, 46, 47, 48, 50, 53, 54, 55, 58, 59, 62, 86, 89, 90, 91, 92, 100, 105, 108, 111, 115, 116, 118, 119, 120, 122, 124, 129, 131, 132, 135, 136, 137, 138, 139, 150, 153, 161, 172, 177, 178, 179, 180, 181, 190, 197, 200, 203, 206, 209, 212, 215, 218, 221, 222, 224, 226, 237, 238, 241, 245, 257, 258, 266, 267, 280, 281, 291, 292, 302, 303, 314, 315, 325, 326, 334, 335, 345, 346, 356, 358, 359, 371, 372, 380, 381, 403, 404, 417, 428, 429, 438, 439, 448, 449, 465, 466, 476, 477, 488, 513, 514, 533, 538, 539, 555, 556, 565, 566, 578, 579, 587, 588, 597, 598, 613, 616, 619, 626, 631, 634, 637, 643, 672, 674, 675, 677, 679, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 696, 698, 700, 702, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, 736, 739, 742, 745, 748, 751, 755, 758, 761, 764, 767, 773, 791, 796], "joint_valu": [10, 87, 198, 201, 204, 207, 210, 213, 216, 219, 291, 380, 383, 391, 517, 672, 784, 794], "frame_rcf": [11, 88, 199, 202, 205, 208, 211, 214, 217, 220, 524, 525, 672, 774], "inversekinemat": [12, 672, 674, 730, 748, 800], "callabl": [12, 141, 143, 144, 150, 152, 162, 174, 175, 176, 674, 722, 724, 726, 728, 730, 732, 734, 736, 739, 742, 745, 748, 751, 755, 758, 761, 764, 767, 770], "calcul": [12, 13, 15, 21, 49, 69, 73, 75, 78, 93, 121, 128, 130, 227, 246, 324, 371, 391, 465, 488, 513, 514, 516, 517, 528, 529, 672, 674, 695, 699, 701, 703, 728, 729, 730, 731, 745, 746, 748, 749, 751, 752, 756, 783, 789, 792, 794, 796, 798], "": [12, 13, 15, 22, 28, 34, 35, 37, 38, 45, 49, 69, 73, 75, 78, 89, 94, 100, 106, 107, 109, 110, 117, 121, 128, 130, 136, 140, 173, 236, 256, 257, 265, 279, 290, 291, 301, 313, 314, 323, 333, 334, 339, 344, 345, 350, 355, 363, 370, 379, 383, 391, 393, 401, 403, 406, 415, 418, 419, 420, 421, 422, 423, 425, 428, 437, 438, 447, 452, 456, 464, 467, 475, 476, 478, 479, 483, 484, 486, 488, 491, 492, 495, 496, 497, 500, 501, 502, 503, 504, 505, 513, 514, 515, 516, 517, 524, 525, 526, 527, 528, 529, 530, 531, 554, 564, 565, 570, 571, 577, 586, 596, 604, 610, 613, 622, 626, 631, 643, 652, 653, 654, 655, 656, 659, 667, 668, 670, 672, 675, 677, 679, 694, 695, 696, 698, 699, 700, 701, 702, 703, 716, 718, 720, 728, 729, 730, 731, 745, 746, 748, 749, 752, 756, 774, 776, 777, 779, 781, 783, 785, 787, 789, 792, 796, 800], "invers": [12, 13, 17, 32, 69, 73, 104, 128, 130, 465, 467, 513, 514, 672, 674, 698, 699, 729, 730, 731, 746, 748, 749, 771, 780, 790, 793, 796, 800], "given": [12, 13, 21, 25, 28, 49, 73, 93, 97, 100, 121, 125, 126, 130, 140, 141, 143, 144, 191, 192, 193, 228, 247, 250, 291, 314, 334, 406, 428, 488, 507, 508, 511, 513, 515, 653, 699, 723, 725, 730, 731, 748, 749, 797], "frame": [12, 13, 28, 69, 73, 100, 125, 128, 130, 227, 228, 246, 247, 269, 273, 280, 334, 339, 340, 345, 350, 351, 356, 403, 406, 428, 438, 451, 452, 465, 467, 471, 478, 488, 491, 492, 493, 495, 502, 513, 514, 516, 517, 520, 524, 525, 529, 565, 570, 571, 587, 604, 659, 672, 674, 695, 699, 723, 729, 730, 731, 746, 748, 749, 771, 772, 776, 779, 783, 784, 785, 787, 788, 789, 792, 794, 795, 796, 798, 800], "paramet": [12, 13, 15, 21, 22, 24, 25, 26, 27, 28, 32, 34, 35, 37, 38, 40, 41, 42, 45, 49, 63, 65, 67, 69, 71, 73, 75, 78, 80, 82, 84, 89, 93, 94, 96, 97, 98, 99, 100, 104, 106, 107, 109, 110, 112, 113, 114, 117, 121, 125, 126, 127, 128, 130, 133, 134, 136, 148, 150, 152, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 186, 190, 191, 192, 193, 194, 195, 221, 223, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 239, 240, 243, 244, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 285, 286, 287, 288, 289, 290, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 305, 306, 308, 309, 310, 311, 313, 316, 317, 318, 320, 321, 322, 323, 324, 325, 327, 328, 329, 330, 331, 332, 333, 334, 336, 337, 338, 339, 340, 341, 342, 343, 344, 347, 348, 349, 350, 351, 352, 353, 354, 355, 358, 361, 362, 363, 364, 365, 366, 367, 368, 370, 371, 373, 374, 375, 376, 377, 378, 379, 380, 383, 384, 385, 386, 387, 388, 391, 393, 394, 395, 396, 397, 398, 399, 400, 401, 403, 406, 407, 408, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 424, 426, 430, 431, 432, 433, 434, 435, 436, 437, 440, 441, 442, 443, 444, 445, 446, 447, 448, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 467, 468, 469, 470, 472, 473, 474, 475, 476, 478, 479, 480, 481, 488, 489, 490, 491, 492, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 513, 514, 515, 516, 517, 518, 519, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 534, 535, 536, 537, 538, 540, 541, 542, 543, 547, 548, 549, 550, 551, 552, 553, 554, 557, 558, 559, 560, 561, 562, 563, 564, 565, 567, 568, 569, 570, 571, 573, 574, 575, 577, 580, 581, 582, 583, 584, 585, 586, 589, 590, 591, 592, 593, 594, 595, 596, 599, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 626, 627, 629, 630, 643, 645, 646, 659, 660, 663, 664, 665, 666, 672, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 735, 737, 740, 743, 746, 749, 752, 756, 759, 762, 765, 768, 781, 787, 789, 794], "clientinterfac": [12, 89, 136, 417, 476, 672, 674, 681, 800], "option": [12, 13, 15, 21, 28, 39, 42, 43, 49, 63, 65, 67, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 93, 100, 114, 121, 125, 126, 127, 128, 130, 133, 134, 173, 190, 193, 194, 195, 221, 225, 227, 228, 232, 233, 234, 235, 237, 243, 244, 246, 247, 252, 253, 254, 255, 257, 259, 262, 263, 264, 275, 276, 277, 280, 282, 287, 288, 289, 291, 293, 298, 299, 300, 302, 309, 310, 311, 314, 316, 320, 321, 322, 327, 330, 331, 332, 334, 336, 339, 341, 342, 343, 345, 347, 350, 352, 353, 354, 358, 366, 367, 368, 371, 373, 376, 377, 378, 380, 384, 387, 388, 398, 399, 400, 403, 406, 411, 412, 413, 418, 420, 421, 422, 428, 430, 434, 435, 436, 438, 440, 444, 445, 446, 448, 451, 452, 460, 461, 462, 467, 468, 472, 473, 474, 478, 479, 480, 481, 488, 491, 492, 493, 495, 496, 497, 498, 499, 500, 502, 503, 504, 509, 511, 513, 514, 516, 517, 518, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 534, 535, 536, 537, 538, 540, 547, 548, 549, 550, 551, 552, 553, 555, 557, 561, 562, 563, 567, 573, 574, 575, 580, 583, 584, 585, 587, 589, 593, 594, 595, 605, 606, 607, 626, 643, 660, 663, 668, 670, 671, 672, 674, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 735, 737, 740, 743, 746, 747, 749, 750, 752, 753, 754, 756, 757, 759, 762, 765, 768, 783, 784, 785, 787, 788, 789, 792, 794, 796, 798], "commun": [12, 76, 189, 476, 613, 616, 619, 631, 634, 637, 650, 670, 753, 781], "str": [12, 13, 15, 21, 28, 34, 40, 41, 49, 69, 73, 75, 78, 80, 82, 89, 93, 100, 106, 112, 113, 121, 128, 130, 133, 134, 136, 140, 165, 169, 173, 174, 175, 190, 191, 192, 193, 194, 195, 227, 229, 230, 232, 233, 234, 237, 240, 243, 246, 248, 249, 250, 252, 253, 254, 257, 260, 261, 262, 263, 264, 270, 271, 275, 276, 277, 280, 283, 284, 287, 288, 289, 291, 294, 295, 298, 299, 300, 305, 306, 309, 310, 311, 314, 317, 318, 320, 321, 322, 328, 329, 330, 331, 332, 334, 337, 338, 339, 341, 342, 343, 345, 348, 349, 350, 352, 353, 354, 358, 361, 362, 366, 367, 368, 371, 374, 375, 376, 377, 378, 385, 386, 387, 388, 398, 399, 400, 403, 406, 407, 408, 411, 412, 413, 422, 424, 426, 428, 431, 432, 434, 435, 436, 438, 441, 442, 444, 445, 446, 448, 451, 452, 453, 454, 455, 456, 457, 460, 461, 462, 469, 470, 472, 473, 474, 476, 478, 479, 481, 488, 489, 490, 491, 492, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 513, 514, 515, 516, 517, 518, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 538, 541, 542, 543, 547, 548, 549, 550, 551, 552, 553, 555, 558, 559, 561, 562, 563, 565, 568, 569, 573, 574, 575, 581, 582, 583, 584, 585, 587, 590, 591, 593, 594, 595, 601, 602, 605, 606, 607, 660, 663, 664, 666, 695, 699, 701, 703, 717, 719, 729, 731, 733, 735, 746, 749, 752, 756, 762, 765, 783], "note": [12, 13, 15, 28, 40, 69, 75, 78, 100, 112, 136, 140, 148, 150, 152, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 186, 266, 302, 356, 363, 394, 395, 403, 406, 428, 465, 488, 498, 499, 500, 516, 517, 518, 555, 587, 604, 616, 619, 621, 622, 630, 634, 637, 639, 646, 654, 655, 656, 667, 671, 699, 746, 752, 756, 779, 788, 791, 792, 798, 799], "onli": [12, 13, 15, 21, 93, 130, 173, 190, 228, 235, 247, 255, 297, 314, 325, 363, 396, 397, 403, 406, 428, 452, 465, 467, 476, 479, 513, 538, 555, 565, 587, 613, 614, 616, 619, 621, 626, 631, 632, 634, 637, 639, 643, 651, 670, 671, 672, 731, 770, 779, 785, 788, 789, 791, 796, 797, 799], "industri": [12, 13, 228, 247, 773, 776, 777, 787, 789, 794], "arm": [12, 538, 778, 794], "six": 12, "revolut": [12, 13, 15, 291, 296, 297, 380, 387, 388, 391, 774, 776, 794], "joint": [12, 13, 15, 49, 69, 73, 75, 78, 121, 128, 130, 150, 152, 291, 296, 297, 302, 314, 358, 363, 364, 371, 380, 382, 387, 388, 391, 393, 394, 395, 396, 397, 479, 488, 495, 498, 499, 500, 502, 505, 507, 508, 511, 513, 514, 515, 516, 517, 530, 532, 538, 546, 548, 549, 555, 672, 695, 699, 701, 703, 729, 731, 746, 749, 752, 755, 756, 774, 775, 779, 780, 783, 787, 789, 792, 794], "If": [12, 13, 21, 22, 25, 28, 34, 35, 49, 54, 55, 59, 69, 73, 75, 93, 94, 97, 100, 106, 107, 121, 126, 128, 130, 142, 145, 173, 174, 176, 185, 223, 227, 228, 229, 230, 232, 233, 234, 235, 239, 246, 247, 248, 249, 252, 253, 254, 255, 260, 261, 262, 263, 264, 270, 271, 275, 276, 277, 283, 284, 287, 288, 289, 291, 294, 295, 298, 299, 300, 305, 306, 309, 310, 311, 317, 318, 320, 321, 322, 325, 328, 329, 330, 331, 332, 334, 337, 338, 339, 340, 341, 342, 343, 345, 348, 349, 350, 351, 352, 353, 354, 361, 362, 363, 366, 367, 368, 374, 375, 376, 377, 378, 385, 386, 391, 394, 395, 398, 399, 400, 403, 406, 407, 408, 411, 412, 413, 418, 420, 421, 422, 423, 428, 431, 432, 434, 435, 436, 438, 441, 442, 444, 445, 446, 452, 453, 454, 460, 461, 462, 467, 469, 470, 472, 473, 474, 485, 486, 487, 488, 489, 490, 491, 492, 498, 499, 500, 511, 513, 514, 515, 521, 522, 523, 532, 541, 542, 551, 552, 553, 558, 559, 560, 561, 562, 563, 568, 569, 573, 574, 575, 581, 582, 583, 584, 585, 590, 591, 592, 593, 594, 595, 601, 602, 605, 606, 607, 658, 667, 668, 673, 695, 725, 729, 731, 746, 749, 752, 776, 781, 787, 788, 791, 796, 799], "check_collis": [12, 13, 128, 729, 794, 796], "i": [12, 13, 15, 21, 24, 25, 26, 28, 40, 49, 50, 54, 69, 73, 75, 76, 78, 89, 93, 96, 97, 98, 100, 112, 121, 122, 125, 126, 128, 130, 136, 142, 143, 144, 145, 150, 152, 173, 175, 176, 182, 185, 190, 227, 229, 230, 235, 236, 246, 248, 249, 255, 256, 257, 260, 261, 265, 270, 271, 279, 280, 283, 284, 290, 291, 294, 295, 296, 301, 305, 306, 313, 314, 317, 318, 323, 325, 328, 329, 333, 334, 337, 338, 339, 340, 344, 345, 348, 349, 350, 351, 355, 356, 361, 362, 363, 370, 374, 375, 379, 380, 382, 385, 386, 391, 394, 395, 396, 397, 401, 403, 406, 407, 408, 415, 419, 420, 423, 428, 431, 432, 437, 438, 441, 442, 447, 452, 453, 454, 464, 467, 469, 470, 475, 476, 478, 485, 487, 488, 489, 490, 492, 495, 498, 499, 500, 502, 513, 514, 515, 516, 517, 518, 531, 532, 534, 535, 536, 537, 538, 541, 542, 543, 546, 549, 554, 558, 559, 560, 564, 565, 568, 569, 577, 581, 582, 586, 587, 590, 591, 592, 596, 601, 602, 610, 613, 614, 617, 621, 622, 626, 631, 632, 635, 639, 643, 652, 653, 654, 655, 656, 660, 662, 667, 668, 669, 670, 671, 672, 673, 674, 695, 699, 701, 703, 723, 725, 729, 731, 746, 749, 752, 753, 756, 770, 773, 774, 776, 777, 778, 779, 781, 782, 783, 785, 786, 787, 788, 789, 791, 792, 794, 796, 797, 798, 799, 801], "true": [12, 13, 21, 22, 27, 28, 40, 42, 54, 73, 75, 89, 93, 94, 99, 100, 112, 114, 125, 126, 127, 128, 130, 136, 173, 176, 190, 191, 232, 233, 234, 252, 253, 254, 262, 263, 264, 275, 276, 277, 287, 288, 289, 298, 299, 300, 309, 310, 311, 320, 321, 322, 330, 331, 332, 341, 342, 343, 352, 353, 354, 366, 367, 368, 376, 377, 378, 383, 391, 398, 399, 400, 411, 412, 413, 418, 420, 421, 422, 434, 435, 436, 444, 445, 446, 460, 461, 462, 472, 473, 474, 488, 513, 514, 516, 521, 522, 523, 530, 534, 535, 536, 537, 551, 552, 553, 561, 562, 563, 573, 574, 575, 583, 584, 585, 593, 594, 595, 605, 606, 607, 652, 671, 723, 725, 727, 729, 731, 749, 752, 777, 781, 784, 785, 787, 788, 789, 791, 794, 796], "requir": [12, 40, 112, 150, 152, 184, 314, 614, 632, 670, 673, 674, 770, 783, 787, 789, 791, 792, 794], "support": [12, 52, 77, 150, 152, 266, 314, 319, 516, 555, 587, 669, 671, 672, 681, 754, 771, 777, 779, 781, 787, 789, 794, 799], "so": [12, 89, 136, 533, 613, 631, 770, 801], "now": [12, 422, 670, 672, 674, 781, 787, 788, 789, 796, 797, 798], "pybulletcli": [12, 17, 128, 538, 672, 729, 791, 792, 794, 796], "frame_wcf": [13, 39, 73, 74, 130, 406, 452, 513, 514, 524, 525, 672, 674, 699, 731, 749, 750, 774, 783, 792, 794], "start_configur": [13, 15, 39, 43, 73, 74, 75, 76, 77, 78, 79, 130, 371, 513, 514, 516, 517, 672, 674, 699, 701, 703, 731, 749, 750, 752, 753, 754, 755, 756, 757, 783, 784, 792, 794], "none": [13, 15, 25, 27, 28, 32, 39, 40, 43, 49, 55, 59, 63, 65, 67, 69, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 97, 99, 100, 104, 112, 121, 125, 126, 127, 128, 130, 133, 134, 148, 150, 152, 154, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 186, 193, 225, 227, 228, 231, 240, 242, 243, 244, 246, 247, 251, 259, 282, 293, 316, 324, 327, 336, 339, 347, 350, 373, 384, 387, 388, 389, 396, 397, 406, 416, 418, 419, 420, 421, 422, 424, 426, 430, 440, 452, 467, 468, 476, 478, 479, 480, 481, 488, 491, 492, 493, 495, 496, 497, 498, 499, 500, 502, 503, 504, 509, 511, 513, 514, 516, 517, 518, 519, 520, 524, 525, 526, 527, 528, 529, 530, 532, 534, 535, 536, 537, 540, 547, 548, 549, 550, 557, 565, 567, 576, 580, 589, 608, 620, 626, 638, 643, 660, 672, 674, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 735, 737, 740, 743, 746, 749, 750, 752, 753, 754, 756, 757, 759, 762, 765, 768, 794], "group": [13, 15, 39, 43, 49, 69, 73, 74, 75, 76, 77, 78, 79, 121, 128, 130, 240, 250, 291, 334, 406, 419, 421, 422, 428, 452, 476, 478, 481, 488, 491, 492, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 509, 511, 513, 514, 515, 516, 517, 518, 520, 524, 525, 526, 527, 528, 529, 530, 532, 538, 547, 548, 549, 550, 672, 674, 695, 699, 701, 703, 729, 731, 746, 749, 750, 752, 753, 754, 756, 757, 779, 780, 784], "6": [13, 15, 130, 228, 247, 325, 403, 406, 513, 514, 516, 603, 629, 672, 731, 774, 778, 784, 787, 792, 794, 797], "axi": [13, 77, 228, 247, 324, 387, 403, 406, 416, 428, 433, 438, 443, 754, 773, 774, 776, 779, 787, 789, 794, 795, 796], "return": [13, 15, 21, 27, 28, 32, 34, 35, 37, 38, 42, 54, 55, 59, 63, 65, 67, 69, 71, 73, 75, 78, 80, 82, 84, 93, 99, 100, 104, 106, 107, 109, 110, 114, 125, 126, 127, 128, 130, 133, 134, 141, 145, 150, 152, 156, 159, 160, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 191, 192, 193, 194, 195, 223, 225, 227, 228, 229, 230, 231, 232, 234, 236, 239, 240, 242, 243, 244, 246, 247, 248, 249, 250, 251, 252, 254, 256, 259, 260, 261, 262, 264, 265, 268, 269, 270, 271, 272, 273, 275, 277, 279, 282, 283, 284, 287, 289, 290, 293, 294, 295, 296, 297, 298, 300, 301, 304, 305, 306, 309, 311, 313, 316, 317, 318, 319, 320, 322, 323, 325, 327, 328, 329, 330, 332, 333, 336, 337, 338, 339, 340, 341, 343, 344, 347, 348, 349, 350, 351, 352, 354, 355, 357, 360, 361, 362, 363, 366, 368, 370, 373, 374, 375, 376, 378, 379, 383, 384, 385, 386, 387, 388, 393, 395, 396, 397, 398, 400, 401, 405, 406, 407, 408, 411, 413, 415, 418, 420, 421, 422, 424, 426, 430, 431, 432, 433, 434, 436, 437, 440, 441, 442, 443, 444, 446, 447, 450, 451, 452, 453, 454, 455, 456, 457, 460, 462, 464, 465, 468, 469, 470, 471, 472, 474, 475, 476, 478, 479, 480, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 513, 514, 515, 516, 517, 518, 519, 521, 523, 524, 525, 526, 527, 528, 529, 531, 534, 535, 536, 537, 540, 541, 542, 546, 547, 548, 549, 550, 551, 553, 554, 557, 558, 559, 560, 561, 563, 564, 567, 568, 569, 570, 571, 573, 575, 577, 580, 581, 582, 583, 585, 586, 589, 590, 591, 592, 593, 595, 596, 599, 600, 601, 602, 603, 604, 605, 607, 608, 609, 610, 611, 612, 621, 622, 623, 626, 639, 640, 643, 652, 653, 654, 655, 656, 657, 658, 659, 660, 662, 663, 664, 665, 672, 674, 676, 678, 680, 695, 697, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 735, 737, 740, 743, 746, 749, 752, 756, 759, 762, 765, 768, 796, 798], "default": [13, 21, 22, 25, 27, 28, 40, 42, 49, 50, 69, 73, 75, 78, 89, 93, 94, 97, 99, 100, 112, 114, 121, 122, 125, 126, 127, 128, 129, 130, 131, 132, 135, 136, 150, 152, 173, 190, 194, 195, 222, 225, 233, 234, 238, 244, 253, 254, 257, 258, 259, 263, 264, 267, 276, 277, 280, 281, 282, 288, 289, 291, 292, 293, 296, 299, 300, 302, 303, 310, 311, 314, 315, 316, 321, 322, 326, 327, 331, 332, 334, 335, 336, 339, 340, 342, 343, 345, 346, 347, 350, 351, 353, 354, 358, 359, 367, 368, 372, 373, 377, 378, 381, 383, 384, 389, 399, 400, 403, 404, 406, 412, 413, 422, 428, 429, 430, 435, 436, 438, 439, 440, 445, 446, 448, 449, 451, 452, 455, 456, 457, 461, 462, 466, 468, 473, 474, 476, 477, 478, 480, 481, 488, 491, 492, 493, 495, 496, 497, 498, 499, 500, 502, 503, 504, 509, 511, 513, 514, 516, 517, 518, 522, 523, 524, 525, 526, 527, 528, 529, 530, 534, 535, 536, 537, 539, 540, 547, 548, 549, 550, 552, 553, 555, 556, 557, 562, 563, 565, 566, 567, 574, 575, 579, 580, 584, 585, 587, 588, 589, 594, 595, 598, 606, 607, 613, 626, 631, 643, 663, 670, 672, 674, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 723, 725, 727, 729, 731, 746, 749, 752, 756, 774, 787, 788, 789, 796, 799], "8": [13, 73, 228, 247, 672, 749, 787, 789, 794, 799], "possibl": [13, 28, 100, 280, 302, 465, 514, 670, 671, 673, 674, 779, 783, 792, 794, 799], "solut": [13, 60, 75, 78, 228, 247, 465, 513, 514, 516, 517, 672, 752, 756, 783, 792, 794, 796], "These": [13, 670, 674, 778], "have": [13, 15, 57, 129, 131, 132, 135, 223, 239, 363, 587, 613, 626, 631, 643, 668, 670, 672, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 773, 777, 779, 781, 782, 783, 784, 785, 786, 787, 788, 794, 796, 797], "an": [13, 21, 22, 51, 55, 59, 75, 80, 93, 94, 133, 140, 141, 145, 150, 152, 168, 173, 174, 175, 189, 194, 196, 223, 225, 229, 230, 233, 234, 236, 239, 243, 244, 248, 249, 253, 254, 256, 259, 260, 261, 263, 264, 265, 270, 271, 276, 277, 279, 282, 283, 284, 288, 289, 290, 293, 294, 295, 299, 300, 301, 305, 306, 310, 311, 313, 316, 317, 318, 321, 322, 323, 327, 328, 329, 331, 332, 333, 336, 337, 338, 342, 343, 344, 347, 348, 349, 353, 354, 355, 361, 362, 367, 368, 370, 373, 374, 375, 377, 378, 379, 382, 384, 385, 386, 387, 388, 399, 400, 401, 403, 406, 407, 408, 412, 413, 415, 416, 418, 421, 424, 428, 430, 431, 432, 435, 436, 437, 440, 441, 442, 445, 446, 447, 453, 454, 461, 462, 464, 467, 468, 469, 470, 473, 474, 475, 476, 480, 489, 490, 513, 514, 522, 523, 531, 538, 540, 541, 542, 543, 544, 545, 552, 553, 554, 557, 558, 559, 562, 563, 564, 567, 568, 569, 574, 575, 577, 580, 581, 582, 584, 585, 586, 589, 590, 591, 594, 595, 596, 601, 602, 606, 607, 610, 613, 614, 622, 626, 627, 631, 632, 643, 656, 664, 668, 669, 670, 671, 672, 673, 717, 732, 733, 752, 761, 762, 771, 774, 776, 777, 780, 781, 788, 789, 792, 794, 795, 796, 798, 799, 800, 801], "order": [13, 235, 255, 403, 513, 538, 587, 668, 774, 787, 794], "That": [13, 40, 112, 789, 794], "mean": [13, 302, 358, 371, 403, 406, 448, 451, 452, 455, 456, 457, 534, 535, 536, 537, 599, 783, 792, 794, 799], "you": [13, 50, 122, 363, 403, 406, 613, 631, 660, 667, 668, 670, 673, 777, 781, 782, 783, 784, 785, 787, 788, 789, 791, 794, 796, 799], "call": [13, 18, 19, 20, 28, 33, 36, 39, 43, 44, 46, 47, 48, 54, 90, 91, 92, 100, 105, 108, 111, 115, 116, 118, 119, 120, 128, 137, 138, 139, 141, 143, 144, 148, 153, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 177, 178, 179, 180, 181, 186, 513, 616, 619, 634, 637, 672, 674, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 729, 776, 781, 785, 788, 791, 794], "two": [13, 57, 325, 538, 652, 658, 670, 671, 672, 771, 773, 776, 780, 781, 782, 785, 794, 797, 798, 800], "subsequ": [13, 794], "compar": [13, 383, 391, 393, 779, 794, 796], "configur": [13, 15, 16, 24, 25, 26, 32, 37, 49, 69, 70, 73, 75, 78, 96, 97, 98, 104, 109, 121, 128, 130, 151, 291, 296, 297, 314, 363, 371, 380, 383, 387, 388, 391, 393, 394, 396, 397, 465, 471, 488, 495, 498, 499, 500, 501, 502, 505, 511, 513, 514, 515, 516, 517, 518, 528, 529, 530, 532, 546, 548, 549, 555, 670, 671, 672, 695, 699, 701, 703, 729, 731, 746, 747, 749, 752, 756, 777, 779, 780, 781, 782, 783, 784, 785, 787, 792, 794], "first": [13, 227, 235, 246, 255, 465, 547, 663, 671, 672, 770, 780, 787, 789, 790, 794, 798], "second": [13, 50, 55, 59, 73, 78, 122, 141, 144, 145, 325, 672, 749, 756, 781, 784, 788, 794], "respect": [13, 227, 246, 380, 403, 663, 668, 672, 789, 794, 796], "indic": [13, 42, 51, 52, 60, 61, 114, 136, 371, 514, 613, 623, 626, 631, 640, 643, 656, 794, 798], "close": [13, 781, 791, 794], "anoth": [13, 334, 345, 391, 393, 394, 395, 546, 549, 661, 674, 781, 787, 789, 794, 797], "reason": [13, 794], "certain": [13, 144, 358, 383, 403, 448, 465, 662, 776, 783, 788, 792, 794, 796, 797], "case": [13, 123, 150, 152, 314, 394, 395, 515, 668, 777, 779, 785, 789, 794, 796, 797, 798], "e": [13, 15, 75, 78, 203, 206, 212, 218, 314, 371, 380, 396, 397, 476, 495, 502, 516, 517, 538, 546, 549, 660, 667, 668, 670, 672, 673, 701, 703, 752, 756, 771, 773, 776, 779, 787, 794, 796, 799, 800], "g": [13, 314, 371, 380, 476, 660, 667, 668, 672, 673, 771, 787, 794, 800], "cartesian": [13, 15, 75, 76, 77, 314, 516, 672, 700, 701, 751, 752, 753, 754, 779, 780, 783, 794], "make": [13, 28, 40, 100, 112, 136, 148, 156, 157, 158, 159, 160, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 186, 222, 225, 238, 244, 258, 259, 267, 268, 281, 282, 292, 293, 303, 315, 316, 326, 327, 335, 336, 346, 347, 359, 363, 372, 373, 381, 384, 404, 429, 430, 439, 440, 449, 465, 466, 467, 468, 477, 480, 539, 540, 556, 557, 566, 567, 579, 580, 588, 589, 598, 600, 668, 669, 671, 673, 674, 777, 781, 782, 783, 784, 785, 787, 789, 791, 794, 797, 799, 800], "sens": [13, 465, 467, 794, 797], "keep": [13, 513, 514, 672, 673, 785, 794], "can": [13, 28, 40, 53, 56, 73, 75, 78, 100, 112, 191, 193, 236, 256, 265, 266, 279, 290, 301, 313, 314, 323, 333, 344, 355, 356, 370, 379, 401, 403, 415, 428, 437, 438, 447, 464, 475, 476, 513, 514, 516, 517, 531, 533, 534, 535, 536, 537, 546, 549, 554, 564, 577, 586, 596, 610, 613, 621, 626, 631, 639, 643, 668, 670, 671, 672, 674, 749, 752, 756, 771, 773, 776, 777, 778, 779, 781, 782, 787, 788, 789, 794, 796, 797, 798, 799], "achiev": [13, 363, 403, 517, 703, 781, 794], "keep_ord": [13, 794, 796], "collis": [13, 17, 21, 22, 23, 24, 25, 26, 28, 32, 40, 42, 50, 57, 63, 65, 67, 73, 75, 80, 82, 84, 93, 94, 95, 96, 97, 98, 100, 104, 112, 114, 122, 125, 126, 127, 133, 134, 257, 280, 285, 286, 371, 418, 420, 421, 422, 424, 426, 427, 483, 494, 510, 518, 530, 533, 538, 565, 669, 672, 675, 676, 677, 678, 679, 680, 716, 717, 718, 719, 721, 722, 723, 724, 725, 726, 727, 732, 733, 734, 735, 736, 737, 739, 740, 742, 743, 749, 752, 761, 762, 764, 765, 767, 768, 771, 780, 784, 787, 789, 791, 794, 796, 800], "outsid": [13, 794], "boundari": [13, 794], "remov": [13, 40, 80, 82, 84, 112, 133, 134, 174, 421, 424, 425, 426, 427, 604, 672, 716, 717, 718, 719, 721, 732, 733, 734, 735, 761, 762, 764, 765, 768, 791, 794], "list": [13, 32, 40, 73, 75, 78, 104, 112, 125, 130, 154, 157, 158, 160, 166, 167, 170, 171, 193, 227, 240, 246, 247, 257, 266, 291, 296, 302, 314, 324, 345, 350, 356, 363, 371, 380, 387, 388, 403, 406, 438, 465, 467, 476, 478, 479, 491, 492, 494, 498, 499, 500, 506, 508, 509, 510, 516, 517, 528, 529, 538, 546, 548, 549, 565, 570, 571, 587, 599, 603, 611, 612, 622, 626, 643, 652, 654, 655, 656, 658, 660, 662, 670, 674, 699, 723, 731, 749, 752, 756, 779, 788, 794, 797, 798, 799], "instanc": [13, 15, 28, 42, 69, 73, 75, 78, 100, 114, 125, 128, 130, 133, 150, 152, 168, 173, 192, 222, 229, 230, 238, 248, 249, 258, 260, 261, 267, 270, 271, 281, 283, 284, 292, 294, 295, 303, 305, 306, 315, 317, 318, 326, 328, 329, 335, 337, 338, 346, 348, 349, 359, 361, 362, 372, 374, 375, 381, 385, 386, 387, 388, 404, 407, 408, 426, 429, 431, 432, 439, 441, 442, 449, 453, 454, 466, 467, 469, 470, 476, 477, 479, 488, 489, 490, 530, 534, 535, 536, 537, 539, 541, 542, 543, 544, 545, 556, 558, 559, 566, 568, 569, 579, 581, 582, 588, 590, 591, 598, 601, 602, 613, 616, 619, 631, 634, 637, 650, 672, 695, 699, 701, 703, 723, 729, 731, 733, 746, 749, 752, 756, 771, 777, 785], "which": [13, 15, 21, 32, 69, 73, 75, 78, 93, 104, 125, 128, 130, 133, 162, 174, 175, 314, 324, 383, 406, 416, 428, 452, 465, 467, 495, 534, 535, 536, 537, 565, 587, 613, 622, 626, 631, 643, 670, 672, 674, 695, 699, 701, 703, 723, 729, 731, 733, 746, 749, 752, 756, 770, 774, 776, 777, 779, 785, 786, 787, 789, 791, 792, 799], "being": [13, 15, 54, 69, 73, 75, 78, 128, 130, 152, 467, 669, 672, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 729, 731, 746, 749, 752, 756, 792], "geometri": [13, 22, 28, 31, 40, 42, 73, 94, 100, 103, 112, 114, 125, 130, 173, 227, 246, 266, 269, 273, 278, 280, 324, 334, 339, 345, 350, 391, 403, 406, 414, 416, 428, 438, 448, 451, 452, 456, 457, 463, 465, 467, 483, 484, 486, 488, 491, 492, 493, 495, 502, 510, 513, 514, 519, 524, 525, 526, 527, 528, 529, 530, 534, 535, 536, 537, 565, 570, 571, 587, 597, 604, 672, 674, 699, 723, 731, 749, 773, 774, 777, 779, 783, 784, 785, 787, 789, 791, 792, 794, 796, 797, 798], "determin": [13, 128, 130, 191, 314, 630, 646, 729, 731, 779, 796], "end": [13, 69, 75, 128, 130, 140, 243, 291, 314, 334, 345, 406, 422, 428, 438, 452, 478, 488, 502, 503, 504, 517, 538, 550, 613, 631, 668, 672, 674, 729, 731, 746, 752, 771, 779, 780, 783, 791, 792, 794, 796, 800], "effector": [13, 69, 75, 128, 130, 291, 314, 334, 345, 406, 422, 428, 438, 452, 478, 488, 502, 503, 504, 538, 550, 672, 729, 731, 746, 752, 771, 779, 780, 783, 791, 792, 794, 796, 800], "label": [13, 128, 130, 428, 729, 731, 780], "dict": [13, 15, 63, 65, 67, 69, 71, 73, 75, 78, 80, 82, 84, 125, 126, 127, 128, 130, 133, 134, 221, 223, 237, 239, 371, 380, 467, 476, 479, 488, 513, 514, 516, 517, 538, 578, 663, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 735, 737, 740, 743, 746, 749, 752, 756, 759, 762, 765, 768, 783, 784, 792], "dictionari": [13, 15, 69, 73, 75, 78, 125, 126, 127, 128, 130, 133, 476, 488, 513, 514, 516, 517, 538, 663, 672, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 723, 725, 727, 729, 731, 733, 746, 749, 752, 756], "kei": [13, 15, 69, 73, 75, 78, 125, 126, 127, 128, 130, 133, 389, 488, 513, 514, 516, 517, 538, 663, 670, 672, 723, 725, 727, 729, 731, 733, 746, 749, 752, 756], "valu": [13, 15, 49, 55, 58, 59, 69, 73, 75, 78, 121, 125, 126, 127, 128, 130, 133, 159, 186, 291, 296, 297, 314, 325, 334, 339, 345, 350, 358, 363, 364, 380, 382, 387, 388, 393, 394, 395, 403, 406, 428, 438, 488, 495, 502, 513, 514, 515, 516, 517, 532, 538, 603, 611, 612, 623, 626, 629, 630, 640, 643, 645, 646, 653, 654, 655, 657, 661, 663, 672, 674, 701, 703, 723, 725, 727, 729, 731, 733, 746, 749, 752, 756, 779, 787, 788, 789], "pair": [13, 15, 69, 73, 75, 78, 125, 126, 127, 128, 130, 133, 488, 513, 514, 516, 517, 538, 723, 725, 727, 729, 731, 733, 746, 749, 752, 756], "when": [13, 21, 22, 28, 40, 42, 56, 57, 58, 93, 94, 100, 112, 114, 125, 126, 127, 128, 130, 144, 150, 152, 162, 175, 176, 222, 238, 258, 267, 281, 292, 303, 315, 326, 334, 335, 345, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 543, 556, 566, 579, 588, 598, 613, 621, 626, 631, 639, 643, 651, 671, 672, 673, 674, 723, 725, 727, 729, 731, 779, 781, 785, 787, 791, 799], "fals": [13, 21, 22, 28, 40, 42, 54, 89, 93, 94, 100, 112, 114, 125, 126, 127, 128, 130, 136, 173, 176, 190, 191, 232, 233, 234, 252, 253, 254, 262, 263, 264, 275, 276, 277, 287, 288, 289, 298, 299, 300, 309, 310, 311, 320, 321, 322, 330, 331, 332, 341, 342, 343, 352, 353, 354, 366, 367, 368, 376, 377, 378, 383, 398, 399, 400, 411, 412, 413, 418, 420, 421, 422, 434, 435, 436, 444, 445, 446, 460, 461, 462, 472, 473, 474, 513, 514, 521, 522, 523, 530, 534, 535, 536, 537, 551, 552, 553, 561, 562, 563, 573, 574, 575, 583, 584, 585, 593, 594, 595, 605, 606, 607, 660, 723, 725, 727, 729, 731, 773], "yield": [13, 73, 130, 235, 255, 324, 391, 416, 467, 513, 514, 672, 699, 731, 749, 796, 797, 798], "tupl": [13, 21, 27, 73, 93, 99, 130, 296, 438, 465, 538, 623, 640, 699, 731, 749], "A": [13, 42, 73, 114, 130, 162, 193, 240, 266, 268, 302, 314, 356, 358, 380, 395, 403, 406, 417, 428, 448, 451, 452, 455, 456, 457, 467, 476, 478, 479, 494, 506, 515, 524, 525, 533, 538, 546, 549, 555, 587, 597, 626, 643, 660, 665, 667, 699, 731, 749, 776, 779, 781, 794, 796, 801], "2": [13, 73, 75, 78, 130, 273, 325, 356, 383, 391, 393, 428, 452, 488, 513, 514, 516, 532, 534, 538, 597, 599, 603, 608, 609, 613, 629, 630, 631, 646, 658, 670, 672, 699, 731, 749, 752, 756, 770, 774, 778, 779, 780, 783, 784, 787, 789, 792, 796, 797, 799, 800], "element": [13, 73, 125, 130, 356, 652, 658, 699, 723, 731, 749, 776, 789, 796], "posit": [13, 15, 73, 75, 78, 130, 150, 152, 291, 302, 334, 339, 345, 350, 356, 380, 387, 396, 406, 428, 438, 452, 456, 511, 513, 514, 515, 517, 614, 632, 645, 665, 699, 701, 703, 731, 749, 752, 756, 773, 774, 779, 787, 788, 789, 794, 796, 798], "match": [13, 73, 130, 167, 171, 291, 334, 428, 488, 507, 511, 517, 674, 699, 731, 749, 787, 789], "name": [13, 28, 40, 41, 49, 69, 73, 75, 78, 80, 82, 100, 112, 113, 121, 128, 130, 133, 134, 136, 148, 149, 150, 152, 157, 158, 159, 160, 166, 173, 174, 175, 186, 190, 194, 195, 240, 243, 250, 257, 280, 291, 314, 334, 339, 345, 350, 358, 363, 371, 382, 387, 388, 394, 395, 403, 406, 428, 438, 448, 451, 452, 455, 456, 457, 476, 478, 479, 488, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 515, 516, 517, 518, 524, 525, 526, 527, 530, 533, 538, 547, 548, 549, 550, 555, 565, 587, 672, 673, 695, 699, 703, 717, 719, 729, 731, 733, 735, 746, 749, 752, 756, 762, 765, 782, 783, 784, 785, 787, 788, 789, 797, 799], "also": [13, 69, 465, 488, 530, 613, 626, 631, 643, 669, 672, 746, 777, 781, 783, 785, 787, 788, 789, 792, 794, 799], "rais": [13, 22, 23, 24, 25, 26, 34, 35, 55, 56, 57, 59, 73, 94, 95, 96, 97, 98, 106, 107, 129, 130, 131, 132, 135, 141, 145, 223, 229, 230, 235, 239, 248, 249, 255, 260, 261, 270, 271, 283, 284, 294, 295, 305, 306, 317, 318, 319, 328, 329, 337, 338, 348, 349, 361, 362, 363, 374, 375, 382, 385, 386, 391, 394, 395, 406, 407, 408, 423, 431, 432, 441, 442, 453, 454, 467, 469, 470, 485, 486, 487, 488, 489, 490, 491, 492, 511, 513, 514, 515, 520, 541, 542, 558, 559, 568, 569, 581, 582, 590, 591, 601, 602, 648, 649, 658, 672, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 731, 749], "valueerror": [13, 223, 235, 239, 255, 363, 391, 394, 395, 406, 467, 488, 511, 515, 658], "solv": [13, 50, 122, 794], "ha": [13, 22, 28, 30, 31, 34, 35, 55, 59, 94, 100, 102, 103, 106, 107, 144, 229, 230, 248, 249, 260, 261, 270, 271, 283, 284, 291, 294, 295, 305, 306, 317, 318, 328, 329, 334, 337, 338, 345, 348, 349, 361, 362, 363, 374, 375, 385, 386, 407, 408, 423, 431, 432, 441, 442, 453, 454, 467, 469, 470, 486, 489, 490, 491, 541, 542, 558, 559, 568, 569, 581, 582, 590, 591, 601, 602, 613, 631, 665, 672, 674, 774, 776, 782, 785, 787, 789, 792, 799], "been": [13, 22, 28, 30, 31, 34, 35, 57, 94, 100, 102, 103, 106, 107, 291, 486, 614, 632, 672, 786], "pass": [13, 15, 69, 73, 128, 130, 144, 148, 152, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 186, 228, 247, 325, 340, 351, 363, 403, 406, 467, 479, 488, 498, 499, 500, 513, 514, 516, 517, 560, 587, 592, 658, 672, 673, 674, 695, 729, 731, 746, 749, 777, 779, 781, 787, 796, 797, 798], "plancartesianmot": [14, 751, 800], "linear": [15, 75, 516, 597, 661, 672, 701, 751, 752, 771, 780, 800], "space": [15, 75, 314, 416, 516, 597, 653, 672, 701, 751, 752, 755, 774, 779, 783, 791, 796], "compas_robot": [15, 35, 37, 38, 40, 75, 107, 109, 110, 112, 221, 237, 257, 291, 296, 371, 380, 418, 465, 476, 479, 495, 496, 499, 500, 501, 502, 503, 505, 507, 508, 511, 513, 514, 515, 516, 517, 518, 528, 529, 530, 543, 546, 549, 565, 672, 695, 699, 701, 703, 752, 774, 776, 777, 783, 791, 792], "full": [15, 49, 69, 75, 78, 121, 128, 371, 488, 495, 502, 513, 514, 515, 516, 517, 660, 668, 670, 672, 695, 701, 703, 729, 746, 752, 756, 782, 784, 796, 798], "all": [15, 50, 75, 78, 84, 122, 173, 174, 314, 363, 394, 395, 403, 406, 421, 427, 465, 476, 494, 495, 498, 499, 500, 502, 505, 513, 514, 515, 516, 517, 538, 546, 548, 549, 650, 668, 670, 671, 672, 673, 674, 681, 682, 701, 703, 704, 721, 752, 756, 768, 776, 785, 787, 788, 789, 796, 799, 801], "entir": [15, 75, 78, 173, 495, 502, 516, 517, 671, 701, 703, 752, 756, 777], "start": [15, 75, 78, 182, 184, 243, 371, 380, 516, 517, 587, 613, 616, 631, 634, 653, 670, 671, 673, 701, 703, 752, 756, 773, 777, 780, 781, 782, 783, 784, 785, 787, 800], "iter_inverse_kinemat": [15, 672, 783, 792, 794], "jointtrajectori": [15, 75, 78, 150, 152, 516, 517, 672, 701, 703, 752, 756], "trajectori": [15, 75, 78, 150, 152, 371, 380, 516, 517, 672, 701, 703, 752, 756, 784, 794], "combin": [17, 89, 136, 613, 631, 670, 779, 786, 787, 789, 797, 798], "detect": [17, 40, 50, 112, 122, 615, 627, 633, 669, 672, 787], "arg": [18, 19, 20, 33, 36, 44, 46, 47, 48, 90, 91, 92, 105, 108, 111, 115, 116, 118, 119, 120, 129, 131, 132, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 149, 153, 161, 162, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 185, 650, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 773, 787, 789], "kwarg": [18, 19, 20, 33, 36, 44, 46, 47, 48, 90, 91, 92, 105, 108, 111, 115, 116, 118, 119, 120, 129, 131, 132, 135, 137, 138, 139, 153, 161, 172, 177, 178, 179, 180, 181, 221, 223, 237, 239, 479, 676, 678, 680, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 695, 697, 699, 701, 703, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 717, 719, 721], "forward": [18, 19, 20, 33, 36, 39, 43, 44, 46, 47, 48, 50, 69, 75, 90, 91, 92, 105, 108, 111, 115, 116, 118, 119, 120, 122, 128, 137, 138, 139, 153, 161, 172, 177, 178, 179, 180, 181, 488, 668, 672, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 728, 729, 745, 746, 752, 771, 780, 787, 790, 800], "appropri": [18, 19, 20, 33, 36, 39, 43, 44, 46, 47, 48, 90, 91, 92, 105, 108, 111, 115, 116, 118, 119, 120, 137, 138, 139, 153, 161, 172, 177, 178, 179, 180, 181, 674, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 799], "planner": [18, 19, 20, 33, 36, 39, 43, 44, 46, 47, 48, 62, 69, 76, 77, 78, 79, 90, 91, 92, 105, 108, 111, 115, 116, 118, 119, 120, 124, 129, 131, 132, 135, 136, 137, 138, 139, 152, 153, 161, 172, 177, 178, 179, 180, 181, 291, 314, 334, 339, 340, 345, 350, 351, 428, 438, 488, 516, 517, 560, 587, 592, 672, 674, 675, 677, 679, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 696, 698, 700, 702, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 718, 720, 746, 753, 754, 756, 757, 782, 783, 784, 785, 788], "scale": [21, 93, 237, 418, 420, 421, 422, 476, 671, 672, 773], "1": [21, 50, 78, 93, 122, 125, 232, 252, 257, 262, 269, 275, 280, 287, 296, 298, 302, 309, 320, 324, 325, 330, 341, 352, 356, 358, 366, 371, 376, 383, 391, 393, 398, 403, 406, 411, 416, 428, 434, 444, 448, 451, 452, 455, 456, 457, 460, 472, 478, 488, 491, 492, 513, 514, 516, 517, 521, 538, 551, 561, 565, 570, 571, 573, 583, 593, 597, 599, 603, 604, 605, 608, 609, 613, 626, 629, 630, 631, 643, 646, 650, 659, 662, 665, 672, 674, 723, 756, 773, 774, 779, 780, 781, 783, 784, 787, 789, 791, 792, 794, 796, 797, 798, 799], "0": [21, 28, 75, 93, 100, 125, 126, 192, 228, 232, 247, 252, 257, 262, 273, 275, 280, 287, 296, 298, 309, 320, 324, 325, 330, 340, 341, 351, 352, 356, 358, 366, 376, 383, 391, 393, 398, 403, 406, 411, 416, 434, 444, 448, 451, 452, 455, 456, 457, 460, 472, 478, 488, 491, 492, 499, 513, 514, 516, 517, 521, 524, 525, 532, 551, 560, 561, 565, 570, 571, 573, 583, 592, 593, 597, 599, 603, 604, 605, 608, 609, 629, 630, 646, 671, 672, 674, 723, 725, 752, 773, 774, 783, 784, 785, 787, 789, 791, 792, 794, 796, 797, 798, 799], "concav": [21, 22, 28, 40, 42, 93, 94, 100, 112, 114, 125, 126, 127, 672, 723, 725, 727], "mass": [21, 28, 93, 100, 125, 126, 356, 604, 672, 723, 725, 791], "color": [21, 27, 93, 99, 227, 243, 246, 672, 789, 796, 798], "5": [21, 93, 273, 325, 406, 448, 457, 513, 514, 516, 517, 629, 672, 783, 784, 785, 789, 791, 792, 798], "creat": [21, 28, 40, 93, 100, 112, 223, 227, 239, 246, 247, 250, 269, 272, 273, 297, 304, 339, 340, 350, 351, 360, 363, 405, 406, 421, 450, 451, 452, 455, 456, 457, 479, 533, 534, 535, 536, 537, 538, 543, 544, 545, 560, 592, 668, 670, 673, 770, 771, 776, 777, 779, 780, 784, 785, 791, 796, 798, 799, 800], "bodi": [21, 28, 93, 100, 356, 672, 783, 792], "obj": [21, 93, 232, 252, 262, 272, 275, 287, 296, 298, 309, 320, 330, 341, 352, 363, 366, 376, 380, 398, 406, 411, 434, 444, 451, 455, 460, 472, 488, 513, 514, 521, 551, 561, 573, 583, 593, 605, 787, 789], "file": [21, 40, 41, 93, 112, 113, 190, 193, 229, 233, 248, 253, 260, 263, 270, 276, 283, 288, 294, 299, 305, 310, 317, 321, 328, 331, 337, 342, 348, 353, 361, 367, 374, 377, 385, 399, 407, 412, 428, 431, 435, 441, 445, 453, 461, 469, 473, 489, 522, 533, 538, 541, 543, 552, 558, 562, 568, 574, 581, 584, 590, 594, 601, 606, 660, 663, 664, 666, 670, 671, 672, 673, 674, 776, 777, 778, 780, 781, 787, 789, 796, 799, 801], "float": [21, 27, 28, 75, 78, 93, 99, 100, 125, 126, 130, 140, 237, 257, 274, 285, 286, 291, 296, 297, 302, 308, 324, 325, 334, 339, 340, 345, 350, 351, 356, 358, 363, 364, 365, 371, 380, 383, 387, 388, 391, 393, 396, 397, 403, 406, 410, 416, 428, 433, 438, 443, 448, 451, 452, 455, 456, 457, 458, 459, 476, 511, 516, 519, 560, 578, 592, 599, 603, 604, 611, 612, 627, 657, 665, 672, 723, 725, 731, 752, 756], "factor": [21, 93, 237, 274, 285, 286, 297, 302, 308, 319, 340, 351, 358, 364, 365, 396, 397, 403, 406, 410, 418, 420, 421, 422, 433, 443, 448, 451, 452, 455, 456, 457, 458, 459, 476, 519, 560, 592, 672], "mesh": [21, 22, 28, 40, 42, 63, 65, 67, 80, 82, 84, 93, 94, 100, 112, 114, 125, 126, 127, 133, 134, 173, 190, 191, 192, 193, 232, 252, 257, 262, 266, 272, 275, 280, 285, 286, 287, 298, 309, 320, 330, 341, 352, 357, 366, 371, 376, 398, 411, 418, 420, 421, 422, 427, 434, 444, 455, 460, 472, 478, 491, 492, 494, 521, 533, 551, 561, 565, 570, 571, 573, 583, 593, 605, 672, 675, 676, 677, 678, 679, 680, 716, 717, 718, 719, 721, 722, 723, 724, 725, 726, 727, 732, 733, 734, 735, 736, 737, 739, 740, 742, 743, 761, 762, 764, 765, 767, 768, 778, 780, 791], "bool": [21, 22, 27, 28, 40, 42, 73, 75, 89, 93, 94, 99, 100, 112, 114, 125, 126, 127, 130, 136, 173, 176, 190, 191, 232, 233, 234, 252, 253, 254, 262, 263, 264, 275, 276, 277, 287, 288, 289, 298, 299, 300, 309, 310, 311, 320, 321, 322, 330, 331, 332, 341, 342, 343, 352, 353, 354, 366, 367, 368, 376, 377, 378, 383, 398, 399, 400, 411, 412, 413, 418, 420, 421, 422, 434, 435, 436, 444, 445, 446, 460, 461, 462, 472, 473, 474, 488, 513, 514, 521, 522, 523, 530, 534, 535, 536, 537, 551, 552, 553, 561, 562, 563, 573, 574, 575, 583, 584, 585, 593, 594, 595, 605, 606, 607, 660, 723, 725, 727, 731, 749, 752], "load": [21, 22, 28, 40, 41, 42, 93, 94, 100, 112, 113, 114, 125, 126, 127, 173, 190, 191, 192, 193, 194, 195, 476, 486, 533, 534, 535, 536, 537, 538, 543, 651, 672, 723, 725, 727, 775, 778, 780, 786, 788, 791, 792, 796], "convex": [21, 22, 28, 40, 42, 93, 94, 100, 112, 114, 125, 126, 127, 723, 725, 727], "hull": [21, 22, 28, 40, 42, 93, 94, 100, 112, 114, 125, 126, 127, 723, 725, 727], "purpos": [21, 22, 28, 40, 42, 49, 93, 94, 100, 112, 114, 121, 125, 126, 127, 533, 621, 639, 672, 723, 725, 727, 801], "applic": [21, 28, 93, 100, 184, 794], "static": [21, 22, 28, 30, 31, 40, 42, 93, 94, 100, 102, 103, 112, 114, 125, 126, 127, 357, 555, 723, 725, 727, 773, 789], "massless": [21, 93], "non": [21, 22, 28, 40, 42, 93, 94, 100, 112, 114, 125, 126, 127, 182, 672, 723, 725, 727, 780], "preprocess": [21, 93], "vhacd": [21, 93], "kg": [21, 28, 93, 100, 126, 257, 356, 604, 725], "rgba": [21, 93, 789], "compon": [21, 93, 356, 403, 406, 670, 672, 673, 774, 780, 799, 800], "int": [21, 27, 28, 38, 40, 73, 78, 93, 99, 100, 110, 112, 130, 136, 141, 144, 145, 150, 152, 173, 193, 228, 247, 324, 325, 465, 613, 621, 626, 630, 631, 639, 643, 646, 665, 672, 731, 749, 756], "save": [22, 34, 35, 38, 41, 45, 94, 106, 107, 110, 113, 117, 233, 234, 253, 254, 263, 264, 276, 277, 288, 289, 299, 300, 310, 311, 321, 322, 331, 332, 342, 343, 353, 354, 367, 368, 377, 378, 399, 400, 412, 413, 435, 436, 445, 446, 461, 462, 473, 474, 522, 523, 552, 553, 562, 563, 574, 575, 584, 585, 594, 595, 606, 607, 666, 787, 788, 789, 796], "edit": [22, 34, 35, 94, 106, 107, 799], "copi": [22, 34, 35, 94, 106, 107, 190, 286, 297, 308, 319, 340, 351, 365, 397, 410, 418, 420, 421, 422, 433, 443, 459, 560, 592, 609, 770, 781, 787, 788, 789, 791, 801], "shadow": [22, 27, 34, 35, 38, 94, 99, 106, 107, 110], "state": [22, 34, 35, 38, 51, 69, 94, 106, 107, 110, 128, 476, 488, 501, 530, 538, 672, 674, 695, 729, 746, 783, 792, 794], "server": [22, 27, 29, 34, 35, 38, 45, 50, 94, 99, 101, 106, 107, 110, 117, 122, 140, 148, 154, 159, 160, 186, 190, 193, 669, 670, 671, 672, 792], "decompos": [22, 28, 40, 42, 94, 100, 112, 114, 125, 126, 127, 723, 725, 727], "part": [22, 28, 40, 42, 94, 100, 112, 114, 125, 126, 127, 597, 672, 673, 674, 723, 725, 727, 788, 796], "v": [22, 28, 40, 42, 94, 100, 112, 114, 125, 126, 127, 667, 672, 723, 725, 727, 799], "hacd": [22, 28, 40, 42, 94, 100, 112, 114, 125, 126, 127, 723, 725, 727], "whether": [23, 24, 25, 26, 42, 73, 75, 95, 96, 97, 98, 114, 191, 673, 749, 752, 801], "ani": [23, 24, 40, 95, 96, 112, 236, 256, 265, 279, 290, 301, 313, 323, 333, 344, 355, 370, 379, 401, 415, 437, 447, 464, 475, 476, 488, 494, 531, 554, 564, 577, 586, 596, 610, 669, 673, 674, 771, 776, 779, 781, 788, 796, 801], "collid": [23, 24, 26, 95, 96, 98], "collisionerror": [23, 95], "attach": [24, 26, 40, 63, 80, 96, 98, 112, 125, 133, 257, 334, 371, 418, 419, 422, 424, 425, 428, 476, 478, 481, 488, 491, 492, 494, 513, 514, 565, 672, 674, 675, 676, 716, 717, 722, 723, 732, 733, 736, 737, 761, 762, 779, 780, 787, 788, 791, 796, 799], "current": [24, 25, 26, 37, 54, 96, 97, 98, 109, 168, 194, 195, 225, 244, 259, 282, 293, 316, 327, 336, 347, 373, 384, 396, 430, 440, 468, 476, 480, 540, 555, 557, 567, 580, 589, 621, 623, 639, 640, 671, 672, 794], "whose": [24, 25, 26, 32, 96, 97, 98, 104, 291, 492, 796], "mai": [24, 25, 26, 32, 96, 97, 98, 104, 291, 314, 394, 395, 518, 669, 791, 799], "detectedcollis": [24, 25, 26, 96, 97, 98], "itself": [26, 98, 776, 785, 796, 799], "width": [27, 99, 629], "height": [27, 99, 627], "displai": [27, 99, 222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 672, 787, 789], "gui": [27, 28, 89, 99, 100, 668, 787, 789, 791, 800], "background": [27, 99], "pixel": [27, 99], "_name": [28, 100], "tag": [28, 40, 100, 112, 787, 789], "sever": [28, 100, 476, 672, 674, 773, 774, 778], "time": [28, 73, 100, 140, 144, 168, 325, 380, 513, 578, 668, 670, 672, 749, 781, 785, 787, 791, 799], "same": [28, 32, 100, 104, 383, 420, 538, 672, 779, 781, 783, 785, 787, 789, 791], "modifi": [28, 100, 672, 787, 789, 801], "between": [28, 75, 100, 416, 516, 587, 658, 662, 668, 672, 752, 774, 776, 781, 789, 796, 798], "cach": [28, 30, 31, 34, 35, 45, 100, 102, 103, 106, 107, 117, 173, 190, 672, 777], "behavior": [28, 100, 291, 345, 438, 670, 672, 674, 704, 777], "prevent": [28, 100, 791], "recogn": [28, 100], "chang": [28, 100, 291, 403, 513, 672, 673, 770, 787, 789, 798, 799], "It": [28, 75, 100, 325, 356, 587, 626, 643, 668, 669, 670, 671, 672, 752, 774, 779, 781, 783, 788, 789, 792, 800], "best": [28, 89, 100, 136, 613, 631, 673, 796, 798], "practic": [28, 100, 789], "argument": [28, 73, 100, 221, 223, 237, 239, 467, 479, 513, 672, 674, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721, 749, 777], "setphysicsengineparamet": [28, 100], "enablefilecach": [28, 100], "filter": [32, 104, 599], "those": [32, 104, 794], "custom": [32, 104, 314, 371, 578, 771, 779, 780, 800], "replac": [32, 104, 420, 671, 672, 787], "filepath": [34, 106, 229, 233, 248, 253, 260, 263, 270, 276, 283, 288, 294, 299, 305, 310, 317, 321, 328, 331, 337, 342, 348, 353, 361, 367, 374, 377, 385, 399, 407, 412, 431, 435, 441, 445, 453, 461, 469, 473, 489, 522, 541, 552, 558, 562, 568, 574, 581, 584, 590, 594, 601, 606, 796], "robotmodel": [35, 38, 107, 110, 476, 479, 538, 543, 672, 771, 774, 775, 776, 777, 800], "get": [37, 109, 159, 162, 232, 252, 257, 262, 272, 275, 280, 287, 298, 308, 309, 320, 330, 341, 352, 365, 366, 376, 395, 398, 410, 411, 418, 420, 421, 422, 434, 444, 455, 459, 460, 472, 478, 491, 492, 493, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 508, 509, 510, 511, 515, 518, 521, 526, 527, 528, 529, 532, 538, 543, 546, 547, 548, 549, 550, 551, 561, 565, 570, 571, 573, 583, 593, 605, 621, 624, 630, 639, 641, 646, 668, 672, 696, 773, 777, 785, 791, 792, 800], "pose": [37, 49, 76, 109, 121, 125, 314, 334, 345, 555, 672, 723, 753, 773, 774, 779, 780, 783, 792, 794, 796], "cached_robot_model": [38, 110], "intern": [38, 110, 626, 643, 671], "id": [38, 80, 81, 82, 83, 110, 133, 134, 280, 420, 421, 424, 426, 717, 719, 733, 735, 762, 763, 765, 766, 771], "urdf_fil": [40, 112], "resource_load": [40, 112], "precis": [40, 112, 173, 193, 630, 646, 672, 777], "input": [40, 112, 670, 776, 796], "urdf": [40, 112, 173, 195, 476, 533, 543, 672, 771, 776, 777, 780, 791, 792, 800], "absolut": [40, 41, 112, 113, 393, 519, 773], "link": [40, 69, 73, 75, 78, 112, 125, 128, 130, 257, 280, 314, 403, 406, 418, 448, 451, 452, 455, 456, 457, 478, 479, 488, 495, 496, 497, 503, 504, 506, 509, 510, 533, 538, 547, 550, 565, 670, 672, 723, 729, 731, 746, 749, 752, 756, 772, 775, 778, 780, 791, 793, 795, 798], "either": [40, 112, 145, 266, 380, 670, 672], "rel": [40, 112, 125, 302, 334, 339, 345, 350, 356, 358, 403, 406, 428, 438, 448, 451, 452, 455, 456, 457, 565, 587, 659, 670, 723, 773, 779, 789], "abstractmeshload": [40, 112], "befor": [40, 69, 73, 112, 141, 144, 145, 340, 351, 488, 560, 592, 613, 631, 668, 672, 746, 749, 774, 777, 781, 782, 783, 784, 785, 787, 788, 789, 791], "ad": [40, 65, 84, 112, 126, 223, 239, 325, 427, 614, 632, 670, 671, 672, 678, 721, 725, 740, 768, 770, 776, 785, 787, 788, 789, 791], "empti": [40, 112, 660, 788], "defin": [40, 75, 112, 130, 173, 269, 272, 273, 314, 334, 345, 356, 363, 380, 403, 406, 423, 428, 438, 451, 452, 455, 456, 457, 476, 483, 484, 491, 516, 517, 538, 587, 627, 629, 630, 645, 646, 662, 672, 674, 731, 752, 773, 774, 776, 777, 779, 783, 784, 785, 787, 788, 789, 792, 796], "import": [40, 89, 112, 173, 232, 252, 262, 269, 272, 273, 275, 287, 296, 298, 302, 309, 320, 330, 341, 352, 358, 366, 376, 391, 398, 403, 406, 411, 428, 434, 438, 444, 448, 451, 452, 455, 456, 457, 460, 472, 521, 533, 538, 543, 551, 561, 573, 583, 593, 597, 605, 613, 631, 650, 651, 671, 672, 674, 773, 774, 776, 777, 781, 782, 783, 784, 785, 789, 791, 792, 794, 796, 797, 798, 799], "toler": [40, 112, 173, 296, 297, 334, 339, 340, 345, 350, 351, 358, 363, 364, 383, 403, 406, 428, 433, 438, 443, 452, 456, 652, 672], "tol": [40, 112, 173, 383, 652], "By": [40, 50, 112, 122, 340, 351, 774, 796], "amend": [40, 112], "ye": [40, 112], "flag": [40, 112, 672], "srdf_filenam": [41, 113, 543], "semant": [41, 113, 173, 194, 476, 487, 498, 499, 500, 517, 533, 534, 535, 536, 537, 538, 543, 544, 545, 672, 778, 788], "srdf": [41, 113, 173, 194, 428, 533, 538, 543, 544, 672, 788], "load_geometri": [42, 114, 173, 534, 535, 536, 537, 777, 794, 796], "ur5": [42, 114, 215, 218, 406, 452, 478, 488, 491, 492, 496, 497, 498, 499, 500, 503, 504, 509, 510, 513, 514, 524, 525, 532, 533, 670, 672, 771, 774, 776, 778, 780, 782, 783, 784, 785, 788, 791, 792, 794, 796, 800], "reload": [45, 117, 777], "should": [49, 121, 125, 133, 136, 237, 291, 296, 297, 324, 334, 340, 351, 416, 478, 530, 560, 587, 592, 670, 672, 674, 723, 733, 770, 777, 779, 781, 788, 789], "step_simul": [49, 121, 791], "zero_configur": [49, 121, 513, 514, 783, 784, 792], "miss": [49, 121, 672], "ones": [49, 121, 513, 514, 668, 670], "expect": [49, 121, 672], "suppli": [49, 121], "physic": [50, 122, 787, 789], "step": [50, 122, 324, 653, 673, 770, 780, 788, 790, 797], "unless": [50, 122, 770], "explicitli": [50, 122, 296], "send": [50, 122, 140, 142, 145, 162, 185, 626, 643, 673, 774, 781], "command": [50, 122, 617, 620, 621, 626, 635, 638, 639, 643, 670, 671, 673, 770, 781, 787, 788, 789, 791, 799], "action": [50, 122, 150, 152, 154, 672, 770, 801], "singl": [50, 122, 193, 314, 428, 587, 626, 643, 670, 775, 786], "dynam": [50, 122, 488, 555, 669], "timestep": [50, 122, 151], "240": [50, 122], "caus": [51, 514], "error": [51, 142, 150, 152, 382, 403, 406, 648, 649, 672, 673], "engin": [51, 800], "select": [52, 334, 488, 668, 672, 777, 788, 789, 796, 799], "doe": [52, 77, 129, 131, 132, 135, 150, 223, 239, 319, 363, 394, 395, 421, 467, 511, 515, 669, 672, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 754, 770, 783, 787], "futureresult": [53, 672], "repres": [53, 58, 257, 280, 291, 314, 325, 334, 345, 356, 371, 380, 417, 428, 438, 476, 513, 514, 524, 525, 538, 555, 565, 587, 597, 603, 611, 612, 672, 776, 787], "futur": [53, 58, 150, 672], "result": [53, 58, 73, 75, 78, 130, 141, 145, 150, 152, 476, 513, 533, 624, 626, 641, 643, 731, 749, 752, 756, 777, 788, 794, 798], "asynchron": [53, 58, 70, 74, 76, 77, 79, 747, 750, 753, 754, 757], "oper": [53, 54, 58, 274, 280, 421, 613, 621, 626, 631, 639, 643, 670, 671, 672, 673, 787, 791, 800], "cancel": [53, 150, 152, 672], "attempt": [54, 73, 749, 788], "cannot": [54, 314, 776], "otherwis": [54, 136, 156, 159, 160, 163, 164, 165, 166, 167, 169, 170, 171, 173, 176, 190, 191, 291, 383, 530, 613, 631, 665, 801], "timeout": [55, 59, 73, 141, 145, 146, 150, 151, 152, 182, 514, 613, 631, 649, 650, 749, 788], "feedback": [55, 59, 150, 152], "instruct": [55, 59, 668, 670], "yet": [55, 59, 520, 555, 787], "wait": [55, 58, 59, 141, 144, 145, 182, 184, 668], "up": [55, 59, 534, 535, 536, 537, 668, 669, 670, 672, 673, 778, 787, 794, 796, 798], "expir": [55, 59], "kinematicserror": [56, 60], "found": [56, 57, 60, 73, 75, 371, 465, 513, 514, 622, 670, 749, 752, 778, 783, 792, 794, 799], "pybulleterror": 57, "allow": [58, 73, 75, 78, 141, 190, 257, 403, 406, 421, 428, 452, 456, 478, 488, 599, 614, 632, 651, 660, 670, 671, 672, 674, 749, 752, 756, 776, 777, 779, 784, 787, 788], "explicit": [58, 785], "control": [58, 232, 237, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 546, 549, 551, 561, 573, 583, 587, 593, 605, 670, 672, 674, 787], "block": [58, 145, 148, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 182, 184, 186, 476, 672, 781], "complet": [58, 150, 152, 578, 613, 617, 631, 635, 777, 779, 799], "could": [60, 672, 673, 786, 787, 794], "backenderror": [61, 73, 123, 189, 196, 513, 514, 749], "moveitforwardkinemat": [62, 800], "moveitinversekinemat": [62, 800], "moveitplanmot": [62, 800], "moveitplancartesianmot": [62, 800], "moveitplanningscen": [62, 800], "moveitresetplanningscen": [62, 672, 800], "moveitaddcollisionmesh": [62, 800], "moveitremovecollisionmesh": [62, 800], "moveitappendcollisionmesh": [62, 800], "moveitaddattachedcollisionmesh": [62, 800], "moveitremoveattachedcollisionmesh": [62, 800], "plannerinterfac": [62, 124, 136, 672, 674, 800], "attached_collision_mesh": [63, 64, 73, 75, 78, 125, 371, 418, 516, 517, 565, 672, 676, 723, 737, 738, 749, 752, 756], "add": [63, 65, 125, 126, 175, 176, 240, 243, 418, 419, 420, 670, 671, 672, 673, 675, 676, 677, 678, 722, 723, 724, 725, 736, 737, 739, 740, 767, 777, 780, 789, 791, 796, 799], "attachedcollisionmesh": [63, 73, 75, 78, 125, 371, 418, 424, 516, 517, 565, 672, 676, 723, 737, 749, 752, 756, 791], "unus": [63, 65, 67, 69, 71, 80, 82, 84, 134, 735, 737, 740, 743, 746, 759, 762, 765, 768], "callback": [64, 66, 68, 70, 72, 74, 76, 77, 79, 81, 83, 85, 141, 142, 143, 144, 148, 150, 151, 152, 154, 156, 157, 158, 159, 160, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 174, 175, 176, 186, 738, 741, 744, 747, 750, 753, 754, 757, 760, 763, 766, 769, 781], "errback": [64, 66, 68, 70, 72, 74, 76, 77, 79, 81, 83, 85, 142, 148, 150, 152, 154, 156, 157, 158, 159, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 186, 738, 741, 744, 747, 750, 753, 754, 757, 760, 763, 766, 769], "collision_mesh": [65, 66, 67, 68, 126, 127, 257, 420, 421, 422, 678, 680, 725, 727, 740, 741, 743, 744], "collisionmesh": [65, 67, 126, 127, 257, 418, 420, 421, 422, 424, 426, 494, 672, 678, 680, 725, 727, 740, 743, 785, 791], "append": [67, 127, 421, 672, 679, 680, 726, 727, 742, 743, 784, 785], "zero": [69, 73, 75, 78, 128, 130, 302, 358, 403, 406, 448, 451, 452, 455, 456, 457, 488, 495, 502, 513, 514, 516, 517, 532, 672, 695, 729, 731, 746, 749, 752, 756, 787, 789], "assum": [69, 128, 356, 488, 674, 695, 729, 746], "base_link": [69, 73, 75, 78, 496, 497, 509, 746, 749, 752, 756, 774, 776, 787, 788, 789], "root": [69, 73, 280, 476, 671, 746, 749, 787, 789], "backward": [69, 152, 488, 672, 746], "compat": [69, 152, 222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 488, 539, 556, 566, 579, 588, 598, 669, 672, 746, 778], "try": [69, 130, 488, 672, 731, 746, 783, 788], "tool0": [69, 257, 334, 406, 418, 452, 488, 491, 492, 503, 504, 509, 565, 570, 571, 659, 672, 746, 772, 787, 788, 789, 791], "fallback": [69, 488, 746], "world": [69, 128, 280, 428, 438, 488, 524, 525, 526, 527, 672, 695, 729, 746, 772, 773, 780, 783, 787, 788, 789, 792], "coordin": [69, 128, 334, 339, 345, 350, 356, 406, 428, 438, 452, 488, 524, 525, 526, 527, 565, 587, 604, 659, 695, 729, 746, 771, 772, 773, 776, 779, 783, 787, 788, 789, 792, 800], "wcf": [69, 128, 428, 438, 488, 491, 492, 524, 525, 526, 527, 570, 571, 659, 695, 729, 746, 772], "handler": [70, 74, 76, 77, 79, 747, 750, 753, 754, 757], "fk": [70, 488, 672, 747], "servic": [70, 74, 76, 77, 79, 142, 145, 157, 162, 163, 164, 165, 166, 167, 671, 672, 682, 704, 747, 750, 753, 754, 757], "retriev": [71, 154, 156, 157, 158, 160, 163, 164, 165, 166, 167, 168, 169, 170, 171, 190, 513, 613, 621, 622, 623, 631, 639, 640, 672, 697, 758, 759, 794], "messag": [71, 76, 142, 145, 156, 162, 185, 617, 635, 672, 753, 759, 781], "moveit_msg": [71, 759], "planningscen": [71, 672, 697, 759, 785], "least": [73, 130, 513, 514, 668, 670, 731, 749], "avoid_collis": [73, 75, 516, 749, 752, 784], "avoid": [73, 75, 651, 672, 749, 752, 785], "request": [73, 130, 140, 142, 145, 162, 163, 334, 371, 428, 513, 672, 731, 749, 782, 783, 784, 792, 794], "must": [73, 75, 136, 291, 297, 428, 517, 613, 631, 669, 749, 752, 774, 787, 789, 792, 794], "obei": [73, 749], "maximum": [73, 75, 130, 324, 393, 654, 731, 749, 752], "supersed": [73, 749], "noetic": [73, 670, 672, 749], "number": [73, 78, 130, 141, 144, 145, 291, 296, 324, 325, 465, 511, 626, 643, 654, 655, 656, 662, 665, 731, 749, 756, 779, 796, 799], "ignor": [73, 130, 672, 731, 749], "newer": [73, 749], "instead": [73, 192, 421, 488, 513, 514, 672, 749, 779, 781, 785], "max_result": [73, 130, 731, 749, 783, 792], "100": [73, 130, 731, 749, 783, 784], "max_step": [75, 516, 752, 784], "approxim": [75, 516, 752], "distanc": [75, 130, 297, 516, 622, 628, 644, 647, 731, 752, 796], "point": [75, 173, 227, 246, 280, 325, 334, 356, 371, 380, 428, 433, 438, 443, 448, 452, 456, 457, 465, 491, 492, 516, 524, 525, 570, 571, 587, 604, 671, 672, 674, 752, 773, 774, 775, 783, 784, 785, 787, 789, 794, 795, 796, 797], "01": [75, 403, 406, 516, 752, 784, 795, 798], "jump_threshold": [75, 516, 672, 752], "consecut": [75, 752], "abov": [75, 78, 291, 358, 363, 670, 752, 756, 785, 794, 799, 801], "threshold": [75, 130, 731, 752], "comput": [75, 78, 130, 152, 232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 528, 529, 551, 561, 573, 583, 593, 605, 670, 674, 731, 752, 756, 781, 784, 788], "fail": [75, 514, 516, 517, 752], "specifi": [75, 167, 171, 190, 194, 195, 291, 314, 324, 334, 339, 345, 350, 394, 395, 403, 406, 428, 438, 452, 501, 513, 514, 515, 626, 643, 660, 663, 752, 773, 776, 779, 788, 792, 796], "relat": [75, 476, 662, 752, 774], "jump": [75, 752], "might": [75, 184, 488, 654, 655, 656, 673, 752, 787, 788], "occur": [75, 189, 196, 752], "invalid": [75, 518, 752], "pi": [75, 383, 391, 393, 608, 609, 752, 789], "path_constraint": [75, 78, 516, 517, 752, 756], "impos": [75, 78, 516, 517, 752, 756], "along": [75, 78, 394, 516, 517, 669, 752, 756, 776, 789], "won": [75, 78, 516, 517, 752, 756], "t": [75, 78, 140, 488, 516, 517, 670, 672, 752, 756, 785, 789], "violat": [75, 78, 516, 517, 752, 756], "framewaypoint": [76, 516, 587, 672, 753, 779, 784, 794], "afaik": [77, 754], "relax": [77, 754], "under": [77, 383, 421, 754, 770, 785, 789], "reach": [78, 228, 247, 428, 756, 783, 792, 794, 796], "planner_id": [78, 517, 756, 784], "algorithm": [78, 232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605, 756], "rrtconnect": [78, 517, 756, 784], "num_planning_attempt": [78, 756], "normal": [78, 671, 756, 796], "need": [78, 152, 297, 538, 543, 616, 619, 634, 637, 651, 668, 669, 670, 671, 672, 756, 770, 774, 781, 783, 785, 787, 789, 792, 797, 799], "howev": [78, 513, 668, 669, 671, 756, 779, 789, 794, 797, 798], "random": [78, 140, 518, 756, 788], "like": [78, 428, 438, 543, 587, 756, 773, 785, 787, 789], "rrt": [78, 756], "produc": [78, 467, 699, 756], "mani": [78, 670, 672, 756, 771, 786, 788], "addit": [78, 221, 223, 237, 239, 428, 488, 513, 514, 516, 517, 614, 632, 670, 756], "report": [78, 756], "shortest": [78, 756], "final": [78, 671, 756], "allowed_planning_tim": [78, 756], "max_velocity_scaling_factor": [78, 756], "max_acceleration_scaling_factor": [78, 756], "reset": [84, 672, 720, 721, 768], "pybulletbas": 89, "context": [89, 136, 613, 631, 672, 781], "manag": [89, 136, 613, 631, 672, 674, 682, 704, 781, 799], "type": [89, 136, 156, 163, 164, 165, 167, 169, 171, 222, 225, 229, 230, 236, 238, 244, 248, 249, 256, 258, 259, 260, 261, 265, 266, 267, 269, 270, 271, 272, 273, 279, 281, 282, 283, 284, 290, 292, 293, 294, 295, 296, 301, 302, 303, 305, 306, 313, 314, 315, 316, 317, 318, 319, 323, 326, 327, 328, 329, 333, 335, 336, 337, 338, 344, 346, 347, 348, 349, 355, 359, 361, 362, 363, 370, 372, 373, 374, 375, 379, 380, 381, 384, 385, 386, 391, 401, 404, 407, 408, 415, 429, 430, 431, 432, 437, 439, 440, 441, 442, 447, 449, 453, 454, 464, 466, 468, 469, 470, 475, 477, 480, 489, 490, 499, 508, 516, 531, 539, 540, 541, 542, 554, 555, 556, 557, 558, 559, 564, 566, 567, 568, 569, 577, 579, 580, 581, 582, 586, 587, 588, 589, 590, 591, 596, 598, 601, 602, 610, 613, 629, 631, 645, 672, 674, 776, 779, 785, 787, 788, 789, 799], "statement": [89, 136, 613, 616, 619, 631, 634, 637], "ensur": [89, 136, 423, 613, 631, 670], "resourc": [89, 136, 613, 631, 777, 791], "dealloc": [89, 136, 613, 631], "thank": [89, 671], "yijiang": [89, 667], "huang": [89, 667], "hi": 89, "pybullet_plan": 89, "much": [89, 674], "inspir": [89, 796], "connection_typ": [89, 791, 792, 794, 796], "connect": [89, 136, 140, 142, 144, 145, 176, 182, 185, 222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 516, 517, 539, 556, 566, 579, 588, 598, 613, 621, 626, 631, 639, 643, 670, 671, 672, 674, 776, 781, 787, 791, 796, 801], "verbos": [89, 797], "log": 89, "direct": [89, 791, 792, 794, 796], "print": [89, 136, 173, 222, 233, 234, 238, 253, 254, 258, 263, 264, 267, 276, 277, 281, 288, 289, 292, 299, 300, 303, 310, 311, 315, 321, 322, 324, 326, 331, 332, 335, 342, 343, 346, 353, 354, 359, 367, 368, 372, 377, 378, 381, 399, 400, 404, 412, 413, 416, 428, 429, 435, 436, 438, 439, 445, 446, 449, 461, 462, 466, 473, 474, 477, 512, 517, 522, 523, 539, 543, 552, 553, 556, 562, 563, 566, 571, 574, 575, 579, 584, 585, 587, 588, 594, 595, 598, 599, 604, 606, 607, 773, 774, 776, 777, 779, 781, 783, 784, 791, 792, 794, 796, 797], "is_connect": [89, 136, 672, 781, 791], "pybulletaddattachedcollisionmesh": [124, 800], "pybulletaddcollisionmesh": [124, 800], "pybulletappendcollisionmesh": [124, 800], "pybulletremovecollisionmesh": [124, 800], "pybulletremoveattachedcollisionmesh": [124, 800], "pybulletforwardkinemat": [124, 800], "pybulletinversekinemat": [124, 800], "inertia": [125, 672, 723], "matrix": [125, 339, 356, 723, 780], "ixx": [125, 356, 723], "ixi": [125, 356, 723], "ixz": [125, 356, 723], "iyi": [125, 356, 723], "iyz": [125, 356, 723], "izz": [125, 356, 723], "inertial_origin": [125, 723], "inerti": [125, 356, 723], "refer": [125, 356, 358, 403, 417, 448, 451, 455, 456, 457, 488, 513, 514, 516, 517, 604, 614, 622, 632, 668, 669, 670, 723, 774, 786, 799, 800], "worldxi": [125, 273, 280, 451, 672, 723, 773, 789], "collision_origin": [125, 723], "backendfeaturenotsupportederror": [129, 131, 132, 135, 672, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715], "link_nam": [130, 257, 403, 406, 448, 451, 452, 455, 456, 457, 488, 506, 672, 731], "semi": [130, 731], "constrain": [130, 334, 345, 358, 403, 448, 458, 731], "orient": [130, 302, 334, 339, 345, 350, 403, 406, 428, 438, 452, 731, 773, 779, 787, 796, 797], "consid": [130, 383, 406, 428, 452, 672, 674, 731, 776, 796], "enforce_joint_limit": [130, 731], "limit": [130, 532, 672, 731, 776, 788, 789, 791, 801], "high_accuraci": [130, 731], "iter": [130, 513, 514, 672, 731], "approach": [130, 513, 731], "minimum": [130, 627, 655, 731], "deviat": [130, 291, 324, 731, 795], "high_accuracy_threshold": [130, 731, 792], "accept": [130, 291, 672, 731, 779], "high": [130, 630, 646, 731], "accuraci": [130, 731], "1e": [130, 383, 652, 731, 792], "high_accuracy_max_it": [130, 731, 792], "20": [130, 670, 672, 731, 792, 796, 798], "inversekinematicserror": [130, 731], "via": [136, 150, 613, 626, 631, 643, 672], "rosbridg": [136, 670], "roslibpi": [136, 516, 517, 672, 781], "host": [136, 671], "bridg": [136, 142, 145, 162, 185, 670], "localhost": [136, 671], "port": [136, 613, 631, 650], "9090": [136, 670], "is_secur": 136, "secur": [136, 671], "web": [136, 670], "socket": [136, 670], "planner_backend": [136, 794], "plugin": 136, "sub": [136, 380, 660], "moveitplann": [136, 672], "more": [136, 291, 314, 438, 488, 513, 514, 516, 517, 546, 549, 604, 670, 671, 672, 673, 776, 777, 779, 787, 794, 798], "out": [136, 532, 801], "page": [136, 670], "mac": [140, 668, 671, 672, 770, 791], "dest": 140, "rand": 140, "level": [140, 187, 538, 614, 626, 632, 643, 672], "author": [140, 673, 780, 801], "hash": [140, 232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "string": [140, 150, 152, 222, 230, 234, 238, 249, 254, 258, 261, 264, 267, 271, 277, 281, 284, 289, 292, 295, 300, 303, 306, 311, 315, 318, 322, 326, 329, 332, 335, 338, 343, 346, 349, 354, 359, 362, 368, 372, 375, 378, 381, 386, 400, 404, 408, 413, 429, 432, 436, 439, 442, 446, 449, 454, 462, 466, 470, 474, 477, 490, 523, 539, 542, 544, 553, 556, 559, 563, 566, 569, 575, 579, 582, 585, 588, 591, 595, 598, 602, 607, 626, 629, 643, 645, 660, 781], "trust": 140, "ip": [140, 670, 671], "destin": 140, "user": [140, 296, 314, 334, 340, 351, 428, 514, 560, 592, 668, 670, 671, 672, 674, 770, 773, 774, 779, 788, 791, 799], "session": [140, 771], "thread": [141, 143, 176, 791], "synchron": [141, 672], "invok": [141, 142, 143, 144, 150, 152, 176, 513, 613, 631, 669, 672, 673, 770, 781], "respons": [141, 145, 164, 196], "onc": [142, 145, 185, 670, 673, 777, 782, 787, 799], "establish": [142, 145, 176, 185], "alreadi": [142, 145, 176, 185, 420, 788], "avail": [142, 145, 176, 185, 476, 513, 514, 604, 668, 671, 673, 770, 777, 778, 779, 787, 796, 799, 800], "sent": [142, 145, 185, 626, 643], "immedi": [142, 145, 176, 185, 788], "success": [142, 799], "defer": 143, "factori": [143, 533, 625, 642], "delai": [144, 672], "after": [144, 314, 599, 668, 670, 770, 779, 785, 787, 789, 796, 799], "period": 144, "readi": [144, 176, 182, 778, 799], "10": [146, 182, 604, 667, 668, 670, 672, 783, 788, 796], "disconnect": [146, 672, 674], "delet": 148, "event_nam": [149, 174, 175], "trigger": [149, 175], "event": [149, 174, 175, 182, 184, 188, 781, 801], "joint_trajectori": [150, 152], "action_nam": [150, 152, 672], "execute_trajectori": 150, "feedback_callback": [150, 152], "60000": [150, 151, 152], "infrastructur": [150, 781], "goal": [150, 152, 314, 703, 775, 784], "dure": [150, 152, 232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605, 672, 673, 779, 781], "millisecond": [150, 152], "cancellablefutureresult": [150, 672], "multi": [150, 672, 778], "dof": [150, 778, 794], "joint_nam": [151, 291, 358, 371, 387, 388, 394, 395, 511, 517, 672, 794], "joint_trajectory_act": 152, "msg": 152, "well": [152, 190, 668, 670, 672, 776, 777, 799], "some": [152, 488, 668, 670, 672, 777, 787, 789, 794, 799], "driver": [152, 774], "cancellabletask": [152, 672], "message_typ": 156, "node": [157, 158, 223, 231, 235, 239, 251, 255, 670, 787, 789], "subscrib": [157, 175, 672, 781], "topic": [157, 169, 170, 171, 672, 781], "publish": [157, 670, 672, 781, 801], "activ": [158, 166, 614, 632, 799], "param": [160, 672, 787, 789], "service_nam": 165, "service_typ": 167, "topic_typ": 171, "urdf_param_nam": 173, "robot_descript": [173, 190, 195, 543, 777, 787, 789, 791, 792], "srdf_param_nam": 173, "robot_description_semant": [173, 194, 543], "local_cache_directori": [173, 190, 777], "directli": [173, 671, 672, 777, 787, 796], "where": [173, 297, 340, 351, 428, 433, 438, 443, 587, 666, 670, 672, 674, 777, 779, 781, 788, 795], "directori": [173, 190, 660, 673, 787, 788, 789], "descript": [173, 195, 476, 479, 538, 669, 670, 771, 776, 777, 778, 788, 800], "store": [173, 190, 777], "taken": 173, "rosfileserverload": [173, 672], "global": [173, 773, 789], "workspac": [173, 780, 796], "storag": 173, "assign": [173, 325, 613, 626, 631, 643, 674, 783], "local": [173, 190, 516, 517, 533, 671, 673, 773, 777, 778, 799], "ur5_robot": [173, 533, 543, 782, 783, 784, 785, 787, 791, 792], "arbitrari": [174, 175], "unsubscrib": 174, "run_in_thread": 176, "kick": [182, 184, 222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "loop": [182, 184, 188, 781], "until": [182, 514, 779, 788, 791], "depend": [184, 193, 334, 356, 380, 428, 488, 626, 643, 651, 672, 673, 774, 776, 796], "identifi": [187, 280, 421, 555, 587, 785], "signal": 188, "wrap": [189, 196, 672], "them": [190, 421, 651, 668, 670, 672, 770, 771, 781, 782, 783, 784, 785, 787, 788, 797, 799, 800], "faster": [190, 777], "re": [190, 668, 774], "loader": [190, 191, 672, 777, 791], "afterward": [190, 799], "rosclient": [190, 418, 420, 421, 422, 424, 426, 476, 516, 517, 538, 672, 777, 781, 782, 783, 784, 785], "local_cach": 190, "url": [191, 192, 193, 667], "scheme": 191, "deprec": [192, 672], "sinc": [192, 654, 655, 656, 672, 777, 789, 792], "version": [192, 232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605, 672, 673, 787, 789, 799], "23": [192, 672], "multipl": [193, 334, 428, 516, 668, 670, 672, 771, 775, 783, 785, 792, 797, 799, 800], "format": [193, 232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 538, 551, 561, 573, 583, 593, 605, 620, 638, 672, 776, 787, 788, 789, 799, 800], "pars": [193, 672, 787, 789], "geometr": [193, 776, 796], "parameter_nam": [194, 195], "valid": [196, 236, 256, 265, 279, 290, 301, 313, 323, 333, 344, 355, 370, 379, 401, 415, 437, 447, 464, 465, 475, 513, 514, 531, 554, 564, 577, 586, 587, 596, 610, 796], "st\u00e4ubli": 200, "tx2": 200, "60l": 200, "offsetwristkinemat": [203, 206, 209, 212, 215, 218], "ur10": [203, 206, 670, 672, 771, 778, 780, 794, 800], "seri": [203, 206, 212, 218], "ur3": [209, 212, 670, 672, 794], "ghsceneobject": 221, "draw": [221, 237, 438, 483, 484, 777, 779, 796, 798], "reachabl": [221, 227, 228, 237, 246, 247, 465, 467, 471, 670, 771, 800], "map": [221, 227, 228, 237, 246, 247, 465, 467, 771, 774, 800], "reachability_map": [221, 237], "reachabilitymap": [221, 237, 672, 796, 797, 798], "keyword": [221, 223, 237, 239, 479], "exist": [222, 238, 258, 267, 281, 292, 296, 303, 315, 326, 335, 346, 359, 372, 381, 404, 421, 429, 439, 449, 466, 477, 488, 539, 556, 566, 579, 588, 598, 660, 672, 674, 777, 791, 799, 800], "net": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "ironpython": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 669, 672, 770, 800], "implicit": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "usual": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 514, 539, 556, 566, 579, 588, 598, 670, 770, 787, 796], "take": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 394, 395, 404, 429, 439, 449, 466, 477, 515, 539, 556, 566, 579, 588, 598, 654, 655, 656, 668, 670, 672, 784, 788, 796, 799], "place": [222, 238, 258, 267, 280, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 394, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 796], "cpython": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "self": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 674, 780], "gettyp": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "fullnam": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "similar": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 345, 346, 359, 372, 381, 404, 429, 438, 439, 449, 466, 477, 539, 548, 556, 566, 579, 588, 598, 652, 653, 654, 655, 656, 779, 791], "overrid": [222, 227, 238, 246, 258, 267, 281, 292, 296, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 674, 798], "fix": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 546, 549, 556, 566, 579, 588, 598, 672, 774, 776, 779, 787, 788, 789], "grasshopp": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 669, 672, 673, 771, 777, 780, 799, 800], "proper": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "represent": [222, 233, 234, 238, 253, 254, 258, 263, 264, 267, 276, 277, 281, 288, 289, 292, 299, 300, 303, 310, 311, 315, 321, 322, 326, 331, 332, 335, 342, 343, 346, 353, 354, 359, 367, 368, 372, 377, 378, 381, 399, 400, 404, 412, 413, 429, 435, 436, 439, 445, 446, 449, 461, 462, 466, 473, 474, 476, 477, 522, 523, 539, 552, 553, 556, 562, 563, 565, 566, 574, 575, 579, 584, 585, 588, 594, 595, 598, 606, 607, 672, 773], "panel": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "output": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598, 673, 776, 781, 787, 789, 791], "item": [223, 239], "child": [223, 231, 239, 251, 672, 774, 776, 787, 788, 789], "sceneobject": [223, 239], "associ": [223, 239, 704, 778, 801], "cl": [225, 244, 259, 282, 293, 316, 327, 336, 347, 357, 373, 384, 430, 440, 468, 480, 540, 557, 567, 580, 589], "independ": [225, 244, 259, 282, 293, 316, 327, 336, 347, 373, 384, 430, 440, 468, 478, 480, 540, 557, 567, 580, 589, 800], "colormap": [226, 227, 245, 246, 796], "viridi": [226, 227, 245, 246, 796], "cloud": [227, 246, 796, 798], "score": [227, 246, 465, 796, 798], "2d": [227, 246, 465, 467, 771, 795, 800], "ik_index": [228, 247, 471, 796], "index": [228, 247, 471, 654, 655, 796, 798, 799, 800], "7": [228, 247, 629, 630, 646, 672, 770, 796, 798, 800], "classmethod": [229, 230, 236, 248, 249, 256, 260, 261, 265, 269, 270, 271, 272, 273, 279, 283, 284, 290, 294, 295, 296, 301, 305, 306, 313, 317, 318, 323, 328, 329, 333, 337, 338, 339, 344, 348, 349, 350, 355, 361, 362, 363, 370, 374, 375, 379, 385, 386, 387, 388, 401, 406, 407, 408, 415, 431, 432, 437, 441, 442, 447, 451, 452, 453, 454, 455, 456, 457, 464, 469, 470, 475, 479, 489, 490, 531, 534, 535, 536, 537, 541, 542, 543, 544, 545, 554, 558, 559, 564, 568, 569, 572, 577, 581, 582, 586, 590, 591, 596, 599, 601, 602, 603, 610], "construct": [229, 230, 236, 248, 249, 256, 260, 261, 265, 270, 271, 279, 283, 284, 290, 294, 295, 301, 305, 306, 313, 317, 318, 323, 328, 329, 333, 337, 338, 344, 348, 349, 355, 361, 362, 370, 374, 375, 379, 385, 386, 387, 388, 401, 407, 408, 415, 431, 432, 437, 441, 442, 447, 453, 454, 464, 469, 470, 475, 489, 490, 531, 541, 542, 554, 558, 559, 564, 568, 569, 577, 581, 582, 586, 590, 591, 596, 599, 601, 602, 603, 610, 672], "json": [229, 230, 233, 234, 248, 249, 253, 254, 260, 261, 263, 264, 270, 271, 276, 277, 283, 284, 288, 289, 294, 295, 299, 300, 305, 306, 310, 311, 317, 318, 321, 322, 328, 329, 331, 332, 337, 338, 342, 343, 348, 349, 353, 354, 361, 362, 367, 368, 374, 375, 377, 378, 385, 386, 399, 400, 407, 408, 412, 413, 431, 432, 435, 436, 441, 442, 445, 446, 453, 454, 461, 462, 469, 470, 473, 474, 489, 490, 522, 523, 541, 542, 552, 553, 558, 559, 562, 563, 568, 569, 574, 575, 581, 582, 584, 585, 590, 591, 594, 595, 601, 602, 606, 607, 672, 796, 798], "correct": [229, 230, 248, 249, 260, 261, 270, 271, 283, 284, 294, 295, 305, 306, 317, 318, 328, 329, 337, 338, 348, 349, 361, 362, 363, 374, 375, 385, 386, 407, 408, 431, 432, 441, 442, 453, 454, 469, 470, 489, 490, 541, 542, 558, 559, 568, 569, 581, 582, 590, 591, 601, 602, 773, 789], "schema": [229, 230, 236, 248, 249, 256, 260, 261, 265, 270, 271, 279, 283, 284, 290, 294, 295, 301, 305, 306, 313, 317, 318, 323, 328, 329, 333, 337, 338, 344, 348, 349, 355, 361, 362, 370, 374, 375, 379, 385, 386, 401, 407, 408, 415, 431, 432, 437, 441, 442, 447, 453, 454, 464, 469, 470, 475, 489, 490, 531, 541, 542, 554, 558, 559, 564, 568, 569, 577, 581, 582, 586, 590, 591, 596, 601, 602, 610], "typeerror": [229, 230, 248, 249, 260, 261, 270, 271, 283, 284, 294, 295, 305, 306, 317, 318, 328, 329, 337, 338, 348, 349, 361, 362, 374, 375, 385, 386, 407, 408, 431, 432, 441, 442, 453, 454, 469, 470, 489, 490, 541, 542, 558, 559, 568, 569, 581, 582, 590, 591, 601, 602], "treenod": [231, 235, 251, 255], "as_str": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "comparison": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "digest": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "hexadecim": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "rather": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 514, 521, 551, 561, 573, 583, 593, 605, 672, 784, 787], "than": [232, 252, 262, 275, 287, 297, 298, 309, 320, 330, 341, 352, 363, 366, 376, 398, 411, 434, 444, 460, 472, 514, 521, 551, 561, 573, 583, 593, 605, 672, 784, 785, 787, 788, 794, 798], "byte": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "from_obj": [232, 252, 262, 272, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 455, 460, 472, 521, 551, 561, 573, 583, 593, 605], "face": [232, 252, 262, 272, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 455, 460, 472, 521, 551, 561, 573, 583, 593, 605], "v1": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605, 672], "v2": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605, 672], "vertex_attribut": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "vertex_sampl": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "z": [232, 252, 262, 275, 280, 287, 298, 309, 320, 324, 330, 341, 352, 356, 366, 376, 398, 403, 406, 411, 416, 428, 434, 438, 444, 460, 472, 521, 551, 561, 573, 583, 593, 599, 604, 605, 645, 667, 774, 779, 783, 785, 787, 789, 796, 797, 798], "v3": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "pretti": [233, 234, 253, 254, 263, 264, 276, 277, 288, 289, 299, 300, 310, 311, 321, 322, 331, 332, 342, 343, 353, 354, 367, 368, 377, 378, 399, 400, 412, 413, 435, 436, 445, 446, 461, 462, 473, 474, 522, 523, 552, 553, 562, 563, 574, 575, 584, 585, 594, 595, 606, 607], "strategi": [235, 255], "depthfirst": [235, 255], "preorder": [235, 255], "tree": [235, 255, 776], "breadthfirst": [235, 255], "postord": [235, 255], "depth": [235, 255], "next": [235, 255, 391, 514, 798], "against": [236, 256, 265, 279, 290, 301, 313, 323, 333, 344, 355, 370, 379, 401, 415, 437, 447, 464, 475, 531, 554, 564, 577, 586, 596, 610], "raw": [236, 256, 265, 279, 290, 301, 313, 323, 333, 344, 355, 370, 379, 401, 415, 437, 447, 464, 475, 531, 554, 564, 577, 586, 596, 610, 670], "__from_data__": [236, 256, 265, 279, 290, 301, 313, 323, 333, 344, 355, 370, 379, 401, 415, 437, 447, 464, 475, 531, 554, 564, 577, 586, 596, 610], "rhinosceneobject": 237, "length": [237, 296, 363, 658, 672], "ax": [237, 356, 403, 406, 438, 528, 771, 773, 774, 776, 780, 800], "layer": [237, 242, 672], "guid": [240, 246, 247, 668, 672, 799, 800], "clear": [242, 672], "arrow": 243, "compil": 243, "docobject": [243, 250], "attribut": [243, 257, 266, 280, 291, 302, 314, 325, 334, 345, 356, 358, 371, 380, 403, 417, 428, 438, 448, 465, 476, 538, 555, 565, 578, 587, 597, 613, 631, 672, 674, 681], "objectattribut": 243, "find": [250, 291, 314, 334, 755, 787, 789, 796], "touch_link": [257, 418, 478, 576], "touch": [257, 478], "weight": [257, 302, 358, 403, 406, 448, 451, 452, 455, 456, 457], "from_stl": [257, 280, 418, 420, 421, 422, 478, 491, 492, 565, 570, 571, 785, 791], "planning_scen": [257, 280, 418, 420, 421, 422, 478, 491, 492, 494, 565, 570, 571, 697, 785, 791], "cone": [257, 418, 422, 478, 491, 492, 565, 570, 571, 785, 791], "stl": [257, 280, 418, 420, 421, 422, 478, 491, 492, 565, 570, 571, 785, 787, 789, 791], "cm": [257, 280, 418, 420, 421, 422, 785, 791], "tip": [257, 334, 339, 345, 350, 406, 418, 422, 424, 428, 438, 452, 491, 492, 570, 571, 587, 659, 774, 785, 788, 791], "end_effector_link_nam": [257, 406, 418, 452], "wrist_3_link": [257, 418, 509, 510, 774, 776, 787, 789], "acm": [257, 418, 791], "we": [257, 383, 406, 418, 420, 421, 422, 452, 668, 670, 673, 674, 773, 777, 782, 785, 787, 788, 789, 792, 794, 796, 797, 798, 799], "want": [257, 314, 334, 418, 420, 421, 422, 587, 660, 773, 779, 787, 788, 789, 796, 798], "bound": [266, 358, 363, 364, 403, 448, 451, 455, 456, 457, 657], "volum": [266, 274, 278, 314, 414, 448, 451, 455, 456, 457], "volume_typ": 266, "primit": 266, "box": [266, 269, 451, 785, 799], "sphere": [266, 273, 448, 452, 457, 795, 796], "bv": [269, 272, 273, 448], "3": [272, 296, 325, 356, 383, 391, 393, 403, 406, 448, 452, 457, 513, 514, 516, 517, 538, 597, 599, 603, 608, 609, 629, 670, 672, 783, 784, 789, 792, 796, 799, 800], "scale_factor": [274, 285, 286, 307, 308, 364, 365, 396, 397, 409, 410, 458, 459, 476], "uniformli": [274, 285, 286], "appli": [278, 296, 770, 795], "ideal": 280, "coars": [280, 787], "later": [280, 671, 785, 787, 788, 789, 796], "add_collision_mesh": [280, 672, 785, 791], "remove_collision_mesh": [280, 421, 785, 791], "append_collision_mesh": [280, 785], "etc": [280, 670, 673, 771, 781, 799], "root_nam": [280, 476], "floor": [280, 420, 421, 426, 785, 791], "x": [280, 324, 356, 403, 406, 416, 599, 604, 631, 645, 672, 783, 787, 789, 796, 797, 798, 800], "y": [280, 324, 356, 403, 406, 416, 599, 604, 667, 783, 785, 796, 797], "xaxi": [280, 416, 773, 774, 796, 797, 798], "vector": [280, 324, 403, 406, 416, 428, 438, 491, 492, 524, 525, 528, 570, 571, 597, 599, 604, 771, 773, 795, 796, 800], "yaxi": [280, 773, 774, 796, 797, 798], "aim": [291, 314, 334, 670, 671], "move": [291, 314, 334, 428, 520, 530, 630, 646, 668, 672, 755, 776, 779, 781, 788, 789], "target_configur": 291, "suitabl": [291, 314, 428, 438], "known": [291, 776], "home": [291, 538, 787, 788], "repetit": 291, "calibr": 291, "actual": [291, 798], "cell": [291, 796], "undefin": 291, "tutori": [291, 314, 356, 669, 670, 776, 787, 788], "continu": [291, 296, 297, 391], "prismat": [291, 296, 297, 387, 396, 397, 776, 789], "tolerance_abov": [291, 296, 358, 672], "One": [291, 363, 668, 788], "each": [291, 314, 356, 363, 380, 403, 406, 494, 662, 670, 674, 776, 783, 788, 792, 796, 798], "alwai": [291, 651, 673, 796], "tolerance_below": [291, 296, 358, 672], "below": [291, 358, 363, 786, 787, 789, 792, 794, 796, 797, 798], "human": [291, 314, 334, 339, 345, 350, 428, 438, 555, 587], "readabl": [291, 314, 334, 339, 345, 350, 428, 438, 555, 587], "tolerance_prismat": 296, "tolerance_revolut": 296, "gener": [296, 324, 391, 416, 467, 513, 514, 670, 672, 673, 674, 699, 771, 779, 780, 794, 795, 796, 798, 800], "tolerances_abov": [296, 363, 517, 672], "tolerances_below": [296, 363, 517, 672], "equal": [296, 324, 652, 773, 787, 796, 797], "from_revolute_valu": [296, 383, 391, 393, 488, 516, 517, 783, 792], "14": [296, 478, 491, 492, 565, 570, 571, 672, 785, 799], "001": [296, 340, 351, 383, 452, 517, 560, 592, 784], "math": [296, 324, 391, 406, 416, 517, 608, 609, 784, 787, 796, 797, 798], "wa": [297, 371, 669, 670, 795, 799], "planar": [297, 396, 397], "constraint_typ": 302, "denot": [302, 358, 403, 406, 448, 451, 452, 455, 456, 457], "closer": [302, 358, 403, 406, 448, 451, 452, 455, 456, 457], "less": [302, 358, 403, 406, 448, 451, 452, 455, 456, 457], "boundingvolum": [304, 448, 452, 672], "satisfi": 314, "veri": [314, 630, 646, 668, 670, 674, 797, 799], "domain": 314, "translat": [314, 334, 345, 773, 789], "trivial": 314, "therefor": [314, 796, 798], "advanc": [314, 779], "who": [314, 672, 779], "free": [314, 356, 597, 672, 779, 799, 801], "constraint_set": 314, "notimplementederror": [319, 488, 520], "distribut": [324, 356, 599, 670, 672, 781, 797, 801], "maxim": [324, 789, 797], "angl": [324, 403, 406, 416, 611, 612, 614, 622, 628, 632, 644, 647, 773, 789, 797], "max_alpha": [324, 796, 797], "often": [324, 672], "divid": [324, 662], "max_angl": [324, 797], "120": [324, 416], "zaxi": [324, 773, 796, 797, 798], "000": [324, 416, 488, 516, 532, 599, 604, 784, 788, 794, 797], "866": [324, 416, 797], "500": [324, 416, 783, 797], "433": 324, "750": 324, "accur": [325, 672], "passag": 325, "consist": [325, 668, 672, 674, 773, 787, 789], "nanosecond": [325, 672], "total": 325, "sum": [325, 662], "sec": [325, 672, 788], "integ": 325, "portion": [325, 796, 801], "decim": [325, 672], "variabl": [325, 671, 672, 799], "nsec": [325, 672], "d": [325, 662, 667, 670, 672, 673, 784, 787, 789], "5e8": 325, "100000000": 325, "read": [325, 476, 538, 565, 643, 663, 664, 787], "fulli": [334, 345], "rotat": [334, 345, 403, 406, 428, 438, 608, 609, 773, 776, 779, 789], "freedom": [334, 345, 428, 776], "word": [334, 345], "t0cf": [334, 428, 438, 488, 513, 514, 565, 672, 772], "target_fram": [334, 345, 516], "tcf": [334, 428, 488, 491, 492, 513, 514, 565, 570, 571, 659, 772, 779], "tool_coordinate_fram": [334, 339, 345, 350, 406, 428, 438, 452, 587, 659], "rfl": [334, 670, 672, 778], "plan_mot": [334, 555, 672, 674, 779, 784], "tolerance_posit": [334, 339, 345, 350, 428, 438, 452, 456, 517, 784], "tolerance_orient": [334, 339, 345, 350, 517, 784], "transform": [334, 339, 345, 350, 438, 526, 527, 528, 529, 587, 672, 771, 772, 774, 779, 789, 800], "flang": [334, 339, 345, 350, 406, 428, 438, 452, 478, 491, 492, 509, 565, 570, 571, 587, 659, 779, 787], "convent": [340, 351, 670, 773, 774, 777, 787], "measur": [340, 351, 613, 623, 629, 630, 631, 640, 645, 646, 788], "millimet": [340, 351, 560, 592], "sequenc": [345, 428, 438, 587, 672, 779, 784], "frametarget": [345, 517, 555, 672, 779, 784], "matric": 350, "moment": [356, 597, 779], "spatial": [356, 672], "rigid": [356, 669, 672], "size": 356, "shape": [356, 465, 798], "m": [356, 667, 672, 770, 799], "express": [356, 380, 387, 388, 406, 774, 789, 801], "symmetr": 356, "definit": [356, 478, 774], "3x3": 356, "diagon": 356, "uniqu": 356, "off": [356, 599, 630, 646, 673], "uniform": [356, 458], "densiti": [356, 788], "obtain": [356, 668, 801], "softwar": [356, 668, 670, 672, 774, 800, 801], "meshlab": 356, "great": 356, "4": [356, 358, 391, 393, 406, 448, 451, 452, 457, 513, 514, 517, 535, 629, 672, 774, 778, 784, 787, 789, 796], "principal_mo": 356, "inertia_tensor": 356, "princip": 356, "product": 356, "center_of_mass": [356, 604], "center": [356, 604, 622, 629, 631, 645, 774, 796, 798], "tensor": 357, "contraint": [358, 403, 448, 451, 455, 456, 457], "jc": 358, "joint_0": 358, "upper": [363, 532, 776, 789], "lower": [363, 532, 776, 789], "sure": [363, 668, 670, 673, 777, 781, 782, 783, 784, 785, 789], "your": [363, 668, 670, 671, 673, 770, 776, 780, 788, 799], "multipli": 364, "trajectory_point": 371, "jointtrajectorypoint": [371, 672], "compos": [371, 670, 671, 672, 673, 778, 799], "fraction": [371, 517, 599, 784, 794], "percentag": 371, "extend": [380, 669], "acceler": [380, 555], "effort": [380, 789], "veloc": [380, 555, 789], "joint_typ": [380, 672], "time_from_start": [380, 784], "durat": [380, 672], "count": 380, "alia": [380, 482], "everi": [382, 781, 787], "rang": [383, 661, 776, 785, 788, 796, 797, 798], "c1": [383, 391, 393], "c2": [383, 391, 393], "prismatic_valu": 387, "revolute_valu": 387, "extern": [387, 774, 776], "over": [391, 394, 395, 514, 515, 672, 778, 781], "smaller": 391, "allclos": 391, "preced": [394, 395, 515], "present": [394, 395, 515, 672, 771, 788, 796], "both": [394, 395, 438, 513, 515, 599, 672, 787, 789, 798], "caution": [394, 395], "rearrang": [394, 395], "scalabl": [396, 397], "quaternion": [403, 406, 773], "desir": [403, 671], "w": [403, 597, 599, 603, 604, 608, 643], "t_": [403, 406], "a_": 403, "around": [403, 406, 428, 438, 779, 788], "correspond": [403, 406, 774, 798, 799], "wherea": [403, 406], "68": [403, 773], "27": [403, 672, 773], "67": [403, 773], "73": [403, 773], "15": [403, 630, 646, 672, 773, 796, 798], "oc": 403, "link_0": [403, 448, 451, 455, 457], "tolerances_orient": 406, "necessari": [406, 428, 452, 791], "three": [406, 776], "would": [406, 656, 673, 784, 787], "robotlibrari": [406, 452, 478, 488, 491, 492, 496, 497, 498, 499, 500, 503, 504, 509, 510, 513, 514, 524, 525, 532, 672, 778, 783, 794], "main_group_nam": [406, 422, 452, 476, 488, 491, 492, 513, 514, 516, 517, 538, 543, 672, 784], "get_end_effector_link_nam": [406, 452], "017453292519943295": 406, "orthonorm": [416, 773, 795], "angle_step": 416, "accord": [418, 420, 421, 422, 623, 640, 672, 776], "load_robot": [418, 420, 421, 422, 424, 426, 516, 517, 538, 672, 777, 782, 783, 784, 785, 791, 792], "cluster": [421, 785], "implicitli": 421, "ee": 422, "remove_attached_collision_mesh": [422, 791], "detach": [422, 481], "degre": [428, 611, 612, 776, 794], "seek": 428, "align": [428, 438], "drill": [428, 779], "mill": [428, 438], "3d": [428, 438, 587, 779, 791, 796], "crucial": [428, 438], "pointaxiswaypoint": [428, 587, 672, 779], "unspecifi": [428, 779], "fcf": 428, "robotsemant": [428, 476, 672], "target_point": [428, 779], "target_z_axi": [428, 779], "toward": [428, 796], "recommend": [428, 438, 668, 799], "pointaxistarget": [438, 555, 672, 779], "target_points_and_ax": 438, "bounding_volum": [448, 458, 463], "from_spher": [448, 452], "pc": [448, 451, 455, 457], "from_box": 452, "from_mesh": 452, "400": 452, "300": [452, 783], "radiu": [457, 796, 798], "reuleaux": [465, 796], "per": [465, 798], "1d": [465, 795, 798], "arrai": [465, 656], "frame_gener": [467, 797], "ik_opt": 467, "bind": [476, 669], "togeth": [476, 626, 643, 798], "build": [476, 670, 672, 673, 770, 787, 789, 800], "cohes": 476, "programm": [476, 587], "upon": [476, 800], "typic": [476, 538, 779, 787], "come": 476, "structur": [476, 538, 774, 776, 778, 796], "scene_object": [476, 483, 484, 777], "baserobotmodelobject": 476, "attached_tool": [476, 565, 672], "group_nam": [476, 538], "group_stat": [476, 501, 538, 672], "affect": [476, 776], "detach_tool": [478, 672], "materi": [479, 672, 789], "attr": 479, "access": [479, 613, 631, 668, 670, 778, 800], "newli": [479, 534, 535, 536, 537, 780, 789, 799], "attach_tool": [481, 491, 492, 672, 785], "draw_visu": 482, "use_attached_tool_fram": [488, 513, 514, 672], "There": [488, 516, 517, 613, 626, 631, 643, 670, 771, 782, 784, 785], "api": [488, 513, 514, 516, 517, 626, 643, 669, 670, 672, 673, 788, 799, 800], "doesn": [488, 672], "238": [488, 783, 792], "153": [488, 783, 792], "174": [488, 513, 514, 516, 783, 784, 792], "185": [488, 783, 792], "667": [488, 783, 792], "frame_wcf_c": 488, "frame_wcf_m": 488, "frames_t0cf": [491, 570, 571, 659], "363": [491, 492, 524, 525, 570, 571], "003": [491, 492, 524, 525, 570, 571], "147": [491, 492, 524, 525, 570, 571], "388": [491, 492, 524, 525, 570, 571, 794], "351": [491, 492, 524, 525, 570, 571], "852": [491, 492, 524, 525, 570, 571], "276": [491, 492, 524, 525, 570, 571], "926": [491, 492, 524, 525, 570, 571], "256": [491, 492, 524, 525, 570, 571], "309": [491, 492, 570, 571, 794], "046": [491, 492, 570, 571], "266": [491, 492, 570, 571], "879": [491, 492, 570, 571], "136": [491, 492, 570, 571], "456": [491, 492, 570, 571], "frames_tcf": [492, 571], "origin": [493, 495, 520, 672, 773, 774, 775, 787, 789], "full_configur": [495, 502, 505, 515, 672], "manipul": [498, 499, 500, 509, 532, 543, 776, 788, 794], "shoulder_pan_joint": [498, 500, 532, 774, 776], "shoulder_lift_joint": [498, 500, 532, 774, 776], "elbow_joint": [498, 500, 532, 774, 776], "wrist_1_joint": [498, 500, 532, 774, 776], "wrist_2_joint": [498, 500, 532, 774, 776], "wrist_3_joint": [498, 500, 532, 774, 776], "supported_typ": [499, 508], "j": [500, 794], "belong": 506, "rget": 507, "chain": [509, 776, 788], "base_link_inertia": [509, 510], "shoulder_link": [509, 510, 774, 776, 787, 789], "upper_arm_link": [509, 510, 774, 776, 787, 789], "forearm_link": [509, 510, 774, 776, 787, 789], "wrist_1_link": [509, 510, 774, 776, 787, 789], "wrist_2_link": [509, 510, 774, 776, 787, 789], "return_full_configur": [513, 514], "fit": [513, 801], "numer": [513, 514], "abstract": [513, 796], "awai": 513, "simplifi": [513, 668, 670, 672], "recal": 513, "last": [513, 550, 674, 774, 787, 788], "ident": 513, "discard": 513, "again": [513, 791], "passiv": [513, 514, 538, 546, 549, 672, 780], "045": [513, 514], "130": [513, 514], "098": [513, 514], "616": [513, 514], "283": [513, 514], "expos": [514, 626, 643], "henc": [514, 669], "exhaust": 514, "hand": [514, 613, 631, 788], "infeas": 514, "code": [514, 533, 668, 672, 674, 770, 771, 777, 778, 781, 783], "stop": [514, 653, 673], "group_configur": 515, "merg": [515, 672, 801], "segment": [516, 775], "doctest": [516, 517, 673], "persist": [516, 517], "ci": [516, 517], "github": [516, 517, 667, 673, 770, 775], "rostimeouterror": [516, 517], "042": [516, 517, 784], "033": [516, 784], "282": [516, 784], "528": [516, 784, 794], "57": 516, "len": [516, 517, 784], "movabl": 517, "295": 517, "327": 517, "755": 517, "goal_constraint": [517, 672], "constraints_from_fram": [517, 672], "tolerances_ax": 517, "configurationtarget": [517, 555, 672, 779], "get_configurable_joint_nam": 517, "5707": 517, "No": 518, "involv": [518, 670], "robot_coordinate_fram": 520, "Not": [520, 671, 776], "rcf": [524, 525, 526, 527, 772], "collect": [533, 670, 674, 796], "test": [533, 668, 672, 673, 798], "write": [533, 666, 670, 787, 788], "stai": [533, 788], "short": 533, "55": [534, 778], "speed": [534, 535, 536, 537, 669, 784], "creation": [534, 535, 536, 537, 796], "irb": [535, 778], "4600": [535, 778], "twin": 535, "gantri": [535, 778], "setup": [535, 670, 671, 672, 673, 774, 778, 780, 787, 789], "from_srdf_fil": 538, "load_semant": 538, "robot_model": [538, 543, 544, 545, 774], "nest": [538, 672], "passive_joint": 538, "end_effector": 538, "disabled_collis": 538, "disabl": [538, 671], "link1": 538, "link2": 538, "particular": [538, 801], "term": 538, "fold": 538, "unordered_disabled_collis": [538, 672], "frozenset": 538, "urdf_filenam": [543, 792], "robot_librari": [543, 672, 777, 791, 792], "from_urdf_fil": [543, 777], "text": [544, 771, 787, 799], "xml": [545, 787, 789], "mimick": [546, 549], "is_configur": [546, 549], "get_configurable_joint": 548, "jerk": 555, "intend": [555, 587, 672, 779], "constraintsettarget": [555, 672, 779], "frame_in_tool0_fram": 565, "connected_to": [565, 672, 787], "tool_model": [565, 572], "toolmodel": 565, "planning_tim": 578, "amount": [578, 777], "took": 578, "through": [587, 669, 670, 673, 674, 779, 794], "contrast": [587, 784], "initi": [587, 621, 639, 672, 789], "paint": 587, "weld": [587, 779], "plan_cartesian_mot": [587, 672, 779, 784, 794], "interpol": [587, 661], "forc": [597, 599, 604, 672, 776], "angular": [597, 672], "torqu": [597, 599, 604, 672], "fx": 597, "fy": 597, "fz": 597, "newton": 597, "tx": 597, "ty": 597, "tz": 597, "proportion_to_cut": 599, "sampl": [599, 788], "cut": 599, "tail": 599, "trim": 599, "w1": [599, 609], "w2": [599, 609], "w3": 599, "200": 599, "ft_sensor_fram": 604, "effect": [604, 799], "graviti": 604, "compens": 604, "info": [604, 782], "vougiouka": 604, "bia": 604, "estim": 604, "http": [604, 667, 670, 671, 672, 787, 788, 789], "www": 604, "semanticscholar": 604, "org": [604, 667, 670, 672, 787, 788, 789], "paper": 604, "900c5de4ac54cf28df816584264fa0de71c4817f": 604, "com": [604, 667, 670, 672], "f": [604, 673, 773, 796], "98": 604, "066": 604, "88": 604, "193": 604, "r": [608, 609, 613, 616, 619, 621, 626, 629, 631, 634, 637, 639, 643, 662, 667, 673], "from_axis_and_angl": [608, 609, 773], "degress": 611, "serialsensor": [613, 631], "baumer": [613, 631, 672], "edg": [613, 627, 629, 630, 646], "serial": [613, 631, 650, 672], "485": [613, 616, 619, 621, 626, 631, 634, 637, 639, 643], "protocol": [613, 631, 648], "lock": [613, 616, 631, 634, 776], "programmat": [613, 631], "unlock": [613, 619, 631, 637], "handl": [613, 616, 619, 631, 634, 637, 670, 672], "automat": [613, 631, 672, 799], "begin": [613, 631, 781], "com5": [613, 631, 650], "57600": [613, 631, 650], "broadcast_address": [613, 626, 631, 643], "broadcast_queri": [613, 631], "addr": [613, 631], "get_address": [613, 631], "set_measurement_typ": [613, 631], "l": [613, 629], "rise": [613, 629], "set_precis": [613, 631], "get_measur": [613, 631], "address": [613, 620, 621, 626, 631, 638, 639, 643, 670, 671, 788], "broadcast": [613, 621, 626, 631, 639, 643], "queri": [613, 626, 631, 643, 676, 678, 680, 695, 697, 699, 701, 703, 717, 719, 721], "bu": [613, 621, 626, 631, 639, 643], "reference_thick": [614, 647], "flex": [614, 618, 628, 632, 636, 644, 647], "mount": [614, 618, 628, 632, 636, 644, 647, 776, 787, 789], "instal": [614, 622, 632, 670, 671, 672, 673, 770, 777], "thick": [614, 632], "surfac": [614, 615, 622, 632, 633], "uneven": [614, 632], "auxiliari": [614, 632], "plate": [614, 632], "is_dark_object": [615, 633], "adjust": [615, 633], "darker": [615, 633], "lighter": [615, 633], "lifetim": [616, 619, 634, 637], "deactiv": [618, 636], "realli": [621, 639, 776], "succe": [621, 639], "laser": 622, "beam": 622, "design": [622, 777, 788, 796, 800], "aid": 622, "addition": [623, 640, 777, 783, 798], "qualiti": [623, 640], "payload": [624, 641], "mostli": [626, 643], "higher": [626, 630, 643, 646], "dedic": [626, 643], "measurement_typ": [629, 645], "fall": 629, "gap": 629, "standard": [630, 646, 668, 672, 800], "median": [630, 646], "averag": [630, 646], "16": [630, 646, 672, 798], "128": [630, 646], "slower": [630, 646], "round": 631, "pariti": [631, 672], "parity_even": 631, "front": [643, 668, 796], "writ": 643, "diamet": 645, "28": [645, 672], "29": 645, "30": 645, "left": [645, 674, 779, 788, 799], "31": 645, "right": [645, 668, 788, 799, 801], "32": 645, "top": [645, 796, 800], "33": 645, "oserror": 648, "lazili": [651, 672], "mainli": [651, 788], "pull": [651, 673], "larg": [651, 654, 655, 656, 777], "contrib": 651, "ffmpeg": 651, "l1": [652, 658], "l2": [652, 658], "05": [652, 672, 798], "wise": [652, 658], "numpi": [652, 653, 654, 655, 656, 673], "evenli": 653, "interv": 653, "reconsid": [654, 655, 656], "too": [654, 655, 656, 672, 791], "sort": 656, "min_valu": 657, "max_valu": 657, "tcf_frame_in_wcf": 659, "let": [659, 781, 788, 796], "w_tcf": 659, "t0cf_tcf": 659, "And": [659, 787, 789, 798], "tcf_t0cf": 659, "w_t0cf": 659, "Then": [659, 787, 789, 796], "fullpath": 660, "extens": [660, 668, 673, 777, 799], "just": [660, 789], "search": [660, 780, 788, 799], "jpg": 660, "png": 660, "imag": [660, 670], "from_min": 661, "from_max": 661, "to_min": 661, "to_max": 661, "n0": 662, "n1": 662, "n2": 662, "n3": 662, "csvfile": 663, "delimit": 663, "csv": 663, "row": 663, "charact": 663, "pickl": [664, 666], "reconstitut": 664, "hierarchi": 664, "project": [667, 672, 673, 773, 795], "pleas": [667, 668, 673, 674, 777, 781, 782, 783, 784, 785, 787, 789, 796, 798], "citat": 667, "misc": 667, "titl": 667, "rust": 667, "casa": 667, "parascho": 667, "jenni": 667, "o": [667, 672, 777, 787, 789, 796, 798], "rfler": 667, "k": 667, "helmreich": 667, "gandia": 667, "ma": 667, "ariza": 667, "pacher": 667, "lytl": 667, "b": 667, "kasir": 667, "c": [667, 669, 670, 781, 794, 799, 801], "bruun": 667, "leung": 667, "p": [667, 670, 773, 787, 799], "howpublish": 667, "dev": [667, 673], "_fab": 667, "gramazio": [667, 670, 801], "kohler": [667, 670, 801], "research": [667, 670, 800, 801], "eth": [667, 778], "u": 667, "rich": 667, "year": 667, "2018": [667, 801], "doi": 667, "5281": 667, "zenodo": 667, "3469478": 667, "gramaziokohl": [667, 670, 778], "romana": 667, "arch": 667, "ethz": 667, "ch": 667, "romanarust": 667, "gonzalo": 667, "gonzalocasa": 667, "stefana": 667, "stefanaparascho": 667, "david": 667, "davidjenni": 667, "kathrin": 667, "d\u00f6rfler": 667, "doerfler": 667, "kathrindoerfl": 667, "matthia": 667, "mhelmrei": 667, "augusto": 667, "augustogandia": 667, "zhao": 667, "xarthurx": 667, "in\u00e9": 667, "inesariza": 667, "matteo": 667, "beverli": 667, "beverlylytl": 667, "yijiangh": 667, "mit": [667, 801], "edu": 667, "chen": 667, "chenkasir": 667, "edvard": 667, "ebruun": 667, "princeton": 667, "victor": 667, "pok": 667, "yin": 667, "yck011522": 667, "drive": 668, "principl": 668, "ecosystem": 668, "serv": [668, 671, 674, 796], "back": [668, 672], "platform": [668, 670, 671, 770, 774, 799], "chapter": 668, "highlight": 668, "explain": [668, 673], "simpl": [668, 670, 773, 774, 781, 787, 797], "complex": [668, 670], "bundl": [668, 670, 672], "isol": 668, "standar": 668, "reproduc": [668, 673], "greatli": [668, 673], "reduc": 668, "without": [668, 670, 672, 776, 781, 784, 787, 799, 801], "download": [668, 670, 777, 781, 785, 786, 791], "desktop": [668, 670], "window": [668, 670, 671, 770, 791, 799], "virtual": [668, 669, 670, 673, 780], "bio": 668, "complain": 668, "pro": 668, "linux": [668, 788, 791], "mode": 668, "click": [668, 788, 799], "icon": [668, 672, 799], "trai": 668, "bar": [668, 799], "switch": [668, 799], "studio": [668, 771], "interest": 668, "architectur": [668, 669, 674, 800], "contributor": [668, 800], "choic": [668, 673, 787], "bullet": 669, "open": [669, 670, 671, 672, 781, 787, 789, 799, 800], "written": [669, 673, 796], "intent": 669, "fast": 669, "easi": 669, "machin": [669, 670], "render": [669, 777, 791], "realiti": 669, "headset": 669, "spin": [669, 791], "docker": [669, 671, 672, 673, 778, 799], "prefer": [669, 781, 782], "alon": 669, "rhinocero": 669, "rpc": 669, "flexibl": 670, "robust": 670, "across": [670, 672, 674], "wide": 670, "varieti": 670, "real": [670, 796], "interconnect": 670, "master": [670, 781], "recent": 670, "becam": 670, "conda": [670, 673], "massiv": 670, "network": 670, "besid": 670, "eas": [670, 673, 674], "deploy": 670, "benefit": 670, "repeat": 670, "made": [670, 672, 673], "hub": 670, "onlin": 670, "minim": [670, 789], "roslaunch": [670, 787, 788, 789], "rosbridge_serv": 670, "rosbridge_websocket": 670, "launch": [670, 787, 788, 789], "enough": 670, "As": [670, 672, 787], "prompt": [670, 673, 781, 787, 788, 789, 799], "go": [670, 671, 777, 787, 789], "folder": [670, 770, 777, 778, 781, 787, 788, 789], "channel": 670, "matter": 670, "yml": [670, 671, 673, 799], "prepar": [670, 780], "irb120": 670, "irb120t": 670, "irb1600": 670, "60": [670, 797], "205": 670, "panda": [670, 777], "graphic": [670, 671, 788, 791], "altern": [670, 779, 794, 799], "brief": 670, "outlin": 670, "ubuntu": 670, "04": 670, "sudo": 670, "sh": 670, "echo": [670, 787], "deb": 670, "lsb_releas": 670, "sc": 670, "apt": 670, "latest": [670, 799], "curl": 670, "githubusercont": 670, "rosdistro": 670, "asc": 670, "updat": [670, 672, 785], "python3": 670, "rosdep": 670, "rosinstal": 670, "wstool": 670, "essenti": 670, "init": [670, 672], "opt": 670, "bash": [670, 787, 788, 789], "bashrc": [670, 787], "mkdir": [670, 787, 789], "catkin_w": 670, "src": [670, 672, 770, 787, 788, 789], "cd": [670, 787, 788, 789, 799], "catkin_mak": [670, 787, 788, 789], "devel": [670, 777, 787, 788, 789], "subsystem": 670, "powershel": [670, 799], "administr": [670, 671], "kernel": 670, "microsoft": [670, 799], "wsl": 671, "visibl": [671, 672], "unnecessari": 671, "easiest": [671, 781, 782], "abil": 671, "easili": [671, 777, 798, 799], "8080": 671, "vnc": 671, "html": [671, 672, 673, 788], "resiz": 671, "autoconnect": 671, "novnc": 671, "x11": 671, "xming": 671, "xquartz": 671, "here": [671, 673, 674, 773, 774, 785, 787, 788, 789, 792, 794, 796], "On": [671, 791, 799], "programfil": [671, 770], "x86": 671, "x0": 671, "xhost": 671, "rememb": 671, "your_ip_address": 671, "export": [671, 780], "notabl": 672, "keepachangelog": 672, "en": 672, "adher": [672, 674], "semver": 672, "spec": 672, "unreleas": 672, "unlik": [672, 699], "previou": [672, 777, 788, 789], "embed": 672, "renam": 672, "get_cached_robot": 672, "get_cached_robot_model": 672, "confus": 672, "ensure_cached_robot": 672, "ensure_cached_robot_model": 672, "ensure_cached_robot_geometri": 672, "ensure_cached_robot_model_geometri": 672, "cache_robot": 672, "cache_robot_model": 672, "inher": 672, "__call__": [672, 674], "better": [672, 774], "plan_carteisan_mot": 672, "simpli": [672, 787, 799], "jointconstraint": 672, "orientationconstraint": 672, "positionconstraint": 672, "signatur": [672, 674], "wish": [672, 674], "own": [672, 774, 776, 779, 781, 787, 789, 796], "still": [672, 673], "orientation_constraint_from_fram": 672, "from_fram": 672, "longer": 672, "position_constraint_from_fram": 672, "backend_featur": [672, 722, 724, 726, 728, 730, 732, 734, 736, 739, 742, 745, 748, 751, 755, 758, 761, 764, 767], "convert_target_to_goal_constraint": 672, "gh": [672, 770, 796, 798], "constraintsfromplan": 672, "frametargetfromplan": 672, "constraintsfromtargetconfigur": 672, "plan_cartesian_motion_deprec": 672, "plan_motion_deprec": 672, "forward_kinematics_deprec": 672, "inverse_kinematics_deprec": 672, "2024": 672, "02": [672, 795], "22": 672, "introduc": 672, "script": [672, 778, 781, 785, 791, 796, 798], "extract": [672, 778], "migrat": 672, "compli": 672, "privat": 672, "show": [672, 673, 776, 783, 787, 789, 794, 799], "ee_link": [672, 787, 789], "rep": [672, 774], "outdat": 672, "pathplan": 672, "demo": [672, 777, 782, 783, 784, 785, 788], "alias": 672, "artist": [672, 796, 798], "becaus": [672, 776, 787, 789, 796], "universal_robot": 672, "2023": 672, "whole": 672, "pre": 672, "prefix": [672, 787, 789], "forward_kinemat": [672, 783, 792], "inverse_kinemat": [672, 674, 783, 792, 794, 796], "revert": 672, "ie": [672, 770], "tangent_points_to_circle_xi": 672, "spheric": [672, 778, 794], "wrist": [672, 778, 794], "older": 672, "dh": [672, 794], "kinet": [672, 777, 788, 796], "ros_client": 672, "eg": 672, "reconnect": 672, "26": [672, 798], "doc": [672, 673, 788], "properti": [672, 783, 787, 789], "simultan": 672, "attachtoolcompon": 672, "overwrit": 672, "25": [672, 785], "compas_rhino": [672, 770, 799], "coerc": 672, "insid": [672, 771, 777, 799], "uninstal": 672, "24": 672, "deviationvectorsgener": [672, 796, 797, 798], "orthonormalvectorsfromaxisgener": [672, 797], "rosmsg": 672, "load_ur5": [672, 794, 796], "public": 672, "remain": [672, 779], "issu": [672, 673], "write_data_to_json": 672, "favor": 672, "json_dump": 672, "read_data_from_json": 672, "json_load": 672, "crowd": 672, "mcneel": 672, "workshop": 672, "21": 672, "wire": 672, "hidden": 672, "cleaner": 672, "offset": [672, 778, 794], "analyticalinversekinemat": [672, 794, 796], "binari": 672, "vrepclient": 672, "remot": [672, 777], "remoteapi": 672, "posearrai": 672, "multiarraydimens": 672, "multiarraylayout": 672, "int8multiarrai": 672, "float32multiarrai": 672, "int32": 672, "consequ": 672, "resolut": [672, 788], "unsupportedoper": 672, "jupyt": 672, "notebook": 672, "redirect_stdout": 672, "from_data": 672, "18": 672, "17": 672, "19": 672, "ghuser": [672, 770], "repr": 672, "bug": 672, "convert_mesh_to_bodi": 672, "circumv": 672, "propens": 672, "9": 672, "collisionobject": 672, "to_collision_mesh": 672, "deseri": 672, "get_robot_configur": 672, "ensure_geometri": 672, "planningscenecompon": 672, "__ne__": 672, "12": [672, 777], "add_attached_collision_mesh": [672, 791], "did": 672, "were": [672, 796], "resetplanningscen": [672, 767, 800], "ipi": [672, 770], "remove_attached_tool": 672, "13": 672, "add_attached_tool": 672, "frame_id": 672, "freez": 672, "sync": 672, "from_t0cf_to_tcf": 672, "from_tcf_to_t0cf": 672, "constructor": 672, "iter_differ": 672, "max_differ": 672, "close_to": 672, "get_configuration_from_group_st": 672, "to_local_coord": 672, "to_local_coordin": [672, 774], "to_world_coord": 672, "to_world_coordin": [672, 773, 774], "restructur": 672, "homogen": 672, "reflect": [672, 773], "unifi": [672, 776], "robotartist": 672, "robotmodelartist": 672, "fact": 672, "from_tool0_to_attached_tool": 672, "from_attached_tool_to_tool0": 672, "refactor": 672, "old": [672, 796], "suffix": 672, "_deprec": 672, "11": [672, 785], "full_joint_st": 672, "get_all_configurable_joint": 672, "asymmetr": 672, "constraints_from_configur": 672, "meth": 672, "dae": 672, "parser": 672, "polylist": 672, "bump": 672, "draw_attached_tool": 672, "redraw": 672, "mutabl": 672, "basic": [672, 773, 782], "triangl": 672, "wrench": 672, "parent": [672, 774, 776, 787, 788, 789], "join": [672, 777, 796, 798], "incompat": 672, "posconcm": 672, "poscon3d": 672, "set_flex_mount": 672, "py": [672, 674, 777, 778, 781, 791, 799], "follow_joint_trajectori": 672, "execute_joint_trajectori": 672, "deal": [672, 801], "async": 672, "get_live_monitor_data": 672, "send_fram": 672, "send_configur": 672, "send_trajectori": 672, "anymor": [672, 787], "reconfigur": 672, "get_configur": 672, "compute_cartesian_path": 672, "motion_plan_goal_fram": 672, "motion_plan_goal_configur": 672, "load_urdf": [672, 777], "get_end_effector_pos": 672, "find_robot_st": 672, "find_path_plan_to_config": 672, "plan_motion_to_config": 672, "find_path_plan": 672, "becom": [672, 779], "robot_artist": 672, "maco": 672, "deeper": 672, "urdfimport": 672, "releas": 672, "welcom": 673, "appreci": 673, "love": 673, "everyon": 673, "quick": [673, 789], "fork": 673, "repositori": [673, 777, 778], "clone": 673, "virtualenv": 673, "develop": [673, 674, 774], "pip": 673, "txt": [673, 787, 789], "integration_setup": 673, "codeblock": 673, "branch": [673, 777], "down": 673, "linter": [673, 799], "lint": 673, "yourself": 673, "rst": 673, "commit": 673, "push": 673, "websit": 673, "pyinvok": 673, "recur": 673, "clean": 673, "artifact": 673, "style": 673, "swift": 673, "introduct": [673, 771, 795, 798, 800], "docstr": 673, "restructuredtext": 673, "sphinx": 673, "napoleon": 673, "troubleshoot": 673, "propos": 673, "scope": 673, "narrow": 673, "easier": 673, "promot": 674, "modular": 674, "eventu": 674, "controlinterfac": 674, "templat": 674, "magic": 674, "exampleinversekinemat": 674, "def": [674, 781, 796, 797, 798], "insert": 674, "fanci": 674, "instanti": 674, "manner": 674, "calculate_example_ik": 674, "ik_result": 674, "equival": [674, 781], "enforc": 674, "sai": 674, "greater": 674, "mix": [674, 675, 677, 679, 694, 696, 698, 700, 702, 716, 718, 720], "suit": [674, 799], "overhead": 674, "illustr": [674, 777], "clienta": 674, "effici": [674, 777], "clientb": 674, "slow": 674, "client_a": 674, "client_b": 674, "clientainversekinemat": 674, "clientbplanmot": 674, "planmot": [674, 755, 800], "resp": 674, "pipelin": 674, "backendfeatur": [675, 677, 679, 694, 696, 698, 700, 702, 716, 718, 720, 800], "conjunct": 704, "addattachedcollisionmesh": [722, 736, 800], "addcollisionmesh": [724, 739, 800], "appendcollisionmesh": [726, 742, 800], "forwardkinemat": [728, 745, 800], "removeattachedcollisionmesh": [732, 761, 800], "removecollisionmesh": [734, 764, 800], "getplanningscen": [758, 800], "component": 770, "rebuild": 770, "io": 770, "path_to_ghio": 770, "dll": 770, "symlink": 770, "reinstal": 770, "line": [770, 787, 789, 799], "gh_io": 770, "grasshopperplugin": 770, "rhp": 770, "app": 770, "section": 771, "concept": [771, 777, 779], "editor": [771, 787, 799], "sublim": 771, "eclips": 771, "fundament": [771, 800], "further": [772, 780], "ocf": 772, "shear": 773, "146": 773, "00": 773, "150": 773, "161": 773, "50": 773, "9767": 773, "0010": 773, "214": 773, "1002": 773, "8818": 773, "4609": 773, "35": [773, 798], "p_": 773, "euler_angl": [773, 789], "xyz": [773, 787, 789], "staubli": 773, "zyx": 773, "kuka": 773, "axis_angle_vector": 773, "ur": [773, 794], "deriv": 773, "euler": [773, 789], "f1": [773, 789], "alpha": 773, "beta": 773, "gamma": 773, "rx": 773, "ry": 773, "rz": 773, "f2": [773, 789], "q": 773, "from_quaternion": 773, "from_axis_angle_vector": 773, "share": 774, "relationship": [774, 776], "upward": 774, "mobil": 774, "coincid": [774, 779], "mechan": [774, 776], "buildup": 774, "tcp": [774, 787, 788, 796], "get_base_fram": 774, "105": 774, "disk": 775, "mathemat": 776, "form": 776, "concern": 776, "inter": 776, "dependend": 776, "plu": 776, "underli": 776, "solid": 776, "movement": [776, 784], "travel": 776, "kind": [776, 801], "major": 776, "hing": 776, "slide": 776, "snippet": 776, "wiki": [776, 787, 789], "programat": 777, "shown": [777, 799], "exemplifi": [777, 781, 783], "localpackagemeshload": [777, 791], "ur10e_robot": 777, "support_package_nam": 777, "githubpackagemeshload": 777, "abb_irb6600_support": 777, "irb6640": 777, "correctli": [777, 781, 782, 783, 784, 785, 799], "situat": 777, "local_directori": 777, "expandus": 777, "robot_nam": 777, "our": [777, 781, 787, 789, 791], "favorit": 777, "robotmodelobject": 777, "ghx": [777, 785, 786], "demonstr": [778, 786, 792], "capabl": 778, "brand": 778, "univers": 778, "abb_irb4600_40_255": [778, 794], "arch_tec_lab": 778, "laboratori": 778, "ros_dock": 778, "extact_robot_package_from_ro": 778, "condit": [779, 801], "cylindr": 779, "parallel": 779, "exact": 779, "orientatio": 779, "taught": 779, "acquir": 779, "jog": 779, "subset": 779, "At": [779, 796], "freeli": 779, "hello": 780, "playground": [780, 785], "catkin": 780, "xacro": [780, 788], "view": [780, 799], "verifi": [781, 791, 799], "past": [781, 787, 789, 791], "standalon": 781, "everyth": [781, 791], "properli": [781, 791], "yai": [781, 799], "latter": 781, "former": 781, "whenev": 781, "respond": 781, "fire": 781, "extrem": 781, "termin": [781, 799], "press": [781, 788, 789, 799], "ctrl": [781, 799], "chatter": 781, "std_msg": 781, "sleep": [781, 785, 791], "unadvertis": 781, "side": [781, 788, 789, 799], "receive_messag": 781, "heard": 781, "talk": 781, "01_ros_hello_world_talk": 781, "01_ros_hello_world_listen": 781, "hear": 781, "relev": 781, "even": 781, "assert": [782, 783, 784, 785, 794], "articul": [783, 792], "simplest": 783, "resolv": 783, "feasibl": 783, "config": [783, 788, 792, 794], "approx": 784, "3f": 784, "530": 784, "830": 784, "580": 784, "330": 784, "760": 784, "bit": [785, 797], "brick": 785, "don": 785, "track": 785, "from_width_height_depth": 785, "07": [785, 789], "to_mesh": 785, "triangul": 785, "zsize": 785, "t1cf": 785, "showcas": 785, "canva": 786, "simplic": [786, 796], "screenshot": [786, 787, 789], "look": [787, 798], "slightli": 787, "larger": 787, "guarante": 787, "safe": 787, "zone": 787, "friendli": [787, 789], "rhino3d": 787, "robotic_setup": [787, 788, 789], "ur5_with_measurement_tool": [787, 788], "catkin_create_pkg": [787, 789], "cmakelist": [787, 789], "buildtool_depend": [787, 789], "test_depend": [787, 789], "build_export_depend": [787, 789], "joint_state_publish": [787, 789], "robot_state_publish": [787, 789], "rviz": [787, 789], "exec_depend": [787, 789], "email": [787, 788, 789], "licenc": [787, 789], "convini": 787, "impli": [787, 801], "macro": [787, 789], "languag": 787, "constant": 787, "parameter": [787, 789], "pico": [787, 789], "measurement_tool": [787, 788], "encod": [787, 789], "utf": [787, 789], "xmln": [787, 789], "measurement_tool_joint": 787, "rpy": [787, 789], "filenam": [787, 789], "tcp_joint": 787, "116": [787, 794], "mayb": 787, "twice": [787, 789], "distinguish": [787, 789], "whatev": 787, "ur_descript": [787, 789], "joint_limit": [787, 789], "todo": 787, "world_joint": [787, 789], "joint6": 787, "link6": 787, "pronounc": 787, "shall": [787, 801], "exactli": 787, "unconfigur": 787, "li": 787, "logic": 787, "ti": 787, "never": 787, "rosrun": [787, 789], "inord": [787, 789], "check_urdf": [787, 789], "successfulli": [787, 789], "ren": [787, 789], "boilerpl": [787, 789], "urdf_tutori": [787, 789], "roscd": [787, 789], "cp": [787, 789], "rvizconfig": [787, 789], "use_gui": [787, 789], "pkg": [787, 789], "state_publish": [787, 789], "conveni": 787, "scratch": [787, 789], "Its": 788, "primari": 788, "moveit_setup_assist": 788, "setup_assist": 788, "brows": 788, "button": 788, "navig": 788, "choos": [788, 789, 796], "few": 788, "screen": 788, "pane": 788, "selector": 788, "tabl": 788, "fine": [788, 789], "primarili": 788, "virtual_joint": 788, "enter": [788, 789], "ur_kinemat": 788, "ur5kinematicsplugin": 788, "kin": 788, "expand": 788, "procedur": [788, 799], "measurment_tool": 788, "mid": 788, "individu": 788, "happi": 788, "someth": [788, 789], "wrong": 788, "abl": 788, "leav": 788, "skip": 788, "almost": 788, "ur5_with_measurement_tool_moveit_config": 788, "appear": 788, "tab": 788, "plai": [788, 789], "rviz_tutori": 788, "moveit_tutori": 788, "setup_assistant_tutori": 788, "urdf_srdf": 788, "urdf_srdf_tutori": 788, "mark": 789, "moveabl": 789, "axis1_joint": 789, "axis1": 789, "121": 789, "537": 789, "1000": 789, "86": 789, "axis1_pl": 789, "axis2_joint": 789, "axis2": 789, "467": 789, "054": 789, "attachment_joint": 789, "ur10_robot": 789, "regard": 789, "remind": 789, "worldyz": 789, "from_frame_to_fram": 789, "turn": 789, "worri": 789, "slider": 789, "repl": 791, "opengl": 791, "osx": 791, "due": 791, "wheel": 791, "stepsimul": 791, "quickli": 791, "urdf_filepath": 791, "smoother": 791, "capac": 792, "eight": 794, "360": 794, "staubli_tx260l": 794, "lobster": 794, "381": 794, "093": 794, "382": 794, "371": 794, "292": 794, "882": 794, "113": 794, "956": 794, "269": 794, "joint_posit": 794, "Or": [794, 797, 799], "analyticalpybulletcli": 794, "matplotlib": 794, "pyplot": 794, "plt": 794, "frames_wcf": 794, "407": 794, "073": 794, "320": 794, "922": 794, "404": 794, "057": 794, "324": 794, "919": 794, "394": 794, "090": 794, "974": 794, "210": 794, "390": 794, "064": 794, "315": 794, "891": 794, "454": 794, "967": 794, "228": 794, "079": 794, "881": 794, "473": 794, "149": 794, "949": 794, "278": 794, "376": 794, "087": 794, "299": 794, "850": 794, "184": 794, "937": [794, 798], "296": 794, "plot": 794, "03": [795, 796], "obstacl": 796, "discret": 796, "checkout": 796, "half": 796, "evalu": [796, 798], "plane": 796, "points_on_sphere_gener": [796, 798], "theta_deg": 796, "phi_deg": 796, "90": 796, "theta": 796, "phi": 796, "co": 796, "sin": 796, "from_plan": 796, "to_json": [796, 798], "map1d": 796, "draw_fram": 796, "from_json": 796, "highest": 796, "yellow": [796, 798], "lowest": 796, "violet": 796, "figur": [796, 798], "captur": 796, "ultim": 796, "meaning": 796, "had": 796, "camera": 796, "hemispher": 796, "littl": 796, "distort": 796, "tripod": 796, "sometim": 797, "helper": 797, "red": 797, "black": 797, "643": 797, "766": 797, "321": 797, "557": 797, "pt": 797, "cross": [797, 798], "deviation_vector_gener": 798, "map2d_devi": 798, "scatter": 798, "dark": 798, "purpl": 798, "know": 798, "sphere_gener": 798, "5705": 798, "163": 798, "give": 798, "436": 798, "ask": 798, "best_scor": 798, "NOT": [798, 801], "sphere_cent": 798, "popular": 799, "project_nam": 799, "n": 799, "forg": 799, "upgrad": 799, "good": 799, "program": 799, "offici": 799, "debug": 799, "auto": 799, "dockerfil": 799, "editorconfig": 799, "tweak": 799, "flake8": 799, "palett": 799, "shift": 799, "shell": 799, "kill": 799, "f5": 799, "debugg": 799, "breakpoint": 799, "gutter": 799, "inspect": 799, "bottom": 799, "statu": 799, "interpret": 799, "facilit": 800, "field": 800, "ompl": 800, "parametr": 800, "collabor": 800, "digit": 800, "cite": 800, "changelog": 800, "licens": 800, "copyright": 801, "permiss": 801, "herebi": 801, "grant": 801, "charg": 801, "person": 801, "restrict": 801, "sublicens": 801, "sell": 801, "permit": 801, "whom": 801, "furnish": 801, "subject": 801, "notic": 801, "substanti": 801, "THE": 801, "AS": 801, "warranti": 801, "OF": 801, "OR": 801, "BUT": 801, "TO": 801, "merchant": 801, "FOR": 801, "AND": 801, "noninfring": 801, "IN": 801, "NO": 801, "holder": 801, "BE": 801, "liabl": 801, "claim": 801, "damag": 801, "liabil": 801, "contract": 801, "tort": 801, "aris": 801, "WITH": 801}, "objects": {"": [[1, 0, 0, "-", "compas_fab"]], "compas_fab": [[2, 0, 0, "-", "backends"], [3, 0, 0, "-", "blender"], [4, 0, 0, "-", "ghpython"], [5, 0, 0, "-", "rhino"], [6, 0, 0, "-", "robots"], [7, 0, 0, "-", "sensors"], [8, 0, 0, "-", "utilities"]], "compas_fab.backends": [[9, 1, 1, "", "ABB_IRB4600_40_255Kinematics"], [12, 1, 1, "", "AnalyticalInverseKinematics"], [14, 1, 1, "", "AnalyticalPlanCartesianMotion"], [17, 1, 1, "", "AnalyticalPyBulletClient"], [51, 3, 1, "", "BackendError"], [52, 3, 1, "", "BackendFeatureNotSupportedError"], [53, 1, 1, "", "CancellableFutureResult"], [56, 3, 1, "", "CartesianMotionError"], [57, 3, 1, "", "CollisionError"], [58, 1, 1, "", "FutureResult"], [60, 3, 1, "", "InverseKinematicsError"], [61, 3, 1, "", "KinematicsError"], [62, 1, 1, "", "MoveItPlanner"], [86, 1, 1, "", "OffsetWristKinematics"], [89, 1, 1, "", "PyBulletClient"], [123, 3, 1, "", "PyBulletError"], [124, 1, 1, "", "PyBulletPlanner"], [136, 1, 1, "", "RosClient"], [189, 3, 1, "", "RosError"], [190, 1, 1, "", "RosFileServerLoader"], [196, 3, 1, "", "RosValidationError"], [197, 1, 1, "", "SphericalWristKinematics"], [200, 1, 1, "", "Staubli_TX260LKinematics"], [203, 1, 1, "", "UR10Kinematics"], [206, 1, 1, "", "UR10eKinematics"], [209, 1, 1, "", "UR3Kinematics"], [212, 1, 1, "", "UR3eKinematics"], [215, 1, 1, "", "UR5Kinematics"], [218, 1, 1, "", "UR5eKinematics"], [674, 0, 0, "-", "interfaces"]], "compas_fab.backends.ABB_IRB4600_40_255Kinematics": [[10, 2, 1, "", "forward"], [11, 2, 1, "", "inverse"]], "compas_fab.backends.AnalyticalInverseKinematics": [[13, 2, 1, "", "inverse_kinematics"]], "compas_fab.backends.AnalyticalPlanCartesianMotion": [[15, 2, 1, "", "plan_cartesian_motion"], [16, 2, 1, "", "smooth_configurations"]], "compas_fab.backends.AnalyticalPyBulletClient": [[18, 2, 1, "", "add_attached_collision_mesh"], [19, 2, 1, "", "add_collision_mesh"], [20, 2, 1, "", "append_collision_mesh"], [21, 2, 1, "", "body_from_obj"], [22, 2, 1, "", "cache_robot_model"], [23, 2, 1, "", "check_collision_objects_for_collision"], [24, 2, 1, "", "check_collision_with_objects"], [25, 2, 1, "", "check_collisions"], [26, 2, 1, "", "check_robot_self_collision"], [27, 2, 1, "", "connect"], [28, 2, 1, "", "convert_mesh_to_body"], [29, 2, 1, "", "disconnect"], [30, 2, 1, "", "ensure_cached_robot_model"], [31, 2, 1, "", "ensure_cached_robot_model_geometry"], [32, 2, 1, "", "filter_configurations_in_collision"], [33, 2, 1, "", "forward_kinematics"], [34, 2, 1, "", "get_cached_robot_filepath"], [35, 2, 1, "", "get_cached_robot_model"], [36, 2, 1, "", "get_planning_scene"], [37, 2, 1, "", "get_robot_configuration"], [38, 2, 1, "", "get_uid"], [39, 2, 1, "", "inverse_kinematics"], [40, 2, 1, "", "load_robot"], [41, 2, 1, "", "load_semantics"], [42, 2, 1, "", "load_ur5"], [43, 2, 1, "", "plan_cartesian_motion"], [44, 2, 1, "", "plan_motion"], [45, 2, 1, "", "reload_from_cache"], [46, 2, 1, "", "remove_attached_collision_mesh"], [47, 2, 1, "", "remove_collision_mesh"], [48, 2, 1, "", "reset_planning_scene"], [49, 2, 1, "", "set_robot_configuration"], [50, 2, 1, "", "step_simulation"]], "compas_fab.backends.CancellableFutureResult": [[54, 2, 1, "", "cancel"], [55, 2, 1, "", "result"]], "compas_fab.backends.FutureResult": [[59, 2, 1, "", "result"]], "compas_fab.backends.MoveItPlanner": [[63, 2, 1, "", "add_attached_collision_mesh"], [64, 2, 1, "", "add_attached_collision_mesh_async"], [65, 2, 1, "", "add_collision_mesh"], [66, 2, 1, "", "add_collision_mesh_async"], [67, 2, 1, "", "append_collision_mesh"], [68, 2, 1, "", "append_collision_mesh_async"], [69, 2, 1, "", "forward_kinematics"], [70, 2, 1, "", "forward_kinematics_async"], [71, 2, 1, "", "get_planning_scene"], [72, 2, 1, "", "get_planning_scene_async"], [73, 2, 1, "", "inverse_kinematics"], [74, 2, 1, "", "inverse_kinematics_async"], [75, 2, 1, "", "plan_cartesian_motion"], [76, 2, 1, "", "plan_cartesian_motion_with_frame_waypoints_async"], [77, 2, 1, "", "plan_cartesian_motion_with_point_axis_waypoints_async"], [78, 2, 1, "", "plan_motion"], [79, 2, 1, "", "plan_motion_async"], [80, 2, 1, "", "remove_attached_collision_mesh"], [81, 2, 1, "", "remove_attached_collision_mesh_async"], [82, 2, 1, "", "remove_collision_mesh"], [83, 2, 1, "", "remove_collision_mesh_async"], [84, 2, 1, "", "reset_planning_scene"], [85, 2, 1, "", "reset_planning_scene_async"]], "compas_fab.backends.OffsetWristKinematics": [[87, 2, 1, "", "forward"], [88, 2, 1, "", "inverse"]], "compas_fab.backends.PyBulletClient": [[90, 2, 1, "", "add_attached_collision_mesh"], [91, 2, 1, "", "add_collision_mesh"], [92, 2, 1, "", "append_collision_mesh"], [93, 2, 1, "", "body_from_obj"], [94, 2, 1, "", "cache_robot_model"], [95, 2, 1, "", "check_collision_objects_for_collision"], [96, 2, 1, "", "check_collision_with_objects"], [97, 2, 1, "", "check_collisions"], [98, 2, 1, "", "check_robot_self_collision"], [99, 2, 1, "", "connect"], [100, 2, 1, "", "convert_mesh_to_body"], [101, 2, 1, "", "disconnect"], [102, 2, 1, "", "ensure_cached_robot_model"], [103, 2, 1, "", "ensure_cached_robot_model_geometry"], [104, 2, 1, "", "filter_configurations_in_collision"], [105, 2, 1, "", "forward_kinematics"], [106, 2, 1, "", "get_cached_robot_filepath"], [107, 2, 1, "", "get_cached_robot_model"], [108, 2, 1, "", "get_planning_scene"], [109, 2, 1, "", "get_robot_configuration"], [110, 2, 1, "", "get_uid"], [111, 2, 1, "", "inverse_kinematics"], [112, 2, 1, "", "load_robot"], [113, 2, 1, "", "load_semantics"], [114, 2, 1, "", "load_ur5"], [115, 2, 1, "", "plan_cartesian_motion"], [116, 2, 1, "", "plan_motion"], [117, 2, 1, "", "reload_from_cache"], [118, 2, 1, "", "remove_attached_collision_mesh"], [119, 2, 1, "", "remove_collision_mesh"], [120, 2, 1, "", "reset_planning_scene"], [121, 2, 1, "", "set_robot_configuration"], [122, 2, 1, "", "step_simulation"]], "compas_fab.backends.PyBulletPlanner": [[125, 2, 1, "", "add_attached_collision_mesh"], [126, 2, 1, "", "add_collision_mesh"], [127, 2, 1, "", "append_collision_mesh"], [128, 2, 1, "", "forward_kinematics"], [129, 2, 1, "", "get_planning_scene"], [130, 2, 1, "", "inverse_kinematics"], [131, 2, 1, "", "plan_cartesian_motion"], [132, 2, 1, "", "plan_motion"], [133, 2, 1, "", "remove_attached_collision_mesh"], [134, 2, 1, "", "remove_collision_mesh"], [135, 2, 1, "", "reset_planning_scene"]], "compas_fab.backends.RosClient": [[137, 2, 1, "", "add_attached_collision_mesh"], [138, 2, 1, "", "add_collision_mesh"], [139, 2, 1, "", "append_collision_mesh"], [140, 2, 1, "", "authenticate"], [141, 2, 1, "", "blocking_call_from_thread"], [142, 2, 1, "", "call_async_service"], [143, 2, 1, "", "call_in_thread"], [144, 2, 1, "", "call_later"], [145, 2, 1, "", "call_sync_service"], [146, 2, 1, "", "close"], [147, 2, 1, "", "connect"], [148, 2, 1, "", "delete_param"], [149, 2, 1, "", "emit"], [150, 2, 1, "", "execute_joint_trajectory"], [151, 2, 1, "", "follow_configurations"], [152, 2, 1, "", "follow_joint_trajectory"], [153, 2, 1, "", "forward_kinematics"], [154, 2, 1, "", "get_action_servers"], [155, 2, 1, "", "get_configuration"], [156, 2, 1, "", "get_message_details"], [157, 2, 1, "", "get_node_details"], [158, 2, 1, "", "get_nodes"], [159, 2, 1, "", "get_param"], [160, 2, 1, "", "get_params"], [161, 2, 1, "", "get_planning_scene"], [162, 2, 1, "", "get_service_request_callback"], [163, 2, 1, "", "get_service_request_details"], [164, 2, 1, "", "get_service_response_details"], [165, 2, 1, "", "get_service_type"], [166, 2, 1, "", "get_services"], [167, 2, 1, "", "get_services_for_type"], [168, 2, 1, "", "get_time"], [169, 2, 1, "", "get_topic_type"], [170, 2, 1, "", "get_topics"], [171, 2, 1, "", "get_topics_for_type"], [172, 2, 1, "", "inverse_kinematics"], [173, 2, 1, "", "load_robot"], [174, 2, 1, "", "off"], [175, 2, 1, "", "on"], [176, 2, 1, "", "on_ready"], [177, 2, 1, "", "plan_cartesian_motion"], [178, 2, 1, "", "plan_motion"], [179, 2, 1, "", "remove_attached_collision_mesh"], [180, 2, 1, "", "remove_collision_mesh"], [181, 2, 1, "", "reset_planning_scene"], [182, 2, 1, "", "run"], [183, 2, 1, "", "run_event_loop"], [184, 2, 1, "", "run_forever"], [185, 2, 1, "", "send_on_ready"], [186, 2, 1, "", "set_param"], [187, 2, 1, "", "set_status_level"], [188, 2, 1, "", "terminate"]], "compas_fab.backends.RosFileServerLoader": [[191, 2, 1, "", "can_load_mesh"], [192, 2, 1, "", "load_mesh"], [193, 2, 1, "", "load_meshes"], [194, 2, 1, "", "load_srdf"], [195, 2, 1, "", "load_urdf"]], "compas_fab.backends.SphericalWristKinematics": [[198, 2, 1, "", "forward"], [199, 2, 1, "", "inverse"]], "compas_fab.backends.Staubli_TX260LKinematics": [[201, 2, 1, "", "forward"], [202, 2, 1, "", "inverse"]], "compas_fab.backends.UR10Kinematics": [[204, 2, 1, "", "forward"], [205, 2, 1, "", "inverse"]], "compas_fab.backends.UR10eKinematics": [[207, 2, 1, "", "forward"], [208, 2, 1, "", "inverse"]], "compas_fab.backends.UR3Kinematics": [[210, 2, 1, "", "forward"], [211, 2, 1, "", "inverse"]], "compas_fab.backends.UR3eKinematics": [[213, 2, 1, "", "forward"], [214, 2, 1, "", "inverse"]], "compas_fab.backends.UR5Kinematics": [[216, 2, 1, "", "forward"], [217, 2, 1, "", "inverse"]], "compas_fab.backends.UR5eKinematics": [[219, 2, 1, "", "forward"], [220, 2, 1, "", "inverse"]], "compas_fab.backends.interfaces": [[675, 1, 1, "", "AddAttachedCollisionMesh"], [677, 1, 1, "", "AddCollisionMesh"], [679, 1, 1, "", "AppendCollisionMesh"], [681, 1, 1, "", "BackendFeature"], [682, 1, 1, "", "ClientInterface"], [694, 1, 1, "", "ForwardKinematics"], [696, 1, 1, "", "GetPlanningScene"], [698, 1, 1, "", "InverseKinematics"], [700, 1, 1, "", "PlanCartesianMotion"], [702, 1, 1, "", "PlanMotion"], [704, 1, 1, "", "PlannerInterface"], [716, 1, 1, "", "RemoveAttachedCollisionMesh"], [718, 1, 1, "", "RemoveCollisionMesh"], [720, 1, 1, "", "ResetPlanningScene"]], "compas_fab.backends.interfaces.AddAttachedCollisionMesh": [[676, 2, 1, "", "add_attached_collision_mesh"]], "compas_fab.backends.interfaces.AddCollisionMesh": [[678, 2, 1, "", "add_collision_mesh"]], "compas_fab.backends.interfaces.AppendCollisionMesh": [[680, 2, 1, "", "append_collision_mesh"]], "compas_fab.backends.interfaces.ClientInterface": [[683, 2, 1, "", "add_attached_collision_mesh"], [684, 2, 1, "", "add_collision_mesh"], [685, 2, 1, "", "append_collision_mesh"], [686, 2, 1, "", "forward_kinematics"], [687, 2, 1, "", "get_planning_scene"], [688, 2, 1, "", "inverse_kinematics"], [689, 2, 1, "", "plan_cartesian_motion"], [690, 2, 1, "", "plan_motion"], [691, 2, 1, "", "remove_attached_collision_mesh"], [692, 2, 1, "", "remove_collision_mesh"], [693, 2, 1, "", "reset_planning_scene"]], "compas_fab.backends.interfaces.ForwardKinematics": [[695, 2, 1, "", "forward_kinematics"]], "compas_fab.backends.interfaces.GetPlanningScene": [[697, 2, 1, "", "get_planning_scene"]], "compas_fab.backends.interfaces.InverseKinematics": [[699, 2, 1, "", "inverse_kinematics"]], "compas_fab.backends.interfaces.PlanCartesianMotion": [[701, 2, 1, "", "plan_cartesian_motion"]], "compas_fab.backends.interfaces.PlanMotion": [[703, 2, 1, "", "plan_motion"]], "compas_fab.backends.interfaces.PlannerInterface": [[705, 2, 1, "", "add_attached_collision_mesh"], [706, 2, 1, "", "add_collision_mesh"], [707, 2, 1, "", "append_collision_mesh"], [708, 2, 1, "", "forward_kinematics"], [709, 2, 1, "", "get_planning_scene"], [710, 2, 1, "", "inverse_kinematics"], [711, 2, 1, "", "plan_cartesian_motion"], [712, 2, 1, "", "plan_motion"], [713, 2, 1, "", "remove_attached_collision_mesh"], [714, 2, 1, "", "remove_collision_mesh"], [715, 2, 1, "", "reset_planning_scene"]], "compas_fab.backends.interfaces.RemoveAttachedCollisionMesh": [[717, 2, 1, "", "remove_attached_collision_mesh"]], "compas_fab.backends.interfaces.RemoveCollisionMesh": [[719, 2, 1, "", "remove_collision_mesh"]], "compas_fab.backends.interfaces.ResetPlanningScene": [[721, 2, 1, "", "reset_planning_scene"]], "compas_fab.backends.pybullet": [[674, 0, 0, "-", "backend_features"]], "compas_fab.backends.pybullet.backend_features": [[722, 1, 1, "", "PyBulletAddAttachedCollisionMesh"], [724, 1, 1, "", "PyBulletAddCollisionMesh"], [726, 1, 1, "", "PyBulletAppendCollisionMesh"], [728, 1, 1, "", "PyBulletForwardKinematics"], [730, 1, 1, "", "PyBulletInverseKinematics"], [732, 1, 1, "", "PyBulletRemoveAttachedCollisionMesh"], [734, 1, 1, "", "PyBulletRemoveCollisionMesh"]], "compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh": [[723, 2, 1, "", "add_attached_collision_mesh"]], "compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh": [[725, 2, 1, "", "add_collision_mesh"]], "compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh": [[727, 2, 1, "", "append_collision_mesh"]], "compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics": [[729, 2, 1, "", "forward_kinematics"]], "compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics": [[731, 2, 1, "", "inverse_kinematics"]], "compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh": [[733, 2, 1, "", "remove_attached_collision_mesh"]], "compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh": [[735, 2, 1, "", "remove_collision_mesh"]], "compas_fab.backends.ros": [[674, 0, 0, "-", "backend_features"]], "compas_fab.backends.ros.backend_features": [[736, 1, 1, "", "MoveItAddAttachedCollisionMesh"], [739, 1, 1, "", "MoveItAddCollisionMesh"], [742, 1, 1, "", "MoveItAppendCollisionMesh"], [745, 1, 1, "", "MoveItForwardKinematics"], [748, 1, 1, "", "MoveItInverseKinematics"], [751, 1, 1, "", "MoveItPlanCartesianMotion"], [755, 1, 1, "", "MoveItPlanMotion"], [758, 1, 1, "", "MoveItPlanningScene"], [761, 1, 1, "", "MoveItRemoveAttachedCollisionMesh"], [764, 1, 1, "", "MoveItRemoveCollisionMesh"], [767, 1, 1, "", "MoveItResetPlanningScene"]], "compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh": [[737, 2, 1, "", "add_attached_collision_mesh"], [738, 2, 1, "", "add_attached_collision_mesh_async"]], "compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh": [[740, 2, 1, "", "add_collision_mesh"], [741, 2, 1, "", "add_collision_mesh_async"]], "compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh": [[743, 2, 1, "", "append_collision_mesh"], [744, 2, 1, "", "append_collision_mesh_async"]], "compas_fab.backends.ros.backend_features.MoveItForwardKinematics": [[746, 2, 1, "", "forward_kinematics"], [747, 2, 1, "", "forward_kinematics_async"]], "compas_fab.backends.ros.backend_features.MoveItInverseKinematics": [[749, 2, 1, "", "inverse_kinematics"], [750, 2, 1, "", "inverse_kinematics_async"]], "compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion": [[752, 2, 1, "", "plan_cartesian_motion"], [753, 2, 1, "", "plan_cartesian_motion_with_frame_waypoints_async"], [754, 2, 1, "", "plan_cartesian_motion_with_point_axis_waypoints_async"]], "compas_fab.backends.ros.backend_features.MoveItPlanMotion": [[756, 2, 1, "", "plan_motion"], [757, 2, 1, "", "plan_motion_async"]], "compas_fab.backends.ros.backend_features.MoveItPlanningScene": [[759, 2, 1, "", "get_planning_scene"], [760, 2, 1, "", "get_planning_scene_async"]], "compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh": [[762, 2, 1, "", "remove_attached_collision_mesh"], [763, 2, 1, "", "remove_attached_collision_mesh_async"]], "compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh": [[765, 2, 1, "", "remove_collision_mesh"], [766, 2, 1, "", "remove_collision_mesh_async"]], "compas_fab.backends.ros.backend_features.MoveItResetPlanningScene": [[768, 2, 1, "", "reset_planning_scene"], [769, 2, 1, "", "reset_planning_scene_async"]], "compas_fab.ghpython": [[221, 1, 1, "", "ReachabilityMapObject"]], "compas_fab.ghpython.ReachabilityMapObject": [[222, 2, 1, "", "ToString"], [223, 2, 1, "", "add"], [224, 2, 1, "", "clear"], [225, 2, 1, "", "copy"], [226, 2, 1, "", "draw"], [227, 2, 1, "", "draw_cloud"], [228, 2, 1, "", "draw_frames"], [229, 2, 1, "", "from_json"], [230, 2, 1, "", "from_jsonstring"], [231, 2, 1, "", "remove"], [232, 2, 1, "", "sha256"], [233, 2, 1, "", "to_json"], [234, 2, 1, "", "to_jsonstring"], [235, 2, 1, "", "traverse"], [236, 2, 1, "", "validate_data"]], "compas_fab.rhino": [[237, 1, 1, "", "ReachabilityMapObject"]], "compas_fab.rhino.ReachabilityMapObject": [[238, 2, 1, "", "ToString"], [239, 2, 1, "", "add"], [240, 2, 1, "", "add_to_group"], [241, 2, 1, "", "clear"], [242, 2, 1, "", "clear_layer"], [243, 2, 1, "", "compile_attributes"], [244, 2, 1, "", "copy"], [245, 2, 1, "", "draw"], [246, 2, 1, "", "draw_cloud"], [247, 2, 1, "", "draw_frames"], [248, 2, 1, "", "from_json"], [249, 2, 1, "", "from_jsonstring"], [250, 2, 1, "", "get_group"], [251, 2, 1, "", "remove"], [252, 2, 1, "", "sha256"], [253, 2, 1, "", "to_json"], [254, 2, 1, "", "to_jsonstring"], [255, 2, 1, "", "traverse"], [256, 2, 1, "", "validate_data"]], "compas_fab.robots": [[257, 1, 1, "", "AttachedCollisionMesh"], [266, 1, 1, "", "BoundingVolume"], [280, 1, 1, "", "CollisionMesh"], [291, 1, 1, "", "ConfigurationTarget"], [302, 1, 1, "", "Constraint"], [314, 1, 1, "", "ConstraintSetTarget"], [324, 1, 1, "", "DeviationVectorsGenerator"], [325, 1, 1, "", "Duration"], [334, 1, 1, "", "FrameTarget"], [345, 1, 1, "", "FrameWaypoints"], [356, 1, 1, "", "Inertia"], [358, 1, 1, "", "JointConstraint"], [371, 1, 1, "", "JointTrajectory"], [380, 1, 1, "", "JointTrajectoryPoint"], [403, 1, 1, "", "OrientationConstraint"], [416, 1, 1, "", "OrthonormalVectorsFromAxisGenerator"], [417, 1, 1, "", "PlanningScene"], [428, 1, 1, "", "PointAxisTarget"], [438, 1, 1, "", "PointAxisWaypoints"], [448, 1, 1, "", "PositionConstraint"], [465, 1, 1, "", "ReachabilityMap"], [476, 1, 1, "", "Robot"], [533, 1, 1, "", "RobotLibrary"], [538, 1, 1, "", "RobotSemantics"], [555, 1, 1, "", "Target"], [565, 1, 1, "", "Tool"], [578, 1, 1, "", "Trajectory"], [587, 1, 1, "", "Waypoints"], [597, 1, 1, "", "Wrench"], [611, 4, 1, "", "to_degrees"], [612, 4, 1, "", "to_radians"]], "compas_fab.robots.AttachedCollisionMesh": [[258, 2, 1, "", "ToString"], [259, 2, 1, "", "copy"], [260, 2, 1, "", "from_json"], [261, 2, 1, "", "from_jsonstring"], [262, 2, 1, "", "sha256"], [263, 2, 1, "", "to_json"], [264, 2, 1, "", "to_jsonstring"], [265, 2, 1, "", "validate_data"]], "compas_fab.robots.BoundingVolume": [[267, 2, 1, "", "ToString"], [268, 2, 1, "", "copy"], [269, 2, 1, "", "from_box"], [270, 2, 1, "", "from_json"], [271, 2, 1, "", "from_jsonstring"], [272, 2, 1, "", "from_mesh"], [273, 2, 1, "", "from_sphere"], [274, 2, 1, "", "scale"], [275, 2, 1, "", "sha256"], [276, 2, 1, "", "to_json"], [277, 2, 1, "", "to_jsonstring"], [278, 2, 1, "", "transform"], [279, 2, 1, "", "validate_data"]], "compas_fab.robots.CollisionMesh": [[281, 2, 1, "", "ToString"], [282, 2, 1, "", "copy"], [283, 2, 1, "", "from_json"], [284, 2, 1, "", "from_jsonstring"], [285, 2, 1, "", "scale"], [286, 2, 1, "", "scaled"], [287, 2, 1, "", "sha256"], [288, 2, 1, "", "to_json"], [289, 2, 1, "", "to_jsonstring"], [290, 2, 1, "", "validate_data"]], "compas_fab.robots.ConfigurationTarget": [[292, 2, 1, "", "ToString"], [293, 2, 1, "", "copy"], [294, 2, 1, "", "from_json"], [295, 2, 1, "", "from_jsonstring"], [296, 2, 1, "", "generate_default_tolerances"], [297, 2, 1, "", "scaled"], [298, 2, 1, "", "sha256"], [299, 2, 1, "", "to_json"], [300, 2, 1, "", "to_jsonstring"], [301, 2, 1, "", "validate_data"]], "compas_fab.robots.Constraint": [[303, 2, 1, "", "ToString"], [304, 2, 1, "", "copy"], [305, 2, 1, "", "from_json"], [306, 2, 1, "", "from_jsonstring"], [307, 2, 1, "", "scale"], [308, 2, 1, "", "scaled"], [309, 2, 1, "", "sha256"], [310, 2, 1, "", "to_json"], [311, 2, 1, "", "to_jsonstring"], [312, 2, 1, "", "transform"], [313, 2, 1, "", "validate_data"]], "compas_fab.robots.ConstraintSetTarget": [[315, 2, 1, "", "ToString"], [316, 2, 1, "", "copy"], [317, 2, 1, "", "from_json"], [318, 2, 1, "", "from_jsonstring"], [319, 2, 1, "", "scaled"], [320, 2, 1, "", "sha256"], [321, 2, 1, "", "to_json"], [322, 2, 1, "", "to_jsonstring"], [323, 2, 1, "", "validate_data"]], "compas_fab.robots.Duration": [[326, 2, 1, "", "ToString"], [327, 2, 1, "", "copy"], [328, 2, 1, "", "from_json"], [329, 2, 1, "", "from_jsonstring"], [330, 2, 1, "", "sha256"], [331, 2, 1, "", "to_json"], [332, 2, 1, "", "to_jsonstring"], [333, 2, 1, "", "validate_data"]], "compas_fab.robots.FrameTarget": [[335, 2, 1, "", "ToString"], [336, 2, 1, "", "copy"], [337, 2, 1, "", "from_json"], [338, 2, 1, "", "from_jsonstring"], [339, 2, 1, "", "from_transformation"], [340, 2, 1, "", "scaled"], [341, 2, 1, "", "sha256"], [342, 2, 1, "", "to_json"], [343, 2, 1, "", "to_jsonstring"], [344, 2, 1, "", "validate_data"]], "compas_fab.robots.FrameWaypoints": [[346, 2, 1, "", "ToString"], [347, 2, 1, "", "copy"], [348, 2, 1, "", "from_json"], [349, 2, 1, "", "from_jsonstring"], [350, 2, 1, "", "from_transformations"], [351, 2, 1, "", "scaled"], [352, 2, 1, "", "sha256"], [353, 2, 1, "", "to_json"], [354, 2, 1, "", "to_jsonstring"], [355, 2, 1, "", "validate_data"]], "compas_fab.robots.Inertia": [[357, 2, 1, "", "calculate_inertia_tensor"]], "compas_fab.robots.JointConstraint": [[359, 2, 1, "", "ToString"], [360, 2, 1, "", "copy"], [361, 2, 1, "", "from_json"], [362, 2, 1, "", "from_jsonstring"], [363, 2, 1, "", "joint_constraints_from_configuration"], [364, 2, 1, "", "scale"], [365, 2, 1, "", "scaled"], [366, 2, 1, "", "sha256"], [367, 2, 1, "", "to_json"], [368, 2, 1, "", "to_jsonstring"], [369, 2, 1, "", "transform"], [370, 2, 1, "", "validate_data"]], "compas_fab.robots.JointTrajectory": [[372, 2, 1, "", "ToString"], [373, 2, 1, "", "copy"], [374, 2, 1, "", "from_json"], [375, 2, 1, "", "from_jsonstring"], [376, 2, 1, "", "sha256"], [377, 2, 1, "", "to_json"], [378, 2, 1, "", "to_jsonstring"], [379, 2, 1, "", "validate_data"]], "compas_fab.robots.JointTrajectoryPoint": [[381, 2, 1, "", "ToString"], [382, 2, 1, "", "check_joint_names"], [383, 2, 1, "", "close_to"], [384, 2, 1, "", "copy"], [385, 2, 1, "", "from_json"], [386, 2, 1, "", "from_jsonstring"], [387, 2, 1, "", "from_prismatic_and_revolute_values"], [388, 2, 1, "", "from_revolute_values"], [389, 2, 1, "", "get"], [390, 2, 1, "", "items"], [391, 2, 1, "", "iter_differences"], [392, 2, 1, "", "keys"], [393, 2, 1, "", "max_difference"], [394, 2, 1, "", "merge"], [395, 2, 1, "", "merged"], [396, 2, 1, "", "scale"], [397, 2, 1, "", "scaled"], [398, 2, 1, "", "sha256"], [399, 2, 1, "", "to_json"], [400, 2, 1, "", "to_jsonstring"], [401, 2, 1, "", "validate_data"], [402, 2, 1, "", "values"]], "compas_fab.robots.OrientationConstraint": [[404, 2, 1, "", "ToString"], [405, 2, 1, "", "copy"], [406, 2, 1, "", "from_frame"], [407, 2, 1, "", "from_json"], [408, 2, 1, "", "from_jsonstring"], [409, 2, 1, "", "scale"], [410, 2, 1, "", "scaled"], [411, 2, 1, "", "sha256"], [412, 2, 1, "", "to_json"], [413, 2, 1, "", "to_jsonstring"], [414, 2, 1, "", "transform"], [415, 2, 1, "", "validate_data"]], "compas_fab.robots.PlanningScene": [[418, 2, 1, "", "add_attached_collision_mesh"], [419, 2, 1, "", "add_attached_tool"], [420, 2, 1, "", "add_collision_mesh"], [421, 2, 1, "", "append_collision_mesh"], [422, 2, 1, "", "attach_collision_mesh_to_robot_end_effector"], [423, 2, 1, "", "ensure_client"], [424, 2, 1, "", "remove_attached_collision_mesh"], [425, 2, 1, "", "remove_attached_tool"], [426, 2, 1, "", "remove_collision_mesh"], [427, 2, 1, "", "reset"]], "compas_fab.robots.PointAxisTarget": [[429, 2, 1, "", "ToString"], [430, 2, 1, "", "copy"], [431, 2, 1, "", "from_json"], [432, 2, 1, "", "from_jsonstring"], [433, 2, 1, "", "scaled"], [434, 2, 1, "", "sha256"], [435, 2, 1, "", "to_json"], [436, 2, 1, "", "to_jsonstring"], [437, 2, 1, "", "validate_data"]], "compas_fab.robots.PointAxisWaypoints": [[439, 2, 1, "", "ToString"], [440, 2, 1, "", "copy"], [441, 2, 1, "", "from_json"], [442, 2, 1, "", "from_jsonstring"], [443, 2, 1, "", "scaled"], [444, 2, 1, "", "sha256"], [445, 2, 1, "", "to_json"], [446, 2, 1, "", "to_jsonstring"], [447, 2, 1, "", "validate_data"]], "compas_fab.robots.PositionConstraint": [[449, 2, 1, "", "ToString"], [450, 2, 1, "", "copy"], [451, 2, 1, "", "from_box"], [452, 2, 1, "", "from_frame"], [453, 2, 1, "", "from_json"], [454, 2, 1, "", "from_jsonstring"], [455, 2, 1, "", "from_mesh"], [456, 2, 1, "", "from_point"], [457, 2, 1, "", "from_sphere"], [458, 2, 1, "", "scale"], [459, 2, 1, "", "scaled"], [460, 2, 1, "", "sha256"], [461, 2, 1, "", "to_json"], [462, 2, 1, "", "to_jsonstring"], [463, 2, 1, "", "transform"], [464, 2, 1, "", "validate_data"]], "compas_fab.robots.ReachabilityMap": [[466, 2, 1, "", "ToString"], [467, 2, 1, "", "calculate"], [468, 2, 1, "", "copy"], [469, 2, 1, "", "from_json"], [470, 2, 1, "", "from_jsonstring"], [471, 2, 1, "", "reachable_frames_and_configurations_at_ik_index"], [472, 2, 1, "", "sha256"], [473, 2, 1, "", "to_json"], [474, 2, 1, "", "to_jsonstring"], [475, 2, 1, "", "validate_data"]], "compas_fab.robots.Robot": [[477, 2, 1, "", "ToString"], [478, 2, 1, "", "attach_tool"], [479, 2, 1, "", "basic"], [480, 2, 1, "", "copy"], [481, 2, 1, "", "detach_tool"], [482, 2, 1, "", "draw"], [483, 2, 1, "", "draw_collision"], [484, 2, 1, "", "draw_visual"], [485, 2, 1, "", "ensure_client"], [486, 2, 1, "", "ensure_geometry"], [487, 2, 1, "", "ensure_semantics"], [488, 2, 1, "", "forward_kinematics"], [489, 2, 1, "", "from_json"], [490, 2, 1, "", "from_jsonstring"], [491, 2, 1, "", "from_t0cf_to_tcf"], [492, 2, 1, "", "from_tcf_to_t0cf"], [493, 2, 1, "", "get_RCF"], [494, 2, 1, "", "get_attached_tool_collision_meshes"], [495, 2, 1, "", "get_base_frame"], [496, 2, 1, "", "get_base_link"], [497, 2, 1, "", "get_base_link_name"], [498, 2, 1, "", "get_configurable_joint_names"], [499, 2, 1, "", "get_configurable_joint_types"], [500, 2, 1, "", "get_configurable_joints"], [501, 2, 1, "", "get_configuration_from_group_state"], [502, 2, 1, "", "get_end_effector_frame"], [503, 2, 1, "", "get_end_effector_link"], [504, 2, 1, "", "get_end_effector_link_name"], [505, 2, 1, "", "get_group_configuration"], [506, 2, 1, "", "get_group_names_from_link_name"], [507, 2, 1, "", "get_joint_by_name"], [508, 2, 1, "", "get_joint_types_by_names"], [509, 2, 1, "", "get_link_names"], [510, 2, 1, "", "get_link_names_with_collision_geometry"], [511, 2, 1, "", "get_position_by_joint_name"], [512, 2, 1, "", "info"], [513, 2, 1, "", "inverse_kinematics"], [514, 2, 1, "", "iter_inverse_kinematics"], [515, 2, 1, "", "merge_group_with_full_configuration"], [516, 2, 1, "", "plan_cartesian_motion"], [517, 2, 1, "", "plan_motion"], [518, 2, 1, "", "random_configuration"], [519, 2, 1, "", "scale"], [520, 2, 1, "", "set_RCF"], [521, 2, 1, "", "sha256"], [522, 2, 1, "", "to_json"], [523, 2, 1, "", "to_jsonstring"], [524, 2, 1, "", "to_local_coordinates"], [525, 2, 1, "", "to_world_coordinates"], [526, 2, 1, "", "transformation_RCF_WCF"], [527, 2, 1, "", "transformation_WCF_RCF"], [528, 2, 1, "", "transformed_axes"], [529, 2, 1, "", "transformed_frames"], [530, 2, 1, "", "update"], [531, 2, 1, "", "validate_data"], [532, 2, 1, "", "zero_configuration"]], "compas_fab.robots.RobotLibrary": [[534, 2, 1, "", "abb_irb4600_40_255"], [535, 2, 1, "", "rfl"], [536, 2, 1, "", "ur10e"], [537, 2, 1, "", "ur5"]], "compas_fab.robots.RobotSemantics": [[539, 2, 1, "", "ToString"], [540, 2, 1, "", "copy"], [541, 2, 1, "", "from_json"], [542, 2, 1, "", "from_jsonstring"], [543, 2, 1, "", "from_srdf_file"], [544, 2, 1, "", "from_srdf_string"], [545, 2, 1, "", "from_xml"], [546, 2, 1, "", "get_all_configurable_joints"], [547, 2, 1, "", "get_base_link_name"], [548, 2, 1, "", "get_configurable_joint_names"], [549, 2, 1, "", "get_configurable_joints"], [550, 2, 1, "", "get_end_effector_link_name"], [551, 2, 1, "", "sha256"], [552, 2, 1, "", "to_json"], [553, 2, 1, "", "to_jsonstring"], [554, 2, 1, "", "validate_data"]], "compas_fab.robots.Target": [[556, 2, 1, "", "ToString"], [557, 2, 1, "", "copy"], [558, 2, 1, "", "from_json"], [559, 2, 1, "", "from_jsonstring"], [560, 2, 1, "", "scaled"], [561, 2, 1, "", "sha256"], [562, 2, 1, "", "to_json"], [563, 2, 1, "", "to_jsonstring"], [564, 2, 1, "", "validate_data"]], "compas_fab.robots.Tool": [[566, 2, 1, "", "ToString"], [567, 2, 1, "", "copy"], [568, 2, 1, "", "from_json"], [569, 2, 1, "", "from_jsonstring"], [570, 2, 1, "", "from_t0cf_to_tcf"], [571, 2, 1, "", "from_tcf_to_t0cf"], [572, 2, 1, "", "from_tool_model"], [573, 2, 1, "", "sha256"], [574, 2, 1, "", "to_json"], [575, 2, 1, "", "to_jsonstring"], [576, 2, 1, "", "update_touch_links"], [577, 2, 1, "", "validate_data"]], "compas_fab.robots.Trajectory": [[579, 2, 1, "", "ToString"], [580, 2, 1, "", "copy"], [581, 2, 1, "", "from_json"], [582, 2, 1, "", "from_jsonstring"], [583, 2, 1, "", "sha256"], [584, 2, 1, "", "to_json"], [585, 2, 1, "", "to_jsonstring"], [586, 2, 1, "", "validate_data"]], "compas_fab.robots.Waypoints": [[588, 2, 1, "", "ToString"], [589, 2, 1, "", "copy"], [590, 2, 1, "", "from_json"], [591, 2, 1, "", "from_jsonstring"], [592, 2, 1, "", "scaled"], [593, 2, 1, "", "sha256"], [594, 2, 1, "", "to_json"], [595, 2, 1, "", "to_jsonstring"], [596, 2, 1, "", "validate_data"]], "compas_fab.robots.Wrench": [[598, 2, 1, "", "ToString"], [599, 2, 1, "", "by_samples"], [600, 2, 1, "", "copy"], [601, 2, 1, "", "from_json"], [602, 2, 1, "", "from_jsonstring"], [603, 2, 1, "", "from_list"], [604, 2, 1, "", "gravity_compensated"], [605, 2, 1, "", "sha256"], [606, 2, 1, "", "to_json"], [607, 2, 1, "", "to_jsonstring"], [608, 2, 1, "", "transform"], [609, 2, 1, "", "transformed"], [610, 2, 1, "", "validate_data"]], "compas_fab.sensors": [[613, 1, 1, "", "PosCon3D"], [631, 1, 1, "", "PosConCM"], [648, 3, 1, "", "ProtocolError"], [649, 3, 1, "", "SensorTimeoutError"], [650, 1, 1, "", "SerialSensor"]], "compas_fab.sensors.PosCon3D": [[614, 2, 1, "", "activate_flex_mount"], [615, 2, 1, "", "adjust_to_dark_object"], [616, 2, 1, "", "begin"], [617, 2, 1, "", "calculate_checksum"], [618, 2, 1, "", "deactivate_flex_mount"], [619, 2, 1, "", "end"], [620, 2, 1, "", "format_command"], [621, 2, 1, "", "get_address"], [622, 2, 1, "", "get_live_monitor_data"], [623, 2, 1, "", "get_measurement"], [624, 2, 1, "", "get_payload"], [625, 2, 1, "", "reset"], [626, 2, 1, "", "send_command"], [627, 2, 1, "", "set_edge_height"], [628, 2, 1, "", "set_flex_mount"], [629, 2, 1, "", "set_measurement_type"], [630, 2, 1, "", "set_precision"]], "compas_fab.sensors.PosConCM": [[632, 2, 1, "", "activate_flex_mount"], [633, 2, 1, "", "adjust_to_dark_object"], [634, 2, 1, "", "begin"], [635, 2, 1, "", "calculate_checksum"], [636, 2, 1, "", "deactivate_flex_mount"], [637, 2, 1, "", "end"], [638, 2, 1, "", "format_command"], [639, 2, 1, "", "get_address"], [640, 2, 1, "", "get_measurement"], [641, 2, 1, "", "get_payload"], [642, 2, 1, "", "reset"], [643, 2, 1, "", "send_command"], [644, 2, 1, "", "set_flex_mount"], [645, 2, 1, "", "set_measurement_type"], [646, 2, 1, "", "set_precision"], [647, 2, 1, "", "teach_flex_mount"]], "compas_fab.utilities": [[651, 1, 1, "", "LazyLoader"], [652, 4, 1, "", "allclose"], [653, 4, 1, "", "arange"], [654, 4, 1, "", "argmax"], [655, 4, 1, "", "argmin"], [656, 4, 1, "", "argsort"], [657, 4, 1, "", "clamp"], [658, 4, 1, "", "diffs"], [659, 4, 1, "", "from_tcf_to_t0cf"], [660, 4, 1, "", "list_files_in_directory"], [661, 4, 1, "", "map_range"], [662, 4, 1, "", "range_geometric_row"], [663, 4, 1, "", "read_csv_to_dictionary"], [664, 4, 1, "", "read_data_from_pickle"], [665, 4, 1, "", "sign"], [666, 4, 1, "", "write_data_to_pickle"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "function", "Python function"]}, "titleterms": {"api": 0, "refer": 0, "compas_fab": [1, 2, 3, 4, 5, 6, 7, 8], "robot": [1, 2, 6, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 771, 774, 777, 778, 782, 787, 788, 796, 800], "cad": 1, "integr": 1, "util": [1, 8], "backend": [2, 668, 671, 674, 780, 790, 793], "ro": [2, 670, 674, 777, 780, 781, 782, 786], "pybullet": [2, 669, 674, 790, 791], "analyt": [2, 793, 794], "kinemat": [2, 776, 783, 792, 793, 794], "ik": 2, "solver": 2, "specif": 2, "long": 2, "run": [2, 182, 781, 799], "task": 2, "except": [2, 7], "interfac": [2, 674], "blender": [3, 799], "ghpython": 4, "scene": [4, 5, 6, 674, 785], "object": [4, 5, 774, 785], "rhino": [5, 799], "main": [6, 7, 800], "class": [6, 7], "path": [6, 787], "plan": [6, 674, 784, 785, 788, 795], "target": [6, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 779], "waypoint": [6, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 779], "constraint": [6, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313], "built": 6, "unit": 6, "convers": 6, "sensor": 7, "baumer": 7, "file": [8, 788], "system": [8, 670], "function": 8, "transform": [8, 278, 312, 369, 414, 463, 608, 609, 773], "numer": 8, "other": 8, "abb_irb4600_40_255kinemat": [9, 10, 11], "forward": [10, 87, 198, 201, 204, 207, 210, 213, 216, 219, 671, 783, 792], "invers": [11, 88, 199, 202, 205, 208, 211, 214, 217, 220, 783, 792, 794], "analyticalinversekinemat": [12, 13], "inverse_kinemat": [13, 39, 73, 111, 130, 172, 513, 688, 699, 710, 731, 749], "analyticalplancartesianmot": [14, 15, 16], "plan_cartesian_mot": [15, 43, 75, 115, 131, 177, 516, 689, 701, 711, 752], "smooth_configur": 16, "analyticalpybulletcli": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "add_attached_collision_mesh": [18, 63, 90, 125, 137, 418, 676, 683, 705, 723, 737], "add_collision_mesh": [19, 65, 91, 126, 138, 420, 678, 684, 706, 725, 740], "append_collision_mesh": [20, 67, 92, 127, 139, 421, 680, 685, 707, 727, 743], "body_from_obj": [21, 93], "cache_robot_model": [22, 94], "check_collision_objects_for_collis": [23, 95], "check_collision_with_object": [24, 96], "check_collis": [25, 97], "check_robot_self_collis": [26, 98], "connect": [27, 99, 147], "convert_mesh_to_bodi": [28, 100], "disconnect": [29, 101], "ensure_cached_robot_model": [30, 102], "ensure_cached_robot_model_geometri": [31, 103], "filter_configurations_in_collis": [32, 104], "forward_kinemat": [33, 69, 105, 128, 153, 488, 686, 695, 708, 729, 746], "get_cached_robot_filepath": [34, 106], "get_cached_robot_model": [35, 107], "get_planning_scen": [36, 71, 108, 129, 161, 687, 697, 709, 759], "get_robot_configur": [37, 109], "get_uid": [38, 110], "load_robot": [40, 112, 173], "load_semant": [41, 113], "load_ur5": [42, 114], "plan_mot": [44, 78, 116, 132, 178, 517, 690, 703, 712, 756], "reload_from_cach": [45, 117], "remove_attached_collision_mesh": [46, 80, 118, 133, 179, 424, 691, 713, 717, 733, 762], "remove_collision_mesh": [47, 82, 119, 134, 180, 426, 692, 714, 719, 735, 765], "reset_planning_scen": [48, 84, 120, 135, 181, 693, 715, 721, 768], "set_robot_configur": [49, 121], "step_simul": [50, 122], "backenderror": 51, "backendfeaturenotsupportederror": 52, "cancellablefutureresult": [53, 54, 55], "cancel": 54, "result": [55, 59], "cartesianmotionerror": 56, "collisionerror": 57, "futureresult": [58, 59], "inversekinematicserror": 60, "kinematicserror": 61, "moveitplann": [62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "add_attached_collision_mesh_async": [64, 738], "add_collision_mesh_async": [66, 741], "append_collision_mesh_async": [68, 744], "forward_kinematics_async": [70, 747], "get_planning_scene_async": [72, 760], "inverse_kinematics_async": [74, 750], "plan_cartesian_motion_with_frame_waypoints_async": [76, 753], "plan_cartesian_motion_with_point_axis_waypoints_async": [77, 754], "plan_motion_async": [79, 757], "remove_attached_collision_mesh_async": [81, 763], "remove_collision_mesh_async": [83, 766], "reset_planning_scene_async": [85, 769], "offsetwristkinemat": [86, 87, 88], "pybulletcli": [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122], "pybulleterror": 123, "pybulletplann": [124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "rosclient": [136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188], "authent": 140, "blocking_call_from_thread": 141, "call_async_servic": 142, "call_in_thread": 143, "call_lat": 144, "call_sync_servic": 145, "close": 146, "delete_param": 148, "emit": 149, "execute_joint_trajectori": 150, "follow_configur": 151, "follow_joint_trajectori": 152, "get_action_serv": 154, "get_configur": 155, "get_message_detail": 156, "get_node_detail": 157, "get_nod": 158, "get_param": [159, 160], "get_service_request_callback": 162, "get_service_request_detail": 163, "get_service_response_detail": 164, "get_service_typ": 165, "get_servic": 166, "get_services_for_typ": 167, "get_tim": 168, "get_topic_typ": 169, "get_top": 170, "get_topics_for_typ": 171, "off": 174, "on_readi": 176, "run_event_loop": 183, "run_forev": 184, "send_on_readi": 185, "set_param": 186, "set_status_level": 187, "termin": 188, "roserror": 189, "rosfileserverload": [190, 191, 192, 193, 194, 195], "can_load_mesh": 191, "load_mesh": [192, 193], "load_srdf": 194, "load_urdf": 195, "rosvalidationerror": 196, "sphericalwristkinemat": [197, 198, 199], "staubli_tx260lkinemat": [200, 201, 202], "ur10kinemat": [203, 204, 205], "ur10ekinemat": [206, 207, 208], "ur3kinemat": [209, 210, 211], "ur3ekinemat": [212, 213, 214], "ur5kinemat": [215, 216, 217], "ur5ekinemat": [218, 219, 220], "reachabilitymapobject": [221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256], "tostr": [222, 238, 258, 267, 281, 292, 303, 315, 326, 335, 346, 359, 372, 381, 404, 429, 439, 449, 466, 477, 539, 556, 566, 579, 588, 598], "add": [223, 239, 785, 787, 788], "clear": [224, 241], "copi": [225, 244, 259, 268, 282, 293, 304, 316, 327, 336, 347, 360, 373, 384, 405, 430, 440, 450, 468, 480, 540, 557, 567, 580, 589, 600], "draw": [226, 245, 482], "draw_cloud": [227, 246], "draw_fram": [228, 247], "from_json": [229, 248, 260, 270, 283, 294, 305, 317, 328, 337, 348, 361, 374, 385, 407, 431, 441, 453, 469, 489, 541, 558, 568, 581, 590, 601], "from_jsonstr": [230, 249, 261, 271, 284, 295, 306, 318, 329, 338, 349, 362, 375, 386, 408, 432, 442, 454, 470, 490, 542, 559, 569, 582, 591, 602], "remov": [231, 251, 785], "sha256": [232, 252, 262, 275, 287, 298, 309, 320, 330, 341, 352, 366, 376, 398, 411, 434, 444, 460, 472, 521, 551, 561, 573, 583, 593, 605], "to_json": [233, 253, 263, 276, 288, 299, 310, 321, 331, 342, 353, 367, 377, 399, 412, 435, 445, 461, 473, 522, 552, 562, 574, 584, 594, 606], "to_jsonstr": [234, 254, 264, 277, 289, 300, 311, 322, 332, 343, 354, 368, 378, 400, 413, 436, 446, 462, 474, 523, 553, 563, 575, 585, 595, 607], "travers": [235, 255], "validate_data": [236, 256, 265, 279, 290, 301, 313, 323, 333, 344, 355, 370, 379, 401, 415, 437, 447, 464, 475, 531, 554, 564, 577, 586, 596, 610], "add_to_group": 240, "clear_lay": 242, "compile_attribut": 243, "get_group": 250, "attachedcollisionmesh": [257, 258, 259, 260, 261, 262, 263, 264, 265], "boundingvolum": [266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279], "from_box": [269, 451], "from_mesh": [272, 455], "from_spher": [273, 457], "scale": [274, 285, 286, 297, 307, 308, 319, 340, 351, 364, 365, 396, 397, 409, 410, 433, 443, 458, 459, 519, 560, 592], "collisionmesh": [280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290], "configurationtarget": [291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301], "generate_default_toler": 296, "constraintsettarget": [314, 315, 316, 317, 318, 319, 320, 321, 322, 323], "deviationvectorsgener": 324, "durat": [325, 326, 327, 328, 329, 330, 331, 332, 333], "frametarget": [334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344], "from_transform": [339, 350], "framewaypoint": [345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355], "inertia": [356, 357], "calculate_inertia_tensor": 357, "jointconstraint": [358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370], "joint_constraints_from_configur": 363, "jointtrajectori": [371, 372, 373, 374, 375, 376, 377, 378, 379], "jointtrajectorypoint": [380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402], "check_joint_nam": 382, "close_to": 383, "from_prismatic_and_revolute_valu": 387, "from_revolute_valu": 388, "get": [389, 799], "item": 390, "iter_differ": 391, "kei": 392, "max_differ": 393, "merg": [394, 395], "valu": 402, "orientationconstraint": [403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "from_fram": [406, 452], "orthonormalvectorsfromaxisgener": 416, "planningscen": [417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427], "add_attached_tool": 419, "attach_collision_mesh_to_robot_end_effector": 422, "ensure_cli": [423, 485], "remove_attached_tool": 425, "reset": [427, 625, 642], "pointaxistarget": [428, 429, 430, 431, 432, 433, 434, 435, 436, 437], "pointaxiswaypoint": [438, 439, 440, 441, 442, 443, 444, 445, 446, 447], "positionconstraint": [448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464], "from_point": 456, "reachabilitymap": [465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475], "calcul": 467, "reachable_frames_and_configurations_at_ik_index": 471, "attach_tool": 478, "basic": 479, "detach_tool": 481, "draw_collis": 483, "draw_visu": 484, "ensure_geometri": 486, "ensure_semant": 487, "from_t0cf_to_tcf": [491, 570], "from_tcf_to_t0cf": [492, 571, 659], "get_rcf": 493, "get_attached_tool_collision_mesh": 494, "get_base_fram": 495, "get_base_link": 496, "get_base_link_nam": [497, 547], "get_configurable_joint_nam": [498, 548], "get_configurable_joint_typ": 499, "get_configurable_joint": [500, 549], "get_configuration_from_group_st": 501, "get_end_effector_fram": 502, "get_end_effector_link": 503, "get_end_effector_link_nam": [504, 550], "get_group_configur": 505, "get_group_names_from_link_nam": 506, "get_joint_by_nam": 507, "get_joint_types_by_nam": 508, "get_link_nam": 509, "get_link_names_with_collision_geometri": 510, "get_position_by_joint_nam": 511, "info": 512, "iter_inverse_kinemat": 514, "merge_group_with_full_configur": 515, "random_configur": 518, "set_rcf": 520, "to_local_coordin": 524, "to_world_coordin": 525, "transformation_rcf_wcf": 526, "transformation_wcf_rcf": 527, "transformed_ax": 528, "transformed_fram": 529, "updat": [530, 799], "zero_configur": 532, "robotlibrari": [533, 534, 535, 536, 537], "abb_irb4600_40_255": 534, "rfl": 535, "ur10": [536, 789], "ur5": [537, 787], "robotsemant": [538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554], "from_srdf_fil": 543, "from_srdf_str": 544, "from_xml": 545, "get_all_configurable_joint": 546, "tool": [565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 774], "from_tool_model": 572, "update_touch_link": 576, "trajectori": [578, 579, 580, 581, 582, 583, 584, 585, 586], "wrench": [597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610], "by_sampl": 599, "from_list": 603, "gravity_compens": 604, "to_degre": 611, "to_radian": 612, "poscon3d": [613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630], "activate_flex_mount": [614, 632], "adjust_to_dark_object": [615, 633], "begin": [616, 634], "calculate_checksum": [617, 635], "deactivate_flex_mount": [618, 636], "end": [619, 637, 785, 787, 788], "format_command": [620, 638], "get_address": [621, 639], "get_live_monitor_data": 622, "get_measur": [623, 640], "get_payload": [624, 641], "send_command": [626, 643], "set_edge_height": 627, "set_flex_mount": [628, 644], "set_measurement_typ": [629, 645], "set_precis": [630, 646], "posconcm": [631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647], "teach_flex_mount": 647, "protocolerror": 648, "sensortimeouterror": 649, "serialsensor": 650, "lazyload": 651, "allclos": 652, "arang": 653, "argmax": 654, "argmin": 655, "argsort": 656, "clamp": 657, "diff": 658, "list_files_in_directori": 660, "map_rang": 661, "range_geometric_row": 662, "read_csv_to_dictionari": 663, "read_data_from_pickl": 664, "sign": 665, "write_data_to_pickl": 666, "cite": 667, "author": [667, 788], "work": [668, 799], "instal": [668, 799], "docker": [668, 670], "contain": 668, "develop": 668, "new": 668, "next": [668, 669, 670, 799], "step": [668, 669, 670, 781, 791, 799], "complet": 670, "linux": 670, "wsl": 670, "access": 671, "gui": 671, "visual": [671, 777, 796, 799], "over": 671, "web": 671, "browser": 671, "displai": 671, "changelog": 672, "contributor": 673, "": 673, "guid": 673, "code": [673, 799], "contribut": 673, "document": 673, "improv": 673, "bug": 673, "report": 673, "featur": [673, 674, 800], "request": 673, "feedback": 673, "design": 673, "client": 674, "implement": 674, "addattachedcollisionmesh": [675, 676], "addcollisionmesh": [677, 678], "appendcollisionmesh": [679, 680], "backendfeatur": 681, "clientinterfac": [682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693], "forwardkinemat": [694, 695], "getplanningscen": [696, 697], "inversekinemat": [698, 699], "plancartesianmot": [700, 701], "planmot": [702, 703], "plannerinterfac": [704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715], "removeattachedcollisionmesh": [716, 717], "removecollisionmesh": [718, 719], "resetplanningscen": [720, 721], "pybulletaddattachedcollisionmesh": [722, 723], "pybulletaddcollisionmesh": [724, 725], "pybulletappendcollisionmesh": [726, 727], "pybulletforwardkinemat": [728, 729], "pybulletinversekinemat": [730, 731], "pybulletremoveattachedcollisionmesh": [732, 733], "pybulletremovecollisionmesh": [734, 735], "moveitaddattachedcollisionmesh": [736, 737, 738], "moveitaddcollisionmesh": [739, 740, 741], "moveitappendcollisionmesh": [742, 743, 744], "moveitforwardkinemat": [745, 746, 747], "moveitinversekinemat": [748, 749, 750], "moveitplancartesianmot": [751, 752, 753, 754], "moveitplanmot": [755, 756, 757], "moveitplanningscen": [758, 759, 760], "moveitremoveattachedcollisionmesh": [761, 762, 763], "moveitremovecollisionmesh": [764, 765, 766], "moveitresetplanningscen": [767, 768, 769], "grasshopp": [770, 785, 786], "compon": [770, 786], "exampl": [771, 774, 781, 785, 796, 798], "fabric": [771, 800], "fundament": 772, "frame": [773, 774, 797], "further": [773, 787, 788, 789], "inform": [773, 788], "coordin": 774, "world": [774, 781], "wcf": 774, "rcf": 774, "tool0": 774, "t0cf": 774, "tcf": 774, "ocf": 774, "link": [774, 776, 787, 788, 789, 794, 796], "descript": 775, "model": [775, 776, 777, 782], "joint": [776, 788], "load": [777, 782], "from": [777, 782, 788, 797], "disk": 777, "github": 777, "robotmodel": 778, "packag": [778, 788], "origin": 778, "singl": [779, 785], "goal": 779, "multipl": 779, "point": [779, 798], "segment": 779, "us": [781, 791], "first": [781, 791], "hello": 781, "write": 781, "talker": 781, "node": 781, "listen": 781, "motion": 784, "cartesian": 784, "collis": [785, 788], "1": 785, "non": 785, "attach": 785, "mesh": [785, 787, 789], "sever": 785, "2": 785, "effector": [785, 787, 788], "playground": 786, "creat": [787, 788, 789], "urdf": [787, 788, 789], "an": [787, 797], "custom": [787, 788], "export": [787, 789], "your": [787, 789], "prepar": [787, 789], "catkin": [787, 789], "workspac": [787, 789], "xacro": [787, 789], "gener": [787, 788, 789, 797], "explan": [787, 789], "view": [787, 789], "search": 787, "moveit": 788, "start": [788, 799], "setup": 788, "assist": 788, "self": 788, "matrix": 788, "virtual": [788, 799], "group": 788, "arm": 788, "gripper": 788, "pose": 788, "label": 788, "passiv": 788, "configur": 788, "newli": 788, "two": 789, "linear": 789, "ax": 789, "tower": 789, "ur10_tow": 789, "reachabl": [795, 796, 798], "map": [795, 796, 798], "introduct": 796, "01": 796, "1d": 796, "project": 796, "where": 796, "wa": 796, "appli": 796, "adapt": 796, "detail": 796, "360": 796, "light": 796, "paint": 796, "workshop": 796, "vector": [797, 798], "orthonorm": 797, "axi": 797, "deviat": [797, 798], "2d": 798, "02": 798, "03": 798, "sphere": 798, "conda": 799, "option": 799, "pip": 799, "studio": 799, "script": 799, "environ": 799, "compa": 800, "content": 800, "indic": 800, "tabl": 800, "licens": 801}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 57}, "alltitles": {"API Reference": [[0, "api-reference"]], "compas_fab": [[1, "compas-fab"]], "Robots": [[1, "robots"]], "CAD integration": [[1, "cad-integration"]], "Utilities": [[1, "utilities"]], "compas_fab.backends": [[2, "compas-fab-backends"]], "ROS": [[2, "ros"], [670, "ros"]], "PyBullet": [[2, "pybullet"], [669, "pybullet"]], "Analytical Kinematics": [[2, "analytical-kinematics"]], "IK solvers": [[2, "ik-solvers"]], "Robot-specific kinematics": [[2, "robot-specific-kinematics"]], "Long-running tasks": [[2, "long-running-tasks"]], "Exceptions": [[2, "exceptions"], [7, "exceptions"]], "Interfaces": [[2, "interfaces"]], "compas_fab.blender": [[3, "compas-fab-blender"]], "compas_fab.ghpython": [[4, "compas-fab-ghpython"]], "Scene objects": [[4, "scene-objects"], [5, "scene-objects"]], "compas_fab.rhino": [[5, "compas-fab-rhino"]], "compas_fab.robots": [[6, "compas-fab-robots"]], "Main classes": [[6, "main-classes"], [7, "main-classes"]], "Path planning": [[6, "path-planning"]], "Planning scene": [[6, "planning-scene"]], "Targets and Waypoints": [[6, "targets-and-waypoints"], [779, "targets-and-waypoints"]], "Constraints": [[6, "constraints"]], "Built-in robots": [[6, "built-in-robots"]], "Unit conversion": [[6, "unit-conversion"]], "compas_fab.sensors": [[7, "compas-fab-sensors"]], "Baumer sensors": [[7, "baumer-sensors"]], "compas_fab.utilities": [[8, "compas-fab-utilities"]], "File system functions": [[8, "file-system-functions"]], "Transformation functions": [[8, "transformation-functions"]], "Numerical functions": [[8, "numerical-functions"]], "Other functions": [[8, "other-functions"]], "ABB_IRB4600_40_255Kinematics": [[9, "abb-irb4600-40-255kinematics"]], "ABB_IRB4600_40_255Kinematics.forward": [[10, "abb-irb4600-40-255kinematics-forward"]], "ABB_IRB4600_40_255Kinematics.inverse": [[11, "abb-irb4600-40-255kinematics-inverse"]], "AnalyticalInverseKinematics": [[12, "analyticalinversekinematics"]], "AnalyticalInverseKinematics.inverse_kinematics": [[13, "analyticalinversekinematics-inverse-kinematics"]], "AnalyticalPlanCartesianMotion": [[14, "analyticalplancartesianmotion"]], "AnalyticalPlanCartesianMotion.plan_cartesian_motion": [[15, "analyticalplancartesianmotion-plan-cartesian-motion"]], "AnalyticalPlanCartesianMotion.smooth_configurations": [[16, "analyticalplancartesianmotion-smooth-configurations"]], "AnalyticalPyBulletClient": [[17, "analyticalpybulletclient"]], "AnalyticalPyBulletClient.add_attached_collision_mesh": [[18, "analyticalpybulletclient-add-attached-collision-mesh"]], "AnalyticalPyBulletClient.add_collision_mesh": [[19, "analyticalpybulletclient-add-collision-mesh"]], "AnalyticalPyBulletClient.append_collision_mesh": [[20, "analyticalpybulletclient-append-collision-mesh"]], "AnalyticalPyBulletClient.body_from_obj": [[21, "analyticalpybulletclient-body-from-obj"]], "AnalyticalPyBulletClient.cache_robot_model": [[22, "analyticalpybulletclient-cache-robot-model"]], "AnalyticalPyBulletClient.check_collision_objects_for_collision": [[23, "analyticalpybulletclient-check-collision-objects-for-collision"]], "AnalyticalPyBulletClient.check_collision_with_objects": [[24, "analyticalpybulletclient-check-collision-with-objects"]], "AnalyticalPyBulletClient.check_collisions": [[25, "analyticalpybulletclient-check-collisions"]], "AnalyticalPyBulletClient.check_robot_self_collision": [[26, "analyticalpybulletclient-check-robot-self-collision"]], "AnalyticalPyBulletClient.connect": [[27, "analyticalpybulletclient-connect"]], "AnalyticalPyBulletClient.convert_mesh_to_body": [[28, "analyticalpybulletclient-convert-mesh-to-body"]], "AnalyticalPyBulletClient.disconnect": [[29, "analyticalpybulletclient-disconnect"]], "AnalyticalPyBulletClient.ensure_cached_robot_model": [[30, "analyticalpybulletclient-ensure-cached-robot-model"]], "AnalyticalPyBulletClient.ensure_cached_robot_model_geometry": [[31, "analyticalpybulletclient-ensure-cached-robot-model-geometry"]], "AnalyticalPyBulletClient.filter_configurations_in_collision": [[32, "analyticalpybulletclient-filter-configurations-in-collision"]], "AnalyticalPyBulletClient.forward_kinematics": [[33, "analyticalpybulletclient-forward-kinematics"]], "AnalyticalPyBulletClient.get_cached_robot_filepath": [[34, "analyticalpybulletclient-get-cached-robot-filepath"]], "AnalyticalPyBulletClient.get_cached_robot_model": [[35, "analyticalpybulletclient-get-cached-robot-model"]], "AnalyticalPyBulletClient.get_planning_scene": [[36, "analyticalpybulletclient-get-planning-scene"]], "AnalyticalPyBulletClient.get_robot_configuration": [[37, "analyticalpybulletclient-get-robot-configuration"]], "AnalyticalPyBulletClient.get_uid": [[38, "analyticalpybulletclient-get-uid"]], "AnalyticalPyBulletClient.inverse_kinematics": [[39, "analyticalpybulletclient-inverse-kinematics"]], "AnalyticalPyBulletClient.load_robot": [[40, "analyticalpybulletclient-load-robot"]], "AnalyticalPyBulletClient.load_semantics": [[41, "analyticalpybulletclient-load-semantics"]], "AnalyticalPyBulletClient.load_ur5": [[42, "analyticalpybulletclient-load-ur5"]], "AnalyticalPyBulletClient.plan_cartesian_motion": [[43, "analyticalpybulletclient-plan-cartesian-motion"]], "AnalyticalPyBulletClient.plan_motion": [[44, "analyticalpybulletclient-plan-motion"]], "AnalyticalPyBulletClient.reload_from_cache": [[45, "analyticalpybulletclient-reload-from-cache"]], "AnalyticalPyBulletClient.remove_attached_collision_mesh": [[46, "analyticalpybulletclient-remove-attached-collision-mesh"]], "AnalyticalPyBulletClient.remove_collision_mesh": [[47, "analyticalpybulletclient-remove-collision-mesh"]], "AnalyticalPyBulletClient.reset_planning_scene": [[48, "analyticalpybulletclient-reset-planning-scene"]], "AnalyticalPyBulletClient.set_robot_configuration": [[49, "analyticalpybulletclient-set-robot-configuration"]], "AnalyticalPyBulletClient.step_simulation": [[50, "analyticalpybulletclient-step-simulation"]], "BackendError": [[51, "backenderror"]], "BackendFeatureNotSupportedError": [[52, "backendfeaturenotsupportederror"]], "CancellableFutureResult": [[53, "cancellablefutureresult"]], "CancellableFutureResult.cancel": [[54, "cancellablefutureresult-cancel"]], "CancellableFutureResult.result": [[55, "cancellablefutureresult-result"]], "CartesianMotionError": [[56, "cartesianmotionerror"]], "CollisionError": [[57, "collisionerror"]], "FutureResult": [[58, "futureresult"]], "FutureResult.result": [[59, "futureresult-result"]], "InverseKinematicsError": [[60, "inversekinematicserror"]], "KinematicsError": [[61, "kinematicserror"]], "MoveItPlanner": [[62, "moveitplanner"]], "MoveItPlanner.add_attached_collision_mesh": [[63, "moveitplanner-add-attached-collision-mesh"]], "MoveItPlanner.add_attached_collision_mesh_async": [[64, "moveitplanner-add-attached-collision-mesh-async"]], "MoveItPlanner.add_collision_mesh": [[65, "moveitplanner-add-collision-mesh"]], "MoveItPlanner.add_collision_mesh_async": [[66, "moveitplanner-add-collision-mesh-async"]], "MoveItPlanner.append_collision_mesh": [[67, "moveitplanner-append-collision-mesh"]], "MoveItPlanner.append_collision_mesh_async": [[68, "moveitplanner-append-collision-mesh-async"]], "MoveItPlanner.forward_kinematics": [[69, "moveitplanner-forward-kinematics"]], "MoveItPlanner.forward_kinematics_async": [[70, "moveitplanner-forward-kinematics-async"]], "MoveItPlanner.get_planning_scene": [[71, "moveitplanner-get-planning-scene"]], "MoveItPlanner.get_planning_scene_async": [[72, "moveitplanner-get-planning-scene-async"]], "MoveItPlanner.inverse_kinematics": [[73, "moveitplanner-inverse-kinematics"]], "MoveItPlanner.inverse_kinematics_async": [[74, "moveitplanner-inverse-kinematics-async"]], "MoveItPlanner.plan_cartesian_motion": [[75, "moveitplanner-plan-cartesian-motion"]], "MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async": [[76, "moveitplanner-plan-cartesian-motion-with-frame-waypoints-async"]], "MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async": [[77, "moveitplanner-plan-cartesian-motion-with-point-axis-waypoints-async"]], "MoveItPlanner.plan_motion": [[78, "moveitplanner-plan-motion"]], "MoveItPlanner.plan_motion_async": [[79, "moveitplanner-plan-motion-async"]], "MoveItPlanner.remove_attached_collision_mesh": [[80, "moveitplanner-remove-attached-collision-mesh"]], "MoveItPlanner.remove_attached_collision_mesh_async": [[81, "moveitplanner-remove-attached-collision-mesh-async"]], "MoveItPlanner.remove_collision_mesh": [[82, "moveitplanner-remove-collision-mesh"]], "MoveItPlanner.remove_collision_mesh_async": [[83, "moveitplanner-remove-collision-mesh-async"]], "MoveItPlanner.reset_planning_scene": [[84, "moveitplanner-reset-planning-scene"]], "MoveItPlanner.reset_planning_scene_async": [[85, "moveitplanner-reset-planning-scene-async"]], "OffsetWristKinematics": [[86, "offsetwristkinematics"]], "OffsetWristKinematics.forward": [[87, "offsetwristkinematics-forward"]], "OffsetWristKinematics.inverse": [[88, "offsetwristkinematics-inverse"]], "PyBulletClient": [[89, "pybulletclient"]], "PyBulletClient.add_attached_collision_mesh": [[90, "pybulletclient-add-attached-collision-mesh"]], "PyBulletClient.add_collision_mesh": [[91, "pybulletclient-add-collision-mesh"]], "PyBulletClient.append_collision_mesh": [[92, "pybulletclient-append-collision-mesh"]], "PyBulletClient.body_from_obj": [[93, "pybulletclient-body-from-obj"]], "PyBulletClient.cache_robot_model": [[94, "pybulletclient-cache-robot-model"]], "PyBulletClient.check_collision_objects_for_collision": [[95, "pybulletclient-check-collision-objects-for-collision"]], "PyBulletClient.check_collision_with_objects": [[96, "pybulletclient-check-collision-with-objects"]], "PyBulletClient.check_collisions": [[97, "pybulletclient-check-collisions"]], "PyBulletClient.check_robot_self_collision": [[98, "pybulletclient-check-robot-self-collision"]], "PyBulletClient.connect": [[99, "pybulletclient-connect"]], "PyBulletClient.convert_mesh_to_body": [[100, "pybulletclient-convert-mesh-to-body"]], "PyBulletClient.disconnect": [[101, "pybulletclient-disconnect"]], "PyBulletClient.ensure_cached_robot_model": [[102, "pybulletclient-ensure-cached-robot-model"]], "PyBulletClient.ensure_cached_robot_model_geometry": [[103, "pybulletclient-ensure-cached-robot-model-geometry"]], "PyBulletClient.filter_configurations_in_collision": [[104, "pybulletclient-filter-configurations-in-collision"]], "PyBulletClient.forward_kinematics": [[105, "pybulletclient-forward-kinematics"]], "PyBulletClient.get_cached_robot_filepath": [[106, "pybulletclient-get-cached-robot-filepath"]], "PyBulletClient.get_cached_robot_model": [[107, "pybulletclient-get-cached-robot-model"]], "PyBulletClient.get_planning_scene": [[108, "pybulletclient-get-planning-scene"]], "PyBulletClient.get_robot_configuration": [[109, "pybulletclient-get-robot-configuration"]], "PyBulletClient.get_uid": [[110, "pybulletclient-get-uid"]], "PyBulletClient.inverse_kinematics": [[111, "pybulletclient-inverse-kinematics"]], "PyBulletClient.load_robot": [[112, "pybulletclient-load-robot"]], "PyBulletClient.load_semantics": [[113, "pybulletclient-load-semantics"]], "PyBulletClient.load_ur5": [[114, "pybulletclient-load-ur5"]], "PyBulletClient.plan_cartesian_motion": [[115, "pybulletclient-plan-cartesian-motion"]], "PyBulletClient.plan_motion": [[116, "pybulletclient-plan-motion"]], "PyBulletClient.reload_from_cache": [[117, "pybulletclient-reload-from-cache"]], "PyBulletClient.remove_attached_collision_mesh": [[118, "pybulletclient-remove-attached-collision-mesh"]], "PyBulletClient.remove_collision_mesh": [[119, "pybulletclient-remove-collision-mesh"]], "PyBulletClient.reset_planning_scene": [[120, "pybulletclient-reset-planning-scene"]], "PyBulletClient.set_robot_configuration": [[121, "pybulletclient-set-robot-configuration"]], "PyBulletClient.step_simulation": [[122, "pybulletclient-step-simulation"]], "PyBulletError": [[123, "pybulleterror"]], "PyBulletPlanner": [[124, "pybulletplanner"]], "PyBulletPlanner.add_attached_collision_mesh": [[125, "pybulletplanner-add-attached-collision-mesh"]], "PyBulletPlanner.add_collision_mesh": [[126, "pybulletplanner-add-collision-mesh"]], "PyBulletPlanner.append_collision_mesh": [[127, "pybulletplanner-append-collision-mesh"]], "PyBulletPlanner.forward_kinematics": [[128, "pybulletplanner-forward-kinematics"]], "PyBulletPlanner.get_planning_scene": [[129, "pybulletplanner-get-planning-scene"]], "PyBulletPlanner.inverse_kinematics": [[130, "pybulletplanner-inverse-kinematics"]], "PyBulletPlanner.plan_cartesian_motion": [[131, "pybulletplanner-plan-cartesian-motion"]], "PyBulletPlanner.plan_motion": [[132, "pybulletplanner-plan-motion"]], "PyBulletPlanner.remove_attached_collision_mesh": [[133, "pybulletplanner-remove-attached-collision-mesh"]], "PyBulletPlanner.remove_collision_mesh": [[134, "pybulletplanner-remove-collision-mesh"]], "PyBulletPlanner.reset_planning_scene": [[135, "pybulletplanner-reset-planning-scene"]], "RosClient": [[136, "rosclient"]], "RosClient.add_attached_collision_mesh": [[137, "rosclient-add-attached-collision-mesh"]], "RosClient.add_collision_mesh": [[138, "rosclient-add-collision-mesh"]], "RosClient.append_collision_mesh": [[139, "rosclient-append-collision-mesh"]], "RosClient.authenticate": [[140, "rosclient-authenticate"]], "RosClient.blocking_call_from_thread": [[141, "rosclient-blocking-call-from-thread"]], "RosClient.call_async_service": [[142, "rosclient-call-async-service"]], "RosClient.call_in_thread": [[143, "rosclient-call-in-thread"]], "RosClient.call_later": [[144, "rosclient-call-later"]], "RosClient.call_sync_service": [[145, "rosclient-call-sync-service"]], "RosClient.close": [[146, "rosclient-close"]], "RosClient.connect": [[147, "rosclient-connect"]], "RosClient.delete_param": [[148, "rosclient-delete-param"]], "RosClient.emit": [[149, "rosclient-emit"]], "RosClient.execute_joint_trajectory": [[150, "rosclient-execute-joint-trajectory"]], "RosClient.follow_configurations": [[151, "rosclient-follow-configurations"]], "RosClient.follow_joint_trajectory": [[152, "rosclient-follow-joint-trajectory"]], "RosClient.forward_kinematics": [[153, "rosclient-forward-kinematics"]], "RosClient.get_action_servers": [[154, "rosclient-get-action-servers"]], "RosClient.get_configuration": [[155, "rosclient-get-configuration"]], "RosClient.get_message_details": [[156, "rosclient-get-message-details"]], "RosClient.get_node_details": [[157, "rosclient-get-node-details"]], "RosClient.get_nodes": [[158, "rosclient-get-nodes"]], "RosClient.get_param": [[159, "rosclient-get-param"]], "RosClient.get_params": [[160, "rosclient-get-params"]], "RosClient.get_planning_scene": [[161, "rosclient-get-planning-scene"]], "RosClient.get_service_request_callback": [[162, "rosclient-get-service-request-callback"]], "RosClient.get_service_request_details": [[163, "rosclient-get-service-request-details"]], "RosClient.get_service_response_details": [[164, "rosclient-get-service-response-details"]], "RosClient.get_service_type": [[165, "rosclient-get-service-type"]], "RosClient.get_services": [[166, "rosclient-get-services"]], "RosClient.get_services_for_type": [[167, "rosclient-get-services-for-type"]], "RosClient.get_time": [[168, "rosclient-get-time"]], "RosClient.get_topic_type": [[169, "rosclient-get-topic-type"]], "RosClient.get_topics": [[170, "rosclient-get-topics"]], "RosClient.get_topics_for_type": [[171, "rosclient-get-topics-for-type"]], "RosClient.inverse_kinematics": [[172, "rosclient-inverse-kinematics"]], "RosClient.load_robot": [[173, "rosclient-load-robot"]], "RosClient.off": [[174, "rosclient-off"]], "RosClient.on": [[175, "rosclient-on"]], "RosClient.on_ready": [[176, "rosclient-on-ready"]], "RosClient.plan_cartesian_motion": [[177, "rosclient-plan-cartesian-motion"]], "RosClient.plan_motion": [[178, "rosclient-plan-motion"]], "RosClient.remove_attached_collision_mesh": [[179, "rosclient-remove-attached-collision-mesh"]], "RosClient.remove_collision_mesh": [[180, "rosclient-remove-collision-mesh"]], "RosClient.reset_planning_scene": [[181, "rosclient-reset-planning-scene"]], "RosClient.run": [[182, "rosclient-run"]], "RosClient.run_event_loop": [[183, "rosclient-run-event-loop"]], "RosClient.run_forever": [[184, "rosclient-run-forever"]], "RosClient.send_on_ready": [[185, "rosclient-send-on-ready"]], "RosClient.set_param": [[186, "rosclient-set-param"]], "RosClient.set_status_level": [[187, "rosclient-set-status-level"]], "RosClient.terminate": [[188, "rosclient-terminate"]], "RosError": [[189, "roserror"]], "RosFileServerLoader": [[190, "rosfileserverloader"]], "RosFileServerLoader.can_load_mesh": [[191, "rosfileserverloader-can-load-mesh"]], "RosFileServerLoader.load_mesh": [[192, "rosfileserverloader-load-mesh"]], "RosFileServerLoader.load_meshes": [[193, "rosfileserverloader-load-meshes"]], "RosFileServerLoader.load_srdf": [[194, "rosfileserverloader-load-srdf"]], "RosFileServerLoader.load_urdf": [[195, "rosfileserverloader-load-urdf"]], "RosValidationError": [[196, "rosvalidationerror"]], "SphericalWristKinematics": [[197, "sphericalwristkinematics"]], "SphericalWristKinematics.forward": [[198, "sphericalwristkinematics-forward"]], "SphericalWristKinematics.inverse": [[199, "sphericalwristkinematics-inverse"]], "Staubli_TX260LKinematics": [[200, "staubli-tx260lkinematics"]], "Staubli_TX260LKinematics.forward": [[201, "staubli-tx260lkinematics-forward"]], "Staubli_TX260LKinematics.inverse": [[202, "staubli-tx260lkinematics-inverse"]], "UR10Kinematics": [[203, "ur10kinematics"]], "UR10Kinematics.forward": [[204, "ur10kinematics-forward"]], "UR10Kinematics.inverse": [[205, "ur10kinematics-inverse"]], "UR10eKinematics": [[206, "ur10ekinematics"]], "UR10eKinematics.forward": [[207, "ur10ekinematics-forward"]], "UR10eKinematics.inverse": [[208, "ur10ekinematics-inverse"]], "UR3Kinematics": [[209, "ur3kinematics"]], "UR3Kinematics.forward": [[210, "ur3kinematics-forward"]], "UR3Kinematics.inverse": [[211, "ur3kinematics-inverse"]], "UR3eKinematics": [[212, "ur3ekinematics"]], "UR3eKinematics.forward": [[213, "ur3ekinematics-forward"]], "UR3eKinematics.inverse": [[214, "ur3ekinematics-inverse"]], "UR5Kinematics": [[215, "ur5kinematics"]], "UR5Kinematics.forward": [[216, "ur5kinematics-forward"]], "UR5Kinematics.inverse": [[217, "ur5kinematics-inverse"]], "UR5eKinematics": [[218, "ur5ekinematics"]], "UR5eKinematics.forward": [[219, "ur5ekinematics-forward"]], "UR5eKinematics.inverse": [[220, "ur5ekinematics-inverse"]], "ReachabilityMapObject": [[221, "reachabilitymapobject"], [237, "reachabilitymapobject"]], "ReachabilityMapObject.ToString": [[222, "reachabilitymapobject-tostring"], [238, "reachabilitymapobject-tostring"]], "ReachabilityMapObject.add": [[223, "reachabilitymapobject-add"], [239, "reachabilitymapobject-add"]], "ReachabilityMapObject.clear": [[224, "reachabilitymapobject-clear"], [241, "reachabilitymapobject-clear"]], "ReachabilityMapObject.copy": [[225, "reachabilitymapobject-copy"], [244, "reachabilitymapobject-copy"]], "ReachabilityMapObject.draw": [[226, "reachabilitymapobject-draw"], [245, "reachabilitymapobject-draw"]], "ReachabilityMapObject.draw_cloud": [[227, "reachabilitymapobject-draw-cloud"], [246, "reachabilitymapobject-draw-cloud"]], "ReachabilityMapObject.draw_frames": [[228, "reachabilitymapobject-draw-frames"], [247, "reachabilitymapobject-draw-frames"]], "ReachabilityMapObject.from_json": [[229, "reachabilitymapobject-from-json"], [248, "reachabilitymapobject-from-json"]], "ReachabilityMapObject.from_jsonstring": [[230, "reachabilitymapobject-from-jsonstring"], [249, "reachabilitymapobject-from-jsonstring"]], "ReachabilityMapObject.remove": [[231, "reachabilitymapobject-remove"], [251, "reachabilitymapobject-remove"]], "ReachabilityMapObject.sha256": [[232, "reachabilitymapobject-sha256"], [252, "reachabilitymapobject-sha256"]], "ReachabilityMapObject.to_json": [[233, "reachabilitymapobject-to-json"], [253, "reachabilitymapobject-to-json"]], "ReachabilityMapObject.to_jsonstring": [[234, "reachabilitymapobject-to-jsonstring"], [254, "reachabilitymapobject-to-jsonstring"]], "ReachabilityMapObject.traverse": [[235, "reachabilitymapobject-traverse"], [255, "reachabilitymapobject-traverse"]], "ReachabilityMapObject.validate_data": [[236, "reachabilitymapobject-validate-data"], [256, "reachabilitymapobject-validate-data"]], "ReachabilityMapObject.add_to_group": [[240, "reachabilitymapobject-add-to-group"]], "ReachabilityMapObject.clear_layer": [[242, "reachabilitymapobject-clear-layer"]], "ReachabilityMapObject.compile_attributes": [[243, "reachabilitymapobject-compile-attributes"]], "ReachabilityMapObject.get_group": [[250, "reachabilitymapobject-get-group"]], "AttachedCollisionMesh": [[257, "attachedcollisionmesh"]], "AttachedCollisionMesh.ToString": [[258, "attachedcollisionmesh-tostring"]], "AttachedCollisionMesh.copy": [[259, "attachedcollisionmesh-copy"]], "AttachedCollisionMesh.from_json": [[260, "attachedcollisionmesh-from-json"]], "AttachedCollisionMesh.from_jsonstring": [[261, "attachedcollisionmesh-from-jsonstring"]], "AttachedCollisionMesh.sha256": [[262, "attachedcollisionmesh-sha256"]], "AttachedCollisionMesh.to_json": [[263, "attachedcollisionmesh-to-json"]], "AttachedCollisionMesh.to_jsonstring": [[264, "attachedcollisionmesh-to-jsonstring"]], "AttachedCollisionMesh.validate_data": [[265, "attachedcollisionmesh-validate-data"]], "BoundingVolume": [[266, "boundingvolume"]], "BoundingVolume.ToString": [[267, "boundingvolume-tostring"]], "BoundingVolume.copy": [[268, "boundingvolume-copy"]], "BoundingVolume.from_box": [[269, "boundingvolume-from-box"]], "BoundingVolume.from_json": [[270, "boundingvolume-from-json"]], "BoundingVolume.from_jsonstring": [[271, "boundingvolume-from-jsonstring"]], "BoundingVolume.from_mesh": [[272, "boundingvolume-from-mesh"]], "BoundingVolume.from_sphere": [[273, "boundingvolume-from-sphere"]], "BoundingVolume.scale": [[274, "boundingvolume-scale"]], "BoundingVolume.sha256": [[275, "boundingvolume-sha256"]], "BoundingVolume.to_json": [[276, "boundingvolume-to-json"]], "BoundingVolume.to_jsonstring": [[277, "boundingvolume-to-jsonstring"]], "BoundingVolume.transform": [[278, "boundingvolume-transform"]], "BoundingVolume.validate_data": [[279, "boundingvolume-validate-data"]], "CollisionMesh": [[280, "collisionmesh"]], "CollisionMesh.ToString": [[281, "collisionmesh-tostring"]], "CollisionMesh.copy": [[282, "collisionmesh-copy"]], "CollisionMesh.from_json": [[283, "collisionmesh-from-json"]], "CollisionMesh.from_jsonstring": [[284, "collisionmesh-from-jsonstring"]], "CollisionMesh.scale": [[285, "collisionmesh-scale"]], "CollisionMesh.scaled": [[286, "collisionmesh-scaled"]], "CollisionMesh.sha256": [[287, "collisionmesh-sha256"]], "CollisionMesh.to_json": [[288, "collisionmesh-to-json"]], "CollisionMesh.to_jsonstring": [[289, "collisionmesh-to-jsonstring"]], "CollisionMesh.validate_data": [[290, "collisionmesh-validate-data"]], "ConfigurationTarget": [[291, "configurationtarget"]], "ConfigurationTarget.ToString": [[292, "configurationtarget-tostring"]], "ConfigurationTarget.copy": [[293, "configurationtarget-copy"]], "ConfigurationTarget.from_json": [[294, "configurationtarget-from-json"]], "ConfigurationTarget.from_jsonstring": [[295, "configurationtarget-from-jsonstring"]], "ConfigurationTarget.generate_default_tolerances": [[296, "configurationtarget-generate-default-tolerances"]], "ConfigurationTarget.scaled": [[297, "configurationtarget-scaled"]], "ConfigurationTarget.sha256": [[298, "configurationtarget-sha256"]], "ConfigurationTarget.to_json": [[299, "configurationtarget-to-json"]], "ConfigurationTarget.to_jsonstring": [[300, "configurationtarget-to-jsonstring"]], "ConfigurationTarget.validate_data": [[301, "configurationtarget-validate-data"]], "Constraint": [[302, "constraint"]], "Constraint.ToString": [[303, "constraint-tostring"]], "Constraint.copy": [[304, "constraint-copy"]], "Constraint.from_json": [[305, "constraint-from-json"]], "Constraint.from_jsonstring": [[306, "constraint-from-jsonstring"]], "Constraint.scale": [[307, "constraint-scale"]], "Constraint.scaled": [[308, "constraint-scaled"]], "Constraint.sha256": [[309, "constraint-sha256"]], "Constraint.to_json": [[310, "constraint-to-json"]], "Constraint.to_jsonstring": [[311, "constraint-to-jsonstring"]], "Constraint.transform": [[312, "constraint-transform"]], "Constraint.validate_data": [[313, "constraint-validate-data"]], "ConstraintSetTarget": [[314, "constraintsettarget"]], "ConstraintSetTarget.ToString": [[315, "constraintsettarget-tostring"]], "ConstraintSetTarget.copy": [[316, "constraintsettarget-copy"]], "ConstraintSetTarget.from_json": [[317, "constraintsettarget-from-json"]], "ConstraintSetTarget.from_jsonstring": [[318, "constraintsettarget-from-jsonstring"]], "ConstraintSetTarget.scaled": [[319, "constraintsettarget-scaled"]], "ConstraintSetTarget.sha256": [[320, "constraintsettarget-sha256"]], "ConstraintSetTarget.to_json": [[321, "constraintsettarget-to-json"]], "ConstraintSetTarget.to_jsonstring": [[322, "constraintsettarget-to-jsonstring"]], "ConstraintSetTarget.validate_data": [[323, "constraintsettarget-validate-data"]], "DeviationVectorsGenerator": [[324, "deviationvectorsgenerator"]], "Duration": [[325, "duration"]], "Duration.ToString": [[326, "duration-tostring"]], "Duration.copy": [[327, "duration-copy"]], "Duration.from_json": [[328, "duration-from-json"]], "Duration.from_jsonstring": [[329, "duration-from-jsonstring"]], "Duration.sha256": [[330, "duration-sha256"]], "Duration.to_json": [[331, "duration-to-json"]], "Duration.to_jsonstring": [[332, "duration-to-jsonstring"]], "Duration.validate_data": [[333, "duration-validate-data"]], "FrameTarget": [[334, "frametarget"]], "FrameTarget.ToString": [[335, "frametarget-tostring"]], "FrameTarget.copy": [[336, "frametarget-copy"]], "FrameTarget.from_json": [[337, "frametarget-from-json"]], "FrameTarget.from_jsonstring": [[338, "frametarget-from-jsonstring"]], "FrameTarget.from_transformation": [[339, "frametarget-from-transformation"]], "FrameTarget.scaled": [[340, "frametarget-scaled"]], "FrameTarget.sha256": [[341, "frametarget-sha256"]], "FrameTarget.to_json": [[342, "frametarget-to-json"]], "FrameTarget.to_jsonstring": [[343, "frametarget-to-jsonstring"]], "FrameTarget.validate_data": [[344, "frametarget-validate-data"]], "FrameWaypoints": [[345, "framewaypoints"]], "FrameWaypoints.ToString": [[346, "framewaypoints-tostring"]], "FrameWaypoints.copy": [[347, "framewaypoints-copy"]], "FrameWaypoints.from_json": [[348, "framewaypoints-from-json"]], "FrameWaypoints.from_jsonstring": [[349, "framewaypoints-from-jsonstring"]], "FrameWaypoints.from_transformations": [[350, "framewaypoints-from-transformations"]], "FrameWaypoints.scaled": [[351, "framewaypoints-scaled"]], "FrameWaypoints.sha256": [[352, "framewaypoints-sha256"]], "FrameWaypoints.to_json": [[353, "framewaypoints-to-json"]], "FrameWaypoints.to_jsonstring": [[354, "framewaypoints-to-jsonstring"]], "FrameWaypoints.validate_data": [[355, "framewaypoints-validate-data"]], "Inertia": [[356, "inertia"]], "Inertia.calculate_inertia_tensor": [[357, "inertia-calculate-inertia-tensor"]], "JointConstraint": [[358, "jointconstraint"]], "JointConstraint.ToString": [[359, "jointconstraint-tostring"]], "JointConstraint.copy": [[360, "jointconstraint-copy"]], "JointConstraint.from_json": [[361, "jointconstraint-from-json"]], "JointConstraint.from_jsonstring": [[362, "jointconstraint-from-jsonstring"]], "JointConstraint.joint_constraints_from_configuration": [[363, "jointconstraint-joint-constraints-from-configuration"]], "JointConstraint.scale": [[364, "jointconstraint-scale"]], "JointConstraint.scaled": [[365, "jointconstraint-scaled"]], "JointConstraint.sha256": [[366, "jointconstraint-sha256"]], "JointConstraint.to_json": [[367, "jointconstraint-to-json"]], "JointConstraint.to_jsonstring": [[368, "jointconstraint-to-jsonstring"]], "JointConstraint.transform": [[369, "jointconstraint-transform"]], "JointConstraint.validate_data": [[370, "jointconstraint-validate-data"]], "JointTrajectory": [[371, "jointtrajectory"]], "JointTrajectory.ToString": [[372, "jointtrajectory-tostring"]], "JointTrajectory.copy": [[373, "jointtrajectory-copy"]], "JointTrajectory.from_json": [[374, "jointtrajectory-from-json"]], "JointTrajectory.from_jsonstring": [[375, "jointtrajectory-from-jsonstring"]], "JointTrajectory.sha256": [[376, "jointtrajectory-sha256"]], "JointTrajectory.to_json": [[377, "jointtrajectory-to-json"]], "JointTrajectory.to_jsonstring": [[378, "jointtrajectory-to-jsonstring"]], "JointTrajectory.validate_data": [[379, "jointtrajectory-validate-data"]], "JointTrajectoryPoint": [[380, "jointtrajectorypoint"]], "JointTrajectoryPoint.ToString": [[381, "jointtrajectorypoint-tostring"]], "JointTrajectoryPoint.check_joint_names": [[382, "jointtrajectorypoint-check-joint-names"]], "JointTrajectoryPoint.close_to": [[383, "jointtrajectorypoint-close-to"]], "JointTrajectoryPoint.copy": [[384, "jointtrajectorypoint-copy"]], "JointTrajectoryPoint.from_json": [[385, "jointtrajectorypoint-from-json"]], "JointTrajectoryPoint.from_jsonstring": [[386, "jointtrajectorypoint-from-jsonstring"]], "JointTrajectoryPoint.from_prismatic_and_revolute_values": [[387, "jointtrajectorypoint-from-prismatic-and-revolute-values"]], "JointTrajectoryPoint.from_revolute_values": [[388, "jointtrajectorypoint-from-revolute-values"]], "JointTrajectoryPoint.get": [[389, "jointtrajectorypoint-get"]], "JointTrajectoryPoint.items": [[390, "jointtrajectorypoint-items"]], "JointTrajectoryPoint.iter_differences": [[391, "jointtrajectorypoint-iter-differences"]], "JointTrajectoryPoint.keys": [[392, "jointtrajectorypoint-keys"]], "JointTrajectoryPoint.max_difference": [[393, "jointtrajectorypoint-max-difference"]], "JointTrajectoryPoint.merge": [[394, "jointtrajectorypoint-merge"]], "JointTrajectoryPoint.merged": [[395, "jointtrajectorypoint-merged"]], "JointTrajectoryPoint.scale": [[396, "jointtrajectorypoint-scale"]], "JointTrajectoryPoint.scaled": [[397, "jointtrajectorypoint-scaled"]], "JointTrajectoryPoint.sha256": [[398, "jointtrajectorypoint-sha256"]], "JointTrajectoryPoint.to_json": [[399, "jointtrajectorypoint-to-json"]], "JointTrajectoryPoint.to_jsonstring": [[400, "jointtrajectorypoint-to-jsonstring"]], "JointTrajectoryPoint.validate_data": [[401, "jointtrajectorypoint-validate-data"]], "JointTrajectoryPoint.values": [[402, "jointtrajectorypoint-values"]], "OrientationConstraint": [[403, "orientationconstraint"]], "OrientationConstraint.ToString": [[404, "orientationconstraint-tostring"]], "OrientationConstraint.copy": [[405, "orientationconstraint-copy"]], "OrientationConstraint.from_frame": [[406, "orientationconstraint-from-frame"]], "OrientationConstraint.from_json": [[407, "orientationconstraint-from-json"]], "OrientationConstraint.from_jsonstring": [[408, "orientationconstraint-from-jsonstring"]], "OrientationConstraint.scale": [[409, "orientationconstraint-scale"]], "OrientationConstraint.scaled": [[410, "orientationconstraint-scaled"]], "OrientationConstraint.sha256": [[411, "orientationconstraint-sha256"]], "OrientationConstraint.to_json": [[412, "orientationconstraint-to-json"]], "OrientationConstraint.to_jsonstring": [[413, "orientationconstraint-to-jsonstring"]], "OrientationConstraint.transform": [[414, "orientationconstraint-transform"]], "OrientationConstraint.validate_data": [[415, "orientationconstraint-validate-data"]], "OrthonormalVectorsFromAxisGenerator": [[416, "orthonormalvectorsfromaxisgenerator"]], "PlanningScene": [[417, "planningscene"]], "PlanningScene.add_attached_collision_mesh": [[418, "planningscene-add-attached-collision-mesh"]], "PlanningScene.add_attached_tool": [[419, "planningscene-add-attached-tool"]], "PlanningScene.add_collision_mesh": [[420, "planningscene-add-collision-mesh"]], "PlanningScene.append_collision_mesh": [[421, "planningscene-append-collision-mesh"]], "PlanningScene.attach_collision_mesh_to_robot_end_effector": [[422, "planningscene-attach-collision-mesh-to-robot-end-effector"]], "PlanningScene.ensure_client": [[423, "planningscene-ensure-client"]], "PlanningScene.remove_attached_collision_mesh": [[424, "planningscene-remove-attached-collision-mesh"]], "PlanningScene.remove_attached_tool": [[425, "planningscene-remove-attached-tool"]], "PlanningScene.remove_collision_mesh": [[426, "planningscene-remove-collision-mesh"]], "PlanningScene.reset": [[427, "planningscene-reset"]], "PointAxisTarget": [[428, "pointaxistarget"]], "PointAxisTarget.ToString": [[429, "pointaxistarget-tostring"]], "PointAxisTarget.copy": [[430, "pointaxistarget-copy"]], "PointAxisTarget.from_json": [[431, "pointaxistarget-from-json"]], "PointAxisTarget.from_jsonstring": [[432, "pointaxistarget-from-jsonstring"]], "PointAxisTarget.scaled": [[433, "pointaxistarget-scaled"]], "PointAxisTarget.sha256": [[434, "pointaxistarget-sha256"]], "PointAxisTarget.to_json": [[435, "pointaxistarget-to-json"]], "PointAxisTarget.to_jsonstring": [[436, "pointaxistarget-to-jsonstring"]], "PointAxisTarget.validate_data": [[437, "pointaxistarget-validate-data"]], "PointAxisWaypoints": [[438, "pointaxiswaypoints"]], "PointAxisWaypoints.ToString": [[439, "pointaxiswaypoints-tostring"]], "PointAxisWaypoints.copy": [[440, "pointaxiswaypoints-copy"]], "PointAxisWaypoints.from_json": [[441, "pointaxiswaypoints-from-json"]], "PointAxisWaypoints.from_jsonstring": [[442, "pointaxiswaypoints-from-jsonstring"]], "PointAxisWaypoints.scaled": [[443, "pointaxiswaypoints-scaled"]], "PointAxisWaypoints.sha256": [[444, "pointaxiswaypoints-sha256"]], "PointAxisWaypoints.to_json": [[445, "pointaxiswaypoints-to-json"]], "PointAxisWaypoints.to_jsonstring": [[446, "pointaxiswaypoints-to-jsonstring"]], "PointAxisWaypoints.validate_data": [[447, "pointaxiswaypoints-validate-data"]], "PositionConstraint": [[448, "positionconstraint"]], "PositionConstraint.ToString": [[449, "positionconstraint-tostring"]], "PositionConstraint.copy": [[450, "positionconstraint-copy"]], "PositionConstraint.from_box": [[451, "positionconstraint-from-box"]], "PositionConstraint.from_frame": [[452, "positionconstraint-from-frame"]], "PositionConstraint.from_json": [[453, "positionconstraint-from-json"]], "PositionConstraint.from_jsonstring": [[454, "positionconstraint-from-jsonstring"]], "PositionConstraint.from_mesh": [[455, "positionconstraint-from-mesh"]], "PositionConstraint.from_point": [[456, "positionconstraint-from-point"]], "PositionConstraint.from_sphere": [[457, "positionconstraint-from-sphere"]], "PositionConstraint.scale": [[458, "positionconstraint-scale"]], "PositionConstraint.scaled": [[459, "positionconstraint-scaled"]], "PositionConstraint.sha256": [[460, "positionconstraint-sha256"]], "PositionConstraint.to_json": [[461, "positionconstraint-to-json"]], "PositionConstraint.to_jsonstring": [[462, "positionconstraint-to-jsonstring"]], "PositionConstraint.transform": [[463, "positionconstraint-transform"]], "PositionConstraint.validate_data": [[464, "positionconstraint-validate-data"]], "ReachabilityMap": [[465, "reachabilitymap"]], "ReachabilityMap.ToString": [[466, "reachabilitymap-tostring"]], "ReachabilityMap.calculate": [[467, "reachabilitymap-calculate"]], "ReachabilityMap.copy": [[468, "reachabilitymap-copy"]], "ReachabilityMap.from_json": [[469, "reachabilitymap-from-json"]], "ReachabilityMap.from_jsonstring": [[470, "reachabilitymap-from-jsonstring"]], "ReachabilityMap.reachable_frames_and_configurations_at_ik_index": [[471, "reachabilitymap-reachable-frames-and-configurations-at-ik-index"]], "ReachabilityMap.sha256": [[472, "reachabilitymap-sha256"]], "ReachabilityMap.to_json": [[473, "reachabilitymap-to-json"]], "ReachabilityMap.to_jsonstring": [[474, "reachabilitymap-to-jsonstring"]], "ReachabilityMap.validate_data": [[475, "reachabilitymap-validate-data"]], "Robot": [[476, "robot"]], "Robot.ToString": [[477, "robot-tostring"]], "Robot.attach_tool": [[478, "robot-attach-tool"]], "Robot.basic": [[479, "robot-basic"]], "Robot.copy": [[480, "robot-copy"]], "Robot.detach_tool": [[481, "robot-detach-tool"]], "Robot.draw": [[482, "robot-draw"]], "Robot.draw_collision": [[483, "robot-draw-collision"]], "Robot.draw_visual": [[484, "robot-draw-visual"]], "Robot.ensure_client": [[485, "robot-ensure-client"]], "Robot.ensure_geometry": [[486, "robot-ensure-geometry"]], "Robot.ensure_semantics": [[487, "robot-ensure-semantics"]], "Robot.forward_kinematics": [[488, "robot-forward-kinematics"]], "Robot.from_json": [[489, "robot-from-json"]], "Robot.from_jsonstring": [[490, "robot-from-jsonstring"]], "Robot.from_t0cf_to_tcf": [[491, "robot-from-t0cf-to-tcf"]], "Robot.from_tcf_to_t0cf": [[492, "robot-from-tcf-to-t0cf"]], "Robot.get_RCF": [[493, "robot-get-rcf"]], "Robot.get_attached_tool_collision_meshes": [[494, "robot-get-attached-tool-collision-meshes"]], "Robot.get_base_frame": [[495, "robot-get-base-frame"]], "Robot.get_base_link": [[496, "robot-get-base-link"]], "Robot.get_base_link_name": [[497, "robot-get-base-link-name"]], "Robot.get_configurable_joint_names": [[498, "robot-get-configurable-joint-names"]], "Robot.get_configurable_joint_types": [[499, "robot-get-configurable-joint-types"]], "Robot.get_configurable_joints": [[500, "robot-get-configurable-joints"]], "Robot.get_configuration_from_group_state": [[501, "robot-get-configuration-from-group-state"]], "Robot.get_end_effector_frame": [[502, "robot-get-end-effector-frame"]], "Robot.get_end_effector_link": [[503, "robot-get-end-effector-link"]], "Robot.get_end_effector_link_name": [[504, "robot-get-end-effector-link-name"]], "Robot.get_group_configuration": [[505, "robot-get-group-configuration"]], "Robot.get_group_names_from_link_name": [[506, "robot-get-group-names-from-link-name"]], "Robot.get_joint_by_name": [[507, "robot-get-joint-by-name"]], "Robot.get_joint_types_by_names": [[508, "robot-get-joint-types-by-names"]], "Robot.get_link_names": [[509, "robot-get-link-names"]], "Robot.get_link_names_with_collision_geometry": [[510, "robot-get-link-names-with-collision-geometry"]], "Robot.get_position_by_joint_name": [[511, "robot-get-position-by-joint-name"]], "Robot.info": [[512, "robot-info"]], "Robot.inverse_kinematics": [[513, "robot-inverse-kinematics"]], "Robot.iter_inverse_kinematics": [[514, "robot-iter-inverse-kinematics"]], "Robot.merge_group_with_full_configuration": [[515, "robot-merge-group-with-full-configuration"]], "Robot.plan_cartesian_motion": [[516, "robot-plan-cartesian-motion"]], "Robot.plan_motion": [[517, "robot-plan-motion"]], "Robot.random_configuration": [[518, "robot-random-configuration"]], "Robot.scale": [[519, "robot-scale"]], "Robot.set_RCF": [[520, "robot-set-rcf"]], "Robot.sha256": [[521, "robot-sha256"]], "Robot.to_json": [[522, "robot-to-json"]], "Robot.to_jsonstring": [[523, "robot-to-jsonstring"]], "Robot.to_local_coordinates": [[524, "robot-to-local-coordinates"]], "Robot.to_world_coordinates": [[525, "robot-to-world-coordinates"]], "Robot.transformation_RCF_WCF": [[526, "robot-transformation-rcf-wcf"]], "Robot.transformation_WCF_RCF": [[527, "robot-transformation-wcf-rcf"]], "Robot.transformed_axes": [[528, "robot-transformed-axes"]], "Robot.transformed_frames": [[529, "robot-transformed-frames"]], "Robot.update": [[530, "robot-update"]], "Robot.validate_data": [[531, "robot-validate-data"]], "Robot.zero_configuration": [[532, "robot-zero-configuration"]], "RobotLibrary": [[533, "robotlibrary"]], "RobotLibrary.abb_irb4600_40_255": [[534, "robotlibrary-abb-irb4600-40-255"]], "RobotLibrary.rfl": [[535, "robotlibrary-rfl"]], "RobotLibrary.ur10e": [[536, "robotlibrary-ur10e"]], "RobotLibrary.ur5": [[537, "robotlibrary-ur5"]], "RobotSemantics": [[538, "robotsemantics"]], "RobotSemantics.ToString": [[539, "robotsemantics-tostring"]], "RobotSemantics.copy": [[540, "robotsemantics-copy"]], "RobotSemantics.from_json": [[541, "robotsemantics-from-json"]], "RobotSemantics.from_jsonstring": [[542, "robotsemantics-from-jsonstring"]], "RobotSemantics.from_srdf_file": [[543, "robotsemantics-from-srdf-file"]], "RobotSemantics.from_srdf_string": [[544, "robotsemantics-from-srdf-string"]], "RobotSemantics.from_xml": [[545, "robotsemantics-from-xml"]], "RobotSemantics.get_all_configurable_joints": [[546, "robotsemantics-get-all-configurable-joints"]], "RobotSemantics.get_base_link_name": [[547, "robotsemantics-get-base-link-name"]], "RobotSemantics.get_configurable_joint_names": [[548, "robotsemantics-get-configurable-joint-names"]], "RobotSemantics.get_configurable_joints": [[549, "robotsemantics-get-configurable-joints"]], "RobotSemantics.get_end_effector_link_name": [[550, "robotsemantics-get-end-effector-link-name"]], "RobotSemantics.sha256": [[551, "robotsemantics-sha256"]], "RobotSemantics.to_json": [[552, "robotsemantics-to-json"]], "RobotSemantics.to_jsonstring": [[553, "robotsemantics-to-jsonstring"]], "RobotSemantics.validate_data": [[554, "robotsemantics-validate-data"]], "Target": [[555, "target"]], "Target.ToString": [[556, "target-tostring"]], "Target.copy": [[557, "target-copy"]], "Target.from_json": [[558, "target-from-json"]], "Target.from_jsonstring": [[559, "target-from-jsonstring"]], "Target.scaled": [[560, "target-scaled"]], "Target.sha256": [[561, "target-sha256"]], "Target.to_json": [[562, "target-to-json"]], "Target.to_jsonstring": [[563, "target-to-jsonstring"]], "Target.validate_data": [[564, "target-validate-data"]], "Tool": [[565, "tool"]], "Tool.ToString": [[566, "tool-tostring"]], "Tool.copy": [[567, "tool-copy"]], "Tool.from_json": [[568, "tool-from-json"]], "Tool.from_jsonstring": [[569, "tool-from-jsonstring"]], "Tool.from_t0cf_to_tcf": [[570, "tool-from-t0cf-to-tcf"]], "Tool.from_tcf_to_t0cf": [[571, "tool-from-tcf-to-t0cf"]], "Tool.from_tool_model": [[572, "tool-from-tool-model"]], "Tool.sha256": [[573, "tool-sha256"]], "Tool.to_json": [[574, "tool-to-json"]], "Tool.to_jsonstring": [[575, "tool-to-jsonstring"]], "Tool.update_touch_links": [[576, "tool-update-touch-links"]], "Tool.validate_data": [[577, "tool-validate-data"]], "Trajectory": [[578, "trajectory"]], "Trajectory.ToString": [[579, "trajectory-tostring"]], "Trajectory.copy": [[580, "trajectory-copy"]], "Trajectory.from_json": [[581, "trajectory-from-json"]], "Trajectory.from_jsonstring": [[582, "trajectory-from-jsonstring"]], "Trajectory.sha256": [[583, "trajectory-sha256"]], "Trajectory.to_json": [[584, "trajectory-to-json"]], "Trajectory.to_jsonstring": [[585, "trajectory-to-jsonstring"]], "Trajectory.validate_data": [[586, "trajectory-validate-data"]], "Waypoints": [[587, "waypoints"]], "Waypoints.ToString": [[588, "waypoints-tostring"]], "Waypoints.copy": [[589, "waypoints-copy"]], "Waypoints.from_json": [[590, "waypoints-from-json"]], "Waypoints.from_jsonstring": [[591, "waypoints-from-jsonstring"]], "Waypoints.scaled": [[592, "waypoints-scaled"]], "Waypoints.sha256": [[593, "waypoints-sha256"]], "Waypoints.to_json": [[594, "waypoints-to-json"]], "Waypoints.to_jsonstring": [[595, "waypoints-to-jsonstring"]], "Waypoints.validate_data": [[596, "waypoints-validate-data"]], "Wrench": [[597, "wrench"]], "Wrench.ToString": [[598, "wrench-tostring"]], "Wrench.by_samples": [[599, "wrench-by-samples"]], "Wrench.copy": [[600, "wrench-copy"]], "Wrench.from_json": [[601, "wrench-from-json"]], "Wrench.from_jsonstring": [[602, "wrench-from-jsonstring"]], "Wrench.from_list": [[603, "wrench-from-list"]], "Wrench.gravity_compensated": [[604, "wrench-gravity-compensated"]], "Wrench.sha256": [[605, "wrench-sha256"]], "Wrench.to_json": [[606, "wrench-to-json"]], "Wrench.to_jsonstring": [[607, "wrench-to-jsonstring"]], "Wrench.transform": [[608, "wrench-transform"]], "Wrench.transformed": [[609, "wrench-transformed"]], "Wrench.validate_data": [[610, "wrench-validate-data"]], "to_degrees": [[611, "to-degrees"]], "to_radians": [[612, "to-radians"]], "PosCon3D": [[613, "poscon3d"]], "PosCon3D.activate_flex_mount": [[614, "poscon3d-activate-flex-mount"]], "PosCon3D.adjust_to_dark_object": [[615, "poscon3d-adjust-to-dark-object"]], "PosCon3D.begin": [[616, "poscon3d-begin"]], "PosCon3D.calculate_checksum": [[617, "poscon3d-calculate-checksum"]], "PosCon3D.deactivate_flex_mount": [[618, "poscon3d-deactivate-flex-mount"]], "PosCon3D.end": [[619, "poscon3d-end"]], "PosCon3D.format_command": [[620, "poscon3d-format-command"]], "PosCon3D.get_address": [[621, "poscon3d-get-address"]], "PosCon3D.get_live_monitor_data": [[622, "poscon3d-get-live-monitor-data"]], "PosCon3D.get_measurement": [[623, "poscon3d-get-measurement"]], "PosCon3D.get_payload": [[624, "poscon3d-get-payload"]], "PosCon3D.reset": [[625, "poscon3d-reset"]], "PosCon3D.send_command": [[626, "poscon3d-send-command"]], "PosCon3D.set_edge_height": [[627, "poscon3d-set-edge-height"]], "PosCon3D.set_flex_mount": [[628, "poscon3d-set-flex-mount"]], "PosCon3D.set_measurement_type": [[629, "poscon3d-set-measurement-type"]], "PosCon3D.set_precision": [[630, "poscon3d-set-precision"]], "PosConCM": [[631, "posconcm"]], "PosConCM.activate_flex_mount": [[632, "posconcm-activate-flex-mount"]], "PosConCM.adjust_to_dark_object": [[633, "posconcm-adjust-to-dark-object"]], "PosConCM.begin": [[634, "posconcm-begin"]], "PosConCM.calculate_checksum": [[635, "posconcm-calculate-checksum"]], "PosConCM.deactivate_flex_mount": [[636, "posconcm-deactivate-flex-mount"]], "PosConCM.end": [[637, "posconcm-end"]], "PosConCM.format_command": [[638, "posconcm-format-command"]], "PosConCM.get_address": [[639, "posconcm-get-address"]], "PosConCM.get_measurement": [[640, "posconcm-get-measurement"]], "PosConCM.get_payload": [[641, "posconcm-get-payload"]], "PosConCM.reset": [[642, "posconcm-reset"]], "PosConCM.send_command": [[643, "posconcm-send-command"]], "PosConCM.set_flex_mount": [[644, "posconcm-set-flex-mount"]], "PosConCM.set_measurement_type": [[645, "posconcm-set-measurement-type"]], "PosConCM.set_precision": [[646, "posconcm-set-precision"]], "PosConCM.teach_flex_mount": [[647, "posconcm-teach-flex-mount"]], "ProtocolError": [[648, "protocolerror"]], "SensorTimeoutError": [[649, "sensortimeouterror"]], "SerialSensor": [[650, "serialsensor"]], "LazyLoader": [[651, "lazyloader"]], "allclose": [[652, "allclose"]], "arange": [[653, "arange"]], "argmax": [[654, "argmax"]], "argmin": [[655, "argmin"]], "argsort": [[656, "argsort"]], "clamp": [[657, "clamp"]], "diffs": [[658, "diffs"]], "from_tcf_to_t0cf": [[659, "from-tcf-to-t0cf"]], "list_files_in_directory": [[660, "list-files-in-directory"]], "map_range": [[661, "map-range"]], "range_geometric_row": [[662, "range-geometric-row"]], "read_csv_to_dictionary": [[663, "read-csv-to-dictionary"]], "read_data_from_pickle": [[664, "read-data-from-pickle"]], "sign": [[665, "sign"]], "write_data_to_pickle": [[666, "write-data-to-pickle"]], "Citing": [[667, "citing"]], "Authors": [[667, "authors"]], "Working with backends": [[668, "working-with-backends"]], "Installing backends": [[668, "installing-backends"]], "Installing Docker": [[668, "installing-docker"]], "Working with containers": [[668, "working-with-containers"]], "Developing new backends": [[668, "developing-new-backends"]], "Next steps": [[668, "next-steps"]], "Next Steps": [[669, "next-steps"], [670, "next-steps"], [799, "next-steps"]], "ROS on Docker": [[670, "ros-on-docker"]], "Complete ROS systems": [[670, "complete-ros-systems"]], "ROS on Linux": [[670, "ros-on-linux"]], "ROS on WSL": [[670, "ros-on-wsl"]], "Access backend GUI": [[671, "access-backend-gui"]], "Visualization over web browser": [[671, "visualization-over-web-browser"]], "Visualization forwarding display": [[671, "visualization-forwarding-display"]], "CHANGELOG": [[672, "changelog"]], "Contributor\u2019s Guide": [[673, "contributor-s-guide"]], "Code contributions": [[673, "code-contributions"]], "Documentation improvements": [[673, "documentation-improvements"]], "Bug reports": [[673, "bug-reports"]], "Feature requests and feedback": [[673, "feature-requests-and-feedback"]], "Design documents": [[673, "design-documents"]], "Backend clients": [[674, "backend-clients"]], "Backend interfaces": [[674, "module-compas_fab.backends.interfaces"]], "Client interfaces": [[674, "client-interfaces"]], "Feature interfaces": [[674, "feature-interfaces"]], "Planning scene interfaces": [[674, "planning-scene-interfaces"]], "Implemented backend features": [[674, "implemented-backend-features"]], "ROS backend features": [[674, "ros-backend-features"]], "PyBullet backend features": [[674, "pybullet-backend-features"]], "AddAttachedCollisionMesh": [[675, "addattachedcollisionmesh"]], "AddAttachedCollisionMesh.add_attached_collision_mesh": [[676, "addattachedcollisionmesh-add-attached-collision-mesh"]], "AddCollisionMesh": [[677, "addcollisionmesh"]], "AddCollisionMesh.add_collision_mesh": [[678, "addcollisionmesh-add-collision-mesh"]], "AppendCollisionMesh": [[679, "appendcollisionmesh"]], "AppendCollisionMesh.append_collision_mesh": [[680, "appendcollisionmesh-append-collision-mesh"]], "BackendFeature": [[681, "backendfeature"]], "ClientInterface": [[682, "clientinterface"]], "ClientInterface.add_attached_collision_mesh": [[683, "clientinterface-add-attached-collision-mesh"]], "ClientInterface.add_collision_mesh": [[684, "clientinterface-add-collision-mesh"]], "ClientInterface.append_collision_mesh": [[685, "clientinterface-append-collision-mesh"]], "ClientInterface.forward_kinematics": [[686, "clientinterface-forward-kinematics"]], "ClientInterface.get_planning_scene": [[687, "clientinterface-get-planning-scene"]], "ClientInterface.inverse_kinematics": [[688, "clientinterface-inverse-kinematics"]], "ClientInterface.plan_cartesian_motion": [[689, "clientinterface-plan-cartesian-motion"]], "ClientInterface.plan_motion": [[690, "clientinterface-plan-motion"]], "ClientInterface.remove_attached_collision_mesh": [[691, "clientinterface-remove-attached-collision-mesh"]], "ClientInterface.remove_collision_mesh": [[692, "clientinterface-remove-collision-mesh"]], "ClientInterface.reset_planning_scene": [[693, "clientinterface-reset-planning-scene"]], "ForwardKinematics": [[694, "forwardkinematics"]], "ForwardKinematics.forward_kinematics": [[695, "forwardkinematics-forward-kinematics"]], "GetPlanningScene": [[696, "getplanningscene"]], "GetPlanningScene.get_planning_scene": [[697, "getplanningscene-get-planning-scene"]], "InverseKinematics": [[698, "inversekinematics"]], "InverseKinematics.inverse_kinematics": [[699, "inversekinematics-inverse-kinematics"]], "PlanCartesianMotion": [[700, "plancartesianmotion"]], "PlanCartesianMotion.plan_cartesian_motion": [[701, "plancartesianmotion-plan-cartesian-motion"]], "PlanMotion": [[702, "planmotion"]], "PlanMotion.plan_motion": [[703, "planmotion-plan-motion"]], "PlannerInterface": [[704, "plannerinterface"]], "PlannerInterface.add_attached_collision_mesh": [[705, "plannerinterface-add-attached-collision-mesh"]], "PlannerInterface.add_collision_mesh": [[706, "plannerinterface-add-collision-mesh"]], "PlannerInterface.append_collision_mesh": [[707, "plannerinterface-append-collision-mesh"]], "PlannerInterface.forward_kinematics": [[708, "plannerinterface-forward-kinematics"]], "PlannerInterface.get_planning_scene": [[709, "plannerinterface-get-planning-scene"]], "PlannerInterface.inverse_kinematics": [[710, "plannerinterface-inverse-kinematics"]], "PlannerInterface.plan_cartesian_motion": [[711, "plannerinterface-plan-cartesian-motion"]], "PlannerInterface.plan_motion": [[712, "plannerinterface-plan-motion"]], "PlannerInterface.remove_attached_collision_mesh": [[713, "plannerinterface-remove-attached-collision-mesh"]], "PlannerInterface.remove_collision_mesh": [[714, "plannerinterface-remove-collision-mesh"]], "PlannerInterface.reset_planning_scene": [[715, "plannerinterface-reset-planning-scene"]], "RemoveAttachedCollisionMesh": [[716, "removeattachedcollisionmesh"]], "RemoveAttachedCollisionMesh.remove_attached_collision_mesh": [[717, "removeattachedcollisionmesh-remove-attached-collision-mesh"]], "RemoveCollisionMesh": [[718, "removecollisionmesh"]], "RemoveCollisionMesh.remove_collision_mesh": [[719, "removecollisionmesh-remove-collision-mesh"]], "ResetPlanningScene": [[720, "resetplanningscene"]], "ResetPlanningScene.reset_planning_scene": [[721, "resetplanningscene-reset-planning-scene"]], "PyBulletAddAttachedCollisionMesh": [[722, "pybulletaddattachedcollisionmesh"]], "PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh": [[723, "pybulletaddattachedcollisionmesh-add-attached-collision-mesh"]], "PyBulletAddCollisionMesh": [[724, "pybulletaddcollisionmesh"]], "PyBulletAddCollisionMesh.add_collision_mesh": [[725, "pybulletaddcollisionmesh-add-collision-mesh"]], "PyBulletAppendCollisionMesh": [[726, "pybulletappendcollisionmesh"]], "PyBulletAppendCollisionMesh.append_collision_mesh": [[727, "pybulletappendcollisionmesh-append-collision-mesh"]], "PyBulletForwardKinematics": [[728, "pybulletforwardkinematics"]], "PyBulletForwardKinematics.forward_kinematics": [[729, "pybulletforwardkinematics-forward-kinematics"]], "PyBulletInverseKinematics": [[730, "pybulletinversekinematics"]], "PyBulletInverseKinematics.inverse_kinematics": [[731, "pybulletinversekinematics-inverse-kinematics"]], "PyBulletRemoveAttachedCollisionMesh": [[732, "pybulletremoveattachedcollisionmesh"]], "PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh": [[733, "pybulletremoveattachedcollisionmesh-remove-attached-collision-mesh"]], "PyBulletRemoveCollisionMesh": [[734, "pybulletremovecollisionmesh"]], "PyBulletRemoveCollisionMesh.remove_collision_mesh": [[735, "pybulletremovecollisionmesh-remove-collision-mesh"]], "MoveItAddAttachedCollisionMesh": [[736, "moveitaddattachedcollisionmesh"]], "MoveItAddAttachedCollisionMesh.add_attached_collision_mesh": [[737, "moveitaddattachedcollisionmesh-add-attached-collision-mesh"]], "MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async": [[738, "moveitaddattachedcollisionmesh-add-attached-collision-mesh-async"]], "MoveItAddCollisionMesh": [[739, "moveitaddcollisionmesh"]], "MoveItAddCollisionMesh.add_collision_mesh": [[740, "moveitaddcollisionmesh-add-collision-mesh"]], "MoveItAddCollisionMesh.add_collision_mesh_async": [[741, "moveitaddcollisionmesh-add-collision-mesh-async"]], "MoveItAppendCollisionMesh": [[742, "moveitappendcollisionmesh"]], "MoveItAppendCollisionMesh.append_collision_mesh": [[743, "moveitappendcollisionmesh-append-collision-mesh"]], "MoveItAppendCollisionMesh.append_collision_mesh_async": [[744, "moveitappendcollisionmesh-append-collision-mesh-async"]], "MoveItForwardKinematics": [[745, "moveitforwardkinematics"]], "MoveItForwardKinematics.forward_kinematics": [[746, "moveitforwardkinematics-forward-kinematics"]], "MoveItForwardKinematics.forward_kinematics_async": [[747, "moveitforwardkinematics-forward-kinematics-async"]], "MoveItInverseKinematics": [[748, "moveitinversekinematics"]], "MoveItInverseKinematics.inverse_kinematics": [[749, "moveitinversekinematics-inverse-kinematics"]], "MoveItInverseKinematics.inverse_kinematics_async": [[750, "moveitinversekinematics-inverse-kinematics-async"]], "MoveItPlanCartesianMotion": [[751, "moveitplancartesianmotion"]], "MoveItPlanCartesianMotion.plan_cartesian_motion": [[752, "moveitplancartesianmotion-plan-cartesian-motion"]], "MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async": [[753, "moveitplancartesianmotion-plan-cartesian-motion-with-frame-waypoints-async"]], "MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async": [[754, "moveitplancartesianmotion-plan-cartesian-motion-with-point-axis-waypoints-async"]], "MoveItPlanMotion": [[755, "moveitplanmotion"]], "MoveItPlanMotion.plan_motion": [[756, "moveitplanmotion-plan-motion"]], "MoveItPlanMotion.plan_motion_async": [[757, "moveitplanmotion-plan-motion-async"]], "MoveItPlanningScene": [[758, "moveitplanningscene"]], "MoveItPlanningScene.get_planning_scene": [[759, "moveitplanningscene-get-planning-scene"]], "MoveItPlanningScene.get_planning_scene_async": [[760, "moveitplanningscene-get-planning-scene-async"]], "MoveItRemoveAttachedCollisionMesh": [[761, "moveitremoveattachedcollisionmesh"]], "MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh": [[762, "moveitremoveattachedcollisionmesh-remove-attached-collision-mesh"]], "MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async": [[763, "moveitremoveattachedcollisionmesh-remove-attached-collision-mesh-async"]], "MoveItRemoveCollisionMesh": [[764, "moveitremovecollisionmesh"]], "MoveItRemoveCollisionMesh.remove_collision_mesh": [[765, "moveitremovecollisionmesh-remove-collision-mesh"]], "MoveItRemoveCollisionMesh.remove_collision_mesh_async": [[766, "moveitremovecollisionmesh-remove-collision-mesh-async"]], "MoveItResetPlanningScene": [[767, "moveitresetplanningscene"]], "MoveItResetPlanningScene.reset_planning_scene": [[768, "moveitresetplanningscene-reset-planning-scene"]], "MoveItResetPlanningScene.reset_planning_scene_async": [[769, "moveitresetplanningscene-reset-planning-scene-async"]], "Grasshopper components": [[770, "grasshopper-components"]], "Examples": [[771, "examples"]], "Robotic fabrication examples": [[771, "robotic-fabrication-examples"]], "Fundamentals": [[772, "fundamentals"]], "Frame and Transformation": [[773, "frame-and-transformation"]], "Further information": [[773, "further-information"]], "Coordinate frames": [[774, "coordinate-frames"]], "World coordinate frame (WCF)": [[774, "world-coordinate-frame-wcf"]], "Robot coordinate frame (RCF)": [[774, "robot-coordinate-frame-rcf"]], "Tool0 coordinate frame (T0CF)": [[774, "tool0-coordinate-frame-t0cf"]], "Tool coordinate frame (TCF)": [[774, "tool-coordinate-frame-tcf"]], "Object coordinate frame (OCF)": [[774, "object-coordinate-frame-ocf"]], "Example": [[774, "example"]], "Links": [[774, "links"], [776, "links"], [776, "id2"], [794, "links"], [796, "links"]], "Description Models": [[775, "description-models"]], "Kinematic model": [[776, "kinematic-model"]], "Joints": [[776, "joints"]], "Robot models": [[777, "robot-models"]], "Loading model from disk": [[777, "loading-model-from-disk"]], "Loading model from Github": [[777, "loading-model-from-github"]], "Loading model from ROS": [[777, "loading-model-from-ros"]], "Visualizing robot models": [[777, "visualizing-robot-models"]], "RobotModel Packages": [[778, "robotmodel-packages"]], "Robot Packages": [[778, "id1"]], "Origin of the packages": [[778, "origin-of-the-packages"]], "Targets (Single Goal)": [[779, "targets-single-goal"]], "Waypoints (Multiple Points / Segments)": [[779, "waypoints-multiple-points-segments"]], "Backends: ROS": [[780, "backends-ros"]], "Using ROS": [[781, "using-ros"]], "First step": [[781, "first-step"]], "Hello World": [[781, "hello-world"]], "Writing the talker node": [[781, "writing-the-talker-node"]], "Writing the listener node": [[781, "writing-the-listener-node"]], "Running the example": [[781, "running-the-example"]], "Robots in ROS": [[782, "robots-in-ros"]], "Load model from ROS": [[782, "load-model-from-ros"]], "Forward and inverse kinematics": [[783, "forward-and-inverse-kinematics"], [792, "forward-and-inverse-kinematics"]], "Forward kinematics": [[783, "forward-kinematics"], [792, "forward-kinematics"]], "Inverse kinematics": [[783, "inverse-kinematics"], [792, "inverse-kinematics"], [794, "inverse-kinematics"]], "Plan motion": [[784, "plan-motion"], [784, "id1"]], "Plan cartesian motion": [[784, "plan-cartesian-motion"]], "Planning scene and collision objects": [[785, "planning-scene-and-collision-objects"]], "1. Non-attached Collision meshes": [[785, "non-attached-collision-meshes"]], "Add/remove a single mesh": [[785, "add-remove-a-single-mesh"]], "Add/remove several meshes": [[785, "add-remove-several-meshes"]], "2. Attached collision meshes": [[785, "attached-collision-meshes"]], "Attach end-effector": [[785, "attach-end-effector"]], "Grasshopper example": [[785, "grasshopper-example"]], "ROS in Grasshopper": [[786, "ros-in-grasshopper"]], "Grasshopper playground": [[786, "grasshopper-playground"]], "Grasshopper Components": [[786, "grasshopper-components"]], "Creating a URDF with an UR5 robot and a custom end-effector": [[787, "creating-a-urdf-with-an-ur5-robot-and-a-custom-end-effector"]], "Export your meshes": [[787, "export-your-meshes"]], "Prepare your catkin workspace": [[787, "prepare-your-catkin-workspace"], [789, "prepare-your-catkin-workspace"]], "Create xacros and generate urdf": [[787, "create-xacros-and-generate-urdf"], [789, "create-xacros-and-generate-urdf"]], "Explanation": [[787, "explanation"]], "View urdf": [[787, "view-urdf"], [789, "view-urdf"]], "Add path to search paths": [[787, "add-path-to-search-paths"]], "Further links": [[787, "further-links"], [788, "further-links"], [789, "further-links"]], "Creating a MoveIt! package from the custom created URDF": [[788, "creating-a-moveit-package-from-the-custom-created-urdf"]], "Start the MoveIt! Setup Assistant": [[788, "start-the-moveit-setup-assistant"]], "Generate Self-Collision Matrix": [[788, "generate-self-collision-matrix"]], "Add Virtual Joints": [[788, "add-virtual-joints"]], "Add Planning Groups": [[788, "add-planning-groups"]], "Add the arm": [[788, "add-the-arm"]], "Add the gripper": [[788, "add-the-gripper"]], "Add Robot Poses": [[788, "add-robot-poses"]], "Label End-Effectors": [[788, "label-end-effectors"]], "Add Passive Joints": [[788, "add-passive-joints"]], "Add Author Information": [[788, "add-author-information"]], "Generate Configuration Files": [[788, "generate-configuration-files"]], "Start the newly generated MoveIt! Configuration": [[788, "start-the-newly-generated-moveit-configuration"]], "Creating a URDF of the UR10 on two linear axes": [[789, "creating-a-urdf-of-the-ur10-on-two-linear-axes"]], "Export meshes": [[789, "export-meshes"]], "tower.xacro": [[789, "tower-xacro"]], "Explanation:": [[789, "explanation"], [789, "id1"]], "ur10_tower.xacro": [[789, "ur10-tower-xacro"]], "Create URDF": [[789, "create-urdf"]], "Backends: PyBullet": [[790, "backends-pybullet"]], "Using PyBullet": [[791, "using-pybullet"]], "First Step": [[791, "first-step"]], "Backends: Analytical Kinematics": [[793, "backends-analytical-kinematics"]], "Analytical kinematics": [[794, "analytical-kinematics"]], "Planning: Reachability Map": [[795, "planning-reachability-map"]], "Introduction to the Reachability Map": [[796, "introduction-to-the-reachability-map"]], "Example 01: reachability map 1D": [[796, "example-01-reachability-map-1d"]], "Visualization": [[796, "visualization"]], "Projects where the reachability map was applied": [[796, "projects-where-the-reachability-map-was-applied"]], "Adaptive Detailing": [[796, "id1"]], "Robotic 360\u00b0 Light Painting Workshop": [[796, "id2"]], "Vector Generators": [[797, "vector-generators"]], "Generate orthonormal vectors from an axis": [[797, "generate-orthonormal-vectors-from-an-axis"]], "Generate vectors that deviate": [[797, "generate-vectors-that-deviate"]], "Generate frames": [[797, "generate-frames"]], "Reachability Map 2D": [[798, "reachability-map-2d"]], "Example 02: reachability map 2D with deviation vectors": [[798, "example-02-reachability-map-2d-with-deviation-vectors"]], "Example 03: reachability map 2D with sphere points": [[798, "example-03-reachability-map-2d-with-sphere-points"]], "Getting started": [[799, "getting-started"]], "Install with conda": [[799, "install-with-conda"]], "Installation options": [[799, "installation-options"]], "Install with pip": [[799, "install-with-pip"]], "Update with conda": [[799, "update-with-conda"]], "Update with pip": [[799, "update-with-pip"]], "Working in Rhino": [[799, "working-in-rhino"]], "Working in Blender": [[799, "working-in-blender"]], "Working in Visual Studio Code": [[799, "working-in-visual-studio-code"]], "Run scripts": [[799, "run-scripts"]], "Virtual environments": [[799, "virtual-environments"]], "Robotic Fabrication for COMPAS": [[800, "robotic-fabrication-for-compas"]], "Main features": [[800, "main-features"]], "Contents": [[800, "contents"]], "Indices and tables": [[800, "indices-and-tables"]], "License": [[801, "license"]]}, "indexentries": {"compas_fab": [[1, "module-compas_fab"]], "module": [[1, "module-compas_fab"], [2, "module-compas_fab.backends"], [3, "module-compas_fab.blender"], [4, "module-compas_fab.ghpython"], [5, "module-compas_fab.rhino"], [6, "module-compas_fab.robots"], [7, "module-compas_fab.sensors"], [8, "module-compas_fab.utilities"], [674, "module-compas_fab.backends.interfaces"], [674, "module-compas_fab.backends.pybullet.backend_features"], [674, "module-compas_fab.backends.ros.backend_features"]], "compas_fab.backends": [[2, "module-compas_fab.backends"]], "compas_fab.blender": [[3, "module-compas_fab.blender"]], "compas_fab.ghpython": [[4, "module-compas_fab.ghpython"]], "compas_fab.rhino": [[5, "module-compas_fab.rhino"]], "compas_fab.robots": [[6, "module-compas_fab.robots"]], "compas_fab.sensors": [[7, "module-compas_fab.sensors"]], "compas_fab.utilities": [[8, "module-compas_fab.utilities"]], "abb_irb4600_40_255kinematics (class in compas_fab.backends)": [[9, "compas_fab.backends.ABB_IRB4600_40_255Kinematics"]], "forward() (compas_fab.backends.abb_irb4600_40_255kinematics method)": [[10, "compas_fab.backends.ABB_IRB4600_40_255Kinematics.forward"]], "inverse() (compas_fab.backends.abb_irb4600_40_255kinematics method)": [[11, "compas_fab.backends.ABB_IRB4600_40_255Kinematics.inverse"]], "analyticalinversekinematics (class in compas_fab.backends)": [[12, "compas_fab.backends.AnalyticalInverseKinematics"]], "inverse_kinematics() (compas_fab.backends.analyticalinversekinematics method)": [[13, "compas_fab.backends.AnalyticalInverseKinematics.inverse_kinematics"]], "analyticalplancartesianmotion (class in compas_fab.backends)": [[14, "compas_fab.backends.AnalyticalPlanCartesianMotion"]], "plan_cartesian_motion() (compas_fab.backends.analyticalplancartesianmotion method)": [[15, "compas_fab.backends.AnalyticalPlanCartesianMotion.plan_cartesian_motion"]], "smooth_configurations() (compas_fab.backends.analyticalplancartesianmotion method)": [[16, "compas_fab.backends.AnalyticalPlanCartesianMotion.smooth_configurations"]], "analyticalpybulletclient (class in compas_fab.backends)": [[17, "compas_fab.backends.AnalyticalPyBulletClient"]], "add_attached_collision_mesh() (compas_fab.backends.analyticalpybulletclient method)": [[18, "compas_fab.backends.AnalyticalPyBulletClient.add_attached_collision_mesh"]], "add_collision_mesh() (compas_fab.backends.analyticalpybulletclient method)": [[19, "compas_fab.backends.AnalyticalPyBulletClient.add_collision_mesh"]], "append_collision_mesh() (compas_fab.backends.analyticalpybulletclient method)": [[20, "compas_fab.backends.AnalyticalPyBulletClient.append_collision_mesh"]], "body_from_obj() (compas_fab.backends.analyticalpybulletclient method)": [[21, "compas_fab.backends.AnalyticalPyBulletClient.body_from_obj"]], "cache_robot_model() (compas_fab.backends.analyticalpybulletclient method)": [[22, "compas_fab.backends.AnalyticalPyBulletClient.cache_robot_model"]], "check_collision_objects_for_collision() (compas_fab.backends.analyticalpybulletclient method)": [[23, "compas_fab.backends.AnalyticalPyBulletClient.check_collision_objects_for_collision"]], "check_collision_with_objects() (compas_fab.backends.analyticalpybulletclient method)": [[24, "compas_fab.backends.AnalyticalPyBulletClient.check_collision_with_objects"]], "check_collisions() (compas_fab.backends.analyticalpybulletclient method)": [[25, "compas_fab.backends.AnalyticalPyBulletClient.check_collisions"]], "check_robot_self_collision() (compas_fab.backends.analyticalpybulletclient method)": [[26, "compas_fab.backends.AnalyticalPyBulletClient.check_robot_self_collision"]], "connect() (compas_fab.backends.analyticalpybulletclient method)": [[27, "compas_fab.backends.AnalyticalPyBulletClient.connect"]], "convert_mesh_to_body() (compas_fab.backends.analyticalpybulletclient method)": [[28, "compas_fab.backends.AnalyticalPyBulletClient.convert_mesh_to_body"]], "disconnect() (compas_fab.backends.analyticalpybulletclient method)": [[29, "compas_fab.backends.AnalyticalPyBulletClient.disconnect"]], "ensure_cached_robot_model() (compas_fab.backends.analyticalpybulletclient static method)": [[30, "compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model"]], "ensure_cached_robot_model_geometry() (compas_fab.backends.analyticalpybulletclient static method)": [[31, "compas_fab.backends.AnalyticalPyBulletClient.ensure_cached_robot_model_geometry"]], "filter_configurations_in_collision() (compas_fab.backends.analyticalpybulletclient method)": [[32, "compas_fab.backends.AnalyticalPyBulletClient.filter_configurations_in_collision"]], "forward_kinematics() (compas_fab.backends.analyticalpybulletclient method)": [[33, "compas_fab.backends.AnalyticalPyBulletClient.forward_kinematics"]], "get_cached_robot_filepath() (compas_fab.backends.analyticalpybulletclient method)": [[34, "compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_filepath"]], "get_cached_robot_model() (compas_fab.backends.analyticalpybulletclient method)": [[35, "compas_fab.backends.AnalyticalPyBulletClient.get_cached_robot_model"]], "get_planning_scene() (compas_fab.backends.analyticalpybulletclient method)": [[36, "compas_fab.backends.AnalyticalPyBulletClient.get_planning_scene"]], "get_robot_configuration() (compas_fab.backends.analyticalpybulletclient method)": [[37, "compas_fab.backends.AnalyticalPyBulletClient.get_robot_configuration"]], "get_uid() (compas_fab.backends.analyticalpybulletclient method)": [[38, "compas_fab.backends.AnalyticalPyBulletClient.get_uid"]], "inverse_kinematics() (compas_fab.backends.analyticalpybulletclient method)": [[39, "compas_fab.backends.AnalyticalPyBulletClient.inverse_kinematics"]], "load_robot() (compas_fab.backends.analyticalpybulletclient method)": [[40, "compas_fab.backends.AnalyticalPyBulletClient.load_robot"]], "load_semantics() (compas_fab.backends.analyticalpybulletclient method)": [[41, "compas_fab.backends.AnalyticalPyBulletClient.load_semantics"]], "load_ur5() (compas_fab.backends.analyticalpybulletclient method)": [[42, "compas_fab.backends.AnalyticalPyBulletClient.load_ur5"]], "plan_cartesian_motion() (compas_fab.backends.analyticalpybulletclient method)": [[43, "compas_fab.backends.AnalyticalPyBulletClient.plan_cartesian_motion"]], "plan_motion() (compas_fab.backends.analyticalpybulletclient method)": [[44, "compas_fab.backends.AnalyticalPyBulletClient.plan_motion"]], "reload_from_cache() (compas_fab.backends.analyticalpybulletclient method)": [[45, "compas_fab.backends.AnalyticalPyBulletClient.reload_from_cache"]], "remove_attached_collision_mesh() (compas_fab.backends.analyticalpybulletclient method)": [[46, "compas_fab.backends.AnalyticalPyBulletClient.remove_attached_collision_mesh"]], "remove_collision_mesh() (compas_fab.backends.analyticalpybulletclient method)": [[47, "compas_fab.backends.AnalyticalPyBulletClient.remove_collision_mesh"]], "reset_planning_scene() (compas_fab.backends.analyticalpybulletclient method)": [[48, "compas_fab.backends.AnalyticalPyBulletClient.reset_planning_scene"]], "set_robot_configuration() (compas_fab.backends.analyticalpybulletclient method)": [[49, "compas_fab.backends.AnalyticalPyBulletClient.set_robot_configuration"]], "step_simulation() (compas_fab.backends.analyticalpybulletclient method)": [[50, "compas_fab.backends.AnalyticalPyBulletClient.step_simulation"]], "backenderror": [[51, "compas_fab.backends.BackendError"]], "backendfeaturenotsupportederror": [[52, "compas_fab.backends.BackendFeatureNotSupportedError"]], "cancellablefutureresult (class in compas_fab.backends)": [[53, "compas_fab.backends.CancellableFutureResult"]], "cancel() (compas_fab.backends.cancellablefutureresult method)": [[54, "compas_fab.backends.CancellableFutureResult.cancel"]], "result() (compas_fab.backends.cancellablefutureresult method)": [[55, "compas_fab.backends.CancellableFutureResult.result"]], "cartesianmotionerror": [[56, "compas_fab.backends.CartesianMotionError"]], "collisionerror": [[57, "compas_fab.backends.CollisionError"]], "futureresult (class in compas_fab.backends)": [[58, "compas_fab.backends.FutureResult"]], "result() (compas_fab.backends.futureresult method)": [[59, "compas_fab.backends.FutureResult.result"]], "inversekinematicserror": [[60, "compas_fab.backends.InverseKinematicsError"]], "kinematicserror": [[61, "compas_fab.backends.KinematicsError"]], "moveitplanner (class in compas_fab.backends)": [[62, "compas_fab.backends.MoveItPlanner"]], "add_attached_collision_mesh() (compas_fab.backends.moveitplanner method)": [[63, "compas_fab.backends.MoveItPlanner.add_attached_collision_mesh"]], "add_attached_collision_mesh_async() (compas_fab.backends.moveitplanner method)": [[64, "compas_fab.backends.MoveItPlanner.add_attached_collision_mesh_async"]], "add_collision_mesh() (compas_fab.backends.moveitplanner method)": [[65, "compas_fab.backends.MoveItPlanner.add_collision_mesh"]], "add_collision_mesh_async() (compas_fab.backends.moveitplanner method)": [[66, "compas_fab.backends.MoveItPlanner.add_collision_mesh_async"]], "append_collision_mesh() (compas_fab.backends.moveitplanner method)": [[67, "compas_fab.backends.MoveItPlanner.append_collision_mesh"]], "append_collision_mesh_async() (compas_fab.backends.moveitplanner method)": [[68, "compas_fab.backends.MoveItPlanner.append_collision_mesh_async"]], "forward_kinematics() (compas_fab.backends.moveitplanner method)": [[69, "compas_fab.backends.MoveItPlanner.forward_kinematics"]], "forward_kinematics_async() (compas_fab.backends.moveitplanner method)": [[70, "compas_fab.backends.MoveItPlanner.forward_kinematics_async"]], "get_planning_scene() (compas_fab.backends.moveitplanner method)": [[71, "compas_fab.backends.MoveItPlanner.get_planning_scene"]], "get_planning_scene_async() (compas_fab.backends.moveitplanner method)": [[72, "compas_fab.backends.MoveItPlanner.get_planning_scene_async"]], "inverse_kinematics() (compas_fab.backends.moveitplanner method)": [[73, "compas_fab.backends.MoveItPlanner.inverse_kinematics"]], "inverse_kinematics_async() (compas_fab.backends.moveitplanner method)": [[74, "compas_fab.backends.MoveItPlanner.inverse_kinematics_async"]], "plan_cartesian_motion() (compas_fab.backends.moveitplanner method)": [[75, "compas_fab.backends.MoveItPlanner.plan_cartesian_motion"]], "plan_cartesian_motion_with_frame_waypoints_async() (compas_fab.backends.moveitplanner method)": [[76, "compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_frame_waypoints_async"]], "plan_cartesian_motion_with_point_axis_waypoints_async() (compas_fab.backends.moveitplanner method)": [[77, "compas_fab.backends.MoveItPlanner.plan_cartesian_motion_with_point_axis_waypoints_async"]], "plan_motion() (compas_fab.backends.moveitplanner method)": [[78, "compas_fab.backends.MoveItPlanner.plan_motion"]], "plan_motion_async() (compas_fab.backends.moveitplanner method)": [[79, "compas_fab.backends.MoveItPlanner.plan_motion_async"]], "remove_attached_collision_mesh() (compas_fab.backends.moveitplanner method)": [[80, "compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh"]], "remove_attached_collision_mesh_async() (compas_fab.backends.moveitplanner method)": [[81, "compas_fab.backends.MoveItPlanner.remove_attached_collision_mesh_async"]], "remove_collision_mesh() (compas_fab.backends.moveitplanner method)": [[82, "compas_fab.backends.MoveItPlanner.remove_collision_mesh"]], "remove_collision_mesh_async() (compas_fab.backends.moveitplanner method)": [[83, "compas_fab.backends.MoveItPlanner.remove_collision_mesh_async"]], "reset_planning_scene() (compas_fab.backends.moveitplanner method)": [[84, "compas_fab.backends.MoveItPlanner.reset_planning_scene"]], "reset_planning_scene_async() (compas_fab.backends.moveitplanner method)": [[85, "compas_fab.backends.MoveItPlanner.reset_planning_scene_async"]], "offsetwristkinematics (class in compas_fab.backends)": [[86, "compas_fab.backends.OffsetWristKinematics"]], "forward() (compas_fab.backends.offsetwristkinematics method)": [[87, "compas_fab.backends.OffsetWristKinematics.forward"]], "inverse() (compas_fab.backends.offsetwristkinematics method)": [[88, "compas_fab.backends.OffsetWristKinematics.inverse"]], "pybulletclient (class in compas_fab.backends)": [[89, "compas_fab.backends.PyBulletClient"]], "add_attached_collision_mesh() (compas_fab.backends.pybulletclient method)": [[90, "compas_fab.backends.PyBulletClient.add_attached_collision_mesh"]], "add_collision_mesh() (compas_fab.backends.pybulletclient method)": [[91, "compas_fab.backends.PyBulletClient.add_collision_mesh"]], "append_collision_mesh() (compas_fab.backends.pybulletclient method)": [[92, "compas_fab.backends.PyBulletClient.append_collision_mesh"]], "body_from_obj() (compas_fab.backends.pybulletclient method)": [[93, "compas_fab.backends.PyBulletClient.body_from_obj"]], "cache_robot_model() (compas_fab.backends.pybulletclient method)": [[94, "compas_fab.backends.PyBulletClient.cache_robot_model"]], "check_collision_objects_for_collision() (compas_fab.backends.pybulletclient method)": [[95, "compas_fab.backends.PyBulletClient.check_collision_objects_for_collision"]], "check_collision_with_objects() (compas_fab.backends.pybulletclient method)": [[96, "compas_fab.backends.PyBulletClient.check_collision_with_objects"]], "check_collisions() (compas_fab.backends.pybulletclient method)": [[97, "compas_fab.backends.PyBulletClient.check_collisions"]], "check_robot_self_collision() (compas_fab.backends.pybulletclient method)": [[98, "compas_fab.backends.PyBulletClient.check_robot_self_collision"]], "connect() (compas_fab.backends.pybulletclient method)": [[99, "compas_fab.backends.PyBulletClient.connect"]], "convert_mesh_to_body() (compas_fab.backends.pybulletclient method)": [[100, "compas_fab.backends.PyBulletClient.convert_mesh_to_body"]], "disconnect() (compas_fab.backends.pybulletclient method)": [[101, "compas_fab.backends.PyBulletClient.disconnect"]], "ensure_cached_robot_model() (compas_fab.backends.pybulletclient static method)": [[102, "compas_fab.backends.PyBulletClient.ensure_cached_robot_model"]], "ensure_cached_robot_model_geometry() (compas_fab.backends.pybulletclient static method)": [[103, "compas_fab.backends.PyBulletClient.ensure_cached_robot_model_geometry"]], "filter_configurations_in_collision() (compas_fab.backends.pybulletclient method)": [[104, "compas_fab.backends.PyBulletClient.filter_configurations_in_collision"]], "forward_kinematics() (compas_fab.backends.pybulletclient method)": [[105, "compas_fab.backends.PyBulletClient.forward_kinematics"]], "get_cached_robot_filepath() (compas_fab.backends.pybulletclient method)": [[106, "compas_fab.backends.PyBulletClient.get_cached_robot_filepath"]], "get_cached_robot_model() (compas_fab.backends.pybulletclient method)": [[107, "compas_fab.backends.PyBulletClient.get_cached_robot_model"]], "get_planning_scene() (compas_fab.backends.pybulletclient method)": [[108, "compas_fab.backends.PyBulletClient.get_planning_scene"]], "get_robot_configuration() (compas_fab.backends.pybulletclient method)": [[109, "compas_fab.backends.PyBulletClient.get_robot_configuration"]], "get_uid() (compas_fab.backends.pybulletclient method)": [[110, "compas_fab.backends.PyBulletClient.get_uid"]], "inverse_kinematics() (compas_fab.backends.pybulletclient method)": [[111, "compas_fab.backends.PyBulletClient.inverse_kinematics"]], "load_robot() (compas_fab.backends.pybulletclient method)": [[112, "compas_fab.backends.PyBulletClient.load_robot"]], "load_semantics() (compas_fab.backends.pybulletclient method)": [[113, "compas_fab.backends.PyBulletClient.load_semantics"]], "load_ur5() (compas_fab.backends.pybulletclient method)": [[114, "compas_fab.backends.PyBulletClient.load_ur5"]], "plan_cartesian_motion() (compas_fab.backends.pybulletclient method)": [[115, "compas_fab.backends.PyBulletClient.plan_cartesian_motion"]], "plan_motion() (compas_fab.backends.pybulletclient method)": [[116, "compas_fab.backends.PyBulletClient.plan_motion"]], "reload_from_cache() (compas_fab.backends.pybulletclient method)": [[117, "compas_fab.backends.PyBulletClient.reload_from_cache"]], "remove_attached_collision_mesh() (compas_fab.backends.pybulletclient method)": [[118, "compas_fab.backends.PyBulletClient.remove_attached_collision_mesh"]], "remove_collision_mesh() (compas_fab.backends.pybulletclient method)": [[119, "compas_fab.backends.PyBulletClient.remove_collision_mesh"]], "reset_planning_scene() (compas_fab.backends.pybulletclient method)": [[120, "compas_fab.backends.PyBulletClient.reset_planning_scene"]], "set_robot_configuration() (compas_fab.backends.pybulletclient method)": [[121, "compas_fab.backends.PyBulletClient.set_robot_configuration"]], "step_simulation() (compas_fab.backends.pybulletclient method)": [[122, "compas_fab.backends.PyBulletClient.step_simulation"]], "pybulleterror": [[123, "compas_fab.backends.PyBulletError"]], "pybulletplanner (class in compas_fab.backends)": [[124, "compas_fab.backends.PyBulletPlanner"]], "add_attached_collision_mesh() (compas_fab.backends.pybulletplanner method)": [[125, "compas_fab.backends.PyBulletPlanner.add_attached_collision_mesh"]], "add_collision_mesh() (compas_fab.backends.pybulletplanner method)": [[126, "compas_fab.backends.PyBulletPlanner.add_collision_mesh"]], "append_collision_mesh() (compas_fab.backends.pybulletplanner method)": [[127, "compas_fab.backends.PyBulletPlanner.append_collision_mesh"]], "forward_kinematics() (compas_fab.backends.pybulletplanner method)": [[128, "compas_fab.backends.PyBulletPlanner.forward_kinematics"]], "get_planning_scene() (compas_fab.backends.pybulletplanner method)": [[129, "compas_fab.backends.PyBulletPlanner.get_planning_scene"]], "inverse_kinematics() (compas_fab.backends.pybulletplanner method)": [[130, "compas_fab.backends.PyBulletPlanner.inverse_kinematics"]], "plan_cartesian_motion() (compas_fab.backends.pybulletplanner method)": [[131, "compas_fab.backends.PyBulletPlanner.plan_cartesian_motion"]], "plan_motion() (compas_fab.backends.pybulletplanner method)": [[132, "compas_fab.backends.PyBulletPlanner.plan_motion"]], "remove_attached_collision_mesh() (compas_fab.backends.pybulletplanner method)": [[133, "compas_fab.backends.PyBulletPlanner.remove_attached_collision_mesh"]], "remove_collision_mesh() (compas_fab.backends.pybulletplanner method)": [[134, "compas_fab.backends.PyBulletPlanner.remove_collision_mesh"]], "reset_planning_scene() (compas_fab.backends.pybulletplanner method)": [[135, "compas_fab.backends.PyBulletPlanner.reset_planning_scene"]], "rosclient (class in compas_fab.backends)": [[136, "compas_fab.backends.RosClient"]], "add_attached_collision_mesh() (compas_fab.backends.rosclient method)": [[137, "compas_fab.backends.RosClient.add_attached_collision_mesh"]], "add_collision_mesh() (compas_fab.backends.rosclient method)": [[138, "compas_fab.backends.RosClient.add_collision_mesh"]], "append_collision_mesh() (compas_fab.backends.rosclient method)": [[139, "compas_fab.backends.RosClient.append_collision_mesh"]], "authenticate() (compas_fab.backends.rosclient method)": [[140, "compas_fab.backends.RosClient.authenticate"]], "blocking_call_from_thread() (compas_fab.backends.rosclient method)": [[141, "compas_fab.backends.RosClient.blocking_call_from_thread"]], "call_async_service() (compas_fab.backends.rosclient method)": [[142, "compas_fab.backends.RosClient.call_async_service"]], "call_in_thread() (compas_fab.backends.rosclient method)": [[143, "compas_fab.backends.RosClient.call_in_thread"]], "call_later() (compas_fab.backends.rosclient method)": [[144, "compas_fab.backends.RosClient.call_later"]], "call_sync_service() (compas_fab.backends.rosclient method)": [[145, "compas_fab.backends.RosClient.call_sync_service"]], "close() (compas_fab.backends.rosclient method)": [[146, "compas_fab.backends.RosClient.close"]], "connect() (compas_fab.backends.rosclient method)": [[147, "compas_fab.backends.RosClient.connect"]], "delete_param() (compas_fab.backends.rosclient method)": [[148, "compas_fab.backends.RosClient.delete_param"]], "emit() (compas_fab.backends.rosclient method)": [[149, "compas_fab.backends.RosClient.emit"]], "execute_joint_trajectory() (compas_fab.backends.rosclient method)": [[150, "compas_fab.backends.RosClient.execute_joint_trajectory"]], "follow_configurations() (compas_fab.backends.rosclient method)": [[151, "compas_fab.backends.RosClient.follow_configurations"]], "follow_joint_trajectory() (compas_fab.backends.rosclient method)": [[152, "compas_fab.backends.RosClient.follow_joint_trajectory"]], "forward_kinematics() (compas_fab.backends.rosclient method)": [[153, "compas_fab.backends.RosClient.forward_kinematics"]], "get_action_servers() (compas_fab.backends.rosclient method)": [[154, "compas_fab.backends.RosClient.get_action_servers"]], "get_configuration() (compas_fab.backends.rosclient method)": [[155, "compas_fab.backends.RosClient.get_configuration"]], "get_message_details() (compas_fab.backends.rosclient method)": [[156, "compas_fab.backends.RosClient.get_message_details"]], "get_node_details() (compas_fab.backends.rosclient method)": [[157, "compas_fab.backends.RosClient.get_node_details"]], "get_nodes() (compas_fab.backends.rosclient method)": [[158, "compas_fab.backends.RosClient.get_nodes"]], "get_param() (compas_fab.backends.rosclient method)": [[159, "compas_fab.backends.RosClient.get_param"]], "get_params() (compas_fab.backends.rosclient method)": [[160, "compas_fab.backends.RosClient.get_params"]], "get_planning_scene() (compas_fab.backends.rosclient method)": [[161, "compas_fab.backends.RosClient.get_planning_scene"]], "get_service_request_callback() (compas_fab.backends.rosclient method)": [[162, "compas_fab.backends.RosClient.get_service_request_callback"]], "get_service_request_details() (compas_fab.backends.rosclient method)": [[163, "compas_fab.backends.RosClient.get_service_request_details"]], "get_service_response_details() (compas_fab.backends.rosclient method)": [[164, "compas_fab.backends.RosClient.get_service_response_details"]], "get_service_type() (compas_fab.backends.rosclient method)": [[165, "compas_fab.backends.RosClient.get_service_type"]], "get_services() (compas_fab.backends.rosclient method)": [[166, "compas_fab.backends.RosClient.get_services"]], "get_services_for_type() (compas_fab.backends.rosclient method)": [[167, "compas_fab.backends.RosClient.get_services_for_type"]], "get_time() (compas_fab.backends.rosclient method)": [[168, "compas_fab.backends.RosClient.get_time"]], "get_topic_type() (compas_fab.backends.rosclient method)": [[169, "compas_fab.backends.RosClient.get_topic_type"]], "get_topics() (compas_fab.backends.rosclient method)": [[170, "compas_fab.backends.RosClient.get_topics"]], "get_topics_for_type() (compas_fab.backends.rosclient method)": [[171, "compas_fab.backends.RosClient.get_topics_for_type"]], "inverse_kinematics() (compas_fab.backends.rosclient method)": [[172, "compas_fab.backends.RosClient.inverse_kinematics"]], "load_robot() (compas_fab.backends.rosclient method)": [[173, "compas_fab.backends.RosClient.load_robot"]], "off() (compas_fab.backends.rosclient method)": [[174, "compas_fab.backends.RosClient.off"]], "on() (compas_fab.backends.rosclient method)": [[175, "compas_fab.backends.RosClient.on"]], "on_ready() (compas_fab.backends.rosclient method)": [[176, "compas_fab.backends.RosClient.on_ready"]], "plan_cartesian_motion() (compas_fab.backends.rosclient method)": [[177, "compas_fab.backends.RosClient.plan_cartesian_motion"]], "plan_motion() (compas_fab.backends.rosclient method)": [[178, "compas_fab.backends.RosClient.plan_motion"]], "remove_attached_collision_mesh() (compas_fab.backends.rosclient method)": [[179, "compas_fab.backends.RosClient.remove_attached_collision_mesh"]], "remove_collision_mesh() (compas_fab.backends.rosclient method)": [[180, "compas_fab.backends.RosClient.remove_collision_mesh"]], "reset_planning_scene() (compas_fab.backends.rosclient method)": [[181, "compas_fab.backends.RosClient.reset_planning_scene"]], "run() (compas_fab.backends.rosclient method)": [[182, "compas_fab.backends.RosClient.run"]], "run_event_loop() (compas_fab.backends.rosclient method)": [[183, "compas_fab.backends.RosClient.run_event_loop"]], "run_forever() (compas_fab.backends.rosclient method)": [[184, "compas_fab.backends.RosClient.run_forever"]], "send_on_ready() (compas_fab.backends.rosclient method)": [[185, "compas_fab.backends.RosClient.send_on_ready"]], "set_param() (compas_fab.backends.rosclient method)": [[186, "compas_fab.backends.RosClient.set_param"]], "set_status_level() (compas_fab.backends.rosclient method)": [[187, "compas_fab.backends.RosClient.set_status_level"]], "terminate() (compas_fab.backends.rosclient method)": [[188, "compas_fab.backends.RosClient.terminate"]], "roserror": [[189, "compas_fab.backends.RosError"]], "rosfileserverloader (class in compas_fab.backends)": [[190, "compas_fab.backends.RosFileServerLoader"]], "can_load_mesh() (compas_fab.backends.rosfileserverloader method)": [[191, "compas_fab.backends.RosFileServerLoader.can_load_mesh"]], "load_mesh() (compas_fab.backends.rosfileserverloader method)": [[192, "compas_fab.backends.RosFileServerLoader.load_mesh"]], "load_meshes() (compas_fab.backends.rosfileserverloader method)": [[193, "compas_fab.backends.RosFileServerLoader.load_meshes"]], "load_srdf() (compas_fab.backends.rosfileserverloader method)": [[194, "compas_fab.backends.RosFileServerLoader.load_srdf"]], "load_urdf() (compas_fab.backends.rosfileserverloader method)": [[195, "compas_fab.backends.RosFileServerLoader.load_urdf"]], "rosvalidationerror": [[196, "compas_fab.backends.RosValidationError"]], "sphericalwristkinematics (class in compas_fab.backends)": [[197, "compas_fab.backends.SphericalWristKinematics"]], "forward() (compas_fab.backends.sphericalwristkinematics method)": [[198, "compas_fab.backends.SphericalWristKinematics.forward"]], "inverse() (compas_fab.backends.sphericalwristkinematics method)": [[199, "compas_fab.backends.SphericalWristKinematics.inverse"]], "staubli_tx260lkinematics (class in compas_fab.backends)": [[200, "compas_fab.backends.Staubli_TX260LKinematics"]], "forward() (compas_fab.backends.staubli_tx260lkinematics method)": [[201, "compas_fab.backends.Staubli_TX260LKinematics.forward"]], "inverse() (compas_fab.backends.staubli_tx260lkinematics method)": [[202, "compas_fab.backends.Staubli_TX260LKinematics.inverse"]], "ur10kinematics (class in compas_fab.backends)": [[203, "compas_fab.backends.UR10Kinematics"]], "forward() (compas_fab.backends.ur10kinematics method)": [[204, "compas_fab.backends.UR10Kinematics.forward"]], "inverse() (compas_fab.backends.ur10kinematics method)": [[205, "compas_fab.backends.UR10Kinematics.inverse"]], "ur10ekinematics (class in compas_fab.backends)": [[206, "compas_fab.backends.UR10eKinematics"]], "forward() (compas_fab.backends.ur10ekinematics method)": [[207, "compas_fab.backends.UR10eKinematics.forward"]], "inverse() (compas_fab.backends.ur10ekinematics method)": [[208, "compas_fab.backends.UR10eKinematics.inverse"]], "ur3kinematics (class in compas_fab.backends)": [[209, "compas_fab.backends.UR3Kinematics"]], "forward() (compas_fab.backends.ur3kinematics method)": [[210, "compas_fab.backends.UR3Kinematics.forward"]], "inverse() (compas_fab.backends.ur3kinematics method)": [[211, "compas_fab.backends.UR3Kinematics.inverse"]], "ur3ekinematics (class in compas_fab.backends)": [[212, "compas_fab.backends.UR3eKinematics"]], "forward() (compas_fab.backends.ur3ekinematics method)": [[213, "compas_fab.backends.UR3eKinematics.forward"]], "inverse() (compas_fab.backends.ur3ekinematics method)": [[214, "compas_fab.backends.UR3eKinematics.inverse"]], "ur5kinematics (class in compas_fab.backends)": [[215, "compas_fab.backends.UR5Kinematics"]], "forward() (compas_fab.backends.ur5kinematics method)": [[216, "compas_fab.backends.UR5Kinematics.forward"]], "inverse() (compas_fab.backends.ur5kinematics method)": [[217, "compas_fab.backends.UR5Kinematics.inverse"]], "ur5ekinematics (class in compas_fab.backends)": [[218, "compas_fab.backends.UR5eKinematics"]], "forward() (compas_fab.backends.ur5ekinematics method)": [[219, "compas_fab.backends.UR5eKinematics.forward"]], "inverse() (compas_fab.backends.ur5ekinematics method)": [[220, "compas_fab.backends.UR5eKinematics.inverse"]], "reachabilitymapobject (class in compas_fab.ghpython)": [[221, "compas_fab.ghpython.ReachabilityMapObject"]], "tostring() (compas_fab.ghpython.reachabilitymapobject method)": [[222, "compas_fab.ghpython.ReachabilityMapObject.ToString"]], "add() (compas_fab.ghpython.reachabilitymapobject method)": [[223, "compas_fab.ghpython.ReachabilityMapObject.add"]], "clear() (compas_fab.ghpython.reachabilitymapobject method)": [[224, "compas_fab.ghpython.ReachabilityMapObject.clear"]], "copy() (compas_fab.ghpython.reachabilitymapobject method)": [[225, "compas_fab.ghpython.ReachabilityMapObject.copy"]], "draw() (compas_fab.ghpython.reachabilitymapobject method)": [[226, "compas_fab.ghpython.ReachabilityMapObject.draw"]], "draw_cloud() (compas_fab.ghpython.reachabilitymapobject method)": [[227, "compas_fab.ghpython.ReachabilityMapObject.draw_cloud"]], "draw_frames() (compas_fab.ghpython.reachabilitymapobject method)": [[228, "compas_fab.ghpython.ReachabilityMapObject.draw_frames"]], "from_json() (compas_fab.ghpython.reachabilitymapobject class method)": [[229, "compas_fab.ghpython.ReachabilityMapObject.from_json"]], "from_jsonstring() (compas_fab.ghpython.reachabilitymapobject class method)": [[230, "compas_fab.ghpython.ReachabilityMapObject.from_jsonstring"]], "remove() (compas_fab.ghpython.reachabilitymapobject method)": [[231, "compas_fab.ghpython.ReachabilityMapObject.remove"]], "sha256() (compas_fab.ghpython.reachabilitymapobject method)": [[232, "compas_fab.ghpython.ReachabilityMapObject.sha256"]], "to_json() (compas_fab.ghpython.reachabilitymapobject method)": [[233, "compas_fab.ghpython.ReachabilityMapObject.to_json"]], "to_jsonstring() (compas_fab.ghpython.reachabilitymapobject method)": [[234, "compas_fab.ghpython.ReachabilityMapObject.to_jsonstring"]], "traverse() (compas_fab.ghpython.reachabilitymapobject method)": [[235, "compas_fab.ghpython.ReachabilityMapObject.traverse"]], "validate_data() (compas_fab.ghpython.reachabilitymapobject class method)": [[236, "compas_fab.ghpython.ReachabilityMapObject.validate_data"]], "reachabilitymapobject (class in compas_fab.rhino)": [[237, "compas_fab.rhino.ReachabilityMapObject"]], "tostring() (compas_fab.rhino.reachabilitymapobject method)": [[238, "compas_fab.rhino.ReachabilityMapObject.ToString"]], "add() (compas_fab.rhino.reachabilitymapobject method)": [[239, "compas_fab.rhino.ReachabilityMapObject.add"]], "add_to_group() (compas_fab.rhino.reachabilitymapobject method)": [[240, "compas_fab.rhino.ReachabilityMapObject.add_to_group"]], "clear() (compas_fab.rhino.reachabilitymapobject method)": [[241, "compas_fab.rhino.ReachabilityMapObject.clear"]], "clear_layer() (compas_fab.rhino.reachabilitymapobject method)": [[242, "compas_fab.rhino.ReachabilityMapObject.clear_layer"]], "compile_attributes() (compas_fab.rhino.reachabilitymapobject method)": [[243, "compas_fab.rhino.ReachabilityMapObject.compile_attributes"]], "copy() (compas_fab.rhino.reachabilitymapobject method)": [[244, "compas_fab.rhino.ReachabilityMapObject.copy"]], "draw() (compas_fab.rhino.reachabilitymapobject method)": [[245, "compas_fab.rhino.ReachabilityMapObject.draw"]], "draw_cloud() (compas_fab.rhino.reachabilitymapobject method)": [[246, "compas_fab.rhino.ReachabilityMapObject.draw_cloud"]], "draw_frames() (compas_fab.rhino.reachabilitymapobject method)": [[247, "compas_fab.rhino.ReachabilityMapObject.draw_frames"]], "from_json() (compas_fab.rhino.reachabilitymapobject class method)": [[248, "compas_fab.rhino.ReachabilityMapObject.from_json"]], "from_jsonstring() (compas_fab.rhino.reachabilitymapobject class method)": [[249, "compas_fab.rhino.ReachabilityMapObject.from_jsonstring"]], "get_group() (compas_fab.rhino.reachabilitymapobject method)": [[250, "compas_fab.rhino.ReachabilityMapObject.get_group"]], "remove() (compas_fab.rhino.reachabilitymapobject method)": [[251, "compas_fab.rhino.ReachabilityMapObject.remove"]], "sha256() (compas_fab.rhino.reachabilitymapobject method)": [[252, "compas_fab.rhino.ReachabilityMapObject.sha256"]], "to_json() (compas_fab.rhino.reachabilitymapobject method)": [[253, "compas_fab.rhino.ReachabilityMapObject.to_json"]], "to_jsonstring() (compas_fab.rhino.reachabilitymapobject method)": [[254, "compas_fab.rhino.ReachabilityMapObject.to_jsonstring"]], "traverse() (compas_fab.rhino.reachabilitymapobject method)": [[255, "compas_fab.rhino.ReachabilityMapObject.traverse"]], "validate_data() (compas_fab.rhino.reachabilitymapobject class method)": [[256, "compas_fab.rhino.ReachabilityMapObject.validate_data"]], "attachedcollisionmesh (class in compas_fab.robots)": [[257, "compas_fab.robots.AttachedCollisionMesh"]], "tostring() (compas_fab.robots.attachedcollisionmesh method)": [[258, "compas_fab.robots.AttachedCollisionMesh.ToString"]], "copy() (compas_fab.robots.attachedcollisionmesh method)": [[259, "compas_fab.robots.AttachedCollisionMesh.copy"]], "from_json() (compas_fab.robots.attachedcollisionmesh class method)": [[260, "compas_fab.robots.AttachedCollisionMesh.from_json"]], "from_jsonstring() (compas_fab.robots.attachedcollisionmesh class method)": [[261, "compas_fab.robots.AttachedCollisionMesh.from_jsonstring"]], "sha256() (compas_fab.robots.attachedcollisionmesh method)": [[262, "compas_fab.robots.AttachedCollisionMesh.sha256"]], "to_json() (compas_fab.robots.attachedcollisionmesh method)": [[263, "compas_fab.robots.AttachedCollisionMesh.to_json"]], "to_jsonstring() (compas_fab.robots.attachedcollisionmesh method)": [[264, "compas_fab.robots.AttachedCollisionMesh.to_jsonstring"]], "validate_data() (compas_fab.robots.attachedcollisionmesh class method)": [[265, "compas_fab.robots.AttachedCollisionMesh.validate_data"]], "boundingvolume (class in compas_fab.robots)": [[266, "compas_fab.robots.BoundingVolume"]], "tostring() (compas_fab.robots.boundingvolume method)": [[267, "compas_fab.robots.BoundingVolume.ToString"]], "copy() (compas_fab.robots.boundingvolume method)": [[268, "compas_fab.robots.BoundingVolume.copy"]], "from_box() (compas_fab.robots.boundingvolume class method)": [[269, "compas_fab.robots.BoundingVolume.from_box"]], "from_json() (compas_fab.robots.boundingvolume class method)": [[270, "compas_fab.robots.BoundingVolume.from_json"]], "from_jsonstring() (compas_fab.robots.boundingvolume class method)": [[271, "compas_fab.robots.BoundingVolume.from_jsonstring"]], "from_mesh() (compas_fab.robots.boundingvolume class method)": [[272, "compas_fab.robots.BoundingVolume.from_mesh"]], "from_sphere() (compas_fab.robots.boundingvolume class method)": [[273, "compas_fab.robots.BoundingVolume.from_sphere"]], "scale() (compas_fab.robots.boundingvolume method)": [[274, "compas_fab.robots.BoundingVolume.scale"]], "sha256() (compas_fab.robots.boundingvolume method)": [[275, "compas_fab.robots.BoundingVolume.sha256"]], "to_json() (compas_fab.robots.boundingvolume method)": [[276, "compas_fab.robots.BoundingVolume.to_json"]], "to_jsonstring() (compas_fab.robots.boundingvolume method)": [[277, "compas_fab.robots.BoundingVolume.to_jsonstring"]], "transform() (compas_fab.robots.boundingvolume method)": [[278, "compas_fab.robots.BoundingVolume.transform"]], "validate_data() (compas_fab.robots.boundingvolume class method)": [[279, "compas_fab.robots.BoundingVolume.validate_data"]], "collisionmesh (class in compas_fab.robots)": [[280, "compas_fab.robots.CollisionMesh"]], "tostring() (compas_fab.robots.collisionmesh method)": [[281, "compas_fab.robots.CollisionMesh.ToString"]], "copy() (compas_fab.robots.collisionmesh method)": [[282, "compas_fab.robots.CollisionMesh.copy"]], "from_json() (compas_fab.robots.collisionmesh class method)": [[283, "compas_fab.robots.CollisionMesh.from_json"]], "from_jsonstring() (compas_fab.robots.collisionmesh class method)": [[284, "compas_fab.robots.CollisionMesh.from_jsonstring"]], "scale() (compas_fab.robots.collisionmesh method)": [[285, "compas_fab.robots.CollisionMesh.scale"]], "scaled() (compas_fab.robots.collisionmesh method)": [[286, "compas_fab.robots.CollisionMesh.scaled"]], "sha256() (compas_fab.robots.collisionmesh method)": [[287, "compas_fab.robots.CollisionMesh.sha256"]], "to_json() (compas_fab.robots.collisionmesh method)": [[288, "compas_fab.robots.CollisionMesh.to_json"]], "to_jsonstring() (compas_fab.robots.collisionmesh method)": [[289, "compas_fab.robots.CollisionMesh.to_jsonstring"]], "validate_data() (compas_fab.robots.collisionmesh class method)": [[290, "compas_fab.robots.CollisionMesh.validate_data"]], "configurationtarget (class in compas_fab.robots)": [[291, "compas_fab.robots.ConfigurationTarget"]], "tostring() (compas_fab.robots.configurationtarget method)": [[292, "compas_fab.robots.ConfigurationTarget.ToString"]], "copy() (compas_fab.robots.configurationtarget method)": [[293, "compas_fab.robots.ConfigurationTarget.copy"]], "from_json() (compas_fab.robots.configurationtarget class method)": [[294, "compas_fab.robots.ConfigurationTarget.from_json"]], "from_jsonstring() (compas_fab.robots.configurationtarget class method)": [[295, "compas_fab.robots.ConfigurationTarget.from_jsonstring"]], "generate_default_tolerances() (compas_fab.robots.configurationtarget class method)": [[296, "compas_fab.robots.ConfigurationTarget.generate_default_tolerances"]], "scaled() (compas_fab.robots.configurationtarget method)": [[297, "compas_fab.robots.ConfigurationTarget.scaled"]], "sha256() (compas_fab.robots.configurationtarget method)": [[298, "compas_fab.robots.ConfigurationTarget.sha256"]], "to_json() (compas_fab.robots.configurationtarget method)": [[299, "compas_fab.robots.ConfigurationTarget.to_json"]], "to_jsonstring() (compas_fab.robots.configurationtarget method)": [[300, "compas_fab.robots.ConfigurationTarget.to_jsonstring"]], "validate_data() (compas_fab.robots.configurationtarget class method)": [[301, "compas_fab.robots.ConfigurationTarget.validate_data"]], "constraint (class in compas_fab.robots)": [[302, "compas_fab.robots.Constraint"]], "tostring() (compas_fab.robots.constraint method)": [[303, "compas_fab.robots.Constraint.ToString"]], "copy() (compas_fab.robots.constraint method)": [[304, "compas_fab.robots.Constraint.copy"]], "from_json() (compas_fab.robots.constraint class method)": [[305, "compas_fab.robots.Constraint.from_json"]], "from_jsonstring() (compas_fab.robots.constraint class method)": [[306, "compas_fab.robots.Constraint.from_jsonstring"]], "scale() (compas_fab.robots.constraint method)": [[307, "compas_fab.robots.Constraint.scale"]], "scaled() (compas_fab.robots.constraint method)": [[308, "compas_fab.robots.Constraint.scaled"]], "sha256() (compas_fab.robots.constraint method)": [[309, "compas_fab.robots.Constraint.sha256"]], "to_json() (compas_fab.robots.constraint method)": [[310, "compas_fab.robots.Constraint.to_json"]], "to_jsonstring() (compas_fab.robots.constraint method)": [[311, "compas_fab.robots.Constraint.to_jsonstring"]], "transform() (compas_fab.robots.constraint method)": [[312, "compas_fab.robots.Constraint.transform"]], "validate_data() (compas_fab.robots.constraint class method)": [[313, "compas_fab.robots.Constraint.validate_data"]], "constraintsettarget (class in compas_fab.robots)": [[314, "compas_fab.robots.ConstraintSetTarget"]], "tostring() (compas_fab.robots.constraintsettarget method)": [[315, "compas_fab.robots.ConstraintSetTarget.ToString"]], "copy() (compas_fab.robots.constraintsettarget method)": [[316, "compas_fab.robots.ConstraintSetTarget.copy"]], "from_json() (compas_fab.robots.constraintsettarget class method)": [[317, "compas_fab.robots.ConstraintSetTarget.from_json"]], "from_jsonstring() (compas_fab.robots.constraintsettarget class method)": [[318, "compas_fab.robots.ConstraintSetTarget.from_jsonstring"]], "scaled() (compas_fab.robots.constraintsettarget method)": [[319, "compas_fab.robots.ConstraintSetTarget.scaled"]], "sha256() (compas_fab.robots.constraintsettarget method)": [[320, "compas_fab.robots.ConstraintSetTarget.sha256"]], "to_json() (compas_fab.robots.constraintsettarget method)": [[321, "compas_fab.robots.ConstraintSetTarget.to_json"]], "to_jsonstring() (compas_fab.robots.constraintsettarget method)": [[322, "compas_fab.robots.ConstraintSetTarget.to_jsonstring"]], "validate_data() (compas_fab.robots.constraintsettarget class method)": [[323, "compas_fab.robots.ConstraintSetTarget.validate_data"]], "deviationvectorsgenerator (class in compas_fab.robots)": [[324, "compas_fab.robots.DeviationVectorsGenerator"]], "duration (class in compas_fab.robots)": [[325, "compas_fab.robots.Duration"]], "tostring() (compas_fab.robots.duration method)": [[326, "compas_fab.robots.Duration.ToString"]], "copy() (compas_fab.robots.duration method)": [[327, "compas_fab.robots.Duration.copy"]], "from_json() (compas_fab.robots.duration class method)": [[328, "compas_fab.robots.Duration.from_json"]], "from_jsonstring() (compas_fab.robots.duration class method)": [[329, "compas_fab.robots.Duration.from_jsonstring"]], "sha256() (compas_fab.robots.duration method)": [[330, "compas_fab.robots.Duration.sha256"]], "to_json() (compas_fab.robots.duration method)": [[331, "compas_fab.robots.Duration.to_json"]], "to_jsonstring() (compas_fab.robots.duration method)": [[332, "compas_fab.robots.Duration.to_jsonstring"]], "validate_data() (compas_fab.robots.duration class method)": [[333, "compas_fab.robots.Duration.validate_data"]], "frametarget (class in compas_fab.robots)": [[334, "compas_fab.robots.FrameTarget"]], "tostring() (compas_fab.robots.frametarget method)": [[335, "compas_fab.robots.FrameTarget.ToString"]], "copy() (compas_fab.robots.frametarget method)": [[336, "compas_fab.robots.FrameTarget.copy"]], "from_json() (compas_fab.robots.frametarget class method)": [[337, "compas_fab.robots.FrameTarget.from_json"]], "from_jsonstring() (compas_fab.robots.frametarget class method)": [[338, "compas_fab.robots.FrameTarget.from_jsonstring"]], "from_transformation() (compas_fab.robots.frametarget class method)": [[339, "compas_fab.robots.FrameTarget.from_transformation"]], "scaled() (compas_fab.robots.frametarget method)": [[340, "compas_fab.robots.FrameTarget.scaled"]], "sha256() (compas_fab.robots.frametarget method)": [[341, "compas_fab.robots.FrameTarget.sha256"]], "to_json() (compas_fab.robots.frametarget method)": [[342, "compas_fab.robots.FrameTarget.to_json"]], "to_jsonstring() (compas_fab.robots.frametarget method)": [[343, "compas_fab.robots.FrameTarget.to_jsonstring"]], "validate_data() (compas_fab.robots.frametarget class method)": [[344, "compas_fab.robots.FrameTarget.validate_data"]], "framewaypoints (class in compas_fab.robots)": [[345, "compas_fab.robots.FrameWaypoints"]], "tostring() (compas_fab.robots.framewaypoints method)": [[346, "compas_fab.robots.FrameWaypoints.ToString"]], "copy() (compas_fab.robots.framewaypoints method)": [[347, "compas_fab.robots.FrameWaypoints.copy"]], "from_json() (compas_fab.robots.framewaypoints class method)": [[348, "compas_fab.robots.FrameWaypoints.from_json"]], "from_jsonstring() (compas_fab.robots.framewaypoints class method)": [[349, "compas_fab.robots.FrameWaypoints.from_jsonstring"]], "from_transformations() (compas_fab.robots.framewaypoints class method)": [[350, "compas_fab.robots.FrameWaypoints.from_transformations"]], "scaled() (compas_fab.robots.framewaypoints method)": [[351, "compas_fab.robots.FrameWaypoints.scaled"]], "sha256() (compas_fab.robots.framewaypoints method)": [[352, "compas_fab.robots.FrameWaypoints.sha256"]], "to_json() (compas_fab.robots.framewaypoints method)": [[353, "compas_fab.robots.FrameWaypoints.to_json"]], "to_jsonstring() (compas_fab.robots.framewaypoints method)": [[354, "compas_fab.robots.FrameWaypoints.to_jsonstring"]], "validate_data() (compas_fab.robots.framewaypoints class method)": [[355, "compas_fab.robots.FrameWaypoints.validate_data"]], "inertia (class in compas_fab.robots)": [[356, "compas_fab.robots.Inertia"]], "calculate_inertia_tensor() (compas_fab.robots.inertia static method)": [[357, "compas_fab.robots.Inertia.calculate_inertia_tensor"]], "jointconstraint (class in compas_fab.robots)": [[358, "compas_fab.robots.JointConstraint"]], "tostring() (compas_fab.robots.jointconstraint method)": [[359, "compas_fab.robots.JointConstraint.ToString"]], "copy() (compas_fab.robots.jointconstraint method)": [[360, "compas_fab.robots.JointConstraint.copy"]], "from_json() (compas_fab.robots.jointconstraint class method)": [[361, "compas_fab.robots.JointConstraint.from_json"]], "from_jsonstring() (compas_fab.robots.jointconstraint class method)": [[362, "compas_fab.robots.JointConstraint.from_jsonstring"]], "joint_constraints_from_configuration() (compas_fab.robots.jointconstraint class method)": [[363, "compas_fab.robots.JointConstraint.joint_constraints_from_configuration"]], "scale() (compas_fab.robots.jointconstraint method)": [[364, "compas_fab.robots.JointConstraint.scale"]], "scaled() (compas_fab.robots.jointconstraint method)": [[365, "compas_fab.robots.JointConstraint.scaled"]], "sha256() (compas_fab.robots.jointconstraint method)": [[366, "compas_fab.robots.JointConstraint.sha256"]], "to_json() (compas_fab.robots.jointconstraint method)": [[367, "compas_fab.robots.JointConstraint.to_json"]], "to_jsonstring() (compas_fab.robots.jointconstraint method)": [[368, "compas_fab.robots.JointConstraint.to_jsonstring"]], "transform() (compas_fab.robots.jointconstraint method)": [[369, "compas_fab.robots.JointConstraint.transform"]], "validate_data() (compas_fab.robots.jointconstraint class method)": [[370, "compas_fab.robots.JointConstraint.validate_data"]], "jointtrajectory (class in compas_fab.robots)": [[371, "compas_fab.robots.JointTrajectory"]], "tostring() (compas_fab.robots.jointtrajectory method)": [[372, "compas_fab.robots.JointTrajectory.ToString"]], "copy() (compas_fab.robots.jointtrajectory method)": [[373, "compas_fab.robots.JointTrajectory.copy"]], "from_json() (compas_fab.robots.jointtrajectory class method)": [[374, "compas_fab.robots.JointTrajectory.from_json"]], "from_jsonstring() (compas_fab.robots.jointtrajectory class method)": [[375, "compas_fab.robots.JointTrajectory.from_jsonstring"]], "sha256() (compas_fab.robots.jointtrajectory method)": [[376, "compas_fab.robots.JointTrajectory.sha256"]], "to_json() (compas_fab.robots.jointtrajectory method)": [[377, "compas_fab.robots.JointTrajectory.to_json"]], "to_jsonstring() (compas_fab.robots.jointtrajectory method)": [[378, "compas_fab.robots.JointTrajectory.to_jsonstring"]], "validate_data() (compas_fab.robots.jointtrajectory class method)": [[379, "compas_fab.robots.JointTrajectory.validate_data"]], "jointtrajectorypoint (class in compas_fab.robots)": [[380, "compas_fab.robots.JointTrajectoryPoint"]], "tostring() (compas_fab.robots.jointtrajectorypoint method)": [[381, "compas_fab.robots.JointTrajectoryPoint.ToString"]], "check_joint_names() (compas_fab.robots.jointtrajectorypoint method)": [[382, "compas_fab.robots.JointTrajectoryPoint.check_joint_names"]], "close_to() (compas_fab.robots.jointtrajectorypoint method)": [[383, "compas_fab.robots.JointTrajectoryPoint.close_to"]], "copy() (compas_fab.robots.jointtrajectorypoint method)": [[384, "compas_fab.robots.JointTrajectoryPoint.copy"]], "from_json() (compas_fab.robots.jointtrajectorypoint class method)": [[385, "compas_fab.robots.JointTrajectoryPoint.from_json"]], "from_jsonstring() (compas_fab.robots.jointtrajectorypoint class method)": [[386, "compas_fab.robots.JointTrajectoryPoint.from_jsonstring"]], "from_prismatic_and_revolute_values() (compas_fab.robots.jointtrajectorypoint class method)": [[387, "compas_fab.robots.JointTrajectoryPoint.from_prismatic_and_revolute_values"]], "from_revolute_values() (compas_fab.robots.jointtrajectorypoint class method)": [[388, "compas_fab.robots.JointTrajectoryPoint.from_revolute_values"]], "get() (compas_fab.robots.jointtrajectorypoint method)": [[389, "compas_fab.robots.JointTrajectoryPoint.get"]], "items() (compas_fab.robots.jointtrajectorypoint method)": [[390, "compas_fab.robots.JointTrajectoryPoint.items"]], "iter_differences() (compas_fab.robots.jointtrajectorypoint method)": [[391, "compas_fab.robots.JointTrajectoryPoint.iter_differences"]], "keys() (compas_fab.robots.jointtrajectorypoint method)": [[392, "compas_fab.robots.JointTrajectoryPoint.keys"]], "max_difference() (compas_fab.robots.jointtrajectorypoint method)": [[393, "compas_fab.robots.JointTrajectoryPoint.max_difference"]], "merge() (compas_fab.robots.jointtrajectorypoint method)": [[394, "compas_fab.robots.JointTrajectoryPoint.merge"]], "merged() (compas_fab.robots.jointtrajectorypoint method)": [[395, "compas_fab.robots.JointTrajectoryPoint.merged"]], "scale() (compas_fab.robots.jointtrajectorypoint method)": [[396, "compas_fab.robots.JointTrajectoryPoint.scale"]], "scaled() (compas_fab.robots.jointtrajectorypoint method)": [[397, "compas_fab.robots.JointTrajectoryPoint.scaled"]], "sha256() (compas_fab.robots.jointtrajectorypoint method)": [[398, "compas_fab.robots.JointTrajectoryPoint.sha256"]], "to_json() (compas_fab.robots.jointtrajectorypoint method)": [[399, "compas_fab.robots.JointTrajectoryPoint.to_json"]], "to_jsonstring() (compas_fab.robots.jointtrajectorypoint method)": [[400, "compas_fab.robots.JointTrajectoryPoint.to_jsonstring"]], "validate_data() (compas_fab.robots.jointtrajectorypoint class method)": [[401, "compas_fab.robots.JointTrajectoryPoint.validate_data"]], "values() (compas_fab.robots.jointtrajectorypoint method)": [[402, "compas_fab.robots.JointTrajectoryPoint.values"]], "orientationconstraint (class in compas_fab.robots)": [[403, "compas_fab.robots.OrientationConstraint"]], "tostring() (compas_fab.robots.orientationconstraint method)": [[404, "compas_fab.robots.OrientationConstraint.ToString"]], "copy() (compas_fab.robots.orientationconstraint method)": [[405, "compas_fab.robots.OrientationConstraint.copy"]], "from_frame() (compas_fab.robots.orientationconstraint class method)": [[406, "compas_fab.robots.OrientationConstraint.from_frame"]], "from_json() (compas_fab.robots.orientationconstraint class method)": [[407, "compas_fab.robots.OrientationConstraint.from_json"]], "from_jsonstring() (compas_fab.robots.orientationconstraint class method)": [[408, "compas_fab.robots.OrientationConstraint.from_jsonstring"]], "scale() (compas_fab.robots.orientationconstraint method)": [[409, "compas_fab.robots.OrientationConstraint.scale"]], "scaled() (compas_fab.robots.orientationconstraint method)": [[410, "compas_fab.robots.OrientationConstraint.scaled"]], "sha256() (compas_fab.robots.orientationconstraint method)": [[411, "compas_fab.robots.OrientationConstraint.sha256"]], "to_json() (compas_fab.robots.orientationconstraint method)": [[412, "compas_fab.robots.OrientationConstraint.to_json"]], "to_jsonstring() (compas_fab.robots.orientationconstraint method)": [[413, "compas_fab.robots.OrientationConstraint.to_jsonstring"]], "transform() (compas_fab.robots.orientationconstraint method)": [[414, "compas_fab.robots.OrientationConstraint.transform"]], "validate_data() (compas_fab.robots.orientationconstraint class method)": [[415, "compas_fab.robots.OrientationConstraint.validate_data"]], "orthonormalvectorsfromaxisgenerator (class in compas_fab.robots)": [[416, "compas_fab.robots.OrthonormalVectorsFromAxisGenerator"]], "planningscene (class in compas_fab.robots)": [[417, "compas_fab.robots.PlanningScene"]], "add_attached_collision_mesh() (compas_fab.robots.planningscene method)": [[418, "compas_fab.robots.PlanningScene.add_attached_collision_mesh"]], "add_attached_tool() (compas_fab.robots.planningscene method)": [[419, "compas_fab.robots.PlanningScene.add_attached_tool"]], "add_collision_mesh() (compas_fab.robots.planningscene method)": [[420, "compas_fab.robots.PlanningScene.add_collision_mesh"]], "append_collision_mesh() (compas_fab.robots.planningscene method)": [[421, "compas_fab.robots.PlanningScene.append_collision_mesh"]], "attach_collision_mesh_to_robot_end_effector() (compas_fab.robots.planningscene method)": [[422, "compas_fab.robots.PlanningScene.attach_collision_mesh_to_robot_end_effector"]], "ensure_client() (compas_fab.robots.planningscene method)": [[423, "compas_fab.robots.PlanningScene.ensure_client"]], "remove_attached_collision_mesh() (compas_fab.robots.planningscene method)": [[424, "compas_fab.robots.PlanningScene.remove_attached_collision_mesh"]], "remove_attached_tool() (compas_fab.robots.planningscene method)": [[425, "compas_fab.robots.PlanningScene.remove_attached_tool"]], "remove_collision_mesh() (compas_fab.robots.planningscene method)": [[426, "compas_fab.robots.PlanningScene.remove_collision_mesh"]], "reset() (compas_fab.robots.planningscene method)": [[427, "compas_fab.robots.PlanningScene.reset"]], "pointaxistarget (class in compas_fab.robots)": [[428, "compas_fab.robots.PointAxisTarget"]], "tostring() (compas_fab.robots.pointaxistarget method)": [[429, "compas_fab.robots.PointAxisTarget.ToString"]], "copy() (compas_fab.robots.pointaxistarget method)": [[430, "compas_fab.robots.PointAxisTarget.copy"]], "from_json() (compas_fab.robots.pointaxistarget class method)": [[431, "compas_fab.robots.PointAxisTarget.from_json"]], "from_jsonstring() (compas_fab.robots.pointaxistarget class method)": [[432, "compas_fab.robots.PointAxisTarget.from_jsonstring"]], "scaled() (compas_fab.robots.pointaxistarget method)": [[433, "compas_fab.robots.PointAxisTarget.scaled"]], "sha256() (compas_fab.robots.pointaxistarget method)": [[434, "compas_fab.robots.PointAxisTarget.sha256"]], "to_json() (compas_fab.robots.pointaxistarget method)": [[435, "compas_fab.robots.PointAxisTarget.to_json"]], "to_jsonstring() (compas_fab.robots.pointaxistarget method)": [[436, "compas_fab.robots.PointAxisTarget.to_jsonstring"]], "validate_data() (compas_fab.robots.pointaxistarget class method)": [[437, "compas_fab.robots.PointAxisTarget.validate_data"]], "pointaxiswaypoints (class in compas_fab.robots)": [[438, "compas_fab.robots.PointAxisWaypoints"]], "tostring() (compas_fab.robots.pointaxiswaypoints method)": [[439, "compas_fab.robots.PointAxisWaypoints.ToString"]], "copy() (compas_fab.robots.pointaxiswaypoints method)": [[440, "compas_fab.robots.PointAxisWaypoints.copy"]], "from_json() (compas_fab.robots.pointaxiswaypoints class method)": [[441, "compas_fab.robots.PointAxisWaypoints.from_json"]], "from_jsonstring() (compas_fab.robots.pointaxiswaypoints class method)": [[442, "compas_fab.robots.PointAxisWaypoints.from_jsonstring"]], "scaled() (compas_fab.robots.pointaxiswaypoints method)": [[443, "compas_fab.robots.PointAxisWaypoints.scaled"]], "sha256() (compas_fab.robots.pointaxiswaypoints method)": [[444, "compas_fab.robots.PointAxisWaypoints.sha256"]], "to_json() (compas_fab.robots.pointaxiswaypoints method)": [[445, "compas_fab.robots.PointAxisWaypoints.to_json"]], "to_jsonstring() (compas_fab.robots.pointaxiswaypoints method)": [[446, "compas_fab.robots.PointAxisWaypoints.to_jsonstring"]], "validate_data() (compas_fab.robots.pointaxiswaypoints class method)": [[447, "compas_fab.robots.PointAxisWaypoints.validate_data"]], "positionconstraint (class in compas_fab.robots)": [[448, "compas_fab.robots.PositionConstraint"]], "tostring() (compas_fab.robots.positionconstraint method)": [[449, "compas_fab.robots.PositionConstraint.ToString"]], "copy() (compas_fab.robots.positionconstraint method)": [[450, "compas_fab.robots.PositionConstraint.copy"]], "from_box() (compas_fab.robots.positionconstraint class method)": [[451, "compas_fab.robots.PositionConstraint.from_box"]], "from_frame() (compas_fab.robots.positionconstraint class method)": [[452, "compas_fab.robots.PositionConstraint.from_frame"]], "from_json() (compas_fab.robots.positionconstraint class method)": [[453, "compas_fab.robots.PositionConstraint.from_json"]], "from_jsonstring() (compas_fab.robots.positionconstraint class method)": [[454, "compas_fab.robots.PositionConstraint.from_jsonstring"]], "from_mesh() (compas_fab.robots.positionconstraint class method)": [[455, "compas_fab.robots.PositionConstraint.from_mesh"]], "from_point() (compas_fab.robots.positionconstraint class method)": [[456, "compas_fab.robots.PositionConstraint.from_point"]], "from_sphere() (compas_fab.robots.positionconstraint class method)": [[457, "compas_fab.robots.PositionConstraint.from_sphere"]], "scale() (compas_fab.robots.positionconstraint method)": [[458, "compas_fab.robots.PositionConstraint.scale"]], "scaled() (compas_fab.robots.positionconstraint method)": [[459, "compas_fab.robots.PositionConstraint.scaled"]], "sha256() (compas_fab.robots.positionconstraint method)": [[460, "compas_fab.robots.PositionConstraint.sha256"]], "to_json() (compas_fab.robots.positionconstraint method)": [[461, "compas_fab.robots.PositionConstraint.to_json"]], "to_jsonstring() (compas_fab.robots.positionconstraint method)": [[462, "compas_fab.robots.PositionConstraint.to_jsonstring"]], "transform() (compas_fab.robots.positionconstraint method)": [[463, "compas_fab.robots.PositionConstraint.transform"]], "validate_data() (compas_fab.robots.positionconstraint class method)": [[464, "compas_fab.robots.PositionConstraint.validate_data"]], "reachabilitymap (class in compas_fab.robots)": [[465, "compas_fab.robots.ReachabilityMap"]], "tostring() (compas_fab.robots.reachabilitymap method)": [[466, "compas_fab.robots.ReachabilityMap.ToString"]], "calculate() (compas_fab.robots.reachabilitymap method)": [[467, "compas_fab.robots.ReachabilityMap.calculate"]], "copy() (compas_fab.robots.reachabilitymap method)": [[468, "compas_fab.robots.ReachabilityMap.copy"]], "from_json() (compas_fab.robots.reachabilitymap class method)": [[469, "compas_fab.robots.ReachabilityMap.from_json"]], "from_jsonstring() (compas_fab.robots.reachabilitymap class method)": [[470, "compas_fab.robots.ReachabilityMap.from_jsonstring"]], "reachable_frames_and_configurations_at_ik_index() (compas_fab.robots.reachabilitymap method)": [[471, "compas_fab.robots.ReachabilityMap.reachable_frames_and_configurations_at_ik_index"]], "sha256() (compas_fab.robots.reachabilitymap method)": [[472, "compas_fab.robots.ReachabilityMap.sha256"]], "to_json() (compas_fab.robots.reachabilitymap method)": [[473, "compas_fab.robots.ReachabilityMap.to_json"]], "to_jsonstring() (compas_fab.robots.reachabilitymap method)": [[474, "compas_fab.robots.ReachabilityMap.to_jsonstring"]], "validate_data() (compas_fab.robots.reachabilitymap class method)": [[475, "compas_fab.robots.ReachabilityMap.validate_data"]], "robot (class in compas_fab.robots)": [[476, "compas_fab.robots.Robot"]], "tostring() (compas_fab.robots.robot method)": [[477, "compas_fab.robots.Robot.ToString"]], "attach_tool() (compas_fab.robots.robot method)": [[478, "compas_fab.robots.Robot.attach_tool"]], "basic() (compas_fab.robots.robot class method)": [[479, "compas_fab.robots.Robot.basic"]], "copy() (compas_fab.robots.robot method)": [[480, "compas_fab.robots.Robot.copy"]], "detach_tool() (compas_fab.robots.robot method)": [[481, "compas_fab.robots.Robot.detach_tool"]], "draw() (compas_fab.robots.robot method)": [[482, "compas_fab.robots.Robot.draw"]], "draw_collision() (compas_fab.robots.robot method)": [[483, "compas_fab.robots.Robot.draw_collision"]], "draw_visual() (compas_fab.robots.robot method)": [[484, "compas_fab.robots.Robot.draw_visual"]], "ensure_client() (compas_fab.robots.robot method)": [[485, "compas_fab.robots.Robot.ensure_client"]], "ensure_geometry() (compas_fab.robots.robot method)": [[486, "compas_fab.robots.Robot.ensure_geometry"]], "ensure_semantics() (compas_fab.robots.robot method)": [[487, "compas_fab.robots.Robot.ensure_semantics"]], "forward_kinematics() (compas_fab.robots.robot method)": [[488, "compas_fab.robots.Robot.forward_kinematics"]], "from_json() (compas_fab.robots.robot class method)": [[489, "compas_fab.robots.Robot.from_json"]], "from_jsonstring() (compas_fab.robots.robot class method)": [[490, "compas_fab.robots.Robot.from_jsonstring"]], "from_t0cf_to_tcf() (compas_fab.robots.robot method)": [[491, "compas_fab.robots.Robot.from_t0cf_to_tcf"]], "from_tcf_to_t0cf() (compas_fab.robots.robot method)": [[492, "compas_fab.robots.Robot.from_tcf_to_t0cf"]], "get_rcf() (compas_fab.robots.robot method)": [[493, "compas_fab.robots.Robot.get_RCF"]], "get_attached_tool_collision_meshes() (compas_fab.robots.robot method)": [[494, "compas_fab.robots.Robot.get_attached_tool_collision_meshes"]], "get_base_frame() (compas_fab.robots.robot method)": [[495, "compas_fab.robots.Robot.get_base_frame"]], "get_base_link() (compas_fab.robots.robot method)": [[496, "compas_fab.robots.Robot.get_base_link"]], "get_base_link_name() (compas_fab.robots.robot method)": [[497, "compas_fab.robots.Robot.get_base_link_name"]], "get_configurable_joint_names() (compas_fab.robots.robot method)": [[498, "compas_fab.robots.Robot.get_configurable_joint_names"]], "get_configurable_joint_types() (compas_fab.robots.robot method)": [[499, "compas_fab.robots.Robot.get_configurable_joint_types"]], "get_configurable_joints() (compas_fab.robots.robot method)": [[500, "compas_fab.robots.Robot.get_configurable_joints"]], "get_configuration_from_group_state() (compas_fab.robots.robot method)": [[501, "compas_fab.robots.Robot.get_configuration_from_group_state"]], "get_end_effector_frame() (compas_fab.robots.robot method)": [[502, "compas_fab.robots.Robot.get_end_effector_frame"]], "get_end_effector_link() (compas_fab.robots.robot method)": [[503, "compas_fab.robots.Robot.get_end_effector_link"]], "get_end_effector_link_name() (compas_fab.robots.robot method)": [[504, "compas_fab.robots.Robot.get_end_effector_link_name"]], "get_group_configuration() (compas_fab.robots.robot method)": [[505, "compas_fab.robots.Robot.get_group_configuration"]], "get_group_names_from_link_name() (compas_fab.robots.robot method)": [[506, "compas_fab.robots.Robot.get_group_names_from_link_name"]], "get_joint_by_name() (compas_fab.robots.robot method)": [[507, "compas_fab.robots.Robot.get_joint_by_name"]], "get_joint_types_by_names() (compas_fab.robots.robot method)": [[508, "compas_fab.robots.Robot.get_joint_types_by_names"]], "get_link_names() (compas_fab.robots.robot method)": [[509, "compas_fab.robots.Robot.get_link_names"]], "get_link_names_with_collision_geometry() (compas_fab.robots.robot method)": [[510, "compas_fab.robots.Robot.get_link_names_with_collision_geometry"]], "get_position_by_joint_name() (compas_fab.robots.robot method)": [[511, "compas_fab.robots.Robot.get_position_by_joint_name"]], "info() (compas_fab.robots.robot method)": [[512, "compas_fab.robots.Robot.info"]], "inverse_kinematics() (compas_fab.robots.robot method)": [[513, "compas_fab.robots.Robot.inverse_kinematics"]], "iter_inverse_kinematics() (compas_fab.robots.robot method)": [[514, "compas_fab.robots.Robot.iter_inverse_kinematics"]], "merge_group_with_full_configuration() (compas_fab.robots.robot method)": [[515, "compas_fab.robots.Robot.merge_group_with_full_configuration"]], "plan_cartesian_motion() (compas_fab.robots.robot method)": [[516, "compas_fab.robots.Robot.plan_cartesian_motion"]], "plan_motion() (compas_fab.robots.robot method)": [[517, "compas_fab.robots.Robot.plan_motion"]], "random_configuration() (compas_fab.robots.robot method)": [[518, "compas_fab.robots.Robot.random_configuration"]], "scale() (compas_fab.robots.robot method)": [[519, "compas_fab.robots.Robot.scale"]], "set_rcf() (compas_fab.robots.robot method)": [[520, "compas_fab.robots.Robot.set_RCF"]], "sha256() (compas_fab.robots.robot method)": [[521, "compas_fab.robots.Robot.sha256"]], "to_json() (compas_fab.robots.robot method)": [[522, "compas_fab.robots.Robot.to_json"]], "to_jsonstring() (compas_fab.robots.robot method)": [[523, "compas_fab.robots.Robot.to_jsonstring"]], "to_local_coordinates() (compas_fab.robots.robot method)": [[524, "compas_fab.robots.Robot.to_local_coordinates"]], "to_world_coordinates() (compas_fab.robots.robot method)": [[525, "compas_fab.robots.Robot.to_world_coordinates"]], "transformation_rcf_wcf() (compas_fab.robots.robot method)": [[526, "compas_fab.robots.Robot.transformation_RCF_WCF"]], "transformation_wcf_rcf() (compas_fab.robots.robot method)": [[527, "compas_fab.robots.Robot.transformation_WCF_RCF"]], "transformed_axes() (compas_fab.robots.robot method)": [[528, "compas_fab.robots.Robot.transformed_axes"]], "transformed_frames() (compas_fab.robots.robot method)": [[529, "compas_fab.robots.Robot.transformed_frames"]], "update() (compas_fab.robots.robot method)": [[530, "compas_fab.robots.Robot.update"]], "validate_data() (compas_fab.robots.robot class method)": [[531, "compas_fab.robots.Robot.validate_data"]], "zero_configuration() (compas_fab.robots.robot method)": [[532, "compas_fab.robots.Robot.zero_configuration"]], "robotlibrary (class in compas_fab.robots)": [[533, "compas_fab.robots.RobotLibrary"]], "abb_irb4600_40_255() (compas_fab.robots.robotlibrary class method)": [[534, "compas_fab.robots.RobotLibrary.abb_irb4600_40_255"]], "rfl() (compas_fab.robots.robotlibrary class method)": [[535, "compas_fab.robots.RobotLibrary.rfl"]], "ur10e() (compas_fab.robots.robotlibrary class method)": [[536, "compas_fab.robots.RobotLibrary.ur10e"]], "ur5() (compas_fab.robots.robotlibrary class method)": [[537, "compas_fab.robots.RobotLibrary.ur5"]], "robotsemantics (class in compas_fab.robots)": [[538, "compas_fab.robots.RobotSemantics"]], "tostring() (compas_fab.robots.robotsemantics method)": [[539, "compas_fab.robots.RobotSemantics.ToString"]], "copy() (compas_fab.robots.robotsemantics method)": [[540, "compas_fab.robots.RobotSemantics.copy"]], "from_json() (compas_fab.robots.robotsemantics class method)": [[541, "compas_fab.robots.RobotSemantics.from_json"]], "from_jsonstring() (compas_fab.robots.robotsemantics class method)": [[542, "compas_fab.robots.RobotSemantics.from_jsonstring"]], "from_srdf_file() (compas_fab.robots.robotsemantics class method)": [[543, "compas_fab.robots.RobotSemantics.from_srdf_file"]], "from_srdf_string() (compas_fab.robots.robotsemantics class method)": [[544, "compas_fab.robots.RobotSemantics.from_srdf_string"]], "from_xml() (compas_fab.robots.robotsemantics class method)": [[545, "compas_fab.robots.RobotSemantics.from_xml"]], "get_all_configurable_joints() (compas_fab.robots.robotsemantics method)": [[546, "compas_fab.robots.RobotSemantics.get_all_configurable_joints"]], "get_base_link_name() (compas_fab.robots.robotsemantics method)": [[547, "compas_fab.robots.RobotSemantics.get_base_link_name"]], "get_configurable_joint_names() (compas_fab.robots.robotsemantics method)": [[548, "compas_fab.robots.RobotSemantics.get_configurable_joint_names"]], "get_configurable_joints() (compas_fab.robots.robotsemantics method)": [[549, "compas_fab.robots.RobotSemantics.get_configurable_joints"]], "get_end_effector_link_name() (compas_fab.robots.robotsemantics method)": [[550, "compas_fab.robots.RobotSemantics.get_end_effector_link_name"]], "sha256() (compas_fab.robots.robotsemantics method)": [[551, "compas_fab.robots.RobotSemantics.sha256"]], "to_json() (compas_fab.robots.robotsemantics method)": [[552, "compas_fab.robots.RobotSemantics.to_json"]], "to_jsonstring() (compas_fab.robots.robotsemantics method)": [[553, "compas_fab.robots.RobotSemantics.to_jsonstring"]], "validate_data() (compas_fab.robots.robotsemantics class method)": [[554, "compas_fab.robots.RobotSemantics.validate_data"]], "target (class in compas_fab.robots)": [[555, "compas_fab.robots.Target"]], "tostring() (compas_fab.robots.target method)": [[556, "compas_fab.robots.Target.ToString"]], "copy() (compas_fab.robots.target method)": [[557, "compas_fab.robots.Target.copy"]], "from_json() (compas_fab.robots.target class method)": [[558, "compas_fab.robots.Target.from_json"]], "from_jsonstring() (compas_fab.robots.target class method)": [[559, "compas_fab.robots.Target.from_jsonstring"]], "scaled() (compas_fab.robots.target method)": [[560, "compas_fab.robots.Target.scaled"]], "sha256() (compas_fab.robots.target method)": [[561, "compas_fab.robots.Target.sha256"]], "to_json() (compas_fab.robots.target method)": [[562, "compas_fab.robots.Target.to_json"]], "to_jsonstring() (compas_fab.robots.target method)": [[563, "compas_fab.robots.Target.to_jsonstring"]], "validate_data() (compas_fab.robots.target class method)": [[564, "compas_fab.robots.Target.validate_data"]], "tool (class in compas_fab.robots)": [[565, "compas_fab.robots.Tool"]], "tostring() (compas_fab.robots.tool method)": [[566, "compas_fab.robots.Tool.ToString"]], "copy() (compas_fab.robots.tool method)": [[567, "compas_fab.robots.Tool.copy"]], "from_json() (compas_fab.robots.tool class method)": [[568, "compas_fab.robots.Tool.from_json"]], "from_jsonstring() (compas_fab.robots.tool class method)": [[569, "compas_fab.robots.Tool.from_jsonstring"]], "from_t0cf_to_tcf() (compas_fab.robots.tool method)": [[570, "compas_fab.robots.Tool.from_t0cf_to_tcf"]], "from_tcf_to_t0cf() (compas_fab.robots.tool method)": [[571, "compas_fab.robots.Tool.from_tcf_to_t0cf"]], "from_tool_model() (compas_fab.robots.tool class method)": [[572, "compas_fab.robots.Tool.from_tool_model"]], "sha256() (compas_fab.robots.tool method)": [[573, "compas_fab.robots.Tool.sha256"]], "to_json() (compas_fab.robots.tool method)": [[574, "compas_fab.robots.Tool.to_json"]], "to_jsonstring() (compas_fab.robots.tool method)": [[575, "compas_fab.robots.Tool.to_jsonstring"]], "update_touch_links() (compas_fab.robots.tool method)": [[576, "compas_fab.robots.Tool.update_touch_links"]], "validate_data() (compas_fab.robots.tool class method)": [[577, "compas_fab.robots.Tool.validate_data"]], "trajectory (class in compas_fab.robots)": [[578, "compas_fab.robots.Trajectory"]], "tostring() (compas_fab.robots.trajectory method)": [[579, "compas_fab.robots.Trajectory.ToString"]], "copy() (compas_fab.robots.trajectory method)": [[580, "compas_fab.robots.Trajectory.copy"]], "from_json() (compas_fab.robots.trajectory class method)": [[581, "compas_fab.robots.Trajectory.from_json"]], "from_jsonstring() (compas_fab.robots.trajectory class method)": [[582, "compas_fab.robots.Trajectory.from_jsonstring"]], "sha256() (compas_fab.robots.trajectory method)": [[583, "compas_fab.robots.Trajectory.sha256"]], "to_json() (compas_fab.robots.trajectory method)": [[584, "compas_fab.robots.Trajectory.to_json"]], "to_jsonstring() (compas_fab.robots.trajectory method)": [[585, "compas_fab.robots.Trajectory.to_jsonstring"]], "validate_data() (compas_fab.robots.trajectory class method)": [[586, "compas_fab.robots.Trajectory.validate_data"]], "waypoints (class in compas_fab.robots)": [[587, "compas_fab.robots.Waypoints"]], "tostring() (compas_fab.robots.waypoints method)": [[588, "compas_fab.robots.Waypoints.ToString"]], "copy() (compas_fab.robots.waypoints method)": [[589, "compas_fab.robots.Waypoints.copy"]], "from_json() (compas_fab.robots.waypoints class method)": [[590, "compas_fab.robots.Waypoints.from_json"]], "from_jsonstring() (compas_fab.robots.waypoints class method)": [[591, "compas_fab.robots.Waypoints.from_jsonstring"]], "scaled() (compas_fab.robots.waypoints method)": [[592, "compas_fab.robots.Waypoints.scaled"]], "sha256() (compas_fab.robots.waypoints method)": [[593, "compas_fab.robots.Waypoints.sha256"]], "to_json() (compas_fab.robots.waypoints method)": [[594, "compas_fab.robots.Waypoints.to_json"]], "to_jsonstring() (compas_fab.robots.waypoints method)": [[595, "compas_fab.robots.Waypoints.to_jsonstring"]], "validate_data() (compas_fab.robots.waypoints class method)": [[596, "compas_fab.robots.Waypoints.validate_data"]], "wrench (class in compas_fab.robots)": [[597, "compas_fab.robots.Wrench"]], "tostring() (compas_fab.robots.wrench method)": [[598, "compas_fab.robots.Wrench.ToString"]], "by_samples() (compas_fab.robots.wrench class method)": [[599, "compas_fab.robots.Wrench.by_samples"]], "copy() (compas_fab.robots.wrench method)": [[600, "compas_fab.robots.Wrench.copy"]], "from_json() (compas_fab.robots.wrench class method)": [[601, "compas_fab.robots.Wrench.from_json"]], "from_jsonstring() (compas_fab.robots.wrench class method)": [[602, "compas_fab.robots.Wrench.from_jsonstring"]], "from_list() (compas_fab.robots.wrench class method)": [[603, "compas_fab.robots.Wrench.from_list"]], "gravity_compensated() (compas_fab.robots.wrench method)": [[604, "compas_fab.robots.Wrench.gravity_compensated"]], "sha256() (compas_fab.robots.wrench method)": [[605, "compas_fab.robots.Wrench.sha256"]], "to_json() (compas_fab.robots.wrench method)": [[606, "compas_fab.robots.Wrench.to_json"]], "to_jsonstring() (compas_fab.robots.wrench method)": [[607, "compas_fab.robots.Wrench.to_jsonstring"]], "transform() (compas_fab.robots.wrench method)": [[608, "compas_fab.robots.Wrench.transform"]], "transformed() (compas_fab.robots.wrench method)": [[609, "compas_fab.robots.Wrench.transformed"]], "validate_data() (compas_fab.robots.wrench class method)": [[610, "compas_fab.robots.Wrench.validate_data"]], "to_degrees() (in module compas_fab.robots)": [[611, "compas_fab.robots.to_degrees"]], "to_radians() (in module compas_fab.robots)": [[612, "compas_fab.robots.to_radians"]], "poscon3d (class in compas_fab.sensors)": [[613, "compas_fab.sensors.PosCon3D"]], "activate_flex_mount() (compas_fab.sensors.poscon3d method)": [[614, "compas_fab.sensors.PosCon3D.activate_flex_mount"]], "adjust_to_dark_object() (compas_fab.sensors.poscon3d method)": [[615, "compas_fab.sensors.PosCon3D.adjust_to_dark_object"]], "begin() (compas_fab.sensors.poscon3d method)": [[616, "compas_fab.sensors.PosCon3D.begin"]], "calculate_checksum() (compas_fab.sensors.poscon3d method)": [[617, "compas_fab.sensors.PosCon3D.calculate_checksum"]], "deactivate_flex_mount() (compas_fab.sensors.poscon3d method)": [[618, "compas_fab.sensors.PosCon3D.deactivate_flex_mount"]], "end() (compas_fab.sensors.poscon3d method)": [[619, "compas_fab.sensors.PosCon3D.end"]], "format_command() (compas_fab.sensors.poscon3d method)": [[620, "compas_fab.sensors.PosCon3D.format_command"]], "get_address() (compas_fab.sensors.poscon3d method)": [[621, "compas_fab.sensors.PosCon3D.get_address"]], "get_live_monitor_data() (compas_fab.sensors.poscon3d method)": [[622, "compas_fab.sensors.PosCon3D.get_live_monitor_data"]], "get_measurement() (compas_fab.sensors.poscon3d method)": [[623, "compas_fab.sensors.PosCon3D.get_measurement"]], "get_payload() (compas_fab.sensors.poscon3d method)": [[624, "compas_fab.sensors.PosCon3D.get_payload"]], "reset() (compas_fab.sensors.poscon3d method)": [[625, "compas_fab.sensors.PosCon3D.reset"]], "send_command() (compas_fab.sensors.poscon3d method)": [[626, "compas_fab.sensors.PosCon3D.send_command"]], "set_edge_height() (compas_fab.sensors.poscon3d method)": [[627, "compas_fab.sensors.PosCon3D.set_edge_height"]], "set_flex_mount() (compas_fab.sensors.poscon3d method)": [[628, "compas_fab.sensors.PosCon3D.set_flex_mount"]], "set_measurement_type() (compas_fab.sensors.poscon3d method)": [[629, "compas_fab.sensors.PosCon3D.set_measurement_type"]], "set_precision() (compas_fab.sensors.poscon3d method)": [[630, "compas_fab.sensors.PosCon3D.set_precision"]], "posconcm (class in compas_fab.sensors)": [[631, "compas_fab.sensors.PosConCM"]], "activate_flex_mount() (compas_fab.sensors.posconcm method)": [[632, "compas_fab.sensors.PosConCM.activate_flex_mount"]], "adjust_to_dark_object() (compas_fab.sensors.posconcm method)": [[633, "compas_fab.sensors.PosConCM.adjust_to_dark_object"]], "begin() (compas_fab.sensors.posconcm method)": [[634, "compas_fab.sensors.PosConCM.begin"]], "calculate_checksum() (compas_fab.sensors.posconcm method)": [[635, "compas_fab.sensors.PosConCM.calculate_checksum"]], "deactivate_flex_mount() (compas_fab.sensors.posconcm method)": [[636, "compas_fab.sensors.PosConCM.deactivate_flex_mount"]], "end() (compas_fab.sensors.posconcm method)": [[637, "compas_fab.sensors.PosConCM.end"]], "format_command() (compas_fab.sensors.posconcm method)": [[638, "compas_fab.sensors.PosConCM.format_command"]], "get_address() (compas_fab.sensors.posconcm method)": [[639, "compas_fab.sensors.PosConCM.get_address"]], "get_measurement() (compas_fab.sensors.posconcm method)": [[640, "compas_fab.sensors.PosConCM.get_measurement"]], "get_payload() (compas_fab.sensors.posconcm method)": [[641, "compas_fab.sensors.PosConCM.get_payload"]], "reset() (compas_fab.sensors.posconcm method)": [[642, "compas_fab.sensors.PosConCM.reset"]], "send_command() (compas_fab.sensors.posconcm method)": [[643, "compas_fab.sensors.PosConCM.send_command"]], "set_flex_mount() (compas_fab.sensors.posconcm method)": [[644, "compas_fab.sensors.PosConCM.set_flex_mount"]], "set_measurement_type() (compas_fab.sensors.posconcm method)": [[645, "compas_fab.sensors.PosConCM.set_measurement_type"]], "set_precision() (compas_fab.sensors.posconcm method)": [[646, "compas_fab.sensors.PosConCM.set_precision"]], "teach_flex_mount() (compas_fab.sensors.posconcm method)": [[647, "compas_fab.sensors.PosConCM.teach_flex_mount"]], "protocolerror": [[648, "compas_fab.sensors.ProtocolError"]], "sensortimeouterror": [[649, "compas_fab.sensors.SensorTimeoutError"]], "serialsensor (class in compas_fab.sensors)": [[650, "compas_fab.sensors.SerialSensor"]], "lazyloader (class in compas_fab.utilities)": [[651, "compas_fab.utilities.LazyLoader"]], "allclose() (in module compas_fab.utilities)": [[652, "compas_fab.utilities.allclose"]], "arange() (in module compas_fab.utilities)": [[653, "compas_fab.utilities.arange"]], "argmax() (in module compas_fab.utilities)": [[654, "compas_fab.utilities.argmax"]], "argmin() (in module compas_fab.utilities)": [[655, "compas_fab.utilities.argmin"]], "argsort() (in module compas_fab.utilities)": [[656, "compas_fab.utilities.argsort"]], "clamp() (in module compas_fab.utilities)": [[657, "compas_fab.utilities.clamp"]], "diffs() (in module compas_fab.utilities)": [[658, "compas_fab.utilities.diffs"]], "from_tcf_to_t0cf() (in module compas_fab.utilities)": [[659, "compas_fab.utilities.from_tcf_to_t0cf"]], "list_files_in_directory() (in module compas_fab.utilities)": [[660, "compas_fab.utilities.list_files_in_directory"]], "map_range() (in module compas_fab.utilities)": [[661, "compas_fab.utilities.map_range"]], "range_geometric_row() (in module compas_fab.utilities)": [[662, "compas_fab.utilities.range_geometric_row"]], "read_csv_to_dictionary() (in module compas_fab.utilities)": [[663, "compas_fab.utilities.read_csv_to_dictionary"]], "read_data_from_pickle() (in module compas_fab.utilities)": [[664, "compas_fab.utilities.read_data_from_pickle"]], "sign() (in module compas_fab.utilities)": [[665, "compas_fab.utilities.sign"]], "write_data_to_pickle() (in module compas_fab.utilities)": [[666, "compas_fab.utilities.write_data_to_pickle"]], "compas_fab.backends.interfaces": [[674, "module-compas_fab.backends.interfaces"]], "compas_fab.backends.pybullet.backend_features": [[674, "module-compas_fab.backends.pybullet.backend_features"]], "compas_fab.backends.ros.backend_features": [[674, "module-compas_fab.backends.ros.backend_features"]], "addattachedcollisionmesh (class in compas_fab.backends.interfaces)": [[675, "compas_fab.backends.interfaces.AddAttachedCollisionMesh"]], "add_attached_collision_mesh() (compas_fab.backends.interfaces.addattachedcollisionmesh method)": [[676, "compas_fab.backends.interfaces.AddAttachedCollisionMesh.add_attached_collision_mesh"]], "addcollisionmesh (class in compas_fab.backends.interfaces)": [[677, "compas_fab.backends.interfaces.AddCollisionMesh"]], "add_collision_mesh() (compas_fab.backends.interfaces.addcollisionmesh method)": [[678, "compas_fab.backends.interfaces.AddCollisionMesh.add_collision_mesh"]], "appendcollisionmesh (class in compas_fab.backends.interfaces)": [[679, "compas_fab.backends.interfaces.AppendCollisionMesh"]], "append_collision_mesh() (compas_fab.backends.interfaces.appendcollisionmesh method)": [[680, "compas_fab.backends.interfaces.AppendCollisionMesh.append_collision_mesh"]], "backendfeature (class in compas_fab.backends.interfaces)": [[681, "compas_fab.backends.interfaces.BackendFeature"]], "clientinterface (class in compas_fab.backends.interfaces)": [[682, "compas_fab.backends.interfaces.ClientInterface"]], "add_attached_collision_mesh() (compas_fab.backends.interfaces.clientinterface method)": [[683, "compas_fab.backends.interfaces.ClientInterface.add_attached_collision_mesh"]], "add_collision_mesh() (compas_fab.backends.interfaces.clientinterface method)": [[684, "compas_fab.backends.interfaces.ClientInterface.add_collision_mesh"]], "append_collision_mesh() (compas_fab.backends.interfaces.clientinterface method)": [[685, "compas_fab.backends.interfaces.ClientInterface.append_collision_mesh"]], "forward_kinematics() (compas_fab.backends.interfaces.clientinterface method)": [[686, "compas_fab.backends.interfaces.ClientInterface.forward_kinematics"]], "get_planning_scene() (compas_fab.backends.interfaces.clientinterface method)": [[687, "compas_fab.backends.interfaces.ClientInterface.get_planning_scene"]], "inverse_kinematics() (compas_fab.backends.interfaces.clientinterface method)": [[688, "compas_fab.backends.interfaces.ClientInterface.inverse_kinematics"]], "plan_cartesian_motion() (compas_fab.backends.interfaces.clientinterface method)": [[689, "compas_fab.backends.interfaces.ClientInterface.plan_cartesian_motion"]], "plan_motion() (compas_fab.backends.interfaces.clientinterface method)": [[690, "compas_fab.backends.interfaces.ClientInterface.plan_motion"]], "remove_attached_collision_mesh() (compas_fab.backends.interfaces.clientinterface method)": [[691, "compas_fab.backends.interfaces.ClientInterface.remove_attached_collision_mesh"]], "remove_collision_mesh() (compas_fab.backends.interfaces.clientinterface method)": [[692, "compas_fab.backends.interfaces.ClientInterface.remove_collision_mesh"]], "reset_planning_scene() (compas_fab.backends.interfaces.clientinterface method)": [[693, "compas_fab.backends.interfaces.ClientInterface.reset_planning_scene"]], "forwardkinematics (class in compas_fab.backends.interfaces)": [[694, "compas_fab.backends.interfaces.ForwardKinematics"]], "forward_kinematics() (compas_fab.backends.interfaces.forwardkinematics method)": [[695, "compas_fab.backends.interfaces.ForwardKinematics.forward_kinematics"]], "getplanningscene (class in compas_fab.backends.interfaces)": [[696, "compas_fab.backends.interfaces.GetPlanningScene"]], "get_planning_scene() (compas_fab.backends.interfaces.getplanningscene method)": [[697, "compas_fab.backends.interfaces.GetPlanningScene.get_planning_scene"]], "inversekinematics (class in compas_fab.backends.interfaces)": [[698, "compas_fab.backends.interfaces.InverseKinematics"]], "inverse_kinematics() (compas_fab.backends.interfaces.inversekinematics method)": [[699, "compas_fab.backends.interfaces.InverseKinematics.inverse_kinematics"]], "plancartesianmotion (class in compas_fab.backends.interfaces)": [[700, "compas_fab.backends.interfaces.PlanCartesianMotion"]], "plan_cartesian_motion() (compas_fab.backends.interfaces.plancartesianmotion method)": [[701, "compas_fab.backends.interfaces.PlanCartesianMotion.plan_cartesian_motion"]], "planmotion (class in compas_fab.backends.interfaces)": [[702, "compas_fab.backends.interfaces.PlanMotion"]], "plan_motion() (compas_fab.backends.interfaces.planmotion method)": [[703, "compas_fab.backends.interfaces.PlanMotion.plan_motion"]], "plannerinterface (class in compas_fab.backends.interfaces)": [[704, "compas_fab.backends.interfaces.PlannerInterface"]], "add_attached_collision_mesh() (compas_fab.backends.interfaces.plannerinterface method)": [[705, "compas_fab.backends.interfaces.PlannerInterface.add_attached_collision_mesh"]], "add_collision_mesh() (compas_fab.backends.interfaces.plannerinterface method)": [[706, "compas_fab.backends.interfaces.PlannerInterface.add_collision_mesh"]], "append_collision_mesh() (compas_fab.backends.interfaces.plannerinterface method)": [[707, "compas_fab.backends.interfaces.PlannerInterface.append_collision_mesh"]], "forward_kinematics() (compas_fab.backends.interfaces.plannerinterface method)": [[708, "compas_fab.backends.interfaces.PlannerInterface.forward_kinematics"]], "get_planning_scene() (compas_fab.backends.interfaces.plannerinterface method)": [[709, "compas_fab.backends.interfaces.PlannerInterface.get_planning_scene"]], "inverse_kinematics() (compas_fab.backends.interfaces.plannerinterface method)": [[710, "compas_fab.backends.interfaces.PlannerInterface.inverse_kinematics"]], "plan_cartesian_motion() (compas_fab.backends.interfaces.plannerinterface method)": [[711, "compas_fab.backends.interfaces.PlannerInterface.plan_cartesian_motion"]], "plan_motion() (compas_fab.backends.interfaces.plannerinterface method)": [[712, "compas_fab.backends.interfaces.PlannerInterface.plan_motion"]], "remove_attached_collision_mesh() (compas_fab.backends.interfaces.plannerinterface method)": [[713, "compas_fab.backends.interfaces.PlannerInterface.remove_attached_collision_mesh"]], "remove_collision_mesh() (compas_fab.backends.interfaces.plannerinterface method)": [[714, "compas_fab.backends.interfaces.PlannerInterface.remove_collision_mesh"]], "reset_planning_scene() (compas_fab.backends.interfaces.plannerinterface method)": [[715, "compas_fab.backends.interfaces.PlannerInterface.reset_planning_scene"]], "removeattachedcollisionmesh (class in compas_fab.backends.interfaces)": [[716, "compas_fab.backends.interfaces.RemoveAttachedCollisionMesh"]], "remove_attached_collision_mesh() (compas_fab.backends.interfaces.removeattachedcollisionmesh method)": [[717, "compas_fab.backends.interfaces.RemoveAttachedCollisionMesh.remove_attached_collision_mesh"]], "removecollisionmesh (class in compas_fab.backends.interfaces)": [[718, "compas_fab.backends.interfaces.RemoveCollisionMesh"]], "remove_collision_mesh() (compas_fab.backends.interfaces.removecollisionmesh method)": [[719, "compas_fab.backends.interfaces.RemoveCollisionMesh.remove_collision_mesh"]], "resetplanningscene (class in compas_fab.backends.interfaces)": [[720, "compas_fab.backends.interfaces.ResetPlanningScene"]], "reset_planning_scene() (compas_fab.backends.interfaces.resetplanningscene method)": [[721, "compas_fab.backends.interfaces.ResetPlanningScene.reset_planning_scene"]], "pybulletaddattachedcollisionmesh (class in compas_fab.backends.pybullet.backend_features)": [[722, "compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh"]], "add_attached_collision_mesh() (compas_fab.backends.pybullet.backend_features.pybulletaddattachedcollisionmesh method)": [[723, "compas_fab.backends.pybullet.backend_features.PyBulletAddAttachedCollisionMesh.add_attached_collision_mesh"]], "pybulletaddcollisionmesh (class in compas_fab.backends.pybullet.backend_features)": [[724, "compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh"]], "add_collision_mesh() (compas_fab.backends.pybullet.backend_features.pybulletaddcollisionmesh method)": [[725, "compas_fab.backends.pybullet.backend_features.PyBulletAddCollisionMesh.add_collision_mesh"]], "pybulletappendcollisionmesh (class in compas_fab.backends.pybullet.backend_features)": [[726, "compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh"]], "append_collision_mesh() (compas_fab.backends.pybullet.backend_features.pybulletappendcollisionmesh method)": [[727, "compas_fab.backends.pybullet.backend_features.PyBulletAppendCollisionMesh.append_collision_mesh"]], "pybulletforwardkinematics (class in compas_fab.backends.pybullet.backend_features)": [[728, "compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics"]], "forward_kinematics() (compas_fab.backends.pybullet.backend_features.pybulletforwardkinematics method)": [[729, "compas_fab.backends.pybullet.backend_features.PyBulletForwardKinematics.forward_kinematics"]], "pybulletinversekinematics (class in compas_fab.backends.pybullet.backend_features)": [[730, "compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics"]], "inverse_kinematics() (compas_fab.backends.pybullet.backend_features.pybulletinversekinematics method)": [[731, "compas_fab.backends.pybullet.backend_features.PyBulletInverseKinematics.inverse_kinematics"]], "pybulletremoveattachedcollisionmesh (class in compas_fab.backends.pybullet.backend_features)": [[732, "compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh"]], "remove_attached_collision_mesh() (compas_fab.backends.pybullet.backend_features.pybulletremoveattachedcollisionmesh method)": [[733, "compas_fab.backends.pybullet.backend_features.PyBulletRemoveAttachedCollisionMesh.remove_attached_collision_mesh"]], "pybulletremovecollisionmesh (class in compas_fab.backends.pybullet.backend_features)": [[734, "compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh"]], "remove_collision_mesh() (compas_fab.backends.pybullet.backend_features.pybulletremovecollisionmesh method)": [[735, "compas_fab.backends.pybullet.backend_features.PyBulletRemoveCollisionMesh.remove_collision_mesh"]], "moveitaddattachedcollisionmesh (class in compas_fab.backends.ros.backend_features)": [[736, "compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh"]], "add_attached_collision_mesh() (compas_fab.backends.ros.backend_features.moveitaddattachedcollisionmesh method)": [[737, "compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh"]], "add_attached_collision_mesh_async() (compas_fab.backends.ros.backend_features.moveitaddattachedcollisionmesh method)": [[738, "compas_fab.backends.ros.backend_features.MoveItAddAttachedCollisionMesh.add_attached_collision_mesh_async"]], "moveitaddcollisionmesh (class in compas_fab.backends.ros.backend_features)": [[739, "compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh"]], "add_collision_mesh() (compas_fab.backends.ros.backend_features.moveitaddcollisionmesh method)": [[740, "compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh"]], "add_collision_mesh_async() (compas_fab.backends.ros.backend_features.moveitaddcollisionmesh method)": [[741, "compas_fab.backends.ros.backend_features.MoveItAddCollisionMesh.add_collision_mesh_async"]], "moveitappendcollisionmesh (class in compas_fab.backends.ros.backend_features)": [[742, "compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh"]], "append_collision_mesh() (compas_fab.backends.ros.backend_features.moveitappendcollisionmesh method)": [[743, "compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh"]], "append_collision_mesh_async() (compas_fab.backends.ros.backend_features.moveitappendcollisionmesh method)": [[744, "compas_fab.backends.ros.backend_features.MoveItAppendCollisionMesh.append_collision_mesh_async"]], "moveitforwardkinematics (class in compas_fab.backends.ros.backend_features)": [[745, "compas_fab.backends.ros.backend_features.MoveItForwardKinematics"]], "forward_kinematics() (compas_fab.backends.ros.backend_features.moveitforwardkinematics method)": [[746, "compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics"]], "forward_kinematics_async() (compas_fab.backends.ros.backend_features.moveitforwardkinematics method)": [[747, "compas_fab.backends.ros.backend_features.MoveItForwardKinematics.forward_kinematics_async"]], "moveitinversekinematics (class in compas_fab.backends.ros.backend_features)": [[748, "compas_fab.backends.ros.backend_features.MoveItInverseKinematics"]], "inverse_kinematics() (compas_fab.backends.ros.backend_features.moveitinversekinematics method)": [[749, "compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics"]], "inverse_kinematics_async() (compas_fab.backends.ros.backend_features.moveitinversekinematics method)": [[750, "compas_fab.backends.ros.backend_features.MoveItInverseKinematics.inverse_kinematics_async"]], "moveitplancartesianmotion (class in compas_fab.backends.ros.backend_features)": [[751, "compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion"]], "plan_cartesian_motion() (compas_fab.backends.ros.backend_features.moveitplancartesianmotion method)": [[752, "compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion"]], "plan_cartesian_motion_with_frame_waypoints_async() (compas_fab.backends.ros.backend_features.moveitplancartesianmotion method)": [[753, "compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_frame_waypoints_async"]], "plan_cartesian_motion_with_point_axis_waypoints_async() (compas_fab.backends.ros.backend_features.moveitplancartesianmotion method)": [[754, "compas_fab.backends.ros.backend_features.MoveItPlanCartesianMotion.plan_cartesian_motion_with_point_axis_waypoints_async"]], "moveitplanmotion (class in compas_fab.backends.ros.backend_features)": [[755, "compas_fab.backends.ros.backend_features.MoveItPlanMotion"]], "plan_motion() (compas_fab.backends.ros.backend_features.moveitplanmotion method)": [[756, "compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion"]], "plan_motion_async() (compas_fab.backends.ros.backend_features.moveitplanmotion method)": [[757, "compas_fab.backends.ros.backend_features.MoveItPlanMotion.plan_motion_async"]], "moveitplanningscene (class in compas_fab.backends.ros.backend_features)": [[758, "compas_fab.backends.ros.backend_features.MoveItPlanningScene"]], "get_planning_scene() (compas_fab.backends.ros.backend_features.moveitplanningscene method)": [[759, "compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene"]], "get_planning_scene_async() (compas_fab.backends.ros.backend_features.moveitplanningscene method)": [[760, "compas_fab.backends.ros.backend_features.MoveItPlanningScene.get_planning_scene_async"]], "moveitremoveattachedcollisionmesh (class in compas_fab.backends.ros.backend_features)": [[761, "compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh"]], "remove_attached_collision_mesh() (compas_fab.backends.ros.backend_features.moveitremoveattachedcollisionmesh method)": [[762, "compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh"]], "remove_attached_collision_mesh_async() (compas_fab.backends.ros.backend_features.moveitremoveattachedcollisionmesh method)": [[763, "compas_fab.backends.ros.backend_features.MoveItRemoveAttachedCollisionMesh.remove_attached_collision_mesh_async"]], "moveitremovecollisionmesh (class in compas_fab.backends.ros.backend_features)": [[764, "compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh"]], "remove_collision_mesh() (compas_fab.backends.ros.backend_features.moveitremovecollisionmesh method)": [[765, "compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh"]], "remove_collision_mesh_async() (compas_fab.backends.ros.backend_features.moveitremovecollisionmesh method)": [[766, "compas_fab.backends.ros.backend_features.MoveItRemoveCollisionMesh.remove_collision_mesh_async"]], "moveitresetplanningscene (class in compas_fab.backends.ros.backend_features)": [[767, "compas_fab.backends.ros.backend_features.MoveItResetPlanningScene"]], "reset_planning_scene() (compas_fab.backends.ros.backend_features.moveitresetplanningscene method)": [[768, "compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene"]], "reset_planning_scene_async() (compas_fab.backends.ros.backend_features.moveitresetplanningscene method)": [[769, "compas_fab.backends.ros.backend_features.MoveItResetPlanningScene.reset_planning_scene_async"]]}}) \ No newline at end of file
  • -
  • ensure_cached_robot() (compas_fab.backends.AnalyticalPyBulletClient static method) +
  • ensure_cached_robot_model() (compas_fab.backends.AnalyticalPyBulletClient static method)
  • -
  • ensure_cached_robot_geometry() (compas_fab.backends.AnalyticalPyBulletClient static method) +
  • ensure_cached_robot_model_geometry() (compas_fab.backends.AnalyticalPyBulletClient static method)
  • 37_utlt-~-$-G)anV7@6;Xuz;a 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