Skip to content

feat(plate-balancing) : Support plate-balancing example in dairlib #10

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

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

Meow404
Copy link
Collaborator

@Meow404 Meow404 commented Jun 23, 2025

Fixes : #11
Support for : DAIRLab/dairlib#376

This change is Reviewable

@Meow404 Meow404 changed the base branch from main to stephen/lcs-drake-factory-leaf-system June 23, 2025 16:40
@Meow404 Meow404 linked an issue Jun 23, 2025 that may be closed by this pull request
@Meow404 Meow404 force-pushed the stephen/dairlib-plate-balancing-example branch from 57cd440 to 1bcc69c Compare June 26, 2025 01:07
@Meow404 Meow404 force-pushed the stephen/lcs-drake-factory-leaf-system branch from 3c1e562 to bbd5e25 Compare June 26, 2025 17:05
@Meow404 Meow404 force-pushed the stephen/dairlib-plate-balancing-example branch from 1bcc69c to e1f2869 Compare June 26, 2025 17:11
@xuanhien070594
Copy link
Contributor

core/configs/solve_options_default.hpp line 3 at r1 (raw file):

#pragma once
#include <string>
const std::string default_solver_options =

I'm confused about why we use yaml string here instead of normal yaml.

@xuanhien070594
Copy link
Contributor

systems/publishers/output_publisher.h line 46 at r1 (raw file):

              c3::lcmt_output* output) const;

  //  void OutputNextC3Input(const drake::systems::Context<double>& context,

Pls remove commented codes.

@xuanhien070594
Copy link
Contributor

systems/publishers/force_publisher.h line 16 at r1 (raw file):

namespace systems {
namespace publishers {
class ContactForcePublisher : public drake::systems::LeafSystem<double> {

Missing documentation

@xuanhien070594
Copy link
Contributor

systems/publishers/force_publisher.cc line 16 at r1 (raw file):

namespace systems {
namespace publishers {
ContactForcePublisher::ContactForcePublisher() {

We'll need some documentation for input ports and output ports.

@Meow404 Meow404 force-pushed the stephen/dairlib-plate-balancing-example branch from e1f2869 to 720d12b Compare June 27, 2025 21:49
@Meow404 Meow404 changed the base branch from stephen/lcs-drake-factory-leaf-system to main June 27, 2025 22:58
@Meow404 Meow404 self-assigned this Jun 29, 2025
@xuanhien070594
Copy link
Contributor

systems/publishers/output_publisher.h line 17 at r2 (raw file):

namespace publishers {
/// Converts a OutputVector object to LCM type lcmt_robot_output
class C3OutputPublisher : public drake::systems::LeafSystem<double> {

Pls add documentation.

@xuanhien070594
Copy link
Contributor

systems/publishers/force_publisher.cc line 46 at r2 (raw file):

  MatrixXd J_c = contact_info->first;
  int contact_force_start = solution->lambda_sol_.rows() - J_c.rows();
  bool using_stewart_and_trinkle_model = contact_force_start > 0;

Using the difference in dimension of lambda and number of force basis to determine the contact model is generally not a safe way. Could we store the type of contact model in the C3Solution?

@Meow404 Meow404 force-pushed the stephen/dairlib-plate-balancing-example branch from a1a373d to 80dd8e5 Compare June 30, 2025 13:48
@Meow404
Copy link
Collaborator Author

Meow404 commented Jun 30, 2025

FYI, building with different drake versions doesnt seem to be an issue so far between dairlib and c3.

Copy link
Collaborator Author

@Meow404 Meow404 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewable status: 0 of 19 files reviewed, 6 unresolved discussions (waiting on @xuanhien070594)


systems/publishers/force_publisher.h line 16 at r1 (raw file):

Previously, xuanhien070594 (Hien Bui) wrote…

Missing documentation

Done.


systems/publishers/force_publisher.cc line 16 at r1 (raw file):

Previously, xuanhien070594 (Hien Bui) wrote…

We'll need some documentation for input ports and output ports.

Done.


systems/publishers/output_publisher.h line 46 at r1 (raw file):

Previously, xuanhien070594 (Hien Bui) wrote…

Pls remove commented codes.

Done.


systems/publishers/output_publisher.h line 17 at r2 (raw file):

Previously, xuanhien070594 (Hien Bui) wrote…

Pls add documentation.

Done.

@xuanhien070594
Copy link
Contributor

lcmtypes/lcmt_forces.lcm line 1 at r3 (raw file):

package c3;

Should the name be lcmt_contact_forces.lcm?

@Meow404 Meow404 force-pushed the stephen/dairlib-plate-balancing-example branch 3 times, most recently from cff8615 to 0ff39d9 Compare July 9, 2025 17:55
@Meow404 Meow404 marked this pull request as ready for review July 9, 2025 18:01
@Meow404 Meow404 changed the title [WIP] feat(plate-balancing) : Support plate-balancing example in dairlib feat(plate-balancing) : Support plate-balancing example in dairlib Jul 9, 2025
@Meow404 Meow404 requested a review from xuanhien070594 July 9, 2025 18:02
@Meow404 Meow404 force-pushed the stephen/dairlib-plate-balancing-example branch from 0ff39d9 to 207d6ab Compare July 10, 2025 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Plate-balancing example
2 participants