BTR2022の設定
ベアボーン(NUC)へのインストール記録です.
基本は,BTR2021の設定(まとめ)と同じですが,Ubuntu 18.04から20.04へ更新しています.
まずは,Ubuntu 20.04.5 LTS (Bionic Beaver)をインストールして,初期設定を行います.
アカウントに関しては,各自,好きな名前を付けて下さい.
もし,研究室共通の設定にしたいのであれば,以下の設定にして下さい.
Display Name: Ryukoku Taro
Account Name: ryukoku
Password: elec
仮想マシンの場合,メモリは2GBだと少ないので,4GB以上にして下さい.
ハードディスクも20GBだと厳しいので,40GBぐらい欲しいですね.
インストール後の初期設定.
### パッケージを最新版に更新 sudo apt-get -y update; sudo apt-get -y upgrade; sudo apt-get -y dist-upgrade ### ネットワーク周りと,開発関係のパッケージのインストール. sudo apt-get install -y net-tools openssh-server subversion git gcc build-essential vim screen ccache ### ### (これで,ssh で他のマシンからログインして,触ることも可能になります) ### ### 言語設定 sudo update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 ### 標準のエディタをvim に変更 sudo update-alternatives --config editor ### sudo をNOPASSWD で使いたいならばsudo visudo で%sudo の項目を変更 ### ここから #%sudo ALL=(ALL:ALL) ALL %sudo ALL=(ALL) NOPASSWD:ALL ### ここまで.
あ,RefBoxに必要なclipsのパッケージが18.04までしかないかも….← 18.04のパッケージで20.04も対応できました.
### 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 のインストール 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 本体のインストール sudo apt-get install -y libmicrohttpd-dev rapidjson-dev libaprutil1-dev libwebsocketpp-dev cd git clone https://github.com/robocup-logistics/rcll-refbox.git cd rcll-refbox make # ↓ BTR2022ではcをほとんど使わないので不要かも.今回,ccacheはパスしてみます. ### ccache の有効化 ### freeopcua のコンパイル時に、エラーが出やすいので,このタイミングで有効化します. ### もしかして,使わない方が無難かなぁ. #cat <<EOF >> .bashrc #export PATH="/usr/lib/ccache:$PATH" #export USE_CCACHE=1 #export CCACHE_DIR=~/.ccache #export set CC='ccache gcc' #export set CXX='ccache g++' #EOF #source .bashrc ### RobView のインストール sudo update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 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 gmapping # 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 # vnc をWindowsやMacからつなぐには,以下が必要 sudo apt-get install vino gsettings set org.gnome.Vino require-encryption false ### チーム関係者以外の方も,以下の部分は利用可能です. ### 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 で使わないときの動作を遅くした方が良いのですが,それはまた今度.
—
2021/06/01 追記
—
cpulimit に関しては,
cpulimit -z -l 10 -p `ps aux| grep robotinosim.exe|head -n1|awk '{print $2}'`
という形で,robotinosim.exe の動作を抑える(上記はcpu使用率10%)ことができます
—
2022/06/01 追記
—
udpcomm.py がpython2のルールになっていたので,一部修正.
ryukoku@BabyTgers-NUC7i7BNH:~/catkin_ws/src/ros-rcll_btr_msgs/scripts$ python3 udpcomm.py File "udpcomm.py", line 25 self.view3Send = [00,01,02,03, 04,05,06,07] ^ SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
self.view3Send = [ 0, 1, 2, 3, 4, 5, 6, 7] とするとこで対応.
—
2022/07/13 追記
—
python3へのリンク
sudo ln -s /usr/bin/python3 /usr/bin/python
コメントを残す