Skip to content

fix g1 sim#2113

Open
paul-nechifor wants to merge 1 commit into
mainfrom
paul/fix/readme2
Open

fix g1 sim#2113
paul-nechifor wants to merge 1 commit into
mainfrom
paul/fix/readme2

Conversation

@paul-nechifor
Copy link
Copy Markdown
Contributor

Problem

Closes DIM-XXX

Solution

How to Test

Contributor License Agreement

  • I have read and approved the CLA.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 16, 2026

Greptile Summary

Fixes the G1 humanoid simulation command in the README quick-reference table, renaming unitree-g1 to unitree-g1-sim to match the registered blueprint in all_blueprints.py.

  • Corrects dimos --simulation run unitree-g1dimos --simulation run unitree-g1-sim in the README featured-runfiles table (line 196), aligning it with the blueprint key registered at dimos/robot/all_blueprints.py:91.

Confidence Score: 4/5

Safe to merge — changes only documentation, with no impact on runtime behavior.

The README now points to the correct unitree-g1-sim blueprint, but docs/quickstart.mdx still references the old unitree-g1 command, leaving users following the quickstart guide with a broken command.

docs/quickstart.mdx line 89 still has the old command and should be updated alongside this fix.

Important Files Changed

Filename Overview
README.md Corrects the G1 simulation command from unitree-g1 to unitree-g1-sim; a matching stale reference remains in docs/quickstart.mdx.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["User runs: dimos --simulation run unitree-g1-sim"] --> B["CLI looks up blueprint key in all_blueprints.py"]
    B --> C["unitree-g1-sim → unitree_g1_sim:unitree_g1_sim"]
    C --> D["MuJoCo simulation starts"]

    E["Old command: dimos --simulation run unitree-g1"] --> F["CLI looks up 'unitree-g1' in all_blueprints.py"]
    F --> G["unitree-g1 → unitree_g1:unitree_g1 (perceptive, not sim)"]
    G --> H["Wrong blueprint / runtime error in sim mode"]
Loading

Reviews (1): Last reviewed commit: "fix g1 sim" | Re-trigger Greptile

Comment thread README.md
| `dimos --replay --replay-db go2_bigoffice run unitree-go2-memory` | Quadruped temporal memory replay |
| `dimos --simulation run unitree-go2-agentic` | Quadruped agentic + MCP server in simulation |
| `dimos --simulation run unitree-g1` | Humanoid in MuJoCo simulation |
| `dimos --simulation run unitree-g1-sim` | Humanoid in MuJoCo simulation |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 Stale command in docs/quickstart.mdx

docs/quickstart.mdx line 89 still shows the old dimos --simulation run unitree-g1 command instead of unitree-g1-sim. Users following the quickstart docs will hit the same broken command this PR is fixing in the README.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 16, 2026

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
1759 1 1758 27
View the top 1 failed test(s) by shortest run time
dimos.protocol.rpc.test_spec::test_basic_sync_call[lcm_rpc_context-lcm]
Stack Traces | 5.07s run time
rpc_context = <function lcm_rpc_context at 0x7f17ab94c9a0>, impl_name = 'lcm'

    @pytest.mark.parametrize("rpc_context, impl_name", testdata)
    def test_basic_sync_call(rpc_context, impl_name: str) -> None:
        """Test basic synchronous RPC calls."""
        with rpc_context() as (server, client):
            # Serve the function
            unsub = server.serve_rpc(add_function, "add")
    
            try:
                # Make sync call
>               result, _ = client.call_sync("add", ([5, 3], {}), rpc_timeout=5.0)

client     = <dimos.protocol.rpc.pubsubrpc.LCMRPC object at 0x7f17a93d7f50>
impl_name  = 'lcm'
rpc_context = <function lcm_rpc_context at 0x7f17ab94c9a0>
server     = <dimos.protocol.rpc.pubsubrpc.LCMRPC object at 0x7f17a93d48f0>
unsub      = <function LCMPubSubBase.subscribe.<locals>.unsubscribe at 0x7f17a9377920>

.../protocol/rpc/test_spec.py:139: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <dimos.protocol.rpc.pubsubrpc.LCMRPC object at 0x7f17a93d7f50>
name = 'add', arguments = ([5, 3], {}), rpc_timeout = 5.0

    def call_sync(
        self, name: str, arguments: Args, rpc_timeout: float | None = None
    ) -> tuple[Any, Callable[[], None]]:
        if rpc_timeout is None:
            method = name.rsplit("/", 1)[-1]
            rpc_timeout = self.rpc_timeouts.get(name) or self.rpc_timeouts.get(
                method, self.default_rpc_timeout
            )
        event = threading.Event()
    
        def receive_value(val) -> None:  # type: ignore[no-untyped-def]
            event.result = val  # type: ignore[attr-defined]  # attach to event
            event.set()
    
        unsub_fn = self.call(name, arguments, receive_value)
        if not event.wait(rpc_timeout):
>           raise TimeoutError(f"RPC call to '{name}' timed out after {rpc_timeout} seconds")
E           TimeoutError: RPC call to 'add' timed out after 5.0 seconds

arguments  = ([5, 3], {})
event      = <threading.Event at 0x7f17a93d5c40: unset>
name       = 'add'
receive_value = <function RPCClient.call_sync.<locals>.receive_value at 0x7f17a9377880>
rpc_timeout = 5.0
self       = <dimos.protocol.rpc.pubsubrpc.LCMRPC object at 0x7f17a93d7f50>
unsub_fn   = <function PubSubRPCMixin.call_cb.<locals>.unsubscribe_callback at 0x7f17a93763e0>

.../protocol/rpc/spec.py:80: TimeoutError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

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.

1 participant