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

Feature/mpc specific simulation setup #531

Open
wants to merge 17 commits into
base: develop
Choose a base branch
from

Conversation

Beomyeong
Copy link
Member

@Beomyeong Beomyeong commented Dec 13, 2024

Re-work for whole body MPC specific simulation environment.
This branch works for two things.

  1. MPC specific simulation setup to be run independent with regular walking controller
  2. WholeBodyControllerCoreThread is added.

Objectives of this branch are

  • ControllerThread populate mpcControllerOutput to the wholebodycontrollercoreThread(WBCC Thread)
  • MPCControllerOutput is called in WBCC Thread
  • WBCC will be computed in WBCC Thread with MPCControllerOutput
  • Populate the desiredJointOutput to the actuator in the WBCC Thread

It seems like robot shaking with the same tuning weighs.
Doubt is that computing MPC in controllerThread and populating it in WBCC Thread.
I hope calculating WBCC with MPC controllerOutput in WBCC thread solves this issue.

- Adding SCS2AvatarMPCSimulation
- Adding SCS2AvatarMPCSimulationFactory
- Editing MPC specific classes in NadiaMPCSimulation and NadiaMPCSimulationFactory
…Factory.

- Changing the class in NadiaMPCSimulationFactory, SCS2AvatarMPCSimulation and SCS2AvatarMPCSimulationFactory.
- Modifying called class name.
@Beomyeong Beomyeong changed the title Feature/mpc specific simulation setup [WIP] Feature/mpc specific simulation setup Dec 13, 2024
- Adding MPC StepgeneratorThread and task
- wbcc thread is added to the controller. But that thread is still empty, do nothing.
…olTask.

- Changing the parents class for MPCControllerTaks, MPCEstimatorTaks, MPCStepGeneratorTask and MPCWholeBodyControllerCoreTask to MPCHumanoidRobotControlTask.
- boolean of wholebodycontrollercoreRan is added to HumanoidRobotMPCContextData.
…eBodyControllerCoreManager is called in every tick.

- HWBCCM is still empty, so it do nothing.
…lver as parent class.

- MPCControllerTask, MPCWholeBodyControllerCoreTask is connected to the MPCCrossRobotCommandResolver. But the MPCEstimatorTask is still connected to the CrossRobotCommandResolver. Because, its updates to Master and to local has not been changes.
- This data type will contain the result of the mpcController and will be delivered to MPCWholeBodyControllerCoreThread from MPCControllerThread
…HumanoidRobotMPCContextData.

- In HumanoidWholeBodyControllerCoreManager, the desiredMPCControllerOutput is called and then saved into `desiredJointOutput`which is populated into actuator.
@Beomyeong Beomyeong changed the title [WIP] Feature/mpc specific simulation setup Feature/mpc specific simulation setup Dec 14, 2024
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.

1 participant