Basic Toolkitv1.33
This package includes basic application components by SMSL which work on RTMaps4. SMSL provides comprehensive signal generators, GNSS data processing functions and some help functions in this package.
The package is evaluated on the following OS versions:
- Windows11 64bit version.
- Ubuntu 24.04 LTS 64bit version
Topics
Components
Generator components3
These generator components are useful to validate the Kalman filter components or create phase signal.
- SineCosineGeneratorGenerates a sine and a cosine wave (90° apart) with variable gain, initial angle and DC offset.
- GaussianNoiseGeneratorGenerates Gaussian (normal) random noise with a given covariance (variance per sample), one sample per input sample.
- StaticImageGeneratorOutputs a uniform (single-color) grayscale or RGB image, once or periodically, e.g. as a base image for overlays.
GNSS components3
These GNSS components are useful to calculate physical signal from GNSS.
- GeoDistanceComputes the distance between two geographic points (latitude, longitude) on the WGS84 ellipsoid with Karney's algorithm (GeographicLib), and optionally with the Haversine formula.
- NMEA_GNS_DecoderDecodes the GNS sentence of an NMEA 0183 text stream into physical signals (tested with FURUNO PT-G1).
- NMEA_RMC_DecoderDecodes the RMC sentence of an NMEA 0183 text stream into physical signals (tested with FURUNO PT-G1).
Sensor Driver components3
The driver component for popular and low-cost sensors.
- YDLidarX2_DriverDriver for the YDLIDAR X2 low-cost 2-D LiDAR connected by USB serial; outputs one full scan per revolution.
- WitMotion_WT901BDecodes the serial data of the WitMotion WT901B IMU (acceleration, angular rate, angles, magnetic field, pressure, temperature, quaternion).
- Hi_Link_LD2410CDriver for the Hi-Link HLK-LD2410C 24 GHz mmWave human presence radar connected through a serial port; outputs the decoded target state, distances and energies.
Signal Processing components10
You can use the help components on demand.
- UnitDelayDelays a signal by delay_length samples.
- SkipEarlyFramesDrops the first n_skip_early_frames frames of each input and passes the following frames unchanged.
- SampleHistoryVectorizerKeeps the last max_samples samples of one numeric input and outputs them joined in one vector, oldest first, each time a sample arrives.
- MaxMinMeanforArrayComputes the maximum, minimum or mean of the elements of a vector.
- MaxMinMeanforMultipleSignalsComputes the maximum, minimum or mean across several scalar signals.
- NumericalTextWriterWrites numerical signals to a CSV file as hexadecimal or binary text.
- bits2ByteComposes one byte from 8 bit signals.
- Byte2bitsSeparates one byte into its 8 bits.
- imu_to_pose6DConverts the orientation quaternion of an IMU or AHRS to pose6D, whatever the sensor.
- imu_orientation_estimatorEstimates the orientation quaternion from a gyro and an accelerometer, optionally with a magnetometer, without GNSS.
Hardware Specification components1
The components that give the specification of the hardware, such as the robot body, to the other components.
Macro Component3
This package provides helpful macro components. You can get hints to use the components in them. The frequently edited properties are listed in the Specific tab in the Properties of the macros.
- SineCosineGenMacroMacro component that outputs a sine and a cosine wave with a given angle step, period and gain.
- GaussianNoiseGenMacroMacro component that outputs Gaussian noise with a given covariance at a fixed period.
- PresenceAlarmMacro component that raises an alarm when a person is still present while monitoring is on (left-behind alarm), from the target state decoded by Hi_Link_LD2410C.
Examples
This package provides primitive demo RTMaps diagrams for each component. You can refer to the usage example in them.
- DSB_AM_demoDSB_AM_demo.rtd is an example to create double side band amplitude modulation with two SineCosineGenenerator components.
- MaxMinMean_demoMaxMinMean_demo.rtd is an example to execute the basic calculation for numerical data.
- GeoDistance_demoGeoDistance_demo.rtd is an example to calculate the distance between 2 Geographic points with latitude and longitude.
- YDLidarDataAcquisition_demoYDLidarDataAcquisition_demo.rtd is an example to data acquisition from YDLidar X2.
- WitMotion_WT901B_imu_demoWitMotion_WT901B_imu_demo.rtd is an example to data acquisition from WT901B IMU.
- Hi_Link_LD2410C_demoHi_Link_LD2410C_demo.rtd is an example of a left-behind alarm with the Hi-Link LD2410C 24 GHz mmWave human presence radar.
RTMaps Toolkits Documentation