Bharath2 / iLQR

iterative Linear Quadratic Regulator with constraints.
BSD 2-Clause "Simplified" License
133 stars 35 forks source link

errors in numba version #4

Open tmacattank opened 2 years ago

tmacattank commented 2 years ago

Hi, when i try to run the code, it comes out some errors as follows: `Traceback (most recent call last): File "/home/ykezvd/workspace/iLQR/original/iLQR/examples/vehicle_control.py", line 70, in xs, us, cost_trace = controller.fit(x0, us_init, 100) File "/home/ykezvd/workspace/iLQR/original/iLQR/examples/../ilqr/controller.py", line 34, in fit return run_ilqr(self.dynamics.f, self.dynamics.f_prime, self.cost.L, File "/home/ykezvd/anaconda3/lib/python3.9/site-packages/numba/core/dispatcher.py", line 482, in _compile_for_args error_rewrite(e, 'typing') File "/home/ykezvd/anaconda3/lib/python3.9/site-packages/numba/core/dispatcher.py", line 423, in error_rewrite raise e.with_traceback(None) numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend) Failed in nopython mode pipeline (step: nopython frontend) Failed in nopython mode pipeline (step: nopython frontend) No implementation of function Function() found for signature:

array(array(float64, 1d, C))

There are 4 candidate implementations:

` It seems that there are some conflicts in numba version, and my version only support a homogeneous sequence, can you give a list of your python and numba version?

housx commented 1 year ago

遇到同样的问题

ThomasMullen commented 1 year ago

I have encountered the same problem too

Slienteagle-wyb commented 1 year ago

Hi,

It seems that i had also encountered the same problem, and i fix it follows Overload np.array to accept arrays. Specifically, i just change one line of code in ilqr/utils.py (line 103) from f_new = lambda *args: np.array(f(*args)) into f_new = lambda *args: np.asarray(f(*args)).

If this problem remains, i think you could have a try.

Good luck.

may210297 commented 1 month ago

Hi,

It seems that i had also encountered the same problem, and i fix it follows Overload np.array to accept arrays. Specifically, i just change one line of code in ilqr/utils.py (line 103) from f_new = lambda *args: np.array(f(*args)) into f_new = lambda *args: np.asarray(f(*args)).

If this problem remains, i think you could have a try.

Good luck.

Thank you!