Ubuntu 20.04でのセットアップ(2023/12/20版)

Ubuntu 20.04でのセットアップ(2023/02/13版)の更新情報です(2024/02/07一部更新).

# インストール後の初期設定.
### 遠隔操作用の設定
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 visudo
### ここから(頭の#は外して下さい.)
# #%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」
###  だったんだけど,今は「c」「c」「g」で進めてみます.
echo "ceceg" | ccmake .
cmake .
### ↓ 以降も同様ですが,CPUがマルチコアの時はmakeに対して-jでコア数を指定したら,並列的に速くなります.
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 の手前に以下の1行(#を外すこと)を追加.
# CLIPS_OLD_63_API = TRUE
## ↑ここまで
### protobuf_comm でエラーが出ますね….
### ん?以前インストールしたマシンで試してみたところ,protobuf_comm って,rcll-refbox内で生成しているっぽいぞ.
### Fedora では,パッケージを別管理にしたみたいです.
### 以下は,現段階(2024/01/09)での対処法です.将来的に変わる可能性大です.
git checkout d0bcd590ab140691645fe8b651a3d00afad39151
### opcua 関係でエラーが出るので対応が必要です.
### /home/robotino/rcll-refbox/src/libs/mps_comm/opcua/opc_utils.cpp:606:56: error: ‘streamed’ is not a member of ‘fmt’
### ↑ 606行目をコメントアウトして下さい.
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 sh -c 'echo "deb http://packages2.openrobotino.org $(lsb_release -sc) main" > /etc/apt/sources.list.d/openrobotino.list'
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
git clone https://github.com/wadaru/btr2023
# 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 で使わないときの動作を遅くした方が良いのですが,それはまた今度.

2024年に向けて追記

llsf-refbox-shell を使うには,llsf-refbox –dump-cfg でyamlファイルの作成が必要です.
クォータニオンを扱うには, pip3 install numpy-quaternion.
pip3 を扱うには,sudo apt-get install python3-pip
scipy,numpy,pyrealsense2 も必要かな.pip3 install scipy numpy pyrealsense2
usbは,sudo apt-get install python3-usb

コメントを残す

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

*