Source code for armarx_robots.armar_3
from typing import Dict
from functools import lru_cache
from armarx_robots.basic_robot import Robot
from armarx import KinematicUnitInterfacePrx
from armarx import ViewSelectionInterfacePrx
from armarx import ViewTargetBase
from armarx_robots.statechart import StatechartExecutor
[docs]class A3(Robot):
"""
ARMAR-III
.. highlight:: python
.. code-block:: python
from armarx.robots import A3
robot = A3()
robot.say('hello world')
"""
profile_name = "Armar3Real"
def __init__(self):
super().__init__()
self.on_connect()
@property
@lru_cache(1)
def kinematic_unit(self):
return KinematicUnitInterfacePrx.get_proxy("Armar3KinematicUnit")
def on_connect(self):
super().on_connect()
class GazeSelection:
def __init__(self):
self.view_selection = ViewSelectionInterfacePrx.get_proxy()
def fixate(self, target, timeout=0):
self.view_selection.addManualViewTarget(target)
self.gaze = GazeSelection()
def move_to(self, state_parameters=None):
s = StatechartExecutor(self.profile_name, "PlatformGroup", "MovePlatform")
return s.run(state_parameters, True)
def bring_object(self, state_parameters=None):
s = StatechartExecutor(self.profile_name, "BringObject", "")
return s.run(state_parameters, True)
def grasp_object(self, state_parameters=None):
s = StatechartExecutor(
self.profile_name, "GraspObjectGroup", "GraspSingleObject"
)
return s.run(state_parameters, True)