- 1 Minute to read
Arms
- 1 Minute to read
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:
Group | Arms |
both | left_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
- get_arms_list()
- get_groups_list()
- get_joints_list()
- get_joints_limits()
- get_joint_type()
- get_arm_state()
- get_predefined_poses_list()
- get_predefined_trajectories_list()
- get_current_joints_position()
- get_current_pose()
- get_current_joint_position()
2.2 Arm/Joint checking methods
- is_linear_joint()
- is_rotational_joint()
- is_pose_valid()
- is_pose_valid_q()
- is_joints_position_valid()
- is_any_arm_in_execution()
- are_checkings_in_progress()
2.3 Manage predefined data
2.4 Execute arm movements
- set_predefined_pose()
- set_joints_position()
- set_joint_position()
- set_pose()
- set_pose_q()
- execute_predefined_trajectory()
- execute_predefined_poses_array()
- execute_joint_positions_array()
- execute_poses_array()
- execute_poses_array_q()
- set_multi_arm_pose()
2.5 Gripper
2.6 Cancel execution
2.7 Objects
2.8 Constraints
2.9 Tools
3. Examples
- Arms: Check Pose
- Arms: Check Pose Obstacles
- Arms: Check Position Joints
- Arms: Manage Predefined Poses
- Arms: Set Predefined Pose
- Arms: set joints position
- Arms: set pose
- Arms Set Pose Obstacles
- Arms: Execute Predefined Pose Array
- Arms: execute pose array
- Arms: Set Multi Arms Pose
- Arms: Set Gripper
- Arms: add constraints