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.