diff --git a/.rosinstall b/.rosinstall
index 7d0f3e5a2..90b704548 100755
--- a/.rosinstall
+++ b/.rosinstall
@@ -24,6 +24,11 @@
local-name: ../utils/jackal
uri: https://github.com/jackal/jackal.git
+- git:
+ local-name: ../utils/arena2d
+ uri: https://github.com/zenghjian/arena2D.git
+ version: integrate
+
### ARENA INFRASTRUCTURE
- git:
@@ -41,15 +46,10 @@
uri: https://github.com/Arena-Rosnav/arena-utils.git
version: v1.0.0
-- git:
- local-name: ../utils/waypoint-generators
- uri: https://github.com/Arena-Rosnav/waypoint-generators.git
- version: v1.0.0
-
- git:
local-name: ../utils/task-generator
- uri: https://github.com/Arena-Rosnav/task-generator.git
- version: master
+ uri: https://github.com/zenghjian/task-generator.git
+ version: dev
### PLANNERS
diff --git a/README.md b/README.md
index c647ee6cb..deb6ce4b6 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,35 @@
## Simple Installation
+Follow [this](https://arena-rosnav-wiki.readthedocs.io/en/latest/user_guides/installation/) until step.7
+
+Install Conda and Poetry
+```
+// conda
+wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
+bash Miniconda3-latest-Linux-x86_64.sh
+source ~/.bashrc
+conda config --set auto_activate_base false
+conda create -n rosnav python=3.8
+
+// poetry
+curl -sSL https://install.python-poetry.org | python3 -
+echo 'export PATH="$HOME/.local/bin:$PATH"'>> ~/.bashrc
+source ~/.bashrc
+poetry config virtualenvs.create false
+
+//activate conda
+conda activate rosnav
+```
+
Clone repo in any catkin ws or create new catkin ws
```
-git clone git@github.com:Arena-Rosnav/arena-rosnav.git
+mkdir -p ~/catkin_ws/src
+cd ~/catkin_ws/src
+```
+
+```
+git clone https://github.com/zenghjian/arena-rosnav
```
Change into dir
@@ -27,17 +53,55 @@ poetry shell && poetry install
Install stable baselines
```
-cd ../forks/stable-baselines3 && pip install -e .
+cd ../utils/stable-baselines3 && pip install -e .
+```
+
+Install arena2d requirements
+```
+sudo apt-get install cmake libsdl2-dev libfreetype-dev
```
Build catkin
```
-cd ../../.. && catkin_make
+cd ../../.. && catkin_make -DUSE_ROS=ON
```
+
Finished!
+## Run Simulator
+
+Open Terminal 1 (Run roslaunch)
+```
+cd ~/catkin_ws
+source devel/setup.bash
+roslaunch arena_bringup start_arena.launch
+// roslaunch arena_bringup arena2d_simulator.launch
+// only for arena2d
+```
+
+Open Terminal 2 (Run Script)
+```
+cd ~/catkin_ws
+source devel/setup.bash
+cd src/arena-rosnav/
+conda activate rosnav
+poetry shell
+cd ../utils/arena2d/rl-ros-agents/
+python scripts/training/train_ppo.py
+```
+
#### TODO
Everything
+
+## Tipps for GPU 30X: m_86 is not compatible with the current PyTorch
+```
+conda rosnav
+poetry shell
+pip uninstall torch
+pip list | grep torch
+conda list | grep torch
+pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
+```
diff --git a/arena_bringup/launch/start_arena_flatland.launch b/arena_bringup/launch/start_arena_flatland.launch
index 9a31a4201..eb98bea91 100755
--- a/arena_bringup/launch/start_arena_flatland.launch
+++ b/arena_bringup/launch/start_arena_flatland.launch
@@ -14,14 +14,18 @@
-
+
+
+
-
-
+
+
+
+
-
+
@@ -55,11 +59,21 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -77,20 +91,21 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/arena_bringup/launch/start_training.launch b/arena_bringup/launch/start_training.launch
index 504a4090b..a851557dd 100644
--- a/arena_bringup/launch/start_training.launch
+++ b/arena_bringup/launch/start_training.launch
@@ -1,10 +1,13 @@
+
+
+
-
+
@@ -28,7 +31,9 @@
-
+
+
+
@@ -50,13 +55,22 @@
+
+
-
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/arena_bringup/launch/training/arena2d_simulator.launch b/arena_bringup/launch/training/arena2d_simulator.launch
new file mode 100644
index 000000000..fabe3db0a
--- /dev/null
+++ b/arena_bringup/launch/training/arena2d_simulator.launch
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/training/configs/training_curriculums/normal.yaml b/training/configs/training_curriculums/normal.yaml
new file mode 100644
index 000000000..a73d19de6
--- /dev/null
+++ b/training/configs/training_curriculums/normal.yaml
@@ -0,0 +1,29 @@
+# Training Curriculum
+# this yaml serves as container of the learning curriculum for the agent
+# by determining the number of static/dynamic obstacles per stage
+# (will carry on training on last stage when threshhold reached)
+
+1:
+ static: 0
+ dynamic: 0
+2:
+ static: 3
+ dynamic: 0
+3:
+ static: 5
+ dynamic: 0
+4:
+ static: 6
+ dynamic: 1
+5:
+ static: 7
+ dynamic: 2
+6:
+ static: 9
+ dynamic: 2
+7:
+ static: 10
+ dynamic: 2
+8:
+ static: 12
+ dynamic: 3
\ No newline at end of file
diff --git a/training/scripts/train_agent.py b/training/scripts/train_agent.py
index 5bc6b2675..96849d7ec 100755
--- a/training/scripts/train_agent.py
+++ b/training/scripts/train_agent.py
@@ -120,7 +120,7 @@ def main():
model = PPO(
"MlpPolicy",
env,
- policy_kwargs=dict(net_arch=args.net_arch, activation_fn=get_act_fn(args.act_fn)),
+ # policy_kwargs=dict(net_arch=args.net_arch, activation_fn=get_act_fn(args.act_fn)),
gamma=params["gamma"],
n_steps=params["n_steps"],
ent_coef=params["ent_coef"],