PyBulletClient¶
-
class
compas_fab.backends.
PyBulletClient
(connection_type='gui', verbose=False)[source]¶ Bases:
compas_fab.backends.pybullet.client.PyBulletBase
,compas_fab.backends.interfaces.client.ClientInterface
Interface to use pybullet as backend.
compasfab.backends.PyBulletClient
is a context manager type, so it’s best used in combination with thewith
statement to ensure resource deallocation.Thanks to Yijiang Huang and his work in pybullet_planning for much inspiration.
- Parameters
Examples
>>> from compas_fab.backends import PyBulletClient >>> with PyBulletClient(connection_type='direct') as client: ... print('Connected: %s' % client.is_connected) Connected: True
Methods
__init__
([connection_type, verbose])Initialize self.
add_attached_collision_mesh
(*args, **kwargs)Forwards call to appropriate method in the planner.
add_collision_mesh
(*args, **kwargs)Forwards call to appropriate method in the planner.
append_collision_mesh
(*args, **kwargs)Forwards call to appropriate method in the planner.
body_from_obj
(path[, scale, concavity, …])Create a PyBullet body from an OBJ file.
cache_robot
(robot)Saves an editable copy of the robot’s model and its meshes for shadowing the state of the robot on the PyBullet server.
Checks whether any of the collision objects are colliding.
check_collision_with_objects
(robot)Checks whether the robot and its attached collision objects with its current configuration is is colliding with any collision objects.
check_collisions
(robot[, configuration])Checks whether the current or given configuration is in collision.
check_robot_self_collision
(robot)Checks whether the robot and its attached collision objects with its current configuration is colliding with itself.
connect
([shadows, color, width, height])Connect from the PyBullet server.
convert_mesh_to_body
(mesh, frame[, _name, …])Convert compas mesh and its frame to a pybullet body
Disconnect from the PyBullet server.
ensure_cached_robot
(robot)Checks if a
compas_fab.robots.Robot
has been cached for use with PyBullet.ensure_cached_robot_geometry
(robot)Checks if the geometry of a
compas_fab.robots.Robot
has been cached for use with PyBullet.filter_configurations_in_collision
(robot, …)Filters from a list of configurations those which are in collision.
forward_kinematics
(*args, **kwargs)Forwards call to appropriate method in the planner.
get_cached_robot
(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
(robot)Returns the filepath of the editable copy of the robot’s model for shadowing the state of the robot on the PyBullet server.
get_planning_scene
(*args, **kwargs)Forwards call to appropriate method in the planner.
get_robot_configuration
(robot)Gets the robot’s current pose.
get_uid
(cached_robot)Returns the internal PyBullet id of the robot’s model for shadowing the state of the robot on the PyBullet server.
inverse_kinematics
(*args, **kwargs)Forwards call to appropriate method in the planner.
load_robot
(urdf_file[, resource_loaders])Create a pybullet robot using the input urdf file.
plan_cartesian_motion
(*args, **kwargs)Forwards call to appropriate method in the planner.
plan_motion
(*args, **kwargs)Forwards call to appropriate method in the planner.
reload_from_cache
(robot)Reloads the PyBullet server with the robot’s cached model.
remove_attached_collision_mesh
(*args, **kwargs)Forwards call to appropriate method in the planner.
remove_collision_mesh
(*args, **kwargs)Forwards call to appropriate method in the planner.
reset_planning_scene
(*args, **kwargs)Forwards call to appropriate method in the planner.
set_robot_configuration
(robot, configuration)Sets the robot’s pose to the given configuration.
By default, the physics server will not step the simulation, unless you explicitly send a
step_simulation
command.Attributes
is_connected
Indicates whether the client has an active connection.