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

Synchronization doesn't work #11

Open
Danielxyz123 opened this issue Jun 7, 2021 · 3 comments
Open

Synchronization doesn't work #11

Danielxyz123 opened this issue Jun 7, 2021 · 3 comments

Comments

@Danielxyz123
Copy link

The synchronization doesn't work with the following parameters.

    State_start       = [ 327.0,  1978.0,  -2878.0;
                          288.0,  1336.0,  -8037.0];
    Waypoints(:,:,1)  = [ 700.0, 0 , 0 ,0 ,0;
                          400.0, 0 , 0 ,0 ,0];
    V_max             = [ 2000.0;
                          2000.0  ];
    V_min             = [-2000.0, ;
                         -2000.0, ];
    A_max             = [ 20000;
                          20000];
    A_min             = [-20000;
                         -20000];
    J_max             = [ 200000;
                          200000];
    J_min             = [-200000;
                         -200000];
    A_global          = [ 0.0 
                          0.0];  
@MariusBeul
Copy link

I investigated the issue. The problem with this specific input configuration is that it can only be synchronized with the acdeg_NTV_AVP.m template. (case 11107). This template (J_min - J_max - 0 - J_min - J_max) is however currently not implemented. I will leave this issue open until I have a fix.

@Danielxyz123
Copy link
Author

Sounds good. But there's another case which is missing.
21111 / 21112, the "acefg_NTA_AVP" case.
Or is it fine, that the case isn't implemented?

The following cases are probably for jerk synchronization, which is not implemented yet?

30101 - 30116
31101 - 31116

@MariusBeul
Copy link

MariusBeul commented Jun 9, 2021

Jerk synchronization is currently not implemented. According to my list, the following templates yield no solution at the moment:
abcdeg_TA_AVP
acdefg_TA_AVP
abcdefg_NTA_AVP
abcdeg_NTA_AVP
abcefg_NTA_AVP
abceg_NTA_AVP
acdeg_NTV_AVP
acefg_NTA_AVP
ac_O_VP
abcefg_O_VP
abceg_O_VP
acdeg_O_VP
acefg_O_VP
aceg_O_VP
acdeg_NO_VP

I am continuously updating this list when I find efficient solutions for the above cases.
The naming is as following: the first letter block describes the nonzero trajectory segments. Thus a type "abcdefg" trajectory has seven segments. A type "ac" trajectory has only the first and the third segment. The next block indicates if a trajectory is:

  • O optimal with a: "j_max - zero - J_min - zero - J_min - zero - J_max" jerk profile
  • NO optimal with a double deceleration jerk profile: "j_min - zero - J_max - zero - J_min - zero - J_max"
  • TV synchronized by velocity
  • TA synchronized by acceleration
  • TJ synchronized by jerk (not implemented)
  • NTV synchronized by velocity with double deceleration jerk profile
  • NTA synchronized by acceleration with double deceleration jerk profile
  • NTJ synchronized by jerk with double deceleration jerk profile (not implemented)

The next block indicates which derivative of the waypoint is defined. Thus the templates with AVP are for nominal fully defined waypoints. VP is a waypoint with undefined acceleration and so on...

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

No branches or pull requests

2 participants