Hi Tamam, I'm controlling multiple robots with one MPC formulation. The number of differential state in the OCP are the number of bots times the number of states for one bot (i.e. for three bots its 3x8=24 states). The path constraints are to make sure all the bots avoid each other. Thanks.
Hi everyone. My generated mpc controller seems to seg fault due to having too many variables I think. Although it seg faults at an odd location when I call my function that contains the mpc code, It doesn't seg fault when I reduce the number of robots (each robot has 8 states 3 inputs). When I build the c code with the extra bot, I get the following warning: acado_solver.c: In function ‘acado_condensePrep’: acado_solver.c:4690:6: note: variable tracking size limit exceeded with -fvar-tracking-assignments,...
Ahh you're complete right. I wasn't initializing acadoVariables.x correctly. I changed it to be equal to the initial state and the control variables , acadoVariables.u, to be all 0. This is likely not the best way to initialize but I know I can guarantee I am not breaking any of the path constraints as long as the initial condition doesn't break the constraints. Thanks for the help Tamam.
Hi everyone I have a working OCP implementation with fairly simple dynamics for a multiagent system. It contains path constraints that seems to break the solver when I use the code generation feature of the toolbox. It is able to find a solution when I just call it in c++, but when I export to c, the solver returns nan for everything. I'm constraining the distance between each agent to remain above a certain constant with the following set of constraints. x[0 + i*NUM_STATES] is the x position and...
Hi everyone I have a working OCP implementation with fairly simple dynamics for a multiagent system. It contains path constraints that seems to break the solver when I use the code generation feature of the toolbox. It is able to find a solution when I just call it in c++, but when I export to c, the solver returns nan for everything. I'm constraining the distance between each agent to remain above a certain constant with the following set of constraints. x[0 + i*NUM_STATES] is the x position and...
Hi everyone I have a working OCP implementation with fairly simple dynamics for a multiagent system. It contains path constraints that seems to break the solver when I use the code generation feature of the toolbox. It is able to find a solution when I just call it in c++, but when I export to c, the solver returns nan for everything. I'm constraining the distance between each agent to remain above a certain constant with the following set of constraints. x[0 + i*NUM_STATES] is the x position and...
I was actually able to get it to work quite well. I think I had something in my ocp that wasn't correctly defined causing the problem to be infeasible when I added this constraint on top of it (hence why I thought the bug was in this constraint). This is what I settled with -- working in 2D for the moment. for(int i = 0; i < NUM_OBST; i++){ ocp.subjectTo(sqrt((x[0]-obst[i][0])*(x[0]-obst[i][0]) + (x[2]-obst[i][1])*(x[2]-obst[i][1])) >= OBST_THRS); } I havent included anything to initializing the...
I was actually able to get it to work quite well. I think I had something in my ocp that wasn't correctly defined causing the problem to be infeasible when I added this constraint on top of it (hence why I thought the bug was in this constraint). This is what I settled with -- working in 2D for the moment. for(int i = 0; i < NUM_OBST; i++){ ocp.subjectTo(sqrt((x[0]-obst[i][0])*(x[0]-obst[i][0]) + (x[2]-obst[i][1])*(x[2]-obst[i][1])) >= OBST_THRS); } I havent included anything to initializing the...
Ahh I was hoping to avoid this, thanks for the response. Do you think ACADO struggles to handle nonlinear constraints?
Was anyone able to figure this out? I'm running into the same problem. I have been able to use simple obstacle avoidance constraints like this before with other solvers.
Was anyone able to figure this out? I'm running into the same problem. I have been able to use simple obstacle avoidance constraints like this before with other solvers.
Was anyone able to figure this out? I'm running into the same problem. I have been able to use simple obstacle avoidance constraints like this before with other solvers.
Was anyone able to figure this out? I'm running into the same problem. I have been able to use simple obstacle avoidance constraints like this before with other solvers.
Was anyone able to figure this out? I'm running into the same problem. I have been able to use simple obstacle avoidance constraints like this before with other solvers.
I have a pretty simple model and am minimizing a Mayer term of the final time parameter T. The solver gives the following warning but then proceeds to solve to problem. [ACADO] Warning: QP needs to be relaxed due to infeasibility Code: (RET_RELAXING_QP) File: /cygdrive/c/Users/e32761/Documents/acado/acado/conic_solver/condensing_based_cp_solver.cpp Line: 494 The resulting states satisfy the initial and final state constraints so I'm not sure exactlty what is happening. When simulating, the dynamics...
I have a pretty simple model and am minimizing a Mayer term of the final time parameter T. The solver gives the following warning but then proceeds to solve to problem. [ACADO] Warning: QP needs to be relaxed due to infeasibility Code: (RET_RELAXING_QP) File: /cygdrive/c/Users/e32761/Documents/acado/acado/conic_solver/condensing_based_cp_solver.cpp Line: 494 The resulting states satisfy theinitial and final state constraints so I'm not sure exactlty what is happening. When simulating, the dynamics...