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
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