Class RobotMotionParam

Nested Relationships

Nested Types

Class Documentation

class RobotMotionParam

Class for basic parameters needed for robot operation.

Remark

WMX User unit must be degree / mm unit.

Public Functions

bool SetRobotType(wmx3Api::kinematics::constants::RobotModel robotType, int numJoints = -1)

Sets or changes the robot type and its configuration.

Configures the robot parameters according to the specified robot model type. This function performs the following operations:

  • Updates the kinematic model parameters

  • Initializes joint configurations

  • Sets up default motion constraints

  • Configures workspace boundaries

  • Resets motion profiles to default values

See also

RobotModel

Note

For user-defined robot models (robotType = USER_DEFINED), additional configuration steps may be required after calling this function to fully define the robot’s characteristics.

Parameters:
  • robotType[in] The type of robot to configure. Must be a valid value from wmx3Api::kinematics::constants::RobotModel enumeration. Common types include:

    • SCARA

    • ARTICULATED

    • DELTA

    • CARTESIAN

    • USER_DEFINED

  • numJoints[in] The number of joints in the robot. Only required and used when robotType is USER_DEFINED. For predefined robot types, this parameter is ignored and can be left as default (-1). Must be a positive integer when specified.

Returns:

true if the robot type was successfully changed and all parameters were properly initialized; false if the operation failed (e.g., if the robot is in motion or if invalid parameters were provided)

inline JointParam joint(int idx)

Retrieves the parameter information for a specific robot joint axis.

Provides access to joint-specific parameters including:

  • Joint motion parameters (velocity, acceleration)

  • Kinematic parameters

  • Motion profile settings

  • Joint limits and constraints

This function returns a JointParam object that encapsulates all configuration parameters for the specified joint axis, allowing reading and modification of joint-specific settings.

Warning

The returned JointParam object contains references to internal data. Ensure the RobotMotionParam object remains valid while using the returned JointParam.

Parameters:

idx[in] Zero-based index of the joint axis (0 to MAX_NUMBER_OF_JOINT-1). The meaning of each index depends on the robot type:

  • For SCARA: 0=J1, 1=J2, 2=J3, 3=J4

  • For Articulated: 0=J1, 1=J2, 2=J3, etc.

  • For Delta: 0=Motor1, 1=Motor2, 2=Motor3

Throws:

std::out_of_range – If idx is negative or exceeds the number of joints in the current robot configuration

Returns:

JointParam A reference wrapper containing:

  • jointParam: Joint kinematic parameters

  • profileVel: Joint velocity settings

  • profileAcc: Joint acceleration settings

Public Members

kinematics::RobotParam robotParam

robot parameter about robot type, jointParam, limit of space, position, velocity, acceleration, tool and work coordinate

RobotMotionProfile profile

Robot motion profile parameters that define motion characteristics.

Contains parameters that control how the robot moves:

  • Profile type (trapezoidal, S-curve)

  • Tool linear velocity and acceleration

  • Tool rotational velocity ratio

  • Joint velocities and accelerations

  • Velocity and acceleration override factors

These parameters are used to:

  • Generate motion trajectories

  • Control robot movement speed and acceleration

  • Ensure smooth robot motion

  • Scale motion speeds with override factors

kinematics::TorqueConstantsParam fittingData[wmx3Api::kinematics::constants::MAX_NUMBER_OF_JOINT]

Array of fitting parameters for each joint’s torque constants.

Contains calibrated torque constant parameters for each joint motor, including:

  • Motor torque constants (Kt)

  • Friction coefficients (static and dynamic)

  • Gear ratios and efficiencies

  • Temperature compensation factors

  • Inertia and mass parameters

These parameters are essential for:

  • Accurate collision detection by monitoring motor torques

  • Gravity compensation calculations

  • Dynamic model calibration

  • Motor performance optimization

  • Predictive maintenance through torque monitoring

Remark

Parameters are typically obtained through a calibration process and should be updated periodically for optimal performance

Warning

Incorrect fitting parameters may lead to false collision detection or reduced sensitivity to actual collisions

kinematics::CollisionParam collisionParam

Parameters for collision detection and monitoring.

Contains configuration parameters for the robot’s collision detection system, including:

  • Collision detection thresholds

  • Sensitivity settings

  • Collision response parameters

  • Safety margins and tolerances

These parameters are used to:

  • Configure collision detection sensitivity

  • Set safety thresholds for collision avoidance

  • Define robot behavior during collision events

  • Ensure safe operation in the robot’s workspace

See also

CollisionParam