Skip to content
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

Multilateration improvments #164

Merged
merged 4 commits into from
Nov 30, 2018
Merged

Multilateration improvments #164

merged 4 commits into from
Nov 30, 2018

Conversation

jaxnb
Copy link
Contributor

@jaxnb jaxnb commented Nov 28, 2018

closes #148

@ghost ghost assigned jaxnb Nov 28, 2018
@ghost ghost added the review label Nov 28, 2018
Copy link
Contributor

@kev-the-dev kev-the-dev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well done overall. Have a couple q's

self.vec_samples = deque(maxlen=buffer_len)
self.enabled = False
self.global_fame = 'enu'
self.last_pos = None
self.global_frame = 'enu'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As this will be a mil_common script (likely to be used on Subjugator), the global frame should also be a param (Subjugator uses "map")

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

if distance1 < self.filter_dist or distance2 < self.filter_dist:
line_intersections += 1

if line_intersections < self.filter_dist:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be self.filter_count?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch! I've fixed this now. I guess it passed my testing since the default values are close.

line_array = np.array([[0, 0, 0, 0]])
line_intersecting_array = np.array([])

for line1 in lines_array:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment noting that this section filters out nearby intersections

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done


# If no point could be determined, don't publish
if where is None:
return
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a nice place to do a rospy.logwarn_throttle(10.0, "could not ..."). So if nothing gets published the logs show why

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@kev-the-dev
Copy link
Contributor

Don't worry about it for now (there are more important things before competition), but I ticketed #165 to eventually have CI test this code

 - Generalized global frame
 - Bug with filter
 - Additional documentation
 - Additional feedback
@jaxnb
Copy link
Contributor Author

jaxnb commented Nov 30, 2018

Requested changes have been made. Good catch on the filter_count vs filter_dist thing.

@kev-the-dev kev-the-dev merged commit 7c09bd2 into uf-mil:master Nov 30, 2018
@ghost ghost removed the review label Nov 30, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PASSIVE SONAR: improve multilateration algorithm
2 participants