{ "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": false, "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": false, "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 } ] } } }, "ZLAC_LeftWheel": { "DeviceId": "left-wheel", "Enabled": true, "DeviceType": "CiA402Servo", "DeviceName": "Left Wheel (ZLAC8015D)", "DriverName": "ZLAC8015D", "DriverVersion": "1.0.0", "Description": "ZLAC8015D dual hub servo - truc trai (1 node CAN dieu khien ca 2 banh, cung NodeId voi truc phai)", "Connection": { "CanInterface": "can0", "NodeId": "1", "Axis": "Left", "CountsPerRevolution": 4096, "SpeedResolution": 10, "AccelTimeMs": 200, "DecelTimeMs": 200, "AutoReconnectEnabled": true, "ReconnectDelayMs": 3000, "MaxReconnectAttempts": 0, "PdoConfigRetryCount": 3, "PdoConfigRetryTimeoutMs": 1000, "UseHeartbeatCheck": true } }, "ZLAC_RightWheel": { "DeviceId": "right-wheel", "Enabled": true, "DeviceType": "CiA402Servo", "DeviceName": "Right Wheel (ZLAC8015D)", "DriverName": "ZLAC8015D", "DriverVersion": "1.0.0", "Description": "ZLAC8015D dual hub servo - truc phai (1 node CAN dieu khien ca 2 banh, cung NodeId voi truc trai)", "Connection": { "CanInterface": "can0", "NodeId": "1", "Axis": "Right", "CountsPerRevolution": 4096, "SpeedResolution": 10, "AccelTimeMs": 200, "DecelTimeMs": 200, "AutoReconnectEnabled": true, "ReconnectDelayMs": 3000, "MaxReconnectAttempts": 0, "PdoConfigRetryCount": 3, "PdoConfigRetryTimeoutMs": 1000, "UseHeartbeatCheck": true } }, "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 } ] } } }, "HinsonLidar": { "Enabled": true, "DeviceId": "lidar-hinson-front", "DeviceName": "Hinson FE-35FB-01000", "DeviceType": "Lidar", "DriverName": "HinsonFE35LidarDriver", "DriverVersion": "1.0.0", "Connection": { "IpAddress": "192.168.100.88", "Port": 8080, "FrameId": "hinson-front", "MaxRangeM": 35.0 } }, "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": false, "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": false, "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": false, "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 } }, "HfiA9IMU": { "DeviceId": "imu", "Enabled": true, "DeviceName": "HandsFree HFI-A9 IMU", "DeviceType": "IMU", "DriverName": "HfiA9IMU", "DriverVersion": "1.0.0", "Description": "IMU", "Connection": { "Port": "/dev/serial/by-id/usb-Silicon_Labs_HandsFree_IMU_USB_to_UART_Bridge_Controller_0001-if00-port0", "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": false, "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": 4096, "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": 4096, "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": 4096 }, "RightWheel": { "DeviceId": "right-wheel", "WheelDiameter": 0.182, "PulsesPerRevolution": 4096 }, "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" }