Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Gazeboのサンプルでロボットが表示されなかった

More than 1 year has passed since last update.

Gazeboとは

ODE(Open Dynamics Engine)などの物理エンジンを使ってロボットシミュレーションできる環境。ROSにデフォルトで入ってる。
インストール方法はROSの公式を参照。Ubuntu14系ならROS Indigo、16系ならROS Kineticが良いらしいので注意。僕は16.04だったのでKinetic。
それから、UbuntuデフォルトのPythonと相性があるらしくて、pyenvならpyenv global systemでデフォルトに戻しておいた方が良さそう。(?)

Sampleを動かそうとしたところ

サンプルとしてRRBotという2軸ロボットのデータを動かしてみる。
参考1
参考2
どっちもGazeboのチュートリアルに沿ってるのでほぼ同じ手順。
モデルダウンロード

cd ~/catkin_ws/src/
git clone https://github.com/ros-simulation/gazebo_ros_demos.git
cd ..
catkin_make

ROSで表示&関節動かせる

roslaunch rrbot_description rrbot_rviz.launch

Gazeboで表示&シミュレーション

roslaunch rrbot_gazebo rrbot_world.launch

ところがここで、Gazeboでロボットが表示されない(読み込みエラー)という問題が生じた。
エラーはこんな感じ。

IOError: [Errno 13] Permission denied: '/home/oginom/.ros/rosdep/sources.cache/index'
[urdf_spawner-4] process has died [pid 3743, exit code 1, cmd /opt/ros/kinetic/lib/gazebo_ros/spawn_model -urdf -model rrbot -param robot_description __name:=urdf_spawner __log:=/home/oginom/.ros/log/dd9eb0e6-8257-11e8-b2e9-e8b1fce8910d/urdf_spawner-4.log].
log file: /home/oginom/.ros/log/dd9eb0e6-8257-11e8-b2e9-e8b1fce8910d/urdf_spawner-4*.log

Screenshot from 2018-07-08 12-50-38.png

解決

とりあえずググったところ、同じエラー発見。

sudo rosdep init
rosdep update

を実行してみましょう、と書いてある。
initの方はすでにされてます、て言われて、updateの方をしたところ、

Failed to write cache file: [Errno 13] Permission denied: '/home/ogi/.ros/rosdep/source
s.cache/a4b3c8956ab7a3e6d293ba33b57fac42799e69e6.pickle.tmp.VWwTpR'
Try running 'sudo rosdep fix-permissions'

とでてきた。ので、

sudo rosdep fix-permissions

としたら解決。rosdep updateしてroslaunch rrbot_gazebo rrbot_world.launchすると、無事表示されて重力でぶらーんってなった。

Screenshot from 2018-07-08 12-50-53.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away