:py:mod:`rofunc.utils.robolab.rdf.bbo_planning`
===============================================

.. py:module:: rofunc.utils.robolab.rdf.bbo_planning

.. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning
   :allowtitles:

Module Contents
---------------

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`BBOPlanner <rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner>`
     - .. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner
          :summary:

API
~~~

.. py:class:: BBOPlanner(args, rdf_model, box_size, box_pos, box_rotation)
   :canonical: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner

   .. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.__init__

   .. py:method:: load_box_object()
      :canonical: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.load_box_object

      .. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.load_box_object

   .. py:method:: compute_internal_points(num=10, use_surface_points=False)
      :canonical: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.compute_internal_points

      .. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.compute_internal_points

   .. py:method:: compute_contact_points()
      :canonical: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.compute_contact_points

      .. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.compute_contact_points

   .. py:method:: reaching_cost(joint_value, p, base_trans)
      :canonical: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.reaching_cost

      .. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.reaching_cost

   .. py:method:: collision_cost(joint_value, p, base_trans)
      :canonical: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.collision_cost

      .. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.collision_cost

   .. py:method:: normal_cost(joint_value, p, tgt_normal, base_trans)
      :canonical: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.normal_cost

      .. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.normal_cost

   .. py:method:: limit_angles(joint_value)
      :canonical: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.limit_angles

      .. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.limit_angles

   .. py:method:: joint_limits_cost(joint_value, theta_max, theta_min)
      :canonical: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.joint_limits_cost

      .. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.joint_limits_cost

   .. py:method:: middle_joint_cost(joint_value, theta_mid)
      :canonical: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.middle_joint_cost

      .. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.middle_joint_cost

   .. py:method:: optimizer(p, n, theta_mid, base_trans=None, batch=64)
      :canonical: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.optimizer

      .. autodoc2-docstring:: rofunc.utils.robolab.rdf.bbo_planning.BBOPlanner.optimizer
