Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/lifelong compression #2
base: foxy-devel
Are you sure you want to change the base?
Feature/lifelong compression #2
Changes from 74 commits
e1cc2ac
f986ba7
47b6098
95de0b4
7aa82b9
80bc5eb
d07ddeb
579c562
2fa788a
d91e4c7
c3f4155
33bc43c
a012859
a2c83e0
d6f6db1
f294d0d
c08fd69
e66435c
eb2c754
6cab676
285d07e
ec51e0b
116abf7
5f88cd6
b507842
384a0b5
c825cc6
ea9ef27
488868b
64b8756
86910b8
36f2fa9
7980579
89664a2
dc970e0
e2a13ef
43ce3bf
71f5930
ed0f586
542b239
340f6d5
e5ac4e5
6869573
b2cac9f
8ba213b
88d3561
93a1809
899607f
1b432f3
b5752c7
8148fed
296d191
c2e7c5c
8752e3e
969a3a7
a39954d
b799cb8
2825ef9
83203d9
c87c408
b3baea5
e40b217
f0654c0
d40c125
8c206a8
75d20f6
e2a99fc
91bd220
bf2ede3
60930e3
c7d6116
156be31
002345b
656206c
97b45af
85674bf
be2197a
be745b7
89a8a18
5ef8011
582eda9
54ecdc1
82a2141
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kmilo7204 perf: IIUC this is a stack of sparse, 3D matrices ie. probability of a measurement outcomes for M scans at each relevant cell (x, y). A binary tree of dynamic arrays of dynamic arrays may be efficient in space but I wouldn't expect good performance. Memory is all over the place, so cache locality goes out the window.
We could get away with a dynamic array of tuples if we reversed the order of iteration. It's a non-trivial change, so bear with me. For every cell in the bounded grid, find all scans within maximum range radius, then find the beams that hit the cell. That way we no longer need a matrix.
To find all beams that hit a cell in O(1), we need to know what angular range is occluded by the cell box so we can index the array of laser range readings (not point readings). To do that, we could compute the position of all four cell box vertices in the scan frame, and then find the pair of vertices that subtend the outermost lines through the origin.
We can do that by minimizing the dot product. Note this would no longer require ray casting.