본문 바로가기

Robot/Project

(46)
자이로와 가속도센서를 이용한 각도추정 필터를 C로 구현하기 2010. 2. 10. 12:30 예전에 자이로센서와 가속도센서를 이용한 각도추정 필터 를 소개한 적이 있는데요. 그 후 각도추정필터의 계수를 최소자승법으로 구하는 방법 을 다시 소개했었습니다. 그런데 방문하신 몇몇 분들께서 C-code로 다시 표현해달라는 이야기를 하셨는데요. 사실 포스팅을 해야겠다고 생각만 하고 미뤄두고 있었네요. 근데 결과를 보시면 정말 간단하다는 사실에 아마 경악을 금치 못하실 겁니다.^^. 일단 다시 그 보정 필터의 개념도를 보도록 하지요. 위에 있네요. 저 그림에 주석을 좀 달고 다시 시작해보겠습니다. 먼저 Temp1 intTemp1 Temp2 FilterAngle 순서로 구하게 됩니다. 그림상에 마지막부분의 FilterAngle은 단지 라디안(radian)을 degree로 표현을 다시 하는 것 뿐입니다. 결국..
최소자승법을 이용한 각도추정 보정필터의 설계 2010. 1. 1. 20:08 이번에 태국학회에 다녀 왔습니다. 이번에 다녀온 학회에서 발표한 내용을 잠시 소개할까합니다. 주제는 가속도센서와 자이로센서를 이용한 각도추정인데요. 이미 이전에 [[프로젝트/HardwarePart] - 자이로센서를 이용한 각도 측정시 가속도센서로 보정하기]에서 말씀드린적이 있습니다. 그 내용에서 보정용 필터의 계수들을 최소자승법(least-square)[[공학기초/Theory] - [공업수학] 최소자승법 Least Square]로 도출하는 방법에 대해 이야기하는 것입니다. 가속도센서와 자이로센서를 이용한 기존의 각도 추정에 대한 정리 ! 위 그림은 자이로센서의 적분을 통해 각도를 추정할때 보정용으로 가속도센서에서 측정된 각도를 사용할때 많이 사용하는 보정방법중 하나입니다. 위 블럭을 식으로 꾸며보면, 인..
자이로센서의 보정용으로서 가속도센서와 기울기센서의 성능비교 2009. 8. 2. 05:16 이번에는 이전에 소개한 적이 있는 자이로센서를 이용한 각도검출에서 그 보정용센서로 기울기센서를 선택할 것인지 자이로센서를 선택할 것인지를 판단할 성능비교를 주제로 합니다. 미리 말씀드리고 싶은것은 이 실험이 기울기 센서나 가속도 센서, 어느것이 절대적으로 좋다는 결론이 아니라 단지 제가 관심있는 부분에서의 결론임을 미리 밝힙니다. 이전 실험의 정리 이미 이전에 자이로센서([쿼드콥터/HardwarePart] - 자이로센서를 이용한 각도검출과 그 한계)와 가속도센서([쿼드콥터/HardwarePart] - 가속도센서를 이용한 각도 측정과 그 한계), 그리고 기울기센서([쿼드콥터/HardwarePart] - 기울기센서 SA1 테스트)를 각각 소개하면서 각 센서들을 이용한 각도검출과 또한 각 센서들만을 사용할 때..
기울기센서 SA1 테스트 2009. 7. 28. 16:01 작년 초쯤에 기울기센서 SA1을 테스트했었습니다. 자료를 정리하다보니 있길래 당시 테스트했건 결과를 올려보겠습니다. 당시 자이로센서의 적분드리프트([쿼드콥터/HardwarePart] - 자이로센서를 이용한 각도검출과 그 한계)때문에 보정할 센서를 찾고 있었습니다. 당시엔 가속도센서의 보정을 어느정도 하긴했었지만, 기울기 센서가 있다면 왜 자이로를 쓰고 왜 가속도를 쓰는지 의문이었지요. ㅎ.. 그래서 직접 테스트를 수행했습니다. 위에 보면 알다시피 구성하난 깔끔합니다.^^. 5V인가하고 Ground걸면 간단히 현재각도가 나온다는^^ 그러나 바로 스팩에서 문제가 하나 생깁니다. 딴건 빼고 Response time입니다.
자이로 센서 Identification 선형특성 파악 2009. 7. 23. 17:31 뭐 거창한 것은 아니구요. 자이로 센서의 특성을 좀더 공부하면서 뭔가 이것저것 해놓은것을 정리합니다. 이번 내용은 일단 만약 위와 같은 시스템에 사인(sin10t)입력을 인가했을때 나타나는 결과를 가지고, 위 시스템의 특성을 잠시 살쳐보면 위와 같이 알아낼 수 있습니다. 앗.. 제일 밑에 'Ai=1'입니다. 그럼 위 식을 사용해서 Amplitude Ratio와 Phase Angle을 알 수 있습니다. 그 결과는 위에서 처럼 비교가 가능하지요. 즉, 에서 를 이용해서 현재 제가 사용하는 자이로센서(NT- Gyro 300)의 두 특성을 알아보고자 한 것입니다. 그 다음... 자이로에대해 2009/06/15 - [쿼드콥터/HardwarePart] - 자이로센서의 출력에 온도를 고려하기 에서 이야기 했듯이 온도..
자이로 myGyro300SPI 통신문제 (보완질문) 2009. 6. 22. 16:18 ㅎ,, 가끔 무식이 용감하다는 말을 하게 혹은 듣게 되는데 요즘 제가 그런모양입니다. 최초 myGyro300SPI를 통해 4개의 데이터(자이로센서의 출력에 온도를 고려하기)를 받으면서 저의 실수로 문제점을 보게 되고, 그래서 다시 Withrobot에 질문을 보내고... 정말 고맙게도 irmus님의 답변을 받게 되었습니다. 그리고 다시 두 종류의 의문중 하나는 이해도 되고 해결도 했는데 하나는 뭔가 2%부족한 결과(^^)나 나왔다는 것을 다시 트랙백을 통해 질문(자이로센서 myGyro300SPI의 통신문제 해결)하게 되었습니다. 그리고 너무나도 고맙게 irmus님께서 다시 제 홈에 답변(사실을 질타....ㅜ.ㅜ)를 넣어두셨습니다. 근데 창피하게시리 두 번째 질문에서 제가 바꾸었다는 코드를 제가 잘못보냈네요..
자이로센서 myGyro300SPI의 통신문제 해결 2009. 6. 22. 12:01 자이로센서의 출력에 온도를 고려하기에서 자이로센서 myGyro300SPI를 사용할때 데이터가 하나씩 밀려들어오는 부분을 이야기했었습니다. 그리고 역시 Withrobot의 irmus님께서 정말 고맙게도 직접 오셔서 그 답변을 달아주셨다는...쿨럭... 그래서 그 답변대로 테스트를 해보았습니다. 위 답변인데요. 본래 제 코드의 문제점이 CS의 ON, OFF 부분 그리고 데이터 밀림은 dummy를 하나 받음으로 해결한다... 였습니다. 그래서 코드를 위와 같이 ReadGyro함수를 변경하고 기존의 코드에서 타이머핸들러 부분을 위와같이 두었습니다. ReadGyro 함수를 보면 어차피 여러개의 데이터를 받을거면 dummy를 읽는 부분이 좀 중복되긴 하지만, 사용상의 편의를 위해 그냥 저렇게 두었습니다. 그런데 자..
자이로센서를 이용한 각도 측정시 가속도센서로 보정하기 2009. 6. 17. 07:23 이미 가속도센서를 이용한 각도 측정과 그 한계에서 가속도센서에 병진운동 성분이 있다면 그 기울어진 각도는 가속도센서만으로는 추정할 수 없음을 이야기 했습니다. 또한, 자이로센서를 이용한 각도검출과 그 한계에서 자이로센서는 그 적분시 적분오차를 계속 누적해서 가져가기 때문에 또한 자이로센서만으로는 역시 기울기의 추정이 어렵다고 이야기했습니다. 물론, 자이로센서의 출력에 온도를 고려하기에서 온도보정을 잘 하면 그 적분오차에 의한 드리프트 현상을 상당히 막을 수 있다는 것을 실험해보았습니다. 그러나, 온도보정은 오차를 내지 않겠다, 즉 오차를 최소한으로 막아보겠다는것이지, 혹시 모르게 발생한 오차를 막아내지는 못합니다. 그래서 인터넷을 조금만 서치해보면 나오는 가속도 센서를 이용한 보정을 저도 한번 수행할려고..

반응형