diff --git a/flake.lock b/flake.lock index ad853d0..0ea652f 100644 --- a/flake.lock +++ b/flake.lock @@ -36,35 +36,84 @@ "type": "github" } }, - "gazebros2nix": { + "flakoboros": { "inputs": { "flake-parts": "flake-parts", - "gepetto-lib": "gepetto-lib", "nix-ros-overlay": "nix-ros-overlay", "nixpkgs": [ "gepetto", "gazebros2nix", + "flakoboros", "nix-ros-overlay", "nixpkgs" ], - "pyproject-build-systems": "pyproject-build-systems", - "pyproject-nix": "pyproject-nix", "systems": [ "gepetto", "gazebros2nix", + "flakoboros", "nix-ros-overlay", "flake-utils", "systems" ], - "treefmt-nix": "treefmt-nix", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1774365635, + "narHash": "sha256-QjJ/CURzUwkO54xMKmGS1U4q+dog3KNQotxUtJ+JFz8=", + "owner": "gepetto", + "repo": "flakoboros", + "rev": "a42bc6287c3f47a7f2aea0699a344df22426e581", + "type": "github" + }, + "original": { + "owner": "gepetto", + "repo": "flakoboros", + "type": "github" + } + }, + "gazebros2nix": { + "inputs": { + "flake-parts": [ + "gepetto", + "gazebros2nix", + "flakoboros", + "flake-parts" + ], + "flakoboros": "flakoboros", + "nix-ros-overlay": [ + "gepetto", + "gazebros2nix", + "flakoboros", + "nix-ros-overlay" + ], + "nixpkgs": [ + "gepetto", + "gazebros2nix", + "flakoboros", + "nixpkgs" + ], + "pyproject-build-systems": "pyproject-build-systems", + "pyproject-nix": "pyproject-nix", + "systems": [ + "gepetto", + "gazebros2nix", + "flakoboros", + "systems" + ], + "treefmt-nix": [ + "gepetto", + "gazebros2nix", + "flakoboros", + "treefmt-nix" + ], "uv2nix": "uv2nix" }, "locked": { - "lastModified": 1773524302, - "narHash": "sha256-0phiMh2h3tZoe3rJGWWKMMJhuLMMHa65hRtgkzbXBJQ=", + "lastModified": 1774701840, + "narHash": "sha256-WnpLhilp4PxdmQ96N5A5zEuPfkuiC9TVe3oj3Z2PBnQ=", "owner": "gepetto", "repo": "gazebros2nix", - "rev": "0eb9151c41ec370e29d4d4ae1640aa4c6c4aa7a7", + "rev": "cd163a3b5b4f931bf766ac870c36c82246088b60", "type": "github" }, "original": { @@ -80,6 +129,11 @@ "gazebros2nix", "flake-parts" ], + "flakoboros": [ + "gepetto", + "gazebros2nix", + "flakoboros" + ], "gazebros2nix": "gazebros2nix", "home-manager": "home-manager", "nix-ros-overlay": [ @@ -108,11 +162,11 @@ ] }, "locked": { - "lastModified": 1773834979, - "narHash": "sha256-pxEUfvPZG3lMMiorJxKPt0kjjNE2gQDA3w/cRHvSUX4=", + "lastModified": 1774758543, + "narHash": "sha256-5PWMYdUm1Y6eTuKvcd2qFvgCti9A7KAsxgYg1h3LxYU=", "owner": "gepetto", "repo": "nix", - "rev": "57036f98001a3b66384cd68ace974d237e3fa78b", + "rev": "90825881c84bcd2e55255f97f4e3b585b61f0d9e", "type": "github" }, "original": { @@ -121,21 +175,6 @@ "type": "github" } }, - "gepetto-lib": { - "locked": { - "lastModified": 1772454823, - "narHash": "sha256-jROeQxiRkzpHHAWDAxHJVfW/liA+t6JKDyPMJFqUE9E=", - "owner": "Gepetto", - "repo": "nix-lib", - "rev": "4500b5aa6af20c60011926ad6f42238375779c90", - "type": "github" - }, - "original": { - "owner": "Gepetto", - "repo": "nix-lib", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -144,11 +183,11 @@ ] }, "locked": { - "lastModified": 1773681845, - "narHash": "sha256-o8hrZrigP0JYcwnglCp8Zi8jQafWsxbDtRRPzuVwFxY=", + "lastModified": 1774559029, + "narHash": "sha256-deix7yg3j6AhjMPnFDCmWB3f83LsajaaULP5HH2j34k=", "owner": "nix-community", "repo": "home-manager", - "rev": "0759e0e137305bc9d0c52c204c6d8dffe6f601a6", + "rev": "a0bb0d11514f92b639514220114ac8063c72d0a3", "type": "github" }, "original": { @@ -164,11 +203,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1773393994, - "narHash": "sha256-zm24obq1c4ielRR8KlUQ2M5XnNfUIcQjN++9s6CFvxc=", + "lastModified": 1774047596, + "narHash": "sha256-UNT8fGmAm2ZlaktMmiVYPeHgok2IJoCfLg698rO3Kq8=", "owner": "lopsided98", "repo": "nix-ros-overlay", - "rev": "a522c5a050a6d50471a29bbf6a060e2df16abf44", + "rev": "c0659dc45d4c1736d71d5578b17f12e3b1afe190", "type": "github" }, "original": { @@ -249,11 +288,11 @@ ] }, "locked": { - "lastModified": 1772555609, - "narHash": "sha256-3BA3HnUvJSbHJAlJj6XSy0Jmu7RyP2gyB/0fL7XuEDo=", + "lastModified": 1773870109, + "narHash": "sha256-ZoTdqZP03DcdoyxvpFHCAek4bkPUTUPUF3oCCgc3dP4=", "owner": "pyproject-nix", "repo": "build-system-pkgs", - "rev": "c37f66a953535c394244888598947679af231863", + "rev": "b6e74f433b02fa4b8a7965ee24680f4867e2926f", "type": "github" }, "original": { @@ -271,11 +310,11 @@ ] }, "locked": { - "lastModified": 1773190977, - "narHash": "sha256-fkJvOxz80cJViPz6GVaayC8BVCs5fclJ8qHDaNUpoEA=", + "lastModified": 1774498001, + "narHash": "sha256-wTfdyzzrmpuqt4TQQNqilF91v0m5Mh1stNy9h7a/WK4=", "owner": "pyproject-nix", "repo": "pyproject.nix", - "rev": "10ebca8a137bf26b7fbd3e94b339bf68cee18693", + "rev": "794afa6eb588b498344f2eaa36ab1ceb7e6b0b09", "type": "github" }, "original": { @@ -290,6 +329,10 @@ "gepetto", "flake-parts" ], + "flakoboros": [ + "gepetto", + "flakoboros" + ], "gazebros2nix": [ "gepetto", "gazebros2nix" @@ -388,6 +431,7 @@ "nixpkgs": [ "gepetto", "gazebros2nix", + "flakoboros", "nixpkgs" ] }, @@ -419,11 +463,11 @@ ] }, "locked": { - "lastModified": 1773359304, - "narHash": "sha256-knv2C6tIk5ysix+9TxWIenPvpB20kFjQ1CH6SJMBNsU=", + "lastModified": 1774490495, + "narHash": "sha256-a9WmQWj8fF7BctZGCoyzpUjP6GJw8H+lxl+zxpGnETk=", "owner": "pyproject-nix", "repo": "uv2nix", - "rev": "27b135ea72ab1637fc5845a61c101ea66d6636d6", + "rev": "18ae62fc5e389e3069854a7c66455c22e31708fc", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 3bb357d..449907c 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,7 @@ inputs = { gepetto.url = "github:gepetto/nix"; + flakoboros.follows = "gepetto/flakoboros"; gazebros2nix.follows = "gepetto/gazebros2nix"; flake-parts.follows = "gepetto/flake-parts"; nixpkgs.follows = "gepetto/nixpkgs"; @@ -20,7 +21,7 @@ imports = [ inputs.gepetto.flakeModule { - gazebros2nix.overrides.hpp-tutorial = _final: { + flakoboros.overrideAttrs.hpp-tutorial = _: { src = lib.fileset.toSource { root = ./.; fileset = lib.fileset.unions [ diff --git a/tutorial_3/README.md b/tutorial_3/README.md index 761d902..1fc763a 100644 --- a/tutorial_3/README.md +++ b/tutorial_3/README.md @@ -180,6 +180,7 @@ You can visualize `qpg` and `qg` in the graphical interface. We now need to plan a motion between `q_init` and `qpg` and between `qpg` and `qg`, keeping the relevant constraints satisfied. Here the only relevant constraint is that the part should not move. To do so, we will use the `TransitionPlanner` class. This class plans motions along a transition, keeping the constraints of the transition satisfied. The right hand side of the parameterizable constraints of the transition is initialized with the initial configuration. The code below shows how to use this class. ``` +from pyhpp.manipulation import TransitionPlanner planner = TransitionPlanner(problem) planner.maxIterations(1000) for i in range(10):