ROSの管理団体であるOpen RoboticsとROBOTISが共同開発しているROS対応のモジュラータイプロボットシステム「Turtlebot3」シリーズが発売開始となりました!現在ワッフルとバーガーという2種類が用意されています。今予約すれば夏頃には出荷されるようです。既にROSのエミュレータは公開されているので、早速Gazeboで動かしてみましょう。
Update!
TurtleBot3がRT Roboto Shopから購入可能になったようです!早速オーダーしましたよ(2017/12/12)
TurtleBot3は教育、研究、製品開発向けの小型ロボットです。
TurtleBot3はオープンソースのロボット用ソフトウェアであるROS上で動きます。ハードウェアもすべてオープンになっていて、ロボットを構成するパーツのCAD情報が全てインターネット上で閲覧できます。ですから今すぐあなたの3Dプリンターでパーツを印刷してロボットを組み上げることも可能です。メインコントローラーボードのOpenCRもオープンであり、設計が公開されています。
そのため、その気になれば全て自分で作成して、ソフトウェアをインストールし、動かしてみるということが可能です。メインコントローラーボードの基盤を基板屋さんで作ってもらって自分でハンダ付けすればカスタマイズした基盤だって作れます!
TurtleBot3は自由にカスタマイズ可能です。ワッフルというベース部品を自由に組み合わせることでいろいろな形のロボットを作成することができます。既に販売が決まっているワッフルとバーガーというタイプの他にも「フレンズ」と言う、車、マニュピレーター、セグウェイ、運搬車、モンスター、タンク、オムニホイール、メカナム、バイク、トレイン、亀ロボット、キャリアといった12種類の形状、設計の違うロボットが用意されています。
それらフレンズ達の部品データもCADデータが公開されているため、プリンターで印刷可能です!
販売は夏ごろになる予定のようですが、ROSシミュレータで動かして見ることができるので、早速試してみました。
まず、環境はUbuntu 16.04 ROS Kinetic Kameになります。OSのインストールとROSのインストールは完了しているものとして割愛します。
TurtleBot3 Simulationの依存パッケージをインストールします。
実際のロボットを持たずに実行できる非常に単純なシミュレーションノードです。
もちろん、TeleopノードでRVizの仮想TurtleBot3を制御することもできます。
今までのテレオペは十字キーでしたが、Turtlebotではaとdで左右、wとxが速度、sがストップになっています。キーを押してみて動き出すことを確認してみましょう。
TurtleBot3でGazeboシミュレーションを開始する前に、以下のコマンドを使用してコピーしてください。ガゼボのモデルフォルダにTurtlebot3のモデルファイルをコピーします。
Turtlebot3モデルパラメータを設定する必要があります。以下のコマンドでモデルパラメータのバーガーまたはワッフルのいずれかを選択します。
下記のコマンドを使用してください。 TurtleBot3シンボルの形状を構成する単純なオブジェクトからなるマップが起動します!
キーボードでTurtleBot3をコントロールするには、新しいターミナルウィンドウで以下のコマンドで遠隔操作機能を起動してください。
マップを自律的にナビゲートするTurtleBot3シミュレーションを実行するには、新しい端末ウィンドウを開き、以下のコマンドを入力します。
このコマンドを実行するとTurtlebot3が自律的に動き始めます。
RVizは、シミュレーションの実行中に公開されたトピックを視覚化します。以下のコマンドを入力して、新しい端末ウィンドウでRVizを起動することができます。
このように、レーザーでスキャンした様子がRVizに表示されます。
では、実行中のノードがどのようになっているのか確認してみましょう。
これより,/scanよりレーザースキャンの値を受け取り、/cmd_velに反映している様子が伺えます。
プログラムは~/catkin_ws/src/turtlebot3_simulations/turtlebot3_gazebo/src/gazebo_ros_turtlebot3.cppにあり、レーザーからの値を見てぶつからないようにひたすら動きまわるプログラムになっているようです。
ROSで始めるロボティクス(10) ー オムニホイールで全方向移動可能ロボットを作る 1
ROSで始めるロボティクス(11) ー オムニホイールで全方向移動可能ロボットを作る 2
ROSで始めるロボティクス(12) ー ROSの入門機に新しくTurtleBot3が加わります
TurtleBot3がRT Roboto Shopから購入可能になったようです!早速オーダーしましたよ(2017/12/12)
TurtleBot3は教育、研究、製品開発向けの小型ロボットです。
TurtleBot3はオープンソースのロボット用ソフトウェアであるROS上で動きます。ハードウェアもすべてオープンになっていて、ロボットを構成するパーツのCAD情報が全てインターネット上で閲覧できます。ですから今すぐあなたの3Dプリンターでパーツを印刷してロボットを組み上げることも可能です。メインコントローラーボードのOpenCRもオープンであり、設計が公開されています。
そのため、その気になれば全て自分で作成して、ソフトウェアをインストールし、動かしてみるということが可能です。メインコントローラーボードの基盤を基板屋さんで作ってもらって自分でハンダ付けすればカスタマイズした基盤だって作れます!
TurtleBot3は自由にカスタマイズ可能です。ワッフルというベース部品を自由に組み合わせることでいろいろな形のロボットを作成することができます。既に販売が決まっているワッフルとバーガーというタイプの他にも「フレンズ」と言う、車、マニュピレーター、セグウェイ、運搬車、モンスター、タンク、オムニホイール、メカナム、バイク、トレイン、亀ロボット、キャリアといった12種類の形状、設計の違うロボットが用意されています。
それらフレンズ達の部品データもCADデータが公開されているため、プリンターで印刷可能です!
販売は夏ごろになる予定のようですが、ROSシミュレータで動かして見ることができるので、早速試してみました。
まず、環境はUbuntu 16.04 ROS Kinetic Kameになります。OSのインストールとROSのインストールは完了しているものとして割愛します。
TurtleBot3フェイクノードの実装
TurtleBot3 Simulationの依存パッケージをインストールします。
sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard ros-kinetic-laser-proc ros-kinetic-rgbd-launch ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserial-arduino ros-kinetic-rosserial-python ros-kinetic-rosserial-server ros-kinetic-rosserial-client ros-kinetic-rosserial-msgs ros-kinetic-amcl ros-kinetic-map-server ros-kinetic-move-base ros-kinetic-urdf ros-kinetic-xacro ros-kinetic-compressed-image-transport ros-kinetic-rqt-image-view ros-kinetic-gmapping ros-kinetic-navigation
cd ~/catkin_ws/src/ git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone https://github.com/ROBOTIS-GIT/turtlebot3.git git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git cd ~/catkin_ws && catkin_make
フェイクノード
実際のロボットを持たずに実行できる非常に単純なシミュレーションノードです。
export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_fake turtlebot3_fake.launch
RVizでシミュレーションしている様子 |
もちろん、TeleopノードでRVizの仮想TurtleBot3を制御することもできます。
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
テレオペレーションでTurtlebot3を動かす |
今までのテレオペは十字キーでしたが、Turtlebotではaとdで左右、wとxが速度、sがストップになっています。キーを押してみて動き出すことを確認してみましょう。
a,d,w,x,sキーで操作する |
ガゼボでのシミュレーション
TurtleBot3でGazeboシミュレーションを開始する前に、以下のコマンドを使用してコピーしてください。ガゼボのモデルフォルダにTurtlebot3のモデルファイルをコピーします。
mkdir -p ~/.gazebo/models/ cp -r ~/catkin_ws/src/turtlebot3_simulations/turtlebot3_gazebo/worlds/turtlebot3 ~/.gazebo/models/
Turtlebot3モデルパラメータを設定する必要があります。以下のコマンドでモデルパラメータのバーガーまたはワッフルのいずれかを選択します。
export TURTLEBOT3_MODEL=burger
下記のコマンドを使用してください。 TurtleBot3シンボルの形状を構成する単純なオブジェクトからなるマップが起動します!
roslaunch turtlebot3_gazebo turtlebot3_world.launch
turtlebot3_worldは亀の形をしているワールドだ |
Gazeboが起動した |
キーボードでTurtleBot3をコントロールするには、新しいターミナルウィンドウで以下のコマンドで遠隔操作機能を起動してください。
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
マップを自律的にナビゲートするTurtleBot3シミュレーションを実行するには、新しい端末ウィンドウを開き、以下のコマンドを入力します。
export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_gazebo turtlebot3_simulation.launch
このコマンドを実行するとTurtlebot3が自律的に動き始めます。
RVizは、シミュレーションの実行中に公開されたトピックを視覚化します。以下のコマンドを入力して、新しい端末ウィンドウでRVizを起動することができます。
export TURTLEBOT3_MODEL=burger roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch
レーザーの様子 |
このように、レーザーでスキャンした様子がRVizに表示されます。
では、実行中のノードがどのようになっているのか確認してみましょう。
rosrun rqt_graph rqt_graph
実行中のノードの確認(ノードのみ) |
実行中のノードの確認(すべて) |
プログラムは~/catkin_ws/src/turtlebot3_simulations/turtlebot3_gazebo/src/gazebo_ros_turtlebot3.cppにあり、レーザーからの値を見てぶつからないようにひたすら動きまわるプログラムになっているようです。
ROSで始めるロボティクス(6) ー ROSでデプスカメラPMD CamBoard pico flexxを使う
ROSで始めるロボティクス(7) ー ロボットのための二次元mapを作る
ROSで始めるロボティクス(8) ー ロボットのナビゲーションを行う
ROSで始めるロボティクス(9) ー ROSを使ったステレオカメラキャリブレーションROSで始めるロボティクス(7) ー ロボットのための二次元mapを作る
ROSで始めるロボティクス(8) ー ロボットのナビゲーションを行う
ROSで始めるロボティクス(10) ー オムニホイールで全方向移動可能ロボットを作る 1
ROSで始めるロボティクス(11) ー オムニホイールで全方向移動可能ロボットを作る 2
ROSで始めるロボティクス(12) ー ROSの入門機に新しくTurtleBot3が加わります
記載されている会社名、および商品名等は、各社の商標または登録商標です。
0 コメント:
コメントを投稿