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

Flexible target visualizations #6

Closed
mayacakmak opened this issue Jul 13, 2020 · 3 comments
Closed

Flexible target visualizations #6

mayacakmak opened this issue Jul 13, 2020 · 3 comments

Comments

@mayacakmak
Copy link
Owner

Currently the interface has 'exact' targets, where the SE2 object (dot and line specified by an x,y position and theta rotation) needs to be taken to an exact target pose (even though there is a small threshold around the exact pose). We would like to be able to specify flexible targets, where the goal is to bring the object within some range near a given SE2 pose. We can do this by changing that small threshold but we need the visualization of the target to reflect the thresholds.

  • Flexible position: This can simply be a larger circle at the center. We need to ensure: (1) the threshold is applied to Euclidian distance, not x and y separately (L1 distance); (2) the desired rotation is still clear (e.g. dashed line over the larger circle, perhaps extend length of the rotation line by radius of circle).
  • Flexible rotation: Use an arc/pizza slice-like visualization to represent flexibility in rotation. Ensure the position (small point) is still distinct.
  • Both (optional): Not sure this is feasible or necessary, but perhaps good to have the option.
@kavidey
Copy link
Collaborator

kavidey commented Jul 20, 2020

I put together some possible visualization in photoshop (these were all done by hand but could easily be done on the website)

image

a and b are different ways to show flexible rotation
d and e are different ways to show flexible position
c and f are ways that we might show both flexible position and rotation

@mayacakmak
Copy link
Owner Author

Between the dashed line indicators and faded crag indicators, I prefer the faded gray ones for better visibility (they're also likely to be easier to implement).

For the systematic study we should probably allow situations similar to (f).

One idea that came up in our meeting is to visualize the thresh_xy and thresh_theta variables with slightly different colors (perhaps shades of gray or two shades of a different color). Keep the thresh_xy circle at the front. Keep the size of the thresh_theta pizza slice slightly longer than max_xy so it is still visible even when thresh_xy is largest.

@kavidey
Copy link
Collaborator

kavidey commented Jul 28, 2020

I have implemented a basic version of this:
image
I think that it works pretty well, though it does create some weird situations such as this, where because the size of the wedge is not increased with the flexible position, there are solutions that don't seem possible (though mathematically they are totally correct)
image

An interesting option would be to make everything the same color, and increase the size of the wedge to adjust for the flexible position. These are two versions with and without the original dot and line ee.
image
image

Even with the above solution, there are still oddities like this:
image

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

No branches or pull requests

2 participants