Skip to content

Latest commit

 

History

History
139 lines (117 loc) · 5.84 KB

manipulator_check.md

File metadata and controls

139 lines (117 loc) · 5.84 KB
title date
マニピュレータの動作確認
2017-06-17
  • Table of contents {:toc}

簡単なプログラムを利用してマニピュレータのサーボの動作を確認します。

ソフトウェアのコンパイル

  1. サーボドライバーソフトウェアをコンパイルします。端末を起動し、以下のコマンドを実行します。

    $ cd ~/Downloads/
    $ git clone https://github.com/ROBOTIS-GIT/DynamixelSDK.git
    $ cd DynamixelSDK/c/build/linux64/
    $ make
    mkdir -p ./.objects/
    gcc -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c -I../../include -m64 -fPIC -g -c
        ../../src/dynamixel_sdk/group_bulk_read.c -o .objects/group_bulk_read.o
    gcc -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c -I../../include -m64 -fPIC -g -c
        ../../src/dynamixel_sdk/group_bulk_write.c -o .objects/group_bulk_write.o
    gcc -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c -I../../include -m64 -fPIC -g -c
        ../../src/dynamixel_sdk/group_sync_read.c -o .objects/group_sync_read.o
    gcc -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c -I../../include -m64 -fPIC -g -c
        ../../src/dynamixel_sdk/group_sync_write.c -o .objects/group_sync_write.o
    gcc -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c -I../../include -m64 -fPIC -g -c
        ../../src/dynamixel_sdk/packet_handler.c -o .objects/packet_handler.o
    gcc -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c -I../../include -m64 -fPIC -g -c
        ../../src/dynamixel_sdk/port_handler.c -o .objects/port_handler.o
    gcc -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c -I../../include -m64 -fPIC -g -c
        ../../src/dynamixel_sdk/protocol1_packet_handler.c -o .objects/protocol1_packet_handler.o
    gcc -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c -I../../include -m64 -fPIC -g -c
        ../../src/dynamixel_sdk/protocol2_packet_handler.c -o .objects/protocol2_packet_handler.o
    gcc -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c -I../../include -m64 -fPIC -g -c
        ../../src/dynamixel_sdk_linux/port_handler_linux.c -o .objects/port_handler_linux.o
    g++ -shared -fPIC -m64 -o ./libdxl_x64_c.so ./.objects/group_bulk_read.o
        ./.objects/group_bulk_write.o ./.objects/group_sync_read.o ./.objects/group_sync_write.o
        ./.objects/packet_handler.o ./.objects/port_handler.o
        ./.objects/protocol1_packet_handler.o ./.objects/protocol2_packet_handler.o
        ./.objects/port_handler_linux.o -lrt
    $
  2. サーボ確認プログラムのソースを取得します。

    $ cd ~/Downloads/
    $ git clone https://github.com/gbiggs/dynamixel_servo_check.git
    $ cd dynamixel_servo_check
  3. サーボドライバーのライブラリとヘッダーをコピーします。

    $ cp -r ~/Downloads/DynamixelSDK/c/include/dynamixel_sdk/ .
    $ cp ~/Downloads/DynamixelSDK/c/build/linux64/libdxl_x64_c.so .
    $ ls
    CMakeLists.txt  dynamixel_sdk  libdxl_x64_c.so  LICENSE  README.md  servo_check.c
  4. サーボ確認プログラムをコンパイルします。

    $ mkdir build
    $ cd build
    $ cmake ../
    -- The C compiler identification is GNU 5.4.0
    -- The CXX compiler identification is GNU 5.4.0
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/geoff/Downloads/dynamixel_servo_check/build
    $ make
    [ 50%] Building C object CMakeFiles/servo_check.dir/servo_check.c.o
    [100%] Linking C executable servo_check
    [100%] Built target servo_check
    $ ls
    CMakeCache.txt  CMakeFiles  cmake_install.cmake  Makefile  servo_check

ソフトウェアを実行

  1. シリアルポートへアクセスするために、下記のコマンドにパーミッショングループに自分のユーザを追加します。

    $ sudo gpasswd -a ユーザ名 dialout

    上記でユーザ名を自分のユーザ名に変更します。

    上記のようにパーミッショングループにユーザを追加しないとサーボ制御ソフトウェアはハードウェアへアクセスできなくて、エラーになります。

    また、 実行後は一旦ログアウトして再ログインしてください。{:style="color: red"}

  2. サーボ確認プログラムを実行しサーボの動きを確認します。

    プログラムにサーボIDを指定します。CRANE+のサーボIDは1~5です。

    注意:プログラムを実行すると指定したサーボは高速で真ん中の位置に移動します。電源を入れる前にマニピュレータをまっすぐ上向きに近い姿勢にしてください。{:style="color: red"}

    $ cd ~/Downloads/dynamixel_servo_check/build/
    $ ./servo_check 1
    Opened port
    Changed buadrate
    Dynamixel has been successfully connected
    [ID:003] GoalPos:512  PresPos:760
    [ID:003] GoalPos:512  PresPos:757
    [ID:003] GoalPos:512  PresPos:744
    [ID:003] GoalPos:512  PresPos:730
    [ID:003] GoalPos:512  PresPos:718
    [ID:003] GoalPos:512  PresPos:705
    [ID:003] GoalPos:512  PresPos:687
    [ID:003] GoalPos:512  PresPos:672
    [ID:003] GoalPos:512  PresPos:656
    [ID:003] GoalPos:512  PresPos:640
    [ID:003] GoalPos:512  PresPos:623
    [ID:003] GoalPos:512  PresPos:604
    [ID:003] GoalPos:512  PresPos:586
    [ID:003] GoalPos:512  PresPos:564
    [ID:003] GoalPos:512  PresPos:543
    [ID:003] GoalPos:512  PresPos:522
  3. 1から5まで、全サーボの動作を確認しましょう。