Difference between revisions of "Category:Cognitao"

From cogniteam
Jump to: navigation, search
Line 44: Line 44:
 
</source>
 
</source>
  
=== Task preemption in CogniTAO ===
+
=== Behaviors in CogniTAO ===
 
<source lang="C++">
 
<source lang="C++">
class TaskIdle: public TaskThread
+
class BehaviourTrue : public Behaviour
 
{
 
{
 
public:
 
public:
// Function to be executed by thread function
+
virtual bool action(){
void run()
+
std::cout << "." << std::flush;
{
+
std::this_thread::sleep_for(std::chrono::milliseconds(2000));
// Check if thread is requested to stop ?
+
return  true;
while (stopRequested == false)
 
{
 
std::ostringstream strs;
 
strs << "*";
 
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
 
}
 
 
}
 
}
 
};
 
};
 +
</source>
 +
 +
=== WM access in CogniTAO ===
 +
<source lang="C++">
 +
WM::setVar("EVENT","E2");
 
</source>
 
</source>

Revision as of 10:30, 19 September 2019

CogniTAO

HSM
BT

CogniTAO is a collection of decision making tools that include

  • A pure C++ Cx11 executive for (Windows 10, Linux Debian, Intel / ARM support)
    • Finite State Machines
    • Hierarchical State Machines
    • Behavior Trees
    • BDI models
  • A Web visualization pure Javascript tool for monitoring
  • A teamwork controller
  • A real-time planner

Simple task in CogniTAO

<source lang="C++"> class TaskTrue: public Task{ public: virtual void run() { std::cout << "." << std::flush; std::this_thread::sleep_for(std::chrono::milliseconds(1000)); setReturn(true); } }; </source>

Task preemption in CogniTAO

<source lang="C++"> class TaskIdle: public TaskThread { public: // Function to be executed by thread function void run() { // Check if thread is requested to stop ? while (stopRequested == false) { std::ostringstream strs; strs << "*"; std::this_thread::sleep_for(std::chrono::milliseconds(1000)); } } }; </source>

Behaviors in CogniTAO

<source lang="C++"> class BehaviourTrue : public Behaviour { public: virtual bool action(){ std::cout << "." << std::flush; std::this_thread::sleep_for(std::chrono::milliseconds(2000)); return true; } }; </source>

WM access in CogniTAO

<source lang="C++"> WM::setVar("EVENT","E2"); </source>

This category currently contains no pages or media.