Category:Cognitao

From cogniteam
Revision as of 10:47, 19 September 2019 by Ariy (talk | contribs)
Jump to: navigation, search

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 (Synchronous execution)

<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 (Asynchronous execution)

<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

Behavior tree support is for Sequencer / Selector / Parallel. More logic flow controllers can be easily defined. <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>

World model access in CogniTAO

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

XML plan definition support CogniTAO

Simple SCXML support <source lang="C++"> <state initial="A">

   <state id="A"> 
       <state initial="a1">
           <state id="a1">
               <transition event="COIN_A" target="a2"/>
           </state>
           <state id="a2">
           </state>
       </state>
       <transition event="CHANGE_M" target="B"/>
   </state>
   <state id="B">
       <state initial="b1">
           <state id="b1">
               <transition event="COIN_B" target="b2"/>
           </state>
           <state id="b2">
           </state>
       </state>
        <transition event="UNCHANGE_M" target="A"/>
   </state>

</state> </source>

This category currently contains no pages or media.