dimensionalOS / dimensionalOS/dimos

coordinator-cartesian-ik-mock fails on startup with 'dict' object has no attribute 'position_lower'

Open
#3,958 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
4.5k
Forks
808
Avg merge
3d 5h
Merged PRs (30d)
233

Description

Description

What happened?

Running the built-in coordinator-cartesian-ik-mock blueprint fails during startup.

The blueprint starts normally, the worker pool starts, and ArmPoseCoordinator is deployed. The coordinator transports are also created, including /cartesian_command.

Startup then fails in the ControlCoordinator/start RPC handler with:

'dict' object has no attribute 'position_lower'

The final exception is:

AttributeError: 'dict' object has no attribute 'position_lower'

What did you expect?

coordinator-cartesian-ik-mock should start successfully with the mock arm configuration and remain running until stopped.

System

Ubuntu 24.04

Robot / Sim / Hardware

Mock arm / no physical robot hardware

Steps to reproduce

uv run dimos run coordinator-cartesian-ik-mock

Environment

  • Install method: uv
  • Python: 3.12.3
  • Pygame: 2.6.1
  • DimOS branch/commit: TODO — run git rev-parse --short HEAD

Logs / screenshots

01:29:16.383 [inf][imos/cli/commands/lifecycle.py] Starting DimOS
01:29:16.385 [inf][dination/module_coordinator.py] Building the blueprint
01:29:16.996 [inf][dination/module_coordinator.py] Starting the modules
01:29:18.172 [inf][ation/worker_manager_python.py] Worker pool started. n_workers=2
01:29:18.604 [inf][dimos/control/coordinator.py  ] ControlCoordinator initialized at 100.0Hz
01:29:18.605 [inf][/coordination/python_worker.py] Deployed module. module=ArmPoseCoordinator module_id=0 worker_id=0
01:29:18.658 [inf][dination/module_coordinator.py] Transport module=ControlCoordinator name=coordinator_joint_state original_name=coordinator_joint_state topic=/coordinator_joint_state#sensor_msgs.JointState transport=LCMTransport type=dimos.msgs.sensor_msgs.JointState.JointState
01:29:18.659 [inf][dination/module_coordinator.py] Transport module=ControlCoordinator name=joint_command original_name=joint_command topic=/joint_command#sensor_msgs.JointState transport=LCMTransport type=dimos.msgs.sensor_msgs.JointState.JointState
01:29:18.659 [inf][dination/module_coordinator.py] Transport module=ControlCoordinator name=twist_command original_name=twist_command topic=/twist_command#geometry_msgs.Twist transport=LCMTransport type=dimos.msgs.geometry_msgs.Twist.Twist
01:29:18.660 [inf][dination/module_coordinator.py] Transport module=ControlCoordinator name=gripper_command original_name=gripper_command topic=/gripper_command#std_msgs.Float32 transport=LCMTransport type=dimos.msgs.std_msgs.Float32.Float32
01:29:18.661 [inf][dination/module_coordinator.py] Transport module=ControlCoordinator name=cartesian_command original_name=cartesian_command topic=/cartesian_command#geometry_msgs.PoseStamped transport=LCMTransport type=dimos.msgs.geometry_msgs.PoseStamped.PoseStamped
01:29:18.663 [err][imos/protocol/rpc/pubsubrpc.py] Exception in RPC handler for ControlCoordinator/start: 'dict' object has no attribute 'position_lower'

Full traceback ends with:

AttributeError: 'dict' object has no attribute 'position_lower'

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running uv run dimos run coordinator-cartesian-ik-mock and inspect the coordinator-cartesian-ik-mock blueprint together with the ControlCoordinator/start handler. Trace the mock arm configuration passed to startup and identify why the value used for position_lower is a dict. Done means the blueprint starts successfully and remains running until stopped.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
robotics
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.