Main Content

Simulation 3D Physics Backhoe

Backhoe physics model in 3D simulation environment

Since R2024b

  • Sim 3D Physics Backhoe Block Icon

Libraries:
Offroad Autonomy Library / Simulation 3D

Description

The Simulation 3D Physics Backhoe block provides an interface to implement a backhoe vehicle in the Simulink® 3D world.

Note

Simulating models with the Simulation 3D Physics Backhoe block requires Simulink 3D Animation™ and the Robotics System Toolbox™ Offroad Autonomy Library support package. For more information about downloading the support package, see Install Robotics System Toolbox Offroad Autonomy Library Support Package.

To use this block, ensure that the Simulation 3D Scene Configuration block is in your model. If you set the Sample time parameter of the Simulation 3D Physics Backhoe block to -1, the block inherits the sample time specified in the Simulation 3D Scene Configuration block.

These illustrations show the dimensions and locations of the backhoe asset parameters relative to the coordinate axes, following the yaw(z), pitch(y), roll(x) sequence. The vehicle layout follows Unreal Engine® co-ordinate system which follows the left-hand rule world coordinate system. For more information, see Coordinate Systems for Unreal Engine Simulation in Robotics System Toolbox.

Backhoe vehicle side view

Backhoe vehicle top view

Ports

Note

This block processes all the input and output values using the right-hand rule world coordinate system. For more information, see Coordinate Systems for Unreal Engine Simulation in Robotics System Toolbox.

Input

expand all

Velocity input to move the backhoe vehicle, specified as a scalar in the range of [-7.5 , 7.5].A positive value moves the vehicle forward, whereas a negative value reverses the direction. Specify the velocity in meters per second (m/s).

To keep the input backhoe velocity steady, the system uses a P controller to internally estimate the required acceleration, taking feedback from the current backhoe velocity.

Data Types: double

Normalized input to drive the backhoe, specified as a scalar in the range of [-1 , 1]. A positive value moves the vehicle forward, whereas a negative value reverses the direction.

The exact response is characterized by the vehicle powertrain. Maximum torque supported by the block is 200 Newton-meters (Nm) and maximum RPM is 6000.

Dependencies

To enable this port, select the Enable throttle (disable velocity) input signal parameter under Backhoe Inputs.

Data Types: double

Steering angle input to provide direction to the backhoe vehicle, specified as a scalar in the range of [-0.7854 , 0.7854]​. Specify the steering angle in radians.

As the z axis points vertically upwards,a positive input value executes counterclockwise motion.

Data Types: double

Normalized deceleration torque input to reduce vehicle acceleration, specified as a scalar in the range of [0 , 1]. Maximum strength supported by the block is 200 Newton-meters (Nm).

Dependencies

To enable this port, select the Enable foot brake input signal parameter under Backhoe Inputs.

Data Types: double

Front bucket angle input to raise front bucket up and lower it, specified as a scalar in the range of [-0.6109, 1.5533]. Specify the front bucket angle in radians.

Dependencies

To enable this port, select the Enable loader frame and front bucket angle input signals parameter under Front Bucket Inputs.

Data Types: double

Front loader frame angle input to raise front loader frame up and lower it, specified as a scalar in the range of [-1.3963, 0]. Specify the loader frame angle in radians.

Dependencies

To enable this port, select the Enable loader frame and front bucket angle input signals parameter under Front Bucket Inputs.

Data Types: double

Rear bucket angle input to raise rear bucket up and lower it, specified as a scalar in the range of [0, 1.5533]. Specify the rear bucket angle in radians.

Dependencies

To enable this port, select the Enable swing frame, boom, arm, and rear bucket angle input signals parameter under Rear Bucket Inputs.

Data Types: double

Rear arm angle input to raise rear bucket up and lower it, specified as a scalar in the range of [0.0571, 1.5533]. Specify the arm angle in radians.

Dependencies

To enable this port, select the Enable swing frame, boom, arm, and rear bucket angle input signals parameter under Rear Bucket Inputs.

Data Types: double

Rear boom angle input to raise rear boom up and lower it, specified as a scalar in the range of [-1.5533 , 0]. Specify the boom angle in radians.

Dependencies

To enable this port, select the Enable swing frame, boom, arm, and rear bucket angle input signals parameter under Rear Bucket Inputs.

Data Types: double

Rear swing angle input to move rear swing left and right, specified as a scalar in the range of [-1.2217, 1.2217]. Specify the swing frame angle in radians.

Dependencies

To enable this port, select the Enable swing frame, boom, arm, and rear bucket angle input signals parameter under Rear Bucket Inputs.

Data Types: double

Output

expand all

Current ground truth world translation of backhoe, specified as a three-element row vector in the form [x, y , z]. x, y , and z are the translations along the x, y, and z axes, respectively. Units are in meters.

Dependencies

To enable this port, select the Enable ground truth world tranlsation output signal parameter under Backhoe Outputs.

Data Types: double

Current ground truth world rotation of backhoe, specified as a three-element row vector in the form [yaw, pitch, roll]. yaw, pitch, and roll are the rotations about the z, y, and x axes, respectively. Units are in radians.

Dependencies

To enable this port, select the Enable ground truth world rotation output signal parameter under Backhoe Outputs.

Data Types: double

Current velocity of the backhoe, specified as a positive or negative scalar value. Unit are meters per second (m/s).

Dependencies

To enable this port, select the Enable velocity output signal parameter under Backhoe Outputs.

Data Types: double

Current angular velocity of the backhoe, specified as a three-element row vector in the form [wx, wy, wz]. Unit are radians per second.

Dependencies

To enable this port, select the Enable angular velocity output signal parameter under Backhoe Outputs.

Data Types: double

Current ground truth world translation of front bucket, specified as a three-element row vector in the form [x, y , z]. x, y , and z are the translations along the x, y, and z axes, respectively. Units are in meters.

Dependencies

To enable this port, select the Enable front bucket ground truth world translation output signal parameter under Backhoe Outputs.

Data Types: double

Current ground truth world rotation of front bucket, specified as a three-element row vector in the form [yaw, pitch, roll]. yaw, pitch, and roll are the rotations about the z, y, and x axes, respectively. Units are in radian.

Dependencies

To enable this port, select the Enable front bucket ground truth world rotation output signal parameter under Backhoe Outputs.

Data Types: double

Current ground truth world translation of rear bucket, specified as a three-element row vector, in the form [x, y , z]. x, y , and z are the translations along the x, y, and z axes respectively. Units are in meters.

Dependencies

To enable this port, select the Enable rear bucket ground truth world translation output signal parameter under Backhoe Outputs.

Data Types: double

Current ground truth world rotation of rear bucket, specified as a three-element row vector in the form [yaw, pitch, roll]. yaw, pitch, and roll are the rotations about the z, y, and x axes, respectively. Units are in radian.

Dependencies

To enable this port, select the Enable rear bucket ground truth world rotation output signal parameter under Backhoe Outputs.

Data Types: double

Current front bucket joint angle, specified as a positive or negative scalar value. Units are in radians.

Dependencies

To enable this port, select the Enable current loader frame and front bucket angle output signals parameter under Front Bucket Outputs.

Data Types: double

Current loader frame joint angle, specified as a negative scalar value. Units are in radians.

Dependencies

To enable this port, select the Enable current loader frame and front bucket angle output signals parameter under Front Bucket Outputs.

Data Types: double

Current rear bucket joint angle, specified as a positive scalar value. Units are in radians.

Dependencies

To enable this port, select the Enable current swing frame, boom, arm, and rear bucket angle input signals parameter under Rear Bucket Outputs.

Data Types: double

Current rear arm joint angle, specified as a positive scalar value. Units are in radians.

Dependencies

To enable this port, select the Enable current swing frame, boom, arm, and rear bucket angle input signals parameter under Rear Bucket Outputs.

Data Types: double

Current rear boom joint angle, specified as a negative scalar value. Units are in radians.

Dependencies

To enable this port, select the Enable current swing frame, boom, arm, and rear bucket angle input signals parameter under Rear Bucket Outputs.

Data Types: double

Current swing frame joint angle, specified as a positive or negative scalar value. Units are in radians.

Dependencies

To enable this port, select the Enable current swing frame, boom, arm, and rear bucket angle input signals parameter under Rear Bucket Outputs.

Data Types: double

Parameters

expand all

To edit block parameters interactively, use the Property Inspector. From the Simulink Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.

Chassis

Backhoe chassis type, specified as Wheeled Backhoe.

Backhoe body color, specified as one of these drop down options:

  • Blue

  • Yellow

  • Orange

Backhoe identifier name, specified as a string scalar.

Initial Values

Backhoe Initialization

Initial translation of backhoe vehicle, specified as a three-element row vector, in the form [x, y , z]. x, y , and z are the translations along the x, y, and z axes respectively, which uses the right-hand rule world coordinate system. Units are in meters.

Initial rotation of backhoe vehicle, specified as a three-element row vector, in the form [yaw, pitch, roll]. yaw, pitch, and roll are the rotations about the z, y, and x axes respectively, which uses the right-hand rule world coordinate system. Units are in radians.

Inputs

Backhoe Inputs

Select this parameter to disable the velocity input and specify throttle at the input port to move the backhoe vehicle.

Specify foot brake torque at the input port to de-accelerate the backhoe vehicle.

Front Bucket Inputs

Select this parameter to specify the loader frame and front bucket angles at the input port.

Rear Bucket Inputs

Select this parameter to specify the swing frame, boom, arm, and rear bucket angle at the input port.

Outputs

Backhoe Outputs

Select this parameter to output ground truth world translation of backhoe at the BackhoeTranslation output port.

Select this parameter to output ground truth world rotation of backhoe at the BackhoeRotation output port.

Select this parameter to output current velocity of backhoe at the BackhoeVelocity output port.

Select this parameter to output current angular velocity of backhoe at the BackhoeAngularVelocity output port.

Front Bucket Outputs

Select this parameter to output ground truth world translation of front bucket at the FrontBucketTranslation output port.

Select this parameter to output ground truth world rotation of front bucket at the FrontBucketRotation output port.

Select this parameter to output current loader frame and front bucket joint angle at the CurrentLoaderFrameAngle and CurrentFrontBucketAngle output ports respectively.

Rear Bucket Outputs

Select this parameter to output ground truth world translation of rear bucket at the RearBucketTranslation output port.

Select this parameter to output ground truth world rotation of rear bucket at the RearBucketRotation output port.

Set this parameter to output the current swing frame angle and the current rear bucket, rear boom, and rear arm joint angles at the CurrentSwingAngle, CurrentRearBucketAngle, CurrentBoomAngle, and CurrentArmAngle output ports, respectively.

Version History

Introduced in R2024b