MW-AHRSV1를 이용하여 Pixhawk 외부 imu로 이용하기
페이지 정보
본문
사용 환경: 우분투 20.04 or 18.04
개발 언어: c++
상용 비행제어컴퓨터인 Pixhawk를 이용하여 자세제어 알고리즘을 연구 중입니다.
MW-AHRSV1를 pixhawk의 시리얼 혹은 CAN 포트 연결을 통해 실시간으로 값을 받아서 제어 알고리즘에 사용하려고 합니다.
질문은 다음과 같습니다.
1. MW-AHRSV1의 최종 출력인 오일러 각도 또는 가속도만 받으면 되는데 UI에서 세팅 후에 시리얼 혹은 CAN으로 받아올 시 Pixhawk 쪽에서 decoding이 필요할까요?
2. 오픈되어 있는 라이브러리를 이용하여 Pixhawk 센서 라이브러리에 그대로 넣고 호출을 적절히 해주면 원하는 센서 출력을 받을 수 있을까요?
3. 다수의 MW-AHRSV1 신호를 받고 싶은데 CAN 통신 전략으로 진행하면 될까요?
- 이전글USB2CAN FIFO 제품 관련 문의 23.11.17
- 다음글build error 관련 문의 23.11.15
댓글목록
최고관리자님의 댓글
최고관리자 작성일
안녕하세요.
1. Pixhawk 의 프로토콜 형태를 제가 잘 알고 있지 못하여 알고 계신 기술 문서 공유해주시면 검토 해보겠습니다.
하지만 아마도 각각 장치마다 원하는 프로토콜이 있기 때문에 별도의 작업이 필요하실 거 같습니다.
2. AHRS에서 주기적으로 데이터 값을 나오게 명령을 보내고 그 후 출력 데이터를 이용하시면 될 거 같습니다.
3. 다수의 AHRS 데이터 값을 받으실 때는 CAN 으로 하시는게 좋으실 거 같습니다.
언젠가박사님의 댓글의 댓글
언젠가박사 작성일
답변갑사합니다!!
1번에 대한 재 질문 드립니다.!
현재 저는 Ardupilot 이라는 비행제어소프트웨어에 MW-AHRSV1를 외부 CAN 또는 시리얼로 출력을 받아와서 내부 자세제어 알고리즘에 사용하려고 합니다.
센서 모듈을 추가하는 예제도 있긴 합니다.
(https://ardupilot.org/dev/docs/code-overview-sensor-drivers.html)
그리고 external AHRS 시스템 예제로 Vector nav 회사 제품으로 나와 있긴 합니다.
(https://ardupilot.org/plane/docs/common-external-ahrs.html)
제가 궁금한 부분은 예제와 같이 해당 제품에 관한 하위단 decoding 코드까지 전부 (헤더 파일까지) Ardupilot 센서 드라이브단에 넣어줘야 인식이 되는건지
아니면 단순하게 can이나 시리얼로 받아 온 후 ox56 이런식으로 지정된 값만 읽어서 가져오면 될지
접근 방법을 잘 모르겠습니다.
제가 이런 분야는 잘 몰라서 두서없이 질문 드린 점 죄송합니다.
최고관리자님의 댓글
최고관리자 작성일
https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_Scripting/examples/CAN_read.lua
이런식으로 사용하고 있는거 같은데요.
저희가 예전에 AHRS CAN 예제를 만들었는데, 아래주소 참고하셔서 만드시면 될 거 같습니다 ㅎ
https://github.com/ntrexlab/AHRS_Can
언젠가박사님의 댓글의 댓글
언젠가박사 작성일답변 감사드립니다!
언젠가박사님의 댓글의 댓글
언젠가박사 작성일
https://github.com/ntrexlab/AHRS_Can
AHRS CAN 예제를 말씀하셨는데
6번의 예제를 다운 받기를 클릭하면 더 이상 저장소 정보가 나오지 않습니다.
확인 요청드립니다.
최고관리자님의 댓글
최고관리자 작성일
안녕하세요.
https://www.devicemart.co.kr/goods/view?no=1323536
해당 제품에 대한 예제입니다.
제품이 있으시면 자료 받으시고 사용하시면 됩니다