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

[DRAGON][WIP] latest version for real platform #606

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

Conversation

tongtybj
Copy link
Collaborator

@tongtybj tongtybj commented Apr 13, 2024

What is this

This is the latest branch to run in the real platform

Details

Following components should be seperately merged to master branch

- keep the special definition about the transformation from baselink to CoG
- publish euler angles of CoG frame from spinal
- use rotation matrix instead of RPY euler in aerial_robot_estimation system
- modify sensor plugins of IMU, mocap, and VO
…ntation of both baselink and cog frame to avoid RPY Euler angles.

Send cog RPY Euler angles from spinal may violate the sync of cog2baselink rot between ros and spinal
…velocity

- add receiver of target SO(3) rotational motion in Dragon model
…_control.

Also add external wrench on CoG frame, e.g., for centripetal force.
- handle quaternion for target baselink instead of CoG
- adress the identical CoG and World frame issue in control framework
…on to calculate feasible control force and torque

- And process to check the robot configuration whether is fixed
…should be set by modelling or nagvigation methods
- add target angular velocity based on Lee SO3 control method
- retrieve cog orientation by converting from baselink orientation, since the desired cog orientation may be not updated in estimator. Need the last desired cog orientation.
…ion problem by SLSQP (nlopt)

Complete:
- nonlinear allocation for hovering (only gravity, no torque) with both numerical / analytical gradient
- nonlinear allocation for target wrench with numerical gradient
- nonlinear allocation for target wrench with analytical gradient, but constant inertia (depreacated)
- nonlinear allocation for target wrench with analytical gradient
…ng the first iteration result of static allication result
…ragon model, which will be the default one replacing the previous static allocation method.

This method can also calculate the slight change of thrust forces and giambal angles for each iteration.
We also update the control allocation part which can choose three methods: static one, strict nonlinear (SQP) one, and the gradient descent one (Jacobian)
  - separation of control terms into low frequency (P and I control terms) and high frequency (D control term). Low freq control term to determine gimbal roll angles, while high freq + low freq control terms to determine gimbal roll& pitch angles and thrust forces
  - use SR-inverse instead of psuedo inverse for allocation of gimbal pitch nagles and thrust forces, since gimbal roll angles is fixed according to low freq control term
  - enhancement of feasible control torque minminum (FCTmin) by heuristically change (increase) the gimbal roll angles in low FCTmin robot configuration (e.g. roll: -1.57, pitch: -0.78).
  - smooth transition of gimbal roll agnels between normal FCTmin robot configuration and low FCTmin robot configuration.
…e (e.g., roll: -1.57, pitch: -0.78). Use two pivot gimbals (e.g. gimbal 2 and gimbal 3)
…thod (both integral and separated full vectoring control method), confirmed with gazebo
tongtybj and others added 23 commits October 23, 2022 00:42
…luence on target acceleration:

1. Add new message to handle the vectoring forces
2. Refactor the process of extra vectoring forces in LQILike control framework
3. Impement the handle of extra vectoring forces in full vectoring control framework (three methods: staticIterativeAllocation in integral mode, gradientDecsentAllocation in integral mode, modifiedGradientDecsentAllocation in separated mode)
…target velocity (linear / angular) exceeds a certain threshold
…hich enables the update of robot module owing to the extra module.
commit e2db68c
Author: Moju Zhao <[email protected]>
Date:   Fri Jan 19 21:12:05 2024 +0900

    [Dragon][VIM4] fix the wrong model name for gazebo URDF

commit 04f38a4
Author: moju zhao <[email protected]>
Date:   Wed Nov 8 15:52:41 2023 +0900

    [Dragon][VIM4] refactor the system to use Khadas VIM4
- use only pose fusion mode (0)
- set variable_sensor_tf_flag to true to deal with the different links where the spinal and sensor are attached
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.

None yet

1 participant