ROSで足を動かしてみる - セットアップ編
ROS(Robot Operating System)
ROSはOSSのロボット制御ソフトウェアです。
部品もそろってきたので、まずはサーボモータ3個を使った足を動かしてみたいと思います。
ja/ROS/Tutorials - ROS Wiki
ROSの仕組みやセットアップについては以下のサイトが非常に参考になりました。
qiita.com
構築
環境
RaspberryPiZeroで組み立てたいですが、セットアップに3時間以上かかるため、並行してRaspberryPi4で動作確認をしました。
※同じOSだったため、手順は同じです。
- RaspberryPi Zero W + Raspbian(18.04)
- Raspberry Pi 4 + Raspbian(18.04)
ROSインストール
ROSのマニュアルをもとに構築していきます。
http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Melodic%20on%20the%20Raspberry%20Pi
### 各種パッケージインストール $ 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://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 $ sudo apt update $ sudo apt install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake ### ROS初期化 $ sudo rosdep init Wrote /etc/ros/rosdep/sources.list.d/20-default.list Recommended: please run rosdep update $ rosdep update reading in sources list data from /etc/ros/rosdep/sources.list.d ..snip.. updated cache in /home/pi/.ros/rosdep/sources.cache ### 作業ディレクトリを作成して、ROSインストール $ mkdir -p ~/ros_catkin_ws $ cd ~/ros_catkin_ws ## ROSにはいくつかのパッケージが存在していて、以下は最低限の機能がインストールされる。 $ rosinstall_generator ros_comm --rosdistro melodic --deps --wet-only --tar > melodic-ros_comm-wet.rosinstall $ ls melodic-ros_comm-wet.rosinstall $ wstool init src melodic-ros_comm-wet.rosinstall ..snip.. update complete. ### 不足しているライブラリの確認、インストール $ rosdep install -y --from-paths src --ignore-src --rosdistro melodic -r --os=debian:buster ..sinip.. #All required rosdeps installed successfully ### ワークスペースの設定 # sudoじゃないとインストールに失敗するため、一度sudoで/optへインストールする $ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic ..snip.. <== Finished processing package [54 of 54]: 'roswtf' $ source /opt/ros/melodic/setup.bash $ cd ~/ros_catkin_ws/src $ catkin_init_workspace $ cd .. $ catkin_make $ echo "source /opt/ros/melodic//setup.bash" >> ~/.bashrc $ echo "export ROS_PACKAGE_PATH=/home/pi/ros_catkin_ws/src:/opt/ros/melodic/share" >> ~/.bashrc $ source ~/.bashrc
少し手順が冗長な気がしますが公式サイトのRaspberryPiのインストール手順実施後にワークスペースに設定を実施しています。
ja/catkin/Tutorials/create_a_workspace - ROS Wiki
動作確認
構築が完了したら正常に起動するか確認をします。
$ roscore ... logging to /home/pi/.ros/log/d6f76424-9d7e-11ea-928e-dca6329e79b3/roslaunch-raspberrypi-21977.log Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB. started roslaunch server http://raspberrypi:34751/ ros_comm version 1.14.5 SUMMARY ======== PARAMETERS * /rosdistro: melodic * /rosversion: 1.14.5 NODES auto-starting new master process[master]: started with pid [21987] ROS_MASTER_URI=http://raspberrypi:11311/ setting /run_id to d6f76424-9d7e-11ea-928e-dca6329e79b3 process[rosout-1]: started with pid [21998] started core service [/rosout]