CN110673947A - Method for reducing memory required by laser slam graph building - Google Patents
Method for reducing memory required by laser slam graph building Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5016—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical 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
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:
the storage space of the grid map can be saved as compared with the original storage space:
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:
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:
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:
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:
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:
the storage space of the grid map can be saved as compared with the original storage space:
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)
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 |
-
2019
- 2019-08-12 CN CN201910738485.7A patent/CN110673947B/en active Active
Patent Citations (5)
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 |