LoginSignup
3
2

More than 3 years have passed since last update.

ROSを用いたローバー制御(シュミレーター編)

Last updated at Posted at 2019-11-13

テーマ記事へのリンク

以下の記事には今回のテーマを設定した目的や関連記事がまとめてあります。自分が見たい項目がある場合は利用してください。
自作ロボット(ローバー)のROS対応

目次

  1. 準備するもの
  2. 環境構築
  3. ソースコードのダウンロード&ビルド
  4. 実行
  5. 環境構築時に直面したエラー

    1. パブリックキーエラー
    2. VMWareでの環境構築時のエラー
  6. 参考記事

    準備するもの

  7. Ubuntu 16.04

環境構築

こちらの手順に従ってROSをインストールします。

その後、こちらの記事に従ってROSのワーキングディレクトリを
作成します。

英語を読みたくないという方向けに、以下のコマンドを打っていけばROSの環境構築が完了するよう必要な部分だけ抽出しました。

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

$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

$ sudo apt-get update

$ sudo apt-get install ros-kinetic-desktop-full

$ sudo rosdep init

$ rosdep update

$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

$ source ~/.bashrc

$ sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

$ mkdir -p ~/catkin_ws/src

$ cd ~/catkin_ws/

$ catkin_make

$ source devel/setup.bash

<環境構築が正しく行えていたら以下の出力が得られる>
$ echo $ROS_PACKAGE_PATH
/home/<youruser>/catkin_ws/src:/opt/ros/kinetic/share

参考記事ではPython3.7での使用法が記述されているが、ROSはPython2系で開発がスタートしているので、上記の方法だとSystemのPython2が使われるようになる。もし入っていない場合はSystemの方にPython2系をインストールしてください。pyenvanacondaなどの仮想環境上でのPythonも指定できるが、相性が悪いため注意が必要です。

Ubuntu16.04での構築のためROS Kineticを使っていますが、UbuntuのバージョンによってはIndigoなどUbuntuのバージョンに対応したROSをインストールしてください。

ソースコードのダウンロード&ビルド

必要なパッケージをインストールした後、githubからソースコードをcloneします。

$ sudo apt-get install ros-kinetic-ros-control ros-kinetic-ros-controllers

$ sudo apt-get install ros-kinetic-gazebo-ros-control

$ cd ~/catkin_ws/src

$ git clone https://github.com/NaotakaKawata/rover.git rover

$ chmod +x rover/src/teleop_keyboard_omni3.py

$ cd ~/catkin_ws 

$ catkin_make

実行

$ roslaunch rover rover_vertual.launch

実行後、gazeboとコントローラーウィンドウが起動したら成功。

Screenshot from 2019-11-11 22-07-33.png

環境構築時に直面したエラー

パブリックキーエラー

元々入っていたROSを使ったときに発生。どうやら昔とパブリックキーが変わっていることが原因。

W: GPG error: http://packages.ros.org/ros/ubuntu bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F42ED6FBAB17C654

そこでパブリックキーの更新を行うことで対応。

$ sudo apt-key del F42ED6FBAB17C654

$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

VMWareでの環境構築時のエラー

著者は再現実験用にVMWare15.5.0を使用してUbuntu環境を構築している。OpenGLまわりでのエラーらしい。

VMware: vmw_ioctl_command error Invalid argument.

そこで環境変数を変更することで対応。

$ echo "export SVGA_VGPU10=0" >> ~/.bashrc

$ source ~/.bashrc

参考記事

ROS講座50 オムニホイールのシミュレーション2(全方向台車のモデリング)
寸法がこちらの記事のものを使用したため、実機とは異なる。余裕があれば直す。

3
2
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
3
2