Gazebo Sim

API Reference

10.0.0~pre1
LookupWheelSlip Class Reference

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
 
- Public Member Functions inherited from System
 System ()=default
 Constructor.
 
virtual ~System ()=default
 Destructor.
 
- Public Member Functions inherited from ISystemConfigure
virtual ~ISystemConfigure ()=default
 
- Public Member Functions inherited from ISystemPreUpdate
virtual ~ISystemPreUpdate ()=default
 

Additional Inherited Members

- Public Types inherited from System
using PriorityType = int32_t
 Signed integer type used for specifying priority of the execution order of PreUpdate and Update phases.
 
- Static Public Attributes inherited from System
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.
  • <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()

Constructor.

◆ ~LookupWheelSlip()

~LookupWheelSlip ( )
overridedefault

Destructor.

Member Function Documentation

◆ Configure()

void Configure ( const Entity _entity,
const std::shared_ptr< const sdf::Element > &  _sdf,
EntityComponentManager _ecm,
EventManager _eventMgr 
)
overridevirtual

Configure the system.

Parameters
[in]_entityThe entity this plugin is attached to.
[in]_sdfThe SDF Element associated with this system plugin.
[in]_ecmThe EntityComponentManager of the given simulation instance.
[in]_eventMgrThe EventManager of the given simulation instance.

Implements ISystemConfigure.

◆ PreUpdate()

void PreUpdate ( const UpdateInfo _info,
EntityComponentManager _ecm 
)
overridevirtual

Implements ISystemPreUpdate.


The documentation for this class was generated from the following file: