Skip to content

Feature/rl framework integration#858

Open
jgueldenstein wants to merge 4 commits into
mainfrom
feature/rl_framework_integration
Open

Feature/rl framework integration#858
jgueldenstein wants to merge 4 commits into
mainfrom
feature/rl_framework_integration

Conversation

@jgueldenstein
Copy link
Copy Markdown
Member

@jgueldenstein jgueldenstein commented May 13, 2026

Summary

integrate the mujoco playground trained walk in the bitbots_rl_motion framework

includes some changes from #832

Checklist

  • Run pixi run build
  • Test on your machine

@jaagut jaagut moved this from 🆕 New to 👀 In review in Software May 13, 2026
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This has just been changed yesterday in #842

What is this?

<arg name="viz" default="false"/>
<arg name="torqueless_mode" default="false" description="start without torque, for example for testing the falling detection"/>
<arg name="tts" default="true" description="Whether to enable text-to-speech"/>
<arg name="tts" default="false" description="Whether to enable text-to-speech"/>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why is this disabled now?

<arg name="walking" default="true" description="start walking" />
<arg name="torqueless_mode" default="false" description="start without torque, for example for testing the falling detection"/>
<arg name="tts" default="true" description="Whether to speak" />
<arg name="rl_motion" default="true" description="Whether to use the RL motion system instead of the regular one" />
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What is the regular one in this case. It seems to replace the other one.

<arg name="teamcom" default="false" description="Whether the team communication system should be started" />
<arg name="vision" default="true" description="Whether the vision system should be started" />
<arg name="world_model" default="true" description="Whether the world model should be started"/>
<arg name="rl_motion" default="true" description="Whether to use the RL motion system instead of the regular one" />
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Same here.

def get_velocity_data(self):
def get_velocity_data(self) -> np.ndarray:
assert self._joint_state is not None
if self._joint_state_indices is None:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This my might be dangerous in some situations if e.g. some joint states are missing later on and the array gets shifted. Probably it's fine with the way we communicate with the motors, but I don't think the optimization safes that much compared to a potentially hard to debug issue.

@@ -0,0 +1,59 @@
import numpy as np
from handlers.ball_handler import BallHandler
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is this needed for the mjlab walk?

def allowed_states(self):
allowed_to_move = self._robot_state_handler.is_walkable() and np.any(self._command_handler.get_command() != 0.0)
return allowed_to_move
return self._robot_state_handler.is_walkable()
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We might need to think a bit about the robot states and how we integrate the kick. Also how we trigger a state change in the HCM for the kick. But we need to think about the kick interface for that. A topic based solution seems fine, but I have some concerns on how we go back to the walking after the kick for example. Especially how exactly we integrate this with the hcm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

3 participants