delete

Удалите rosbag объект средства записи из памяти

    Синтаксис

    Описание

    пример

    delete(bagWriter) удаляет rosbagwriter объект из памяти. Функция закрывает открытый rosbag файл прежде, чем удалить объект.

    Если несколько ссылок на rosbagwriter объект существует в рабочей области, удаляя rosbagwriter объект делает недействительным остающуюся ссылку. Используйте clear команда, чтобы удалить остающиеся ссылки на объект из рабочей области.

    Примеры

    свернуть все

    Получите всю информацию из rosbag файла журнала.

    rosbag('info','path_record.bag')
    Path:     /tmp/BR2021bd_1751886_255755/mlx_to_docbook7/tp95a72b0e/ros-ex73035957/path_record.bag
    Version:  2.0
    Duration: 10.5s
    Start:    Jul 05 2021 08:09:52.86 (1625486992.86)
    End:      Jul 05 2021 08:10:03.40 (1625487003.40)
    Size:     13.3 KB
    Messages: 102
    Types:    geometry_msgs/Point [4a842b65f413084dc2b10fb484ea7f17]
    Topics:   /circle  51 msgs  : geometry_msgs/Point
              /line    51 msgs  : geometry_msgs/Point
    

    Создайте rosbagreader объект всех сообщений в rosbag файле журнала.

    reader = rosbagreader('path_record.bag');

    Выберите все сообщения, связанные с темой '/circle'.

    bagSelCircle = select(reader,'Topic','/circle');

    Получите список меток времени от темы.

    timeStamps = bagSelCircle.MessageList.Time;

    Получите сообщения в выборе как массив ячеек.

    messages = readMessages(bagSelCircle);

    Создайте rosbagwriter возразите, чтобы записать сообщения в новый rosbag файл.

    circleWriter = rosbagwriter('circular_path_record.bag');

    Запишите все сообщения, связанные с темой '/circle' к новому rosbag файлу.

    write(circleWriter,'/circle',timeStamps,messages);

    Удалите rosbagwriter объект из памяти и ясный связанный объект.

    delete(circleWriter)
    clear circleWriter

    Получите всю информацию из нового rosbag файла журнала.

    rosbag('info','circular_path_record.bag')
    Path:     /tmp/BR2021bd_1751886_255755/mlx_to_docbook7/tp95a72b0e/ros-ex73035957/circular_path_record.bag
    Version:  2.0
    Duration: 10.4s
    Start:    Jul 05 2021 08:09:52.86 (1625486992.86)
    End:      Jul 05 2021 08:10:03.29 (1625487003.29)
    Size:     8.8 KB
    Messages: 51
    Types:    geometry_msgs/Point [4a842b65f413084dc2b10fb484ea7f17]
    Topics:   /circle  51 msgs  : geometry_msgs/Point
    

    Загрузите новый rosbag файл журнала.

    readerCircle = rosbagreader('circular_path_record.bag');

    Создайте временные ряды для координат.

    tsCircle = timeseries(readerCircle,'X','Y');

    Постройте координаты.

    plot(tsCircle.Data(:,1),tsCircle.Data(:,2))
    axis equal

    Figure contains an axes object. The axes object contains an object of type line.

    Создайте rosbagwriter возразите и rosbag файл в текущей рабочей директории. Задайте формат сжатия фрагментов сообщения и размер каждого фрагмента сообщения.

    bagwriter = rosbagwriter("bagfile.bag", ...
        "Compression","lz4",...
        "ChunkSize",1500)
    bagwriter = 
      rosbagwriter with properties:
    
           FilePath: '/tmp/BR2021bd_1751886_255755/mlx_to_docbook2/tpddfbd76c/ros-ex26181333/bagfile.bag'         
          StartTime: 0                                                                                            
            EndTime: 0                                                                                            
        NumMessages: 0                                                                                            
        Compression: 'lz4'                                                                                        
          ChunkSize: 1500                                                                                    Bytes
           FileSize: 4117                                                                                    Bytes
    
    

    Запустите узел и подключение к ведущему устройству ROS.

    rosinit
    Launching ROS Core...
    Done in 0.65801 seconds.
    Initializing ROS master on http://192.168.0.10:60864.
    Initializing global node /matlab_global_node_84052 with NodeURI http://bat6312glnxa64:32879/
    

    Запишите один журнал в rosbag файл.

    timeStamp = rostime("now");
    rosMessage = rosmessage("nav_msgs/Odometry");
    write(bagwriter,"/odom",timeStamp,rosMessage);
    bagwriter
    bagwriter = 
      rosbagwriter with properties:
    
           FilePath: '/tmp/BR2021bd_1751886_255755/mlx_to_docbook2/tpddfbd76c/ros-ex26181333/bagfile.bag'         
          StartTime: 1.6299e+09                                                                                   
            EndTime: 1.6299e+09                                                                                   
        NumMessages: 1                                                                                            
        Compression: 'lz4'                                                                                        
          ChunkSize: 1500                                                                                    Bytes
           FileSize: 4172                                                                                    Bytes
    
    

    Закройте сеть ROS.

    rosshutdown
    Shutting down global node /matlab_global_node_84052 with NodeURI http://bat6312glnxa64:32879/
    Shutting down ROS master on http://192.168.0.10:60864.
    

    Удалите rosbag объект средства записи из памяти и очистите связанный объект.

    delete(bagwriter)
    clear bagwriter

    Создайте rosbagreader возразите и загрузите все сообщения в rosbag файле журнала. Проверьте недавно записанный журнал.

    bagreader = rosbagreader('bagfile.bag')
    bagreader = 
      rosbagreader with properties:
    
               FilePath: '/tmp/BR2021bd_1751886_255755/mlx_to_docbook2/tpddfbd76c/ros-ex26181333/bagfile.bag'
              StartTime: 1.6299e+09
                EndTime: 1.6299e+09
            NumMessages: 1
        AvailableTopics: [1x3 table]
        AvailableFrames: {0x1 cell}
            MessageList: [1x4 table]
    
    
    bagreader.AvailableTopics
    ans=1×3 table
                 NumMessages       MessageType        MessageDefinition 
                 ___________    _________________    ___________________
    
        /odom         1         nav_msgs/Odometry    {'  uint32 Seq...'}
    
    

    Входные параметры

    свернуть все

    Средство записи файла журнала ROS в виде rosbagwriter объект.

    Смотрите также

    Объекты

    Функции

    Введенный в R2021b