youbot - ais-lab/UD_wiki GitHub Wiki

概要

KUKA社の全方向移動ロボット.公式Wikiに大抵のことは載っている.公式PDFマニュアルもあるが,古い情報が載っている(特にROS関連)ので注意すること.

内部にPCを搭載している.横の蓋を開けると映像出力が出てきたり,USBポートが隠れていたりする. ただし,性能があまり良くないので,移動に特化させるべき.例えばSLAMは別のPCで行ったほうがよい.

研究室独自仕様として,非常停止ボタンが搭載されている.押されている状態だともちろん動かないので注意すること.

準備

roslaunch youbot_driver_ros_interface youbot_driver.launch

を実行してノードを起動する.この際youbotの車輪が若干動くので,起動したかどうか視認できる.

[FATAL] [1480756679.768424163]: Not enough ethercat slaves were found to create a YouBotManipulator!
[ERROR] [1480756679.768743807]: Arm "youbot-manipulator" could not be initialized.

というエラーが出るが,マニピュレータ(ロボットアーム)は搭載していないので問題なし(ロボットアームが別売りされている)

動作確認

rosrun youbot_driver_ros_interface youbot_keyboard_teleop.py

をする.起動に成功すれば,キーボード操作でyoubotを操作できる.

joypad(またはgamepad,ゲームのコントローラーみたいなもの)を使用して,youbotを操作したい場合は,以下のコマンドを実行する.

roslaunch teleop_youbot teleop_omnigrasper.launch

Logicool F710なら「LT」を押しながらスティック操作で動かせる. なお他のjoypadの場合だと押すボタンが違う可能性があるため注意.

トラブルシューティング

  • 非常停止ボタンが押されている
  • motor onしていない
  • ノードyoubot_driver_ros_interfaceが起動していない
  • ノードyoubot_driver_ros_interfaceを起動したが,管理者権限でないため,起動時にコケている
    • sudo su -した状態でroslaunchしてください.もし解決したなら,以下の「環境構築法」のコマンドを参考にして設定しなおしてください
  • エラーCurrent exceeds I2t
    • モータに流れる電流の二乗時間積制限を超え,故障防止のため停止する.
    • PCとモーターの再起動をする

環境構築法

インストールするソフトウェア

※joypad(gamepad)操作用.

設定

  • /opt/ros_indigo/share/youbot_driver/config/

このフォルダ内に設定ファイルがある. 基本的に設定ファイルを触る必要はないが,一か所だけ変更が必要な部分があったため,記載しておく.

youbot_ethercat.cfg

[EtherCAT]
EthernetDevice = eth1
EtherCATUpdateRate_[usec] = 1000
EtherCATTimeout_[usec] = 500      #timeout value in us for tx frame to return to rx
MaximumNumberOfEtherCATErrors = 100
MailboxTimeout_[usec] = 200
BaseJointControllerName = TMCM-174
BaseJointControllerNameAlternative = TMCM-1632
ManipulatorJointControllerName = TMCM-KR-841
ManipulatorJointControllerNameAlternative = TMCM-1610

初期状態の際に,EthernetDeviceをeth0からeth1に変更する必要があるかもしれない.

(参考)公式OS

youbot store にUbuntuのISOが配布されている(DLに登録が必要だが適当な捨てアドでOK). 特徴としては,最初からROSとyoubot用のROSパッケージが入っていることである.

しかし,追加設定が必要な部分がある,OSが古い(12.04,2016年時点)などからイマイチである. パッケージのインストールもapt-getで普通にできるので,公式OSにこだわる必要はないと思われる. 仮にOSを入れ直すなら,バージョンが新しいOS,ROSを入れるべきだろう.

ROSは入っているが,ROSパッケージをインストールするための設定はされていないので

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu precise main" > /etc/apt/sources.list.d/ros-latest.list'

して(※ preciseはUbutnu 12.04につけられたバージョン名.OSのバージョンに合わせて適宜変更してください)

wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

しないと,ros関連のパッケージをapt-getできない. つまり,ROS installのチュートリアルの部分をしなければならない.

これをしないと例えば,

sudo apt-get install ros-xxxx-rosbridge-suite

ができない.