LoginSignup
2
0

More than 5 years have passed since last update.

ROS2でturtlebot2_demo動かした

Posted at

ROS2のturtlebot2_demoを動かすときにハマったこと

ROS2の公式ページのtutrialsの中にturtlebot2のデモをやっと動かせたので、そのときにハマったことを残しておきます。

環境はUbuntu18.04です

とりあえず、公式通り動かしてみる

launch `ros2 pkg prefix turtlebot2_teleop`/share/turtlebot2_teleop/launch/turtlebot_joy.py

動きませんでした。
ということで、もう一つの起動方法を試しました。

端末を立ち上げて、以下を入力

$ ros2 run turtlebot2_drivers kobuki_node

もう一つ端末を立ち上げて

$ ros2 run joy joy_node

これも、エラーは出ないけど動きませんでした。

解決方法

launchファイルを読んでみると、ros2 runでの起動時に立ち上げてたのは、

  • turtlebotの起動
  • コントローラーのドライバーみたいなやつ(間違ってたらごめんなさい)

の2つで、コントローラーからturtlebotにメッセージを送るノードが足りてなかったようです。

以下に、起動できたときのコマンドを残しておきます。

1つ目の端末

$ export ROS1_DISTRO=melodic && source /opt/ros/$ROS1_DISTRO/setup.bash
$ source ~/ros2_ws/install/local_setup.bash
$ ros2 run turtlebot2_drivers kobuki_node

2つ目の端末でコントローラーを接続

$ sudo ds4drv

3つ目の端末

$ export ROS1_DISTRO=melodic && source /opt/ros/$ROS1_DISTRO/setup.bash
$ source ~/ros2_ws/install/local_setup.bash
$ ros2 run joy joy_node

4つ目の端末

$ export ROS1_DISTRO=melodic && source /opt/ros/$ROS1_DISTRO/setup.bash
$ source ~/ros2_ws/install/local_setup.bash
$ ros2 run teleop_twist_joy teleop_node 

なお、以下の2つは毎回打つのがめんどくさければ、.bashrcに書いてしまって問題ないと思われる。

$ export ROS1_DISTRO=melodic && source /opt/ros/$ROS1_DISTRO/setup.bash
$ source ~/ros2_ws/install/local_setup.bash

端末に入力するときに、1つ目を打ったあと、2つ目を打つと、何か出るかもしれないが、もう一度入力すれば、問題ない。

最後に

今回、デモを動かすのにPS4コントローラーを使いました。
PS4コントローラーではR1ボタンを押しながら右スティックで操作できましたが、非常に使いづらいかったです。
今後、コード読みながらPS4コントローラーに対応させれたらなとおもいます。(もうあるかもしれない)

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0