Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Native support for sensor_msgs/JointState joint names in message path input #155

Closed
v4hn opened this issue Jun 15, 2021 · 18 comments
Closed
Labels
feature A new feature or idea

Comments

@v4hn
Copy link

v4hn commented Jun 15, 2021

A major hurdle for using this with articulated robots is the difficulty to add multiple joint state plots together.
This has to be done one after the other and is tedious for 6+ dof arms, especially when you want to have separate plots for position, velocity and acceleration.

Ideally you would select multiple joints by name (not by index) and drag them into the plot together.
PlotJuggler managed to simplify this use a lot and it's worth going for a similar approach in my opinion.

@amacneil amacneil added the feature A new feature or idea label Jun 15, 2021
@amacneil
Copy link
Contributor

Thanks for the feedback!

What exactly do you mean by selecting joints by index? Are you basically looking for something like this (selecting multiple topics from a picker and dragging them onto the plot)?

@v4hn
Copy link
Author

v4hn commented Jun 15, 2021 via email

@jtbandes
Copy link
Member

There's a trick with the Raw Messages panel that lets you click to open/add plots for fields of a single topic. I think it will help out with the first issue you described:

Screen.Recording.2021-06-15.at.8.17.29.AM.mov

@v4hn
Copy link
Author

v4hn commented Jun 15, 2021 via email

@jtbandes
Copy link
Member

It will work for entries in dynamically-sized lists, by including the index in the message path that it adds to the plot. But I do see how special handling for JointState could help here. Any additional examples you can share of how PlotJuggler (or other tools) handles this well would be useful to us!

@defunctzombie
Copy link

@v4hn Here is an example using variables for the joint indexes. These global variables are then used in the plot panel to so your plot legend is clear which joint is shown.

Screen.Recording.2021-06-16.at.7.46.14.AM.mov

@v4hn
Copy link
Author

v4hn commented Jun 16, 2021 via email

@amacneil
Copy link
Contributor

It sounds like there are a couple of different requests here. Would it be accurate to rename this one to "Native support for sensor_msgs/JointState joint names in plot panel"? I think that is a nice discreet feature request.

Perhaps it is worth opening a separate discussion for how we can make it easier to drag fields into the plot panel. If you are able to share your own video outlining the specific UX you like in plotjuggler, that would be appreciated!

@jtbandes
Copy link
Member

Rather than "in plot panel", I think we would want it to be supported by the message path syntax so it can be used in other panels as well.

@v4hn v4hn changed the title add multiple joint plots together Native support for sensor_msgs/JointState joint names Jun 16, 2021
@v4hn
Copy link
Author

v4hn commented Jun 16, 2021

Indeed, as this interface basically solves the problem to add multiple plots at the same time, the remaining issues are specific to JointState.

@jtbandes
Copy link
Member

@github-actions
Copy link

This issue is being marked as stale because there has been no activity for 180 days. Please add a comment to keep it open.

@amacneil
Copy link
Contributor

From the thread above I'm a little unclear whether there is an outstanding feature request, or whether the "create plot from raw message" functionality is sufficient.

@v4hn
Copy link
Author

v4hn commented Dec 14, 2021

I believe I already replied with a number of clarifications here.
My main feature request is still that there is no way to click somewhere and directly plot "acceleration of shoulder_pan_joint" without having to refer to the number in the array. This is especially important because, by message design, the joint is allowed to change its position in the lists and it's a relatively common case to see messages on the topic that do not include the joint at all. When two independent drivers publish joint values each one will only publish messages for its own joints.

@defunctzombie defunctzombie changed the title Native support for sensor_msgs/JointState joint names Native support for sensor_msgs/JointState joint names in message path input Dec 14, 2021
@amacneil
Copy link
Contributor

I see, thanks for the clarification.

@amacneil
Copy link
Contributor

amacneil commented Jan 3, 2022

@v4hn do you happen to have a video/screen recording of how this works with JointState in PlotJuggler?

@v4hn
Copy link
Author

v4hn commented Jan 3, 2022

I'm not interested in this project at this time and don't have time for overhead at the moment, sorry. plotjuggler is packaged in ROS distributions, so you can easily check yourself. as you try to implement a better alternative to existing solutions, I would expect you check existing solutions (for me mostly rviz, plotjuggler, rqt_joint_trajectory_plot) yourself anyway to figure out how things work there and what you can do better...

@github-actions
Copy link

github-actions bot commented Jul 3, 2022

This issue has been marked as stale because there has been no activity in the past 6 months. Please add a comment to keep it open.

@amacneil amacneil transferred this issue from another repository Dec 16, 2022
@foxglove foxglove locked and limited conversation to collaborators Dec 16, 2022
@amacneil amacneil converted this issue into discussion #177 Dec 16, 2022

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
feature A new feature or idea
Development

No branches or pull requests

4 participants