Myślę, że to nie jest takie trudne, ale utknąłem na tym przez jakiś czas.Kąty ciągłe w C++ (funkcja rozwijania eq w programie Matlab)
Mam złącze, które może obracać się w obu kierunkach. Czujnik daje mi kąt przegubu w zakresie -pi i + pi.
Chciałbym przekonwertować go w zakresie -infinity i + nieskończoności. Oznacza to, że jeśli na przykład staw będzie obracał się zgodnie z ruchem wskazówek zegara na zawsze, kąt zacznie się od 0, a następnie wzrośnie do nieskończoności. w Matlab funkcja unwrap robi to bardzo dobrze:
newAngle = unwrap([previousAngle newAngle]);
previousAngle = newAngle;
Uwaga: zakłada kąt nie zrobić duży skok, nic wyższą PI na pewno.
Uwaga: Naprawdę ciężko spojrzał przed pytaniem ...
Dzięki!
W funkcji angleConv(), kąt został ograniczony do [-180, 180], więc jest to oczywiście w [-360, 360]. Nie widziałem potrzeby. – kevin