The major changes from ver.0.1.0 are:
- The parse engine is fully updated mainly to support the universal task module.
-- In the universal task module, we can define tasks in an agent script.
- Now, 6 tasks are defined in benchmarks/humanoid01.
- Marker tracker for benchmarks/bioloid:
-- now, the position, rotation, and their velocities are observed by an environmental camera that tracks a marker attached on bioloid.
- New build system using CMake.
-- Please refer to README_cmake to compile with the new system.
- New architecture: a `library loader' is implemented.
-- `Library' is a shared object, which contains modular classes.
-- In an agent script, libraries are dynamically loaded by using `load' directive.
-- Thus, we need not to link the shared objects in build-time; rather than that, we can dynamically load the shared objects (libraries) in execution-time.
- New architecture: a general agent and SkyAIMain.
-- Using the library architecture, we can load a kind of main function in execution-time, which implies we can make a general executable rather than executables for individual domains.
-- The general-agent is a general executable that provides some common interfaces (e.g. command line options); it works as follows: (1) load specified agent files (loading libraries are specified in the agent files), (2) execute SkyAIMain defined in a library.
-- SkyAIMain is a kind of main function to define a specific program for each domain.
-- Good point: the general agent can provide a common interface.
-- Example to launch a benchmark:
--- bin/skyai/general_agent.out -agent hm,cr2/ql_dcob_q2
For these details, please refer to the git logs.