Main Content

read

Read robot platform motion vector

    Description

    example

    motion = read(platform) reads the latest motion of the robot platform base in the scenario.

    Examples

    collapse all

    Create a robot scenario.

    scenario = robotScenario(UpdateRate=100,StopTime=1);

    Add the ground plane and a cylinder as meshes.

    addMesh(scenario,"Plane",Size=[30 30],Color=[0.7 0.7 0.7])
    addMesh(scenario,"Cylinder",Position=[-2 4 0.5],Color=[0 1 1])

    Create a robot platform with a specified waypoint trajectory in the scenario. Define the mesh for the robot platform.

    traj = waypointTrajectory("Waypoints",[0 -10 0; 10 0 0; -10 10 0; 0 -10 0], ...
                              "TimeOfArrival",[0 0.33 0.66 1], ...
                              "ReferenceFrame","ENU");
    platform = robotPlatform("Robot",scenario, ...
                             BaseTrajectory=traj);
    updateMesh(platform,"GroundVehicle",Scale=3);

    Simulate and visualize the scenario.

    setup(scenario); 
    idx = 1;
    while advance(scenario)
        motion(idx,:) = read(platform);
        show3D(scenario); 
        drawnow update
        idx = idx+1;
    end

    Figure contains an axes object. The axes object contains 3 objects of type patch.

    restart(scenario);

    Input Arguments

    collapse all

    Robot platform in the scenario, specified as a robotPlatform object.

    Output Arguments

    collapse all

    Robot platform motion at the current instance in the scenario, returned as a 16-element vector with these elements in order:

    • [x y z] — Positions in xyz-axes in meters.

    • [vx vy vz] — Velocities in xyz-directions in meters per second.

    • [ax ay az] — Accelerations in xyz-directions in meters per second.

    • [qw qx qy qz] — Quaternion vector for orientation.

    • [wx wy wz] — Angular velocities in radians per second.

    Data Types: double

    Version History

    Introduced in R2022a