Code Monkey home page Code Monkey logo

duckietown-rl's People

Contributors

kaland313 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

duckietown-rl's Issues

deploy model on real robot

Hi, I have trained a model following your instructions. Now I want to deploy my model on Real Duckiebot. Is there any instructions about deploying trained model to real robot

Freezing terminal

Hi, I'm running into an issue trying to train a model using the instructions in the repository. Once the weights and biases (wandb) choice comes up, the process seems to not do anything, not even responding to SIGINT. It also does not seem to be training the model, since the system resources are barely used.

See the attached log freeze.log.

I had hoped to use this model as reference point to measure the performance of specific models for Duckietown. If there is a pre-trained model available that would also be great.

Simulator action is NaN

Got this issue running locally and on docker container. After a single iteration, the simulator throws lots of:

ERROR:duckietown_utils.wrappers.reward_wrappers:Velocity reward is nan, likely because the action was [nan, nan]!

Even though it starts out nicely on the first iteration:

Number of trials: 1 (1 RUNNING)
+--------------+----------+-----------------+----------+------------------+------+--------+
| Trial name   | status   | loc             |   reward |   total time (s) |   ts |   iter |
|--------------+----------+-----------------+----------+------------------+------+--------|
| PPO          | RUNNING  | 172.17.0.2:1840 |  15.1029 |           35.851 | 4240 |      1 |
+--------------+----------+-----------------+----------+------------------+------+--------+

The error line is repeated lots of times up until the following hard error:

2023-11-21 17:22:53,821 ERROR trial_runner.py:513 -- Trial PPO: Error processing event.
Traceback (most recent call last):
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/tune/trial_runner.py", line 459, in _process_trial
    result = self.trial_executor.fetch_result(trial)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/tune/ray_trial_executor.py", line 377, in fetch_result
    result = ray.get(trial_future[0], DEFAULT_GET_TIMEOUT)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/worker.py", line 1504, in get
    raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(ValueError): ray::PPO.train() (pid=1840, ip=172.17.0.2)
  File "python/ray/_raylet.pyx", line 452, in ray._raylet.execute_task
  File "python/ray/_raylet.pyx", line 430, in ray._raylet.execute_task.function_executor
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/rllib/agents/trainer.py", line 494, in train
    raise e
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/rllib/agents/trainer.py", line 483, in train
    result = Trainable.train(self)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/tune/trainable.py", line 254, in train
    result = self._train()
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/rllib/agents/trainer_template.py", line 133, in _train
    fetches = self.optimizer.step()
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/rllib/optimizers/multi_gpu_optimizer.py", line 137, in step
    self.num_envs_per_worker, self.train_batch_size)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/rllib/optimizers/rollout.py", line 25, in collect_samples
    next_sample = ray_get_and_free(fut_sample)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/rllib/utils/memory.py", line 29, in ray_get_and_free
    result = ray.get(object_ids)
ray.exceptions.RayTaskError(ValueError): ray::RolloutWorker.sample() (pid=1838, ip=172.17.0.2)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/geometry/manifolds/special_orthogonal_group.py", line 39, in belongs
    assert_allclose(det, 1, err_msg="I expect the determinant to be +1.")
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/numpy/testing/_private/utils.py", line 1528, in assert_allclose
    verbose=verbose, header=header, equal_nan=equal_nan)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/numpy/testing/_private/utils.py", line 764, in assert_array_compare
    flagged = func_assert_same_pos(x, y, func=isnan, hasval='nan')
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/numpy/testing/_private/utils.py", line 740, in func_assert_same_pos
    raise AssertionError(msg)
AssertionError:
Not equal to tolerance rtol=1e-07, atol=0
I expect the determinant to be +1.
x and y nan location mismatch:
 x: array(nan)
 y: array(1)

During handling of the above exception, another exception occurred:

ray::RolloutWorker.sample() (pid=1838, ip=172.17.0.2)
  File "python/ray/_raylet.pyx", line 449, in ray._raylet.execute_task
  File "python/ray/_raylet.pyx", line 450, in ray._raylet.execute_task
  File "python/ray/_raylet.pyx", line 452, in ray._raylet.execute_task
  File "python/ray/_raylet.pyx", line 430, in ray._raylet.execute_task.function_executor
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/rllib/evaluation/rollout_worker.py", line 488, in sample
    batches = [self.input_reader.next()]
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/rllib/evaluation/sampler.py", line 52, in next
    batches = [self.get_data()]
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/rllib/evaluation/sampler.py", line 95, in get_data
    item = next(self.rollout_provider)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/rllib/evaluation/sampler.py", line 336, in _env_runner
    base_env.send_actions(actions_to_send)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/rllib/env/base_env.py", line 328, in send_actions
    self.vector_env.vector_step(action_vector)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/ray/rllib/env/vector_env.py", line 106, in vector_step
    obs, r, done, info = self.envs[i].step(actions[i])
  File "/home/duckie/Duckietown-RL/duckietown_utils/wrappers/reward_wrappers.py", line 272, in step
    observation, reward, done, info = self.env.step(action)
  File "/home/duckie/Duckietown-RL/duckietown_utils/wrappers/reward_wrappers.py", line 240, in step
    observation, reward, done, info = self.env.step(action)
  File "/home/duckie/Duckietown-RL/duckietown_utils/wrappers/reward_wrappers.py", line 104, in step
    observation, reward, done, info = self.env.step(action)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/gym/core.py", line 292, in step
    return self.env.step(self.action(action))
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/gym/core.py", line 268, in step
    observation, reward, done, info = self.env.step(action)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/gym/core.py", line 268, in step
    observation, reward, done, info = self.env.step(action)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/gym/core.py", line 268, in step
    observation, reward, done, info = self.env.step(action)
  [Previous line repeated 1 more time]
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/gym/core.py", line 234, in step
    return self.env.step(action)
  File "/home/duckie/gym-duckietown/src/gym_duckietown/simulator.py", line 1346, in step
    self.update_physics(action)
  File "/home/duckie/gym-duckietown/src/gym_duckietown/simulator.py", line 1231, in update_physics
    self.cur_pos, self.cur_angle = _update_pos(self, action)
  File "/home/duckie/gym-duckietown/src/gym_duckietown/simulator.py", line 1707, in _update_pos
    self.state = self.state.integrate(self.delta_time, action)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/duckietown_world/world_duckietown/dynamics_delay.py", line 74, in integrate
    state2 = self.state.integrate(dt, use_commands)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/duckietown_world/world_duckietown/pwm_dynamics.py", line 193, in integrate
    s1 = GenericKinematicsSE2.integrate(self, dt, commands_se2)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/duckietown_world/world_duckietown/generic_kinematics.py", line 48, in integrate
    return GenericKinematicsSE2(c1, t1)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/duckietown_world/world_duckietown/generic_kinematics.py", line 26, in __init__
    geo.SE2.belongs(q0)
  File "<decorator-gen-154>", line 2, in belongs
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/contracts/main.py", line 244, in contracts_checker
    return function_(*args, **kwargs)
  File "/home/duckie/miniconda3/envs/dtaido5/lib/python3.6/site-packages/geometry/manifolds/special_euclidean_group.py", line 76, in belongs
    raise ValueError(msg)
ValueError: The rotation is not a rotation:
[[nan nan]
 [nan nan]]

Any ideas?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.