Skip to content

[Bug]: dimos run unitree-g1-basicย #1760

@zwj-gpu

Description

@zwj-gpu

Description

please help me to fix this bug sir, when i run in cli: dimos run unitree-g1-basic
the error as follow:

(dimos) nubot@nubot-LEGION-REN7000K-26IRB:~/dimos$ dimos run unitree-g1-basic
13:07:11.676[inf][dimos/robot/cli/dimos.py ] Starting DimOS
13:07:13.879[inf][dimos/core/blueprints.py ] Building the blueprint
13:07:13.892[inf][dimos/core/blueprints.py ] Starting the modules
13:07:13.935[inf][dimos/core/worker_manager.py ] Worker pool started. n_workers=4
13:07:15.665[inf][dimos/mapping/voxels.py ] VoxelGridMapper using device: CUDA:0
13:07:15.778[inf][dimos/core/worker.py ] Deployed module. module=VoxelGridMapper module_id=2 worker_id=2
13:07:15.934[inf][dimos/core/worker.py ] Deployed module. module=CostMapper module_id=3 worker_id=3
13:07:15.943[inf][dimos/navigation/rosnav.py ] NavigationModule initialized
13:07:15.943[inf][dimos/core/worker.py ] Deployed module. module=ROSNav module_id=7 worker_id=3
13:07:15.997[inf][dimos/core/worker.py ] Deployed module. module=RerunBridgeModule module_id=0 worker_id=0
13:07:16.011[inf][dimos/core/worker.py ] Deployed module. module=WavefrontFrontierExplorer module_id=4 worker_id=0
13:07:16.016[inf][dimos/core/worker.py ] Deployed module. module=CameraModule module_id=1 worker_id=1
13:07:16.024[inf][et_vis/websocket_vis_module.py] WebSocket visualization module initialized on port 7779, GPS goal tracking enabled
13:07:16.025[inf][dimos/core/worker.py ] Deployed module. module=WebsocketVisModule module_id=5 worker_id=1
13:07:16.171[inf][dimos/core/worker.py ] Deployed module. module=G1Connection module_id=6 worker_id=2
13:07:16.175[inf][dimos/core/blueprints.py ] Transport module=CameraModule name=color_image original_name=color_image topic=/color_image#sensor_msgs.Image transport=LCMTransport type=dimos.msgs.sensor_msgs.Image.Image
13:07:16.176[inf][dimos/core/blueprints.py ] Transport module=CameraModule name=camera_info original_name=camera_info topic=/camera_info#sensor_msgs.CameraInfo transport=LCMTransport type=dimos.msgs.sensor_msgs.CameraInfo.CameraInfo
13:07:16.177[inf][dimos/core/blueprints.py ] Transport module=VoxelGridMapper name=lidar original_name=lidar topic=/lidar#sensor_msgs.PointCloud2 transport=LCMTransport type=dimos.msgs.sensor_msgs.PointCloud2.PointCloud2
13:07:16.178[inf][dimos/core/blueprints.py ] Transport module=VoxelGridMapper name=global_map original_name=global_map topic=/global_map#sensor_msgs.PointCloud2 transport=LCMTransport type=dimos.msgs.sensor_msgs.PointCloud2.PointCloud2
13:07:16.179[inf][dimos/core/blueprints.py ] Transport module=CostMapper name=global_map original_name=global_map topic=/global_map#sensor_msgs.PointCloud2 transport=LCMTransport type=dimos.msgs.sensor_msgs.PointCloud2.PointCloud2
13:07:16.181[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=global_map original_name=global_map topic=/global_map#sensor_msgs.PointCloud2 transport=LCMTransport type=dimos.msgs.sensor_msgs.PointCloud2.PointCloud2
13:07:16.181[inf][dimos/core/blueprints.py ] Transport module=CostMapper name=global_costmap original_name=global_costmap topic=/global_costmap#nav_msgs.OccupancyGrid transport=LCMTransport type=dimos.msgs.nav_msgs.OccupancyGrid.OccupancyGrid
13:07:16.183[inf][dimos/core/blueprints.py ] Transport module=WavefrontFrontierExplorer name=global_costmap original_name=global_costmap topic=/global_costmap#nav_msgs.OccupancyGrid transport=LCMTransport type=dimos.msgs.nav_msgs.OccupancyGrid.OccupancyGrid
13:07:16.184[inf][dimos/core/blueprints.py ] Transport module=WebsocketVisModule name=global_costmap original_name=global_costmap topic=/global_costmap#nav_msgs.OccupancyGrid transport=LCMTransport type=dimos.msgs.nav_msgs.OccupancyGrid.OccupancyGrid
13:07:16.185[inf][dimos/core/blueprints.py ] Transport module=WavefrontFrontierExplorer name=odom original_name=odom topic=/odom#geometry_msgs.PoseStamped transport=LCMTransport type=dimos.msgs.geometry_msgs.PoseStamped.PoseStamped
13:07:16.185[inf][dimos/core/blueprints.py ] Transport module=WebsocketVisModule name=odom original_name=odom topic=/odom#geometry_msgs.PoseStamped transport=LCMTransport type=dimos.msgs.geometry_msgs.PoseStamped.PoseStamped
13:07:16.186[inf][dimos/core/blueprints.py ] Transport module=WavefrontFrontierExplorer name=goal_reached original_name=goal_reached topic=/goal_reached#std_msgs.Bool transport=LCMTransport type=dimos_lcm.std_msgs.Bool.Bool
13:07:16.187[inf][dimos/core/blueprints.py ] Transport module=WavefrontFrontierExplorer name=explore_cmd original_name=explore_cmd topic=/explore_cmd#std_msgs.Bool transport=LCMTransport type=dimos_lcm.std_msgs.Bool.Bool
13:07:16.188[inf][dimos/core/blueprints.py ] Transport module=WebsocketVisModule name=explore_cmd original_name=explore_cmd topic=/explore_cmd#std_msgs.Bool transport=LCMTransport type=dimos_lcm.std_msgs.Bool.Bool
13:07:16.189[inf][dimos/core/blueprints.py ] Transport module=WavefrontFrontierExplorer name=stop_explore_cmd original_name=stop_explore_cmd topic=/stop_explore_cmd#std_msgs.Bool transport=LCMTransport type=dimos_lcm.std_msgs.Bool.Bool
13:07:16.189[inf][dimos/core/blueprints.py ] Transport module=WebsocketVisModule name=stop_explore_cmd original_name=stop_explore_cmd topic=/stop_explore_cmd#std_msgs.Bool transport=LCMTransport type=dimos_lcm.std_msgs.Bool.Bool
13:07:16.190[inf][dimos/core/blueprints.py ] Transport module=WavefrontFrontierExplorer name=goal_request original_name=goal_request topic=/goal_request#geometry_msgs.PoseStamped transport=LCMTransport type=dimos.msgs.geometry_msgs.PoseStamped.PoseStamped
13:07:16.191[inf][dimos/core/blueprints.py ] Transport module=WebsocketVisModule name=goal_request original_name=goal_request topic=/goal_request#geometry_msgs.PoseStamped transport=LCMTransport type=dimos.msgs.geometry_msgs.PoseStamped.PoseStamped
13:07:16.191[inf][dimos/core/blueprints.py ] Transport module=WebsocketVisModule name=gps_location original_name=gps_location topic=/gps_location transport=pLCMTransport type=dimos.mapping.models.LatLon
13:07:16.192[inf][dimos/core/blueprints.py ] Transport module=WebsocketVisModule name=path original_name=path topic=/path#nav_msgs.Path transport=LCMTransport type=dimos.msgs.nav_msgs.Path.Path
13:07:16.192[inf][dimos/core/blueprints.py ] Transport module=WebsocketVisModule name=gps_goal original_name=gps_goal topic=/gps_goal transport=pLCMTransport type=dimos.mapping.models.LatLon
13:07:16.193[inf][dimos/core/blueprints.py ] Transport module=WebsocketVisModule name=cmd_vel original_name=cmd_vel topic=/cmd_vel#geometry_msgs.Twist transport=LCMTransport type=dimos.msgs.geometry_msgs.Twist.Twist
13:07:16.194[inf][dimos/core/blueprints.py ] Transport module=G1Connection name=cmd_vel original_name=cmd_vel topic=/cmd_vel#geometry_msgs.Twist transport=LCMTransport type=dimos.msgs.geometry_msgs.Twist.Twist
13:07:16.195[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=cmd_vel original_name=cmd_vel topic=/cmd_vel#geometry_msgs.Twist transport=LCMTransport type=dimos.msgs.geometry_msgs.Twist.Twist
13:07:16.195[inf][dimos/core/blueprints.py ] Transport module=WebsocketVisModule name=movecmd_stamped original_name=movecmd_stamped topic=/movecmd_stamped#geometry_msgs.TwistStamped transport=LCMTransport type=dimos.msgs.geometry_msgs.TwistStamped.TwistStamped
13:07:16.196[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=pointcloud original_name=pointcloud topic=/lidar#sensor_msgs.PointCloud2 transport=LCMTransport type=dimos.msgs.sensor_msgs.PointCloud2.PointCloud2
13:07:16.197[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=goal_req original_name=goal_req topic=/goal_req#geometry_msgs.PoseStamped transport=LCMTransport type=dimos.msgs.geometry_msgs.PoseStamped.PoseStamped
13:07:16.197[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=goal_active original_name=goal_active topic=/goal_active#geometry_msgs.PoseStamped transport=LCMTransport type=dimos.msgs.geometry_msgs.PoseStamped.PoseStamped
13:07:16.198[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=path_active original_name=path_active topic=/path_active#nav_msgs.Path transport=LCMTransport type=dimos.msgs.nav_msgs.Path.Path
13:07:16.198[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=ros_goal_reached original_name=ros_goal_reached topic=/ros_goal_reached#std_msgs.Bool transport=LCMTransport type=dimos.msgs.std_msgs.Bool.Bool
13:07:16.199[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=ros_cmd_vel original_name=ros_cmd_vel topic=/ros_cmd_vel#geometry_msgs.TwistStamped transport=LCMTransport type=dimos.msgs.geometry_msgs.TwistStamped.TwistStamped
13:07:16.200[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=ros_way_point original_name=ros_way_point topic=/ros_way_point#geometry_msgs.PoseStamped transport=LCMTransport type=dimos.msgs.geometry_msgs.PoseStamped.PoseStamped
13:07:16.200[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=ros_registered_scan original_name=ros_registered_scan topic=/ros_registered_scan#sensor_msgs.PointCloud2 transport=LCMTransport type=dimos.msgs.sensor_msgs.PointCloud2.PointCloud2
13:07:16.201[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=ros_global_map original_name=ros_global_map topic=/ros_global_map#sensor_msgs.PointCloud2 transport=LCMTransport type=dimos.msgs.sensor_msgs.PointCloud2.PointCloud2
13:07:16.202[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=ros_path original_name=ros_path topic=/ros_path#nav_msgs.Path transport=LCMTransport type=dimos.msgs.nav_msgs.Path.Path
13:07:16.217[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=ros_tf original_name=ros_tf topic=/ros_tf#tf2_msgs.TFMessage transport=LCMTransport type=dimos.msgs.tf2_msgs.TFMessage.TFMessage
13:07:16.218[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=ros_goal_pose original_name=ros_goal_pose topic=/ros_goal_pose#geometry_msgs.PoseStamped transport=LCMTransport type=dimos.msgs.geometry_msgs.PoseStamped.PoseStamped
13:07:16.219[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=ros_cancel_goal original_name=ros_cancel_goal topic=/ros_cancel_goal#std_msgs.Bool transport=LCMTransport type=dimos.msgs.std_msgs.Bool.Bool
13:07:16.220[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=ros_soft_stop original_name=ros_soft_stop topic=/ros_soft_stop#std_msgs.Int8 transport=LCMTransport type=dimos.msgs.std_msgs.Int8.Int8
13:07:16.221[inf][dimos/core/blueprints.py ] Transport module=ROSNav name=ros_joy original_name=ros_joy topic=/ros_joy#sensor_msgs.Joy transport=LCMTransport type=dimos.msgs.sensor_msgs.Joy.Joy
13:07:16.242[inf][/visualization/rerun/bridge.py] Rerun bridge starting viewer_mode=native
๐Ÿ•’ WebRTC connection : ๐ŸŸก started (21:07:16)
13:07:16.244[err][imos/protocol/rpc/pubsubrpc.py] Exception in RPC handler for CameraModule/start: WebcamConfig.init() missing 3 required positional arguments: 'width', 'height', and 'frame_id_prefix'
13:07:16.247[inf][/visualization/rerun/bridge.py] bridge listening on LCM
13:07:16.248[inf][dimos/navigation/rosnav.py ] NavigationModule started with ROS transport and RxPY streams
Decoder set to: LibVoxelDecoder
๐Ÿ•’ Signaling State : ๐ŸŸก have-local-offer (21:07:16)
๐Ÿ•’ ICE Gathering State : ๐ŸŸก gathering (21:07:16)
๐Ÿ•’ ICE Gathering State : ๐ŸŸข complete (21:07:16)
ERROR:root:An error occurred: HTTPConnectionPool(host='none', port=8081): Max retries exceeded with url: /offer (Caused by NameResolutionError("HTTPConnection(host='none', port=8081): Failed to resolve 'none' ([Errno -3] Temporary failure in name resolution)"))
ERROR:root:An error occurred with the old method: Failed to receive SDP Answer: No response
ERROR:root:An error occurred: HTTPConnectionPool(host='none', port=9991): Max retries exceeded with url: /con_notify (Caused by NameResolutionError("HTTPConnection(host='none', port=9991): Failed to resolve 'none' ([Errno -3] Temporary failure in name resolution)"))
ERROR:root:An error occurred with the new method: Failed to receive initial public key response.
Could not get SDP from the peer. Check if the Go2 is switched on
13:09:16.249[err][dimos/utils/logging_config.py ] Uncaught exception occurred
RemoteError: [Remote builtins.TypeError] WebcamConfig.init() missing 3 required positional arguments: 'width', 'height', and 'frame_id_prefix'

Remote traceback:
Traceback (most recent call last):
File "/home/nubot/dimos/dimos/protocol/rpc/pubsubrpc.py", line 269, in execute_and_respond
response = f(*args[0], **args[1])
^^^^^^^^^^^^^^^^^^^^^^
File "/home/nubot/dimos/dimos/protocol/rpc/spec.py", line 98, in override_f
return getattr(module, fname)(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/nubot/dimos/dimos/hardware/sensors/camera/module.py", line 67, in start
self.hardware = self.config.hardware()
^^^^^^^^^^^^^^^^^^^^^^
File "/home/nubot/dimos/dimos/robot/unitree/g1/blueprints/primitive/uintree_g1_primitive_no_nav.py", line 119, in _create_webcam
return Webcam(
^^^^^^^
File "/home/nubot/dimos/dimos/hardware/sensors/camera/webcam.py", line 46, in init
super().init(*args, **kwargs)
File "/home/nubot/dimos/dimos/protocol/service/spec.py", line 33, in init
self.config = self.default_config(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebcamConfig.init() missing 3 required positional arguments: 'width', 'height', and 'frame_id_prefix'

The above exception was the direct cause of the following exception:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /home/nubot/dimos/dimos/robot/cli/dimos.py:166 in run โ”‚
โ”‚ โ”‚
โ”‚ 163 โ”‚ โ”‚ disabled_classes = tuple(get_module_by_name(name).blueprints[0].module for name โ”‚
โ”‚ 164 โ”‚ โ”‚ blueprint = blueprint.disabled_modules(*disabled_classes) โ”‚
โ”‚ 165 โ”‚ โ”‚
โ”‚ โฑ 166 โ”‚ coordinator = blueprint.build(cli_config_overrides=cli_config_overrides) โ”‚
โ”‚ 167 โ”‚ โ”‚
โ”‚ 168 โ”‚ if daemon: โ”‚
โ”‚ 169 โ”‚ โ”‚ from dimos.core.daemon import ( โ”‚
โ”‚ โ”‚
โ”‚ /home/nubot/dimos/dimos/core/blueprints.py:497 in build โ”‚
โ”‚ โ”‚
โ”‚ 494 โ”‚ โ”‚ self._connect_rpc_methods(module_coordinator) โ”‚
โ”‚ 495 โ”‚ โ”‚ self._connect_module_refs(module_coordinator) โ”‚
โ”‚ 496 โ”‚ โ”‚ โ”‚
โ”‚ โฑ 497 โ”‚ โ”‚ module_coordinator.start_all_modules() โ”‚
โ”‚ 498 โ”‚ โ”‚ โ”‚
โ”‚ 499 โ”‚ โ”‚ return module_coordinator โ”‚
โ”‚ 500 โ”‚
โ”‚ โ”‚
โ”‚ /home/nubot/dimos/dimos/core/module_coordinator.py:144 in start_all_modules โ”‚
โ”‚ โ”‚
โ”‚ 141 โ”‚ โ”‚ modules = list(self._deployed_modules.values()) โ”‚
โ”‚ 142 โ”‚ โ”‚ if isinstance(self._client, WorkerManager): โ”‚
โ”‚ 143 โ”‚ โ”‚ โ”‚ with ThreadPoolExecutor(max_workers=len(modules)) as executor: โ”‚
โ”‚ โฑ 144 โ”‚ โ”‚ โ”‚ โ”‚ list(executor.map(lambda m: m.start(), modules)) โ”‚
โ”‚ 145 โ”‚ โ”‚ else: โ”‚
โ”‚ 146 โ”‚ โ”‚ โ”‚ for module in modules: โ”‚
โ”‚ 147 โ”‚ โ”‚ โ”‚ โ”‚ module.start() โ”‚
โ”‚ โ”‚
โ”‚ /usr/lib/python3.12/concurrent/futures/_base.py:619 in result_iterator โ”‚
โ”‚ โ”‚
โ”‚ 616 โ”‚ โ”‚ โ”‚ โ”‚ while fs: โ”‚
โ”‚ 617 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ # Careful not to keep a reference to the popped future โ”‚
โ”‚ 618 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ if timeout is None: โ”‚
โ”‚ โฑ 619 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ yield _result_or_cancel(fs.pop()) โ”‚
โ”‚ 620 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ else: โ”‚
โ”‚ 621 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ yield _result_or_cancel(fs.pop(), end_time - time.monotonic()) โ”‚
โ”‚ 622 โ”‚ โ”‚ โ”‚ finally: โ”‚
โ”‚ โ”‚
โ”‚ /usr/lib/python3.12/concurrent/futures/_base.py:317 in _result_or_cancel โ”‚
โ”‚ โ”‚
โ”‚ 314 def _result_or_cancel(fut, timeout=None): โ”‚
โ”‚ 315 โ”‚ try: โ”‚
โ”‚ 316 โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 317 โ”‚ โ”‚ โ”‚ return fut.result(timeout) โ”‚
โ”‚ 318 โ”‚ โ”‚ finally: โ”‚
โ”‚ 319 โ”‚ โ”‚ โ”‚ fut.cancel() โ”‚
โ”‚ 320 โ”‚ finally: โ”‚
โ”‚ โ”‚
โ”‚ /usr/lib/python3.12/concurrent/futures/_base.py:449 in result โ”‚
โ”‚ โ”‚
โ”‚ 446 โ”‚ โ”‚ โ”‚ โ”‚ if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]: โ”‚
โ”‚ 447 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ raise CancelledError() โ”‚
โ”‚ 448 โ”‚ โ”‚ โ”‚ โ”‚ elif self._state == FINISHED: โ”‚
โ”‚ โฑ 449 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ return self.__get_result() โ”‚
โ”‚ 450 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚
โ”‚ 451 โ”‚ โ”‚ โ”‚ โ”‚ self._condition.wait(timeout) โ”‚
โ”‚ 452 โ”‚
โ”‚ โ”‚
โ”‚ /usr/lib/python3.12/concurrent/futures/_base.py:401 in __get_result โ”‚
โ”‚ โ”‚
โ”‚ 398 โ”‚ def __get_result(self): โ”‚
โ”‚ 399 โ”‚ โ”‚ if self._exception: โ”‚
โ”‚ 400 โ”‚ โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 401 โ”‚ โ”‚ โ”‚ โ”‚ raise self._exception โ”‚
โ”‚ 402 โ”‚ โ”‚ โ”‚ finally: โ”‚
โ”‚ 403 โ”‚ โ”‚ โ”‚ โ”‚ # Break a reference cycle with the exception in self._exception โ”‚
โ”‚ 404 โ”‚ โ”‚ โ”‚ โ”‚ self = None โ”‚
โ”‚ โ”‚
โ”‚ /usr/lib/python3.12/concurrent/futures/thread.py:58 in run โ”‚
โ”‚ โ”‚
โ”‚ 55 โ”‚ โ”‚ โ”‚ return โ”‚
โ”‚ 56 โ”‚ โ”‚ โ”‚
โ”‚ 57 โ”‚ โ”‚ try: โ”‚
โ”‚ โฑ 58 โ”‚ โ”‚ โ”‚ result = self.fn(*self.args, **self.kwargs) โ”‚
โ”‚ 59 โ”‚ โ”‚ except BaseException as exc: โ”‚
โ”‚ 60 โ”‚ โ”‚ โ”‚ self.future.set_exception(exc) โ”‚
โ”‚ 61 โ”‚ โ”‚ โ”‚ # Break a reference cycle with the exception 'exc' โ”‚
โ”‚ โ”‚
โ”‚ /home/nubot/dimos/dimos/core/module_coordinator.py:144 in โ”‚
โ”‚ โ”‚
โ”‚ 141 โ”‚ โ”‚ modules = list(self._deployed_modules.values()) โ”‚
โ”‚ 142 โ”‚ โ”‚ if isinstance(self._client, WorkerManager): โ”‚
โ”‚ 143 โ”‚ โ”‚ โ”‚ with ThreadPoolExecutor(max_workers=len(modules)) as executor: โ”‚
โ”‚ โฑ 144 โ”‚ โ”‚ โ”‚ โ”‚ list(executor.map(lambda m: m.start(), modules)) โ”‚
โ”‚ 145 โ”‚ โ”‚ else: โ”‚
โ”‚ 146 โ”‚ โ”‚ โ”‚ for module in modules: โ”‚
โ”‚ 147 โ”‚ โ”‚ โ”‚ โ”‚ module.start() โ”‚
โ”‚ โ”‚
โ”‚ /home/nubot/dimos/dimos/core/rpc_client.py:70 in call โ”‚
โ”‚ โ”‚
โ”‚ 67 โ”‚ โ”‚ โ”‚ โ”‚ self._stop_rpc_client() โ”‚
โ”‚ 68 โ”‚ โ”‚ โ”‚ return None โ”‚
โ”‚ 69 โ”‚ โ”‚ โ”‚
โ”‚ โฑ 70 โ”‚ โ”‚ result, unsub_fn = self._rpc.call_sync(f"{self._remote_name}/{self._name}", (arg โ”‚
โ”‚ 71 โ”‚ โ”‚ self._unsub_fns.append(unsub_fn) โ”‚
โ”‚ 72 โ”‚ โ”‚ return result โ”‚
โ”‚ 73 โ”‚
โ”‚ โ”‚
โ”‚ /home/nubot/dimos/dimos/protocol/rpc/spec.py:66 in call_sync โ”‚
โ”‚ โ”‚
โ”‚ 63 โ”‚ โ”‚ # Check if the result is an exception and raise it โ”‚
โ”‚ 64 โ”‚ โ”‚ result = event.result # type: ignore[attr-defined] โ”‚
โ”‚ 65 โ”‚ โ”‚ if isinstance(result, BaseException): โ”‚
โ”‚ โฑ 66 โ”‚ โ”‚ โ”‚ raise result โ”‚
โ”‚ 67 โ”‚ โ”‚ โ”‚
โ”‚ 68 โ”‚ โ”‚ return result, unsub_fn โ”‚
โ”‚ 69 โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
TypeError: WebcamConfig.init() missing 3 required positional arguments: 'width', 'height', and 'frame_id_prefix'
[2026-04-08T13:09:16Z ERROR re_grpc_server] Error while receiving messages: gRPC error, message: "h2 protocol error: error reading a body from connection"

Steps to Reproduce

dimos run unitree-g1-basic

Logs / Error Output

Commit Hash

abc1234

Operating system

ubuntu24.04

Robot Model

None

Firmware Version

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions