Hey there! First of all thank you so much for your great work and effort you put into it!
I am currently trying to implement a MPC-Approach for a robotic manipulator. Since my control values must be joint torques, my system dynamics equal to the forward dynamics problem in which I solve for joint acceleration qddot. My system states however are x = [q, qdot], so my derived states equal to xdot = [qdot, qddot], which in turn corresponds to the FD. My question now lies in how I shall define the dynamics (f_expl) for the acados solver?
I am able to export a symbolic expression for qddot with urdf2casadi. But how do i define the integration step for qdot? my first guess would be to init the state vector with
states = cs.vertcat(q_sym, q_dot_sym) #x
states_dot = cs.vertcat(q_dot_sym, q_ddot_sym) #xdot
then get q_ddot_fd_expr from urdf2casadi
q_ddot_expr = robot.get_forward_dynamics_aba()
and finally define system dynamics with f_expl as
q_dot_func = q_dot_sym #just use integrated state as function for q_dot
f_expl = cs.vertcat(q_dot_sym_func, q_ddot_expr )
Would this be the way you would proceed to do it? Or is there another way to include a state dependency like the one in my example?
Thank you for your help in advance!
Best regards
Thorben