colab2 / midca Goto Github PK
View Code? Open in Web Editor NEWThe Metacognitive Integrated Dual-Cycle Architecture (MIDCA)
Home Page: http://www.midca-arch.org/
License: MIT License
The Metacognitive Integrated Dual-Cycle Architecture (MIDCA)
Home Page: http://www.midca-arch.org/
License: MIT License
MIDCA still at python 2.7. Given support stops 1 Jan 21, we should update code to python version 3.
Dustin's recommendation for clarifying processes and standards.
I faced a problem when state changes in execution time and Act doesn't perform correctly. The plan is not applicable in the current state because of the new change. The Plan phase generates a new plan and adds to it to the set of plans for that goal. Act checks each plan to see which one is applicable. Although it doesn't pick the right plan. It picks the old plan which is not applicable in the current state, and when it executes the action it says this action is illegal in the state.
This involves thesis work by Sampath Gogineni.
File at https://tinyurl.com/midcadoc
The midca manual link in the Readme.md file is pointed to a google drive link and the link needs to be updated.
I need to fix some path problem in the code.
Many comments point to coding issues to address and use #TODO to mark them. Pycharm will collect all of them and make it easy to find them.
Uniform goal representation in terms of the following predicate.
requested (asking-agent, asked-agent, goal, optional-explanation)
The file midca/tests/test_all_examples.py throws the following errors on files which should be more specific to the error being related to Running ROS on a machine not connected to Neo.
examples/ObjectDetector.py...............................................................[FAILED during initialization]
examples/Calibrate.py............................................................................[FAILED during initialization]
Anthony Mitchell's undergrad honors project.
No valid plan found that achieves any current goals.
****** Starting Act Phase ******
MIDCA will not select an action this cycle.
Traceback (most recent call last):
File "C:\Users\Zohreh\git\midca\midca\examples\Logistics_jshop.py", line 63, in
myMidca.run()
File "c:\users\zohreh\git\midca\midca\base.py", line 620, in run
val = self.next_phase()
File "c:\users\zohreh\git\midca\midca\base.py", line 404, in next_phase
val = self.midca.next_phase(verbose)
File "c:\users\zohreh\git\midca\midca\base.py", line 290, in next_phase
retVal = module.run((phaseNum - 1) / len(phases), verbose)
File "c:\users\zohreh\git\midca\midca\modules\act.py", line 157, in run
self.mem.get(self.mem.GOAL_GRAPH).remove(g)
File "c:\users\zohreh\git\midca\midca\goals.py", line 154, in remove
delNode = self._getGoalNode(goal)
File "c:\users\zohreh\git\midca\midca\goals.py", line 291, in _getGoalNode
if self.consistentGoal(goal, next.goal):
File "c:\users\zohreh\git\midca\midca\goals.py", line 105, in consistentGoal
for i in range(len(first.args)):
AttributeError: 'str' object has no attribute 'args'
The purpose of this issue is to synchronize naming conventions of files under the modules/ directory to correspond to the names of Phases in the MIDCA theory (of which there are six) - this makes it easy for people to read a research paper on MIDCA and quickly identify where the phases are implemented in the code base.
Most module classes are located in a file named by the phase that module is used in: for example PyHopPlanner module is located in the planning.py file corresponding to the planning phase. Currently there is no interpret.py file, instead modules belonging to Interpret phase are located in three different python files note.py, assess.py, and guide.py. This is confusing for new folks joining the project since note assess guide is not referenced anywhere else. Interpret is a large phase conceptually because discrepancy detection (analogous to Note), explanation (analogous to assess) and guide (analogous to goal formulation) all happen within Interpret.
I propose that we make the modules folder contain six sub folders for each theoretical midca phase, so like:
modules/perceive/
modules/interpret/
modules/evaluate/
modules/intend/
modules/plan/
modules/act/
then when importing files, its easy to see what modules are available for each phase because we import like:
from modules.interpret.goal_formulation import SimpleGoalGen
This would also include changing note.py to discrepancy_detection.py, assess.py to explanation.py, and guide.py to goal_generation.py.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.