morse.modifiers package¶
Submodules¶
morse.modifiers.abstract_modifier module¶
- class AbstractModifier(component_instance, kwargs)[source]¶
Bases:
objectThe class is inherited by all modifiers. Concrete classes need to implement
modify().- property component_name¶
get the component name
- property data¶
get the component local data
morse.modifiers.ecef module¶
- class CoordinatesFromECEF(component_instance, kwargs)[source]¶
Bases:
ECEFmodifierConverts from UTM coordinates to Blender coordinates.
- class CoordinatesToECEF(component_instance, kwargs)[source]¶
Bases:
ECEFmodifierConverts from Blender coordinates to ECEF coordinates.
- class ECEFmodifier(component_instance, kwargs)[source]¶
Bases:
AbstractModifierThis modifier converts the coordinates from MORSE simulator (in LTP) into ECEF-r coordinates.
To work properly, you need to configure the following variables at the environment level:
longitude in degrees (double) of Blender origin
latitude in degrees (double) of Blender origin
altitude in m of the Blender origin
The ECEF modifier provides as modifiers:
morse.modifiers.feet module¶
- class FeetModifier(component_instance, kwargs)[source]¶
Bases:
AbstractModifierThis modifier converts datas from imperial units to metrics units and vice-versa.
The Feet modifier provides as modifiers:
- class FeetToMeter(component_instance, kwargs)[source]¶
Bases:
FeetModifierConverts Feet to Meter
- class MeterToFeet(component_instance, kwargs)[source]¶
Bases:
FeetModifierConverts Meter (Morse) to Feet
morse.modifiers.geocentric module¶
- class CoordinatesFromGeocentric(component_instance, kwargs)[source]¶
Bases:
GeocentricmodifierConverts from Geocentric coordinates to Blender coordinates.
- class CoordinatesToGeocentric(component_instance, kwargs)[source]¶
Bases:
GeocentricmodifierConverts from Blender coordinates to Geocentric coordinates.
- class Geocentricmodifier(component_instance, kwargs)[source]¶
Bases:
AbstractModifierThis modifier converts the coordinates from MORSE simulator (in LTP) into Geocentric coordinates.
To work properly, you need to configure the following variables at the environment level:
longitude in degrees (double) of Blender origin
latitude in degrees (double) of Blender origin
altitude in m of the Blender origin
The Geocentric modifier provides as modifiers:
morse.modifiers.ecef.CoordinatesToGeocentricmorse.modifiers.ecef.CoordinatesFromGeocentric
morse.modifiers.geodetic module¶
- class CoordinatesFromGeodetic(component_instance, kwargs)[source]¶
Bases:
GeodeticmodifierConverts from Geodetic coordinates to Blender coordinates.
- class CoordinatesToGeodetic(component_instance, kwargs)[source]¶
Bases:
GeodeticmodifierConverts from Blender coordinates to Geodetic coordinates.
- class Geodeticmodifier(component_instance, kwargs)[source]¶
Bases:
AbstractModifierThis modifier converts the coordinates from MORSE simulator (in LTP) into Geodetic coordinates.
To work properly, you need to configure the following variables at the environment level:
longitude in degrees (double) of Blender origin
latitude in degrees (double) of Blender origin
altitude in m of the Blender origin
The Geodetic modifier provides as modifiers:
morse.modifiers.ecef.CoordinatesToGeodeticmorse.modifiers.ecef.CoordinatesFromGeodetic
morse.modifiers.imu_noise module¶
- class IMUNoiseModifier(component_instance, kwargs)[source]¶
Bases:
AbstractModifierThis modifier allows to simulate Gaussian noise for accelerometer and gyroscope sensors of an IMU. No bias is modeled so far.
morse.modifiers.ned module¶
- class AnglesFromNED(component_instance, kwargs)[source]¶
Bases:
NEDModifierConvert the angles from NED to ENU.
- class AnglesToNED(component_instance, kwargs)[source]¶
Bases:
NEDModifierConvert the angles from ENU to NED.
- class CoordinatesFromNED(component_instance, kwargs)[source]¶
Bases:
NEDModifierConvert the coordinates from NED to ENU.
- class CoordinatesToNED(component_instance, kwargs)[source]¶
Bases:
NEDModifierConvert the coordinates from ENU to NED.
- class NEDModifier(component_instance, kwargs)[source]¶
Bases:
AbstractModifierThis modifier converts the coordinates generated by the MORSE simulator to change to the North, East, Down (NED) coordinate system, instead of the East, North, Up (ENU) system normally used by Blender.
This is achieved by switching the direction of the X and Y axis, as well as inverting the sense of the Z axis.
This modifier attempts to alter data
x,yandzfor position, andyaw,pitchandrollfor orientation.The NED modifier provides as modifiers:
morse.modifiers.odometry_noise module¶
- class OdometryNoiseModifier(component_instance, kwargs)[source]¶
Bases:
AbstractModifierThis modifier allows to simulate two common issues when calculating odometry :
an error in the scale factor used to compute the distance from the value returned by the odometer (parameter factor)
the gyroscope natural drift (parameter gyro_drift (rad by tick))
Modified data¶
The modifier only accumulate errors for a 2D odometry sensor. It modifies so the following variables :
dS by the scale factor
dx considering the scale factor and gyroscope drift
dy considering the scale factor and gyroscope drift
dyaw considering the gyroscope drift
x considering the scale factor and gyroscope drift
y considering the scale factor and gyroscope drift
yaw considering the gyroscope drift
vx considering the new dx
vy considering the new dy
wz considering the new dyaw
Available methods¶
noisify: Simulate drift of gyroscope and possible error in the scale factor
morse.modifiers.pose_noise module¶
- class NoiseModifier(component_instance, kwargs)[source]¶
Bases:
AbstractModifierThis modifier allows to simulate Gaussian noise for pose measurements. If the variable
orientationexists, it is taken to be a unit quaternion and noise added to it. Otherwise rotational noise will be added to the roll, pitch and yaw variables.This modifier attempts to alter data
x,yandzfor position, and eitherorientationoryaw,pitchandrollfor orientation.The PoseNoise modifier provides as modifiers:
- class OrientationNoiseModifier(component_instance, kwargs)[source]¶
Bases:
NoiseModifierAdd a gaussian noise to an orientation
- class PoseNoiseModifier(component_instance, kwargs)[source]¶
Bases:
PositionNoiseModifier,OrientationNoiseModifierAdd a gaussian noise to both position and orientation
- class PositionNoiseModifier(component_instance, kwargs)[source]¶
Bases:
NoiseModifierAdd a gaussian noise to a position
morse.modifiers.utm module¶
- class CoordinatesFromUTM(component_instance, kwargs)[source]¶
Bases:
UTMModifierConverts from UTM coordinates to Blender coordinates.
- class CoordinatesToUTM(component_instance, kwargs)[source]¶
Bases:
UTMModifierConverts from Blender coordinates to UTM coordinates.
- class UTMModifier(component_instance, kwargs)[source]¶
Bases:
AbstractModifierThis modifier converts the coordinates generated by the MORSE simulator to use UTM global coordinates. This is achieved by setting the offset of the Blender origin with respect to the UTM reference. The offset can be either given in the modifier parameters, or globally defined as three properties of the
Scene_Script_Holderobject of the scene:UTMXOffset,UTMYOffsetandUTMZOffset.Note
Due to limitation in Blender, to pass offset outside of range [-10000.0, 10000.0] as global scene properties, you need to pass the offset value as a string.
This modifier attempts to alter data
x,yandzof modified components.The UTM modifier provides as modifiers: