GithubHelp home page GithubHelp logo

ite_v2's Introduction

IT&E Hexapod Experiments

Limbo experiment: IT&E code for developing hexapod experiments similar to Cully et al. (2015), Nature. This code is not replicating the exact experiments of the Nature paper, but can be seen as a more modern implementation of the underlying algorithm.

Citing this code

If you use our code for a scientific paper, please cite:

Antoine Cully, Jeff Clune, Danesh Tarapore, and Jean-Baptiste Mouret. "Robots that can adapt like animals." Nature 521, no. 7553 (2015): 503-507.

In BibTex:

@article{cully_robots_2015,
    title = {Robots that can adapt like animals},
    volume = {521},
    pages = {503--507},
    number = {7553},
    journal = {Nature},
    author = {Cully, Antoine and Clune, Jeff and Tarapore, Danesh and Mouret, Jean-Baptiste},
    year = {2015}
}

Authors

  • Author/Maintainer: Konstantinos Chatzilygeroudis
  • Other contributors: Vassilis Vassiliades, Antoine Cully, Jean-Baptiste Mouret

How to compile

Dependencies

Setting up the ResiBots environment

We use the environmental RESIBOTS_DIR variable for easy configuration and library finding (it basically points to one folder where every local installation happens that is related to the project). Thus, before installing/compiling anything, make sure that you add this line to your ~/.bashrc or ~/.zshrc file:

export RESIBOTS_DIR=/path/to/resibots/installation/folder

From now on, we assume that the RESIBOTS_DIR variable is set.

Installing DART

To simulate our hexapod we are using the DART simulator. To install use the following procedure:

sudo apt-add-repository ppa:libccd-debs/ppa
sudo apt-add-repository ppa:fcl-debs/ppa
sudo apt-add-repository ppa:dartsim/ppa
sudo apt-get update

sudo apt-get install build-essential cmake pkg-config git
sudo apt-get install libeigen3-dev libassimp-dev libccd-dev libfcl-dev libboost-regex-dev libboost-system-dev libode-dev
sudo apt-get install libopenscenegraph-dev

sudo apt-get install libtinyxml-dev libtinyxml2-dev
sudo apt-get install liburdfdom-dev liburdfdom-headers-dev

cd /path/to/tmp/folder
git clone git://github.com/dartsim/dart.git
cd dart
git checkout v6.3.0

mkdir build
cd build
cmake -DDART_ENABLE_SIMD=ON ..
make -j4
sudo make install

Installing the hexapod common files

In order to simulate the hexapod you nead to get the URDF file and the controller library:

cd /path/to/tmp/folder
git clone https://github.com/resibots/hexapod_common.git
cd hexapod_common/hexapod_models
./waf configure --prefix=$RESIBOTS_DIR
./waf install
cd ../hexapod_controller
./waf configure --prefix=$RESIBOTS_DIR
./waf
./waf install

Installing the DART wrapper

To facilitate the simulation we have created a simple wrapper over the DART simulator that is specific to our hexapod robot:

cd /path/to/tmp/folder
git clone https://github.com/resibots/hexapod_simu.git
cd hexapod_simu/hexapod_dart
./waf configure --prefix=$RESIBOTS_DIR
./waf
./waf install

Installing limbo's dependencies

sudo apt-get update
sudo apt-get install libeigen3-dev libboost-serialization-dev libboost-filesystem-dev libboost-test-dev libboost-program-options-dev libboost-thread-dev libboost-regex-dev libboost-graph-dev
sudo apt-get install libtbb-dev

Compiling the experiment

  • Get limbo: git clone https://github.com/resibots/limbo.git
  • Go to your limbo root directory
  • Create an experiment folder (if there's none) and cd to it: mkdir exp && cd exp
  • Clone ite_v2: git clone https://github.com/resibots/ite_v2.git
  • Go back to your limbo root directory
  • Configure the experiment: ./waf configure --exp ite_v2
  • Compile the experiment: ./waf --exp ite_v2

How to run

  • Compile the experiment (as shown above)
  • Run it (assuming you are on limbo root dir and the RESIBOTS_DIR folder is set properly):
    • ./build/exp/ite_v2/hexapod_simu path_to_archive [-l id_of_to_be_removed] [-n number_of_BO_iterations]
    • ./build/exp/ite_v2/hexapod_graphic path_to_archive [-l id_of_to_be_removed] [-n number_of_BO_iterations] for the graphics version
    • the ids of the legs are zero-based; i.e., they span from 0 to 5
  • Some already generated archives (to save you time) are in the archives folder. You can use map_elites_hexapod_v2 to generate new ones.

Funding

This work has been funded by the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement number 637972 - ResiBots).

LICENSE

CeCILL

ite_v2's People

Contributors

costashatz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ite_v2's Issues

Checking for DART gui libs : Not found

In following the Installing the DART wrapper instructions, I encountered the following issues:
Checking for DART includes (including utils/urdf) : ok
Checking for DART gui includes : Not found
DART: Checking for optional Bullet includes : ok
Checking for DART libs (including utils/urdf) : ok
DART: Checking for Assimp : ok
Checking for DART gui libs : Not found
Checking for hexapod_controller includes : ok
['-Wall', '-std=c++11', '-O3', '-march=native', '-g']
'configure' finished successfully (0.145s)

And I have referred to your suggestions on the resibots/map_elites_hexapod_v2#1.
So I am using DART v6.4 and installed freeglut3-dev.
But it still prompts "Checking for DART gui libs : Not found“

Any suggestions how to resolve this?

Checking for NLOpt C++ libs (optional) : Not found

Excuse me.
I have other issue.
When I excute "Configure the experiment: ./waf configure --exp ite_v2", I encountered the following issues:
Checking Intel MKL includes (optional) : Not found
Checking for NLOpt C++ includes (optional) : /usr/local/include
Checking for NLOpt C++ libs (optional) : Not found in ['/home/dong/resibots/lib', '/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu/']
Checking for libcmaes includes (optional) : Not found in ['/usr/local/include', '/usr/include']

I would like to ask if it is necessary to install MKL and how to solve 'NLOpt C++ libs' is not found

*** stack smashing detected ***: <unknown> terminated

Hi, I have run into a road block.

I get to the ./waf configure --exp ite_v2 --no-native and the ./waf --exp ite_v2 --no-native commands, I use the no native flag as otherwise I immediately run into segmentation fault.

I have pinned a *** stack smashing detected ***: <unknown> terminated message to when global::global_robot = std::make_shared<hexapod_dart::Hexapod>(robot_file, damages); is called in the init_simu method.

Not too sure where to go from here.. hope you can help!

Undefined References to dart components

Hi,

I am following the installation instructions and have encountered the below when trying to run ./waf for installing the dart wrapper.

I have tried going through the installation guide a couple of times, each time encountering some issue, so I restart and attempt to purge everything. Hope you can help.

~/itev2/hexapod_simu/hexapod_dart$ ./waf
Waf: Entering directory `/home/aran/itev2/hexapod_simu/hexapod_dart/build'
[1/4] Compiling src/test.cpp
[2/4] Compiling src/test.cpp
[3/4] Linking build/test_plain
[4/4] Linking build/test
src/test.cpp.2.o: In function `void dart::common::createAspects<dart::dynamics::ShapeNode, dart::dynamics::VisualAspect, dart::dynamics::CollisionAspect, dart::dynamics::DynamicsAspect>(dart::dynamics::ShapeNode*)':
/usr/local/include/dart/common/detail/SpecializedForAspect.hpp:256: undefined reference to `dart::dynamics::detail::VisualAspectProperties::VisualAspectProperties(Eigen::Matrix<double, 4, 1, 0, 4, 1> const&, bool)'
src/test.cpp.2.o: In function `dart::dynamics::ShapeNode* dart::dynamics::BodyNode::createShapeNodeWith<dart::dynamics::VisualAspect, dart::dynamics::CollisionAspect, dart::dynamics::DynamicsAspect>(std::shared_ptr<dart::dynamics::Shape> const&)':
/usr/local/include/dart/dynamics/detail/BodyNode.hpp:168: undefined reference to `dart::dynamics::BodyNode::createShapeNode(std::shared_ptr<dart::dynamics::Shape> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
src/test.cpp.2.o: In function `hexapod_dart::HexapodDARTSimu<hexapod_dart::desc<boost::fusion::vector<hexapod_dart::descriptors::DutyCycle, hexapod_dart::descriptors::BodyOrientation> >, hexapod_dart::viz<boost::fusion::vector<hexapod_dart::visualizations::HeadingArrow, hexapod_dart::visualizations::PointingArrow<Params> > >, boost::parameter::void_, boost::parameter::void_>::_add_floor()':
/home/aran/itev2/hexapod_simu/hexapod_dart/include/hexapod_dart/hexapod_dart_simu.hpp:423: undefined reference to `dart::dynamics::detail::JointProperties::JointProperties(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Eigen::Transform<double, 3, 1, 0> const&, Eigen::Transform<double, 3, 1, 0> const&, bool, dart::dynamics::detail::ActuatorType)'
src/test.cpp.2.o: In function `hexapod_dart::HexapodDARTSimu<hexapod_dart::desc<boost::fusion::vector<hexapod_dart::descriptors::DutyCycle, hexapod_dart::descriptors::BodyOrientation> >, hexapod_dart::viz<boost::fusion::vector<hexapod_dart::visualizations::HeadingArrow, hexapod_dart::visualizations::PointingArrow<Params> > >, boost::parameter::void_, boost::parameter::void_>::add_box(Eigen::Matrix<double, 6, 1, 0, 6, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, Eigen::Matrix<double, 4, 1, 0, 4, 1> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/aran/itev2/hexapod_simu/hexapod_dart/include/hexapod_dart/hexapod_dart_simu.hpp:310: undefined reference to `dart::dynamics::detail::JointProperties::JointProperties(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Eigen::Transform<double, 3, 1, 0> const&, Eigen::Transform<double, 3, 1, 0> const&, bool, dart::dynamics::detail::ActuatorType)'
/home/aran/itev2/hexapod_simu/hexapod_dart/include/hexapod_dart/hexapod_dart_simu.hpp:308: undefined reference to `dart::dynamics::detail::JointProperties::JointProperties(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Eigen::Transform<double, 3, 1, 0> const&, Eigen::Transform<double, 3, 1, 0> const&, bool, dart::dynamics::detail::ActuatorType)'
src/test.cpp.2.o: In function `hexapod_dart::HexapodDARTSimu<hexapod_dart::desc<boost::fusion::vector<hexapod_dart::descriptors::DutyCycle, hexapod_dart::descriptors::BodyOrientation> >, hexapod_dart::viz<boost::fusion::vector<hexapod_dart::visualizations::HeadingArrow, hexapod_dart::visualizations::PointingArrow<Params> > >, boost::parameter::void_, boost::parameter::void_>::add_ellipsoid(Eigen::Matrix<double, 6, 1, 0, 6, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, Eigen::Matrix<double, 4, 1, 0, 4, 1> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/aran/itev2/hexapod_simu/hexapod_dart/include/hexapod_dart/hexapod_dart_simu.hpp:353: undefined reference to `dart::dynamics::detail::JointProperties::JointProperties(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Eigen::Transform<double, 3, 1, 0> const&, Eigen::Transform<double, 3, 1, 0> const&, bool, dart::dynamics::detail::ActuatorType)'
/home/aran/itev2/hexapod_simu/hexapod_dart/include/hexapod_dart/hexapod_dart_simu.hpp:351: undefined reference to `dart::dynamics::detail::JointProperties::JointProperties(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Eigen::Transform<double, 3, 1, 0> const&, Eigen::Transform<double, 3, 1, 0> const&, bool, dart::dynamics::detail::ActuatorType)'
src/test.cpp.2.o: In function `dart::dynamics::ShapeNode* dart::dynamics::BodyNode::createShapeNodeWith<dart::dynamics::VisualAspect>(std::shared_ptr<dart::dynamics::Shape> const&)':
/usr/local/include/dart/dynamics/detail/BodyNode.hpp:168: undefined reference to `dart::dynamics::BodyNode::createShapeNode(std::shared_ptr<dart::dynamics::Shape> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
src/test.cpp.2.o: In function `dart::dynamics::ShapeNode* dart::dynamics::BodyNode::createShapeNodeWith<dart::dynamics::VisualAspect>(std::shared_ptr<dart::dynamics::Shape> const&)':
/usr/local/include/dart/common/detail/SpecializedForAspect.hpp:256: undefined reference to `dart::dynamics::detail::VisualAspectProperties::VisualAspectProperties(Eigen::Matrix<double, 4, 1, 0, 4, 1> const&, bool)'
collect2: error: ld returned 1 exit status

src/test.cpp.1.o: In function `void dart::common::createAspects<dart::dynamics::ShapeNode, dart::dynamics::VisualAspect, dart::dynamics::CollisionAspect, dart::dynamics::DynamicsAspect>(dart::dynamics::ShapeNode*)':
/usr/local/include/dart/common/detail/SpecializedForAspect.hpp:256: undefined reference to `dart::dynamics::detail::VisualAspectProperties::VisualAspectProperties(Eigen::Matrix<double, 4, 1, 0, 4, 1> const&, bool)'
src/test.cpp.1.o: In function `dart::dynamics::ShapeNode* dart::dynamics::BodyNode::createShapeNodeWith<dart::dynamics::VisualAspect, dart::dynamics::CollisionAspect, dart::dynamics::DynamicsAspect>(std::shared_ptr<dart::dynamics::Shape> const&)':
/usr/local/include/dart/dynamics/detail/BodyNode.hpp:168: undefined reference to `dart::dynamics::BodyNode::createShapeNode(std::shared_ptr<dart::dynamics::Shape> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
src/test.cpp.1.o: In function `hexapod_dart::HexapodDARTSimu<hexapod_dart::desc<boost::fusion::vector<hexapod_dart::descriptors::DutyCycle, hexapod_dart::descriptors::BodyOrientation> >, hexapod_dart::viz<boost::fusion::vector<hexapod_dart::visualizations::HeadingArrow, hexapod_dart::visualizations::PointingArrow<Params> > >, boost::parameter::void_, boost::parameter::void_>::_add_floor()':
/home/aran/itev2/hexapod_simu/hexapod_dart/include/hexapod_dart/hexapod_dart_simu.hpp:423: undefined reference to `dart::dynamics::detail::JointProperties::JointProperties(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Eigen::Transform<double, 3, 1, 0> const&, Eigen::Transform<double, 3, 1, 0> const&, bool, dart::dynamics::detail::ActuatorType)'
src/test.cpp.1.o: In function `hexapod_dart::HexapodDARTSimu<hexapod_dart::desc<boost::fusion::vector<hexapod_dart::descriptors::DutyCycle, hexapod_dart::descriptors::BodyOrientation> >, hexapod_dart::viz<boost::fusion::vector<hexapod_dart::visualizations::HeadingArrow, hexapod_dart::visualizations::PointingArrow<Params> > >, boost::parameter::void_, boost::parameter::void_>::add_box(Eigen::Matrix<double, 6, 1, 0, 6, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, Eigen::Matrix<double, 4, 1, 0, 4, 1> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/aran/itev2/hexapod_simu/hexapod_dart/include/hexapod_dart/hexapod_dart_simu.hpp:310: undefined reference to `dart::dynamics::detail::JointProperties::JointProperties(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Eigen::Transform<double, 3, 1, 0> const&, Eigen::Transform<double, 3, 1, 0> const&, bool, dart::dynamics::detail::ActuatorType)'
/home/aran/itev2/hexapod_simu/hexapod_dart/include/hexapod_dart/hexapod_dart_simu.hpp:308: undefined reference to `dart::dynamics::detail::JointProperties::JointProperties(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Eigen::Transform<double, 3, 1, 0> const&, Eigen::Transform<double, 3, 1, 0> const&, bool, dart::dynamics::detail::ActuatorType)'
src/test.cpp.1.o: In function `hexapod_dart::HexapodDARTSimu<hexapod_dart::desc<boost::fusion::vector<hexapod_dart::descriptors::DutyCycle, hexapod_dart::descriptors::BodyOrientation> >, hexapod_dart::viz<boost::fusion::vector<hexapod_dart::visualizations::HeadingArrow, hexapod_dart::visualizations::PointingArrow<Params> > >, boost::parameter::void_, boost::parameter::void_>::add_ellipsoid(Eigen::Matrix<double, 6, 1, 0, 6, 1> const&, Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, Eigen::Matrix<double, 4, 1, 0, 4, 1> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/home/aran/itev2/hexapod_simu/hexapod_dart/include/hexapod_dart/hexapod_dart_simu.hpp:353: undefined reference to `dart::dynamics::detail::JointProperties::JointProperties(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Eigen::Transform<double, 3, 1, 0> const&, Eigen::Transform<double, 3, 1, 0> const&, bool, dart::dynamics::detail::ActuatorType)'
/home/aran/itev2/hexapod_simu/hexapod_dart/include/hexapod_dart/hexapod_dart_simu.hpp:351: undefined reference to `dart::dynamics::detail::JointProperties::JointProperties(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Eigen::Transform<double, 3, 1, 0> const&, Eigen::Transform<double, 3, 1, 0> const&, bool, dart::dynamics::detail::ActuatorType)'
src/test.cpp.1.o: In function `dart::dynamics::ShapeNode* dart::dynamics::BodyNode::createShapeNodeWith<dart::dynamics::VisualAspect>(std::shared_ptr<dart::dynamics::Shape> const&)':
/usr/local/include/dart/dynamics/detail/BodyNode.hpp:168: undefined reference to `dart::dynamics::BodyNode::createShapeNode(std::shared_ptr<dart::dynamics::Shape> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
src/test.cpp.1.o: In function `dart::dynamics::ShapeNode* dart::dynamics::BodyNode::createShapeNodeWith<dart::dynamics::VisualAspect>(std::shared_ptr<dart::dynamics::Shape> const&)':
/usr/local/include/dart/common/detail/SpecializedForAspect.hpp:256: undefined reference to `dart::dynamics::detail::VisualAspectProperties::VisualAspectProperties(Eigen::Matrix<double, 4, 1, 0, 4, 1> const&, bool)'
src/test.cpp.1.o: In function `hexapod_dart::HexapodDARTSimu<hexapod_dart::desc<boost::fusion::vector<hexapod_dart::descriptors::DutyCycle, hexapod_dart::descriptors::BodyOrientation> >, hexapod_dart::viz<boost::fusion::vector<hexapod_dart::visualizations::HeadingArrow, hexapod_dart::visualizations::PointingArrow<Params> > >, boost::parameter::void_, boost::parameter::void_>::HexapodDARTSimu(std::vector<double, std::allocator<double> > const&, std::shared_ptr<hexapod_dart::Hexapod>)':
/home/aran/itev2/hexapod_simu/hexapod_dart/include/hexapod_dart/hexapod_dart_simu.hpp:94: undefined reference to `dart::gui::osg::WorldNode::WorldNode(std::shared_ptr<dart::simulation::World>)'
collect2: error: ld returned 1 exit status

Waf: Leaving directory `/home/aran/itev2/hexapod_simu/hexapod_dart/build'
Build failed
 -> task in 'test_plain' failed (exit status 1): 
	{task 140608166465424: cxxprogram test.cpp.2.o -> test_plain}
['/usr/bin/g++', 'src/test.cpp.2.o', '-o', '/home/aran/itev2/hexapod_simu/hexapod_dart/build/test_plain', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-L/usr/lib/x86_64-linux-gnu', '-L/home/aran/resibots/lib', '-L/usr/local/lib', '-L/usr/lib', '-L/usr/lib/x86_64-linux-gnu/', '-L/usr/local/lib', '-L/usr/lib', '-L/usr/lib/x86_64-linux-gnu/', '-L/usr/local/lib', '-L/usr/lib', '-L/usr/lib/x86_64-linux-gnu', '-lboost_regex', '-lboost_system', '-lboost_filesystem', '-ldart', '-ldart-utils', '-ldart-utils-urdf', '-lassimp', '-lBulletCollision', '-lLinearMath']
 -> task in 'test' failed (exit status 1): 
	{task 140608166465104: cxxprogram test.cpp.1.o -> test}
['/usr/bin/g++', 'src/test.cpp.1.o', '-o', '/home/aran/itev2/hexapod_simu/hexapod_dart/build/test', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-L/usr/lib/x86_64-linux-gnu', '-L/home/aran/resibots/lib', '-L/usr/local/lib', '-L/usr/lib', '-L/usr/lib/x86_64-linux-gnu/', '-L/usr/local/lib', '-L/usr/lib', '-L/usr/lib/x86_64-linux-gnu/', '-L/usr/local/lib', '-L/usr/lib', '-L/usr/lib/x86_64-linux-gnu', '-lboost_regex', '-lboost_system', '-lboost_filesystem', '-ldart', '-ldart-utils', '-ldart-utils-urdf', '-lassimp', '-lBulletCollision', '-lLinearMath', '-ldart-gui', '-ldart-gui-osg', '-losg', '-losgViewer', '-losgManipulator', '-losgGA', '-losgDB']

Trying to plot behavior performance map

Hi, I am trying to plot the behavior performance map using the limbo library but I can't find any documentation on it. Is it due to the warning below?
command-line options for [exp/test] : -> OK
command-line options for [exp/ite_v2] : -> OK
Setting top to : /home/hankbot/Desktop/Project/limbo
Setting out to : /home/hankbot/Desktop/Project/limbo/build
Checking for 'g++' (C++ compiler) : /usr/bin/g++
Checking for 'gcc' (C compiler) : /usr/bin/gcc
Checking boost includes : 1_58
Checking boost libs : ok
Checking for Eigen : /usr/include/eigen3
Checking Intel TBB includes (optional) : /usr/include
Checking Intel TBB libs (optional) : /usr/lib/x86_64-linux-gnu
Checking Intel MKL includes (optional) : Not found
Checking for NLOpt C++ includes (optional) : /usr/local/include
Checking for NLOpt C++ libs (optional) : /usr/local/lib
Checking for libcmaes includes (optional) : Not found in ['/usr/local/include', '/usr/include']
Checking for compiler flags "-march=native" : yes
CXXFLAGS: ['-Wall', '-std=c++11', '-O3', '-g', '-march=native']
configuring for exp: ite_v2
Checking boost includes : 1_58
Checking boost libs : ok
Checking for DART includes (including utils/urdf) : ok
Checking for DART gui includes : Not found
DART: Checking for optional Bullet includes : Not found - be sure that your DART installation is without Bullet enabled
Checking for DART libs (including utils/urdf) : ok
DART: Checking for Assimp : ok
Checking for DART gui libs : Not found
Checking for hexapod_dart includes : ok

WHAT TO DO NOW?

[users] To compile Limbo: ./waf build
[users] To compile and run unit tests: ./waf --tests
[users] Read the documentation (inc. tutorials) on http://www.resibots.eu/limbo
[developers] To compile the HTML documentation (this requires sphinx and the resibots theme): ./waf docs
[developers] To compile the BO benchmarks: ./waf build_bo_benchmarks
[developers] To run the BO benchmarks: ./waf run_bo_benchmarks
[developers] To compile the regression benchmarks (requires a json file with the setup): ./waf --regression_benchmarks file.json
[developers] To run the regression benchmarks: ./waf run_regression_benchmarks --regression_benchmarks file.json
[developers] To compile the extensive tests: ./waf build_extensive_tests
'configure' finished successfully (0.480s)
WARNING: simplejson not found some function may not work
YELLOW: Could not import plot_bo_benchmarks! Will not plot anything!
WARNING: simplejson not found some function may not work
build dir not created (it probably already exists, this is fine)
command-line options for [exp/test] : -> OK
command-line options for [exp/ite_v2] : -> OK
Waf: Entering directory /home/hankbot/Desktop/Project/limbo/build' Building exp: ite_v2 Waf: Leaving directory /home/hankbot/Desktop/Project/limbo/build'
'build' finished successfully (0.617s)

Building project with docker

I'm trying to install the entire project using a docker container however despite showing positive results at the Dart wrapping section, the build stopped with the error below:

image

This is my dockerfile
FROM ubuntu:16.04

RUN apt-get update && apt-get install -y software-properties-common sudo &&
apt-add-repository ppa:dartsim/ppa

ARG buildtime_variable=$HOME/Hexapod
ENV RESIBOTS_DIR=$buildtime_variable

ARG buildtime_variable1=$LD_LIBRARY_PATH:/lib:/usr/lib:/usr/local/lib
ENV LD_LIBRARY_PATH=$buildtime_variable1

RUN mkdir -p "$RESIBOTS_DIR"
WORKDIR $RESIBOTS_DIR

RUN sudo apt-get update && sudo apt-get install -y
build-essential cmake pkg-config git
libeigen3-dev libassimp-dev libccd-dev libfcl-dev libboost-regex-dev libboost-system-dev libode-dev
libopenscenegraph-dev
libxmu-dev libxi-dev
freeglut3-dev

RUN sudo apt-get update && sudo apt-get install -y
libtinyxml-dev libtinyxml2-dev libdart6-all-dev
liburdfdom-dev liburdfdom-headers-dev

RUN sudo apt-get update && sudo apt-get install -y
libeigen3-dev libboost-serialization-dev libboost-filesystem-dev libboost-test-dev libboost-program-options-dev libboost-thread-dev libboost-regex-dev libboost-graph-dev
libtbb-dev

WORKDIR $RESIBOTS_DIR
RUN git clone git://github.com/dartsim/dart.git
WORKDIR $RESIBOTS_DIR/dart
RUN git checkout v6.3.0

RUN mkdir build
WORKDIR $RESIBOTS_DIR/dart/build
RUN cmake -DDART_ENABLE_SIMD=OFF ..
RUN make -j4
RUN sudo make install

WORKDIR $RESIBOTS_DIR
RUN git clone https://github.com/resibots/hexapod_common.git
WORKDIR $RESIBOTS_DIR/hexapod_common/hexapod_models
RUN ./waf configure --prefix=$RESIBOTS_DIR
RUN ./waf install
WORKDIR $RESIBOTS_DIR/hexapod_common/hexapod_controller
RUN ./waf configure --prefix=$RESIBOTS_DIR &&
./waf &&\
./waf install

WORKDIR $RESIBOTS_DIR
RUN git clone https://github.com/resibots/hexapod_simu.git
WORKDIR $RESIBOTS_DIR/hexapod_simu/hexapod_dart
RUN ./waf configure --prefix=$RESIBOTS_DIR &&
./waf &&\
./waf install

WORKDIR $RESIBOTS_DIR
RUN git clone https://github.com/resibots/limbo.git
WORKDIR $RESIBOTS_DIR/limbo
RUN mkdir exp
WORKDIR $RESIBOTS_DIR/limbo/exp
RUN git clone https://github.com/resibots/ite_v2.git
WORKDIR $RESIBOTS_DIR
RUN ./waf configure --exp ite_v2 &&\
./waf --exp ite_v2
RUN ./build/exp/ite_v2/hexapod_simu path_to_archive [-l 2] [-n 5]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.