rqt_common_plugins's People
Forkers
dlu bchasnov robilnovice jksrecko kalectro jbohren-forks adiprasojo eacousineau egiljones felix-kolbe posilva baxelrod mani-monaj lucidone 130s codebot markusachtelik aurelienballier shadow-robot yakirari garaemon clemense davetcoleman vrabaud fmessmer chunyangsun aleeper-forks mallouk1990 katypowers forouher scpeters vincentrou hidof-forks ccpowers forrestv fboris trainman419 stonier felipe42 mikejmills carter12s strothmw mrdanbrooks marvgb suryaambrose jacksnow00 jolting ishiguroynl mjyc alexreimann k-okada mickael9 thebyohazard cholewinskim enfenion lucasfalch oxoocoffee ubi-agni ablasdel dlaz-forks lussim v-lopez lsouchet hsarmiento wkentaro jspricke harmishhk sybotech reinzor voidminded bchretien eric-wieser botaohu adwilson10 kiselev-dv rafael1193 kietdlam garimellagowtham rescube hardly33 qijingalice osurobotics cbandera healthysong wangdwes asimay lewisanderson tongtybj marco-andarcia yoyonel bhaskara kunaltyagi jacquelinekay j-rivero leroyr danielsnider igor-krawczuk cyan-at levijx 0table0rqt_common_plugins's Issues
rqt_py_common: Standardized ROS message selector interface
A number of plugins want to refer to topic
/services
/action
s.
It would be nice to have a widget in rqt_py_common that any plugin could easily use to select one of these items.
examples of ways it has been done:
rqt_msg, rqt_srv, rqt_action, rqt_publish, rqt_graph
rqt_console can't add filters when using pyside
Run rqt -b pyside ; load console plugin
Creating filters fails with the following stacktrace:
Traceback (most recent call last):
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_console/console_widget.py", line 299, in _add_exclude_filter
newfilter = self.filter_factory[filter_index]1
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_console/filters/node_filter.py", line 44, in init
super(NodeFilter, self).init()
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_console/filters/base_filter.py", line 46, in init
self._timer = QTimer(self)
RuntimeError: 'init' method of object's base class (NodeFilter) not called.
rqt_console 0.2.10, qt_gui_core 0.2.12, pyside 1.1.0-1; ROS Groovy on Ubuntu Precise.
Needs document to create executable of rqt plugins
I see for only some packages listed below, their binaries are generated at /opt/ros/groovy/bin/.
rqt, rqt_bag, rqt_console, rqt_graph, rqt_logger_level, rqt_plot
How to create executable needs to be documented (unless the pkgs above are special ones that are permitted to have binary).
Following is what I've tried so far.
As far as I noticed, the difference between those with binary and those without is scripts
line in setup.py
.
Example
d = generate_distutils_setup(
packages=['rqt_reconfigure'],
package_dir={'': 'src'},
scripts=['scripts/rqt_reconfigure']
)
I tried to add scripts
line to rqt_reconfigure
whose binary wasn't created yet (in 5330252) but so far I don't see what I wanted.
ros-groovy-rqt-reconfigure amd64 0.2.7-0precise-20130104-0035-+0000
Move rqt_py_common to rqt pkg
rqt_py_common
doesn't provide runnable plugins. Any reason why it resides here?
rqt_reconfigure loads all 233 topics on a PR2 during start-up...
.. this takes almost 30 seconds via WiFi (compared to 0.5 seconds for fuerte/reconfigure_gui).
Querying the topics only when being selected in the GUI should help to speed-up the execution time significantly.
(new plugin idea) GPS plotter
Plot GPS msgs on real-world map realtime. Message format can be:
(looks like the ones in sensor_msgs
are official?)
Opinions (esp. is this going to be useful or not. If useful then what features are needed) are welcomed.
This idea is tech-driven -- I found Qt-Google API client. http://www.ics.com/technologies/qt_google_apis/. I'm asking the company about license, which is missing in their downloadable. But we're open to any possible technology.
Google Earth might be also possible by using its API.
Note that a single rqt
plugin should better be minimal -- for example, integrating with other large tool like RViz
should be considered as separate plugin (as rqt_pr2_dashboard
does)).
rqt_reconfigure) Parameter Names Disappear in DynamicReconfigure when Too Skinny
(rqt_msg, rqt_srv, rqt_action) IndexError: list index out of range
Traceback (most recent call last):
File "~/ROS/groovy_quantal/catkinws_sandb/src/rqt_common_plugins/rqt_msg/src/rqt_msg/messages_widget.py",
line 110, in _handle_mouse_press
self._rightclick_menu(event)
File "~/ROS/groovy_quantal/catkinws_sandb/src/rqt_common_plugins/rqt_msg/src/rqt_msg/messages_widget.py",
line 125, in _rightclick_menu
selected_type = selected[1].data()
IndexError: list index out of range
To reproduce,
- On rqt_msg for example, choose actionlib/TestAction and press "+"
- Traverse the tree to the leaf on action_goal --> header
- Right click and choose either "View Text" or "View Raw".
1 & 2 could be other msg / attribute. Same thing happens on rqt_srv
, rqt_action
.
Sometimes at unknown timing, this stops happening. But the period until then ranges from 10 secs to a few minutes.
Machines
- 2 Quantal 64b machines
- 1 Precise 64b (virtual machine, no src installed)
pkg
- debian pkg 0.2.10
- source rqt_msg a367d16
rqt_logger_levels: a node is missing
migrated from ros-visualization/rqt#60
With PR2, I just happened to find a node /localization_saver
is not shown on "Nodes" pane on rqt_logger_levels. Not sure if this happens with any other nodes.
Because rxloggerlevel
doesn't show this node either, it's also possible that this might be an issue in ROS level.
By the way, rqt_console
shows the output from /localization_saver
node. No idea if they are correlated or not.
rqt 46ee6dd
ros-groovy-rosservice/precise uptodate 1.9.34-0precise-20121207-0912-+0000
ros-groovy-rosnode/precise uptodate 1.9.34-0precise-20121207-0844-+0000
rqt_reconfigure) Runnion on Groovy, can't connect to some nodes that run on electric
As described here.
rqt_reconfigure) Node boxes on right-hand side get deleted when filtering key doesn't match them
This behavior is not intuitive for users.
rqt_reconfigure needs a run_depend on rqt_console
As text_filter.py has:
from rqt_console.filters.message_filter import MessageFilter
rqt plugins take a long time to load in a complex system (PR2)
When used with a PR2, the rqt_reconfigure plugin takes 30-60 seconds to load, and is completely unresponsive during that time.
The PR2 has 217 dynamic reconfigure services available, and it looks like the plugin is interrogating all of them before it displays an interface.
It would be preferable if the plugin displayed an interface right away, and didn't block the UI thread while interrogating nodes; this lets the user know that the plugin is working in the background, and avoids collecting extra button presses while the user tries to figure out what is going on.
The topic introspection plugin appears to have a similar problem; it takes a long time to load (minutes) and blocks the UI thread while doing so; I suspect this is caused in part by the 903 topics present on a running PR2.
I suspect other RQT plugins have similar problems as well, but I haven't had time to test them.
rqt_bag slows to a crawl and becomes non-responsive after a few seconds of recording a running pr2
rqt_reconfigure crashes if it can't contact a node
If a node dies but doesn't deregister from the ROS master (common if a node segfaults), rqt_reconfigure appears to crash when trying to contact that node.
[INFO] [WallTime: 1361385850.907533] rqt_reconfigure loading #2/17 node=/rviz_btn_29901_2061969137853317103/currentrobot_planning_scene_monitor
PluginManager._load_plugin() could not load plugin "rqt_reconfigure/Param":
Traceback (most recent call last):
File "/opt/ros/groovy/lib/python2.7/dist-packages/qt_gui/plugin_handler.py", line 89, in load
self._load()
File "/opt/ros/groovy/lib/python2.7/dist-packages/qt_gui/plugin_handler_direct.py", line 54, in _load
self._plugin = self._plugin_provider.load(self._instance_id.plugin_id, self._context)
File "/opt/ros/groovy/lib/python2.7/dist-packages/qt_gui/composite_plugin_provider.py", line 71, in load
instance = plugin_provider.load(plugin_id, plugin_context)
File "/opt/ros/groovy/lib/python2.7/dist-packages/qt_gui/composite_plugin_provider.py", line 71, in load
instance = plugin_provider.load(plugin_id, plugin_context)
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_gui_py/ros_py_plugin_provider.py", line 66, in load
return super(RosPyPluginProvider, self).load(plugin_id, plugin_context)
File "/opt/ros/groovy/lib/python2.7/dist-packages/qt_gui/composite_plugin_provider.py", line 71, in load
instance = plugin_provider.load(plugin_id, plugin_context)
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_gui/ros_plugin_provider.py", line 95, in load
return class_ref(plugin_context)
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_reconfigure/param_plugin.py", line 50, in __init__
self._widget = ParamWidget(context)
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_reconfigure/param_widget.py", line 77, in __init__
nodesel = NodeSelectorWidget()
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_reconfigure/node_selector_widget.py", line 88, in __init__
self._update_nodetree()
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_reconfigure/node_selector_widget.py", line 203, in _update_nodetree
ParameterItem.NODE_FULLPATH)
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_reconfigure/parameter_item.py", line 71, in __init__
self._dynreconf_client = self._create_paramclient(node_name)
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_reconfigure/parameter_item.py", line 94, in _create_paramclient
rospy.logerr("Could not connect to %s" % node)
NameError: global name 'node' is not defined
All plugins: Unit tests should be in place for each plugin
To increase stability going forward unit tests should be added.
rqt_plot: (matplot only) shows strange output after running for ~5 minutes (progressively gets worse)
Migrated from ros-visualization/rqt#48
steps to duplicate
execute the UnderstandingTopics tutorial (http://www.ros.org/wiki/ROS/Tutorials/UnderstandingTopics)
leave the rqt_plot open for an extended period of time.
You will see the following:
It should look like the following (it starts this way and progressively gets worse:
groovy
using rqt 1.5
rqt_reconfigure) Can't Adjust Parameters in Hierarchical Namespace
Compile and run, and open the dynamic_reconfigure plugin for rqt will only allow you to adjust the double parameter, not the int parameter.
rqt_logger_level: add ability to see what the logging levels are across the system
Preferable in the same rxlogginglevel console.
If it could be a list of "rules" that you've set like the config file. And has an X next to it to remove that rule it would be nice.
Or a tree view with colors would be another option.
migrated from trac ticket 1161:
https://code.ros.org/trac/ros/ticket/1161
rqt_reconfigure: often stops working upon initial boot while connecting to nodes
Process never returns and I have to kill the entire rqt process.
With 80b7429
Scenario to reproduce is not yet clear...only sometimes this happens.
All plugins: Documentation and "how to's" should be filled in on the wiki plugin specific pages
rqt_reconfigure: Search/filter feature is not yet available
Current spec of this feature:
- User can search/filter by typing query that consists of either param or node name
- User's query can be fragment as long as it's length s longer than 2
- System shows filtering result immediately when user typed in (we call this as "filtering is on")
- On nodes tree pane (Righthand pane or R pane), system shows nodes that either contain query as a part of its name, or contain parameter(s) of which name contains the query.
- On parameter editor pane (L pane) where parameters per node are displayed as a group, only correspondent nodes are shown.
- Nodes on L pane can be de-selectable. De-selection deletes the corresponding node from R pane.
rqt_bag: Implement Horizontal Overview section
Currently horizontal scrolling is painful in rqt_bag. The main way being middle mouse dragging.
A good improvement would be a visualization of the entire bag across the top of the graphicsview.
It should allow for clicking to jump to any point in the bag file.
It should show the current viewport position on the entire visualization.
If you click the viewport and drag it then the viewport should re-position to the desired location.
rqt_bag: add command line argument to open bag file
pyside, rqt_launch) segfault upon boot
This doesn't occur with PyQt
. Ubuntu Quantal, python-pyside
1.1.1-3. rqt_common_plugins 8416fd5
Program received signal SIGSEGV, Segmentation fault.
0x00000000004c79b0 in ?? ()
(gdb) bt
#0 0x00000000004c79b0 in ?? ()
#1 0x00000000004c7719 in ?? ()
#2 0x00000000004a1f66 in ?? ()
#3 0x0000000000498e3d in PyType_GenericAlloc ()
#4 0x0000000000495cbc in ?? ()
#5 0x00000000004aaba8 in ?? ()
#6 0x000000000049629d in PyEval_CallObjectWithKeywords ()
#7 0x0000000000488c81 in PyErr_NormalizeException ()
#8 0x00000000004637f0 in PyEval_EvalFrameEx ()
#9 0x00000000004602b7 in PyEval_EvalFrameEx ()
#10 0x0000000000467209 in PyEval_EvalCodeEx ()
#11 0x00000000004a9fea in ?? ()
#12 0x000000000048249d in ?? ()
#13 0x000000000049629d in PyEval_CallObjectWithKeywords ()
#14 0x00007ffff63a0ed5 in ?? () from /usr/lib/python2.7/lib-dynload/pyexpat.so
#15 0x00007ffff639e090 in ?? () from /usr/lib/python2.7/lib-dynload/pyexpat.so
#16 0x00007ffff615630b in ?? () from /lib/x86_64-linux-gnu/libexpat.so.1
#17 0x00007ffff615754e in ?? () from /lib/x86_64-linux-gnu/libexpat.so.1
#18 0x00007ffff615906e in ?? () from /lib/x86_64-linux-gnu/libexpat.so.1
#19 0x00007ffff615981b in ?? () from /lib/x86_64-linux-gnu/libexpat.so.1
#20 0x00007ffff615b85d in XML_ParseBuffer () from /lib/x86_64-linux-gnu/libexpat.so.1
#21 0x00007ffff639d2fc in ?? () from /usr/lib/python2.7/lib-dynload/pyexpat.so
#22 0x000000000045f912 in PyEval_EvalFrameEx ()
#23 0x00000000004602b7 in PyEval_EvalFrameEx ()
#24 0x0000000000467209 in PyEval_EvalCodeEx ()
#25 0x000000000045ff77 in PyEval_EvalFrameEx ()
#26 0x0000000000467209 in PyEval_EvalCodeEx ()
#27 0x00000000004a9fea in ?? ()
#28 0x000000000048249d in ?? ()
#29 0x0000000000491bb4 in ?? ()
#30 0x00000000004aac6e in ?? ()
#31 0x00000000004600be in PyEval_EvalFrameEx ()
#32 0x00000000004602b7 in PyEval_EvalFrameEx ()
#33 0x00000000004602b7 in PyEval_EvalFrameEx ()
#34 0x00000000004602b7 in PyEval_EvalFrameEx ()
#35 0x00000000004a9adf in ?? ()
#36 0x000000000045fdca in PyEval_EvalFrameEx ()
#37 0x00000000004602b7 in PyEval_EvalFrameEx ()
#38 0x0000000000467209 in PyEval_EvalCodeEx ()
#39 0x00000000004a9fea in ?? ()
#40 0x000000000048249d in ?? ()
#41 0x0000000000491bb4 in ?? ()
#42 0x00000000004aac6e in ?? ()
#43 0x00000000004600be in PyEval_EvalFrameEx ()
#44 0x0000000000467209 in PyEval_EvalCodeEx ()
#45 0x00000000004a9fea in ?? ()
#46 0x000000000048249d in ?? ()
---Type <return> to continue, or q <return> to quit---
#47 0x0000000000491bb4 in ?? ()
#48 0x00000000004aac6e in ?? ()
#49 0x00000000004600be in PyEval_EvalFrameEx ()
#50 0x0000000000467209 in PyEval_EvalCodeEx ()
#51 0x00000000004a9fea in ?? ()
#52 0x000000000048249d in ?? ()
#53 0x0000000000491bb4 in ?? ()
#54 0x00000000004aac6e in ?? ()
#55 0x00000000004600be in PyEval_EvalFrameEx ()
#56 0x00000000004602b7 in PyEval_EvalFrameEx ()
#57 0x00000000004602b7 in PyEval_EvalFrameEx ()
#58 0x00000000004602b7 in PyEval_EvalFrameEx ()
#59 0x00000000004602b7 in PyEval_EvalFrameEx ()
#60 0x00000000004602b7 in PyEval_EvalFrameEx ()
#61 0x00000000004602b7 in PyEval_EvalFrameEx ()
#62 0x0000000000467209 in PyEval_EvalCodeEx ()
#63 0x000000000045ff77 in PyEval_EvalFrameEx ()
#64 0x0000000000467209 in PyEval_EvalCodeEx ()
#65 0x000000000045ff77 in PyEval_EvalFrameEx ()
#66 0x0000000000467209 in PyEval_EvalCodeEx ()
#67 0x000000000045ff77 in PyEval_EvalFrameEx ()
#68 0x00000000004602b7 in PyEval_EvalFrameEx ()
#69 0x0000000000467209 in PyEval_EvalCodeEx ()
#70 0x000000000045ff77 in PyEval_EvalFrameEx ()
#71 0x00000000004602b7 in PyEval_EvalFrameEx ()
#72 0x0000000000467209 in PyEval_EvalCodeEx ()
#73 0x00000000004a9fea in ?? ()
#74 0x000000000048249d in ?? ()
#75 0x000000000049629d in PyEval_CallObjectWithKeywords ()
#76 0x00007ffff3b1a51a in PySide::SignalManager::callPythonMetaMethod(QMetaMethod const&, void**, _object*, bool) ()
from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#77 0x00007ffff3b1a97a in PySide::SignalManager::qt_metacall(QObject*, QMetaObject::Call, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#78 0x00007ffff309b123 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#79 0x00007ffff3b1aaf8 in PySide::SignalManager::qt_metacall(QObject*, QMetaObject::Call, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#80 0x00007ffff3b22a02 in ?? () from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#81 0x00007ffff3b1a4c0 in PySide::SignalManager::emitSignal(QObject*, char const*, _object*) ()
from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#82 0x00007ffff3e42470 in ?? () from /usr/lib/python2.7/dist-packages/PySide/QtCore.so
#83 0x000000000049629d in PyEval_CallObjectWithKeywords ()
#84 0x00007ffff3b23484 in ?? () from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#85 0x000000000045f912 in PyEval_EvalFrameEx ()
#86 0x0000000000467209 in PyEval_EvalCodeEx ()
#87 0x000000000045ff77 in PyEval_EvalFrameEx ()
#88 0x0000000000467209 in PyEval_EvalCodeEx ()
---Type <return> to continue, or q <return> to quit---
#89 0x000000000045ff77 in PyEval_EvalFrameEx ()
#90 0x0000000000467209 in PyEval_EvalCodeEx ()
#91 0x000000000045ff77 in PyEval_EvalFrameEx ()
#92 0x0000000000467209 in PyEval_EvalCodeEx ()
#93 0x000000000045ff77 in PyEval_EvalFrameEx ()
#94 0x0000000000467209 in PyEval_EvalCodeEx ()
#95 0x000000000045ff77 in PyEval_EvalFrameEx ()
#96 0x0000000000467209 in PyEval_EvalCodeEx ()
#97 0x00000000004d0242 in PyEval_EvalCode ()
#98 0x00000000005102bb in ?? ()
#99 0x000000000044a466 in PyRun_FileExFlags ()
#100 0x000000000044a97a in PyRun_SimpleFileExFlags ()
#101 0x000000000044b6bc in Py_Main ()
#102 0x00007ffff6f0576d in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#103 0x00000000004ce0ad in _start ()
(gdb) info threads
Id Target Id Frame
7 Thread 0x7fffc9b3f700 (LWP 28660) "python" 0x00007ffff7bcc04d in accept ()
from /lib/x86_64-linux-gnu/libpthread.so.0
6 Thread 0x7fffca340700 (LWP 28657) "python" 0x00007ffff6fd1023 in select () from /lib/x86_64-linux-gnu/libc.so.6
5 Thread 0x7fffcab41700 (LWP 28656) "python" 0x00007ffff6fd1023 in select () from /lib/x86_64-linux-gnu/libc.so.6
4 Thread 0x7fffde169700 (LWP 28599) "pool" 0x00007ffff7bc90fe in pthread_cond_timedwait@@GLIBC_2.3.2 ()
from /lib/x86_64-linux-gnu/libpthread.so.0
3 Thread 0x7fffdef9e700 (LWP 28598) "gdbus" 0x00007ffff6fcc303 in poll () from /lib/x86_64-linux-gnu/libc.so.6
2 Thread 0x7fffdf79f700 (LWP 28597) "dconf worker" 0x00007ffff6fcc303 in poll () from /lib/x86_64-linux-gnu/libc.so.6
* 1 Thread 0x7ffff6ccc700 (LWP 28596) "python" 0x00000000004c79b0 in ?? ()
rosrun rqt_reconfigure rqt_reconfigure crashes
version 0.2.9. Imported module does not exist (trivial to see in trunk):
RosPluginProvider.load(rqt_reconfigure/Param) exception raised in __builtin__.__import__(rqt_reconfigure.param_plugin, [ParamPlugin]):
Traceback (most recent call last):
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_gui/ros_plugin_provider.py", line 78, in load
module = __builtin__.__import__(attributes['module_name'], fromlist=[attributes['class_from_class_type']], level=0)
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_reconfigure/param_plugin.py", line 38, in <module>
from .param_widget import ParamWidget
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_reconfigure/param_widget.py", line 44, in <module>
from .paramedit_widget import ParameditWidget
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_reconfigure/paramedit_widget.py", line 47, in <module>
from .node_delegate import NodeDelegate
ImportError: No module named node_delegate
PluginManager._load_plugin() could not load plugin "rqt_reconfigure/Param":
Traceback (most recent call last):
File "/opt/ros/groovy/lib/python2.7/dist-packages/qt_gui/plugin_handler.py", line 89, in load
self._load()
File "/opt/ros/groovy/lib/python2.7/dist-packages/qt_gui/plugin_handler_direct.py", line 54, in _load
self._plugin = self._plugin_provider.load(self._instance_id.plugin_id, self._context)
File "/opt/ros/groovy/lib/python2.7/dist-packages/qt_gui/composite_plugin_provider.py", line 71, in load
instance = plugin_provider.load(plugin_id, plugin_context)
File "/opt/ros/groovy/lib/python2.7/dist-packages/qt_gui/composite_plugin_provider.py", line 71, in load
instance = plugin_provider.load(plugin_id, plugin_context)
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_gui_py/ros_py_plugin_provider.py", line 66, in load
return super(RosPyPluginProvider, self).load(plugin_id, plugin_context)
File "/opt/ros/groovy/lib/python2.7/dist-packages/qt_gui/composite_plugin_provider.py", line 71, in load
instance = plugin_provider.load(plugin_id, plugin_context)
File "/opt/ros/groovy/lib/python2.7/dist-packages/rqt_gui/ros_plugin_provider.py", line 84, in load
raise e
ImportError: No module named node_delegate
rqt_reconfigure) Icon not properly shown on KDE
Buttons in the pane on the right side should show X
image.
Ubuntu Quantal, ROS Groovy, SHA 1fac910
rqt_reconfigure: After filtering, node selection gets reset even though some nodes were selected
Possible bad situation: node boxes are shown on right-hand side but their item on left-hand is not selected. When user selects a node on LH, the corresponding box disappears from RH.
I described the problematic phenomenon in the question on stackoverflow (satisfactory responses from there can help solving this issue too).
Related to issue #17.
(rqt launch) Launch plugin does not show command lines
It would be very useful if the full command line for each node (including absolute pathname) is shown in a copy/paste-able field. This would allow all the other nodes to be launched (by clicking their run buttons) and the node in question to be run by copy-pasting the command line to a terminal.
WHY: this is useful for running one node in debugger (gdb). Also useful to see the console output of just the one node in its own terminal window. Also useful to modify (or add) some arguments on the command line
RQT Reconfigure - No Interaction with Boolean values
When using RQT reconfigure, there is no way to set/unset boolean values.
Previously, this was accomplished using a checkbox.
Example (from the wiki):
http://ros.org/wiki/rqt_reconfigure?action=AttachFile&do=get&target=reconfigure_gui2.png
rqt_py_common) Need common widget for printing important message, and showing progress of long process
Based on a discussion with @dirk-thomas. We need 2 widgets that can be used from other plugins.
-
Console output widget that other widgets or whatever components in the same plugin can print out texts. No user interaction needed.
Example usecase:
roslaunch
pluginrqt_launch
often can't launch nodes that depend on a pkg that's not installed on the filesystem. Currently error is only printed on terminal, which is hard for users to know what's going on.This could be substituted by opening
rqt_console
but user does not always open it in addition to the 1st plugin you're working with. -
Progress bar widget that runs in a separate from plugin's main thread. Related Issue: #20, #21, #42
Ideally these widgets enables to shrink itself (QSplitter
equivalent), to give users option not to show these info.
These widgets may not be ideal solution to the problem from framework maturity point of view (developer of each plugin is still responsible for utilizing these widgets), but at this moment this is a reasonable consensus and we'd like to see how this works.
rqt_reconfigure: can't open the same node's param window after having opened it
To reproduce, repeat (opening node-a, open other arbitrary node else) multiple times.
That results in not updating the param pane (the one on the right) with the error :
[INFO] [WallTime: 1357339407.296248] EDITOR widget.name=allow_unsafe_settings
Traceback (most recent call last):
File "~/ROS/groovy_precise/catkin_ws/src/rqt_common_plugins/rqt_reconfigure/src/rqt_reconfigure/paramedit_widget.py", line 86, in show_reconf
self._dynreconf_client.close() #Close old GUI client.
File "~/ROS/groovy_precise/catkin_ws/src/rqt_common_plugins/rqt_reconfigure/src/rqt_reconfigure/dynreconf_client_widget.py", line 90, in close
self.deleteLater()
RuntimeError: underlying C/C++ object has been deleted
This may depend on certain condition that I haven't determined yet. Maybe after some nodes go offline for whatever the reasons.
Plot plugin: add/remove, pause/resume individual topics (ros-pkg ticket #5471)
Plot plugin:
- add/remove individual topics
- pause/resume individual topics
- persist/restore list of topics via settings
- auto-complete topic name (?)
- clear-plot button
trac data:
- Owner: dorianscholz
- Reporter: dthomas
- Reported at: Wed Jun 20 19:31:06 2012
- URL: https://code.ros.org/trac/ros-pkg/ticket/5471
(rqt_launch) Only shows .launch files in the folder with the name "launch"
Currently hardcoded here. Roughly speaking, only 80% of .launch files existing in my filesystem are covered with this rule.
rqt_launch) some nodes remain running after closing the plugin or even rqt_gui
For example, I found this node has been running for long time:
1077 ? Ssl 0:01 /opt/ros/groovy/lib/joy/joy_node __name:=ps3_joy __log:=/u/isaito/.ros/log/ps3_joy-8.log
2672 ? Ssl 59:03 /opt/ros/groovy/stacks/audio_common/audio_capture/bin/audio_capture __name:=audio_capture __log:=/u/isaito/.ros/log/audio_capture-6.log
(Even worse, in this example the 2nd process used up 2GB RAM.)
rqt process remains when rqt_gui is closed with rqt_bag open on it
Closing rqt_gui
window doesn't kill rqt_bag
's error print. Commandline output is below. I see some errors but not sure how it's correlated.
Observed on 2 different Ubuntu Quantal machines.
rqt_common_plugins
f27cdc1
qt_gui_core
9cba48199c039cdca013a7ee12a06ef3070f829d
rosguy@rtt:~$ rqt &
[INFO] [WallTime: 1360651873.409372] Recording to ~/data/tmp/rosbag_1_2013-02-11-22-51-13.bag.
Error subscribing to /object_manipulator/object_manipulator_place/result (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /interactive_object_recognition_result (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /image_snapshot/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /detect_outlet/result (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /object_recognition_popup/goal (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /wiggle_plug/goal (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /run_rcommander_action/goal (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /create_object_model_server/model_object_in_hand_action/goal (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /object_detection_user_command/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /l_gripper_controller/gripper_action/goal (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /l_arm_controller/joint_trajectory_action/goal (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /pr2_interactive_gripper_pose_action/result (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /r_arm_ik/result (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /head_traj_controller/state (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /projector_trigger/waveform (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /head_monitor_action/result (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /detect_wall_norm/goal (ignoring): topic parameter 'data_class' is not initialized
Traceback (most recent call last):
File "~/ROS/groovy_quantal/catkin_ws/src/rqt_common_plugins/rqt_bag/src/rqt_bag/timeline_frame.py", line 267, in paint
self._draw_topic_dividers(painter)
File "~/ROS/groovy_quantal/catkin_ws/src/rqt_common_plugins/rqt_bag/src/rqt_bag/timeline_frame.py", line 441, in _draw_topic_dividers
(x, y, w, h) = self._history_bounds[topic]
KeyError: '/motor_trace/br_caster_rotation_motor'
Error subscribing to /base_odometry/state (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /preplan_head_scan/result (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /detect_outlet/feedback (ignoring): topic parameter 'data_class' is not initialized
Traceback (most recent call last):
File "~/ROS/groovy_quantal/catkin_ws/src/rqt_common_plugins/rqt_bag/src/rqt_bag/timeline_frame.py", line 267, in paint
self._draw_topic_dividers(painter)
File "~/ROS/groovy_quantal/catkin_ws/src/rqt_common_plugins/rqt_bag/src/rqt_bag/timeline_frame.py", line 441, in _draw_topic_dividers
(x, y, w, h) = self._history_bounds[topic]
KeyError: '/head_mount_kinect/rgb/image_rect_color/theora'
Error subscribing to /tf2_web_republisher/feedback (ignoring): topic parameter 'data_class' is not initialized
Traceback (most recent call last):
File "~/ROS/groovy_quantal/catkin_ws/src/rqt_common_plugins/rqt_bag/src/rqt_bag/timeline_frame.py", line 267, in paint
self._draw_topic_dividers(painter)
File "~/ROS/groovy_quantal/catkin_ws/src/rqt_common_plugins/rqt_bag/src/rqt_bag/timeline_frame.py", line 441, in _draw_topic_dividers
(x, y, w, h) = self._history_bounds[topic]
KeyError: '/narrow_stereo/right/image_mono/compressed'
Error subscribing to /test_gripper_pose/goal (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /torso_controller/joint_trajectory_action/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /vision_outlet_detection/goal (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /torso_controller/position_joint_action/goal (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /l_gripper_grasp_posture_controller/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /stow_plug/result (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /plug_in/feedback (ignoring): topic parameter 'data_class' is not initialized
Traceback (most recent call last):
File "~/ROS/groovy_quantal/catkin_ws/src/rqt_common_plugins/rqt_bag/src/rqt_bag/timeline_frame.py", line 267, in paint
self._draw_topic_dividers(painter)
File "~/ROS/groovy_quantal/catkin_ws/src/rqt_common_plugins/rqt_bag/src/rqt_bag/timeline_frame.py", line 441, in _draw_topic_dividers
(x, y, w, h) = self._history_bounds[topic]
KeyError: '/narrow_stereo/left/image_rect/theora/parameter_updates'
Error subscribing to /head_traj_controller/point_head_action/goal (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /pr2_interactive_nav_action/goal (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /head_monitor_action/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /r_gripper_grasp_posture_controller/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /tf2_web_republisher/result (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /vision_outlet_detection/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /test_gripper_pose/result (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /plan_point_cluster_grasp/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /detect_plug/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /l_arm_controller/joint_trajectory_generator/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /r_arm_ik/goal (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /head_camera_trigger/waveform (ignoring): topic parameter 'data_class' is not initialized
psError subscribing to /prosilica_inhibit_projector_controller/waveform (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /vision_plug_detection/result (ignoring): topic parameter 'data_class' is not initialized
awxError subscribing to /r_gripper_controller/state (ignoring): topic parameter 'data_class' is not initialized
|Error subscribing to /create_object_model_server/model_object_in_hand_action/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /base_odometry/odometer (ignoring): topic parameter 'data_class' is not initialized
grep pyError subscribing to /r_arm_controller/joint_trajectory_action/result (ignoring): topic parameter 'data_class' is not initialized
At this moment rqt_gui
was terminated, but error hasn't ended
Error subscribing to /database_grasp_planning/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /database_grasp_planning/result (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /l_cart/state (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /point_cloud_server_action/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /r_forearm_cam_trigger/waveform (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /detect_outlet/goal (ignoring): topic parameter 'data_class' is not initialized
rosguy@rtt:~$ Error subscribing to /find_container_action/result (ignoring): topic parameter 'data_class' is not initialized
rosguy@rtt:~$ ps awx |grep rosbag
6326 pts/5 S+ 0:00 grep --color=auto rosbag
10655 pts/5 Sl 0:40 python ~/ROS/groovy_quantal/catkin_ws/devel/bin/rqt
rosguy@rtt:~$ Error subscribing to /l_gripper_controller/gripper_action/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /align_base/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /vision_plug_detection/feedback (ignoring): topic parameter 'data_class' is not initialized
Error subscribing to /l_arm_controller/joint_trajectory_generator/goal (ignoring): topic parameter 'data_class' is not initialized
rqt_bag: depth image support
It would be nice if there was some way to view depth images in rqt_bag.
The depth format is not supported. It can be found here http://tayyabnaseer.blogspot.com/2012/04/converting-ros-messages-to-open-cv.html
for an example of how to support the format see the rqt_image_view code here: https://kforge.ros.org/visualization/rqt?p=rqt;a=commitdiff;h=8f7de2132c415f74a0ef37e2a2aedfa221e8eddc
rqt_logger_level: Save and restore logger levels & multi process level setting
moved from ros-visualization/rqt#52
Redesign the plugin to allow block selecting so you can set the logger level of multiple processes at the same time.
implement a save/load from a file OR implement the rqt save/restore functionality.
rqt_reconfigure) Nodes that are failed to connect should not be displayed
Might be relatively rare with PR2
but rospy.exceptions.ROSException
can occur at dynamic_reconfigure.client.Client(nodename), timeout=5.0)
. In that case that node shouldn't be selectable (user gets confused).
rqt_reconfigure) to be capable of showing only certain parameters
In the cases where the users know that the parameters they need to interact with, loading the parameters of all available nodes might just drop the usability. Either or all of the following is useful:
- Save the nodes selected in the previous run.
- Allow the developers who make
rqt
plugin that depends onrqt_reconfigure
to pre-select certain nodes
Particularly, I now start having an impression that the majority of the reconfigure
users might already know which nodes & parameters they need.
rqt_bag: timestamp printing issue
rxbag used to print raw timestamp incorrectly so it still does:
In the timeline status bar, rxbag incorrectly prints the nanosecond portion of the raw timestamp. The code currently does this:
'%d.%s' % (self.timeline.playhead.secs, str(self.timeline.playhead.nsecs)[:3])
which will take the 3 highest digits of nanoseconds and print them like a decimal. This is meaningless. A better solution is attached that does this:
'%.3fs' % self.timeline.playhead.to_sec()
which is also used in the same function for printing the elapsed time.
If you were looking at the raw timestamp, it could be non-monotonic because of this bug, falsely indicating that certain topics arrived after other topics even though the visualization is correct.
For more information see the trac ticket.
migration of of trac ticket:
https://code.ros.org/trac/ros/ticket/3824
ServiceCaller plugin: multiple requests (ros-pkg ticket #5472)
ServiceCaller plugin:
- add requests to a list (like in the Publisher)
- call them "on click"/"on context menu"
- persist/restore list of requests with their expressions
- show response below list of request to reduce horizontal space consumption
trac data:
- Owner: dorianscholz
- Reporter: dthomas
- Reported at: Wed Jun 20 19:35:21 2012
- URL: https://code.ros.org/trac/ros-pkg/ticket/5472
rqt_bag: skips time when resuming playback
Due to the backend of rqt_bag being the same as rxbag this bug most likely still exists.
Pressing space will resume a paused bag, but it does not resume playback at the right time. Instead, it appears that the time keeps running: If you pause the bag for 1 second, it skips one second when it resumes.
migrated from this trac ticket:
https://code.ros.org/trac/ros/ticket/3490
rqt_console has a sluggish ui and overall response rate to filter changes when message numbers get high
migrated from ros-visualization/rqt#33
I am looking into getting the UI more responsive initially and then seeing if the backend can't be sped up as well.
(rqt_console) (nice-to-have) move filtering classes to common pkgs
I know it wasn't intended when rqt_console
was initially written to make all those filter classes to be generic. But it would be very beneficial to have a set of filtering components that provide multiple types of filters and users can select / de-select them on GUI while system aggregates the result from all selected filters (like rqt_console
does).
rqt_bag: Ability to annotate bag files
It would be great to be able to annotate/comment log files either as they are recorded or even after they are recorded.
E.g., after I do a run through the white lab to test odometry, I should be able to do
roslog topics.bag --annotate "Run through white lab to test odometry"
Further rosplay --annotate topics.bag should print out all annotation in topics.bag.
to see the attachments for this issue please view trac ticket 634:
https://code.ros.org/trac/ros/ticket/634
changelog from trac (copied on jan 8 2013):
Changed 4 years ago by gerkey
How about a general-purpose comment section at the front of the file? E.g.:
#ROSLOG V1.1
# Free-form comments go here,
# as many you want,
# and we start looking for messages on the first line
# that doesn't start with a '#'.
Changed 4 years ago by sachinc
If we have the annotation on a separate topic, it would be easy to pull out. It would also be great to do something like
rosplay --find_annotation "Interesting odom data" --timestamp -10:10 -f interesting_data
The idea is to find all the interesting events that occur in the log file (using the given annotation) and then print out data within a 10 second range into a set of files in directory interesting_data. The files could be called event0, event1, event2.bag and so on for multiple events.
Changed 3 years ago by kwc
component changed from ros to rosplay/rosrecord
summary changed from ability to annotate log files to ability to annotate bag files
Changed 3 years ago by leibs
component changed from rosplay/rosrecord/rosbagmigration to rosbag
Changed 18 months ago by gerkey
owner changed from leibs to tfield
Changed 18 months ago by kstrabala
attachment rxbag_annotate.zip added
Changed 18 months ago by kstrabala
I created an rxbag plugin (attached) that enables annotation of rosbags. To use it just ensure that the rxbag_annotate folder is in your ROS_PACKAGE_PATH, and then start rxbag as you normally would. The plugin adds an 'Annotate' option to all of the topics in the context menu (right-click).
One of the better features of this plugin is the ability to click on images to automatically fill in Point, Polygon, and RegionOfInterest? messages. Just select 'Annotate' for an Image topic and then in the new window select geometry_msgs/Point and click on the button with the *. An image will pop up and you can click on this image to fill in the Annotate messages.
I would be interested in collaborating on this to make it better. Is there anyone who would be interested in this type of development?
Changed 18 months ago by tfield
priority changed from minor to major
status changed from new to assigned
component changed from rosbag to rxbag
Thanks for the patch, Kyle. I'll take a look at it and get back to you.
If it's only depending on geometry_msgs and sensor_msgs then we could look to include it (or a derivative of it) in rxbag_plugins.
Changed 18 months ago by kstrabala
There are a few issues that we may want to address before adding it to rxbag_plugins.
- The rosbag of user-created annotations (/tmp/annotations.bag) doesn't get closed properly and thus needs to be reindexed before read. 2. The annotation messages that are created by the user aren't visible in the timeline. 3. After the Annotate feature is used, the Image feature is no longer visible. 4. Duplicate annotation messages on the same topic and at the same time don't work with the timeline. Probably should not allow the user to make duplicates.
I have tried to fix 1-3, but haven't found a way.
Changed 18 months ago by kstrabala
I forgot to mention that for my plugin to work, I had to minimally modify the rxbag timeline code, as follows.
Find rxbag/timeline.py:Timeline:__init() and move self.load_plugins() to the end of the init() function.
Changed 18 months ago by kstrabala
I've fixed the 4 issues that I noted above and attached the new version. It required some modification of the rxbag and rxbag_plugins code, so I included that in the attachment too. will tell you what I changed, mostly a little rearrangement and code additions.
At this point I feel we can merge rxbag_annotate with rxbag_plugins.
Changed 18 months ago by tfield
cc pantofaru added
status changed from assigned to new
This looks fantastic, Kyle.
I see rxbag_annotate is licensed as "Copyright 2011 Carnegie Mellon University" whereas rxbag_plugins is BSD. Would you object to licensing rxbag_annotate under BSD?
Here are a some small changes I'd like to make before incorporating your code:
save the annotation message with the same timestamp as the message it's annotating
make topic an optional argument to TopicMessageView (best not to change the API if it isn't necessary)
change the text/icon on the * button to make it obvious what it does
display time as a human-readable string
allow annotating with arbitrary message types
allow user to view existing annotations and update display as playhead moves
If you have any thoughts on those changes, Kyle, please let me know.
Changed 18 months ago by kstrabala
attachment rx.zip added
Changed 18 months ago by kstrabala
For the license, I need to fill out some forms and get CMU to release it. I don't expect any problems but it could be several weeks before the code can be shared publicly.
Made all the changes except for allowing annotation with arbitrary message types. I'm not sure how to do that and whatever I do might be an unstable hack. Someone else will have to code that.
Minor: There is some flicker that I would like to get rid of using double buffering as discussed on this webpage. http://wiki.wxpython.org/index.cgi/DoubleBufferedDrawing
I have also added a user questionnaire plugin which may not be useful for anyone else. It essentially shows a user some video and asks them what they thought. Never-the-less, if you want to use it: 1) start rxbag and choose the Feedback plugin on some topic. 2) start the feedback GUI: python ./feedback_gui.py 3) In the Feedback plugin, choose your image topic and settings and then click on Publish. 4) In the feedback GUI, watch the video, rate it, and then click Next. This will save the data in rxbag and go to the next message in the original rxbag topic.
Changed 18 months ago by tfield
Thanks. I can implement the support for arbitrary message types.
There's no rush for releasing this: E-Turtle is feature frozen so this won't land until F-Turtle.
Just let me know once you have agreement to release the code under BSD, and I'll commit your patch.
Changed 10 months ago by tfield
owner changed from tfield to gerkey
Changed 15 seconds ago by ablasdel
status changed from new to closed
resolution set to duplicate
The replacement for rxbag in groovy is rqt_bag. For further discussion of this ticket please see the github issue here:
rqt_console: implement reading from an sql database as an option
Migrated from ros-visualization/rqt#53
example of doing this in rxconsole space
https://github.com/bhaskara/ros_logging
(rqt_reconfigure) Filtering very slow for larger set of nodes (50+)
Currently filtering occurs per each single letter user types in, and becomes unbearably slow.
(rqt launch) nodes do not show up (at first)
When I first start the RQT launch plugin, no nodes show up. I see the dotted tree lines on the left where the 2 nodes should be, but no information about the nodes. If I click on a different launch file and then click back to the original launch file then eventually I see the information about the nodes.
With some launch files, only some of the nodes show up. For example, run rqt, add the launch plugin, and set the package to pr2_moveit_config. The first launch file is demo.launch. I see slots (dotted lines) for 5 nodes, but only the first 2 (static transform publisher and joint state publisher) show up. Click on a different launch file (same problem). Then click on demo.launch again. Now all 5 nodes show up.
rqt_bag: point clouds in rqt_bag
Now that we have the new Point Cloud Library (PCL), it would be great if you could store a cloud to disk by clicking on the some pop up associated with point clouds
To download a rxbag plugin to display point clouds see the trac ticket
https://code.ros.org/trac/ros/ticket/2525
change history from trac (copy pasted on Jan 8 2013):
Changed 3 years ago by tfield
status changed from new to assigned
milestone ROS 1.1 deleted
Sure, that shouldn't be difficult. Can you suggest a good format to dump them to disk?
Changed 3 years ago by tfield
I'm hazarding a guess that pcl's PCD format is what you want. Is that correct?
Changed 3 years ago by tfield
status changed from assigned to closed
resolution set to wontfix
Assuming this is no longer required.
Changed 22 months ago by jcorrea
status changed from closed to reopened
resolution wontfix deleted
Although PCD is the format to save point cloud provided by PCL library, rxbag lacks the ability so save, or view, point clouds. It would be very desirable to have such feature present.
Changed 22 months ago by tfield
This is possible. I wrote code recently to serialize PointCloud2 messages in Python. Theoretically, wxPython includes PyOpenGL but I'd need to check how good it is and its cross-platform support.
Changed 22 months ago by jcorrea
Maybe using VTK for displaying? I may give it a try, but after next week, right now I don't have much time left.
For serializing, I think the best approach would be to try and use PCL, as they already have saving to PCD files.
Changed 22 months ago by tfield
No need to pull in a huge framework like VTK to display point clouds - it's very simple to write a shader to do that.
Also, no need to use PCL - I've already implemented PointCloud2 serialization natively in Python. As far as I'm aware, PCL doesn't have Python bindings anyway.
Changed 10 months ago by tfield
owner changed from tfield to gerkey
status changed from reopened to new
Changed 6 months ago by jcorrea
attachment rxbag_pointcloud_plugin.tar.bz2 added
RxBag? plugin to display pointclouds
Changed 6 months ago by jcorrea
I've attached a plugin for RXBAG that displays pointclouds. It uses matplotlib and probably is not the most optimum approach.
Changed 4 minutes ago by ablasdel
status changed from new to closed
resolution set to duplicate
The replacement to rxbag in groovy is rqt_bag. It is a port of rxbag and has almost the same plugin api. Please see the github ticket created for this issue here for further information:
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.