CN110673947A - Method for reducing memory required by laser slam graph building - Google Patents

Method for reducing memory required by laser slam graph building Download PDF

Info

Publication number
CN110673947A
CN110673947A CN201910738485.7A CN201910738485A CN110673947A CN 110673947 A CN110673947 A CN 110673947A CN 201910738485 A CN201910738485 A CN 201910738485A CN 110673947 A CN110673947 A CN 110673947A
Authority
CN
China
Prior art keywords
cell
map
grid map
cells
laser beam
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910738485.7A
Other languages
Chinese (zh)
Other versions
CN110673947B (en
Inventor
菅坤杰
谷容军
周作伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Boren Culture Technology Co Ltd
Original Assignee
Jiangsu Boren Culture Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Boren Culture Technology Co Ltd filed Critical Jiangsu Boren Culture Technology Co Ltd
Priority to CN201910738485.7A priority Critical patent/CN110673947B/en
Publication of CN110673947A publication Critical patent/CN110673947A/en
Application granted granted Critical
Publication of CN110673947B publication Critical patent/CN110673947B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a method for reducing the memory required by laser slam map building, which is scientific, reasonable and convenient to use, and can save a large amount of memory resources and have no influence on the map building precision when the laser slam builds an environment map, so that the map building speed is basically not changed.

Description

Method for reducing memory required by laser slam graph building
Technical Field
The invention relates to the technical field of mobile robot positioning and mapping software algorithms, in particular to a method for reducing a memory required by laser slam mapping.
Background
SLAM, called Simultaneous Localization and Mapping in Chinese, can be described as: the robot starts to move from an unknown position in an unknown environment, pose initial estimation is carried out according to a sensor carried by the robot and accurate estimation is carried out according to a map in the moving process, meanwhile, an incremental map is built on the basis of self positioning, autonomous positioning and navigation of the robot are achieved, laser slam is achieved by adopting a laser radar, visual slam is achieved by adopting a camera, and the method provided by the invention aims at optimization of the laser slam.
Some methods only have int type visits and n members in each cell during drawing construction, and when a laser beam endpoint hits the cell, no accumulation is carried out to store the coordinates of the barrier of the laser endpoint, and when the corresponding cell is a barrier, the default barrier position is at the geometric center of the cell according to probability calculation, which is a rough method for estimating the barrier.
Disclosure of Invention
The invention aims to provide a method for reducing a memory required by laser slam graph building so as to solve the problems in the prior art.
In order to achieve the purpose, the invention provides the following technical scheme: a method for reducing the memory required by laser slam graph building comprises the steps of respectively storing member variables of each cell, reserving a large number of used members in the cells, and separating out the members with less use amount and storing the members in independent storage spaces;
the initial state of each cell of the grid map is unknown during mapping, no storage space can be allocated to the members of the cell, and the cell accessed by the laser beam during mapping reallocates the corresponding storage space along with the updating and expansion of the map.
According to the above technical solution, the method further comprises the steps of:
s1, dividing the grid map into a plurality of cells, wherein each cell comprises an int-type member variable and a float-type member variable;
s2, when the laser beam end point falls into the corresponding cell, the int type member variable n and visits are automatically increased by 1, and the laser beam end point coordinates are accumulated by x and y;
s3, when the laser beam passes through the corresponding cell, the int type variable visits is automatically increased by 1, n is kept unchanged, and x and y are kept unchanged;
s4, the x and y of the cell passed by the laser beam are 0 by default and do not need to be saved separately;
s5, accumulating the coordinates of the end point of the laser beam by the x and y of the unit cell hit and passed by the end point of the laser beam;
s6, storing the indexes and the corresponding x and y values of the unit cells into a map container;
s7, when the map is updated, accessing and updating x and y from the map container according to the index;
s8, when the cell is accessed by the laser beam for the first time, the corresponding cell firstly allocates storage space for the variable member;
and S9, updating the values of the member variables, and enabling the cells to be in an occupied state or a free state.
According to the above technical solution, in the step S1, the grid map is obtained by discretizing and storing information of a continuous world, and the grid map is composed of a plurality of cells;
each cell comprises int type variables visits and n, the int type variables visits represent the access times of the laser beam to the cell, and the int type variables n represent the times of the laser beam end points falling into the cell;
each cell further comprises float type variables x and y, wherein the float type variables x and y represent global continuous coordinates of a corresponding obstacle when the cell is hit by a laser end point;
the memory occupied by the int type variable and the float type variable is 4 bytes, and the memory occupied by each cell is 16 bytes.
According to the above technical solution, in the steps S2-S3, when the laser beam end point falls into the corresponding cell, the int type member variables visits and n are increased by 1, which indicates that the cell is an obstacle, and the float type member variables x and y add up the coordinates of the laser beam end point;
when the laser beam end point passes through the corresponding cell, the int type member variable visits is increased by 1, the int type member variable n is kept unchanged, and the float type member variables x and y are kept unchanged.
According to the above technical solution, in the steps S4-S6, both float type member variables x and y of the unit cell through which the laser beam passes are 0, each of the unit cell member variables is reduced to int type member variables visits and n, the memory occupied by each of the unit cells is 8 bytes, and the float type member variables x and y in the unit cell are not separately stored;
the float type member variables x and y in the cell hit by the laser beam end point need only accumulate the laser beam end point coordinates, and the index of the cell and the values of the float type member variables x and y are saved into the map container.
According to the above technical solution, in the step S7, when the map is updated, the float type member variables x and y are accessed from the map container according to the index, and the float type member variables x and y are updated according to the requirement.
According to the technical scheme, according to statistics, when the map is constructed by the laser slam, 90% of cells are all punctured by the laser beams, no laser end point falls into the cell, 10% of cells are hit by the laser beam end point, the map container only needs 10% of the total number of cells of the grid map, and each grid map is decomposed into the grid map only containing int type member variables visits and n and the map container for storing float type member variables x and y.
According to the technical scheme, the width and the height of the constructed grid map are set to be map-x and map-y respectively, and the number of cells in the x direction and the y direction of the map is represented;
the total number of cells is:
Sum=map-x*map-y;
each cell is 16 bytes;
the total memory occupied by the grid map is as follows:
S1=16*sum;
the int type member variables visits and n used at high frequency in each cell are reserved, the float type member variables x and y used at low frequency in each cell are reserved in a storage space outside the grid map, the memory occupied by each cell is 8 bytes, and the total memory occupied by the grid map is as follows:
S2=8*sum;
the float type member variables x and y independently create a memory space P, when the unit cells are hit by laser beam end points, the unit cell float type member variables x and y are added into the memory space P, the unit cells are arranged in a grid map in a descending order, and each unit cell float type member variable x and y occupies 8 bytes;
according to the data statistics of the unit cells by using the conventional technical means when the map is built by the technical personnel in the field, the number of the unit cells hit by the end point of the laser beam accounts for 10 percent of the total number of the unit cells of the grid map;
the storage space P is as follows:
P=0.1*sum*8;
the storage space of the grid map is reduced by T compared with the storage space occupied by the original grid map1
The grid map reduces the storage space occupied by the original grid map by 45 percent without influencing the map building precision.
According to the technical scheme, under the condition that the grid map is not accessed by the laser beam, the initial storage space of the unit cell is 0, and after the unit cell is accessed by the laser beam for the first time, the storage space is allocated to the members in the unit cell;
according to the above technical solution, in the steps S8-S9, after each of the cell member variables is stored separately, each cell of the grid map only contains two variables of int type, each cell is divided into three states of an unknown state, an occupied state and a free state according to the access condition of laser to the cell, the initial state of the cell is unknown, the cell does not contain measurement information of the environment by laser, the cell in the unknown state is not allocated with storage space, the storage space occupied by the grid map in the initial state is 0, the grid map is continuously updated and expanded along with the movement of the robot and the measurement of the laser radar on the environment, when the cells are accessed by the laser for the first time, the corresponding cells firstly allocate storage space for the members, the values of the member variables are updated, the cells become occupied or free states, and the storage space of the grid map is gradually allocated.
According to the statistics and measurement of cell data by a person skilled in the art by using a conventional technical means, after the grid map is constructed, the number of the cells accessed by the laser beam accounts for 50% -80% of the total number of the cells of the grid map;
the storage space occupied by the grid map with the cells only containing int-type member variables visits and n is as follows:
S3∈(0.5*8*sum,0.8*8*sum);
the storage space of the grid map can be saved compared with the original lowest grid map:
Figure BDA0002163099010000061
the storage space of the grid map can be saved as compared with the original storage space:
Figure BDA0002163099010000062
when the laser slam builds the map, the storage space occupied by the grid map can be saved by 55-70% compared with the storage space occupied by the grid map without the method, and the map building precision is not influenced.
Compared with the prior art, the invention has the beneficial effects that: when the environment map is constructed by the laser slam, a large amount of memory resources can be saved, the precision of the constructed map is not influenced, the speed of constructing the map can be guaranteed not to change basically, the use of the memory is increased continuously and slowly, and the condition that the use of the memory is increased suddenly and greatly is avoided, so that the operation of the program is smoother, the system operation with other programs in the system is guaranteed to be more harmonious and stable, and the influence of the grid map on the map precision is smaller by using the method.
Drawings
FIG. 1 is a schematic diagram illustrating steps of a method for reducing a memory required for building a map by a laser slam according to the present invention;
FIG. 2 is a schematic diagram of a grid map and cells of a method for reducing the memory required for laser slam map building according to the present invention;
fig. 3 is a flow chart of a method for reducing the memory required for building a map by the laser slam according to the present invention.
1. A grid map; 101. and (4) cell.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Example (b): as shown in fig. 1-3, a method for reducing the memory required by laser slam graph building includes storing the member variables of each cell respectively, retaining a large number of used members in the cells, and separating out the members with less usage and storing the members in independent storage spaces;
the initial state of each cell of the grid map is unknown during mapping, no storage space can be allocated to the members of the cell, and the cell accessed by the laser beam during mapping reallocates the corresponding storage space along with the updating and expansion of the map.
According to the above technical solution, the method further comprises the steps of:
s1, dividing the grid map into a plurality of cells, wherein each cell comprises an int-type member variable and a float-type member variable;
s2, when the laser beam end point falls into the corresponding cell, the int type member variable n and visits are automatically increased by 1, and the laser beam end point coordinates are accumulated by x and y;
s3, when the laser beam passes through the corresponding cell, the int type variable visits is automatically increased by 1, n is kept unchanged, and x and y are kept unchanged;
s4, the x and y of the cell passed by the laser beam are 0 by default and do not need to be saved separately;
s5, accumulating the coordinates of the end point of the laser beam by the x and y of the unit cell hit and passed by the end point of the laser beam;
s6, storing the indexes and the corresponding x and y values of the unit cells into a map container;
s7, when the map is updated, accessing and updating x and y from the map container according to the index;
s8, when the cell is accessed by the laser beam for the first time, the corresponding cell firstly allocates storage space for the variable member;
and S9, updating the values of the member variables, and enabling the cells to be in an occupied state or a free state.
According to the technical scheme, in the step S1, the grid map is used for storing the information of the continuous world in a discretization mode, and the grid map is composed of a plurality of cells;
each cell comprises int type variables visits and n, wherein the int type variables visits represent the access times of the laser beam to the cell, and the int type variables n represent the times of the laser beam end points falling into the cell;
each cell also comprises float type variables x and y, wherein the float type variables x and y represent global continuous coordinates of a corresponding obstacle when the cell is hit by a laser end point;
the memory occupied by the int type variable and the float type variable is 4 bytes, and the memory occupied by each cell is 16 bytes.
According to the technical scheme, in the steps S2-S3, when the end point of the laser beam falls into the corresponding cell, int type member variables visits and n are increased by 1, the cell is indicated to be an obstacle, and float type member variables x and y accumulate the coordinates of the end point of the laser beam;
when the laser beam end point passes through the corresponding cell, the int type member variable visits is increased by 1, the int type member variable n is kept unchanged, and the float type member variables x and y are kept unchanged.
According to the technical scheme, in the steps S4-S6, both the float type member variables x and y of the unit cell passed by the laser beam are 0, the member variables of each unit cell are reduced to int type member variables visits and n, the memory occupied by each unit cell is 8 bytes, and the float type member variables x and y in the unit cell are not required to be stored independently;
the float type member variables x and y in the cell hit by the laser beam end point need only be added to the laser beam end point coordinates, and the index of the cell and the values of the float type member variables x and y are saved into the map container.
In step S7, when a map is updated, the float type member variables x and y are accessed from the map container according to the index, and the float type member variables x and y are updated as needed.
According to the technical scheme, according to statistics, when the map is constructed by the laser slam, 90% of cells are all punctured by the laser beams, no laser end point falls into the cell, 10% of cells are hit by the laser beam end point, the map container only needs 10% of the total number of cells of the grid map, and each grid map is decomposed into the grid map only containing int type member variables visits and n and the map container for storing float type member variables x and y.
According to the technical scheme, the width and the height of the constructed grid map are respectively set to be 100 and 100, and the number of cells in the x direction and the y direction of the map is represented;
the total number of cells is:
Sum=100*100=10000;
each cell is 16 bytes;
the total memory occupied by the grid map is:
S1=16*10000=160000;
the int type member variables visits and n used at high frequency in each cell are reserved, the float type member variables x and y used at low frequency in each cell are reserved in the storage space outside the grid map, the memory occupied by each cell is 8 bytes, and the total memory occupied by the grid map is as follows:
S2=8*10000=80000;
the float type member variables x and y independently establish a memory space P, when the unit cells are hit by laser beam end points, the unit cell float type member variables x and y are added into the memory space P, the unit cells are arranged in a grid map in a searching and descending order, and each unit cell float type member variable x and y occupies 8 bytes;
according to the data statistics of the cells by using the conventional technical means when the map is built by the technical personnel in the field, the number of the cells hit by the end point of the laser beam accounts for 10 percent of the total number of the cells of the grid map;
the storage space P is:
P=0.1*10000*8=8000;
the storage space of the grid map is reduced by T compared with the storage space occupied by the original grid map1
Figure BDA0002163099010000111
The storage space occupied by the grid map is reduced by 45% compared with the original grid map, and the map building precision is not influenced.
According to the technical scheme, under the condition that the grid map is not accessed by the laser beam, the initial storage space of the unit cell is 0, and after the unit cell is accessed by the laser beam for the first time, the storage space is distributed to the members in the unit cell;
according to the technical scheme, in the steps S8-S9, after member variables of each cell are respectively stored, each cell of the grid map only contains two int-type variables, each cell is divided into three states of an unknown state, an occupied state and a free state according to the access condition of laser to the cell, the initial state of the cell is unknown and does not contain measurement information of the laser to the environment, the cell in the unknown state is not allocated with a storage space, the storage space occupied by the initial state of the grid map is 0, the map is continuously updated and expanded along with the movement of the robot and the measurement of the laser radar to the environment, when the cell is firstly accessed by the laser, the corresponding cell firstly allocates the storage space to the members, the values of the member variables are updated, the cell is changed into the occupied state or the free state, and the storage space in the grid is gradually allocated.
According to the statistics and measurement of cell data by utilizing a conventional technical means by a person skilled in the art, after the grid map is constructed, the number of the cells accessed by the laser beam accounts for 70% of the total number of the cells of the grid map;
the storage space occupied by the grid map with the cells only containing int-type member variables visits and n is as follows:
S3=56000;
the storage space of the grid map can be saved compared with the original storage space:
Figure BDA0002163099010000121
when the laser slam builds the map, the storage space occupied by the grid map can be saved by 60% compared with the storage space occupied by the grid map without the method, and the map building precision is not influenced.
Example two: setting the width and the height of the constructed grid map as 100 and 100 respectively, and representing the number of cells in the x direction and the y direction of the map;
the total number of cells is:
Sum=100*100=10000;
each cell is 16 bytes;
the total memory occupied by the grid map is:
S1=16*10000=160000;
the int type member variables visits and n used at high frequency in each cell are reserved, the float type member variables x and y used at low frequency in each cell are reserved in the storage space outside the grid map, the memory occupied by each cell is 8 bytes, and the total memory occupied by the grid map is as follows:
S2=8*10000=80000;
the float type member variables x and y independently establish a memory space P, when the unit cells are hit by laser beam end points, the unit cell float type member variables x and y are added into the memory space P, the unit cells are arranged in a grid map in a searching and descending order, and each unit cell float type member variable x and y occupies 8 bytes;
according to the data statistics of the cells by using the conventional technical means when the map is built by the technical personnel in the field, the number of the cells hit by the end point of the laser beam accounts for 10 percent of the total number of the cells of the grid map;
the storage space P is:
P=0.1*10000*8=8000;
the storage space of the grid map is reduced by T compared with the storage space occupied by the original grid map1
The storage space occupied by the grid map is reduced by 45% compared with the original grid map, and the map building precision is not influenced.
According to the technical scheme, under the condition that the grid map is not accessed by the laser beam, the initial storage space of the unit cell is 0, and after the unit cell is accessed by the laser beam for the first time, the storage space is distributed to the members in the unit cell;
according to the technical scheme, in the steps S8-S9, after member variables of each cell are respectively stored, each cell of the grid map only contains two int-type variables, each cell is divided into three states of an unknown state, an occupied state and a free state according to the access condition of laser to the cell, the initial state of the cell is unknown and does not contain measurement information of the laser to the environment, the cell in the unknown state is not allocated with a storage space, the storage space occupied by the initial state of the grid map is 0, the map is continuously updated and expanded along with the movement of the robot and the measurement of the laser radar to the environment, when the cell is firstly accessed by the laser, the corresponding cell firstly allocates the storage space to the members, the values of the member variables are updated, the cell is changed into the occupied state or the free state, and the storage space in the grid is gradually allocated.
According to the statistics and measurement of the cell data by utilizing the conventional technical means by the technical personnel in the field, after the grid map is constructed, the number of the cells accessed by the laser beam accounts for 60 percent of the total number of the cells of the grid map;
the storage space occupied by the grid map with the cells only containing int-type member variables visits and n is as follows:
S3=48000;
the storage space of the grid map can be saved compared with the original lowest storage space:
Figure BDA0002163099010000141
when the laser slam builds the map, the storage space occupied by the grid map can be saved by 65% compared with the storage space occupied by the grid map without the method, and the map building precision is not influenced.
It will be evident to those skilled in the art that the invention is not limited to the details of the foregoing illustrative embodiments, and that the present invention may be embodied in other specific forms without departing from the spirit or essential attributes thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned.

Claims (10)

1. A method for reducing the memory required by laser slam graph building is characterized in that: the method stores the member variables of each cell respectively, a large number of used members are reserved in the cells, and the members with less use amount are separated out and stored in an independent storage space;
the initial state of each cell of the grid map is unknown during mapping, no storage space can be allocated to the members of the cell, and the cell accessed by the laser beam during mapping reallocates the corresponding storage space along with the updating and expansion of the map.
2. The method of claim 1, wherein the method for reducing the memory required for laser slam mapping comprises: the method further comprises the following steps:
s1, dividing the grid map into a plurality of cells, wherein each cell comprises an int-type member variable and a float-type member variable;
s2, when the laser beam end point falls into the corresponding cell, the int type member variable n and visits are automatically increased by 1, and the laser beam end point coordinates are accumulated by x and y;
s3, when the laser beam passes through the corresponding cell, the int type variable visits is automatically increased by 1, n is kept unchanged, and x and y are kept unchanged;
s4, the x and y of the cell passed by the laser beam are 0 by default and do not need to be saved separately;
s5, accumulating the coordinates of the end point of the laser beam by the x and y of the unit cell hit and passed by the end point of the laser beam;
s6, storing the indexes and the corresponding x and y values of the unit cells into a map container;
s7, when the map is updated, accessing and updating x and y from the map container according to the index;
s8, when the cell is accessed by the laser beam for the first time, the corresponding cell firstly allocates storage space for the variable member;
and S9, updating the values of the member variables, and enabling the cells to be in an occupied state or a free state.
3. The method of claim 2, wherein the method for reducing the memory required for laser slam mapping comprises: in the step S1, the grid map is obtained by discretizing and storing information of a continuous world, and the grid map is composed of a plurality of cells;
each cell comprises int type variables visits and n, the int type variables visits represent the access times of the laser beam to the cell, and the int type variables n represent the times of the laser beam end points falling into the cell;
each cell further comprises float type variables x and y, wherein the float type variables x and y represent global continuous coordinates of a corresponding obstacle when the cell is hit by a laser end point;
the memory occupied by the int type variable and the float type variable is 4 bytes, and the memory occupied by each cell is 16 bytes.
4. The method of claim 2, wherein the method for reducing the memory required for laser slam mapping comprises: in the steps S2-S3, when the laser beam end point falls into the corresponding cell, the int type member variables visits and n are increased by 1, and the float type member variables x and y add up the laser beam end point coordinates;
when the laser beam end point passes through the corresponding cell, the int type member variable visits is increased by 1, the int type member variable n is kept unchanged, and the float type member variables x and y are kept unchanged.
5. The method of claim 2, wherein the method for reducing the memory required for laser slam mapping comprises: in the steps S4-S6, both float type member variables x and y of the cell through which the laser beam passes are 0, each of the cell member variables is reduced to int type member variables visits and n, the memory occupied by each of the cells is 8 bytes, and the float type member variables x and y in the cells are not separately stored;
the float type member variables x and y in the cell hit by the laser beam end point need only accumulate the laser beam end point coordinates, and the index of the cell and the values of the float type member variables x and y are saved into the map container.
6. The method of claim 2, wherein the method for reducing the memory required for laser slam mapping comprises: in step S7, when the map is updated, the float type member variables x and y are accessed from the map container according to the index, and the float type member variables x and y are updated according to the requirement.
7. The method of claim 6, wherein the method for reducing the memory required for laser slam mapping comprises: according to statistics, when a map is constructed by laser slam, 90% of cells are all punctured by laser beams, no laser end point falls into the cell, 10% of cells are hit by the laser beam end point, the map container only needs 10% of the total number of cells of the grid map, and each grid map is decomposed into a grid map only containing int type member variables visits and n and a map container for storing float type member variables x and y.
8. The method of claim 7, wherein the method for reducing the memory required for laser slam mapping comprises: setting the width and the height of the constructed grid map as map-x and map-y respectively, and representing the number of cells in the x direction and the y direction of the map;
the total number of cells is:
Sum=map-x*map-y;
each cell is 16 bytes;
the total memory occupied by the grid map is as follows:
S1=16*sum;
the int type member variables visits and n used at high frequency in each cell are reserved, the float type member variables x and y used at low frequency in each cell are reserved in a storage space outside the grid map, the memory occupied by each cell is 8 bytes, and the total memory occupied by the grid map is as follows:
S2=8*sum;
the float type member variables x and y independently create a memory space P, when the unit cells are hit by laser beam end points, the unit cell float type member variables x and y are added into the memory space P, the unit cells are arranged in a grid map in a descending order, and each unit cell float type member variable x and y occupies 8 bytes;
the number of the unit cells hit by the end point of the laser beam accounts for 10% of the total unit cells of the grid map;
the storage space P is as follows:
P=0.1*sum*8;
the storage space of the grid map is reduced by T compared with the storage space occupied by the original grid map1
Figure FDA0002163097000000041
9. The method of claim 2, wherein the method for reducing the memory required for laser slam mapping comprises: in the steps S8-S9, after each of the cell member variables is stored separately, each cell of the grid map only contains two variables of int type, each cell is divided into three states of an unknown state, an occupied state and a free state according to the access condition of laser to the cell, the initial state of the cell is unknown, the cell does not contain measurement information of the environment by laser, the cell in the unknown state is not allocated with storage space, the storage space occupied by the grid map in the initial state is 0, the grid map is continuously updated and expanded along with the movement of the robot and the measurement of the laser radar on the environment, when the cells are accessed by the laser for the first time, the corresponding cells firstly allocate storage space for the members, the values of the member variables are updated, the cells become occupied or free states, and the storage space of the grid map is gradually allocated.
10. The method of claim 9, wherein the method for reducing the memory required for laser slam mapping comprises: after the grid map is constructed, the number of the unit cells accessed by the laser beam accounts for 50% -80% of the total number of the unit cells of the grid map;
the storage space occupied by the grid map with the cells only containing int-type member variables visits and n is as follows:
S3∈(0.5*8*sum,0.8*8*sum);
the storage space of the grid map can be saved compared with the original lowest grid map:
Figure FDA0002163097000000051
the storage space of the grid map can be saved as compared with the original storage space:
Figure FDA0002163097000000052
CN201910738485.7A 2019-08-12 2019-08-12 Method for reducing memory required by laser slam graph building Active CN110673947B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910738485.7A CN110673947B (en) 2019-08-12 2019-08-12 Method for reducing memory required by laser slam graph building

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910738485.7A CN110673947B (en) 2019-08-12 2019-08-12 Method for reducing memory required by laser slam graph building

Publications (2)

Publication Number Publication Date
CN110673947A true CN110673947A (en) 2020-01-10
CN110673947B CN110673947B (en) 2022-04-05

Family

ID=69068824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910738485.7A Active CN110673947B (en) 2019-08-12 2019-08-12 Method for reducing memory required by laser slam graph building

Country Status (1)

Country Link
CN (1) CN110673947B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593861A (en) * 2013-11-21 2014-02-19 武大吉奥信息技术有限公司 Tile loading method for 2.5-dimensional map service
CN107817801A (en) * 2017-11-03 2018-03-20 深圳市杉川机器人有限公司 Robot control method, device, robot and cradle
CN108007452A (en) * 2017-12-08 2018-05-08 北京奇虎科技有限公司 The method, apparatus and robot of environmental map are updated according to barrier
WO2018142493A1 (en) * 2017-01-31 2018-08-09 富士通株式会社 Image processing device, image processing method, image processing program, image capturing method, and mobile object
CN108917769A (en) * 2018-07-13 2018-11-30 北京工业大学 A kind of adaptive grating map creating method of robot based on nine fork trees

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593861A (en) * 2013-11-21 2014-02-19 武大吉奥信息技术有限公司 Tile loading method for 2.5-dimensional map service
WO2018142493A1 (en) * 2017-01-31 2018-08-09 富士通株式会社 Image processing device, image processing method, image processing program, image capturing method, and mobile object
CN107817801A (en) * 2017-11-03 2018-03-20 深圳市杉川机器人有限公司 Robot control method, device, robot and cradle
CN108007452A (en) * 2017-12-08 2018-05-08 北京奇虎科技有限公司 The method, apparatus and robot of environmental map are updated according to barrier
CN108917769A (en) * 2018-07-13 2018-11-30 北京工业大学 A kind of adaptive grating map creating method of robot based on nine fork trees

Also Published As

Publication number Publication date
CN110673947B (en) 2022-04-05

Similar Documents

Publication Publication Date Title
CN108444482B (en) Unmanned aerial vehicle autonomous road finding and obstacle avoiding method and system
CN111536964B (en) Robot positioning method and device, and storage medium
CN108763287B (en) Construction method of large-scale passable regional driving map and unmanned application method thereof
JP7166383B2 (en) Method and apparatus for creating high-precision maps
CN108303098B (en) Robot path planning method and equipment
CN110493333B (en) Method, device and equipment for determining target position point and storage medium
CN101493329A (en) Multiple target point path planning method and device
CN114815802A (en) Unmanned overhead traveling crane path planning method and system based on improved ant colony algorithm
CN114440916A (en) Navigation method, device, equipment and storage medium
CN115164907B (en) Forest operation robot path planning method based on A-algorithm of dynamic weight
CN115755954B (en) Routing inspection path planning method, system, computer equipment and storage medium
CN116036604B (en) Data processing method, device, computer and readable storage medium
CN112150610A (en) Retaining wall modeling method and system based on dimension marking
WO2023093378A1 (en) Path planning method and apparatus, device, and storage medium
CN113110455A (en) Multi-robot collaborative exploration method, device and system for unknown initial state
CN110673947B (en) Method for reducing memory required by laser slam graph building
KR20170016168A (en) Tile-based map data updating system and method thereof
CN110275895A (en) It is a kind of to lack the filling equipment of traffic data, device and method
CN114168700A (en) Road network merging and updating method, system, electronic equipment and storage medium
CN115366919A (en) Trajectory prediction method, system, electronic device and storage medium
CN115220480A (en) Unmanned aerial vehicle track planning method and device with constraint conditions and electronic equipment
CN114119882A (en) Efficient nested grid host unit searching method in aircraft dynamic flow field analysis
Wellhausen et al. Efficient grid map data structures for autonomous driving in large-scale environments
CN113554215A (en) Helicopter scheduling route planning method based on ant colony-genetic fusion algorithm
CN117128974B (en) Navigation route searching method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant