From ce492698ecc7f7ab34975b428b94fefb0d1a520f Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Tue, 1 Oct 2024 14:59:37 -0400 Subject: [PATCH 1/9] add gtsam:: namespace to all Matrix and Vector declarations --- gtdynamics.i | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/gtdynamics.i b/gtdynamics.i index a8894891..836fcc03 100644 --- a/gtdynamics.i +++ b/gtdynamics.i @@ -138,7 +138,8 @@ class ContactHeightFactor : gtsam::NoiseModelFactor { class Link { Link(); Link(int id, const string &name, const double mass, - const Matrix &inertia, const gtsam::Pose3 &bMcom, const gtsam::Pose3 &bMlink, bool is_fixed = false) ; + const gtsam::Matrix &inertia, const gtsam::Pose3 &bMcom, + const gtsam::Pose3 &bMlink, bool is_fixed = false); gtdynamics::Link *shared(); int id() const; @@ -152,7 +153,7 @@ class Link { string name() const; double mass() const; const gtsam::Pose3 ¢erOfMass(); - const Matrix &inertia(); + const gtsam::Matrix &inertia(); gtsam::Matrix6 inertiaMatrix(); void print(const std::string &s = "") const; @@ -191,22 +192,22 @@ virtual class Joint { gtsam::Pose3 pMc() const; string name() const; gtdynamics::Type type() const; - const Vector& pScrewAxis() const; - const Vector& cScrewAxis() const; - Vector screwAxis(const gtdynamics::Link *link) const; + const gtsam::Vector &pScrewAxis() const; + const gtsam::Vector &cScrewAxis() const; + gtsam::Vector screwAxis(const gtdynamics::Link *link) const; gtsam::Key key() const; string name() const; - gtdynamics::Link* otherLink(const gtdynamics::Link* link); - std::vector links() const; - gtdynamics::Link* parent() const; - gtdynamics::Link* child() const; + gtdynamics::Link *otherLink(const gtdynamics::Link *link); + std::vector links() const; + gtdynamics::Link *parent() const; + gtdynamics::Link *child() const; }; virtual class RevoluteJoint : gtdynamics::Joint { RevoluteJoint( int id, const string &name, const gtsam::Pose3 &wTj, const gtdynamics::Link *parent_link, const gtdynamics::Link *child_link, - const Vector &axis, + const gtsam::Vector &axis, const gtdynamics::JointParams ¶meters = gtdynamics::JointParams()); void print(const string &s = "") const; }; @@ -215,7 +216,7 @@ virtual class PrismaticJoint : gtdynamics::Joint { PrismaticJoint( int id, const string &name, const gtsam::Pose3 &wTj, const gtdynamics::Link *parent_link, const gtdynamics::Link *child_link, - const Vector &axis, + const gtsam::Vector &axis, const gtdynamics::JointParams ¶meters = gtdynamics::JointParams()); void print(const string &s = "") const; }; @@ -224,7 +225,7 @@ virtual class HelicalJoint : gtdynamics::Joint { HelicalJoint( int id, const string &name, const gtsam::Pose3 &wTj, const gtdynamics::Link *parent_link, const gtdynamics::Link *child_link, - const Vector &axis, double thread_pitch, + const gtsam::Vector &axis, double thread_pitch, const gtdynamics::JointParams ¶meters = gtdynamics::JointParams()); void print(const string &s = "") const; }; @@ -512,19 +513,19 @@ class DynamicsGraph { const gtdynamics::Robot &robot, const int t, const string &link_name, const gtsam::Pose3 &target_pose) const; - static Vector jointAccels(const gtdynamics::Robot &robot, + static gtsam::Vector jointAccels(const gtdynamics::Robot &robot, const gtsam::Values &result, const int t); /* return joint velocities. */ - static Vector jointVels(const gtdynamics::Robot &robot, + static gtsam::Vector jointVels(const gtdynamics::Robot &robot, const gtsam::Values &result, const int t); /* return joint angles. */ - static Vector jointAngles(const gtdynamics::Robot &robot, + static gtsam::Vector jointAngles(const gtdynamics::Robot &robot, const gtsam::Values &result, const int t); /* return joint torques. */ - static Vector jointTorques(const gtdynamics::Robot &robot, + static gtsam::Vector jointTorques(const gtdynamics::Robot &robot, const gtsam::Values &result, const int t); static gtdynamics::JointValueMap jointAccelsMap(const gtdynamics::Robot &robot, From 8a418a5c5bcdd64d9d70ef46d14172cea2953ec0 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Mon, 7 Oct 2024 16:28:52 -0400 Subject: [PATCH 2/9] first install and then test --- .github/workflows/python-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index 4dafdb45..1fbeade8 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -142,10 +142,10 @@ jobs: run: make -j4 working-directory: ./build - - name: Test - run: make -j4 python-test - working-directory: ./build - - name: Install run: sudo make -j4 python-install working-directory: ./build + + - name: Test + run: make -j4 python-test + working-directory: ./build From 66608f8ff8c5c3390ad5c41decd2e38974cb4e72 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Mon, 7 Oct 2024 17:00:23 -0400 Subject: [PATCH 3/9] install pybind11-stubgen as a CI dependency --- .github/workflows/python-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index 1fbeade8..794c9db9 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -88,7 +88,7 @@ jobs: - name: Python Dependencies run: | # Install dependencies for gtwrap - pip3 install -U pip setuptools numpy pyparsing pyyaml + pip3 install -U pip setuptools numpy pyparsing pyyaml "pybind11-stubgen>=2.5.1" - name: GTSAM (Linux) if: runner.os == 'Linux' From dba9d77d4742f072abc0456010effa59d7da7e73 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Mon, 7 Oct 2024 19:07:15 -0400 Subject: [PATCH 4/9] remove versioning for pybind11-stubgen --- .github/workflows/python-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index 794c9db9..df1eeeba 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -88,7 +88,7 @@ jobs: - name: Python Dependencies run: | # Install dependencies for gtwrap - pip3 install -U pip setuptools numpy pyparsing pyyaml "pybind11-stubgen>=2.5.1" + pip3 install -U pip setuptools numpy pyparsing pyyaml pybind11-stubgen - name: GTSAM (Linux) if: runner.os == 'Linux' From 81a9080c1a676019ebfbb98a469bae08b513fe58 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Mon, 7 Oct 2024 19:31:47 -0400 Subject: [PATCH 5/9] debug stubgen --- .github/workflows/python-ci.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index df1eeeba..551d57bf 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -88,7 +88,7 @@ jobs: - name: Python Dependencies run: | # Install dependencies for gtwrap - pip3 install -U pip setuptools numpy pyparsing pyyaml pybind11-stubgen + pip3 install -U pip setuptools numpy pyparsing pyyaml "pybind11-stubgen>=2.5.1" - name: GTSAM (Linux) if: runner.os == 'Linux' @@ -100,6 +100,11 @@ jobs: # Build & Install gtsam mkdir build && cd $_ cmake -D GTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DGTSAM_BUILD_PYTHON=ON .. + + pip3 list + pip3 show pybind11-stubgen + pybind11-stubgen -h + sudo make -j$(nproc) install && sudo make python-install sudo ldconfig From 39e9fc58667890c8dc358c45864587c2758624fb Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Mon, 7 Oct 2024 19:51:17 -0400 Subject: [PATCH 6/9] more debugging --- .github/workflows/python-ci.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index 551d57bf..86236321 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -101,11 +101,12 @@ jobs: mkdir build && cd $_ cmake -D GTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DGTSAM_BUILD_PYTHON=ON .. - pip3 list - pip3 show pybind11-stubgen - pybind11-stubgen -h + which python + `which python` -V + cat CMakeCache.txt - sudo make -j$(nproc) install && sudo make python-install + sudo make -j$(nproc) install + sudo make python-install sudo ldconfig cd $GITHUB_WORKSPACE # go back to home directory From b536c2d45be4b6e45ec0ce98a9306273e3897545 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Mon, 7 Oct 2024 20:17:19 -0400 Subject: [PATCH 7/9] try again --- .github/workflows/python-ci.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index 86236321..b0be9dc2 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -101,11 +101,7 @@ jobs: mkdir build && cd $_ cmake -D GTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DGTSAM_BUILD_PYTHON=ON .. - which python - `which python` -V - cat CMakeCache.txt - - sudo make -j$(nproc) install + sudo make -j6 install sudo make python-install sudo ldconfig From 016f78a5e479a896a8850995438ae8f27cb546ad Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Mon, 7 Oct 2024 22:27:30 -0400 Subject: [PATCH 8/9] add ssh tunnel for debugging --- .github/workflows/python-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index b0be9dc2..880091bf 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -90,6 +90,9 @@ jobs: # Install dependencies for gtwrap pip3 install -U pip setuptools numpy pyparsing pyyaml "pybind11-stubgen>=2.5.1" + - name: Setup upterm session + uses: lhotari/action-upterm@v1 + - name: GTSAM (Linux) if: runner.os == 'Linux' run: | From d4708648ed0f926cd1fe0af42556c0a724268be2 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Tue, 8 Oct 2024 09:30:40 -0400 Subject: [PATCH 9/9] remove sudo from make python-install --- .github/workflows/python-ci.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index 880091bf..6f3599a5 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -90,9 +90,6 @@ jobs: # Install dependencies for gtwrap pip3 install -U pip setuptools numpy pyparsing pyyaml "pybind11-stubgen>=2.5.1" - - name: Setup upterm session - uses: lhotari/action-upterm@v1 - - name: GTSAM (Linux) if: runner.os == 'Linux' run: | @@ -103,9 +100,7 @@ jobs: # Build & Install gtsam mkdir build && cd $_ cmake -D GTSAM_BUILD_EXAMPLES_ALWAYS=OFF -DGTSAM_BUILD_PYTHON=ON .. - - sudo make -j6 install - sudo make python-install + sudo make -j$(nproc) install && make python-install sudo ldconfig cd $GITHUB_WORKSPACE # go back to home directory