Lookup Wheel Slip system. This plugin dynamically adjusts the wheel slip and friction parameters based on the wheel's position on the region covered by the specified lookup image map (slip map) where slip and friction values are encoded in the image's RGB channels. This plugin needs to be used together with the WheelSlip system. LookupWheelSlip system params: More...
#include <LookupWheelSlip.hh>
Public Member Functions | |
LookupWheelSlip () | |
Constructor. | |
~LookupWheelSlip () override=default | |
Destructor. | |
void | Configure (const Entity &_entity, const std::shared_ptr< const sdf::Element > &_sdf, EntityComponentManager &_ecm, EventManager &_eventMgr) override |
Configure the system. | |
void | PreUpdate (const UpdateInfo &_info, EntityComponentManager &_ecm) override |
![]() | |
System ()=default | |
Constructor. | |
virtual | ~System ()=default |
Destructor. | |
![]() | |
virtual | ~ISystemConfigure ()=default |
![]() | |
virtual | ~ISystemPreUpdate ()=default |
Additional Inherited Members | |
![]() | |
using | PriorityType = int32_t |
Signed integer type used for specifying priority of the execution order of PreUpdate and Update phases. | |
![]() | |
static constexpr PriorityType | kDefaultPriority = {0} |
Default priority value for execution order of the PreUpdate and Update phases. | |
static constexpr std::string_view | kPriorityElementName |
Name of the XML element from which the priority value will be parsed. | |
Detailed Description
Lookup Wheel Slip system. This plugin dynamically adjusts the wheel slip and friction parameters based on the wheel's position on the region covered by the specified lookup image map (slip map) where slip and friction values are encoded in the image's RGB channels. This plugin needs to be used together with the WheelSlip system. LookupWheelSlip system params:
- <slip_map>: (Required) Lookup slip map filename. This needs to be an 8 bit RGB image.
- Channels:
- Red - updates lateral slip
- Green - updates longitudinal slip
- Blue - updates friction
- Pixel values:
- A pixel value of 128 represents nominal slip / friction, i.e. Apply the original slip / friction values from the WheelSlip system.
- A pixel value of >128 tells the WheelSlip system to apply an increased amount of slip / friction values.
- A pixel value of <128 tells the WheelSlip system to apply a reduced amount of slip / friction values.
- The change in slip / friction to apply to the wheels is computed as: (pixel_value - 128) * delta. See the different delta parameters below. To visualize the lookup map, set the model's visual diffuse texture to this file, e.g. set this texture to a plane or heightmap.
- Channels:
- <size_x>: (Required) x size of lookup slip map in meters.
- <size_y>: (Required) y size of lookup slip map in meters.
- <wheel_link_name>: (Required) The wheel link name from the WheelSlip system. Specify one <wheel_link_name> per wheel link.
- <slip_compliance_lateral_delta>`: (Optional) The increase / decrease step to be applied to the lateral slip. Default is 0.05
- <slip_compliance_longitudinal_delta>: (Optional) The increase / decrease step to be applied to the longitudinal slip. Default is 0.005
- <friction_delta>: (Optional) The increase/decrease step to be applied to the friction coefficients in the primary and secondary directions. Default is 0.5
Constructor & Destructor Documentation
◆ LookupWheelSlip()
LookupWheelSlip | ( | ) |
Constructor.
◆ ~LookupWheelSlip()
|
overridedefault |
Destructor.
Member Function Documentation
◆ Configure()
|
overridevirtual |
Configure the system.
- Parameters
-
[in] _entity The entity this plugin is attached to. [in] _sdf The SDF Element associated with this system plugin. [in] _ecm The EntityComponentManager of the given simulation instance. [in] _eventMgr The EventManager of the given simulation instance.
Implements ISystemConfigure.
◆ PreUpdate()
|
overridevirtual |
Implements ISystemPreUpdate.
The documentation for this class was generated from the following file: