sit_down
Command the Unitree Go2 robot to sit down using natural language, which is translated into ROS2 instructions for precise execution.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Input Schema (JSON Schema)
{
"properties": {},
"title": "sit_downArguments",
"type": "object"
}
Implementation Reference
- server.py:94-98 (handler)MCP tool handler and registration for 'sit_down'. It calls the WirelessController's sit_down method, stops the controller, and returns the message.@mcp.tool() def sit_down(): _, msg = wirelesscontroller.sit_down() wirelesscontroller.stop() return msg
- msgs/wirelesscontroller.py:75-77 (helper)Core implementation of sit_down in WirelessController class. Stands up from a fall and publishes custom movement with keys=513 to make the robot sit down.def sit_down(self): self.stand_up_from_a_fall() return self._customised_movements(keys=513)
- msgs/wirelesscontroller.py:52-53 (helper)Helper method called by sit_down to stand up using specific keys before sitting.def stand_up_from_a_fall(self): return self._customised_movements(keys=1056)
- msgs/wirelesscontroller.py:42-50 (helper)Underlying helper that publishes WirelessController ROS2 messages with specified keys for custom robot movements.def _customised_movements(self, keys: int, rate: int = None, times: int = 5) -> tuple[bool, Any]: rate = rate if rate is not None else self.rate rate_opt = f"-r {rate} --times {times}" command = ( f"source {self.setup_sh_path} && " f"ros2 topic pub {self.topic} {self.msg_type} " f"'{{lx: 0.0, ly: 0.0, rx: 0.0, ry: 0.0, keys: {keys}}}' {rate_opt}" ) return self.execute(command)