stand_up_from_a_fall
Enables the Unitree Go2 robot to autonomously recover from a fall by executing ROS2-based commands, ensuring it stands up safely and resumes operation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Input Schema (JSON Schema)
{
"properties": {},
"title": "stand_up_from_a_fallArguments",
"type": "object"
}
Implementation Reference
- server.py:59-62 (handler)MCP tool handler for stand_up_from_a_fall that calls the WirelessController method and returns the result.@mcp.tool() def stand_up_from_a_fall(): _, msg = wirelesscontroller.stand_up_from_a_fall() return msg
- msgs/wirelesscontroller.py:52-53 (helper)Implementation in WirelessController class: publishes WirelessController message with keys=1056 to make the robot stand up from a fall.def stand_up_from_a_fall(self): return self._customised_movements(keys=1056)
- msgs/wirelesscontroller.py:42-50 (helper)Supporting method that publishes a custom keys value to the /wirelesscontroller ROS2 topic.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)