Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Beetle][NMPC] The latest version of real machine #615

Open
wants to merge 546 commits into
base: master
Choose a base branch
from

Conversation

Li-Jinjie
Copy link
Collaborator

What is this

This is a PR for NMPC method implemented for Beetle.

Details

This PR heavily relies on the PR #550 #549, so it would be better to merge this branch after merging them.

TODO

  • Please replace the interfaces in beetle/src/beetle_navigation.cpp to the newest version. :) @tongtybj
  • After the above step, check nmpc execution by myself

Li-Jinjie and others added 30 commits November 25, 2023 00:20
…hovering in simulation! Only body_rate controller in Spinal should be used. The use of attitude controller in Spinal cannot guarantee the convergence of yaw angle.
…nd ft1, ft2, ft3, ft4 in base_thrust to Spinal. Better performance than pure body_rate controller.
…eate files for base solver and controller, not implemented.
…r; add an over-actuated model without servo delay
…calculate mass at the beginning. Implement .cpp and .h files for over_act_no_servo_delay model, but the solver can only find a solution when constraining servo angles to 0.
… can takeoff when servo angle is constrained to zero.
Li-Jinjie and others added 29 commits March 19, 2024 09:38
…ative of servo angle as control input in simulation. The integral process is u_cmd[4:] = u_cmd[4:] * ts_ctrl + x_now[13:], causing bad results.
…md[4:] * ts_ctrl + x_now[13:] to Sigma(u_cmd), leading to better results.
…l loop; add a prediction for command to eliminate the delay caused by NMPC computation
…008, and the corresponding t_servo: 0.035296. But this t_servo is too short to make NMPC unstable.
# Conflicts:
#	.gitignore
#	aerial_robot_base/src/aerial_robot_base.cpp
#	aerial_robot_control/include/aerial_robot_control/flight_navigation.h
#	aerial_robot_control/src/flight_navigation.cpp
#	aerial_robot_nerve/spinal/mcu_project/boards/stm32H7/Src/main.c
#	robots/mini_quadrotor/urdf/mesh/main_body_livox.dae
#	robots/mini_quadrotor/urdf/robot.urdf.xacro
…uadrotor in one directory. For simulation, execute python simxxx. For implementation, directly execute the model file.
…ation result. The fixed part is also printed to approximate the real condition.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants