alexander bt fixed

This commit is contained in:
IDONTSUDO 2024-06-10 15:16:30 +03:00
parent 61118a7423
commit 8f8fc3107d
46 changed files with 1109 additions and 304 deletions

View file

@ -5,6 +5,9 @@ import { BehaviorTreeDBModel } from "./models/behavior_tree_database_model";
import { ReadByIdDataBaseModelScenario } from "../../core/scenarios/read_by_id_database_model_scenario";
import { GetBehaviorTreeActiveProjectScenario } from "./domain/get_behavior_tree_active_project_scenario";
import { SaveBtScenario as FillBtScenario } from "./domain/save_bt_scenario";
import { GetCameraUseCase } from "./domain/get_cameras_usecase";
import { GetRobotsUseCase } from "./domain/get_robots_usecase";
import { GetTopicsUseCase } from "./domain/get_topics_usecase";
export class BehaviorTreesPresentation extends CrudController<BehaviorTreeValidationModel, typeof BehaviorTreeDBModel> {
constructor() {
@ -25,5 +28,21 @@ export class BehaviorTreesPresentation extends CrudController<BehaviorTreeValida
subUrl: "by_id",
fn: new ReadByIdDataBaseModelScenario<BehaviorTreeValidationModel>(BehaviorTreeDBModel),
});
this.subRoutes.push({
method: "GET",
subUrl: "cameras",
fn: new GetCameraUseCase()
})
this.subRoutes.push({
method: "GET",
subUrl: "robots",
fn: new GetRobotsUseCase()
})
this.subRoutes.push({
method: "GET",
subUrl: "topics",
fn: new GetTopicsUseCase()
})
}
}

View file

@ -6,7 +6,7 @@ export class GetBehaviorTreeSkillsTemplatesUseCase extends CallbackStrategyWithE
return Result.ok({
skills: [
{
SkillPackage: { name: "Robossembler", version: "1.0", format: "1" },
SkillPackage: { name: "Robossembler", version: "1.0", format: "1", type: "Action" },
Module: { name: "PoseEstimation", description: "Pose Estimation skill with DOPE" },
Launch: { package: "rbs_perception", executable: "pe_dope_lc.py", name: "lc_dope" },
BTAction: [
@ -18,6 +18,14 @@ export class GetBehaviorTreeSkillsTemplatesUseCase extends CallbackStrategyWithE
type: "weights",
dependency: {},
},
{
type: "camera",
dependency: {}
},
{
type: "topic",
dependency: {}
}
],
result: ["POSE"],
},
@ -38,6 +46,28 @@ export class GetBehaviorTreeSkillsTemplatesUseCase extends CallbackStrategyWithE
{ name: "mesh_scale", value: 0.001 },
],
},
{
SkillPackage: { name: "Robossembler", version: "1.0", format: "1" },
Module: { name: "MoveToPose", description: "Move to Pose skill with ? controllers" },
Launch: { package: "rbss_movetopose", executable: "movetopose.py", name: "skill_move" },
BTAction: [
{
name: "move",
type: "action",
param: [{ type: "topic", dependency: { } }],
result: []
}
],
Interface: {
Input: [
{ name: "robotName", type: "ROBOT" },
{ name: "pose", type: "POSE" }
],
Output: []
},
Settings: []
}
],
});
};

View file

@ -0,0 +1,120 @@
import { CallbackStrategyWithEmpty, ResponseBase } from "../../../core/controllers/http_controller"
import { Result } from "../../../core/helpers/result"
export class GetCameraUseCase extends CallbackStrategyWithEmpty {
call = async (): ResponseBase => {
return Result.ok({
"camera": [
{
"sid": "1",
"DevicePackage": {
"name": "Robossembler",
"version": "1.0",
"format": "1"
},
"Module": {
"name": "RealSense Dxx",
"description": "ROS Wrapper for Intel(R) RealSense(TM) Cameras"
},
"Launch": {
"package": "realsense2_camera",
"executable": "rs_launch.py"
},
"DTwin": [
{
"interface": {
"input": [
{
"camera_namespace": "robot1"
},
{
"camera_name": "455_1"
},
{
"serial_port": "USB_1"
},
{
"pose": "[0.0,0.0,0.0,0.0,0.0,0.0]"
}
]
}
}
],
"Interface": {
"param": [
{
"type": "camera",
"dependency": {}
}
]
},
"Settings": [
{
"name": "camera_config",
"description": "Camera Config",
"type": "file",
"defaultValue": "{ rgb_camera.profile: 1280x720x15 }"
}
]
},
{
"sid": "2",
"DevicePackage": {
"name": "Robossembler",
"version": "1.0",
"format": "1"
},
"Module": {
"name": "RealSense Dxx",
"description": "ROS Wrapper for Intel(R) RealSense(TM) Cameras"
},
"Launch": {
"package": "realsense2_camera",
"executable": "rs_launch.py"
},
"DTwin": [
{
"interface": {
"input": [
{
"camera_namespace": "robot1"
},
{
"camera_name": "455_1"
},
{
"serial_port": "USB_1"
},
{
"pose": "[0.0,0.0,0.0,0.0,0.0,0.0]"
}
]
}
}
],
"Interface": {
"param": [
{
"type": "camera",
"dependency": {}
}
]
},
"Settings": [
{
"name": "camera_config",
"description": "Camera Config",
"type": "file",
"defaultValue": "{ rgb_camera.profile: 1280x720x15 }"
}
]
}
]
})
}
}

View file

@ -0,0 +1,50 @@
import { CallbackStrategyWithEmpty, ResponseBase } from "../../../core/controllers/http_controller";
import { Result } from "../../../core/helpers/result";
export class GetRobotsUseCase extends CallbackStrategyWithEmpty {
call = async (): ResponseBase => {
return Result.ok({
"robots": [
{
"sid": "1",
"DevicePackage": {
"name": "Robossembler",
"version": "1.0",
"format": "1"
},
"Module": {
"name": "RBS",
"description": "Main Robot"
},
"Launch": {
"package": "rbs_bringup",
"executable": "single_robot.launch.py"
},
"DTwin": [
{
"interface": {
"input": [
{
"robot_namespace": "robot1"
},
{
"dof": 6
}
]
}
}
],
"Settings": [
{
"name": "robot_type",
"description": "Type of robot by name",
"defaultValue": "rbs_arm"
}
]
}
]
})
}
}

View file

@ -0,0 +1,23 @@
import { CallbackStrategyWithEmpty, ResponseBase } from "../../../core/controllers/http_controller";
import { Result } from "../../../core/helpers/result";
export class GetTopicsUseCase extends CallbackStrategyWithEmpty {
call = async (): ResponseBase => {
return Result.ok({
"topics": [
{
"sid": "1",
"name": "topic camera 1",
"type": "sensor_msgs/Image"
},
{
"sid": "2",
"name": "topic camera 2",
"type": "sensor_msgs/Image"
}
]
}
)
}
}