Giter VIP home page Giter VIP logo

midca's Issues

Planning failed for Logistics_jshop.py

While I was running Logistics_jshop.py and simple_run_jshop.py, I encountered errors related to planning. I am attaching the console outputs for reference.

Logistics_jshop.py :
error

simple_run_jshop.py:
error1

Synchronize modules/ directory naming system to MIDCA's theory

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.

Act doesn't perform correctly when state changes.

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.

Update the midca manual link

The midca manual link in the Readme.md file is pointed to a google drive link and the link needs to be updated.

An error in goal graph-- when there is a goal, but there is no valid plan for the goal I encounter this error

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'

util.py doesn't handle all operators

midca/domains/blocksworld/util.py: pyhop_tasks_from_goals method doesn't cover all the predicates and operators, the method will break for the "putdown" operator and possibly other operators too. unsure if this happens for other domain's util.py files.
Screen Shot 2020-10-23 at 10 58 34 AM

test_all_examples.py

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]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.