giskardpy.motion_statechart.tasks.grasp_bar#

Classes#

GraspBar

Like a CartesianPose but with more freedom: the tip link is allowed to be at any

Module Contents#

class giskardpy.motion_statechart.tasks.grasp_bar.GraspBar#

Bases: giskardpy.motion_statechart.graph_node.ConvergingTask

Like a CartesianPose but with more freedom: the tip link is allowed to be at any point along the bar axis within bar_center +/- bar_length / 2.

It aligns tip_grasp_axis with bar_axis while allowing rotation around it.

Root link of the kinematic chain.

Tip link of the kinematic chain.

tip_grasp_axis: krrood_spatial_math.spatial_types.Vector3#

Axis of the tip link that will be aligned with the bar axis.

bar_center: krrood_spatial_math.spatial_types.Point3#

Center of the bar to be grasped.

bar_axis: krrood_spatial_math.spatial_types.Vector3#

Alignment of the bar to be grasped.

bar_length: float#

Length of the bar to be grasped.

threshold: float = 0.01#

Distance threshold to the bar for goal achievement in meters.

reference_linear_velocity: float = 0.1#

Reference linear velocity for normalization in m/s.

reference_angular_velocity: float = 0.5#

Reference angular velocity for normalization in rad/s.

weight: float#

Priority weight relative to other tasks.

build_artifacts() → giskardpy.motion_statechart.graph_node.MotionNodeArtifacts#

Build motion constraints that pull the tip onto the bar.

Returns:

The artifacts of this task, whose error is the distance between the tip and the bar segment.