PlotJuggler
PlotJuggler copied to clipboard
Command line flags instead of pop-up windows on startup from layout file
I'm starting plotjuggler from a launch file with a layout file and I'd like it to jump right into plotting my ros topics without having to click past anything.
Start the previously used streaming plugin?
ROS_Topic_Streamer
Want to be able to skip past this by automatically entering 'yes'.
Select ROS messages
...
Skip this with equivalent 'OK' getting entered.
One or more timeseries in the layout haven't been loaded yet
What do you want to do?
Automatically create empty curves- removing the curves seems contradictory to loading the layout in the first place.
I will think about it... I don't want this to become a source of hard to debug errors....
Definitely agree with @lucasw, it's very annoying having to use mouse input every time you launch. Was this issue ever addressed? I'd be happy to look into doing a PR.
I also need this. When launching plotjuggler with an existing layout/configuration xml, it should come up quietly together with all other launched nodes, without needing these distracting mouse clicks.
I also would appreciate this feature.
This feature is so basic yet so crucial for many launch files.
I would also appreciate it.
Hi, any chance this would be addressed? It could be a very useful options for ROS users.
Relevant link: https://github.com/facontidavide/PlotJuggler/discussions/520
Hello and thank you for plotjuggler's amazingness
I understand features take lots of time to implement, just adding to the voices of users above (to nudge towards -> "It has a considerable impact on a large percentage of my users.")
As a ros user, the feature to save the input topics in the layout file would:
- avoid clicks (as above)
- avoid forgetting which topics are required (always getting the 'missing timeseries' error message when too many topics to just 'select all')
- big use case for automation -> make it possible to launch plotjuggler in roslaunch, the same way that rviz can be roslaunched with it's config/layout and visualizations immediately start updating.
Thanks a lot for your consideration
Hello, I attempted to add the functionality to automate starting PlotJuggler skipping dialogs that need human clicks. I believe it's unlikely to be merged given I used environment variables to allow for this, however, if building from source is okay for you, it is a possibility now!
The environment variables introduced are:
-
PLOTJUGGLER_ACCEPT_PREVIOUSLY_USED_STREAMING_PLUGIN=1
to skip the dialog 'Start the previously used streaming plugin?' -
PLOTJUGGLER_CHOOSE_EMPTY_PLACEHOLDERS_ON_MISSING_TIMESERIES=1
to skip the dialog 'One or more timeseries in the layout haven't been loaded yet, What do you want to do?' -
PLOTJUGGLER_ACCEPT_SELECT_ROS_TOPIC_DIALOG=1
to skip the ROS topic selection dialog.
And the PRs are: https://github.com/facontidavide/PlotJuggler/pull/811 https://github.com/PlotJuggler/plotjuggler-ros-plugins/pull/64
And a short video of it working (using ROS1 but it is implemented also on ROS_space_2)
https://user-images.githubusercontent.com/1721716/229349221-ad5e7560-470b-4592-b529-3f86ed5303bc.mp4
My example commandline looked like:
PLOTJUGGLER_ACCEPT_PREVIOUSLY_USED_STREAMING_PLUGIN=1 PLOTJUGGLER_CHOOSE_EMPTY_PLACEHOLDERS_ON_MISSING_TIMESERIES=1 PLOTJUGGLER_ACCEPT_SELECT_ROS_TOPIC_DIALOG=1 rosrun plotjuggler plotjuggler -n -l /home/sam/my_layout_for_streaming.xml
Which can also be done from a launchfile using the env
tags for sure.
To try it:
mkdir -p ~/ws_plotjuggler/src
cd ~/ws_plotjuggler/src
# Choose ros1 or ros2 depending on your required ROS version
git clone -b ros1 https://github.com/PlotJuggler/plotjuggler_msgs.git
git clone -b feature_skip_dialogs_issue_201 https://github.com/awesomebytes/PlotJuggler.git
git clone -b feature_skip_dialogs_issue_201 https://github.com/awesomebytes/plotjuggler-ros-plugins.git
cd ..
# colcon build or catkin build
catkin build
source install/setup.bash
# rosrun/ros2 run plotjuggler