본문으로 바로가기

Turtlebot3를 손에 쥔지 꽤 되었는데[바로가기] 겨우, ROS에서 rosserial을 사용해서 OpenCR 보드의 IMU 센서를 한 번 사용했구요[바로가기], LDS 모듈도 한 번 테스트[바로가기]를 했네요^^ 그리고 나서 다시 subscribe과 publish를 공부하는 마음으로 간단한 예제를 한번 했네요[바로가기] 그리고 나서... 잠시 또 다른 세계에 빠져 있다가... 드디어.. 다시.. Turtlebot3로 돌아왔는데요. 오늘은 ROS가 아니라 아두이노에서 모터를 직접 만지는 걸 튜토리얼로 볼려고 합니다.^^

이렇게 보니 Turtlebot도 뭔가 느낌있죠^^... 여러 연결을 좀 편하게 할려고 그 위의 보드를 잠시 빼놓았습니다.

아두이노를 열고, [바로가기]에 있는데로 URL을 보드 매니저에 추가합니다. 위 연결 URL이 변경될 수도 있으므로 로보티즈의 매뉴얼 페이지를 링크거는거죠^^

그리고~ 보드 매니저에서 OpenCR 보드를 Install 해 줍니다.

그리고, 보드를 OpenCR로 선택하구요^^

먼저. 예제 중에서 t_Find_Dynamixel을 선택해서

업로드합니다^^

그리고 시리얼 모니터를 키면~ 저렇게 나타납니다. OK~ OpenCR보드와 다이나믹셀의 연결 속도는 1Mbps이고, id는 각각 1, 2로 지정되어 있네요^^

이제 테스트 프로그램을 살짝 만듭니다. 뭐 너무 간단한 내용인데요.

/*
 * Simaple Dynamixel Test
 * by PinkWink
 * http://pinkwink.kr/
 */

#include <DynamixelWorkbench.h>

#define BAUDRATE            57600
#define BAUDRATE_TO_DXL     1000000
#define LEFT_ID             1
#define RIGHT_ID            2
 
DynamixelWorkbench dxl_wb;

void setup() {
    // put your setup code here, to run once:
    Serial.begin(BAUDRATE);
    while(!Serial); // Open a Serial Monitor

    dxl_wb.begin("", BAUDRATE_TO_DXL);
    dxl_wb.ping(LEFT_ID);
    dxl_wb.ping(RIGHT_ID);

    dxl_wb.jointMode(LEFT_ID);
    dxl_wb.jointMode(RIGHT_ID);
}

void loop() {
    // put your main code here, to run repeatedly:
    dxl_wb.goalPosition(LEFT_ID, 0);
    dxl_wb.goalPosition(RIGHT_ID, 0);
    delay(2000);
    dxl_wb.goalPosition(LEFT_ID, 2000);
    dxl_wb.goalPosition(RIGHT_ID, 2000);
    delay(2000);
}

입니다. BAUDRATE은 PC와 OpenCR의 연결 속도, BAUDRATE_TO_DXL은 OpenCR과 다이나믹셀 모터의 연결 속도입니다. 아까 찾은데로 1Mbps로~~~ 그리고 LEFT모터와 RIGHT 모터의 ID도 각각 1,2로 넣습니다. 그리고 나면 뭐 사실.. 나머진 예제대로 따라하는 거죠. ping을 날려서 setup 단계에서 모터 연결을 확인하고, wheelMode로 해야하는데 (지금 발견했네요^^) 그냥 jointMode로 지정해 두었고, loop()에서는 앞으로 뒤로를 2초 간격으로^^

그냥.. 가면 서운하니 별거 아니지만... 슬쩍.. 동영상도 남깁니다.^^


댓글을 달아 주세요

  1. BlogIcon 공수래공수거 2018.03.28 09:02 신고

    다른건 잘 모르겠고 결과물 동영상으로 잘 확인했습니다 ㅎㅎ
    기분좋은 하루 되시기 바랍니다^^

  2. BlogIcon 드래곤포토 2018.03.28 10:51 신고

    즐거운 수요일 보내세요 ^^

  3. BlogIcon IT넘버원 2018.03.28 12:21 신고

    어떻게 동작하는지 늘 궁금했는데 코드를 이용해서 신기하네요.^^

  4. BlogIcon 휴식같은 친구 2018.03.28 14:53 신고

    신기하네요. 어느 전시회에서 로봇과 차를 이렇게 달리게 하는걸 본것 같습니다.

  5. BlogIcon luvholic 2018.03.28 16:52 신고

    앞으로 슝슝 움직이는게! 놀랍네요~ㅎㅎ
    이쪽 분야를 잘은 모르지만, 프로그램을 이용해서
    설계를 하고 움직이게 한다는 것이 신기해요~~

  6. BlogIcon 핑구야 날자 2018.03.28 17:32 신고

    오늘은 묵직한 모터가 왠지 대단해 보이네요

  7. BlogIcon Deborah 2018.03.28 20:19 신고

    저도 잘 모르겠어요. ㅎㅎㅎ 하지만 이렇게 정성을 드려서 작성하신 글에 많은 분들이 호응을 해주셨으면 합니다.

    • BlogIcon PinkWink 2018.03.29 17:16 신고

      사실.. 1차 목적은 저 자신의 학습내용을 정리하는 것이어서..^^
      그래도 가끔 도움을 받았다고 말씀해 주시는 분들이 있으시더라구요^^

  8. BlogIcon 스티마 2018.03.28 23:49 신고

    아두이노로 자동차 조정까지! 좋아요.
    무선으로 하면, 가지고 놀기 훨씬 좋을것 같아요.
    비용이 많이 들겠죠? ^^

  9. BlogIcon peterjun 2018.03.29 02:19 신고

    앞으로...뒤로...
    저 또한 영상보니 한 눈에 들어오네요. ㅋ

  10. BlogIcon 귀요미디지 2018.03.29 11:51 신고

    포근한 목요일 이네요
    행복한 하루 되세요 ^^

  11. 행복한 목요일 오후 되세요^^

  12. BlogIcon 북두협객 2018.03.29 18:38 신고

    좋은하루되세요

  13. BlogIcon Bliss :) 2018.03.30 12:25 신고

    오오오오~ 코드 써보라고 하면 절대 못 쓰겠지만 생각보다 코드가 심플하네요. 터틀봇도 이쁘구요~ 이미 프로그래밍된 로봇 보는 것두 신기한데 직접 입력한 코드로 구동시키는 재미가 제법 재미가 많을 것 같아요. 부럽습니다아~ 해피 주말 되세요^^