control systems with MUD points
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.8 KiB

3 years ago
# mud-games
3 years ago
control systems with MUD points
# installation
```bash
pip install -r requirements.txt
```
# usage
A `data.pkl` file is provided for your convenience with input / output samples.
3 years ago
```bash
python main.py
```
# info
The inputs are the parameters to a `1x4` matrix which is multiplied against the observations of the state in order to make a decision for the next action (push left or right). The output of the vector inner-product is binarized by comparing it to zero as a threshold value.
3 years ago
The parameter space is standard normal.
3 years ago
There is no assumed error in observations; the "data variance" is designed to reflect the acceptable [ranges for the observations](https://www.gymlibrary.ml/pages/environments/classic_control/cart_pole):
3 years ago
- The cart x-position (index 0) can be take values between (-4.8, 4.8), but the episode terminates if the cart leaves the (-2.4, 2.4) range.
- The pole angle can be observed between (-.418, .418) radians (or ±24°), but the episode terminates if the pole angle is not in the range (-.2095, .2095) (or ±12°)
3 years ago
Therefore, since our objective is to stabilize the cart, the target "time series signal" is zero for all four dimensions of the observation space. The presumed "data variance" should actually correspond to the acceptable bands of signal (WIP).
3 years ago
# generate data
You can generate your own data with:
```bash
3 years ago
python sample.py
3 years ago
```
Note: if you change the presumed sample space in `data.py`, you should make the corresponding changes to the initial distribution in `main.py`.
# improvements
Using the following presumptions, we can establish better values for the "data variance":
3 years ago
> The angular momentum of the pole is the most important thing to stabilize.
3 years ago
# headless mode
Run `./headless.sh` (requires `sudo`) to install virtual displays so you can view results in a Jupyter notebook.