timetable
Description
returns a timetable object tb
= timetable(bag
)tb
for all the numeric and scalar message
properties in the BagSelection
or rosbagreader
object,
bag
. The first column of the timetable consists of timestamps and the
rest of the columns consist of message property values for all messages in
bag
.
You can use the returned timetable object with all the time-specific functions to align, combine, and perform calculations with other timetables. The returned timetable object is memory-efficient because it only stores specific message properties and not whole messages.
Examples
Load the ROS bag file. Specify the file path.
bagrdr = rosbagreader("ex_multiple_topics.bag");
Select a specific topic. Timetable supports only single topics.
bagSel = select(bagrdr,Topic="/odom");
Create a timetable for all the fields in the /odom
topic.
tt1 = timetable(bagSel)
tt1=11998×16 timetable
Time /odom_Header.Stamp.Sec /odom_Header.Stamp.Nsec /odom_Header.Seq /odom_Pose.Pose.Position.X /odom_Pose.Pose.Position.Y /odom_Pose.Pose.Position.Z /odom_Pose.Pose.Orientation.X /odom_Pose.Pose.Orientation.Y /odom_Pose.Pose.Orientation.Z /odom_Pose.Pose.Orientation.W /odom_Twist.Twist.Linear.X /odom_Twist.Twist.Linear.Y /odom_Twist.Twist.Linear.Z /odom_Twist.Twist.Angular.X /odom_Twist.Twist.Angular.Y /odom_Twist.Twist.Angular.Z
__________ ______________________ _______________________ ________________ __________________________ __________________________ __________________________ _____________________________ _____________________________ _____________________________ _____________________________ __________________________ __________________________ __________________________ ___________________________ ___________________________ ___________________________
201.34 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.35 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.36 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.37 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.38 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.41 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.41 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.41 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.46 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.46 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.46 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.46 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.46 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.49 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.49 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
201.49 sec {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} {1×1 cell}
⋮
Create a new timetable for the Pose.Pose.Position.X
property in the /odom
topic.
tt2 = timetable(bagSel,"Pose.Pose.Position.X")
tt2=11998×1 timetable
Time /odom_Pose.Pose.Position.X
__________ __________________________
201.34 sec {1×1 cell}
201.35 sec {1×1 cell}
201.36 sec {1×1 cell}
201.37 sec {1×1 cell}
201.38 sec {1×1 cell}
201.41 sec {1×1 cell}
201.41 sec {1×1 cell}
201.41 sec {1×1 cell}
201.46 sec {1×1 cell}
201.46 sec {1×1 cell}
201.46 sec {1×1 cell}
201.46 sec {1×1 cell}
201.46 sec {1×1 cell}
201.49 sec {1×1 cell}
201.49 sec {1×1 cell}
201.49 sec {1×1 cell}
⋮
Create a new timetable for all the angular Twist
properties in the /odom
topic.
tt3 = timetable(bagSel,"Twist.Twist.Angular.X","Twist.Twist.Angular.Y", "Twist.Twist.Angular.Z")
tt3=11998×3 timetable
Time /odom_Twist.Twist.Angular.X /odom_Twist.Twist.Angular.Y /odom_Twist.Twist.Angular.Z
__________ ___________________________ ___________________________ ___________________________
201.34 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.35 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.36 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.37 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.38 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.41 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.41 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.41 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.46 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.46 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.46 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.46 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.46 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.49 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.49 sec {1×1 cell} {1×1 cell} {1×1 cell}
201.49 sec {1×1 cell} {1×1 cell} {1×1 cell}
⋮
Input Arguments
Index of the messages in the rosbag, specified as a BagSelection
or rosbagreader
object. You can get a BagSelection
object by calling rosbag
.
Property names, specified as a string scalar or character vector. You can specify multiple properties. Each property name is a separate input and represents a different column in the time series object.
Output Arguments
Version History
Introduced in R2024a
See Also
rosbagreader
| select
| rosbag
| BagSelection
| timetable
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)