zoukankan      html  css  js  c++  java
  • 如何保存rviz中显示的机器人无人车轨迹并在matlab中处理

    如何导出机器人轨迹并在matlab中处理

    参考:https://blog.csdn.net/weixin_43246530/article/details/82845615

    导出轨迹

    将轨迹topic保存成bag文件:

    robag  record -o /topic_name
    

    1.如果轨迹是pointcloud2类型的,接下来就可以直接转换为pcd文件在matlab中处理了:

    rosrun pcl_ros bag_to_pcd bagname.bag /topic_name to file_name
    

    然后在matlab中处理pcd:

    ptCloud=pcread('路径值+包名');
    xy=ptCloud.Location;
    

    之后就可以随意用plot3,scatter等等画图啦,比如

    scatter(xy(:,1)),xy(:,3),);
    

    2.如果估计是其他类型的比如我现在遇到了轨迹是nav_msgs类型的,就无法用上面语句导成pcd格式了,在这里我采用不录制bag,而且直接保存topic信息为txt文件再存储。
    在运行数据包一开始,用

    rostopic echo /topic_name  >name.txt
    

    保成txt文件后,现在是一个有字符串和数字的混合文件,还不能直接用来画图,先导入到matlab中,在matlab左侧文件目录去点击txt文件,右键,导入数据,会出现一个工具箱,可以自动把文本和其对应的数字分开,这样如果分出的数字正好是想要的就可以直接导入数字列了,但我的数据里,有的数字是想要的,有的数字不想要,我只能先把他们全部都导入再筛选,数据集大的话这个过程有点长。。。。。。。
    导入数据后
    可以看到工作区中的相关数据,选择需要处理的就行了。

  • 相关阅读:
    Codeforces Round #522(Div. 2) C.Playing Piano
    zstu月赛 招生
    Codeforces Round #519 D
    RMQ[区间最值查询] 算法
    Codeforces #364 (Div. 2) D. As Fa(数学公式推导 或者二分)
    尺取法
    Codeforces #366 (Div. 2) D. Ant Man (贪心)
    Codeforces #366 Div. 2 C. Thor (模拟
    裴蜀定理
    CF850 E. Random Elections
  • 原文地址:https://www.cnblogs.com/sariel-sakura/p/13164642.html
Copyright © 2011-2022 走看看