LRT14  1.0
 All Classes Namespaces Functions Variables Enumerations Enumerator
Arc Class Reference

Drives the robot in a calculated arc turn. To get a turn velocity from a forward velocity and a desired arc radius, use the following formula: Turn = Forward * Robot Width / (2 * Desired Radius), derived from arc radius formula (Desired Radius = Robot Width / (1 - Slower Wheel / Faster Wheel) - Robot Width / 2, where Slower Wheel = Forward - Turn and Faster Wheel = Forward + Turn). Turn is always the same sign as Forward, so add a sign to velocitySetpoint. More...

#include <Arc.h>

Inheritance diagram for Arc:
Collaboration diagram for Arc:

Public Member Functions

bool Start ()
 Starts the task.
 
bool Run ()
 Runs one cycle of the task.
 
bool Abort ()
 Aborts the task.
 
void AllocateResources ()
 Calls AllocateResource() on resources used in by this task.
 
void Configure ()
 Overload this function to apply new configuration when configuration is loaded.
 
- Public Member Functions inherited from Automation
 Automation (const char *name, bool requiresAbortCycles=false, bool queueIfBlocked=false, bool restartable=false)
 Creates an automation routine.
 
bool Update ()
 Updates the task for one cycle, including calling Run().
 
bool StartAutomation (Event *trigger=NULL)
 Tries to start this task.
 
bool AbortAutomation (Event *trigger=NULL)
 Tries to aborts this task.
 
void ContinueAutomation (Event *trigger)
 Sets the task to continue.
 
bool CheckResources ()
 Allocates resources used by this task. Checks if this task is blocked.
 
void DeallocateResources ()
 Clears all resources allocated by this task.
 
bool IsRestartable ()
 Gets whether a task can be restarted (started again when already running).
 
bool QueueIfBlocked ()
 Gets whether a task should continue to be started if blocked.
 
bool RequiresAbortCycles ()
 Gets whether a task requires running cycles before aborting.
 
const char * GetName ()
 Gets the name of the automation routine.
 

Additional Inherited Members

- Static Public Member Functions inherited from Automation
static bool GetAllocation (ControlResource::Enum resource)
 Gets the task that allocated a resource.
 
- Protected Member Functions inherited from Automation
bool AllocateResource (ControlResource::Enum resource)
 Allocates a resource to be used.
 
bool Aborting ()
 Gets whether this task is aborting (abort event fired and requires abort cycles).
 
bool Continued ()
 Returns whether this task has been continued.
 
EventGetStartEvent ()
 Returns the event that started this task.
 
EventGetAbortEvent ()
 Returns the event that aborted this task.
 
EventGetContinueEvent ()
 Returns the event that continued this task.
 

Detailed Description

Drives the robot in a calculated arc turn. To get a turn velocity from a forward velocity and a desired arc radius, use the following formula: Turn = Forward * Robot Width / (2 * Desired Radius), derived from arc radius formula (Desired Radius = Robot Width / (1 - Slower Wheel / Faster Wheel) - Robot Width / 2, where Slower Wheel = Forward - Turn and Faster Wheel = Forward + Turn). Turn is always the same sign as Forward, so add a sign to velocitySetpoint.

Member Function Documentation

bool Arc::Abort ( )
virtual

Aborts the task.

Returns
true if task can be aborted, false otherwise

Implements Automation.

Here is the call graph for this function:

bool Arc::Run ( )
virtual

Runs one cycle of the task.

Returns
true if completed, false otherwise

Implements Automation.

Here is the call graph for this function:

bool Arc::Start ( )
virtual

Starts the task.

Returns
true if task is able to start, false otherwise

Implements Automation.

Here is the call graph for this function:


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