ASCO Aerial Autonomy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
ArmSystem Class Reference

Owns, initializes, and facilitates communication between different hardware/software components. Provides builtin set/get end effector pose, joint angles for a generic arm. More...

#include <arm_system.h>

Inheritance diagram for ArmSystem:
Inheritance graph
[legend]
Collaboration diagram for ArmSystem:
Collaboration graph
[legend]

Public Member Functions

 ArmSystem (ArmParser &arm_hardware)
 Constructor. More...
 
Eigen::Matrix4d getEndEffectorPose ()
 Public API call to get end effector transform. More...
 
bool grip (bool grip_action)
 Public API call to grip/ungrip an object. More...
 
void power (bool state)
 Power the arm on/off. More...
 
void foldArm ()
 Set the arm joints to a known folded configuration. More...
 
void rightArm ()
 Set the arm joints to a known L shaped configuration. More...
 
std::string getSystemStatus () const
 Provide the current state of arm system. More...
 
bool getCommandStatus () const
 Verify the status of grip/power on/off and fold/rightArm commands. More...
 
bool enabled () const
 If arm is enabled return. More...
 
- Public Member Functions inherited from BaseRobotSystem
 BaseRobotSystem ()
 Constructor to initialize active controllers and mutexes to NULL. More...
 
template<class ControllerHardwareConnectorT , class GoalT >
void setGoal (GoalT goal)
 sets goal to the connector and swaps the active connector with the specified connector type. More...
 
template<class ControllerHardwareConnectorT , class GoalT >
GoalT getGoal () const
 Get the goal from connector. More...
 
template<class ControllerHardwareConnectorT >
ControllerStatus getStatus () const
 Get the status of a controller. More...
 
ControllerStatus getActiveControllerStatus (HardwareType hardware_type) const
 Get the status of the active controller. More...
 
void abortController (HardwareType hardware_type)
 Remove active controller for given hardware type. More...
 
void runActiveController (HardwareType hardware_type)
 Run active controller stored for a given hardware type. More...
 

Additional Inherited Members

- Protected Attributes inherited from BaseRobotSystem
TypeMap
< AbstractControllerHardwareConnector
controller_hardware_connector_container_
 Container to store and retrieve controller-hardware-connectors. More...
 

Detailed Description

Owns, initializes, and facilitates communication between different hardware/software components. Provides builtin set/get end effector pose, joint angles for a generic arm.

Constructor & Destructor Documentation

ArmSystem::ArmSystem ( ArmParser &  arm_hardware)
inline

Constructor.

ArmSystem requires an arm hardware. It instantiates the connectors, controllers

Parameters
arm_hardwareinput hardware to send commands back

Member Function Documentation

bool ArmSystem::enabled ( ) const
inline

If arm is enabled return.

Returns
True if arm enabled
void ArmSystem::foldArm ( )
inline

Set the arm joints to a known folded configuration.

bool ArmSystem::getCommandStatus ( ) const
inline

Verify the status of grip/power on/off and fold/rightArm commands.

Returns
True if the command is complete
Eigen::Matrix4d ArmSystem::getEndEffectorPose ( )
inline

Public API call to get end effector transform.

std::string ArmSystem::getSystemStatus ( ) const
inlinevirtual

Provide the current state of arm system.

Todo:
Add status about arm powered on/off, and any error messages can also add arm end effector pose if useful
Returns
string representation of the arm system state

Implements BaseRobotSystem.

Reimplemented in UAVArmSystem.

bool ArmSystem::grip ( bool  grip_action)
inline

Public API call to grip/ungrip an object.

Parameters
grip_actiontrue to grip an object and false to ungrip
Returns
True if command sent successfully, false otherwise
void ArmSystem::power ( bool  state)
inline

Power the arm on/off.

Parameters
stateTrue to switch on, and False to switch off.
void ArmSystem::rightArm ( )
inline

Set the arm joints to a known L shaped configuration.


The documentation for this class was generated from the following file: