Robotics StackExchange | Archived questions

Create a custom Lidar message

Hello everyone, I'm trying to create a neural model for detecting a docking station using a RPLidar A1. For these a created a lot of rosbag file which I converted to txt file and edited it to separated the data (I wanted to have only a scan of docking station, not the rest of the room). Right now I'm facing a problem with taking back the txt file into rosbag.

Below is the txt file as example

%time,
field.header.seq,
field.header.stamp,
field.header.frame_id,
field.angle_min,
field.angle_max,
field.angle_increment,
field.time_increment,
field.scan_time,
field.range_min,
field.range_max,

field.ranges0,field.ranges1,field.ranges2,field.ranges3,field.ranges4,field.ranges5,field.ranges6,
field.ranges7,field.ranges8,field.ranges9,field.ranges10,field.ranges11,field.ranges12,field.ranges13,field.ranges14,field.ranges15,field.ranges16,field.ranges17,field.ranges18,field.ranges19,
field.ranges20,field.ranges21,field.ranges22,field.ranges23,field.ranges24,field.ranges25,field.ranges26,field.ranges27,field.ranges28,field.ranges29,field.ranges30,field.ranges31,field.ranges32,
field.ranges33,field.ranges34,field.ranges35,field.ranges36,field.ranges37,field.ranges38,field.ranges39,field.ranges40,field.ranges41,field.ranges42,field.ranges43,field.ranges44,field.ranges45,
field.ranges46,field.ranges47,field.ranges48,field.ranges49,field.ranges50,field.ranges51,field.ranges52,field.ranges53,field.ranges54,field.ranges55,field.ranges56,field.ranges57,field.ranges58,
field.ranges59,field.ranges60,field.ranges61,field.ranges62,field.ranges63,field.ranges64,field.ranges65,field.ranges66,field.ranges67,field.ranges68,field.ranges69,field.ranges70,field.ranges71,
field.ranges72,field.ranges73,field.ranges74,field.ranges75,field.ranges76,field.ranges77,field.ranges78,field.ranges79,field.ranges80,field.ranges81,field.ranges82,field.ranges83,field.ranges84,
field.ranges85,field.ranges86,field.ranges87,field.ranges88,field.ranges89,field.ranges90,field.ranges91,field.ranges92,field.ranges93,field.ranges94,field.ranges95,field.ranges96,field.ranges97,
field.ranges98,field.ranges99,field.ranges100,field.ranges101,field.ranges102,field.ranges103,field.ranges104,field.ranges105,field.ranges106,field.ranges107,field.ranges108,field.ranges109,
field.ranges110,field.ranges111,field.ranges112,field.ranges113,field.ranges114,field.ranges115,field.ranges116,field.ranges117,field.ranges118,field.ranges119,field.ranges120,field.ranges121,
field.ranges122,field.ranges123,field.ranges124,field.ranges125,field.ranges126,field.ranges127,field.ranges128,field.ranges129,field.ranges130,field.ranges131,field.ranges132,field.ranges133,
field.ranges134,field.ranges135,field.ranges136,field.ranges137,field.ranges138,field.ranges139,field.ranges140,field.ranges141,field.ranges142,field.ranges143,field.ranges144,field.ranges145,
field.ranges146,field.ranges147,field.ranges148,field.ranges149,field.ranges150,field.ranges151,field.ranges152,field.ranges153,field.ranges154,field.ranges155,field.ranges156,field.ranges157,
field.ranges158,field.ranges159,field.ranges160,field.ranges161,field.ranges162,field.ranges163,field.ranges164,field.ranges165,field.ranges166,field.ranges167,field.ranges168,field.ranges169,
field.ranges170,field.ranges171,field.ranges172,field.ranges173,field.ranges174,field.ranges175,field.ranges176,field.ranges177,field.ranges178,field.ranges179,field.ranges180,field.ranges181,
field.ranges182,field.ranges183,field.ranges184,field.ranges185,field.ranges186,field.ranges187,field.ranges188,field.ranges189,field.ranges190,field.ranges191,field.ranges192,field.ranges193,
field.ranges194,field.ranges195,field.ranges196,field.ranges197,field.ranges198,field.ranges199,field.ranges200,field.ranges201,field.ranges202,field.ranges203,field.ranges204,field.ranges205,
field.ranges206,field.ranges207,field.ranges208,field.ranges209,field.ranges210,field.ranges211,field.ranges212,field.ranges213,field.ranges214,field.ranges215,field.ranges216,field.ranges217,
field.ranges218,field.ranges219,field.ranges220,field.ranges221,field.ranges222,field.ranges223,field.ranges224,field.ranges225,field.ranges226,field.ranges227,field.ranges228,field.ranges229,
field.ranges230,field.ranges231,field.ranges232,field.ranges233,field.ranges234,field.ranges235,field.ranges236,field.ranges237,field.ranges238,field.ranges239,field.ranges240,field.ranges241,
field.ranges242,field.ranges243,field.ranges244,field.ranges245,field.ranges246,field.ranges247,field.ranges248,field.ranges249,field.ranges250,field.ranges251,field.ranges252,field.ranges253,
field.ranges254,field.ranges255,field.ranges256,field.ranges257,field.ranges258,field.ranges259,field.ranges260,field.ranges261,field.ranges262,field.ranges263,field.ranges264,field.ranges265,
field.ranges266,field.ranges267,field.ranges268,field.ranges269,field.ranges270,field.ranges271,field.ranges272,field.ranges273,field.ranges274,field.ranges275,field.ranges276,field.ranges277,
field.ranges278,field.ranges279,field.ranges280,field.ranges281,field.ranges282,field.ranges283,field.ranges284,field.ranges285,field.ranges286,field.ranges287,field.ranges288,field.ranges289,
field.ranges290,field.ranges291,field.ranges292,field.ranges293,field.ranges294,field.ranges295,field.ranges296,field.ranges297,field.ranges298,field.ranges299,field.ranges300,field.ranges301,
field.ranges302,field.ranges303,field.ranges304,field.ranges305,field.ranges306,field.ranges307,field.ranges308,field.ranges309,field.ranges310,field.ranges311,field.ranges312,field.ranges313,
field.ranges314,field.ranges315,field.ranges316,field.ranges317,field.ranges318,field.ranges319,field.ranges320,field.ranges321,field.ranges322,field.ranges323,field.ranges324,field.ranges325,
field.ranges326,field.ranges327,field.ranges328,field.ranges329,field.ranges330,field.ranges331,field.ranges332,field.ranges333,field.ranges334,field.ranges335,field.ranges336,field.ranges337,
field.ranges338,field.ranges339,field.ranges340,field.ranges341,field.ranges342,field.ranges343,field.ranges344,field.ranges345,field.ranges346,field.ranges347,field.ranges348,field.ranges349,
field.ranges350,field.ranges351,field.ranges352,field.ranges353,field.ranges354,field.ranges355,field.ranges356,field.ranges357,field.ranges358,field.ranges359,field.intensities0,
field.intensities1,field.intensities2,field.intensities3,field.intensities4,field.intensities5,field.intensities6,field.intensities7,field.intensities8,field.intensities9,
field.intensities10,field.intensities11,field.intensities12,field.intensities13,field.intensities14,field.intensities15,field.intensities16,field.intensities17,
field.intensities18,field.intensities19,field.intensities20,field.intensities21,field.intensities22,field.intensities23,field.intensities24,field.intensities25,
field.intensities26,field.intensities27,field.intensities28,field.intensities29,field.intensities30,field.intensities31,field.intensities32,field.intensities33,
field.intensities34,field.intensities35,field.intensities36,field.intensities37,field.intensities38,field.intensities39,field.intensities40,field.intensities41,
field.intensities42,field.intensities43,field.intensities44,field.intensities45,field.intensities46,field.intensities47,field.intensities48,field.intensities49,
field.intensities50,field.intensities51,field.intensities52,field.intensities53,field.intensities54,field.intensities55,field.intensities56,field.intensities57,
field.intensities58,field.intensities59,field.intensities60,field.intensities61,field.intensities62,field.intensities63,field.intensities64,field.intensities65,
field.intensities66,field.intensities67,field.intensities68,field.intensities69,field.intensities70,field.intensities71,field.intensities72,field.intensities73,
field.intensities74,field.intensities75,field.intensities76,field.intensities77,field.intensities78,field.intensities79,field.intensities80,field.intensities81,
field.intensities82,field.intensities83,field.intensities84,field.intensities85,field.intensities86,field.intensities87,field.intensities88,field.intensities89,
field.intensities90,field.intensities91,field.intensities92,field.intensities93,field.intensities94,field.intensities95,field.intensities96,field.intensities97,
field.intensities98,field.intensities99,field.intensities100,field.intensities101,field.intensities102,field.intensities103,field.intensities104,field.intensities105,
field.intensities106,field.intensities107,field.intensities108,field.intensities109,field.intensities110,field.intensities111,field.intensities112,field.intensities113,
field.intensities114,field.intensities115,field.intensities116,field.intensities117,field.intensities118,field.intensities119,field.intensities120,field.intensities121,
field.intensities122,field.intensities123,field.intensities124,field.intensities125,field.intensities126,field.intensities127,field.intensities128,field.intensities129,
field.intensities130,field.intensities131,field.intensities132,field.intensities133,field.intensities134,field.intensities135,field.intensities136,field.intensities137,
field.intensities138,field.intensities139,field.intensities140,field.intensities141,field.intensities142,field.intensities143,field.intensities144,field.intensities145,
field.intensities146,field.intensities147,field.intensities148,field.intensities149,field.intensities150,field.intensities151,field.intensities152,field.intensities153,
field.intensities154,field.intensities155,field.intensities156,field.intensities157,field.intensities158,field.intensities159,field.intensities160,field.intensities161,
field.intensities162,field.intensities163,field.intensities164,field.intensities165,field.intensities166,field.intensities167,field.intensities168,field.intensities169,
field.intensities170,field.intensities171,field.intensities172,field.intensities173,field.intensities174,field.intensities175,field.intensities176,field.intensities177,
field.intensities178,field.intensities179,field.intensities180,field.intensities181,field.intensities182,field.intensities183,field.intensities184,field.intensities185,
field.intensities186,field.intensities187,field.intensities188,field.intensities189,field.intensities190,field.intensities191,field.intensities192,field.intensities193,
field.intensities194,field.intensities195,field.intensities196,field.intensities197,field.intensities198,field.intensities199,field.intensities200,field.intensities201,
field.intensities202,field.intensities203,field.intensities204,field.intensities205,field.intensities206,field.intensities207,field.intensities208,field.intensities209,
field.intensities210,field.intensities211,field.intensities212,field.intensities213,field.intensities214,field.intensities215,field.intensities216,field.intensities217,
field.intensities218,field.intensities219,field.intensities220,field.intensities221,field.intensities222,field.intensities223,field.intensities224,field.intensities225,
field.intensities226,field.intensities227,field.intensities228,field.intensities229,field.intensities230,field.intensities231,field.intensities232,field.intensities233,
field.intensities234,field.intensities235,field.intensities236,field.intensities237,field.intensities238,field.intensities239,field.intensities240,field.intensities241,
field.intensities242,field.intensities243,field.intensities244,field.intensities245,field.intensities246,field.intensities247,field.intensities248,field.intensities249,
field.intensities250,field.intensities251,field.intensities252,field.intensities253,field.intensities254,field.intensities255,field.intensities256,field.intensities257,
field.intensities258,field.intensities259,field.intensities260,field.intensities261,field.intensities262,field.intensities263,field.intensities264,field.intensities265,
field.intensities266,field.intensities267,field.intensities268,field.intensities269,field.intensities270,field.intensities271,field.intensities272,field.intensities273,
field.intensities274,field.intensities275,field.intensities276,field.intensities277,field.intensities278,field.intensities279,field.intensities280,field.intensities281,
field.intensities282,field.intensities283,field.intensities284,field.intensities285,field.intensities286,field.intensities287,field.intensities288,field.intensities289,
field.intensities290,field.intensities291,field.intensities292,field.intensities293,field.intensities294,field.intensities295,field.intensities296,field.intensities297,
field.intensities298,field.intensities299,field.intensities300,field.intensities301,field.intensities302,field.intensities303,field.intensities304,field.intensities305,
field.intensities306,field.intensities307,field.intensities308,field.intensities309,field.intensities310,field.intensities311,field.intensities312,field.intensities313,
field.intensities314,field.intensities315,field.intensities316,field.intensities317,field.intensities318,field.intensities319,field.intensities320,field.intensities321,
field.intensities322,field.intensities323,field.intensities324,field.intensities325,field.intensities326,field.intensities327,field.intensities328,field.intensities329,
field.intensities330,field.intensities331,field.intensities332,field.intensities333,field.intensities334,field.intensities335,field.intensities336,field.intensities337,
field.intensities338,field.intensities339,field.intensities340,field.intensities341,field.intensities342,field.intensities343,field.intensities344,field.intensities345,
field.intensities346,field.intensities347,field.intensities348,field.intensities349,field.intensities350,field.intensities351,field.intensities352,field.intensities353,
field.intensities354,field.intensities355,field.intensities356,field.intensities357,field.intensities358,field.intensities359
1668091799134035515,6913,1668091798996164262,laser,-3.12413907051,3.14159274101,0.0174532923847,0.000377476477297,0.135514050722,0.15000000596,12.0,

inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
inf,inf,
inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
inf,inf,inf,inf,inf,inf,inf,inf,5.0,inf,inf,inf,inf,
inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,1.48599994183,1.47099995613,
1.inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
inf,inf,inf,1.inf,inf,inf,inf,inf,inf,1.inf,1.inf,inf,inf,inf,inf,inf,inf,0.763000011444,0.753000020981,0.753000020981,
0.768999993801,0.764999985695,0.758000016212,0.741999983788,0.717000007629,0.711000025272,inf,0.676999986172,0.662000000477,0.652999997139,0.638000011444,0.625999987125,0.617999970913,
inf,0.522000014782,0.509999990463,0.508000016212,0.509000003338,0.512000024319,0.523999989033,inf,inf,1.inf,1.inf,1.inf,1.inf,1.inf,1.inf,
1.inf,1.inf,1.inf,1.inf,1.inf,1.inf,1.inf,1.inf,1.inf,1.inf,1.inf,1.inf,1.inf,1.inf,
1.inf,1.inf,1.inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
inf,inf,inf,inf,inf,inf,inf,inf,3.0,inf,inf,inf,1.inf,inf,inf,
inf,inf,inf,inf,0.940999984741,inf,inf,inf,inf,inf,1.inf,inf,inf,inf,1.inf,
inf,1.inf,1.inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
1.inf,inf,0.728999972343,0.722999989986,0.722000002861,1.inf,1.inf,inf,3.25,inf,inf,inf,inf,inf,inf,
inf,inf,1.inf,inf,inf,inf,inf,inf,inf,inf,1.inf,inf,07800006866,1.52699995041,
1.inf,1.inf,1.inf,1.inf,1.inf,0.97000002861,0.966000020504,1.inf,1.inf,1.inf,1.inf,inf,inf,
inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf,
47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,
47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,
47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,0.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,
47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,0.0,47.0,47.0,0.0,0.0,0.0,47.0,47.0,47.0,47.0,47.0,0.0,0.0,0.0,47.0,47.0,47.0,0.0,0.0,47.0,47.0,47.0,47.0,47.0,0.0,0.0,47.0,47.0,
47.0,47.0,47.0,47.0,0.0,47.0,47.0,0.0,0.0,0.0,47.0,47.0,47.0,47.0,0.0,0.0,0.0,0.0,0.0,0.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,0.0,47.0,47.0,47.0,47.0,47.0,47.0,0.0,47.0,47.0,47.0,
47.0,47.0,47.0,0.0,0.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,
47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,
47.0,0.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,0.0,47.0,47.0,47.0,47.0,47.0,47.0,0.0,47.0,0.0,47.0,47.0,47.0,0.0,47.0,47.0,47.0,47.0,47.0,0.0,47.0,47.0,0.0,47.0,0.0,47.0,0.0,47.0,0.0,
47.0,47.0,47.0,47.0,47.0,0.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,0.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,0.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,
47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0,47.0

If someone know how to convert this pls help. Thanks in advance.

Asked by Heqas on 2022-11-13 11:06:07 UTC

Comments

What is the question? Do you want to extract data from a bag file? Or create a bag file from data? Or create a ROS message?

Asked by ravijoshi on 2022-11-14 03:58:54 UTC

I want to convert a bag file into txt file. Edit it to only have a docking station without the rest of room and recreate a bag file from it

Asked by Heqas on 2022-11-14 06:25:28 UTC

I would suggest the following simple pipeline for this pre-processing:

  1. Play the bag file in a terminal
  2. In another terminal, write a node to subscribe to your message
  3. Inside the subscriber's callback, filter the points from your data
  4. Publish those filtered data
  5. Record the filtered data in another bag file

Alternatively, you can make use of the rosbag API to retrieve your messages directly from the bag file. An example of using rosbag API is shown here.

Asked by ravijoshi on 2022-11-15 00:14:18 UTC

Answers