Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation #145

Merged
merged 182 commits into from
May 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
182 commits
Select commit Hold shift + click to select a range
336349c
[docs]: first version of mkdocs
costashatz Nov 20, 2020
efa2e5f
work on the robot page
jbmouret Nov 20, 2020
35ac281
minor change
jbmouret Nov 20, 2020
fa0a65a
almost finished
jbmouret Nov 20, 2020
8fc5340
update description of search strategy in robots.md
jbmouret Nov 20, 2020
eb1766f
cosmetic changes
jbmouret Nov 20, 2020
4910218
add the link to the examples & urdf
jbmouret Nov 20, 2020
cb4da86
misc improvements to index
jbmouret Nov 20, 2020
3249bab
minor change
jbmouret Nov 20, 2020
d87debd
what RobotDART is not
jbmouret Nov 20, 2020
4532b17
[docs]: minor typos/fixes, started adding FAQ page [ci skip]
costashatz Nov 21, 2020
f4b118d
[docs]: add built hmtl [ci skip]
costashatz Nov 21, 2020
aa0e8a2
[docs]: try to link to index.html
costashatz Nov 21, 2020
d023b9f
[docs]: remove useless symlink [ci skip]
costashatz Nov 21, 2020
6c21015
[docs]: re-arrange folders [ci skip]
costashatz Nov 21, 2020
3b99f39
[docs]: copyright [ci skip]
costashatz Nov 21, 2020
a4245f4
[docs]: make them build through waf and minor things
costashatz Nov 21, 2020
ebbaa1a
Merge branch 'master' into new_docs
costashatz Feb 24, 2021
e73ee39
[docs]: Added more stuff/simple hello_world example
costashatz Feb 25, 2021
b5cc58b
Merge remote-tracking branch 'origin' into new_docs
costashatz Sep 27, 2021
1d54046
[docs]: a bit more
costashatz Sep 27, 2021
a6a8a90
[docs]: minor
costashatz Sep 27, 2021
fdc3fbc
[docs]: update [ci skip]
costashatz Sep 28, 2021
9dd5614
Merge remote-tracking branch 'origin' into new_docs
costashatz Oct 2, 2021
9aa64dd
[docs]: Update
costashatz Oct 2, 2021
5ca0468
merge master into new_docs
dtotsila Jul 5, 2022
7e2416c
Minor thing
costashatz Jul 5, 2022
9d5a8ef
Debugging
costashatz Jul 5, 2022
2ba1100
Debugging
costashatz Jul 5, 2022
20eb387
Debugging #3
costashatz Jul 5, 2022
3d422a7
Fix building issue; I guess
costashatz Jul 5, 2022
f85fbd5
WIP cameras documentation
dtotsila Jul 6, 2022
bab3940
add shadows enable/disable to docs [ci skip]
dtotsila Jul 7, 2022
53b0584
lights documentation [ci skip]
dtotsila Jul 7, 2022
15f588b
add light scopes [ci skip]
dtotsila Jul 7, 2022
5cb0fe2
compute dyn, kin documentation [ci skip]
dtotsila Jul 7, 2022
481da2b
Do not run CI on all files [ci skip]
costashatz Jul 7, 2022
1241804
A few improvements in the docs
costashatz Jul 7, 2022
dc75f9a
Graphics tutorial is GUI only
costashatz Jul 7, 2022
a1b2cdf
self collision docs
dtotsila Jul 7, 2022
b93e6d6
WIP-collision detector docs
dtotsila Jul 7, 2022
d0c975b
add camera position to docs + correct some typos
dtotsila Jul 7, 2022
294ce06
Minor fix in docs
costashatz Jul 8, 2022
7804dbd
add more dyn, kin docs
dtotsila Jul 8, 2022
c94a11c
joint limits docs [ci skip]
dtotsila Jul 8, 2022
e12cbfe
More docs [ci skip]
costashatz Jul 8, 2022
79bb39c
modify joint coeffs docs [ci skip]
dtotsila Jul 8, 2022
7db4a61
fix typo [ci skip]
dtotsila Jul 8, 2022
29eb67b
add text to joint properties docs
dtotsila Jul 8, 2022
b68beb4
Minor (mainly formatting) [ci skip]
costashatz Jul 8, 2022
da5df6e
delete debug information question
dtotsila Jul 11, 2022
0a40c64
cameras parallel docs [ci skip]
dtotsila Jul 11, 2022
236d9e1
robot ghost
dtotsila Jul 11, 2022
e8f7bda
fix merge conflict
dtotsila Jul 11, 2022
8794680
update camera parallel docs
dtotsila Jul 11, 2022
a208619
change simu dt docs [ci skip]
dtotsila Jul 11, 2022
decdb46
Simu gravity docs [ci skip]
dtotsila Jul 11, 2022
68f88b7
Installation instruction docs
dtotsila Jul 11, 2022
f593bdd
custom urdf
dtotsila Jul 11, 2022
abe0b24
sensors docs, need to add rgb and rgb_d in docs
dtotsila Jul 11, 2022
47727c6
sensors_tutorial magnum_only
dtotsila Jul 11, 2022
02e9d9c
BUF FIX: all red code block (docs)
dtotsila Jul 12, 2022
2121d17
Add rgb and rgb_d sensor docs [ci skip]
dtotsila Jul 12, 2022
e44b2f6
depth image raw docs fic
dtotsila Jul 12, 2022
32cb56f
add latex support, update docs text TBD
dtotsila Jul 12, 2022
4b8c1fd
Update website
costashatz Jul 12, 2022
c00a68d
Change from cinder to material theme
dtotsila Jul 13, 2022
795e44c
home page minor change
dtotsila Jul 13, 2022
f941efe
first question remove quotes and add ?
dtotsila Jul 13, 2022
de72417
docs: Make questions bold-ish
dtotsila Jul 14, 2022
22443c5
add \t to variables [ci skip]
dtotsila Jul 14, 2022
2ff58db
Update docs
costashatz Jul 14, 2022
849c466
Updates docs
costashatz Jul 14, 2022
3ede15e
Update docs
costashatz Jul 14, 2022
51313f0
A1 improvement + docs
costashatz Jul 14, 2022
a019d4d
Update installation docs
costashatz Jul 14, 2022
99a6a41
docs: Add hexapod and pexod load [ci skip]
dtotsila Jul 15, 2022
c2244b2
docs: Add simple arm load [ci skip]
dtotsila Jul 15, 2022
104d206
docs: update load custom robot
dtotsila Jul 15, 2022
048f1aa
docs: load a1
dtotsila Jul 15, 2022
8686871
Add resibots logo [ci skip]
dtotsila Jul 15, 2022
2b89d3c
Remove edit button + remove resibots logo
costashatz Jul 15, 2022
1758f67
WIP docs, controllers[ci skip]
dtotsila Jul 16, 2022
fa2046f
preliminary osx script
jbmouret Jul 29, 2022
7439581
add python macros [ci skip]
dtotsila Aug 30, 2022
f96b38a
hello_word.py documentation [ci skip]
dtotsila Aug 30, 2022
6d70530
merge branch 'new_docs' of github.com:resibots/robot_dart into new_do…
dtotsila Aug 30, 2022
359ede0
camera.py example + documentation
dtotsila Sep 3, 2022
9fc09c3
Merge remote-tracking branch 'origin' into new_docs
costashatz Sep 5, 2022
b9dada6
Merge remote-tracking branch 'origin/fix_urdfdom_check' into new_docs
costashatz Sep 5, 2022
71761c6
Fix for my_controller example
costashatz Sep 5, 2022
39fd1ce
graphics tutorial python example implementation + docs update
dtotsila Sep 5, 2022
ae8e156
Merge remote-tracking branch 'origin' into new_docs
costashatz Sep 5, 2022
c456ac8
docs update
costashatz Sep 5, 2022
c871bd9
python robot ghost, iiwa.py [ci skip]
dtotsila Sep 12, 2022
deb8c0f
add python iiwa macro [ci skip]
dtotsila Sep 12, 2022
e8c03b7
franka.py example + update docs [ci skip]
dtotsila Sep 12, 2022
9c03ba9
pendlum.py, simple controll docs [ci skip]
dtotsila Sep 12, 2022
6d0893f
my_controller.py, Robot control docs [ci skip]
dtotsila Sep 12, 2022
8924bf7
my_controller.cpp python corresponding example [ci skip]
dtotsila Sep 12, 2022
f748897
Update docs, set linked content tabs
dtotsila Sep 12, 2022
206d5c0
collisions_tutorial.py, collisions docs [ci skip]
dtotsila Sep 12, 2022
56f0834
remove graphics include, not used
dtotsila Sep 12, 2022
96b72f6
dynamics_tutorial.py, kin-dyn docs [ci skip]
dtotsila Sep 12, 2022
b290ba3
robot_properties.py, + docs update [ci skip]
dtotsila Sep 13, 2022
eda2353
add Force sensor to python
dtotsila Oct 1, 2022
11f1319
Fix print error [ci skip]
dtotsila Oct 1, 2022
128cc39
python sensors_tutorial example [ci skip]
dtotsila Oct 1, 2022
29bf5a8
Python sensor tutorial docs update
dtotsila Oct 1, 2022
fd2354d
talos python example
dtotsila Oct 3, 2022
446c641
load talos python docs
dtotsila Oct 3, 2022
c6a12b6
talos fast collision python
dtotsila Oct 3, 2022
5ada2f7
talos fast load python docs [ci skip]
dtotsila Oct 3, 2022
967e62b
finalize loading robots, + change directory of python examples, + min…
dtotsila Oct 11, 2022
868c6c1
add links to examples
dtotsila Oct 11, 2022
e231905
Merge remote-tracking branch 'origin' into new_docs
costashatz Jan 31, 2024
2707ba2
Change subprocess with TinyProcessLib for Mac compatibility
costashatz Jan 31, 2024
1031b84
Updates docs
costashatz Jan 31, 2024
947d24d
Merge remote-tracking branch 'origin' into subprocess
costashatz Feb 1, 2024
10cf71f
Merge remote-tracking branch 'origin' into new_docs
costashatz Feb 1, 2024
c5d5c1f
Fix CI + update docs
costashatz Feb 1, 2024
4ede05e
Update web
costashatz Feb 1, 2024
1ad5b0f
Merge remote-tracking branch 'origin' into new_docs
costashatz Feb 1, 2024
2acb7a2
Add quick doxygen
costashatz Feb 1, 2024
ac7bbb1
[doc]: Minor fix in Talos fast
costashatz Feb 1, 2024
1c596c6
Add JOSS paper start [ci skip]
costashatz Feb 2, 2024
3703cd5
Start writing README + license [ci skip]
costashatz Feb 2, 2024
7c0a9df
Fix readme [ci skip]
costashatz Feb 2, 2024
4dbdd7f
Update website
costashatz Feb 2, 2024
04d28da
EGL only in Linux
costashatz Feb 2, 2024
dadf404
Mac ci
costashatz Feb 6, 2024
3365e34
Mac ci
costashatz Feb 6, 2024
753d7c5
Update Mac CI
costashatz Feb 6, 2024
72db317
Merge branch 'subprocess' into new_docs
costashatz Feb 6, 2024
b918d7f
Minor fix for Mac
costashatz Feb 6, 2024
d634863
Update CI
costashatz Feb 6, 2024
4ba32ba
objdump is not there in mac
costashatz Feb 6, 2024
da60794
CI Mac
costashatz Feb 6, 2024
4d3ac9d
Trying around
costashatz Feb 6, 2024
d18984c
Update waf
costashatz Feb 6, 2024
4a3edee
Let's hope this is fixed
costashatz Feb 6, 2024
6430167
Installation of dartpy
costashatz Feb 6, 2024
eb0b2f3
Let's check what happens
costashatz Feb 6, 2024
22e4ae2
Fix CI?
costashatz Feb 6, 2024
c12c14d
CI Mac
costashatz Feb 6, 2024
56bb8a9
Use latest magnum git
costashatz Feb 6, 2024
736443c
Mac CI
costashatz Feb 6, 2024
82c32a8
Update nodejs of github actions
costashatz Feb 6, 2024
8ca7487
Update docs
costashatz Feb 6, 2024
3d19534
Minor
costashatz Feb 12, 2024
cd019b6
Initial draft of the paper
costashatz Feb 22, 2024
dea3dd5
provide some motivation
jbmouret Feb 24, 2024
1532c53
Update urdfdom + remove DART deprecations
costashatz Apr 1, 2024
d9a7b54
Small updates in paper [ci skip]
costashatz Apr 5, 2024
10e41fe
Updates in paper [ci skip]
costashatz Apr 5, 2024
f60c49b
Fix text issues
costashatz Apr 26, 2024
77a276a
Paper update [ci skip]
costashatz Apr 26, 2024
73e6711
Fix README [ci skip]
costashatz Apr 26, 2024
8ceb326
Fix README [ci skip]
costashatz Apr 26, 2024
9e6baef
Fix README [ci skip]
costashatz Apr 26, 2024
50022ca
Fix README [ci skip]
costashatz Apr 26, 2024
93207f6
Fix README [ci skip]
costashatz Apr 26, 2024
87e8534
Update doc
costashatz Apr 26, 2024
e2acea8
minor changes to paper [ci skip]
jbmouret Apr 26, 2024
177c11b
Update install scripts + paper [ci skip]
costashatz Apr 29, 2024
ce17362
Update docs [ci skip]
costashatz Apr 29, 2024
59e19e3
Fix magnum mac
costashatz Apr 29, 2024
e94a9f8
Updated docs [ci skip]
costashatz Apr 29, 2024
ea72b49
Better magnum ci
costashatz Apr 29, 2024
0716d30
Better magnum ci now
costashatz Apr 29, 2024
8c84e46
Almost there
costashatz Apr 29, 2024
2b4f752
Install magnum script compatible with Mac
costashatz Apr 29, 2024
1a0649e
Debug
costashatz Apr 29, 2024
759d486
Fix Mac
costashatz Apr 29, 2024
cc8e543
update a ref
jbmouret Apr 29, 2024
bd0ebe2
Merge branch 'new_docs' of https://github.com/NOSALRO/robot_dart into…
jbmouret Apr 29, 2024
85d8d44
Paper changes
costashatz Apr 29, 2024
884f006
Fix Mac CI
costashatz Apr 29, 2024
e67168f
Fix OSX script [ci skip]
costashatz Apr 29, 2024
1c44806
Update CI scripts + magnum
costashatz Apr 30, 2024
2a6c265
Minor docs [ci skip]
costashatz May 1, 2024
5e970e7
Update website [ci skip]
costashatz May 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
32 changes: 29 additions & 3 deletions .github/workflows/ci_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,35 @@ on:
push:
branches:
- "**"
paths:
- 'cmake/**'
- 'src/examples/**'
- 'src/python/**'
- 'src/robot_dart/**'
- 'src/tests/**'
- 'src/utheque/**'
- 'utheque/**'
- 'ci/**'
- 'waf_tools/**'
- 'wscript'
- 'waf'
- '.github/workflows/ci_linux.yml'
pull_request:
branches:
- "**"
paths:
- 'cmake/**'
- 'src/examples/**'
- 'src/python/**'
- 'src/robot_dart/**'
- 'src/tests/**'
- 'src/utheque/**'
- 'utheque/**'
- 'ci/**'
- 'waf_tools/**'
- 'wscript'
- 'waf'
- '.github/workflows/ci_linux.yml'

jobs:
build:
Expand All @@ -34,12 +60,12 @@ jobs:
CI_HOME: ${{github.workspace}}
DART_DIR: "/home/runner/.dart_install/share/dart/cmake"
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Install Ubuntu packages
run: ${{github.workspace}}/ci/install_packages.sh
- name: Cache DART
id: cache-dart
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.dart_install
key: dart-${{ matrix.dart_tag }}-${{ matrix.compiler }}-py3_${{ matrix.build_python }}-${{ matrix.os }}
Expand Down Expand Up @@ -86,6 +112,6 @@ jobs:
if [ "$BUILD_PYTHON" = "ON" ]; then
python_dist_dir=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(plat_specific=True, prefix=''))")
export PYTHONPATH=/home/runner/.dart_install/$python_dist_dir
python ${{github.workspace}}/src/python/ci.py
python ${{github.workspace}}/src/examples/python/ci.py
fi

6 changes: 3 additions & 3 deletions .github/workflows/ci_linux_dart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
build_type: [Release]
build_python: [ON]
compiler: [gcc, clang]
dart_tag: ["v6.12.1"]
dart_tag: ["v6.13.1"]
env:
COMPILER: ${{ matrix.compiler }}
BUILD_TYPE: ${{ matrix.build_type }}
Expand All @@ -28,12 +28,12 @@ jobs:
CI_HOME: ${{github.workspace}}
DART_DIR: "/home/runner/.dart_install/share/dart/cmake"
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Install Ubuntu packages
run: ${{github.workspace}}/ci/install_packages.sh
- name: Cache DART
id: cache-dart
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: ~/.dart_install
key: dart-${{ matrix.dart_tag }}-${{ matrix.compiler }}-py3_${{ matrix.build_python }}-${{ matrix.os }}
Expand Down
109 changes: 109 additions & 0 deletions .github/workflows/ci_mac.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# https://help.github.com/en/articles/workflow-syntax-for-github-actions

name: CI MacOS

on:
push:
branches:
- "**"
paths:
- 'cmake/**'
- 'src/examples/**'
- 'src/python/**'
- 'src/robot_dart/**'
- 'src/tests/**'
- 'src/utheque/**'
- 'utheque/**'
- 'ci/**'
- 'waf_tools/**'
- 'wscript'
- 'waf'
- '.github/workflows/ci_mac.yml'
pull_request:
branches:
- "**"
paths:
- 'cmake/**'
- 'src/examples/**'
- 'src/python/**'
- 'src/robot_dart/**'
- 'src/tests/**'
- 'src/utheque/**'
- 'utheque/**'
- 'ci/**'
- 'waf_tools/**'
- 'wscript'
- 'waf'
- '.github/workflows/ci_mac.yml'

jobs:
build:
if: github.event_name != 'workflow_dispatch'
name: OS:${{ matrix.os }}-Magnum:${{ matrix.magnum_gui }}-Build:${{ matrix.build_type }}-Python:${{ matrix.build_python }}-Compiler:${{ matrix.compiler }}-DART:${{ matrix.dart_tag }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-12]
build_type: [Release]
build_python: [OFF] # Let's remove python for now from Mac CI
compiler: [gcc, clang]
magnum_gui: [ON, OFF]
env:
COMPILER: ${{ matrix.compiler }}
BUILD_TYPE: ${{ matrix.build_type }}
BUILD_PYTHON: ${{ matrix.build_python }}
MAGNUM_GUI: ${{ matrix.magnum_gui }}
DART_TAG: ${{ matrix.dart_tag }}
CI_HOME: ${{github.workspace}}
steps:
- uses: actions/checkout@v4
- name: Install deps
run: brew install binutils pybind11
- name: Install numpy
run: python -m pip install --upgrade pip && pip3 install numpy
- name: Install DART
run: |
if [ "$BUILD_PYTHON" = "ON" ]; then
brew install dartsim --only-dependencies && pip3 install dartpy ;
else
brew install dartsim ;
fi
- name: Build Magnum
run: if [ "$MAGNUM_GUI" = "ON" ]; then brew install sdl2 glfw eigen glm bullet assimp devil faad2 freetype glslang harfbuzz libpng libspng jpeg openexr spirv-tools zstd webp && ${{github.workspace}}/ci/install_magnum.sh /usr/local ; fi
- name: Build robot_dart
run: |
if [ "$COMPILER" = "gcc" ]; then
export CC=/usr/bin/gcc && export CXX=/usr/bin/g++
fi
if [ "$COMPILER" = "clang" ]; then
export CC=/usr/bin/clang && export CXX=/usr/bin/clang++
fi
cd ${{github.workspace}}
if [ "$BUILD_PYTHON" = "ON" ]; then
./waf configure --tests --python --prefix=/usr/local ;
else
./waf configure --tests --prefix=/usr/local ;
fi
./waf
- name: Run tests
run: ./waf --tests
- name: Build examples
run: ./waf examples
- name: Install
run: sudo ./waf install
- name: Run CMake
run: |
if [ "$COMPILER" = "gcc" ]; then
export CC=/usr/bin/gcc && export CXX=/usr/bin/g++
fi
if [ "$COMPILER" = "clang" ]; then
export CC=/usr/bin/clang && export CXX=/usr/bin/clang++
fi
cd ${{github.workspace}}/cmake/example && mkdir -p build && cd build && cmake .. && make -j4
cd ${{github.workspace}}/cmake/example_utheque && mkdir -p build && cd build && cmake .. && make -j4
- name: Run Python
run: |
if [ "$BUILD_PYTHON" = "ON" ]; then
python ${{github.workspace}}/src/examples/python/ci.py
fi
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ build
*.pyc
res/nao_meshes
.vscode
paper/*.crossref
paper/*.pdf
paper/*.tex
30 changes: 30 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
BSD 2-Clause License

Copyright (c) 2022-2024 Computational Intelligence Lab, University of Patras, Greece
Copyright (c) 2023-2024 Laboratory of Automation and Robotics, University of Patras, Greece
Copyright (c) 2017-2018 LARSEN Team, Inria, France
Copyright (c) 2017-2024 Konstantinos Chatzilygeroudis
Copyright (c) 2017-2024 Jean-Baptiste Mouret
Copyright (c) 2023-2024 Dionis Totsila
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
52 changes: 42 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,55 @@
robot_dart [![Build Status](https://github.com/resibots/robot_dart/actions/workflows/ci_linux.yml/badge.svg?branch=master)](https://github.com/resibots/robot_dart/actions/workflows/ci_linux.yml)
RobotDART [![Build Status](https://github.com/resibots/robot_dart/actions/workflows/ci_linux.yml/badge.svg?branch=master)](https://github.com/resibots/robot_dart/actions/workflows/ci_linux.yml)
=====================================================================================================================================================================================================

### CAUTION: The library is under-going a serious re-structure and development. Expect breaking of API/ABI, and out-of-date guides. We will soon provide a new release with many new features and a proper documentation.
RobotDART is a C++ robot simulator (with optional Python bindings) built on top of the [DART] physics engine. The RobotDART simulator is intended to be used by Robotics and Machine Learning researchers who want to write controllers or test learning algorithms without the delays and overhead that usually comes with other simulators (e.g., Gazebo, Coppelia-sim).

#### This repo contains a generic wrapper around the [DART] simulator.
## Documentation

Documentation is available at: [https://nosalro.github.io/robot_dart/](https://nosalro.github.io/robot_dart/)

## Authors

- Author/Maintainer: Konstantinos Chatzilygeroudis
- Active contributors: Jean-Baptiste Mouret
- Author/Maintainer: Konstantinos Chatzilygeroudis (University of Patras)
- Active contributors: Dionis Totsila (Inria and University of Patras), Jean-Baptiste Mouret (Inria)
- Other contributors: Antoine Cully, Vassilis Vassiliades, Vaios Papaspyros

### Using the code
## Citing RobotDART

If you use this code in a scientific publication, please use the following citation:

```bibtex
@article{chatzilygeroudis2024robot,
title={{RobotDART: a versatile robot simulator for robotics and machine learning researchers}},
author={Chatzilygeroudis, Konstantinos and Dionis, Totsila and Mouret, Jean-Baptiste},
year={2024},
booktitle={{Preprint (Submitted to JOSS)}}
}
```

## Acknowledgments

This work was supported by the [Hellenic Foundation for Research and Innovation](https://www.elidek.gr/en/homepage/) (H.F.R.I.) under the "3rd Call for H.F.R.I. Research Projects to support Post-Doctoral Researchers" (Project Acronym: NOSALRO, Project Number: 7541).

<p align="center">
<img src="https://www.elidek.gr/wp-content/themes/elidek/images/elidek_logo_en.png" alt="logo_elidek"/>
<p/>

This work was conducted within the [Computational Intelligence Lab](http://cilab.math.upatras.gr/) (CILab), Department of Mathematics, University of Patras, Greece.

<p align="center">
<img src="https://nosalro.github.io/images/logo_cilab.jpg" alt="logo_cilab" width="50%"/>
<img src="https://www.upatras.gr/wp-content/uploads/up_2017_logo_en.png" alt="logo_cilab" width="50%"/>
</p>

<!-- This work was partly supported by the ResiBots ERC Project (http://www.resibots.eu).

<p align="center">
<img src="http://resibots.eu/_static/resibots_logo_black_200px.png" alt="logo_resibots"/>
</p> -->

Please look at the [installation guide](docs/installation.md). You will find detailed guidelines on how to properly install all the dependencies, compile the code and run the examples. There is also a short [tutorial](docs/tutorial.md) where the basics of this small library are explained through coding a small example. Moreover, a small [guide](docs/guide.md) provides a brief overview of the main classes and functionality of the library. Finally, there exist python bindings of the library, located [here](src/python) (see the examples for usage).

## LICENSE
## License

[CeCILL]
[BSD 2-Clause "Simplified" License](https://opensource.org/license/bsd-2-clause/)

[CeCILL]: http://www.cecill.info/index.en.html
[DART]: http://dartsim.github.io/
48 changes: 37 additions & 11 deletions ci/install_dart_latest.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
mkdir -p ~/.deps
cd ~/.deps

python_dist_dir=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(plat_specific=True, prefix=''))")
mkdir -p ~/.dart_install/$python_dist_dir

# Select Compiler
if [ "$COMPILER" = "gcc" ]; then
export CC=/usr/bin/gcc && export CXX=/usr/bin/g++
Expand All @@ -12,26 +6,58 @@ if [ "$COMPILER" = "clang" ]; then
export CC=/usr/bin/clang && export CXX=/usr/bin/clang++
fi

PREFIX=/usr
DEPS_FOLDER=~/.deps
DART_TAG=v6.13.1
SUDOCMD=sudo

PREFIX=${1:-$PREFIX}
DEPS_FOLDER=${2:-$DEPS_FOLDER}
DART_TAG=${3:-$DART_TAG}
SUDOCMD=${4:-$SUDOCMD}

python_dist_dir=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(plat_specific=True, prefix=''))")
${SUDOCMD} mkdir -p ${PREFIX}/$python_dist_dir

mkdir -p ${DEPS_FOLDER}
cd ${DEPS_FOLDER}

if [ ! -d "dart" ]
then
git clone https://github.com/dartsim/dart.git
fi
cd dart
git checkout $DART_TAG
mkdir build
git pull
mkdir -p build
cd build

# Build DART
if [ "$BUILD_PYTHON" = "ON" ]; then
cmake -DDART_BUILD_DARTPY=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=/home/runner/.dart_install ..
cmake -DDART_TREAT_WARNINGS_AS_ERRORS=OFF -DDART_BUILD_DARTPY=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=${PREFIX} ..
else
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=/home/runner/.dart_install ..
cmake -DDART_TREAT_WARNINGS_AS_ERRORS=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=${PREFIX} ..
fi
make -j4
sudo make install
${SUDOCMD} make install

# We are inside the CI
if [ "$PREFIX" = "/home/runner/.dart_install" ]; then
sudo ldconfig
cd $CI_HOME

# Hack for dartpy installation
python_file=/usr/lib/python3/dist-packages/dartpy.cpython-310-x86_64-linux-gnu.so
if [ -f "$python_file" ]; then
cp $python_file ~/.dart_install/$python_dist_dir
cp $python_file ${PREFIX}/$python_dist_dir
fi

else
# Hack for dartpy installation
python_dot_version=$(python -c "import sys; print('.'.join(str(s) for s in sys.version_info[:2]))")
python_version=$(python -c "import sys; print(''.join(str(s) for s in sys.version_info[:2]))")
python_global_install=/usr/lib/python${python_dot_version}/site-packages/dartpy.cpython-${python_version}-x86_64-linux-gnu.so
if [ -f "$python_global_install" ]; then
${SUDOCMD} mv $python_global_install ${PREFIX}/$python_dist_dir
fi
fi
Loading