1051 lines
28 KiB
JSON
1051 lines
28 KiB
JSON
{
|
|
"ConnectionStrings": {
|
|
"DefaultConnection": "Data Source=./bin/dbs/robotapp.db",
|
|
"ScriptEngineConnection": "Data Source=./bin/dbs/script.db",
|
|
"MapEditorConnection": "Data Source=./bin/dbs/map.db",
|
|
"NavigationTuneConnection": "Data Source=./bin/dbs/navtune.db"
|
|
},
|
|
"Logging": {
|
|
"LogLevel": {
|
|
"Default": "Information",
|
|
"Microsoft.AspNetCore": "Warning",
|
|
"Microsoft.EntityFrameworkCore": "Warning",
|
|
"Microsoft.AspNetCore.Watch.BrowserRefresh": "Warning"
|
|
}
|
|
},
|
|
"AllowedHosts": "*",
|
|
"Kestrel": {
|
|
"Endpoints": {
|
|
"Https": {
|
|
"Url": "https://0.0.0.0:7002"
|
|
}
|
|
}
|
|
},
|
|
"Devices": {
|
|
"VartaBattery": {
|
|
"DeviceId": "battery-varta-001",
|
|
"Enabled": false,
|
|
"DeviceName": "Battery Varta 1",
|
|
"DeviceType": "Battery",
|
|
"DriverName": "VartaBattery",
|
|
"DriverVersion": "1.0.0",
|
|
"Connection": {
|
|
"CanInterface": "can2",
|
|
"LowBatteryThresholdPercent": 20,
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0
|
|
}
|
|
},
|
|
"YNZDH_Rfhandle": {
|
|
"DeviceId": "rfhandle-YNZDH-001",
|
|
"Enabled": false,
|
|
"DeviceName": "RF Handle YNZDH 1",
|
|
"DeviceType": "RfHandle",
|
|
"DriverName": "YNZDH_RfHandle",
|
|
"DriverVersion": "1.0.0",
|
|
"Connection": {
|
|
"Port": "/dev/ttyS0",
|
|
"BaudRate": 9600,
|
|
"AxisCount": 4,
|
|
"ButtonCount": 8,
|
|
"HatCount": 1,
|
|
"AutoReconnectEnabled": true
|
|
}
|
|
},
|
|
"BatteryTada": {
|
|
"DeviceId": "battery-tada-001",
|
|
"Enabled": false,
|
|
"DeviceName": "Battery Tada 1",
|
|
"DeviceType": "Battery",
|
|
"DriverName": "TadaBattery",
|
|
"DriverVersion": "1.0.0",
|
|
"Connection": {
|
|
"Port": "/dev/ttyUSB1",
|
|
"BaudRate": 19200,
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0
|
|
}
|
|
},
|
|
"MBDV_Servo01": {
|
|
"DeviceId": "right-wheel",
|
|
"Enabled": true,
|
|
"DeviceType": "CiA402Servo",
|
|
"DeviceName": "Right Wheel Servo",
|
|
"DriverName": "CiA402Servo",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "Right Wheel servo motor",
|
|
"Connection": {
|
|
"CanInterface": "can0",
|
|
"NodeId": "2",
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0,
|
|
"PdoConfigRetryCount": 3,
|
|
"PdoConfigRetryTimeoutMs": 1000,
|
|
"UseHeartbeatCheck": true,
|
|
"AllowedHomingMethods": [],
|
|
"PdoMappings": {
|
|
"RPDO1": [
|
|
{
|
|
"Index": "0x6040",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
}
|
|
],
|
|
"RPDO2": [
|
|
{
|
|
"Index": "0x607A",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"RPDO3": [
|
|
{
|
|
"Index": "0x60FF",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"RPDO4": [
|
|
{
|
|
"Index": "0x6071",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
}
|
|
],
|
|
"TPDO1": [
|
|
{
|
|
"Index": "0x6041",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
},
|
|
{
|
|
"Index": "0x6064",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"TPDO2": [
|
|
{
|
|
"Index": "0x606C",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"MBDV_Servo02": {
|
|
"DeviceId": "left-wheel",
|
|
"Enabled": true,
|
|
"DeviceType": "CiA402Servo",
|
|
"DeviceName": "Left Wheel Servo",
|
|
"DriverName": "CiA402Servo",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "Left Wheel servo motor",
|
|
"Connection": {
|
|
"CanInterface": "can0",
|
|
"NodeId": "1",
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0,
|
|
"PdoConfigRetryCount": 3,
|
|
"PdoConfigRetryTimeoutMs": 1000,
|
|
"UseHeartbeatCheck": true,
|
|
"AllowedHomingMethods": [],
|
|
"PdoMappings": {
|
|
"RPDO1": [
|
|
{
|
|
"Index": "0x6040",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
}
|
|
],
|
|
"RPDO2": [
|
|
{
|
|
"Index": "0x607A",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"RPDO3": [
|
|
{
|
|
"Index": "0x60FF",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"RPDO4": [
|
|
{
|
|
"Index": "0x6071",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
}
|
|
],
|
|
"TPDO1": [
|
|
{
|
|
"Index": "0x6041",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
},
|
|
{
|
|
"Index": "0x6064",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"TPDO2": [
|
|
{
|
|
"Index": "0x606C",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"MDX_Servo03": {
|
|
"DeviceId": "lift-motor",
|
|
"Enabled": false,
|
|
"DeviceType": "CiA402Servo",
|
|
"DeviceName": "Lift Motor",
|
|
"DriverName": "CiA402Servo",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "Lift motor",
|
|
"Connection": {
|
|
"CanInterface": "can0",
|
|
"NodeId": "3",
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0,
|
|
"PdoConfigRetryCount": 3,
|
|
"PdoConfigRetryTimeoutMs": 1000,
|
|
"UseHeartbeatCheck": true,
|
|
"AllowedHomingMethods": [],
|
|
"PdoMappings": {
|
|
"RPDO1": [
|
|
{
|
|
"Index": "0x6040",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
}
|
|
],
|
|
"RPDO2": [
|
|
{
|
|
"Index": "0x607A",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"RPDO3": [
|
|
{
|
|
"Index": "0x60FF",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"RPDO4": [
|
|
{
|
|
"Index": "0x6071",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
}
|
|
],
|
|
"TPDO1": [
|
|
{
|
|
"Index": "0x6041",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
},
|
|
{
|
|
"Index": "0x6064",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"TPDO2": [
|
|
{
|
|
"Index": "0x606C",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"Kinco_Servo01": {
|
|
"DeviceId": "motor-lift",
|
|
"Enabled": false,
|
|
"DeviceType": "CiA402Servo",
|
|
"DeviceName": "Lift Servo",
|
|
"DriverName": "CiA402Servo",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "Lift servo motor",
|
|
"Connection": {
|
|
"CanInterface": "can1",
|
|
"NodeId": "1",
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0,
|
|
"PdoConfigRetryCount": 3,
|
|
"PdoConfigRetryTimeoutMs": 1000,
|
|
"UseHeartbeatCheck": false,
|
|
"AllowedHomingMethods": [],
|
|
"PdoMappings": {
|
|
"RPDO1": [
|
|
{
|
|
"Index": "0x6040",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
}
|
|
],
|
|
"RPDO2": [
|
|
{
|
|
"Index": "0x607A",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"RPDO3": [
|
|
{
|
|
"Index": "0x60FF",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"RPDO4": [
|
|
{
|
|
"Index": "0x6071",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
}
|
|
],
|
|
"TPDO1": [
|
|
{
|
|
"Index": "0x6041",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
},
|
|
{
|
|
"Index": "0x6064",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"TPDO2": [
|
|
{
|
|
"Index": "0x606C",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"Kinco_Servo02": {
|
|
"DeviceId": "motor-rotary",
|
|
"Enabled": false,
|
|
"DeviceType": "CiA402Servo",
|
|
"DeviceName": "Station Rotary Servo",
|
|
"DriverName": "CiA402Servo",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "Station Rotary servo motor",
|
|
"Connection": {
|
|
"CanInterface": "can1",
|
|
"NodeId": "2",
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0,
|
|
"PdoConfigRetryCount": 3,
|
|
"PdoConfigRetryTimeoutMs": 1000,
|
|
"UseHeartbeatCheck": false,
|
|
"AllowedHomingMethods": [],
|
|
"PdoMappings": {
|
|
"RPDO1": [
|
|
{
|
|
"Index": "0x6040",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
}
|
|
],
|
|
"RPDO2": [
|
|
{
|
|
"Index": "0x607A",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"RPDO3": [
|
|
{
|
|
"Index": "0x60FF",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"RPDO4": [
|
|
{
|
|
"Index": "0x6071",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
}
|
|
],
|
|
"TPDO1": [
|
|
{
|
|
"Index": "0x6041",
|
|
"SubIndex": 0,
|
|
"BitLength": 16
|
|
},
|
|
{
|
|
"Index": "0x6064",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
],
|
|
"TPDO2": [
|
|
{
|
|
"Index": "0x606C",
|
|
"SubIndex": 0,
|
|
"BitLength": 32
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"SickLidar01": {
|
|
"DeviceId": "scan_1",
|
|
"Enabled": false,
|
|
"DeviceName": "SICK Safety Scanner LiDAR Front",
|
|
"DeviceType": "Lidar",
|
|
"DriverName": "SickLidarDriver",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "SICK Safety Scanner LiDAR Driver - UDP Streaming Mode",
|
|
"Connection": {
|
|
"IpAddress": "192.168.100.11",
|
|
"TcpPort": 2122,
|
|
"UdpLocalPort": 6060,
|
|
"HostIp": "192.168.100.100",
|
|
"StartAngle": -135.0,
|
|
"EndAngle": 135.0,
|
|
"ConnectTimeoutMs": 5000,
|
|
"CommandTimeoutMs": 5000,
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 2,
|
|
"ScanTopic": "scan_1",
|
|
"FrameId": "scan_1",
|
|
"AngleOffsetDeg": -90,
|
|
"RangeMin": 0.05,
|
|
"RangeMax": 40.0
|
|
}
|
|
},
|
|
"SickLidar02": {
|
|
"DeviceId": "scan_2",
|
|
"Enabled": false,
|
|
"DeviceName": "SICK Safety Scanner LiDAR Behind",
|
|
"DeviceType": "Lidar",
|
|
"DriverName": "SickLidarDriver",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "SICK Safety Scanner LiDAR Driver - UDP Streaming Mode",
|
|
"Connection": {
|
|
"IpAddress": "192.168.100.12",
|
|
"TcpPort": 2122,
|
|
"UdpLocalPort": 6062,
|
|
"HostIp": "192.168.100.100",
|
|
"StartAngle": -135.0,
|
|
"EndAngle": 135.0,
|
|
"ConnectTimeoutMs": 10000,
|
|
"CommandTimeoutMs": 10000,
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 5000,
|
|
"MaxReconnectAttempts": 2,
|
|
"ScanTopic": "scan_2",
|
|
"FrameId": "scan_2",
|
|
"AngleOffsetDeg": -90,
|
|
"RangeMin": 0.05,
|
|
"RangeMax": 40.0
|
|
}
|
|
},
|
|
"Olei-front": {
|
|
"DeviceId": "scan_1",
|
|
"Enabled": true,
|
|
"DeviceName": "Olei LR-1BS2",
|
|
"DeviceType": "Lidar",
|
|
"DriverName": "Olei2dLidarDriver",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "Olei LR-1BS5 - olelidar ROS protocol (Host1 -> 172.20.235.100:2368)",
|
|
"Connection": {
|
|
"DeviceIp": "172.20.100.11",
|
|
"LocalIp": "172.20.100.100",
|
|
"DevicePort": 2368,
|
|
"FrameId": "scan_1",
|
|
"ScanTopic": "scan_1",
|
|
"MinAngle": -135,
|
|
"MaxAngle": 135,
|
|
"MinRangeM": 0.2,
|
|
"MaxRangeM": 50.0,
|
|
"Inverted": true,
|
|
"Poly": 1,
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0
|
|
}
|
|
},
|
|
"Olei-rear": {
|
|
"DeviceId": "scan_2",
|
|
"Enabled": true,
|
|
"DeviceName": "Olei LR-1BS5",
|
|
"DeviceType": "Lidar",
|
|
"DriverName": "OleiLidarDriver",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "Olei LR-1BS5 - olelidar ROS protocol (Host1 -> 172.20.235.100:2368)",
|
|
"Connection": {
|
|
"DeviceIp": "192.168.100.12",
|
|
"LocalIp": "192.168.100.100",
|
|
"DevicePort": 2369,
|
|
"FrameId": "scan_2",
|
|
"ScanTopic": "scan_2",
|
|
"MinAngle": -135,
|
|
"MaxAngle": 135,
|
|
"MinRangeM": 0.2,
|
|
"MaxRangeM": 50.0,
|
|
"Inverted": true,
|
|
"Poly": 1,
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0
|
|
}
|
|
},
|
|
"OleiGS15": {
|
|
"DeviceId": "scan_1",
|
|
"Enabled": false,
|
|
"DeviceName": "Olei GS1-5 LiDAR",
|
|
"DeviceType": "Lidar",
|
|
"DriverName": "OleiGS15Driver",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "Olei GS1-5 LiDAR driver (ROS version3-compatible UDP parser)",
|
|
"Connection": {
|
|
"Version": 3,
|
|
"ScannerIp": "192.168.100.21",
|
|
"LocalIp": "192.168.100.100",
|
|
"Port": 2368,
|
|
"Transport": "udp",
|
|
"FrameId": "scan_1",
|
|
"ScanTopic": "scan_1",
|
|
"PacketType": "B",
|
|
"Inverted": false,
|
|
"TimeFromLidar": true,
|
|
"Ntp": false,
|
|
"RangeMin": 0.08,
|
|
"RangeMax": 50.0,
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0
|
|
}
|
|
},
|
|
"SickScanXdLidar01": {
|
|
"DeviceId": "scan_2",
|
|
"Enabled": false,
|
|
"DeviceName": "SICK Scan XD LiDAR 1",
|
|
"DeviceType": "Lidar",
|
|
"DriverName": "SickScanXdLidarDriver",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "SICK Scan XD LiDAR Driver - TCP/IP SOPAS Protocol",
|
|
"Connection": {
|
|
"IpAddress": "192.168.100.22",
|
|
"TcpPort": 2112,
|
|
"ScannerType": "sick_tim_7xxS",
|
|
"UseBinaryProtocol": true,
|
|
"FrameId": "scan_2",
|
|
"StartAngle": -135.0,
|
|
"EndAngle": 135.0,
|
|
"ConnectTimeoutMs": 5000,
|
|
"CommandTimeoutMs": 5000,
|
|
"ReadTimeoutMs": 5000,
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0
|
|
}
|
|
},
|
|
"SickScanXdLidar02": {
|
|
"DeviceId": "scan_2",
|
|
"Enabled": false,
|
|
"DeviceName": "SICK Scan XD LiDAR 2",
|
|
"DeviceType": "Lidar",
|
|
"DriverName": "SickScanXdLidarDriver",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "SICK Scan XD LiDAR Driver - TCP/IP SOPAS Protocol",
|
|
"Connection": {
|
|
"IpAddress": "192.168.254.11",
|
|
"TcpPort": 2371,
|
|
"ScannerType": "sick_tim_7xxS",
|
|
"UseBinaryProtocol": true,
|
|
"FrameId": "scan_2",
|
|
"StartAngle": -135.0,
|
|
"EndAngle": 135.0,
|
|
"ConnectTimeoutMs": 5000,
|
|
"CommandTimeoutMs": 5000,
|
|
"ReadTimeoutMs": 5000,
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0
|
|
}
|
|
},
|
|
"SickScanXdLidar03": {
|
|
"DeviceId": "scan_3",
|
|
"Enabled": false,
|
|
"DeviceName": "SICK Scan XD LiDAR 3",
|
|
"DeviceType": "Lidar",
|
|
"DriverName": "SickScanXdLidarDriver",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "SICK Scan XD LiDAR Driver - TCP/IP SOP AS Protocol",
|
|
"Connection": {
|
|
"IpAddress": "192.168.254.13",
|
|
"TcpPort": 6063,
|
|
"ScannerType": "sick_tim_7xxS",
|
|
"UseBinaryProtocol": true,
|
|
"FrameId": "scan_3",
|
|
"StartAngle": -135.0,
|
|
"EndAngle": 135.0,
|
|
"ConnectTimeoutMs": 5000,
|
|
"CommandTimeoutMs": 5000,
|
|
"ReadTimeoutMs": 5000,
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0
|
|
}
|
|
},
|
|
"WheeltecIMU": {
|
|
"DeviceId": "imu",
|
|
"Enabled": true,
|
|
"DeviceName": "Wheetec N100 IMU",
|
|
"DeviceType": "IMU",
|
|
"DriverName": "WheeltecN100IMU",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "IMU",
|
|
"Connection": {
|
|
"Port": "/dev/imu",
|
|
"BaudRate": 921600,
|
|
"Timeout": 2000,
|
|
"DebugEnabled": true,
|
|
"PrintDataIntervalMs": 100
|
|
}
|
|
},
|
|
"HikVisionQr": {
|
|
"DeviceId": "hik-qr-001",
|
|
"Enabled": false,
|
|
"DeviceName": "HikVision QR Camera",
|
|
"DeviceType": "CameraQr",
|
|
"DriverName": "HikVisionQr",
|
|
"DriverVersion": "1.0.0",
|
|
"Description": "HikVision Camera for QR Code Detection",
|
|
"Connection": {
|
|
"LocalIP": "192.168.254.100",
|
|
"LocalPort": 1024,
|
|
"CameraWidth": 800,
|
|
"CameraHeight": 600,
|
|
"DistanceToQr": 0.165,
|
|
"FovRangeWidthMm": 170.0,
|
|
"FovRangeHeightMm": 130.0,
|
|
"FovRangeDistanceMm": 100.0,
|
|
"QrDataTimeoutSeconds": 3.0,
|
|
"AutoReconnectEnabled": true,
|
|
"ReconnectDelayMs": 3000,
|
|
"MaxReconnectAttempts": 0
|
|
}
|
|
},
|
|
"PLC": {
|
|
"DeviceId": "plc-001",
|
|
"Enabled": true,
|
|
"DeviceName": "PLC_Controller",
|
|
"DeviceType": "ModbusTcp",
|
|
"DriverName": "ModbusTCP",
|
|
"DriverVersion": "1.0.0",
|
|
"Connection": {
|
|
"Port": 502,
|
|
"IpAddress": "192.168.100.5",
|
|
"SlaveId": 1,
|
|
"SyncIntervalMs": 200,
|
|
"ConnectTimeoutMs": 5000,
|
|
"AutoReconnectEnabled": true,
|
|
"Coils": {
|
|
"Range1": {
|
|
"StartAddress": 2848,
|
|
"Quantity": 32,
|
|
"Name": "Input PLC",
|
|
"ChildrenNames": [
|
|
"M800 EMC Button",
|
|
"M801 Bumper",
|
|
"M802 Lidar NS3-FR",
|
|
"M803 Lidar NS3-RR",
|
|
"M804 Lidar TIM718S-FR",
|
|
"M805 Lift up limit",
|
|
"M806 Lift down limit",
|
|
"M807 Rotate homing",
|
|
"M808 Left motor ready",
|
|
"M809 Right motor ready",
|
|
"M810 Lift motor ready",
|
|
"M811 Lock",
|
|
"M812 Auto",
|
|
"M813 Manual",
|
|
"M814 Start",
|
|
"M815 Reset",
|
|
"M816 Stop",
|
|
"M817 Load present",
|
|
"M818 PLC enables charging contact",
|
|
"M819 Response Charging",
|
|
"M820 Response Muted Base",
|
|
"M821 Response Muted Load",
|
|
"M",
|
|
"M",
|
|
"M",
|
|
"M825 Speed very slow",
|
|
"M826 Speed slow",
|
|
"M827 Speed normal",
|
|
"M828 Speed medium",
|
|
"M829 Speed Optimal",
|
|
"M830 Speed Fast",
|
|
"M831 Overspeed"
|
|
]
|
|
},
|
|
"Range2": {
|
|
"StartAddress": 2948,
|
|
"Quantity": 33,
|
|
"Name": "Output PLC",
|
|
"ChildrenNames": [
|
|
"M900 INIT",
|
|
"M901 PAUSE",
|
|
"M902 IDLE",
|
|
"M903 PROCESSING",
|
|
"M904 DOCKING",
|
|
"M905 MAINTENANCE",
|
|
"M906 MANUAL",
|
|
"M907 OVERRIDE",
|
|
"M908 CHARGING",
|
|
"M909 Error",
|
|
"M",
|
|
"M",
|
|
"M",
|
|
"M",
|
|
"M",
|
|
"M915 Moving",
|
|
"M916 Lifting",
|
|
"M917 Rotating",
|
|
"M918 Light on",
|
|
"M",
|
|
"M920 Engage contact",
|
|
"M921 Load horizontal detected",
|
|
"M922 Set Muted Base",
|
|
"M923 Muted Load",
|
|
"M924 RF Default",
|
|
"M925 RF Maintenance",
|
|
"M926 RF Override",
|
|
"M927 Load present",
|
|
"M928 EMC RF Remote",
|
|
"M929 Low battery",
|
|
"M930",
|
|
"M931 Forward",
|
|
"M932 Reverse"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"Motion": {
|
|
"DifferentialDrive": {
|
|
"LeftWheel": {
|
|
"DeviceId": "left-wheel",
|
|
"Position": {
|
|
"Position": {
|
|
"X": 0.0,
|
|
"Y": 0.2251,
|
|
"Z": 0.0
|
|
},
|
|
"Orientation": {
|
|
"X": 0.0,
|
|
"Y": 0.0,
|
|
"Z": 1.0,
|
|
"W": 0.0
|
|
}
|
|
},
|
|
"WheelDiameter": 0.195,
|
|
"PulsesPerRevolution": 100000,
|
|
"IsReversed": false
|
|
},
|
|
"RightWheel": {
|
|
"DeviceId": "right-wheel",
|
|
"Position": {
|
|
"Position": {
|
|
"X": 0.0,
|
|
"Y": -0.2251,
|
|
"Z": 0.0
|
|
},
|
|
"Orientation": {
|
|
"X": 0.0,
|
|
"Y": 0.0,
|
|
"Z": 0.0,
|
|
"W": 1.0
|
|
}
|
|
},
|
|
"WheelDiameter": 0.195,
|
|
"PulsesPerRevolution": 100000,
|
|
"IsReversed": true
|
|
}
|
|
},
|
|
"ManualControl": {
|
|
"RfHandleDeviceId": "rfhandle-YNZDH-001",
|
|
"MinLinearVelocity": 0.0,
|
|
"MaxLinearVelocity": 1.5,
|
|
"MinAngularVelocity": 0.0,
|
|
"MaxAngularVelocity": 1.0,
|
|
"UpdateRate": 20.0
|
|
},
|
|
"PS5Controller": {
|
|
"R1Velocity": 0.3,
|
|
"R2Velocity": 0.5,
|
|
"L1Velocity": 0.7,
|
|
"L2Velocity": 1.0,
|
|
"MaxAngularVelocity": 1.0,
|
|
"UpdateRate": 20.0,
|
|
"GamepadIndex": null
|
|
},
|
|
"Odometry": {
|
|
"LeftWheel": {
|
|
"DeviceId": "left-wheel",
|
|
"WheelDiameter": 0.182,
|
|
"PulsesPerRevolution": 100000
|
|
},
|
|
"RightWheel": {
|
|
"DeviceId": "right-wheel",
|
|
"WheelDiameter": 0.182,
|
|
"PulsesPerRevolution": 100000
|
|
},
|
|
"Wheelbase": 0.452,
|
|
"FrameId": "odom",
|
|
"ChildFrameId": "base_link",
|
|
"ImuDeviceId": "imu"
|
|
},
|
|
"EKF": {
|
|
"ImuDeviceId": "imu",
|
|
"FrameId": "odom",
|
|
"ChildFrameId": "base_link",
|
|
"UpdateRateHz": 20.0,
|
|
"ProcessNoisePosition": 0.01,
|
|
"ProcessNoiseOrientation": 0.01,
|
|
"ProcessNoiseVelocity": 0.1,
|
|
"MeasurementNoisePosition": 0.05,
|
|
"MeasurementNoiseOrientation": 0.01,
|
|
"InitialPositionUncertainty": 0.1,
|
|
"InitialOrientationUncertainty": 0.1,
|
|
"InitialVelocityUncertainty": 0.5,
|
|
"EnableSlipDetection": false,
|
|
"EnableWheelsInAirDetection": false,
|
|
"EnableAdaptiveNoise": true,
|
|
"EnableSlipLogging": true,
|
|
"AccelerationMismatchThreshold": 0.5,
|
|
"InnovationThreshold": 3.0,
|
|
"MaxNoiseScale": 10.0,
|
|
"ZAxisFreefallThreshold": 0.15,
|
|
"HorizontalMotionThreshold": 0.1,
|
|
"WheelsInAirNoiseScale": 100.0
|
|
}
|
|
},
|
|
"Modules": {
|
|
"LiftModule": {
|
|
"Enable": false,
|
|
"DeviceId": "lift-motor",
|
|
"HomingMethod": 21,
|
|
"HomingSpeed": 50000,
|
|
"ProfileVelocity": 220000,
|
|
"ProfileAcceleration": 100000,
|
|
"ProfileDeceleration": 100000,
|
|
"MinPosition": 0,
|
|
"MaxPosition": 1000000,
|
|
"StatusWordCheckIntervalMs": 50
|
|
}
|
|
},
|
|
"Xloc": {
|
|
"Integration": {
|
|
"Enabled": true,
|
|
"Mode": "Mapping",
|
|
"UpdateRateHz": 2,
|
|
"MapFilePath": "",
|
|
"SaveMapFilePath": "/home/robotics/.local/share/xloc/resources/maps",
|
|
"EnableEKFOdometry": false,
|
|
"EKFOdometrySensorId": "odom",
|
|
"EnableRawOdometry": true,
|
|
"RawOdometrySensorId": "odom",
|
|
"EnableIMU": true,
|
|
"ImuDeviceId": "imu",
|
|
"ImuSensorId": "imu",
|
|
"ImuFrameId": "imu",
|
|
"EnableLidar1": true,
|
|
"EnableLidar2": true,
|
|
"EnableLidar3": false,
|
|
"Lidar1DeviceId": "scan_1",
|
|
"Lidar1SensorId": "scan_1",
|
|
"Lidar2DeviceId": "scan_2",
|
|
"Lidar2SensorId": "scan_2",
|
|
"Lidar3DeviceId": "scan_3",
|
|
"Lidar3SensorId": "scan_3",
|
|
"StatsLogIntervalSeconds": 10,
|
|
"AutoStartLocalizationOnReady": true,
|
|
"AutoStartLocalizationPollIntervalMs": 500,
|
|
"AutoStartLocalizationCooldownAfterStopMs": 10000
|
|
}
|
|
},
|
|
"Navigation": {
|
|
"Integration": {
|
|
"Enabled": true,
|
|
"UpdateIntervalMs": 100,
|
|
"EnableNavigationIntegration": true,
|
|
"EnableOdometryDispatch": true,
|
|
"OdomDispatchIntervalMs": 20,
|
|
"EnableLaserScan1": false,
|
|
"Lidar1DeviceId": "scan_1",
|
|
"EnableLaserScan2": false,
|
|
"Lidar2DeviceId": "scan_2",
|
|
"EnableLaserScan3": false,
|
|
"Lidar3DeviceId": "scan_3",
|
|
"EnableGridMapDispatch": true,
|
|
"UseOnlineGridMap": true,
|
|
"GridMapDispatchIntervalMs": 1000,
|
|
"LaserScanDispatchIntervalMs": 50,
|
|
"EnableTwistLinear": true,
|
|
"TwistDispatchIntervalMs": 20,
|
|
"EnableNavigationTwistDispatch": true,
|
|
"NavigationTwistDispatchIntervalMs": 20,
|
|
"RobotFootprint": [
|
|
{
|
|
"X": 0.4,
|
|
"Y": 0.275,
|
|
"Z": 0.0
|
|
},
|
|
{
|
|
"X": 0.4,
|
|
"Y": -0.275,
|
|
"Z": 0.0
|
|
},
|
|
{
|
|
"X": -0.4,
|
|
"Y": -0.275,
|
|
"Z": 0.0
|
|
},
|
|
{
|
|
"X": -0.4,
|
|
"Y": 0.275,
|
|
"Z": 0.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"MarkerDetection": {
|
|
"Integration": {
|
|
"Enabled": false,
|
|
"MarkerType": "Segment",
|
|
"LidarDeviceId": "scan_1",
|
|
"LaserScanSensorId": "scan",
|
|
"LaserScanDispatchIntervalMs": 50,
|
|
"RectangleMarkerOptions": {
|
|
"MarkerFrameId": "marker",
|
|
"MarkerLength": 0.5,
|
|
"MarkerWidth": 0.3,
|
|
"MarkerGeometricError": 0.01,
|
|
"MarkerIntensityThreshold": 100.0,
|
|
"AngleMinOfScan": -1.57,
|
|
"AngleMaxOfScan": 1.57,
|
|
"MinRangeOfScan": 0.1,
|
|
"MaxRangeOfScan": 10.0,
|
|
"UseEstimateMarkerPose": false,
|
|
"MaxPositionError": 0.2,
|
|
"MaxYawAngleError": 0.1,
|
|
"NumFilterSamples": 5,
|
|
"LegThicknessOffset": 0.05,
|
|
"run_debug": true
|
|
},
|
|
"SegmentMarkerOptions": {
|
|
"MarkerFrameId": "segment_marker",
|
|
"MarkerLength": 0.3,
|
|
"MarkerGeometricError": 0.01,
|
|
"MarkerIntensityThreshold": 100.0,
|
|
"AngleMinOfScan": -1.57,
|
|
"AngleMaxOfScan": 1.57,
|
|
"MinRangeOfScan": 0.1,
|
|
"MaxRangeOfScan": 10.0,
|
|
"UseEstimateMarkerPose": false,
|
|
"MaxPositionError": 0.2,
|
|
"MaxYawAngleError": 0.1,
|
|
"NumFilterSamples": 5,
|
|
"LegThicknessOffset": 0.05,
|
|
"RunDebug": true
|
|
}
|
|
}
|
|
},
|
|
"Tf3": {
|
|
"StaticTransforms": [
|
|
{
|
|
"FrameId": "base_link",
|
|
"ChildFrameId": "imu",
|
|
"Pose": {
|
|
"Position": { "X": 0.0, "Y": 0.0, "Z": 0.0 },
|
|
"Orientation": { "X": 1.0, "Y": 0.0, "Z": 0.0, "W": 0.0 }
|
|
}
|
|
},
|
|
{
|
|
"FrameId": "base_link",
|
|
"ChildFrameId": "scan_1",
|
|
"Pose": {
|
|
"Position": { "X": 0.095, "Y": 0.01, "Z": 0.0 },
|
|
"Orientation": { "X": 0.0, "Y": 0.0, "Z": 0.0261769, "W": 0.9996573 }
|
|
}
|
|
},
|
|
{
|
|
"FrameId": "base_link",
|
|
"ChildFrameId": "scan_2",
|
|
"Pose": {
|
|
"Position": { "X": -0.355, "Y": -0.01, "Z": 0.0 },
|
|
"Orientation": { "X": 0.0, "Y": 0.0, "Z": 1.0, "W": 0.0 }
|
|
}
|
|
},
|
|
{
|
|
"FrameId": "base_link",
|
|
"ChildFrameId": "scan_3",
|
|
"Pose": {
|
|
"Position": { "X": 0.707, "Y": 0.2825, "Z": 0.0 },
|
|
"Orientation": { "X": 0.0, "Y": 0.0, "Z": 0.3826834, "W": 0.9238795 }
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"ScriptEngine": {
|
|
"RuntimeDllFolder": "bin/dlls"
|
|
},
|
|
"StorageConfig": {
|
|
"UsingLocal": true,
|
|
"LocalFolder": "RobotAppCustomConfigs",
|
|
"Bucket": "robotapp-custom-configs",
|
|
"RetryCount": 3,
|
|
"MinioConfig": {
|
|
"Endpoint": "192.168.20.235:9000",
|
|
"User": "minio",
|
|
"Password": "robotics",
|
|
"EnableSSL": false
|
|
}
|
|
},
|
|
"LayoutImage": {
|
|
"UsingLocal": true,
|
|
"LocalFolder": "RobotAppLayoutImages",
|
|
"Bucket": "robotapp-layout-images",
|
|
"RetryCount": 3,
|
|
"MinioConfig": {
|
|
"Endpoint": "192.168.20.235:9000",
|
|
"User": "minio",
|
|
"Password": "robotics",
|
|
"EnableSSL": false
|
|
}
|
|
},
|
|
"RobotConfig": "ModelConfigs/dang-test.json"
|
|
}
|