Skip to content

Conversation

@wdc3iii
Copy link
Collaborator

@wdc3iii wdc3iii commented Nov 12, 2025

Refactored the Unitree FSM with several improvements, including

  • Update UnitreeSDK2 to most recent release version.
  • Implemented button layers, customizable FSM buttons, and joystick passthrough on the unitree joystick.
  • Implemented motor logging
  • Fixed humanoid example executable (sim xml files were old).
  • Enters the low level control by default, and only allows high -> low transition.
  • Changed 'user pose' setup to match other publishing/subscription styles, in terms of joint names.
  • Allowed programmatic discovery of the network interface, give a known IP address.

Copy link
Collaborator

@Zolkin1 Zolkin1 left a comment

Choose a reason for hiding this comment

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

Overall looks good. just a few questions

# ----- High Level/Execution FSM Controller ----- #
- pkg: obelisk_unitree_cpp
executable: obelisk_unitree_joystick
# params:
Copy link
Collaborator

Choose a reason for hiding this comment

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

Should we just delete these? Or do we want to keep them commented out?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Can even uncomment them, they work and will be used often downstream. Doesn't really matter for this script.Could also remove.

Copy link
Collaborator

Choose a reason for hiding this comment

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

You wanna remove this one and the next one? Then we can merge

executable: obelisk_unitree_go2_hardware
params:
network_interface_name: enp4s0 #enx001cc24ce09a
network_interface_name: enx6c1ff724e92e
Copy link
Collaborator

Choose a reason for hiding this comment

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

We could remove this entirely now, right?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

You can still pass the network interface if you prefer (but I would still remove this). It looks for network interface first, then ip address. I would remove.

Copy link
Collaborator

Choose a reason for hiding this comment

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

You wanna go ahead and remove this one too?

Copy link
Collaborator

@Zolkin1 Zolkin1 left a comment

Choose a reason for hiding this comment

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

lgtm. just remove the two parts in the comments then feel free to merge.

# ----- High Level/Execution FSM Controller ----- #
- pkg: obelisk_unitree_cpp
executable: obelisk_unitree_joystick
# params:
Copy link
Collaborator

Choose a reason for hiding this comment

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

You wanna remove this one and the next one? Then we can merge

executable: obelisk_unitree_go2_hardware
params:
network_interface_name: enp4s0 #enx001cc24ce09a
network_interface_name: enx6c1ff724e92e
Copy link
Collaborator

Choose a reason for hiding this comment

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

You wanna go ahead and remove this one too?

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.

3 participants