Skip to content

Commit

Permalink
Fix pcl anomaly and timestamp (#27)
Browse files Browse the repository at this point in the history
  • Loading branch information
smartSRA authored Dec 16, 2022
1 parent dc85dab commit 0d355f3
Show file tree
Hide file tree
Showing 12 changed files with 597 additions and 802 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,8 @@ This release includes the new smartmicro sensor DRVEGRD 152. The driver offers m

## v3.2.0 - 2022-11-11

This minor release introduces signal-to-noise field in the pointclouds and also fixes the max number of sensors that could be connected at once.
This minor release introduces signal-to-noise field in the pointclouds and also fixes the max number of sensors that could be connected at once.

## v3.2.1 - 2022-12-16

This release fixes the offset which causes anomaly in pointclouds from DRVEGRD 152 sensor. It also fixes the timestamp calculation bug which causes rviz to crash and updates the simulator source files.
8 changes: 4 additions & 4 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,18 @@ A [smartmicro](https://www.smartmicro.com/automotive-radar) UMRR96, UMRR11, DRVE
required to run this node. This code is bundled with a version of Smart Access API. Please make
sure the version used to publish the data is compatible with this version:

- Date of release: `November 11, 2022`
- Smart Access Automotive version: `v2.1.0`
- Date of release: `December 16, 2022`
- Smart Access Automotive version: `v2.2.3`
- User interface version: `UMRR96 Type 153 AUTOMOTIVE v1.2.1`
- User interface version: `UMRR11 Type 132 AUTOMOTIVE v1.1.1`
- User interface version: `UMRR9F Type 169 AUTOMOTIVE v1.1.1`
- User interface version: `UMRR9D Type 152 AUTOMOTIVE v1.0.1`
- User interface version: `UMRR9D Type 152 AUTOMOTIVE v1.0.2`

### Sensor Firmwares
This ROS2 driver release is compatible with the following sensor firmwares:
- UMRR11 Type 132: V5.1.4
- UMRR96 Type 153: V5.2.4
- UMRR9D Type 152: V1.0.0
- UMRR9D Type 152: V2.1.0
- UMRR9F Type 169: V1.3.0

### Point cloud message wrapper library
Expand Down
2 changes: 1 addition & 1 deletion simulator/config_umrr9d/com_lib_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"user_interface_name": "umrr9d_t152_automotive",
"user_interface_major_v": 1,
"user_interface_minor_v": 0,
"user_interface_patch_v": 1,
"user_interface_patch_v": 2,
"download_path": "",
"instruction_serialization_type": "port_based",
"data_serialization_type": "port_based",
Expand Down
4 changes: 3 additions & 1 deletion simulator/simulation/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,16 @@ target_include_directories(simulator PUBLIC
../../umrr_ros2_driver/smartmicro/include
umrr_ros2_driver/smartmicro/include/umrr11_t132_automotive_v1_1_1
umrr_ros2_driver/smartmicro/include/umrr96_t153_automotive_v1_2_1
umrr_ros2_driver/smartmicro/include/umrr9f_t169_automotive_v1_1_1)
umrr_ros2_driver/smartmicro/include/umrr9f_t169_automotive_v1_1_1
umrr_ros2_driver/smartmicro/include/umrr9d_t152_automotive_v1_0_2)

target_link_libraries(simulator
com_lib
osal
umrr11_t132_automotivev1.1.1_user_interface
umrr96_t153_automotivev1.2.1_user_interface
umrr9f_t169_automotivev1.1.1_user_interface
umrr9d_t152_automotivev1.0.2_user_interface
dl)

install(TARGETS simulator DESTINATION bin)
4 changes: 2 additions & 2 deletions smart_extract.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
set -e

smart_pack=SmartAccessAutomotive_2_1_0.tar.gz
smart_pack=SmartAccessAutomotive_2_2_3.tgz
URL_smartbinaries=https://www.smartmicro.com/fileadmin/media/Downloads/Automotive_Radar/Software/${smart_pack}

cat << EOF
Expand Down Expand Up @@ -42,7 +42,7 @@ echo
function getSmartaccessBinaries {
wget -c $URL_smartbinaries
echo "extracting smart access"
tar xfz $smart_pack -C umrr_ros2_driver/smartmicro/
tar xfz $smart_pack --strip-components=1 -C umrr_ros2_driver/smartmicro/
}

function cleanup {
Expand Down
6 changes: 3 additions & 3 deletions umrr_ros2_driver/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ install(FILES
"${PROJECT_SOURCE_DIR}/smartmicro/lib-linux-x86_64-gcc_9/libumrr11_t132_automotivev1.1.1_user_interface.so"
"${PROJECT_SOURCE_DIR}/smartmicro/lib-linux-x86_64-gcc_9/libumrr96_t153_automotivev1.2.1_user_interface.so"
"${PROJECT_SOURCE_DIR}/smartmicro/lib-linux-x86_64-gcc_9/libumrr9f_t169_automotivev1.1.1_user_interface.so"
"${PROJECT_SOURCE_DIR}/smartmicro/lib-linux-x86_64-gcc_9/libumrr9d_t152_automotivev1.0.1_user_interface.so"
"${PROJECT_SOURCE_DIR}/smartmicro/lib-linux-x86_64-gcc_9/libumrr9d_t152_automotivev1.0.2_user_interface.so"
DESTINATION lib)

set(LIB_PATH "${CMAKE_INSTALL_PREFIX}/lib")
Expand All @@ -81,7 +81,7 @@ smartmicro/include/
smartmicro/include/umrr11_t132_automotive_v1_1_1
smartmicro/include/umrr96_t153_automotive_v1_2_1
smartmicro/include/umrr9f_t169_automotive_v1_1_1
smartmicro/include/umrr9d_t152_automotive_v1_0_1)
smartmicro/include/umrr9d_t152_automotive_v1_0_2)

# link smart_access_lib-linux-x86_64-gcc_9 to the node
target_link_libraries(smartmicro_radar_node
Expand All @@ -92,7 +92,7 @@ target_link_libraries(smartmicro_radar_node
umrr11_t132_automotivev1.1.1_user_interface
umrr96_t153_automotivev1.2.1_user_interface
umrr9f_t169_automotivev1.1.1_user_interface
umrr9d_t152_automotivev1.0.1_user_interface)
umrr9d_t152_automotivev1.0.2_user_interface)

rclcpp_components_register_node(smartmicro_radar_node
PLUGIN "smartmicro::drivers::radar::SmartmicroRadarNode"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
#include <umrr11_t132_automotive_v1_1_1/DataStreamServiceIface.h>
#include <umrr96_t153_automotive_v1_2_1/DataStreamServiceIface.h>
#include <umrr9f_t169_automotive_v1_1_1/DataStreamServiceIface.h>
#include <umrr9d_t152_automotive_v1_0_1/DataStreamServiceIface.h>
#include <umrr9d_t152_automotive_v1_0_2/DataStreamServiceIface.h>

#include <array>
#include <memory>
Expand Down Expand Up @@ -136,7 +136,7 @@ class UMRR_ROS2_DRIVER_PUBLIC SmartmicroRadarNode : public ::rclcpp::Node
void targetlist_callback_umrr9d(
const std::uint32_t sensor_idx,
const std::shared_ptr<
com::master::umrr9d_t152_automotive_v1_0_1::comtargetlistport::ComTargetListPort> &
com::master::umrr9d_t152_automotive_v1_0_2::comtargetlistport::ComTargetListPort> &
targetlist_port_umrr9d,
const com::types::ClientId client_id);

Expand Down Expand Up @@ -198,7 +198,7 @@ std::shared_ptr<com::master::CommunicationServicesIface> m_services{};
std::shared_ptr<com::master::umrr11_t132_automotive_v1_1_1::DataStreamServiceIface> data_umrr11{};
std::shared_ptr<com::master::umrr96_t153_automotive_v1_2_1::DataStreamServiceIface> data_umrr96{};
std::shared_ptr<com::master::umrr9f_t169_automotive_v1_1_1::DataStreamServiceIface> data_umrr9f{};
std::shared_ptr<com::master::umrr9d_t152_automotive_v1_0_1::DataStreamServiceIface> data_umrr9d{};
std::shared_ptr<com::master::umrr9d_t152_automotive_v1_0_2::DataStreamServiceIface> data_umrr9d{};

} // namespace radar
} // namespace drivers
Expand Down
2 changes: 1 addition & 1 deletion umrr_ros2_driver/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>umrr_ros2_driver</name>
<version>3.2.0</version>
<version>3.2.1</version>
<description>A node to publish data from a smartmicro radar.</description>
<maintainer email="[email protected]">s.m.s, smart microwave sensors GmbH.</maintainer>
<license>Apache 2.0 License</license>
Expand Down
16 changes: 15 additions & 1 deletion umrr_ros2_driver/smartmicro/include/DataServicesIface.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,23 @@ class EXPORT_COM_LIB DataServicesIface : public com::VersionedIface {
* Return: ErrorCode
* Description: Streams a data port to input client id
*/
virtual ErrorCode StreamDataPort(IN ClientId clientId,
virtual ErrorCode StreamDataPort(IN ClientId clientId,
IN PortId portId,
IN BufferDescriptor& buffer) = 0;

/*
* Function: StreamInternalDataPort
* Arguments: ClientId clientId - destination client id.
* PortId portId - id of the streamed port.
* BufferDescriptor& buffer - data buffer
* Return: ErrorCode
* Description: Streams a internal data port to input client id.
* This will return with an error code if the port is
* content of client user interface
*/
virtual ErrorCode StreamInternalDataPort(
ClientId clientId, PortId portId, BufferDescriptor& buffer) = 0;

/*
* Function: Init
* Arguments: none
Expand Down
Loading

0 comments on commit 0d355f3

Please sign in to comment.