Search Results for

    Show / Hide Table of Contents

    Struct RsLoadData

    Loaddata is used to describe loads attached to the mechanical interface of the robot Load data usually defines the payload (grip load is defined by the instruction Grip- Load) of the robot, i.e. the load held in the robot gripper. The tool load is specified in the tool data (tooldata) which includes load data.

    Namespace: ABB.Robotics.RobotStudio.Stations
    Assembly: ABB.Robotics.RobotStudio.Stations.dll
    Syntax
    public struct RsLoadData
    Examples

    RsLoadData Example.

    Project.UndoContext.BeginUndoStep("RsToolDataExample");
    try
    {
    Station station = Station.ActiveStation;
    
                // Create a gripper tool using sample data from the RAPID manual.
                RsToolData myTool = new RsToolData();
    
                // Get a valid RAPID name and assign it.
                myTool.Name = station.ActiveTask.GetValidRapidName("gripper", "_", 1);
    
                // The robot is holding the tool.
                myTool.RobotHold = true;
    
                // Set the TCP, expressed in the wrist coordinate system.
                myTool.Frame.X = 0.0974;
                myTool.Frame.Y = 0;
                myTool.Frame.Z = 0.2231;
                myTool.Frame.RX = Globals.DegToRad(45);
                myTool.Frame.RY = 0;
                myTool.Frame.RZ = Globals.DegToRad(45);
    
                // Create the load data for the tool.
                RsLoadData myloadData = new RsLoadData();
    
                // Set mass.
                myloadData.Mass = 5;
    
                // Set center of gravity.
                myloadData.Cog = new Vector3(0.023, 0, 0.075);
    
                // Set the axis of moment.
                myloadData.Aom = new Quaternion(1, 0, 0, 0);
    
                // The load can be considered a point mass in this example, i.e. without any moment of inertia.
                myloadData.Inertia = new Vector3(0, 0, 0);
    
                // Att the load data to the tool.
                myTool.LoadData = myloadData;
    
                // Show the name of the tool data in the graphics.
                myTool.ShowName = true;
    
                // Set the frame size to twice its default size.
                myTool.FrameSize = myTool.FrameSize * 2;
    
                // Show the tool data in the graphics.
                myTool.Visible = true;
    
                // Add the tool data to the ActiveTask.
                station.ActiveTask.DataDeclarations.Add(myTool);
            }
            catch
            {
                Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                throw;
            }
            finally
            {
                Project.UndoContext.EndUndoStep();
            }</code></pre>
    

    Constructors

    View Source

    RsLoadData(double, Vector3, Quaternion, Vector3)

    Initializes a new RsLoadData instance with the specified parameters.

    Declaration
    public RsLoadData(double mass, Vector3 cog, Quaternion aom, Vector3 inertia)
    Parameters
    Type Name Description
    double mass

    The weight of the load.

    Vector3 cog

    The center of gravity of a tool load expressed in the wrist coordinate system.

    Quaternion aom

    The orientation of the coordinate system defined by the inertial axes of the tool load.

    Vector3 inertia

    The moment of inertia of the load around the x-, y- and z-axis of the tool load or payload coordinate system.

    Properties

    View Source

    Aom

    The orientation of the coordinate system defined by the inertial axes of the tool load. Expressed in the wrist coordinate system as a quaternion (q1, q2, q3, q4). If a stationary tool is used, it means the inertial axes for the tool holding the work object.

    Declaration
    public Quaternion Aom { get; set; }
    Property Value
    Type Description
    Quaternion
    Remarks

    The orientation of the tool load coordinate system must coincide with the orientation of the wrist coordinate system. It must always be set to 1, 0, 0, 0.

    Examples

    Get/Set Aom.

    Project.UndoContext.BeginUndoStep("RsToolDataExample");
    try
    {
    Station station = Station.ActiveStation;
    
                 // Create a gripper tool using sample data from the RAPID manual.
                 RsToolData myTool = new RsToolData();
    
                 // Get a valid RAPID name and assign it.
                 myTool.Name = station.ActiveTask.GetValidRapidName("gripper", "_", 1);
    
                 // The robot is holding the tool.
                 myTool.RobotHold = true;
    
                 // Set the TCP, expressed in the wrist coordinate system.
                 myTool.Frame.X = 0.0974;
                 myTool.Frame.Y = 0;
                 myTool.Frame.Z = 0.2231;
                 myTool.Frame.RX = Globals.DegToRad(45);
                 myTool.Frame.RY = 0;
                 myTool.Frame.RZ = Globals.DegToRad(45);
    
                 // Create the load data for the tool.
                 RsLoadData myloadData = new RsLoadData();
    
                 // Set mass.
                 myloadData.Mass = 5;
    
                 // Set center of gravity.
                 myloadData.Cog = new Vector3(0.023, 0, 0.075);
    
                 // Set the axis of moment.
                 myloadData.Aom = new Quaternion(1, 0, 0, 0);
    
                 // The load can be considered a point mass in this example, i.e. without any moment of inertia.
                 myloadData.Inertia = new Vector3(0, 0, 0);
    
                 // Att the load data to the tool.
                 myTool.LoadData = myloadData;
    
                 // Show the name of the tool data in the graphics.
                 myTool.ShowName = true;
    
                 // Set the frame size to twice its default size.
                 myTool.FrameSize = myTool.FrameSize * 2;
    
                 // Show the tool data in the graphics.
                 myTool.Visible = true;
    
                 // Add the tool data to the ActiveTask.
                 station.ActiveTask.DataDeclarations.Add(myTool);
             }
             catch
             {
                 Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                 throw;
             }
             finally
             {
                 Project.UndoContext.EndUndoStep();
             }</code></pre>
    
    View Source

    Cog

    The center of gravity of a tool load expressed in the wrist coordinate system. If a stationary tool is used, it means the center of gravity for the tool holding the work object.

    Declaration
    public Vector3 Cog { get; set; }
    Property Value
    Type Description
    Vector3
    Examples

    Get/Set Cog.

    Project.UndoContext.BeginUndoStep("RsToolDataExample");
    try
    {
    Station station = Station.ActiveStation;
    
                 // Create a gripper tool using sample data from the RAPID manual.
                 RsToolData myTool = new RsToolData();
    
                 // Get a valid RAPID name and assign it.
                 myTool.Name = station.ActiveTask.GetValidRapidName("gripper", "_", 1);
    
                 // The robot is holding the tool.
                 myTool.RobotHold = true;
    
                 // Set the TCP, expressed in the wrist coordinate system.
                 myTool.Frame.X = 0.0974;
                 myTool.Frame.Y = 0;
                 myTool.Frame.Z = 0.2231;
                 myTool.Frame.RX = Globals.DegToRad(45);
                 myTool.Frame.RY = 0;
                 myTool.Frame.RZ = Globals.DegToRad(45);
    
                 // Create the load data for the tool.
                 RsLoadData myloadData = new RsLoadData();
    
                 // Set mass.
                 myloadData.Mass = 5;
    
                 // Set center of gravity.
                 myloadData.Cog = new Vector3(0.023, 0, 0.075);
    
                 // Set the axis of moment.
                 myloadData.Aom = new Quaternion(1, 0, 0, 0);
    
                 // The load can be considered a point mass in this example, i.e. without any moment of inertia.
                 myloadData.Inertia = new Vector3(0, 0, 0);
    
                 // Att the load data to the tool.
                 myTool.LoadData = myloadData;
    
                 // Show the name of the tool data in the graphics.
                 myTool.ShowName = true;
    
                 // Set the frame size to twice its default size.
                 myTool.FrameSize = myTool.FrameSize * 2;
    
                 // Show the tool data in the graphics.
                 myTool.Visible = true;
    
                 // Add the tool data to the ActiveTask.
                 station.ActiveTask.DataDeclarations.Add(myTool);
             }
             catch
             {
                 Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                 throw;
             }
             finally
             {
                 Project.UndoContext.EndUndoStep();
             }</code></pre>
    
    View Source

    Inertia

    The moment of inertia of the load around the x-, y- and z-axis of the tool load or payload coordinate system.

    Declaration
    public Vector3 Inertia { get; set; }
    Property Value
    Type Description
    Vector3
    Examples

    Get/Set Inertia.

    Project.UndoContext.BeginUndoStep("RsToolDataExample");
    try
    {
    Station station = Station.ActiveStation;
    
                 // Create a gripper tool using sample data from the RAPID manual.
                 RsToolData myTool = new RsToolData();
    
                 // Get a valid RAPID name and assign it.
                 myTool.Name = station.ActiveTask.GetValidRapidName("gripper", "_", 1);
    
                 // The robot is holding the tool.
                 myTool.RobotHold = true;
    
                 // Set the TCP, expressed in the wrist coordinate system.
                 myTool.Frame.X = 0.0974;
                 myTool.Frame.Y = 0;
                 myTool.Frame.Z = 0.2231;
                 myTool.Frame.RX = Globals.DegToRad(45);
                 myTool.Frame.RY = 0;
                 myTool.Frame.RZ = Globals.DegToRad(45);
    
                 // Create the load data for the tool.
                 RsLoadData myloadData = new RsLoadData();
    
                 // Set mass.
                 myloadData.Mass = 5;
    
                 // Set center of gravity.
                 myloadData.Cog = new Vector3(0.023, 0, 0.075);
    
                 // Set the axis of moment.
                 myloadData.Aom = new Quaternion(1, 0, 0, 0);
    
                 // The load can be considered a point mass in this example, i.e. without any moment of inertia.
                 myloadData.Inertia = new Vector3(0, 0, 0);
    
                 // Att the load data to the tool.
                 myTool.LoadData = myloadData;
    
                 // Show the name of the tool data in the graphics.
                 myTool.ShowName = true;
    
                 // Set the frame size to twice its default size.
                 myTool.FrameSize = myTool.FrameSize * 2;
    
                 // Show the tool data in the graphics.
                 myTool.Visible = true;
    
                 // Add the tool data to the ActiveTask.
                 station.ActiveTask.DataDeclarations.Add(myTool);
             }
             catch
             {
                 Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                 throw;
             }
             finally
             {
                 Project.UndoContext.EndUndoStep();
             }</code></pre>
    
    View Source

    Mass

    Gets or Sets the weight of the load.

    Declaration
    public double Mass { get; set; }
    Property Value
    Type Description
    double
    Examples

    Get/Set Mass.

    Project.UndoContext.BeginUndoStep("RsToolDataExample");
    try
    {
    Station station = Station.ActiveStation;
    
                 // Create a gripper tool using sample data from the RAPID manual.
                 RsToolData myTool = new RsToolData();
    
                 // Get a valid RAPID name and assign it.
                 myTool.Name = station.ActiveTask.GetValidRapidName("gripper", "_", 1);
    
                 // The robot is holding the tool.
                 myTool.RobotHold = true;
    
                 // Set the TCP, expressed in the wrist coordinate system.
                 myTool.Frame.X = 0.0974;
                 myTool.Frame.Y = 0;
                 myTool.Frame.Z = 0.2231;
                 myTool.Frame.RX = Globals.DegToRad(45);
                 myTool.Frame.RY = 0;
                 myTool.Frame.RZ = Globals.DegToRad(45);
    
                 // Create the load data for the tool.
                 RsLoadData myloadData = new RsLoadData();
    
                 // Set mass.
                 myloadData.Mass = 5;
    
                 // Set center of gravity.
                 myloadData.Cog = new Vector3(0.023, 0, 0.075);
    
                 // Set the axis of moment.
                 myloadData.Aom = new Quaternion(1, 0, 0, 0);
    
                 // The load can be considered a point mass in this example, i.e. without any moment of inertia.
                 myloadData.Inertia = new Vector3(0, 0, 0);
    
                 // Att the load data to the tool.
                 myTool.LoadData = myloadData;
    
                 // Show the name of the tool data in the graphics.
                 myTool.ShowName = true;
    
                 // Set the frame size to twice its default size.
                 myTool.FrameSize = myTool.FrameSize * 2;
    
                 // Show the tool data in the graphics.
                 myTool.Visible = true;
    
                 // Add the tool data to the ActiveTask.
                 station.ActiveTask.DataDeclarations.Add(myTool);
             }
             catch
             {
                 Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                 throw;
             }
             finally
             {
                 Project.UndoContext.EndUndoStep();
             }</code></pre>
    

    Methods

    View Source

    Equals(RsLoadData)

    Declaration
    public bool Equals(RsLoadData other)
    Parameters
    Type Name Description
    RsLoadData other
    Returns
    Type Description
    bool
    View Source

    Equals(object)

    Indicates whether this instance and a specified object are equal.

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    object obj

    Another object to compare to.

    Returns
    Type Description
    bool

    True if obj and this instance are the same type and represent the same value; otherwise, false.

    Overrides
    System.ValueType.Equals(object)
    Examples

    Equals.

    Project.UndoContext.BeginUndoStep("RsToolDataExample");
    try
    {
    Station station = Station.ActiveStation;
    
                // Create a gripper tool using sample data from the RAPID manual.
                RsToolData myTool = new RsToolData();
    
                // Get a valid RAPID name and assign it.
                myTool.Name = station.ActiveTask.GetValidRapidName("gripper", "_", 1);
    
                // The robot is holding the tool.
                myTool.RobotHold = true;
    
                // Set the TCP, expressed in the wrist coordinate system.
                myTool.Frame.X = 0.0974;
                myTool.Frame.Y = 0;
                myTool.Frame.Z = 0.2231;
                myTool.Frame.RX = Globals.DegToRad(45);
                myTool.Frame.RY = 0;
                myTool.Frame.RZ = Globals.DegToRad(45);
    
                // Create the load data for the tool.
                RsLoadData myloadData = new RsLoadData();
    
                // Set mass.
                myloadData.Mass = 5;
    
                // Set center of gravity.
                myloadData.Cog = new Vector3(0.023, 0, 0.075);
    
                // Set the axis of moment.
                myloadData.Aom = new Quaternion(1, 0, 0, 0);
    
                // The load can be considered a point mass in this example, i.e. without any moment of inertia.
                myloadData.Inertia = new Vector3(0, 0, 0);
    
                // Att the load data to the tool.
                myTool.LoadData = myloadData;
    
                // Show the name of the tool data in the graphics.
                myTool.ShowName = true;
    
                // Set the frame size to twice its default size.
                myTool.FrameSize = myTool.FrameSize * 2;
    
                // Show the tool data in the graphics.
                myTool.Visible = true;
    
                // Add the tool data to the ActiveTask.
                station.ActiveTask.DataDeclarations.Add(myTool);
            }
            catch
            {
                Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                throw;
            }
            finally
            {
                Project.UndoContext.EndUndoStep();
            }</code></pre>
    
    View Source

    GetHashCode()

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    int
    Overrides
    System.ValueType.GetHashCode()

    Operators

    View Source

    operator ==(RsLoadData, RsLoadData)

    Compares the two RsLoadData objects for equality.

    Declaration
    public static bool operator ==(RsLoadData lhs, RsLoadData rhs)
    Parameters
    Type Name Description
    RsLoadData lhs

    The first object to compare.

    RsLoadData rhs

    The second object to compare.

    Returns
    Type Description
    bool

    True if lhs and rhs represent the same values; otherwise, false.

    Examples

    .

    Project.UndoContext.BeginUndoStep("RsToolDataExample");
    try
    {
    Station station = Station.ActiveStation;
    
                 // Create a gripper tool using sample data from the RAPID manual.
                 RsToolData myTool = new RsToolData();
    
                 // Get a valid RAPID name and assign it.
                 myTool.Name = station.ActiveTask.GetValidRapidName("gripper", "_", 1);
    
                 // The robot is holding the tool.
                 myTool.RobotHold = true;
    
                 // Set the TCP, expressed in the wrist coordinate system.
                 myTool.Frame.X = 0.0974;
                 myTool.Frame.Y = 0;
                 myTool.Frame.Z = 0.2231;
                 myTool.Frame.RX = Globals.DegToRad(45);
                 myTool.Frame.RY = 0;
                 myTool.Frame.RZ = Globals.DegToRad(45);
    
                 // Create the load data for the tool.
                 RsLoadData myloadData = new RsLoadData();
    
                 // Set mass.
                 myloadData.Mass = 5;
    
                 // Set center of gravity.
                 myloadData.Cog = new Vector3(0.023, 0, 0.075);
    
                 // Set the axis of moment.
                 myloadData.Aom = new Quaternion(1, 0, 0, 0);
    
                 // The load can be considered a point mass in this example, i.e. without any moment of inertia.
                 myloadData.Inertia = new Vector3(0, 0, 0);
    
                 // Att the load data to the tool.
                 myTool.LoadData = myloadData;
    
                 // Show the name of the tool data in the graphics.
                 myTool.ShowName = true;
    
                 // Set the frame size to twice its default size.
                 myTool.FrameSize = myTool.FrameSize * 2;
    
                 // Show the tool data in the graphics.
                 myTool.Visible = true;
    
                 // Add the tool data to the ActiveTask.
                 station.ActiveTask.DataDeclarations.Add(myTool);
             }
             catch
             {
                 Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                 throw;
             }
             finally
             {
                 Project.UndoContext.EndUndoStep();
             }</code></pre>
    
    View Source

    operator !=(RsLoadData, RsLoadData)

    Compares the two RsLoadData objects for inequality.

    Declaration
    public static bool operator !=(RsLoadData lhs, RsLoadData rhs)
    Parameters
    Type Name Description
    RsLoadData lhs

    The first object to compare.

    RsLoadData rhs

    The second object to compare.

    Returns
    Type Description
    bool

    True if lhs and rhs represent different values; otherwise, false.

    Examples

    Inequality.

    Project.UndoContext.BeginUndoStep("RsToolDataExample");
    try
    {
    Station station = Station.ActiveStation;
    
                 // Create a gripper tool using sample data from the RAPID manual.
                 RsToolData myTool = new RsToolData();
    
                 // Get a valid RAPID name and assign it.
                 myTool.Name = station.ActiveTask.GetValidRapidName("gripper", "_", 1);
    
                 // The robot is holding the tool.
                 myTool.RobotHold = true;
    
                 // Set the TCP, expressed in the wrist coordinate system.
                 myTool.Frame.X = 0.0974;
                 myTool.Frame.Y = 0;
                 myTool.Frame.Z = 0.2231;
                 myTool.Frame.RX = Globals.DegToRad(45);
                 myTool.Frame.RY = 0;
                 myTool.Frame.RZ = Globals.DegToRad(45);
    
                 // Create the load data for the tool.
                 RsLoadData myloadData = new RsLoadData();
    
                 // Set mass.
                 myloadData.Mass = 5;
    
                 // Set center of gravity.
                 myloadData.Cog = new Vector3(0.023, 0, 0.075);
    
                 // Set the axis of moment.
                 myloadData.Aom = new Quaternion(1, 0, 0, 0);
    
                 // The load can be considered a point mass in this example, i.e. without any moment of inertia.
                 myloadData.Inertia = new Vector3(0, 0, 0);
    
                 // Att the load data to the tool.
                 myTool.LoadData = myloadData;
    
                 // Show the name of the tool data in the graphics.
                 myTool.ShowName = true;
    
                 // Set the frame size to twice its default size.
                 myTool.FrameSize = myTool.FrameSize * 2;
    
                 // Show the tool data in the graphics.
                 myTool.Visible = true;
    
                 // Add the tool data to the ActiveTask.
                 station.ActiveTask.DataDeclarations.Add(myTool);
             }
             catch
             {
                 Project.UndoContext.CancelUndoStep(CancelUndoStepType.Rollback);
                 throw;
             }
             finally
             {
                 Project.UndoContext.EndUndoStep();
             }</code></pre>
    
    • View Source
    In this article
    Back to top Copyright © 2026 ABB Robotics