mirror of
https://git.ti.com/git/mmwave_radar/mmwave_ti_ros.git
synced 2026-05-21 01:12:08 +00:00
Add support for ES2, improve 6432 config to have xyz and velocity
This commit is contained in:
Binary file not shown.
@@ -1,29 +0,0 @@
|
||||
% ***************************************************************
|
||||
% PresenceDetect: Chirp configuration and Processing chain are
|
||||
% optimized to detect any kind of motion, including fine movements
|
||||
% (even small movements that are present while sitting still,
|
||||
% such as, movement caused by typing, breathing, etc.). However,
|
||||
% there is no velocity measurement reported in this case.
|
||||
% It is typically useful for applications such as identifying
|
||||
% presence or absence of occupants in an indoor setting.
|
||||
% Localization (Angle estimation) of the object is possible.
|
||||
% ***************************************************************
|
||||
channelCfg 7 3 0
|
||||
chirpComnCfg 18 0 0 128 4 30 0
|
||||
chirpTimingCfg 6 28 0 90 59.75
|
||||
frameCfg 8 0 250 1 150 0
|
||||
guiMonitor 2 0 0 0 0 0 0 0 0 0 0
|
||||
sigProcChainCfg 64 8 2 0 4 4 0 .5
|
||||
cfarCfg 2 4 3 2 0 14.0 0 0.5 0 1 1 1
|
||||
aoaFovCfg -60 60 -40 40
|
||||
rangeSelCfg 0.1 4.0
|
||||
clutterRemoval 1
|
||||
compRangeBiasAndRxChanPhase 0.0 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000
|
||||
adcDataSource 0 adc_data_0001_CtestAdc6Ant.bin
|
||||
adcLogging 0
|
||||
lowPowerCfg 0
|
||||
factoryCalibCfg 1 0 40 0 0x1ff000
|
||||
sensorPosition 0 0 1.44 0 0
|
||||
minorStateCfg 5 4 40 8 4 30 8 8
|
||||
clusterCfg 1 0.5 2
|
||||
sensorStart 0 0 0 0
|
||||
@@ -8,22 +8,28 @@
|
||||
% presence or absence of occupants in an indoor setting.
|
||||
% Localization (Angle estimation) of the object is possible.
|
||||
% ***************************************************************
|
||||
sensorStop 0
|
||||
channelCfg 7 3 0
|
||||
chirpComnCfg 18 0 0 128 4 30 0
|
||||
chirpTimingCfg 6 28 0 90 59.75
|
||||
frameCfg 8 0 250 1 100 0
|
||||
chirpComnCfg 8 0 0 256 4 28 0
|
||||
chirpTimingCfg 6 63 0 75 60
|
||||
frameCfg 2 0 250 32 150 0
|
||||
guiMonitor 1 0 0 0 0 0 0 0 0 0 0
|
||||
sigProcChainCfg 64 8 2 0 4 4 0 .5
|
||||
cfarCfg 2 4 3 2 0 15.0 0 0.5 0 1 1 1
|
||||
sigProcChainCfg 16 16 1 1 4 4 0 15
|
||||
cfarCfg 2 8 4 3 0 10.0 0 0.5 0 1 1 1
|
||||
aoaFovCfg -60 60 -40 40
|
||||
rangeSelCfg 0.05 4.0
|
||||
rangeSelCfg 0.1 12.0
|
||||
clutterRemoval 1
|
||||
compRangeBiasAndRxChanPhase 0.0 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000 1.00000 0.00000 -1.00000 0.00000
|
||||
adcDataSource 0 adc_data_0001_CtestAdc6Ant.bin
|
||||
adcDataSource 0 C:/ti/mmwave_lp_sdk/examples/datapath/common/testBench/major_motion/adc_data_0001_CtestAdc6Ant.bin
|
||||
adcLogging 0
|
||||
lowPowerCfg 0
|
||||
factoryCalibCfg 1 0 40 5 0x1ff000
|
||||
lowPowerCfg 1
|
||||
factoryCalibCfg 1 0 40 0 0x1ff000
|
||||
mpdBoundaryBox 1 0 1.48 0 1.95 0 3
|
||||
mpdBoundaryBox 2 0 1.48 1.95 3.9 0 3
|
||||
mpdBoundaryBox 3 -1.48 0 0 1.95 0 3
|
||||
mpdBoundaryBox 4 -1.48 0 1.95 3.9 0 3
|
||||
sensorPosition 0 0 1.44 0 0
|
||||
minorStateCfg 5 4 40 8 4 30 8 8
|
||||
majorStateCfg 4 2 30 10 8 80 4 4
|
||||
clusterCfg 1 0.5 2
|
||||
sensorStart 0 0 0 0
|
||||
|
||||
@@ -90,7 +90,10 @@ def generate_launch_description():
|
||||
{"mmwavecli_name": name},
|
||||
{"mmwavecli_cfg": path},
|
||||
{"data_port": data_port},
|
||||
{"data_rate": data_rate}
|
||||
{"data_rate": data_rate},
|
||||
{"frame_id": "ti_mmwave_0"},
|
||||
{"max_allowed_elevation_angle_deg": 90},
|
||||
{"max_allowed_azimuth_angle_deg": 90}
|
||||
]
|
||||
),
|
||||
Node(
|
||||
|
||||
@@ -406,14 +406,18 @@ void *DataUARTHandler::sortIncomingData(void)
|
||||
//get number of objects
|
||||
memcpy( &mmwData.numObjOut, ¤tBufp->at(currentDatap), sizeof(mmwData.numObjOut));
|
||||
currentDatap += ( sizeof(mmwData.numObjOut) );
|
||||
//RCLCPP_INFO(rclcpp::get_logger("rclcpp"),"mmwData.numObjOut = %i", mmwData.numObjOut);
|
||||
|
||||
|
||||
//get xyzQFormat
|
||||
memcpy( &mmwData.xyzQFormat, ¤tBufp->at(currentDatap), sizeof(mmwData.xyzQFormat));
|
||||
currentDatap += ( sizeof(mmwData.xyzQFormat) );
|
||||
//RCLCPP_INFO(rclcpp::get_logger("rclcpp"),"mmwData.xyzQFormat = %d", mmwData.xyzQFormat);
|
||||
}
|
||||
else // SDK version is at least 3.x
|
||||
{
|
||||
mmwData.numObjOut = mmwData.header.numDetectedObj;
|
||||
//RCLCPP_INFO(rclcpp::get_logger("rclcpp"),"mmwData.numObjOut = %i", mmwData.numObjOut);
|
||||
}
|
||||
|
||||
RScan->header.frame_id = frameID;
|
||||
@@ -517,6 +521,11 @@ void *DataUARTHandler::sortIncomingData(void)
|
||||
memcpy( &mmwData.newObjOut.velocity, ¤tBufp->at(currentDatap), sizeof(mmwData.newObjOut.velocity));
|
||||
currentDatap += ( sizeof(mmwData.newObjOut.velocity) );
|
||||
|
||||
//RCLCPP_INFO(rclcpp::get_logger("rclcpp"),"mmwData.objOut.x = %f", mmwData.newObjOut.x);
|
||||
//RCLCPP_INFO(rclcpp::get_logger("rclcpp"),"mmwData.objOut.y = %f", mmwData.newObjOut.y);
|
||||
//RCLCPP_INFO(rclcpp::get_logger("rclcpp"),"mmwData.objOut.z = %f", mmwData.newObjOut.z);
|
||||
//RCLCPP_INFO(rclcpp::get_logger("rclcpp"),"mmwData.objOut.velocity = %f", mmwData.newObjOut.velocity);
|
||||
|
||||
// Map mmWave sensor coordinates to ROS coordinate system
|
||||
RScan->points[i].x = mmwData.newObjOut.y; // ROS standard coordinate system X-axis is forward which is the mmWave sensor Y-axis
|
||||
RScan->points[i].y = -mmwData.newObjOut.x; // ROS standard coordinate system Y-axis is left which is the mmWave sensor -(X-axis)
|
||||
|
||||
Reference in New Issue
Block a user