pounce
Execute natural language commands to control the Unitree Go2 robot via ROS2 instructions, enabling precise and intuitive robotic actions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- server.py:82-86 (handler)The MCP tool handler for 'pounce', registered via @mcp.tool(). Delegates to WirelessController.pounce() method.@mcp.tool() def pounce(): _, msg = wirelesscontroller.pounce() wirelesscontroller.stop() return msg
- msgs/wirelesscontroller.py:67-70 (helper)Core logic for pounce action in WirelessController: stand up then custom keys=1025.def pounce(self): self.stand_up_from_a_fall() return self._customised_movements(keys=1025)
- msgs/wirelesscontroller.py:42-51 (helper)Helper method used by pounce (and others) to publish zero stick values with specific keys via ros2 topic pub.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)