-
Notifications
You must be signed in to change notification settings - Fork 46
Print a collision summary to status of failed contact check #543
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
Print a collision summary to status of failed contact check #543
Conversation
|
Not that I am against adding this, just wanted mention here. There is now a log file that can be generated and tesseract_qt has a viewer that allows you to inspect a lot of this type of information. |
I was unaware of this, I can't seem to get it to work in RVIZ with tesseract_ros2. I was able to save and then load a log file (although it was 6.6 GB), and I see things about viewing trajectories and toolpaths in the widget, but nothing actually displays. In general my proposed change just helps for seeing things at a glance. I am saving all my programs at each step with unique names and publishing them all to the trajectory viewer, so I can debug things nicely, but it can be hard to dig through them all to find the collision and there are so many terminal logs that I can't easily find the collision report. |
I think something that would be really cool is to have a tesseract logger object that optionally prints stuff to the terminal, but also stores all the logs to a map based on UUIDs of tasks/graphs. Then all the terminal logs could be exported into unique files, making it easy to debug an individual task even when multiple threads are running at the same time |
The widget has a context menu that allows you to right click on composite instruction and send as a tool path or joint trajectory. I need to add more like sending the collision results, etc. |
| const auto& contact_map = contacts[i]; | ||
| if (!contact_map.empty()) | ||
| { | ||
| ss << contact_map.getSummary() << "\n"; | ||
| } | ||
| } |
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.
I could see this blowing up. Should we just print the first contact summary?
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.
The way I have it, it's up to the user how much is printed. If they have contact check set to FIRST then they'll only get one. If it is set to ALL then they'll potentially get a long novel printed out, which is maybe useful for them.
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.
I think it may be better to compile the vector of maps into a single map and then print the summary to avoid a large message.
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.
@marrts What are your thoughts on the proposal above?
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.
That sounds reasonable to me
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #543 +/- ##
==========================================
+ Coverage 79.46% 79.77% +0.30%
==========================================
Files 268 268
Lines 18990 18919 -71
==========================================
+ Hits 15091 15092 +1
+ Misses 3899 3827 -72
🚀 New features to boost your workflow:
|
|
@marrts I think this just needs a few changes and then this can be merged in. |
If we're able to get tesseract-robotics/tesseract#1200 merged then we could potentially have better information in the printout with the new return object. Maybe we wait for that. (I understand that would also require a bigger update to this for contactCheckProgram similar to checkTrajectory in tesseract_environment) |
Just playing around with some stuff and we can make a printout that looks something like this:
Obviously, this can be changed based on feedback, but this makes it really easy to quickly see where and what happened. |
|
@marrts Do you have time to update this based on your changes in the tesseract repository? |
I should be able to do it later today or tomorrow. |
a90d2c3 to
67a90d9
Compare
Pushed, but it does require this other tesseract PR to print out a condensed trajectory summary message. tesseract-robotics/tesseract#1205 |
4dcae88
into
tesseract-robotics:master


Better debugging at a glance for dot graphs. Depends on tesseract-robotics/tesseract#1079
