Documentation ¶
Overview ¶
Package arm defines the arm that a robot uses to manipulate objects.
Package arm contains a gRPC based arm client.
Package arm contains a gRPC based arm service server.
Index ¶
- Constants
- Variables
- func CheckDesiredJointPositions(ctx context.Context, a Arm, desiredJoints *pb.JointPositions) error
- func CreateStatus(ctx context.Context, a Arm) (*pb.Status, error)
- func GoToWaypoints(ctx context.Context, a Arm, waypoints [][]referenceframe.Input) error
- func Move(ctx context.Context, logger golog.Logger, a Arm, dst spatialmath.Pose) error
- func Named(name string) resource.Name
- func NamesFromRobot(r robot.Robot) []string
- func NewRPCServiceServer(coll resource.APIResourceCollection[Arm]) interface{}
- func Plan(ctx context.Context, logger golog.Logger, a Arm, dst spatialmath.Pose) ([][]referenceframe.Input, error)
- type Arm
Constants ¶
const MTPoob = "cartesian movements are not allowed when arm joints are out of bounds"
MTPoob is a string that all MoveToPosition errors should contain if the method is called and there are joints which are out of bounds.
const SubtypeName = "arm"
SubtypeName is a constant that identifies the component resource API string "arm".
Variables ¶
var API = resource.APINamespaceRDK.WithComponentType(SubtypeName)
API is a variable that identifies the component resource API.
Functions ¶
func CheckDesiredJointPositions ¶ added in v0.2.15
CheckDesiredJointPositions validates that the desired joint positions either bring the joint back in bounds or do not move the joint more out of bounds.
func CreateStatus ¶
CreateStatus creates a status from the arm. This will report calculated end effector positions even if the given arm is perceived to be out of bounds.
func GoToWaypoints ¶
GoToWaypoints will visit in turn each of the joint position waypoints generated by a motion planner.
func NamesFromRobot ¶
NamesFromRobot is a helper for getting all arm names from the given Robot.
func NewRPCServiceServer ¶ added in v0.2.36
func NewRPCServiceServer(coll resource.APIResourceCollection[Arm]) interface{}
NewRPCServiceServer constructs an arm gRPC service server. It is intentionally untyped to prevent use outside of tests.
Types ¶
type Arm ¶
type Arm interface { resource.Resource referenceframe.ModelFramer resource.Shaped resource.Actuator referenceframe.InputEnabled // EndPosition returns the current position of the arm. EndPosition(ctx context.Context, extra map[string]interface{}) (spatialmath.Pose, error) // MoveToPosition moves the arm to the given absolute position. // This will block until done or a new operation cancels this one MoveToPosition(ctx context.Context, pose spatialmath.Pose, extra map[string]interface{}) error // MoveToJointPositions moves the arm's joints to the given positions. // This will block until done or a new operation cancels this one MoveToJointPositions(ctx context.Context, positionDegs *pb.JointPositions, extra map[string]interface{}) error // JointPositions returns the current joint positions of the arm. JointPositions(ctx context.Context, extra map[string]interface{}) (*pb.JointPositions, error) }
An Arm represents a physical robotic arm that exists in three-dimensional space.
func FromDependencies ¶
func FromDependencies(deps resource.Dependencies, name string) (Arm, error)
FromDependencies is a helper for getting the named arm from a collection of dependencies.
Directories ¶
Path | Synopsis |
---|---|
Package eva implements the Eva robot from Automata.
|
Package eva implements the Eva robot from Automata. |
Package fake implements a fake arm.
|
Package fake implements a fake arm. |
Package register registers all relevant arms
|
Package register registers all relevant arms |
Package universalrobots implements the UR arm from Universal Robots.
|
Package universalrobots implements the UR arm from Universal Robots. |
Package wrapper is a package that defines an implementation that wraps a partially implemented arm
|
Package wrapper is a package that defines an implementation that wraps a partially implemented arm |
Package xarm implements some xArms.
|
Package xarm implements some xArms. |
Package yahboom implements a yahboom based robot.
|
Package yahboom implements a yahboom based robot. |