title | date |
---|---|
マニピュレータの動作確認 |
2017-06-17 |
- Table of contents {:toc}
簡単なプログラムを利用してマニピュレータのサーボの動作を確認します。
-
サーボドライバーソフトウェアをコンパイルします。端末を起動し、以下のコマンドを実行します。
$ 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 $
-
サーボ確認プログラムのソースを取得します。
$ cd ~/Downloads/ $ git clone https://github.com/gbiggs/dynamixel_servo_check.git $ cd dynamixel_servo_check
-
サーボドライバーのライブラリとヘッダーをコピーします。
$ 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
-
サーボ確認プログラムをコンパイルします。
$ 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
-
シリアルポートへアクセスするために、下記のコマンドにパーミッショングループに自分のユーザを追加します。
$ sudo gpasswd -a ユーザ名 dialout
上記で
ユーザ名
を自分のユーザ名に変更します。上記のようにパーミッショングループにユーザを追加しないとサーボ制御ソフトウェアはハードウェアへアクセスできなくて、エラーになります。
また、 実行後は一旦ログアウトして再ログインしてください。{:style="color: red"}
-
サーボ確認プログラムを実行しサーボの動きを確認します。
プログラムにサーボ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
-
1から5まで、全サーボの動作を確認しましょう。