아두이노에서 NT-ARSv1의 데이터를 받는 예제
NT-ARSv1의 출력 데이터를 아두이노에서 해석하는 예제입니다. Roll, Pitch와 그 각속도 이렇게 4개의 값중에서 사용자가 선택할 수 있으며, 출력된 데이터는 문자열이 아니라 double형의 숫자로 받도록 했습니다. 이미 예전에 [바로가기]에서 NT-ARSv1의 데이터를 받는 부분을 다루었는데요. 당시에는 단순히 값을 한 번 확인하는 것과 아두이노와 ARS와의 연결에 대한 부분을 다루었다면 이번에는 약간 함수화를 했습니다. 기본적으로 하드웨어적인 연결은 [바로가기]와 같으니 먼저 읽고 넘어오시기 바랍니다.
일단 오늘 보여드릴 예제는 몇몇개의 함수로 구현되어 있어서 함수별로 하나씩 확인해보도록 하겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
String getARSresultAtOnece() { String outputValuesOfARS = ""; Serial1.print("<CAO>"); delay(2); while (Serial1.available()) { char incomingChar = Serial1.read(); outputValuesOfARS += incomingChar; } return outputValuesOfARS; } |
먼저 getARSresultAtOnce() 함수입니다. 이 함수는 NT-ARSv1의 데이터를 STRING의 형태로 저장하는 것이 목적입니다. 여러가지 형태로 다양하게 사용하실려면 이 함수만 사용하신 다음 간편하게 응용하시면 됩니다. 함수이름에도 나타나 있지만, ARS의 <CAO>명령을 사용합니다. 만약 사용자가 <CAH>명령을…
아두이노에서 NT-ARSv1의 데이터 받기
아두이노 Arduino MEGA ADK에서 NT-ARSv1데이터를 받아서 각도(degree)로 환산하는 예제 코드입니다. 아두이노로 저희 NT-ARSv1를 다룰려고 하시는 분들께 도움이 될 수 있으면 좋겠습니다.
우리 연구소에서는 아주 예전에 Pitch와 Roll각도를 받을 수 있는 NT-ARSv1[바로가기]이라는 저가의 ARS 모듈을 출시했었습니다.
오늘은 여러 유저들께서 자주 요청하시던 아두이노에서 이 ARS의 데이터를 받는 예제를 공개할려고 합니다. 일단, 이 글에서 테스트 되는 아두이노 보드는 Arduino MEGA ADK[판매 페이지 바로가기]입니다. 왜 MEGA ADK 버젼을 사용했냐면, 저는 PC에서 데이터를 확인하고 싶었기 때문에 ARS와 시리얼 통신으로 연결될 여분의 시리얼 포트가 더 필요했기 때문입니다. Arduino MEGA ADK는 총 4개의 시리얼 포트를 가지고 있어서 선정했구요.
그런데 연결하다보니 약간의 문제를 만났네요. 어떤 문제냐면, NT-ARSv1의 시리얼통신 출력은 RS232신호로 나온다는…
MoonWalker의 스크립트 기능을 이용한 역진자 제어
위 사진에 이번에 출시 예정인 MoonWalker가 있습니다. 응? 근데 왜 펜들럼[바로가기]과 연결되어 있냐구요? 원래 모터 제어기를 펜들럼 같은 장비랑 물리면 하나의 보드가 더 필요합니다. 바로 펜들럼의 제어입력을 계산하기 위한 보드인데요. 저희가 이번에 야심차게 출시할 예정인 MoonWalker가 저 사진에는 딸랑… 딸랑 하나만 연결되어 있자나요? 이번글에서는 MoonWalker가 지원하는 아~주 많은 멋진 기능중에서 SCRIPT 언어에 대해 자랑하기 위해 저렇게 연결해 두었습니다.
이번 MoonWalker에는 바로 [바로가기]에서 언급했던 스크립트 기능이 포함되어 있습니다. 이 기능은 뭐 일종의 매크로 보다는 더 강력하다고 생각하시면 됩니다. 간단히(사실 좀 복잡해도 됩니다.^^) 몇몇 기능들을 조합해서 프로그램을 짜야하는데 그것때문에 모터 제어기와 함께 별도의 보드를 쓰기는 불편하자나요.
몇몇 예를 들어보죠.
히히… 과대 광고인가요? 아닙니다. 이제부터 보시면…
PC조종을 이용한 MoonWalker 테스트
사전에 디지털 신호를 이용하여 RC조종기로 MoonWalker를 테스트 해보왔는데요.
이번에는 시리얼 통신 (RS232)을 이용한 PC 조종으로
MoonWalker를 테스트 해보겠습니다.
PC조종도 소형 주행로봇 NT-Command-l을 이용하였습니다.
[그림1. MoonWalker을 이용한 주행로봇 ]
[그림2. MoonWalker을 이용한 주행로봇]
PC와 주행로봇 간의 무선연결은 Parani-SD200 블루투스 무선 시리얼 어댑터(RS232)와 Parani-SD1000U 블루투스 USB 시리얼 (RS232)어댑터를 이용하였습니다.
[그림3. Parani-SD1000U 어댑터]
SD1000U는 USB인터페이스가 달린 어댑터로 PC쪽에 연결하며
무선 시리얼 통신(RS232)이 가능합니다.
통신거리는 100m 이지만 안테나를 교환하면 최대 1Km까지 통신이 가능합니다.
4개의 딥 스위치를 이용하여 통신속도를 2400에서 115.2K 까지 설정할수 있습니다.
이번 PC조종에서는 115.2K으로 통신속도를 설정해 주었습니다.
[그림4. Parani-SD200 모듈]
SD200은 시리얼 9핀이 내장되어 있는 시리얼 통신(RS232) 모듈로써
Parani-SD1000U와 호환이 가능합니다.
통신거리는 30m 이고 이 또한 4개의 딥 스위치를 이용하여
통신속도를 2400에서 115.2K까지 설정이 가능합니다.
이번 MoonWalker 통신속도는 115.2K로 설정해 주었습니다.
…
RC조종기를 이용한 MoonWalker 테스트
안녕하세요^.^
오늘은 현재 저희 연구소에서 개발중인 곧 출시를 앞둔 DC모터드라이버 MoonWalker Series의 구동법을 살펴보려고 합니다.
앞선글에서 Moonwalker에 대해 설명했었는데요 .
위 관련글에 나타내고 있는 구동방법중 오늘은
RC 조종기와 같은 디지털 신호를 이용하여 구동을 시켜보겠습니다 .
저희 Moonwalk 모터드라이버는 아주간단하게 연결만 해주면 RC조종기로 주행로봇을 컨트롤 할 수 있습니다.
외부 인터페이스 모습입니다.
이 모터드라이버를 저희주행로봇에 연결하여 구동을 시켜보겠습니다 .
주행로봇은 NT-Commander-I를 선택하였습니다 바로 요놈입니다
소형 주행로봇인데요 테스트용으로 안성맞춤이라 생각됩니다.
앞뒤좌우로 총 4개의 바퀴에 각각 모터가 달려있습니다.
이번테스트는 4개의 모터를 각각 구동시키는게 아니기때문에
좌우 모터를 각각 묶어 2ch로 사용을 하고 엔코더역시 좌,우 한개씩만 연결을 해주도록 합니다.
모터드라이버와 전원,그리고 RC조종기의 수신기는 아래의 그림을 참고하여 연결해주도록 합니다.
그림에서 보듯이 모터는 좌,우를 묶어주었고 엔코더는 각방향에서 1개씩만 사용하였습니다.
배터리는 12V 3A용량의 리튬인산철 배터리를 사용하였으며…
MoonWalker DC 모터 제어기의 특장점
저희는 최근 단순한 구동 드라이버에서 벗어나 좀 더 많은 기능과 강력한 성능을 담은 제품을 기획하고 있었습니다. 이름하여 MoonWalker 시리즈입니다. 이제 DC 모터 제어기들 부터 출시가 될텐데요. 엄청난 기능들이 많아요^^
이쁘게 나온것 같아요. MoonWalker라는 로고도 괜찮지 않나요? ㅎㅎ.
이번에 소개해 드릴 것은 MoonWalker의 DC 모터 제어기 시리즈로 총 6종이랍니다.
DC 모터의 전류 / 속도 / 위치 제어기가 탑재된 고급형 제어기
제품별로 8V에서 48V까지의 넓은 전압범위와 최대 50A까지의 연속 최대 구동 전류
Unipolar/Bipolar 구동 방식 선택 가능
18kHz에서 40kHz까지의 PWM 주파수 범위
각 구동 방식별로 close-loop / open-loop 제어 방식 선택 가능
전류 / 속도 / 위치 제어기 각각에 anti – windup 제어기 설계
사다리꼴 프로파일을 이용한 속도 제어가능
Open-loop 구동 시에도…
지능형 무인 자동차 연구에 적합한 STELLA eCARv1
저희 STELLA 시리즈는 지능형 로봇을 연구하시는데 많은 도움이 되는 플랫폼을 공급하는 시리즈입니다. STELLAB B2로 소형 플랫폼을 공급했다면, 이번에 STELLA eCARv1으로 대형 탑승형 로봇 플랫폼을 공급하고자 합니다. 저희는 꽤 오래전부터 지능형 탑승형 로봇에 관심을 가졌었는데요.
비록 아직 상용화 단계는 아니지만, GPS와 카메라 등을 이용하여 위와 같은 형태의 완성차를 만들어 테스트를 했었습니다. 언젠간 위 차량도 판매할 만큼이 되면 좋겠네요…
그후에
위 모델처럼 일반적인 골프차를 개조한 형태로 테스트를 수행했습니다. 왜냐구요? 골프차는 완성차이니 가격이 싸거든요. 그러니 좋은 판매가격을 가질 수 있다고 생각했던 겁니다.
그러다가 드디어 위 그림처럼 깔끔하고 이쁜 골프차를 자율 주행용 플랫폼으로 공급할 수 있게 되었습니다.^^.
일단 기본적으로, 핸들에 절대엔코더와 조향모터를 장착하여 핸들을 사용자가 통신을 통해 제어할 수…
AstroBoyS Mecanum Platform II/III 전방향 이동이 가능한 메카넘 플랫폼
최근 개발되어 판매를 시작한 메카넘휠[바로가기]이 있습니다. 이름하여 NT-Mecanum Wheel II/III인데요. 이 II/III에 맞춰 각각의 플랫폼이 또한 출시 되었습니다. 이름은 AstroBoyS Mecanum Platform II/III입니다. 메카넘휠의 일반적인 원리와 같은 내용은 [바로가기]를 참조해 주세요.
이 아이가 AstroBoyS Mecanum Platform II입니다.
사람이 앉아도 될 정도의 넓이로 다양한 장비를 올려보실 수 있습니다.
특히, 300kg의 적재 중량으로 꽤 큰 장비도 올리실 수 있습니다.
이 아이는 AstroBoyS Mecanum Platform III 입니다.
AstroBoyS Mecanum Platform II/III 모두 동일한 컨트롤 패널을 사용하고 있습니다. 모터 컨트롤러와 패널 역시 꽤 좋은 성능을 가지고 있으며, 꽤 좋은 주행 성능을 가지고 있습니다. AstroBoyS Mecanum Platform 시리즈는 기본적으로는 무선 RC 조종기에 대응합니다. 만약, 사용자가 PC나 유선 조이스틱으로 조종하고 싶다면,
을 참조하시기 바랍니다.
마지막으로 살짝…
궤도 바퀴 NT-Track ABS Wheel
저희는 예전부터 궤도형 혹은 트랙, 캐터필러 등으로 불리는 궤도형 휠을 판매하고 있었는데요. [바로가기]가 이 제품들입니다. 본래의 제품들은 소형 휠로 많은 무게를 적재할 수 없었구요. 무엇보다 작고 저렴하게 만들다 보니 회전시 탈조현상등의 문제점이 있었습니다. 그 후 저희는 AstroBoyS라는 이름으로 군사형 로봇 프로젝트를 시작했는데요. [바로가기]에서 보시면 궤도형 주행 로봇들이 보입니다. 아직은 완제품은 상품등록을 위해 마무리 작업중입니다만, 궤도 바퀴는 판매를 시작할려고 합니다.
바로 이 아이들입니다. 궤도와 동력 전달용휠과, 지지용 휠, 고정 핀입니다. 이걸 두 개 구입하시면 궤도형 차량을 만들어 보실 수 있습니다.
이런 크기로 말이죠.
동력 전달용 휠과 지지용 휠입니다. 그리고 체인을 연결할 분들을 위해 체인을 감을 수 있는 스프라켓도 같이 제공하고 있습니다.
보시면, 탈조 방지를 위해…
전방향 이동이 가능한 Mecanum Wheel II / III
메카넘휠을 이용한 많은 노하우를 가진 저희 (주)엔테렉스에서 최근 개발된 휠 2종의 판매를 시작합니다. 메카넘휠은 특성상 아이들롤러 피복의 피로도가 중요한데 그 부분에 대한 강도의 개선이 또한 이루어졌습니다. NT-Mecanum Wheel II는 아이들롤러가 6개이며, NT-Mecanum Wheel III는 아이들롤러가 14개입니다.
위 사진의 제품이 NT-Mecanum Wheel II입니다.
위 그림에서 보이듯이 휠의 전체 직졍은 222mm입니다. 메카넘휠은 특성상 사선으로 기울어진 형태로 아이들롤러가 장착되는데 그 전체적인 폭이 140mm가 됩니다.
위 그림에 나타난 것이 NT-Mecanum Wheel III입니다. II에 비하면 아이들롤러의 수가 많습니다. 전체적을 진동이 많이 개선되었습니다만, 당연히 많은 작업으로 인해 가격이 높습니다.
전체적인 크기도 324mm로 또한 큽니다.