Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
4c4fe1d
Reorganization of the tutorials.
florent-lamiraux Feb 18, 2026
a8eaac1
[urdf] Add Stabli-TX2-90 holding a drill.
florent-lamiraux Mar 3, 2026
4f6e852
Add tutorial 3.
florent-lamiraux Mar 5, 2026
e41ca32
Add tutorial 4.
florent-lamiraux Mar 18, 2026
4d8809e
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 18, 2026
bbe3d30
flake.lock: Update
nim65s Mar 18, 2026
cdb4144
[tutorial_1] download files from official repository.
florent-lamiraux Mar 18, 2026
bcac8be
[tutorial_3] Remove useless files.
florent-lamiraux Mar 18, 2026
4ff0507
Merge pull request #159 from florent-lamiraux/devel
nim65s Mar 18, 2026
ffa16f8
[tutorial 2] Typo.
florent-lamiraux Mar 19, 2026
05a4009
[tutorial_1] Add hpp-toppra in Makefile.
florent-lamiraux Mar 19, 2026
5ab0794
[tutorial 1] Simplify Dockerfile.
florent-lamiraux Mar 19, 2026
fc892bf
[doc] Remove old documentation.
florent-lamiraux Mar 20, 2026
cbe8f8b
Create README for tutorial_[5|6]
florent-lamiraux Mar 20, 2026
748faf6
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 20, 2026
5a88010
[tutorial_2] Import Viewer in init.py
florent-lamiraux Mar 24, 2026
4db1f16
[tutorial_1] Install viser by pip in docker image.
florent-lamiraux Mar 24, 2026
e86e7b4
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 24, 2026
ac90b2e
[tutorial_2] Reintroduce removed import.
florent-lamiraux Mar 25, 2026
7635b49
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 25, 2026
0087f6f
[tutorial 3] Import missing symbol.
florent-lamiraux Mar 31, 2026
8bc71dd
nix: switch to flakoboros
nim65s Mar 31, 2026
f2a694f
sync with gepetto/nix template
nim65s Apr 6, 2026
eeec9d8
flake.lock: Update
nim65s Apr 6, 2026
0f59642
prek run -a
nim65s Apr 6, 2026
d94b064
Merge pull request #164 from humanoid-path-planner/update-template
nim65s Apr 6, 2026
8e05fd8
sync with gepetto/nix template
nim65s Apr 16, 2026
51eaf35
flake.lock: Update
nim65s Apr 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
5 changes: 3 additions & 2 deletions .github/workflows/nix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,13 @@ jobs:
nix:
runs-on: "${{ matrix.os }}-latest"
strategy:
fail-fast: false
matrix:
os: [ubuntu]
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: cachix/install-nix-action@v31
- uses: cachix/cachix-action@v16
- uses: cachix/cachix-action@v17
with:
name: gepetto
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/update-flake-lock.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
name: update-flake-lock

on:
workflow_dispatch:
schedule:
- cron: '0 18 1 * *'

jobs:
update-flake-inputs:
runs-on: ubuntu-slim
Expand All @@ -14,7 +12,7 @@ jobs:
steps:
- name: Generate GitHub App Token
id: app-token
uses: actions/create-github-app-token@v2
uses: actions/create-github-app-token@v3
with:
app-id: ${{ secrets.GEPETTO_NIX_APP_ID }}
private-key: ${{ secrets.GEPETTO_NIX_APP_PRIVATE_KEY }}
Expand Down
78 changes: 37 additions & 41 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,44 +1,40 @@
ci:
autoupdate_schedule: quarterly
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.5
hooks:
- id: ruff
args:
- --fix
- --exit-non-zero-on-fix
- id: ruff-format
- repo: https://github.com/cheshirekow/cmake-format-precommit
rev: v0.6.13
hooks:
- id: cmake-format
- repo: https://github.com/pappasam/toml-sort
rev: v0.24.3
hooks:
- id: toml-sort-fix
exclude: poetry.lock
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v22.1.0
hooks:
- id: clang-format
args:
- --style=Google
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: check-added-large-files
- id: check-ast
- id: check-executables-have-shebangs
- id: check-json
- id: check-merge-conflict
- id: check-symlinks
- id: check-toml
- id: check-yaml
- id: debug-statements
- id: destroyed-symlinks
- id: detect-private-key
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: mixed-line-ending
- id: trailing-whitespace
- repo: https://github.com/BlankSpruce/gersemi-pre-commit
rev: 0.27.1
hooks:
- id: gersemi
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.10
hooks:
- id: ruff-check
- id: ruff-format
- repo: https://github.com/pappasam/toml-sort
rev: v0.24.4
hooks:
- id: toml-sort-fix
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v22.1.3
hooks:
- id: clang-format
args:
- --style=Google
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: check-added-large-files
- id: check-ast
- id: check-executables-have-shebangs
- id: check-json
- id: check-merge-conflict
- id: check-symlinks
- id: check-toml
- id: check-yaml
- id: debug-statements
- id: destroyed-symlinks
- id: detect-private-key
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: mixed-line-ending
- id: trailing-whitespace
107 changes: 40 additions & 67 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,32 @@ set(CXX_DISABLE_WERROR TRUE)
# Check if the submodule cmake have been initialized
set(JRL_CMAKE_MODULES "${CMAKE_CURRENT_LIST_DIR}/cmake")
if(EXISTS "${JRL_CMAKE_MODULES}/base.cmake")
message(STATUS "JRL cmakemodules found in 'cmake/' git submodule")
message(STATUS "JRL cmakemodules found in 'cmake/' git submodule")
else()
find_package(jrl-cmakemodules QUIET CONFIG)
if(jrl-cmakemodules_FOUND)
get_property(
JRL_CMAKE_MODULES
TARGET jrl-cmakemodules::jrl-cmakemodules
PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
message(STATUS "JRL cmakemodules found on system at ${JRL_CMAKE_MODULES}")
else()
message(STATUS "JRL cmakemodules not found. Let's fetch it.")
include(FetchContent)
FetchContent_Declare(
"jrl-cmakemodules"
GIT_REPOSITORY "https://github.com/jrl-umi3218/jrl-cmakemodules.git")
FetchContent_MakeAvailable("jrl-cmakemodules")
FetchContent_GetProperties("jrl-cmakemodules" SOURCE_DIR JRL_CMAKE_MODULES)
endif()
find_package(jrl-cmakemodules QUIET CONFIG)
if(jrl-cmakemodules_FOUND)
get_property(
JRL_CMAKE_MODULES
TARGET jrl-cmakemodules::jrl-cmakemodules
PROPERTY INTERFACE_INCLUDE_DIRECTORIES
)
message(
STATUS
"JRL cmakemodules found on system at ${JRL_CMAKE_MODULES}"
)
else()
message(STATUS "JRL cmakemodules not found. Let's fetch it.")
include(FetchContent)
FetchContent_Declare(
"jrl-cmakemodules"
GIT_REPOSITORY "https://github.com/jrl-umi3218/jrl-cmakemodules.git"
)
FetchContent_MakeAvailable("jrl-cmakemodules")
FetchContent_GetProperties(
"jrl-cmakemodules"
SOURCE_DIR JRL_CMAKE_MODULES
)
endif()
endif()

include("${JRL_CMAKE_MODULES}/hpp.cmake")
Expand All @@ -49,50 +57,30 @@ include("${JRL_CMAKE_MODULES}/python.cmake")
compute_project_args(PROJECT_ARGS LANGUAGES CXX)
project(${PROJECT_NAME} ${PROJECT_ARGS})

add_project_dependency("hpp-manipulation-corba" REQUIRED)
add_project_dependency("hpp-manipulation" REQUIRED)
add_project_dependency("example-robot-data" REQUIRED)
add_project_dependency("hpp-gepetto-viewer" REQUIRED)

if(NOT FINDPYTHON_ALREADY_CALLED)
findpython()
findpython()
endif()

add_subdirectory(src)

set(CATKIN_PACKAGE_SHARE_DESTINATION
${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME})
${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}
)

install(
FILES urdf/box.urdf
urdf/cup.urdf
urdf/door.urdf
urdf/kitchen_area.urdf
urdf/kitchen_area_obstacle.urdf
urdf/box_color.urdf
urdf/rod.urdf
urdf/table.urdf
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/urdf)
install(FILES srdf/box.srdf srdf/cup.srdf srdf/kitchen_area.srdf srdf/rod.srdf
srdf/door.srdf srdf/table.srdf
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/srdf)
install(FILES meshes/box.dae
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/meshes)
install(FILES src/hpp/corbaserver/pr2/robot.py
src/hpp/corbaserver/pr2/__init__.py
DESTINATION ${PYTHON_SITELIB}/hpp/corbaserver/pr2)
install(FILES src/hpp/corbaserver/rod/robot.py
src/hpp/corbaserver/rod/__init__.py
DESTINATION ${PYTHON_SITELIB}/hpp/corbaserver/rod)
install(FILES src/hpp/corbaserver/manipulation/pr2/robot.py
src/hpp/corbaserver/manipulation/pr2/__init__.py
DESTINATION ${PYTHON_SITELIB}/hpp/corbaserver/manipulation/pr2)
install(DIRECTORY urdf DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
install(DIRECTORY srdf DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
install(DIRECTORY meshes DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})

install(
FILES Media/models/meshes/glasses/__Color_A05_4.png
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/Media/models/meshes/glasses)
FILES Media/models/meshes/glasses/__Color_A05_4.png
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/Media/models/meshes/glasses
)

install(
FILES Media/materials/textures/ganz_rechts_neben_kuecheninsel.png
FILES
Media/materials/textures/ganz_rechts_neben_kuecheninsel.png
Media/materials/textures/hinter_shopschraenken_an_saeule.png
Media/materials/textures/wallpaper_ai_unihb.png
Media/materials/textures/stove.png
Expand All @@ -104,23 +92,8 @@ install(
Media/materials/textures/wallpaper.png
Media/materials/textures/sink.png
Media/materials/textures/mittig_neben_roboterplakat.png
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/Media/materials/textures)

# Installation for documentation
if(INSTALL_DOCUMENTATION)
install(
FILES urdf/box.urdf
DESTINATION
${CMAKE_INSTALL_DATAROOTDIR}/doc/${PROJECT_NAME}/doxygen-html/urdf)
install(
FILES script/tutorial_1.py script/tutorial_2.py script/tutorial_3.py
script/tutorial_4.py
DESTINATION
${CMAKE_INSTALL_DATAROOTDIR}/doc/${PROJECT_NAME}/doxygen-html/script)
endif(INSTALL_DOCUMENTATION)
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/Media/materials/textures
)

add_library(${PROJECT_NAME} INTERFACE)
install(
TARGETS ${PROJECT_NAME}
EXPORT ${TARGETS_EXPORT_NAME}
DESTINATION lib)
install(TARGETS ${PROJECT_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION lib)
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Tutorial for humanoid path planner platform.

This package provides some tutorials to learn how to use [Humanoid Path Planner](https://humanoid-path-planner.github.io/hpp-doc) software.
The various tutorials are:

1. [tutorial 1](./tutorial_1/README.md) How to install and run the software.
2. [tutorial 2](./tutorial_2/README.md) How to define and solve a simple pick and place problem.
3. [tutorial 3](./tutorial_3/README.md) How to use HPP in manufacturing.
4. [tutorial 4](./tutorial_4/README.md) How to control the trajectory of a tool.
5. [tutorial 5](./tutorial_5/README.md) How to optimize and time-parameterize paths.
6. [tutorial 6](./tutorial_6/README.md) How to execute motions on a real robot.

[![Pipeline status](https://gitlab.laas.fr/humanoid-path-planner/hpp_tutorial/badges/master/pipeline.svg)](https://gitlab.laas.fr/humanoid-path-planner/hpp_tutorial/commits/master)
[![Coverage report](https://gitlab.laas.fr/humanoid-path-planner/hpp_tutorial/badges/master/coverage.svg?job=doc-coverage)](https://gepettoweb.laas.fr/doc/humanoid-path-planner/hpp_tutorial/master/coverage/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
Expand Down
2 changes: 1 addition & 1 deletion doc/Doxyfile.extra.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ TAGFILES = @HPP_CORE_DOXYGENDOCDIR@/hpp-core.doxytag=@HPP_CORE_DOXYGENDOCDIR@ \
@HPP_MANIPULATION_DOXYGENDOCDIR@/hpp-manipulation.doxytag=@HPP_MANIPULATION_DOXYGENDOCDIR@ \
@HPP_MANIPULATION_CORBA_DOXYGENDOCDIR@/hpp-manipulation-corba.doxytag=@HPP_MANIPULATION_CORBA_DOXYGENDOCDIR@ \

INPUT=@CMAKE_SOURCE_DIR@/include @CMAKE_SOURCE_DIR@/src/hpp/corbaserver/pr2/robot.py
INPUT=@CMAKE_SOURCE_DIR@/include

IMAGE_PATH = @CMAKE_SOURCE_DIR@/doc/figures
USE_MATHJAX= YES
Loading