8 #include <argos3/core/utility/logging/argos_log.h>
16 m_pcQuadRotorEntity(NULL) {
34 THROW_ARGOSEXCEPTION(
"Can't associate a quadrotor position actuator to entity \"" << c_entity.
GetId() <<
"\" because it conflicts with a previously associated quadrotor actuator.");
110 "quadrotor_position",
"default",
111 "Carlo Pinciroli [ilpincy@gmail.com]",
113 "The quadrotor position actuator.",
114 "This actuator controls the position of a quadrotor robot. For a\n"
115 "complete description of its usage, refer to the\n"
116 "ci_quadrotor_position_actuator.h file.\n\n"
117 "REQUIRED XML CONFIGURATION\n\n"
120 " <my_controller ...>\n"
124 " <quadrotor_position implementation=\"default\" />\n"
128 " </my_controller>\n"
130 " </controllers>\n\n"
131 "OPTIONAL XML CONFIGURATION\n\n"
132 "None for the time being.\n\n"
void SetControlMethod(EControlMethod e_control_method)
virtual void SetRelativeYaw(const CRadians &c_yaw)
Sets the yaw of the robot in the environment relative to the current position and attitude...
#define THROW_ARGOSEXCEPTION(message)
This macro throws an ARGoS exception with the passed message.
CVector3 & Rotate(const CQuaternion &c_quaternion)
Rotates this vector by the given quaternion.
virtual void SetAbsolutePosition(const CVector3 &c_pos)
Sets the absolute position of the robot in the environment.
CQuadRotorPositionDefaultActuator()
CQuaternion Orientation
The orientation of the anchor wrt the global coordinate system.
ticpp::Element TConfigurationNode
The ARGoS configuration XML node.
This entity is a link to a body in the physics engine.
void SetPositionControlData(const SPositionControlData &s_data)
#define THROW_ARGOSEXCEPTION_NESTED(message, nested)
This macro throws an ARGoS exception with the passed message and nesting the passed exception...
virtual void Reset()
Resets the actuator to the state it had just after Init().
It defines the basic type CRadians, used to store an angle value in radians.
CQuadRotorEntity::SPositionControlData m_sDesiredPosData
virtual void Init(TConfigurationNode &t_node)
Initializes the actuator from the XML configuration tree.
virtual void SetRelativePosition(const CVector3 &c_pos)
Sets the position of the robot in the environment relative to the current position and attitude...
Basic class for an entity that contains other entities.
virtual void Update()
Updates the state of the entity associated to this actuator.
CEmbodiedEntity * m_pcEmbodiedEntity
void ToEulerAngles(CRadians &c_z_angle, CRadians &c_y_angle, CRadians &c_x_angle) const
The exception that wraps all errors in ARGoS.
CVector3 Position
The position of the anchor wrt the global coordinate system.
const std::string & GetId() const
Returns the id of this entity.
virtual void SetRobot(CComposableEntity &c_entity)
Sets the entity associated to this actuator.
virtual void Init(TConfigurationNode &t_tree)
Initializes the actuator from the XML configuration tree.
EControlMethod GetControlMethod() const
The namespace containing all the ARGoS related code.
REGISTER_ACTUATOR(CQuadRotorPositionDefaultActuator,"quadrotor_position","default","Carlo Pinciroli [ilpincy@gmail.com]","1.0","The quadrotor position actuator.","This actuator controls the position of a quadrotor robot. For a\n""complete description of its usage, refer to the\n""ci_quadrotor_position_actuator.h file.\n\n""REQUIRED XML CONFIGURATION\n\n"" <controllers>\n"" ...\n"" <my_controller ...>\n"" ...\n"" <actuators>\n"" ...\n"" <quadrotor_position implementation=\"default\" />\n"" ...\n"" </actuators>\n"" ...\n"" </my_controller>\n"" ...\n"" </controllers>\n\n""OPTIONAL XML CONFIGURATION\n\n""None for the time being.\n\n","Usable")
virtual void SetAbsoluteYaw(const CRadians &c_yaw)
Sets the absolute yaw of the robot in the world.
const SAnchor & GetOriginAnchor() const
Returns a const reference to the origin anchor associated to this entity.
CEntity & GetComponent(const std::string &str_component)
Returns the component with the passed string label.
CQuadRotorEntity * m_pcQuadRotorEntity