August 20, 2018

디바이스마트 미디어:

초보자를 위한 NT-ARSv1 (Attitude Reference System)

* G.INS NT-ARSv1란?

G.INS의 G는 관성항법장치에서 중요한 요소인 Gravity를 의미하기도 하며, 사용자에게 좀 더 나은 결과값을 제시하기 위해 Genius한 제품을 만들기 위한 저희의 의지를 의미하기도 합니다.
또한 G.INS의 INS는 관성항법장치(Inertial Navigation System)을 의미하는데, 관성항법장치는 엔코더와 같이 고정점이 있어야만 상대각도를 측정할 수 있는 자신의 자세를 측정하기 위한 필수 장비입니다.
이번에 저희 ㈜엔티렉스는 G.INS 제품군의 첫 제품으로 NT-ARSv1을 출시하게 되었습니다.

 

* NT-ARSv1(Attitude Reference System)란?

자이로센서와 가속도센서를 융합하여 각도를 추정할때, 흔히 공간상의 3개 자세중에서, z축 중심의 회전인 yaw를 제외하고, pitch와 roll을 측정하는 장비를 ARS라고 합니다.

001

ARS를 만들기 위해서는 3축 가속도 센서와 2축 자이로센서에 추가로 자이로의 온도특성을 보정하기 위한 온도센서,3개의 센서를 융합하고 필터를 설계하기 위한 MCU가 포함됩니다. 만약, Yaw까지 측정한다면, 흔히 AHRS라고 부릅니다.
ARS(Attitude Reference System)는 관성항법장치들 중에서 직행방향과 측면방향을 중심으로 회전하는 각도(Roll,Pitch)를 의미합니다.
저희 NT-ARSv1은 32 비트 ARM Cortex-M3 마이크로프로세서를 탑재하여 3축 가속도센서, 2축 자이로센서의 데이터를 사용하여 6개의 3차원 자세정보(X, Y, Z, ROLL, PITCH, YAW) 중 ROLL 과 PITCH의 각을 구하는 ARS 모듈로써, Roll과 Pitch의 각도와 각속도를 사용자에게 RS232나 CAN통신으로 라디안(radian) 단위로 출력해 주도록 설계되어 있습니다.
저희 NT-ARSv1은

-. 소형 항공기의 자세측정이나

-. 로봇의 특정 지점의 절대각도

-. 세그웨이와 같은 밸런싱로봇의 자세측정

등에 활용할 수 있습니다.

 

* NT – ARSv1 제품 특징 

NT-ARSv1은 RS232통신과 CAN통신이 지원됩니다.
흔히 쓰이는 RS232통신을 사용하여 사용자가 쉽게 접근할 수 있고, 장거리 멀티 통신인 CAN(Control Area Network)을 인터페이스로 사용함으로 주 메인 컨트롤러보드에서의 장착을 벗어나, 로봇의 중심에서 정확한 각도를 검출하여 사용자에게 알려줄 것입니다.
NT-ARSv1은 센서 특성에 따라 오차가 발생하는 것을 줄이기 위해, 출하 단계 에서 모든 Calibration을 마치고 출고합니다.
따라서, 처음 전원 인가 시 Booting 시간을 제외하고 별도의 대기 상태가 필요 없습니다.
또한 사용자가 편의에 따라 Calibration을 할 수 있도록 Software 명령어를 준비해 두었습니다.
NT-ARSv1은 1.6T의 알루미늄 케이스 타입으로 소형화 하여 제작하였기 때문에, 큰 충격에서도 제품을 보호할 수 있습니다.

 

* NT ARS Source Code

폼화면

* 비주얼 베이직 6.0에서  MSComm을 이용하여 ARS 각도를
측정하기 위한 Form화면을 구성하였습니다.
* MSComm과 CommandButton 2개  TextBox 1개를 사용하였습니다.
MSComm : Rs232c통신을 하기 위한 컨트롤
CommandButton : Connect , Disconnect
TextBox : ARS변환 각도를 보여줌

20130425_183927

* 보시다 시피 MSComm Commport는 연결된 3번을 입력해 주었고
*  InputLen을 1로 주어 입력버퍼에서 8bit씩 받게끔 해주었습니다.
일반적인 통신 설정에서 9600 bps만 115,200 bps로 주었습니다.
1초당 115,200씩 전송된다는 의미 입니다.
따라서  14,400 byte 씩 전송이 되겠지요
* RThreshold는 이벤트가 발생되기 전에 수신할 문자의 개수를 설정하는 것인데
여기서는 0으로 주어도 상관없습니다.

Private Sub Command1_Click()

Dim FileName As String
MSComm1.CommPort = 3
MSComm1.Settings = “115200,n,8,1″
MSComm1.PortOpen = True

PC와 ARS를 연결
MSComm1을 115200 bps , Non Praity , 8bit , Stop bit 1
로 설정

FileName = InputBox(“저장할 파일명을 입력하세요.”)
If FileName = “” Then
If MSComm1.PortOpen = False Then
Exit Sub
End If
End If

만약 Port가 연결되지 않았다면 구동하지 않음

Open App.Path & “\” & FileName & “.txt” For Output As #1
Print #1, “ARS(Attitude Reference System) Pitch,Roll (각도)값의 변경에 따라 메모장.txt로 나타내기” & vbCrLf
MSComm1.Output = <CAH>

MSComm1에 각도값을 입력 , 각도값 : <CAH>

Command1.Enabled = True
Command2.Enabled = False
Exit Sub
End Sub

————————————————————

Private Sub Co

Command2_Click()

Close #1
If MSComm1.PortOpen = False Then
Exit Sub
End If
End Sub

Command2 버튼을 클릭할 경우 닫기

————————————————————

Private Sub MSComm1_OnComm()
If MSComm1.PortOpen = False Then
Exit Sub
End If

Static BUF As String
Static tmpBuf As String
tmpBuf = MSComm1.Input

정적변수로 선언한 tmpBuf를 MSComm1 수신버퍼로 선언

If tmpBuf = “<” Then
BUF = “”
End If

만약 tmpBuf = “<”라면  BUF  와 tmpBuf 문자열을 결합

BUF = BUF & tmpBuf
If tmpBuf = “>” Then
Text1.Text = Text1.Text & BUF & vbCrLf

만약 tmpBuf = “>”라면  Text1.Text에 Text1.Text 와
BUF , tmpBuf 문자열을 결합한 것을  대입

Print #1, BUF 
End If
Text1.SelStart = Len(Text1.Text) + 1
End Sub

20130425_183521

* ARS 각도를 측정하기 위한 Source Code 입니다.
* PC 통신포트는 COM3, 통신 속도는 115200BPS , Non Parity, 8 Data Bit, 1 Stop Bit를 설정하였습니다.

* 결과

Comments
3 Responses to “초보자를 위한 NT-ARSv1 (Attitude Reference System)”
  1. 고폴린 says:

    얼마 전 구입한 사람입니다.
    저는 왕초보입니다.

    센서라는 걸 처음 구입해보았고, G.Ins에 끌려 구매했어요….거금 10만원이 넘는 돈을 투자했습니다.

    실험을 해보고 싶은데,
    pc에 연결하기 위한 케이블 같은게 필요한 것 같아요.
    케이블 2천원주고 함께 신청한거는 pc에 바로 연결할 수 없는 형태더라구여.;
    뭘 어떻게 해야할 지 하나도 모르는 저는, 뭘 사야 할지 모르겠습니다.

    알려주시면 추가구매해야겠어요;;;

  2. 고폴린 says:

    건전지도 있어야 하나요…??
    알려주세요!
    이쪽으로 지속적으로 실험을 할 거라서…자이로센서, 가속도 센서등도 계속 구매할 의향이 있습니다.
    그런데 실험을 하려면, 실험 셋팅 장비 정도는 알아야하잖아요..

    pc에 입출력 값을 보기 위한 입출력 장치?를 뭘 구입해야하는지 좀 알려주세요..ㅠㅠ

    • NTRexLAB-PJH says:

      안녕하세요 엔티렉스입니다 .
      ARS에 같이 드리는 케이블은 데이터시트 혹은 http://www.ntrexgo.com/archives/12020 이 사이트를 참고하셔서
      핀연결을 해주시면됩니다. 핀연결후 간단한 입출력데이터를 확인하고싶으시면 위 사이트를 참고하시면 됩니다.

      연결시 배터리(5V~10V)를 사용하셔서 전원 인가해주셔도 되고 전원공급장치로 넣어주셔도 됩니다.
      실험셋팅장비는 (D-SUB 시리얼 젠더) 를 말씀하시는것 같은데 디바이스마트 홈페이지를 참고하셔서
      검색하시면 찾으실수 있습니다.^.^
      메뉴얼에 나와있는 그림을 참고하여 젠더와 ARS케이블을 연결해주시면 될 것 갑습니다 ^.^

Leave A Comment

*