{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "source": [
    "%cd learners"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "/home/buehrle/dev/InteractionImitation/scratch/etienne/pillbox/learners\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "source": [
    "import matplotlib.pyplot as plt"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "source": [
    "import torch\n",
    "import gym\n",
    "from intersim.utils import get_map_path, get_svt, SVT_to_stateactions\n",
    "\n",
    "def data_sa(loc=0, track=0, actions=None):\n",
    "    \"\"\"Use given actions or compute using `SVT_to_stateactions`.\"\"\"\n",
    "    \n",
    "    svt, svt_path = get_svt(loc, track)\n",
    "    osm = get_map_path(loc)\n",
    "    \n",
    "    if actions is None:\n",
    "        _, actions = SVT_to_stateactions(svt)\n",
    "        \n",
    "    nna_observations = []\n",
    "    nna_actions = []\n",
    "    \n",
    "    env = gym.make('intersim:intersim-v0', svt=svt, map_path=osm)\n",
    "    obs, info = env.reset()\n",
    "    for action in tqdm(actions):\n",
    "        relative_state = torch.stack((\n",
    "            obs['relative_state'][..., 0],\n",
    "            obs['relative_state'][..., 1],\n",
    "            (obs['relative_state'][..., 2]**2 + obs['relative_state'][..., 3]**2).sqrt(),\n",
    "            obs['relative_state'][..., 4],\n",
    "            obs['relative_state'][..., 5],\n",
    "        ), -1)\n",
    "        observations = torch.cat((\n",
    "            obs['state'].unsqueeze(-2),\n",
    "            relative_state,\n",
    "        ), -2)\n",
    "        \n",
    "        nna = ~(observations.isnan().all(-1).all(-1))\n",
    "        nna_observations.append(observations[nna])\n",
    "        nna_actions.append(action[nna])\n",
    "        \n",
    "        obs, r, done, info = env.step(action)\n",
    "        assert not done, 'Episode terminated during expert demonstration.'\n",
    "    \n",
    "    observations = torch.cat(nna_observations)\n",
    "    actions = torch.cat(nna_actions)\n",
    "    return observations, actions"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "source": [
    "def simactions(loc, track, mu):\n",
    "    \"\"\"Compute simactions using `env.target_state`.\"\"\"\n",
    "    svt, svt_path = get_svt(loc, track)\n",
    "    osm = get_map_path(loc)\n",
    "    actions = []\n",
    "    \n",
    "    env = gym.make('intersim:intersim-v0', svt=svt, map_path=osm)\n",
    "    obs, info = env.reset()\n",
    "    for s in tqdm(svt.simstate[1:]):\n",
    "        obs, r, done, info = env.step(env.target_state(s, mu))\n",
    "        actions.append(info['action_taken'])\n",
    "    \n",
    "    return torch.stack(actions)"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "source": [
    "smooth_actions = simactions(loc=0, track=0, mu=.01)\n",
    "smooth_actions.shape"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Custom Vehicle Trajectory Paths\n",
      "Map Path: datasets/maps/DR_USA_Roundabout_FT.osm\n",
      "Environment Reset\n"
     ]
    },
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "torch.Size([3006, 151, 1])"
      ]
     },
     "metadata": {},
     "execution_count": 7
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "source": [
    "plt.plot(smooth_actions[:, 20, 0])"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fbc931aaa00>]"
      ]
     },
     "metadata": {},
     "execution_count": 8
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ],
      "image/png": "[encoded data, 7200 characters]"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "source": [
    "for act in smooth_actions[:, :, 0].transpose(0, 1):\n",
    "    plt.plot(act)"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ],
      "image/png": "[encoded data, 92624 characters]"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "source": [
    "smooth_observations2, smooth_actions2 = data_sa(loc=0, track=0, actions=smooth_actions)"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Custom Vehicle Trajectory Paths\n",
      "Map Path: datasets/maps/DR_USA_Roundabout_FT.osm\n",
      "Environment Reset\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "source": [
    "state_distribution(zip(smooth_observations2[:1000], smooth_actions2[:1000]))\n",
    "plt.grid()"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stderr",
     "text": [
      "/tmp/ipykernel_25334/2885851852.py:4: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
      "  obs = torch.tensor(obs)\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ],
      "image/png": "[encoded data, 82788 characters]"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "source": [
    "action_distribution(zip(smooth_observations2, smooth_actions2))"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ],
      "image/png": "[encoded data, 4704 characters]"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [
    "from intersim.utils import get_svt, SVT_to_stateactions\n",
    "svt, svt_path = get_svt(loc=0, track=0)\n",
    "states, actions = SVT_to_stateactions(svt)\n",
    "print(actions.shape)"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "source": [
    "plt.plot(actions[:, 20, 0])"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fc3444f4640>]"
      ]
     },
     "metadata": {},
     "execution_count": 20
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ],
      "image/png": "[encoded data, 5852 characters]"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [
    "for act in actions[:, :, 0].transpose(0, 1):\n",
    "    plt.plot(act)"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "source": [
    "data_observations, data_actions = data_sa()"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Custom Vehicle Trajectory Paths\n",
      "Map Path: datasets/maps/DR_USA_Roundabout_FT.osm\n",
      "Environment Reset\n",
      "Time: 13.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 13.700000000000001. Warning: requested action outside of bounds, being clamped\n",
      "Time: 13.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 13.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 14.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 14.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 14.200000000000001. Warning: requested action outside of bounds, being clamped\n",
      "Time: 14.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 14.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 14.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 14.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 14.700000000000001. Warning: requested action outside of bounds, being clamped\n",
      "Time: 14.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 14.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 15.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 15.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 15.200000000000001. Warning: requested action outside of bounds, being clamped\n",
      "Time: 15.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 15.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 15.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 15.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 15.700000000000001. Warning: requested action outside of bounds, being clamped\n",
      "Time: 15.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 15.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 16.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 16.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 16.200000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 16.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 16.400000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 16.500000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 16.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 16.700000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 16.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 16.900000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 17.000000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 17.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 17.200000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 17.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 17.400000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 17.500000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 17.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 17.700000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 17.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 17.900000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 18.000000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 18.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 18.200000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 18.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 18.400000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 18.500000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 18.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 18.700000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 18.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 18.900000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 19.000000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 19.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 19.200000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 19.300000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 19.400000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 19.500000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 19.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 19.700000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 19.800000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 19.900000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 20.000000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 20.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 20.200000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 20.300000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 20.400000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 20.500000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 20.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 20.700000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 20.800000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 20.900000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 21.000000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 21.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 21.200000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 21.300000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 21.400000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 21.500000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 21.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 21.700000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 21.800000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 21.900000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 22.000000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 22.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 22.200000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 22.300000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 22.400000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 22.500000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 22.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 22.700000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 22.800000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 22.900000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 23.000000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 23.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 23.200000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 23.300000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 23.400000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 23.500000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 23.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 23.700000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 23.800000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 23.900000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 24.000000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 24.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 24.200000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 24.300000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 24.400000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 24.500000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 24.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 24.700000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 24.800000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 24.900000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 25.000000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 25.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 25.200000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 25.300000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 25.400000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 25.500000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 25.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 25.700000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 25.800000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 25.900000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 26.000000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 26.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 26.200000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 26.300000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 26.400000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 26.500000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 26.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 26.700000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 26.800000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 26.900000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 27.000000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 27.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 27.200000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 27.300000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 27.400000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 27.500000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 27.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 27.700000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 27.800000000000004. Warning: requested action outside of bounds, being clamped\n",
      "Time: 70.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 70.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 70.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 70.89999999999999. Warning: requested action outside of bounds, being clamped\n",
      "Time: 71.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 71.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 71.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 71.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 71.39999999999999. Warning: requested action outside of bounds, being clamped\n",
      "Time: 71.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 71.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 71.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 71.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 71.89999999999999. Warning: requested action outside of bounds, being clamped\n",
      "Time: 72.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 72.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 72.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 72.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 72.39999999999999. Warning: requested action outside of bounds, being clamped\n",
      "Time: 72.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 72.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 72.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 72.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 72.89999999999999. Warning: requested action outside of bounds, being clamped\n",
      "Time: 73.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 73.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 73.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 73.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 73.39999999999999. Warning: requested action outside of bounds, being clamped\n",
      "Time: 73.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 73.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 73.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 73.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 73.89999999999999. Warning: requested action outside of bounds, being clamped\n",
      "Time: 74.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 74.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 74.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 74.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 74.39999999999999. Warning: requested action outside of bounds, being clamped\n",
      "Time: 74.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 74.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 74.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 74.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 74.89999999999999. Warning: requested action outside of bounds, being clamped\n",
      "Time: 75.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 75.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 75.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 75.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 75.39999999999999. Warning: requested action outside of bounds, being clamped\n",
      "Time: 75.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 75.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 75.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 75.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 75.89999999999999. Warning: requested action outside of bounds, being clamped\n",
      "Time: 76.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 76.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 76.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 76.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 76.39999999999999. Warning: requested action outside of bounds, being clamped\n",
      "Time: 76.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 76.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 76.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 76.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 76.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 77.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 77.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 77.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 77.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 77.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 77.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 77.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 77.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 77.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 77.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 78.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 78.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 78.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 78.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 78.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 78.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 78.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 78.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 78.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 78.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 79.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 79.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 79.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 79.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 79.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 79.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 79.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 79.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 79.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 79.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 80.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 80.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 80.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 80.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 80.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 80.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 80.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 80.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 80.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 80.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 81.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 81.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 81.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 81.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 81.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 81.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 81.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 81.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 81.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 81.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 82.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 82.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 82.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 82.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 82.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 82.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 82.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 82.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 82.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 82.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 83.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 83.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 83.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 83.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 83.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 83.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 83.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 83.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 83.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 83.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 84.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 84.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 84.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 84.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 84.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 84.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 84.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 84.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 84.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 84.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 85.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 85.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 85.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 85.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 85.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 85.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 85.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 85.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 85.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 85.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 86.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 86.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 86.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 86.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 86.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 86.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 86.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 86.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 86.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 86.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 87.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 87.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 87.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 87.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 87.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 87.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 87.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 87.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 87.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 87.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 88.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 88.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 88.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 88.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 88.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 88.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 88.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 88.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 88.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 88.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 89.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 89.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 89.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 89.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 89.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 89.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 89.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 89.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 89.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 89.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 90.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 90.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 90.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 90.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 90.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 90.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 90.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 90.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 90.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 90.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 91.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 91.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 91.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 91.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 91.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 91.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 91.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 91.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 91.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 91.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 92.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 92.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 92.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 92.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 92.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 92.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 92.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 92.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 92.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 92.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 93.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 93.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 93.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 93.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 93.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 93.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 93.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 93.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 93.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 93.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 94.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 94.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 94.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 94.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 94.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 94.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 94.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 94.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 94.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 94.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 95.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 95.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 95.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 95.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 95.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 95.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 95.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 95.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 95.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 95.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 96.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 96.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 96.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 96.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 96.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 96.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 96.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 96.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 96.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 96.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 97.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 97.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 97.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 97.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 97.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 97.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 97.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 97.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 97.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 97.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 98.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 98.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 98.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 98.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 98.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 98.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 98.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 98.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 98.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 98.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 99.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 99.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 99.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 99.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 99.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 99.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 99.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 99.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 99.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 99.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 100.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 100.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 100.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 100.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 100.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 100.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 100.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 100.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 100.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 100.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 101.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 104.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 104.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 104.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 104.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 104.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 104.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 104.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 104.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 104.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 105.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 105.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 105.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 105.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 105.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 105.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 105.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 105.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 105.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 105.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 106.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 106.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 106.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 106.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 106.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 106.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 106.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 106.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 106.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 106.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 107.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 107.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 107.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 107.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 107.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 107.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 107.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 107.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 107.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 107.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 108.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 108.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 108.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 108.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 108.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 108.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 108.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 108.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 108.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 108.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 109.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 109.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 109.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 109.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 109.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 109.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 109.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 109.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 109.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 109.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 110.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 110.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 110.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 110.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 110.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 110.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 110.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 110.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 110.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 110.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 111.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 111.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 111.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 111.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 111.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 111.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 111.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 111.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 111.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 111.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 112.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 112.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 112.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 112.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 112.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 112.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 112.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 112.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 112.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 112.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 113.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 113.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 113.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 113.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 113.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 113.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 113.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 113.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 113.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 113.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 114.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 114.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 114.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 114.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 114.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 114.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 114.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 114.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 114.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 114.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 115.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 115.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 115.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 115.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 115.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 115.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 115.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 115.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 115.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 115.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 116.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 116.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 116.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 116.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 116.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 116.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 116.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 116.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 116.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 116.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 117.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 117.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 117.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 117.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 117.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 117.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 117.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 117.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 117.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 117.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 118.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 118.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 118.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 118.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 118.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 118.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 118.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 118.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 118.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 118.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 119.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 119.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 119.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 119.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 119.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 119.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 119.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 119.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 119.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 119.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 120.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 120.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 120.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 120.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 120.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 120.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 120.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 120.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 120.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 120.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 121.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 121.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 121.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 121.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 121.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 121.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 121.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 121.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 121.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 121.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 122.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 122.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 122.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 122.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 122.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 122.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 122.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 122.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 122.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 122.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 123.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 123.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 123.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 123.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 123.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 123.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 123.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 123.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 123.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 123.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 124.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 124.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 124.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 124.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 124.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 124.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 124.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 124.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 124.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 124.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 125.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 125.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 125.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 125.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 125.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 125.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 125.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 125.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 125.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 125.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 126.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 126.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 126.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 126.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 126.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 126.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 126.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 126.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 126.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 126.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 127.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 127.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 127.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 127.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 127.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 127.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 127.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 127.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 127.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 127.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 128.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 128.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 128.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 128.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 128.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 128.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 128.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 128.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 128.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 128.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 129.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 129.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 129.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 129.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 129.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 129.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 129.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 129.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 129.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 129.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 130.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 130.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 130.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 130.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 130.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 130.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 130.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 130.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 130.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 130.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 131.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 131.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 131.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 131.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 131.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 131.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 131.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 131.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 131.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 131.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 132.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 132.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 132.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 132.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 132.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 132.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 132.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 132.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 132.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 132.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 133.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 133.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 133.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 133.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 133.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 133.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 133.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 133.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 133.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 133.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 134.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 134.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 134.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 134.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 134.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 134.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 134.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 134.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 134.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 134.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 135.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 135.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 135.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 135.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 135.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 135.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 135.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 135.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 135.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 135.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 136.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 136.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 136.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 136.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 136.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 136.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 136.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 136.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 136.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 136.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 137.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 137.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 137.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 137.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 137.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 137.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 137.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 137.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 137.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 137.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 138.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 138.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 138.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 138.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 138.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 138.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 138.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 138.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 138.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 138.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 139.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 139.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 139.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 139.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 139.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 139.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 139.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 139.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 139.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 139.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 140.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 140.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 140.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 140.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 140.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 140.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 140.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 140.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 140.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 140.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 141.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 141.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 141.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 141.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 141.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 141.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 141.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 141.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 141.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 141.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 142.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 142.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 142.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 142.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 142.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 142.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 142.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 142.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 142.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 142.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 143.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 143.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 143.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 143.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 143.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 143.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 143.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 143.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 143.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 143.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 144.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 144.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 144.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 144.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 144.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 144.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 144.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 144.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 144.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 144.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 145.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 145.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 145.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 145.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 145.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 145.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 145.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 145.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 145.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 145.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 146.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 146.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 146.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 146.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 146.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 146.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 146.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 146.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 146.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 146.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 147.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 147.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 147.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 147.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 147.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 147.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 147.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 147.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 147.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 147.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 148.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 148.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 148.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 148.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 148.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 148.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 148.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 148.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 148.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 148.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 149.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 149.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 149.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 149.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 149.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 149.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 149.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 149.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 149.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 149.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 150.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 150.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 150.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 150.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 150.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 150.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 150.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 150.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 150.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 150.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 151.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 151.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 151.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 151.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 151.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 151.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 151.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 151.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 151.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 151.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 152.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 152.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 152.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 152.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 152.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 152.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 152.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 152.7. Warning: requested action outside of bounds, being clamped\n",
      "Time: 152.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 152.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 153.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 153.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 153.2. Warning: requested action outside of bounds, being clamped\n",
      "Time: 153.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 153.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 153.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 153.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 153.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 153.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 153.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 154.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 154.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 154.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 154.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 154.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 154.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 154.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 154.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 154.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 154.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 155.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 155.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 155.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 155.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 155.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 155.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 155.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 155.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 155.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 155.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 156.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 156.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 156.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 156.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 156.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 156.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 156.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 156.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 156.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 156.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 157.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 157.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 157.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 157.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 157.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 157.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 157.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 157.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 157.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 157.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 158.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 158.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 158.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 158.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 158.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 158.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 158.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 158.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 158.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 158.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 159.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 159.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 159.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 159.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 159.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 159.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 159.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 159.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 159.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 159.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 160.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 160.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 160.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 160.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 160.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 160.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 160.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 160.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 160.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 160.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 161.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 161.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 161.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 161.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 161.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 161.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 161.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 161.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 161.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 161.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 162.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 162.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 162.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 162.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 162.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 162.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 162.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 162.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 162.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 162.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 163.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 163.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 163.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 163.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 163.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 163.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 163.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 163.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 163.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 163.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 164.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 164.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 164.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 164.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 164.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 164.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 164.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 164.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 164.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 164.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 165.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 165.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 165.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 165.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 165.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 165.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 165.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 165.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 165.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 165.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 166.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 166.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 166.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 166.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 166.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 166.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 166.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 166.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 166.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 166.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 167.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 167.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 167.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 167.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 167.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 167.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 197.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 198.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 198.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 198.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 198.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 198.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 198.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 198.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 198.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 198.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 198.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 199.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 199.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 199.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 199.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 199.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 199.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 199.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 199.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 199.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 199.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 200.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 200.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 200.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 200.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 200.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 200.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 200.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 200.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 200.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 200.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 201.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 201.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 201.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 201.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 201.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 201.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 201.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 201.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 201.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 201.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 202.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 202.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 202.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 202.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 202.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 202.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 202.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 202.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 202.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 202.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 203.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 203.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 203.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 203.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 203.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 203.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 203.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 203.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 203.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 203.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 204.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 204.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 204.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 204.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 204.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 204.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 204.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 204.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 204.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 204.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 205.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 205.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 205.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 205.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 205.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 205.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 205.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 205.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 205.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 205.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 206.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 206.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 206.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 206.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 206.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 206.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 206.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 206.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 206.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 206.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 207.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 207.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 207.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 207.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 207.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 207.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 207.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 207.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 207.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 207.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 208.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 208.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 208.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 208.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 208.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 208.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 208.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 208.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 208.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 208.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 209.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 209.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 209.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 209.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 209.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 209.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 209.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 209.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 209.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 209.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 210.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 210.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 210.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 210.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 210.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 210.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 210.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 210.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 210.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 210.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 211.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 211.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 211.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 211.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 211.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 211.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 211.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 211.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 211.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 211.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 212.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 212.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 212.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 212.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 212.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 212.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 212.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 212.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 212.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 212.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 213.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 213.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 213.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 213.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 213.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 213.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 213.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 213.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 213.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 213.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 214.0. Warning: requested action outside of bounds, being clamped\n",
      "Time: 214.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 214.20000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 214.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 214.4. Warning: requested action outside of bounds, being clamped\n",
      "Time: 214.5. Warning: requested action outside of bounds, being clamped\n",
      "Time: 214.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 214.70000000000002. Warning: requested action outside of bounds, being clamped\n",
      "Time: 214.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 214.9. Warning: requested action outside of bounds, being clamped\n",
      "Time: 264.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 264.40000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 264.50000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 264.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 264.70000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 264.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 264.90000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 265.00000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 265.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 265.20000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 265.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 265.40000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 265.50000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 265.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 265.70000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 265.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 265.90000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 266.00000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 266.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 266.20000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 266.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 266.40000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 266.50000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 266.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 266.70000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 266.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 266.90000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 267.00000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 267.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 267.20000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 267.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 267.40000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 267.50000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 267.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 267.70000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 267.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 267.90000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 268.00000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 268.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 268.20000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 268.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 268.40000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 268.50000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 268.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 268.70000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 268.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 268.90000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 269.00000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 269.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 269.20000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 269.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 269.40000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 269.50000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 269.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 269.70000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 269.8. Warning: requested action outside of bounds, being clamped\n",
      "Time: 269.90000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 270.00000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 270.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 270.20000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 270.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 270.40000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 270.50000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 270.6. Warning: requested action outside of bounds, being clamped\n",
      "Time: 270.70000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 270.90000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 271.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 271.50000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 271.70000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 272.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 272.50000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 272.70000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 272.90000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 273.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 273.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 273.50000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 273.70000000000005. Warning: requested action outside of bounds, being clamped\n",
      "Time: 273.90000000000003. Warning: requested action outside of bounds, being clamped\n",
      "Time: 274.1. Warning: requested action outside of bounds, being clamped\n",
      "Time: 274.3. Warning: requested action outside of bounds, being clamped\n",
      "Time: 274.50000000000006. Warning: requested action outside of bounds, being clamped\n",
      "Time: 274.70000000000005. Warning: requested action outside of bounds, being clamped\n"
     ]
    }
   ],
   "metadata": {
    "scrolled": true,
    "tags": []
   }
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "source": [
    "ego_observations = obs_to_ego_frame(data_observations)"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stderr",
     "text": [
      "/tmp/ipykernel_31031/2885851852.py:4: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
      "  obs = torch.tensor(obs)\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "source": [
    "print(ego_observations.shape)\n",
    "print(data_actions.shape)"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "torch.Size([38600, 151, 5])\n",
      "torch.Size([38600, 1])\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "source": [
    "ext_actions = data_actions.repeat(1, ego_observations.shape[-2])\n",
    "print(ext_actions.shape)"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "torch.Size([38600, 151])\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "source": [
    "flat_observations = ego_observations.reshape(-1, ego_observations.shape[-1])\n",
    "flat_actions = ext_actions.reshape(-1)\n",
    "print(flat_observations.shape)\n",
    "print(flat_actions.shape)"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "torch.Size([5828600, 5])\n",
      "torch.Size([5828600])\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "source": [
    "plt.scatter(\n",
    "    flat_observations[:, 0],\n",
    "    flat_observations[:, 1],\n",
    "    c=flat_actions\n",
    ")\n",
    "plt.colorbar()\n",
    "plt.grid()"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7fa434d7fa00>"
      ]
     },
     "metadata": {},
     "execution_count": 66
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ],
      "image/png": "[encoded data, 92388 characters]"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "source": [
    "def demo_sa(demo):\n",
    "    num_trajs = demo['num_trajs']\n",
    "    for t in range(num_trajs):\n",
    "        traj = demo[str(t)].item()\n",
    "        for o, a in zip(traj['states'], traj['actions']):\n",
    "            yield o, a"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "source": [
    "import gym\n",
    "from tqdm import tqdm\n",
    "\n",
    "def policy_sa(pi, max_steps=1000, mode=None):\n",
    "    env = gym.make('intersim:intersim-v0')\n",
    "    env.reset() # obs = env.reset()\n",
    "    obs, _, done, _ = env.step(0 * env.action_space.sample())\n",
    "    \n",
    "    _except = lambda o, i: torch.cat((o[:i], o[i+1:]))\n",
    "    \n",
    "    _relative_state_v = lambda obs: torch.stack((\n",
    "        obs[..., 0],\n",
    "        obs[..., 1],\n",
    "        (obs[..., 2]**2 + obs[..., 3]**2).sqrt(),\n",
    "        obs[..., 4],\n",
    "        obs[..., 5],\n",
    "    ), -1)\n",
    "    \n",
    "    for _ in tqdm(range(max_steps)):\n",
    "        pi_obs = torch.stack(tuple(\n",
    "            torch.cat((e.unsqueeze(0), _relative_state_v(_except(o, i))))\n",
    "            for i, (e, o) in enumerate(zip(obs['state'], obs['relative_state']))\n",
    "        ))\n",
    "        \n",
    "        actions = pi(pi_obs)\n",
    "        \n",
    "        yield from zip(pi_obs, actions)\n",
    "        \n",
    "        obs, _, done, _ = env.step(actions)\n",
    "        \n",
    "        env.render(mode=mode)\n",
    "            \n",
    "        if done:\n",
    "            break\n",
    "\n",
    "    env.close()"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "source": [
    "import torch\n",
    "\n",
    "def obs_to_ego_frame(obs):\n",
    "    obs = torch.tensor(obs)\n",
    "    ego = obs[..., 0, :]\n",
    "    rel = obs[..., 1:, :]\n",
    "\n",
    "    front = torch.stack((torch.cos(ego[..., 3]), torch.sin(ego[..., 3])), -1)\n",
    "    left = torch.stack((-torch.sin(ego[..., 3]), torch.cos(ego[..., 3])), -1)\n",
    "    df = (rel[..., :2] * front.unsqueeze(-2)).sum(-1)\n",
    "    dl = (rel[..., :2] * left.unsqueeze(-2)).sum(-1)\n",
    "    #d = (rel[..., :2] ** 2).sum(-1).sqrt()\n",
    "    #alpha = torch.atan2(dl, df)\n",
    "\n",
    "    rel[..., 0] = df\n",
    "    rel[..., 1] = dl\n",
    "    \n",
    "    return rel"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "source": [
    "def state_distribution(sa):\n",
    "    front = []\n",
    "    left = []\n",
    "    action = []\n",
    "    \n",
    "    for o, a in sa:\n",
    "        o = obs_to_ego_frame(o)\n",
    "        nan = o.isnan().any(-1)\n",
    "        o = o[~nan]\n",
    "        \n",
    "        front.extend(map(float, o[:, 0]))\n",
    "        left.extend(map(float, o[:, 1]))\n",
    "        action.extend([float(a)] * len(o))\n",
    "        \n",
    "    plt.scatter(front, left, c=action)\n",
    "    plt.xlabel('front')\n",
    "    plt.ylabel('left')\n",
    "    plt.colorbar()\n",
    "    plt.grid()"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "source": [
    "def action_distribution(sa):\n",
    "    action = []\n",
    "    for _, a in sa:\n",
    "        action.append(float(a))\n",
    "    plt.hist(action)"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "source": [
    "import numpy as np"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "source": [
    "state_distribution(demo_sa(np.load('../experts/intersim:intersim-v0/demos.npz', allow_pickle=True)))"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "source": [
    "action_distribution(demo_sa(np.load('../experts/intersim:intersim-v0/demos.npz', allow_pickle=True)))"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ],
      "image/png": "[encoded data, 5156 characters]"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "source": [
    "def trajectory_actions(demos):\n",
    "    for i in range(demos['num_trajs']):\n",
    "        actions = demos[str(i)].item()['actions'].squeeze()\n",
    "        plt.plot(actions)"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "source": [
    "trajectory_actions(np.load('../experts/intersim:intersim-v0/demos.npz', allow_pickle=True))"
   ],
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ],
      "image/png": "[encoded data, 98632 characters]"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "source": [
    "from intersim_advil import IntersimPolicy\n",
    "pi = IntersimPolicy(env=None)\n",
    "pi.load_state_dict(torch.load('intersim:intersim-v0/advil_policy.pt'))"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "<All keys matched successfully>"
      ]
     },
     "metadata": {},
     "execution_count": 11
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "source": [
    "state_distribution(policy_sa(pi, max_steps=200))"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Vehicle Trajectory Paths: datasets/trackfiles/DR_USA_Roundabout_FT/vehicle_tracks_000.csv\n",
      "Map Path: datasets/maps/DR_USA_Roundabout_FT.osm\n",
      "Environment Reset\n"
     ]
    },
    {
     "output_type": "stream",
     "name": "stderr",
     "text": [
      "  0%|                                                                                                                   | 0/200 [00:00<?, ?it/s]/tmp/ipykernel_934/2885851852.py:4: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n",
      "  obs = torch.tensor(obs)\n",
      "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████| 200/200 [00:28<00:00,  6.91it/s]\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ],
      "image/png": "[encoded data, 81960 characters]"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "source": [
    "action_distribution(policy_sa(pi, max_steps=100))"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Vehicle Trajectory Paths: datasets/trackfiles/DR_USA_Roundabout_FT/vehicle_tracks_000.csv\n",
      "Map Path: datasets/maps/DR_USA_Roundabout_FT.osm\n",
      "Environment Reset\n"
     ]
    },
    {
     "output_type": "stream",
     "name": "stderr",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:02<00:00, 40.28it/s]\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ],
      "image/png": "[encoded data, 6024 characters]"
     },
     "metadata": {
      "needs_background": "light"
     }
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "source": [],
   "outputs": [],
   "metadata": {}
  }
 ],
 "metadata": {
  "kernelspec": {
   "name": "python3",
   "display_name": "Python 3.7.5 64-bit ('.venv': venv)"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.5"
  },
  "interpreter": {
   "hash": "56465d2ea10f338edb3d30adb010c5849fd826fffc543ba31360f3db8b47a703"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}