添加关节发布节点与物料可视化节点进入unilab

This commit is contained in:
zhangshixiang
2025-04-27 19:07:39 +08:00
committed by Junhan Chang
parent 111c3f42e4
commit d407423aaa
6 changed files with 121 additions and 38 deletions

View File

@@ -71,7 +71,12 @@ def parse_args():
default=True,
help="是否在启动时打开信息页",
)
parser.add_argument(
"--visual",
choices=["rviz", "web","None"],
default="rviz",
help="选择可视化工具: 'rviz''web''None',默认'rviz'",
)
return parser.parse_args()
@@ -164,16 +169,63 @@ def main():
signal.signal(signal.SIGTERM, _exit)
mqtt_client.start()
resource_visualization = ResourceVisualization(args_dict["devices_config"], args_dict["resources_config"],registry_dict)
start_backend(**args_dict)
# print('-'*100)
# print(resource_visualization.resource_model)
# print('-'*100)
server_thread = threading.Thread(target=start_server)
server_thread.start()
resource_visualization.start()
if args_dict["visual"] != "None":
if args_dict["visual"] == "rviz":
resource_visualization = ResourceVisualization(args_dict["devices_config"], args_dict["resources_config"],registry_dict)
elif args_dict["visual"] == "web":
resource_visualization = ResourceVisualization(args_dict["devices_config"], args_dict["resources_config"],registry_dict,enable_rviz=False )
devices_config_add = add_resource_mesh_manager_node(resource_visualization.resource_model, args_dict["resources_config"])
args_dict["devices_config"] = {**args_dict["devices_config"], **devices_config_add}
server_thread = threading.Thread(target=start_server)
server_thread.start()
start_backend(**args_dict)
resource_visualization.start()
else:
start_backend(**args_dict)
start_server()
def add_resource_mesh_manager_node(
resource_model,
resource_config ,
mesh_manager_device_id = "resource_mesh_manager",
joint_publisher_device_id = "joint_republisher"):
mesh_manager_config ={
"id": mesh_manager_device_id,
"name": mesh_manager_device_id,
"children": [],
"parent": None,
"type": "device",
"class": "resource.mesh_manager",
"position": {
"x": 620.6111111111111,
"y": 171,
"z": 0
},
"config": {
"resource_model": resource_model,
"resource_config": resource_config
},
"data": {
}
}
joint_publisher_config = {
"id": joint_publisher_device_id,
"name": joint_publisher_device_id,
"children": [],
"parent": None,
"type": "device",
"class": "joint_republisher",
"position": {
"x": 620.6111111111111,
"y": 171,
"z": 0
},
"config": {},
"data": {}
}
return {joint_publisher_config["id"]: joint_publisher_config,mesh_manager_config["id"]: mesh_manager_config}
# return {joint_publisher_config["id"]: joint_publisher_config}
if __name__ == "__main__":
main()