ロボットを動かすミドルウェアrosを使うために、rosのinstallと簡単な初期動作の備忘録。
rosのバージョンはNoetic。
ディストリビューション名 | Ubuntuのバージョン | サポート期限 |
---|---|---|
Indigo | 14.04 | 2019年5月 |
Kinetic | 14.04 | 2021年5月 |
Melodic | 18.04 | 2023年5月 |
Noetic | 20.04 | 2025年5月 |
Windows 11をOSごとubuntu20.04に入れ替えた。
(ubuntu 18.04だとwifiを認識しなかったり、マウスパッドが反応しないとかのエラーが出たので20.04がおすすめ)
(20.04だとcmakeとpython3はすでに入ってる。)
環境
OS Ubuntu : 20.04.3 LTS
CMake :3.16.3
Python :3.8.10
opencv : 4.2.0(rosのinstall時に入る)
目次
1. ROSのインストール
2. ROSのインストール確認
3. Opencvのシンボリックリンクの作成
4. ROSパッケージの作成
5. 簡単なROSの基本動作
1. ROSのインストール
# update と再起動 sudo apt-get update sudo apt-get upgrade sudo reboot # 必須パッケージのinstall sudo apt install curl git wget vim tree sudo apt install -y python3-pip
****注意 conda(anaconda3)はinstallしたらrosのinstall時にエラーが起きた
# パスの登録 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' # public keyの登録 curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - # rosと関連パッケージのinstall sudo apt update sudo apt install ros-noetic-desktop-full echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential # rosdepの初期化(エラーが出たら$ sudo rm /etc/ros/rosdep/sources.list.d/20-default.list) sudo rosdep init rosdep update # ワークスペースの作成と登録 mkdir -p catkin_ws/src && cd catkin_ws catkin_make # (If It's ok : pwd ==/mnt/c/Users/Downloads/place/catkin_ws) # "source /opt/ros/noetic/setup.bash" と書き換え echo "source /mnt/c/Users/Downloads/place/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc
2. ROSのインストール確認
インストールできてるかチェック# 1つ目 $ echo $ROS_PACKAGE_PATH >>>> /mnt/c/Users/Downloads/place/catkin_ws/src:/opt/ros/noetic/share と表示されればOK # 2つ目 $ roscore #色々表示されればOK
Noeticのインストール用script(install.sh)
# !/bin/sh # resister path to install ros & get public key to download sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - # install ros(melodic) sudo apt update sudo apt install ros-melodic-desktop-full echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential # sudo rm /etc/ros/rosdep/sources.list.d/20-default.list sudo rosdep init rosdep update # ROSのワーキングスペースの作成 mkdir -p catkin_ws/src && cd catkin_ws catkin_make # register worksopace echo "source /mnt/c/Users/Downloads/place/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc # To check echo $ROS_PACKAGE_PATH
ROSのuninstall(全部削除)
# uninstall ros completely
$ sudo apt-get purge ros-*
$ sudo apt-get autoremove
3. Opencvのシンボリックリンクの作成
opencvのパスが/usr/include/opencv4/opencv2
になってるのでシンボリックリンクを作る。
sudo ln -s /usr/include/opencv4/ /usr/include/opencv
4. ROSパッケージの作成
# 基本パッケージの作成(catkin make でbuild) cd ~/catkin_ws/src catkin_create_pkg ros_start rospy roscpp std_msgs >>>> #### Created file ros_start/package.xml #### Created file ros_start/CMakeLists.txt #### Created folder ros_start/include/ros_start #### Created folder ros_start/src #### Successfully created files in /mnt/c/Users/Downloads/place/catkin_ws/src/ros_start. Please adjust the values in package.xml. # catkin make cd ~/catkin_ws catkin_make >>> #### #### Running command: "make -j8 -l8" in "/mnt/c/Users/Downloads/place/catkin_ws/build" #### # 作成できてるかcheck roscd ros_start #### => ~/catkin_ws/src/ros_start に移動できればOK
5. 簡単なROSの基本動作
2. ROSでHello World
1. ターミナルを2つ開く
2. 一つ目のターミナルで
roscore
# hello.py import rospy rospy.init_node('hello') # ノード初期化 rospy.loginfo('Hello World') rospy.spin()
$ python3 hello.py >>> [INFO][WallTime: 1456677777.322475] Hello World
ROSでHello Worldできた。
GUIも使えるし、VPNにもつなぎやすいので、Windowsでwslより、ubuntuでOSを入れ替える方がいい。