alexander bt fixed
This commit is contained in:
parent
61118a7423
commit
8f8fc3107d
46 changed files with 1109 additions and 304 deletions
|
@ -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()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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: []
|
||||
}
|
||||
|
||||
],
|
||||
});
|
||||
};
|
||||
|
|
120
server/src/features/behavior_trees/domain/get_cameras_usecase.ts
Normal file
120
server/src/features/behavior_trees/domain/get_cameras_usecase.ts
Normal 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 }"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
)
|
||||
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue