Arms
  • 1 Minute to read

Arms


Article summary

1. Overview

The controller for this specific robotic device offers a versatile range of methods to effectively manipulate its arms. It enables access to essential information, including groups of arms, individual arms, and the respective joints of each arm. Details such as joint types, limits, current joint states, and the present pose of the end effector for each arm are readily available. This functionality facilitates seamless verification and trajectory planning by specifying desired positions for joints or end effector poses.

Additionally, the controller empowers users to manage various aspects, including creating, removing, editing, retrieving, and gathering information on predefined poses and trajectories. It encompasses a comprehensive set of commands to precisely position the joints or set the end effector to specific poses detecting obstacles from cameras if it's desired. Furthermore, the controller supports the incorporation of constraints into trajectories and allows  the inclusion of obstacles or attaching them to the end effector.

For example, Gary's arms are identified by the following names:

GroupArms
bothleft_arm
right_arm


in order to get the list of available joints, please run  get_joints_list().

2. Using the Controller

Creating the controller in your app:

from raya.application_base import RayaApplicationBase

class RayaApplication(RayaApplicationBase):
    async def setup(self):
        ...
        self.arms = self.enable_controller('arms')
        ...

The controller class includes a large set of methods to allow you to interact or get state of the arms or joints.

You can find all the methods divided into these groups:

2.1 Get Arm/Joint Information


2.2  Arm/Joint checking methods


2.3 Manage predefined data


2.4 Execute arm movements


2.5 Gripper


2.6 Cancel execution


2.7 Objects


2.8 Constraints


2.9 Tools


3. Examples




Was this article helpful?