Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
W
wolf_scripts
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
mobile_robotics
wolf_projects
wolf_scripts
Commits
3b56aa39
Commit
3b56aa39
authored
3 years ago
by
Joan Vallvé Navarro
Browse files
Options
Downloads
Patches
Plain Diff
adding script and autolauncher for ci
parent
449bcf3e
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
auto_script_wolf
+56
-0
56 additions, 0 deletions
auto_script_wolf
install_wolf.sh
+481
-0
481 additions, 0 deletions
install_wolf.sh
with
537 additions
and
0 deletions
auto_script_wolf
0 → 100644
+
56
−
0
View file @
3b56aa39
#!/usr/bin/expect
set timeout -1
spawn ./script_install_wolf.sh -e
expect "Enter path for dependencies (either /global/path or relative/path):\r"
send -- ".\r"
expect "Enter path for wolf folder (either /global/path or relative/path):\r"
send -- ".\r"
expect "Do you want to download and install plugin imu? (y/n)\r"
send -- "y\r"
expect "Do you want to download and install plugin gnss? (y/n)\r"
send -- "y\r"
expect "Do you want to download and install plugin laser? (y/n)\r"
send -- "y\r"
expect "Do you want to install CSM to enable ICP processors? (y/n)\r"
send -- "y\r"
expect "Do you want to install FALKO to enable Falko loop closure processors? (y/n)\r"
send -- "y\r"
expect "Do you want to download and install plugin vision (requires to install opencv 3.3.0)? (y/n)\r"
send -- "y\r"
expect "Do you want to download and install plugin apriltag? (y/n)\r"
send -- "y\r"
expect "Do you want to download and install plugin bodydynamics? (y/n)\r"
send -- "y\r"
expect eof
This diff is collapsed.
Click to expand it.
install_wolf.sh
0 → 100644
+
481
−
0
View file @
3b56aa39
#!/bin/bash
# verbose
VERBOSE
=
"true"
while
getopts
"he"
option
;
do
case
$option
in
e
)
# disable verbose
VERBOSE
=
"false"
;;
esac
done
CORES
=
$(
nproc
)
if
[
$VERBOSE
==
"true"
]
;
then
echo
"The number of available cores on this machine is
$CORES
"
fi
RUN_PATH
=
$PWD
# UBUNTU
UBUNTU_DISTRO
=
$(
lsb_release
-rs
)
;
if
[
$UBUNTU_DISTRO
==
"16.04"
]
;
then
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Ubuntu 16.04 - OK"
fi
elif
[
$UBUNTU_DISTRO
==
"18.04"
]
;
then
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Ubuntu 18.04 - OK"
fi
elif
[
$UBUNTU_DISTRO
==
"20.04"
]
;
then
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Ubuntu 20.04 - OK"
fi
else
echo
"Non-supported Ubuntu version:
$UBUNTU_DISTRO
"
exit
1
fi
# WOLF DEPENDENCIES #####################################################
if
[
$VERBOSE
==
"true"
]
;
then
echo
"You are in folder
$PWD
"
fi
echo
"Enter path for dependencies (either /global/path or relative/path):"
read
DEPS_PATH
cd
$DEPS_PATH
DEPS_PATH
=
$PWD
if
[
$VERBOSE
==
"true"
]
;
then
echo
"path dependencies:
$DEPS_PATH
"
fi
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing dependencies via apt install..."
fi
sudo
apt
install
-y
dh-autoreconf cmake build-essential libgoogle-glog-dev libgflags-dev libatlas-base-dev libsuitesparse-dev git libboost-all-dev libyaml-cpp-dev wget unzip
# Eigen
# Ubuntu 16.04 - Eigen 3.3.7 required
if
[
$UBUNTU_DISTRO
==
"16.04"
]
;
then
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing Eigen 3.3.7 via source..."
fi
# todo check if installed, check version, check
wget https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.zip
unzip eigen-3.3.7.zip
rm
eigen-3.3.7.zip
cd
eigen-3.3.7
mkdir
build
cd
build
cmake ..
sudo
make
install
else
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing Eigen 3 via apt install"
fi
sudo
apt
install
-y
libeigen3-dev
fi
# ceres
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing ceres 2.0 via source..."
fi
cd
$DEPS_PATH
git clone https://ceres-solver.googlesource.com/ceres-solver
cd
ceres-solver
git checkout 2.0
git pull
mkdir
-p
build
&&
cd
build
cmake
-DCMAKE_BUILD_TYPE
=
Release ..
make
-j
$CORES
make
test
sudo
make
install
# spdlog
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing spdlog 0.17 via source..."
fi
cd
$DEPS_PATH
git clone https://github.com/gabime/spdlog.git
cd
spdlog
git checkout v0.17.0
git pull
mkdir
-p
build
&&
cd
build
cmake
-DCMAKE_BUILD_TYPE
=
Release
-DCMAKE_CXX_FLAGS
=
"
${
CMAKE_CXX_FLAGS
}
-fPIC"
..
make
-j
$CORES
sudo
make
install
# WOLF #####################################################
cd
$RUN_PATH
if
[
$VERBOSE
==
"true"
]
;
then
echo
"You are in folder
$PWD
"
fi
echo
"Enter path for wolf folder (either /global/path or relative/path):"
read
WOLF_PATH
cd
$WOLF_PATH
mkdir
wolf
cd
wolf
WOLF_PATH
=
$PWD
if
[
$VERBOSE
==
"true"
]
;
then
echo
"wolf folder path:
$PWD
/wolf"
fi
# CORE -----------------------------------------------------
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Cloning wolf core..."
fi
cd
$WOLF_PATH
git clone ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/wolf_projects/wolf_lib/wolf.git
cd
wolf
git pull
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Compiling wolf core..."
fi
mkdir
-p
build
&&
cd
build
cmake
-DCMAKE_BUILD_TYPE
=
Release
-DBUILD_DEMOS
=
ON
-DBUILD_TESTS
=
ON ..
cd
build
make
-j
$CORES
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing wolf core..."
fi
sudo
make
install
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Testing wolf core..."
fi
ctest
-j
$CORES
# IMU --------------------------------------------------
echo
"Do you want to download and install plugin imu? (y/n)"
read
INSTALL_IMU
if
[
$INSTALL_IMU
==
"y"
]
;
then
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Cloning plugin imu..."
fi
cd
$WOLF_PATH
git clone ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/wolf_projects/wolf_lib/plugins/imu.git
cd
imu
git pull
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Compiling plugin imu..."
fi
mkdir
-p
build
&&
cd
build
cmake ..
-DCMAKE_BUILD_TYPW
=
Release
cd
build
make
-j
$CORES
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing plugin imu..."
fi
sudo
make
install
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Testing plugin imu..."
fi
ctest
-j
$CORES
else
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Skipping plugin imu."
fi
fi
# GNSS --------------------------------------------------
echo
"Do you want to download and install plugin gnss? (y/n)"
read
INSTALL_GNSS
if
[
$INSTALL_GNSS
==
"y"
]
;
then
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing plugin gnss dependencies..."
fi
cd
$DEPS_PATH
git clone ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/gauss_project/gnss_utils.git
cd
gnss_utils
git submodule update
--init
mkdir
-p
build
&&
cd
build
cmake
-DCMAKE_BUILD_TYPE
=
Release
-DBUILD_DEMOS
=
ON
-DBUILD_TESTS
=
ON ..
make
-j
$CORES
ctest
-j
$CORES
sudo
make
install
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Cloning plugin gnss..."
fi
cd
$WOLF_PATH
git clone ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/wolf_projects/wolf_lib/plugins/gnss.git
cd
gnss
git pull
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Compiling plugin gnss..."
fi
mkdir
-p
build
&&
cd
build
cmake
-DCMAKE_BUILD_TYPE
=
Release
-DBUILD_DEMOS
=
ON
-DBUILD_TESTS
=
ON ..
cd
build
make
-j
$CORES
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing plugin gnss..."
fi
sudo
make
install
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Testing plugin gnss..."
fi
ctest
-j
$CORES
else
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Skipping plugin gnss."
fi
fi
# LASER --------------------------------------------------
echo
"Do you want to download and install plugin laser? (y/n)"
read
INSTALL_LASER
if
[
$INSTALL_LASER
==
"y"
]
;
then
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing plugin laser dependencies..."
fi
# CSM
echo
"Do you want to install CSM to enable ICP processors? (y/n)"
read
INSTALL_CSM
if
[
$INSTALL_CSM
==
"y"
]
;
then
cd
$DEPS_PATH
git clone https://gitlab.iri.upc.edu/labrobotica/algorithms/csm.git
cd
csm
mkdir
-p
build
&&
cd
build
cmake
-DCMAKE_BUILD_TYPE
=
Release ..
make
-j
$CORES
sudo
make
install
else
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Skipping CSM."
fi
fi
# FALKO
echo
"Do you want to install FALKO to enable Falko loop closure processors? (y/n)"
read
INSTALL_FALKO
if
[
$INSTALL_FALKO
==
"y"
]
;
then
cd
$DEPS_PATH
git clone https://gitlab.iri.upc.edu/labrobotica/algorithms/falkolib.git
cd
falkolib
mkdir
-p
build
&&
cd
build
cmake
-DCMAKE_BUILD_TYPE
=
Release ..
make
-j
$CORES
sudo
make
install
else
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Skipping Falko."
fi
fi
# LASER_SCAN_UTILS
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing laser_scan_utils (required)..."
fi
cd
$DEPS_PATH
sudo
ldconfig
git clone ssh://git@gitlab.iri.upc.edu:2202/labrobotica/algorithms/laser_scan_utils.git
cd
laser_scan_utils
mkdir
-p
build
&&
cd
build
cmake
-DCMAKE_BUILD_TYPE
=
Release ..
make
-j
$CORES
ctest
-j
$CORES
sudo
make
install
# PLUGIN
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Cloning plugin laser..."
fi
cd
$WOLF_PATH
sudo
ldconfig
git clone ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/wolf_projects/wolf_lib/plugins/laser.git
cd
laser
git pull
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Compiling plugin laser..."
fi
mkdir
-p
build
&&
cd
build
cmake
-DCMAKE_BUILD_TYPE
=
Release
-DBUILD_DEMOS
=
ON
-DBUILD_TESTS
=
ON ..
cd
build
make
-j
$CORES
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing plugin laser..."
fi
sudo
make
install
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Testing plugin laser..."
fi
sudo
ldconfig
ctest
-j
$CORES
else
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Skipping plugin laser."
fi
fi
# VISION --------------------------------------------------
echo
"Do you want to download and install plugin vision (requires to install opencv 3.3.0)? (y/n)"
read
INSTALL_VISION
if
[
$INSTALL_VISION
==
"y"
]
;
then
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing plugin vision dependencies..."
fi
cd
$DEPS_PATH
#install opencv
wget https://github.com/opencv/opencv/archive/3.3.0.zip
-O
temp.zip
unzip temp.zip
rm
temp.zip
cd
opencv-3.3.0
git clone https://github.com/opencv/opencv_contrib.git
cd
opencv_contrib
git checkout 3.3.0
cd
..
mkdir
build
cd
build
cmake
-D
CMAKE_BUILD_TYPE
=
Release
-D
CMAKE_INSTALL_PREFIX
=
/usr/local
-D
CMAKE_CXX_FLAGS
=
"-fPIC -std=c++14"
-D
OPENCV_EXTRA_MODULES_PATH
=
../opencv_contrib/modules ..
make
-j8
sudo
make
install
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Cloning plugin vision..."
fi
cd
$WOLF_PATH
git clone ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/wolf_projects/wolf_lib/plugins/vision.git
cd
vision
git pull
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Compiling plugin vision..."
fi
mkdir
-p
build
&&
cd
build
cmake
-DCMAKE_BUILD_TYPE
=
Release
-DBUILD_DEMOS
=
ON
-DBUILD_TESTS
=
ON ..
cd
build
make
-j
$CORES
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing plugin vision..."
fi
sudo
make
install
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Testing plugin vision..."
fi
ctest
-j
$CORES
else
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Skipping plugin vision."
fi
fi
# APRILTAG --------------------------------------------------
if
[
$INSTALL_VISION
==
"y"
]
;
then
echo
"Do you want to download and install plugin apriltag? (y/n)"
read
INSTALL_APRILTAG
if
[
$INSTALL_APRILTAG
==
"y"
]
;
then
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing plugin apriltag dependencies..."
fi
cd
$DEPS_PATH
git clone https://github.com/AprilRobotics/apriltag apriltaglib
cd
apriltaglib
mkdir
-p
build
&&
cd
build
cmake
-DCMAKE_BUILD_TYPE
=
Release ..
make
-j
$CORES
ctest
-j
$CORES
sudo
make
install
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Cloning plugin apriltag..."
fi
cd
$WOLF_PATH
git clone ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/wolf_projects/wolf_lib/plugins/apriltag.git
cd
apriltag
git pull
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Compiling plugin apriltag..."
fi
mkdir
-p
build
&&
cd
build
cmake
-DCMAKE_BUILD_TYPE
=
Release
-DBUILD_DEMOS
=
ON
-DBUILD_TESTS
=
ON ..
cd
build
make
-j
$CORES
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing plugin apriltag..."
fi
sudo
make
install
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Testing plugin apriltag..."
fi
ctest
-j
$CORES
else
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Skipping plugin apriltag."
fi
fi
else
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Skipping plugin apriltag since plugin vision was not installed."
fi
fi
# BODYDYNAMICS --------------------------------------------------
if
[
$INSTALL_IMU
==
"y"
]
;
then
echo
"Do you want to download and install plugin bodydynamics? (y/n)"
read
INSTALL_BD
if
[
$INSTALL_BD
==
"y"
]
;
then
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Cloning plugin bodydynamics..."
fi
cd
$WOLF_PATH
git clone ssh://git@gitlab.iri.upc.edu:2202/mobile_robotics/wolf_projects/wolf_lib/plugins/bodydynamics.git
cd
bodydynamics
git pull
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Compiling plugin bodydynamics..."
fi
mkdir
-p
build
&&
cd
build
cmake ..
-DCMAKE_BUILD_TYPW
=
Release
cd
build
make
-j
$CORES
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Installing plugin bodydynamics..."
fi
sudo
make
install
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Testing plugin bodydynamics..."
fi
ctest
-j
$CORES
else
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Skipping plugin bodydynamics."
fi
fi
else
if
[
$VERBOSE
==
"true"
]
;
then
echo
"Skipping plugin bodydynamics since plugin imu was not installed."
fi
fi
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment