Ubuntu 20.04でのセットアップ(2023/02/13版)

Ubuntu 20.04でのセットアップ(2022/12/09版)の更新版です.

# インストール後の初期設定.
### 遠隔操作用の設定
sudo apt-get install -y net-tools openssh-server
# これでssh でログインして作業できるようになります.

# ここからはssh でログインして作業しています.
sudo apt-get -y update; sudo apt-get -y upgrade; sudo apt-get -y dist-upgrade
sudo apt-get install -y subversion git gcc build-essential vim screen ccache

vncの設定

# vncでもログインできるようにGUIで「Settings」→「Sharing」→「Screen Sharing」をONにしましょう.
# 「access Options」は「New connections must ask for access」ではなく「Rquire a password」にしてパスワードを設定.
# 無線LANの時は,クライアント間通信が許可されていないと「Networks」で選択できない模様.
# あと,「Settings」の「Power」の「Power Saving」の「Blank Screen」を変えておかないと,スクリーンセーバが働きます.

# vinoはパスワードを暗号化しているとvncクライアントやmacからつなげられないので,修正.
gsettings set org.gnome.Vino require-encryption false

初期設定に戻る.

### 言語設定
sudo update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8

### 標準のエディタをvim に変更
# vimを選んでね.
sudo update-alternatives --config editor

### sudo をNOPASSWD で使いたいならばsudo visudo で%sudo の項目を以下のように変更
### ここから
#%sudo  ALL=(ALL:ALL) ALL
%sudo ALL=(ALL) NOPASSWD:ALL
### ここまで.

RoboCup 関係のパッケージ.ccacheは見送ります.

### RefBox のインストール
### まずは,必要なパッケージのインストール
# sudo add-apt-repository ppa:timn/clips # ← focal のReleaseファイルが見つからないって怒られる….まぁ,そりゃそうだよね.
# sudo apt-get update
sudo apt-get install -y libmodbus-dev \
                     protobuf-compiler libprotobuf-dev libprotoc-dev \
                     libboost-all-dev libmodbus-dev \
                     libglibmm-2.4-dev libgtkmm-3.0-dev \
                     libncursesw5-dev libyaml-cpp-dev libavahi-client-dev \
                     libssl-dev libgecode-dev \
                     lib64ncurses5-dev cmake-curses-gui git \
                     libmbedtls-dev gcc g++
# ↑ libclips-dev clips libclipsmm-dev を取り除いてみました.
# それらはbionic 版を強引に入れてみます.
cd Downloads
wget http://ppa.launchpad.net/timn/clips/ubuntu/pool/main/c/clips/clips_6.30-2ppa4~bionic1_amd64.deb
wget http://ppa.launchpad.net/timn/clips/ubuntu/pool/main/c/clips/clips-common_6.30-2ppa4~bionic1_all.deb
wget http://ppa.launchpad.net/timn/clips/ubuntu/pool/main/c/clips/libclips_6.30-2ppa4~bionic1_amd64.deb
wget http://ppa.launchpad.net/timn/clips/ubuntu/pool/main/c/clips/libclips-dev_6.30-2ppa4~bionic1_amd64.deb
wget http://ppa.launchpad.net/timn/clips/ubuntu/pool/main/c/clips/xclips_6.30-2ppa4~bionic1_amd64.deb
wget http://ppa.launchpad.net/timn/clips/ubuntu/pool/main/libc/libclipsmm/libclipsmm-dev_0.3.4-1ppa1~bionic1_amd64.deb
wget http://ppa.launchpad.net/timn/clips/ubuntu/pool/main/libc/libclipsmm/libclipsmm_0.3.4-1ppa1~bionic1_amd64.deb
sudo apt-get install -y libtinfo5 
sudo dpkg -i *.deb
# 何とか入ったっぽい.

# OPC-UA のインストール
# ↓これをしておかないと,gazebo-rcllでspdlogのエラーが出ます.
sudo apt-get install -y libspdlog-dev libspdlog1
git clone https://github.com/FreeOpcUa/freeopcua
cd freeopcua
### ↓ 選択肢は「c」→「e」→「c」→「e」→「g」
ccmake .
cmake .
make
sudo make install
sudo apt-get install -y libxml2-dev dh-autoreconf
sudo ldconfig

# RefBox 本体のインストール
cd
sudo apt-get install -y libmicrohttpd-dev rapidjson-dev libaprutil1-dev libwebsocketpp-dev
git clone https://github.com/robocup-logistics/rcll-refbox.git
cd rcll-refbox
## ↓ etc/buildsys/config.mk の最後のendif の手前に以下の2行(#を外すこと)を追加.
# CFLAGS_BASE += -Wno-write-strings
# CLIPS_OLD_63_API = TRUE
## ↑ここまで
make

### RobView のインストール
sudo apt-get remove -y libreoffice-core libreoffice-common
wget -qO - http://packages.openrobotino.org/keyFile | sudo apt-key add -
sudo su -
echo "deb http://packages2.openrobotino.org focal main" > /etc/apt/sources.list.d/openrobotino.list
exit
sudo apt-get update
sudo apt-get install -y robview4
# ついでに,tag 関係のパッケージも入れておく(gmappingは止めておきます).
sudo apt-get install -y aruco
# opcua とrealsense,そしてURGのパッケージもあるなぁ.
sudo apt-get install -y libopen62541 librealsense2 urg-library

### Add ROS package repository, required e.g. for bullet
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install -y ros-noetic-actionlib ros-noetic-pcl-ros ros-noetic-geometry ros-noetic-image-common \
                        ros-noetic-image-transport-plugins ros-noetic-navigation \
                        libpcl-conversions-dev libtf-conversions-dev libvisualization-msgs-dev \
                        libudev-dev curl libtolua-dev
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt-get install -y ros-noetic-desktop-full
sudo apt-get install -y python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool
sudo rosdep init
rosdep update

# rplidar の設定
sudo apt-get install -y ros-noetic-catkin ros-noetic-rplidar-ros
source /opt/ros/noetic/setup.bash
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ..
catkin_make
cd src
git clone https://github.com/Slamtec/rplidar_ros.git
cd ..
catkin_make
source devel/setup.bash
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

### RoboCup関係のプログラムを取ってきましょうか.
### ↓ ROS の部分.とりあえずこんな感じ?
mkdir ~/git
cd ~/git
git clone https://github.com/wadaru/ros-rcll_refbox_peer
git clone https://github.com/wadaru/ros-rcll_btr_msgs
git clone https://github.com/wadaru/ros-rcll_ros_msgs
git clone https://github.com/wadaru/btr2022
mkdir ros-rcll_btr_msgs/msg
ln -s ~/rcll-refbox/src/msgs ~/rcll-refbox/src/libs/llsf_msgs
cd ~/catkin_ws/src
ln -s ~/git/ros-rcll_refbox_peer .
ln -s ~/git/ros-rcll_btr_msgs .
ln -s ~/git/ros-rcll_ros_msgs .
cd ..
catkin_make

### チーム関係者以外の方も,以下の部分は利用可能です.
### RobotinoSim をUbuntu で使う場合は,以下の作業をして下さい.
### Windows 側でシミュレータを動かす場合には不要です.
### 以下の作業(winecfgとwine)はGUIですので,Xが動く環境で実行して下さい.
cd ~/Downloads
sudo apt-get -y install wine-stable
wget https://doc.openrobotino.org/download/RobotinoSim/RobotinoSimDemo-1.4.2.exe
# 以下はテキスト画面では動きません.
winecfg 
wine RobotinoSimDemo-1.4.2.exe
# ここまで

echo '#!/bin/bash' > ~/robotinoSimDemo.sh
echo "wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Didactic/RobotinoSim\ Demo/bin/robotinosim.exe" >> ~/robotinoSimDemo.sh
chmod +x ~/robotinoSimDemo.sh
### これで,~/robotinoSimDemo.sh でシミュレータが立ち上がります.
### 本当は,cpulimit で使わないときの動作を遅くした方が良いのですが,それはまた今度.

続きは,RCLL用のgazeboかな.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*