Proto commits in MARMOTatZJU/drl-based-trajectory-tracking

These 29 commits are when the Protocol Buffers files have changed:

Commit:8c1ebba
Author:Yinda Xu
Committer:Yinda Xu

[xyd/repo] reorg file: common/simulator -> drltt/ - add library

The documentation is generated from this commit.

Commit:557071f
Author:Yinda Xu

[xyd/sdk] add estimate func. for init_state - `ReferenceLineManager.estimate_init_state_from_reference_line` - test - applied in environment - move reference line-related utils to RefereLineManager - as classmethod

Commit:df1ce3c
Author:Yinda Xu
Committer:Yinda Xu

[xyd/env] add init from proto - initialize environment/dynamics model manager from proto - env_data, HyperParameter - update base config, add names of dynamics model

Commit:569ec7b
Author:Yinda Xu
Committer:Yinda Xu

[xyd/test] improve debug_info - change to global variable - python: common.io.GLOBAL_DEBUG_INFO - cpp: drltt::global_debug_info - update readme with usage description of `debug_info` - common - add common.h

Commit:e03e604
Author:Yinda Xu
Committer:Yinda Xu

[xyd/dynamics] add `max_steer`/`max_lat_acc`

Commit:7be9a5a
Author:Yinda Xu
Committer:Yinda Xu

[xyd/test] add debug info for precision check - comparison of intermediate data at Python side/C++ side - clear before step - add intermediate data in the middle of step - TODO: lines of code for comparison step-level state/action/observation - add configurable flag to control them instead of commenting them

Commit:fb978d2
Author:Yinda Xu
Committer:Yinda Xu

[xyd/test] multiple test cases for environment - to achieve deterministic test - sb3 learner export - sdk environment test

Commit:bfbf9bf
Author:Yinda Xu
Committer:Yinda XU

[xyd/proto] reorg. protobuf: environment - create abstract `Environment` - move `TrajectoryTrackingEnvironment` under `Environment` - via composition

Commit:d5626a2
Author:Yinda Xu

[xyd/doc] add docstring for protobuf

Commit:67d269d
Author:Yinda Xu
Committer:Yinda Xu

[xyd/env] adaptation for sdk - roll out one episode - to export env_data - export index of selected dynamics model - proto - env

Commit:5f9523f
Author:Yinda Xu
Committer:Yinda Xu

[xyd/sdk] Trajectory Tracking environment - linking - dynamics model - inference - libtorch wrapper - observation manager - end-to-end test on trajectory tracking - gtest - model tracking - jit - data recording - based on protobuf - record at training phase - used as test case for sdk - improve scripts/doc/dockerfile - TODO: test and docstring

Commit:9c53e5d
Author:Yinda Xu
Committer:Yinda Xu

[xyd/infer] export traced module - wrapper class - export functino - update readme - record and dump test cases - add test for exported jit module - remove syntax redundancy - inference: add numeric test and dump test cases - save format: protobuf/numpy

Commit:963a395
Author:Yinda Xu
Committer:Yinda XU

[xyd/env] parse dynamics model hparam - dynamics model hyper parameter - parse in proto - export from dynamics_model_manager - add test script

Commit:35ea85c
Author:Yinda Xu
Committer:Yinda Xu

[xyd/traj] add pad mode for reference line - configurable

Commit:961c766
Author:Yinda Xu

[xyd/env] extend env interface and save data - use inheritence to extend interface - `ExtendedGymEnv` - save environment data

Commit:c42ed4d
Author:Yinda Xu
Committer:Yinda Xu

[xyd/proto] change proto name: CoG -> cog - consistent with cpp code generation

Commit:59aeec3
Author:Yinda Xu

[xyd/sdk] implement dynamics model - class inheritance - resolve issue with virtual class - operator for bicycle model - test

Commit:fa0aa0e
Author:Yinda Xu

[xyd/proto] refactor pacakge name

Commit:4baceca
Author:Yinda Xu

[xyd/eval] implement evaluation for tt - evaluation for trajectory tracking - bicycle model - unit test - improve training function - misc - abstraction: build_sb3_model_from_config - add function for generating random string

Commit:2551d26
Author:Yinda Xu

[xyd/proto] record class name

Commit:7f2b5cf
Author:Yinda Xu
Committer:Yinda Xu

[xyd/proto] add abstract of episode for recording

Commit:6c3cae6
Author:Yinda Xu

[xyd/proto] implement `parse_hyper_parameter`

Commit:0b8fd34
Author:Yinda Xu

[xyd/proto] move to composition style - use composition instead of inheritance - update dynmiacs model

Commit:d432817
Author:Yinda Xu
Committer:Yinda Xu

[xyd/env] trajectory tracking - add environment for trajectory tracking - build_space/reset/step - unit test - manager class - DynamicsModelManager - ObservationManager - ReferenceLineManager - add registry - add primitives for geometry (coordinate transform) - add config systems - primitives for config - sample config - update unit test - add execution section - if __name__ == '__main__' - misc update - DTYPE move to np.float64 - add frozendict - add BodyState - add `override` and require Python>=3.12

Commit:710bb86
Author:Yinda Xu
Committer:Yinda Xu

[xyd/trajectory] proto/random walk/test/fixup - proto: trajectory/refernece_line - fixup proto - reorganize: move packages under `drltt` - update import path in *.py - fix compile path - update doc

Commit:cfe1f36
Author:Yinda Xu

[xyd/fixup] typing, hyperparameter

Commit:1185a65
Author:Yinda XU
Committer:Yinda XU

[xyd/fixup] typo, override, feature - add action lb/ub - hide override (wait until python 3.12) - get_action_space

Commit:123f84e
Author:Yinda XU

[xyd/dynamics] add bicycle model - add `step` - add state/action in proto - add methods for serialization/deserialization - add `normalize_anglie`

Commit:33211c6
Author:Yinda XU
Committer:Yinda XU

[xyd/proto] add proto - add script to compile proto - call this script in `setup.sh` - add proto definiation of bicycle model's parameter - add path to compiled protos in gitignore