Ubuntu 18.04へのfawkes-robotino without Gazebo のインストール(まとめ版: 2020/12/28版)
Ubuntu 18.04へのfawkes-robotino のインストール(まとめ版)をもう一度追いかけてみました.
まずはUbuntu 18.04のインストール.
最終版は,18.04.5ですね.
64-bit PC (AMD64) desktop imageをダウンロードしてUSBに焼いて,インストールします.
Linux インストール時の設定に従って,パッケージのインストールと設定の変更.
sudo apt-get install net-tools openssh-server ccache subversion git gcc build-essential vim sudo update-alternatives --config editor
これでsshでログインできるので,あとはターミナルから作業.
sudoの設定
# sudo visudo で/etc/sudoers を編集 # for Ubuntu %sudo ALL=(ALL) NOPASSWD:ALL # for Fedora %wheel ALL=(ALL) NOPASSWD: ALL
ccacheの設定
# 以下を.bashrc に追加すると幸せになれます. # ccache for Fedora ## export PATH="/usr/lib64/ccache:$PATH" # ccache for Ubuntu 18.04 export PATH="/usr/lib/ccache:$PATH" export USE_CCACHE=1 export CCACHE_DIR=~/.ccache export set CC='ccache gcc' export set CXX='ccache g++'
RefBox のインストール(2019/03/11版)でいけるかなぁ.
違った.Ubuntu 18.04でのRefBox (2020/09/03版)ですね.
sudo add-apt-repository ppa:timn/clips sudo apt-get update sudo apt-get install libmodbus-dev libclips-dev clips libclipsmm-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 sudo apt-get install libmbedtls-dev cmake libmicrohttpd-dev rapidjson-dev\ libaprutil1-dev libwebsocketpp-dev git clone https://github.com/FreeOpcUa/freeopcua cd freeopuca # 以下のcmake のコマンド実行時に次の順でキー入力 # c => e => c => e => g ← 今回はこれで通りました. ccmake . cmake . make sudo make install cd .. git clone https://github.com/robocup-logistics/rcll-refbox.git cd rcll-refbox make
とりあえず,これでRefBox ができあがり.
※ただし,mongodbは入れていませんので,次の世界大会の時に困るかも.
次は,fawkes-robotino を入れてみます.
- Fawkes Domain Release for the RoboCup Logistics League 2015のfawkes-robotino-2015
- Fawkes Domain Release for the RoboCup Logistics League 2016のfawkes-robotino-2016-2
- Fawkes Domain Release for the RoboCup Logistics League 2019のfawkes-robotino-2019
まずは,必要そうなパッケージのインストール.
# 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 # Recent CLIPS/clipsmm versions sudo add-apt-repository -y ppa:timn/clips sudo apt-get update # On Ubuntu 18.04 sudo apt-get install asciidoc doxygen \ libmagic-dev libssl-dev libavahi-client-dev libsqlite3-dev libxml++2.6-2v5 libxml++2.6-dev \ libdaemon-dev liblua5.1-0-dev libtolua++5.1-dev \ libdc1394-22-dev libbluetooth-dev libbullet-dev libelf-dev \ libjpeg-dev libtiff5-dev libjpeg8-dev libjpeg-turbo8-dev libpng-dev libpcl-dev \ libopencv-dev libopencv-objdetect-dev libopencv-highgui-dev libopencv-calib3d-dev \ libopencv-apps-dev \ librrd-dev graphviz libgraphviz-dev flite1-dev libasound2-dev \ libcgal-dev \ libgl1-mesa-dev freeglut3-dev libsdl1.2-dev \ ibgconfmm-2.6-dev \ mongodb-dev mongodb-server libncurses5-dev \ libmicrohttpd-dev libxmlrpc-c++8-dev \ emacs25 \ ros-melodic-actionlib ros-melodic-pcl-ros ros-melodic-geometry ros-melodic-image-common \ ros-melodic-image-transport-plugins ros-melodic-navigation \ libpcl-conversions-dev libtf-conversions-dev libvisualization-msgs-dev \ libudev-dev curl libtolua-dev bash -c "$(curl -SsfL https://git.io/ros-melodic-desktop)"
では,2016をいれてみます.gazeboは不要なので消します.
sudo apt-get remove gazebo9 gazebo9-common gazebo9-plugin-base libgazebo9 libgazebo9-dev ros-melodic-gazebo-msgs sudo ln -s /usr/include/xmlrpc.h /usr/include/XmlRpc.h wget https://files.fawkesrobotics.org/releases/fawkes-robotino-2016-2.tar.bz2 tar xvf fawkes-robotino-2016-2.tar.bz2 mv fawkes-robotino fawkes-robotino-2016 cd fawkes-robotino-2016
fawkes-robotino/etc/buildsys/config.mk のCFLAGS_EXTRA に以下の-Wnoの項目を追加.
# Globally enable optimization for the Robotino platform CFLAGS_EXTRA += -g -Wall -Werror -O3 CFLAGS_EXTRA += -Wno-nonnull -Wno-format-truncation -Wno-deprecated -Wno-int-in-bool-context
以下の3つのファイルの#include の後ぐらいに追加.
- fawkes-robotino/fawkes/src/libs/navgraph/navgraph.h
- fawkes-robotino/fawkes/src/libs/fvmodels/velocity/relvelo.h
- fawkes-robotino/fawkes/src/plugins/amcl/amcl_thread.h
#ifndef HUGE #define HUGE HUGE_VAL #endif
fawkes-robotino/fawkes/src/libs/kdl_parser/kdl_parser.cpp でエラーが出るので,以下のパッチをあてましょう.
[Fawkes Git] branch/vmatare/kdl_parser-kinetic-fix: created (1.0.0-1-g1931286)
fawkes/src/libs/kdl_parser/Makefile
ifeq ($(HAVE_KDLPARSER)$(cat HAVE_EIGEN3),11) CFLAGS += $(CFLAGS_KDLPARSER) $(CFLAGS_EIGEN3) -std=c++11
fawkes/src/libs/kdl_parser/kdl_parser.cpp
// #include <kdl_parser/kdl_parser.h> // #include <kdl_parser/model.h> #include "kdl_parser.h" #include "model.h" ... // construct joint // Joint to_kdl(boost::shared_ptr<urdf::Joint> jnt) Joint to_kdl(urdf::JointSharedPtr jnt) ... // construct inertia // RigidBodyInertia to_kdl(boost::shared_ptr<urdf::Inertial> i) RigidBodyInertia to_kdl(urdf::InertialSharedPtr i) ... // recursive function to walk through tree // bool add_children_to_tree(boost::shared_ptr<const urdf::Link> root, Tree& tree) bool add_children_to_tree(urdf::LinkSharedPtr root, Tree& tree) { // std::vector<boost::shared_ptr<urdf::Link> > children = root->child_links; const std::vector<urdf::LinkSharedPtr > children = root->child_links;
fawkes/src/libs/kdl_parser/model.cpp
// #include <kdl_parser/model.h> #include "model.h" ... // boost::shared_ptr<ModelInterface> model; ModelInterfaceSharedPtr model;
MachineSignal は今は使っていないので,fawkes-robotino/src/plugins/Makefile のSUBDIRS から machine-signal を削除しましょう.
src/plugins/Makefile
... SUBDIRS = clips-motor-switch \ voltagelogger \ ax12_gripper \ arduino \ tag_vision \ navgraph_broker
これで,作成できるはず.
make
コメントを残す