ros-visualization / visualization_tutorials Goto Github PK
View Code? Open in Web Editor NEWTutorials related to using and extending RViz and interactive_markers.
Tutorials related to using and extending RViz and interactive_markers.
According to the wiki page for the TeleopPanel plugin, "but it could show things in the 3D scene" but there is nothing obvious/semi-obvious in the source to how this plugin could be adapted to render in the 3D scene. I have tried digging through the API/documentation but can't find anything helpful that
I do assume that this comment means to draw in the "main" 3D scene in rviz, not some other 3D scene. If not can you clarify?
Hello,
I am trying to add a robot model in Librivz tutorial.
By referring to rviz source code and rviz API document, I come up with the following code:
#include "rviz/default_plugin/robot_model_display.h"
rviz::RobotModelDisplay* robot_model_;
robot_model_ = new RobotModelDisplay();
manager_->addDisplay(robot_model_, true);
But when I executed catkin_make
, I came across the following error:
myviz.cpp:(.text+0x926): undefined reference to rviz::RobotModelDisplay::RobotModelDisplay()
make[1]: *** [visualization collect2: error: ld returned 1 exit status
I want to ask how could I modify the CMakeList.txt to make it find RobotModelDisplay
. Thanks!
Hi @mabelzhang
Can I ask about the schedule for the ROS2 support for this repository? I am working on creating a GUI with RViz panel in it and there has been a change in the API I need to use in ROS2 (ros2/rviz#664) If it will take time to update tutorials or this work is not a high priority, can I get help with finding the way to use only that specific function?
Thank you in advance,
Jaehyun
I am trying to run rviz via python pyside (because of the better licence).
import rospy
import sys
setattr(sys, 'SELECT_QT_BINDING', 'pyside')
import rviz
from PySide2 import QtCore, QtGui, QtWidgets
app = QtWidgets.QApplication(sys.argv)
frame=rviz.VisualizationFrame()
frame.setSplashPath("")
frame.initialize()
I get:
>>> import rviz Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt/ros/melodic/lib/python2.7/dist-packages/rviz/__init__.py", line 17, in <module> from . import librviz_shiboken
Part of this: #51
Part of this: #52
I am using:
Ubuntu 18.04. melodic
Pyqt4/5 installed
PySide and Pyside2 installed
In ROS Indigo's RViz, subscribing to a sensor_msgs/Imu topic (of e.g. the xsens_driver) yields a display of (in my case) /imu/data
with a much too large arrow, as described here.
This display should have a scale parameter to reduce the arrow size.
/usr/bin/ld: cannot find -ldefault_plugin
@wjwwood can you release this into Kinetic when you have the chance?
I am trying to develop a GUI for AGV robots. For the teleop mode, I wanted to add a teleop_panel for it. After seeing the original tutorial, I am still confused on how to build the teleop_gui as a standalone ros pkg (since it is docked with rviz). So far, I managed to build it but it is not running (error: Segmentation fault (core dumped)). It's been difficult for me to find a reference of gui_teleop panel that is separated from rviz. Do you have any ideas or suggestions? thank you
I am using Qt and C++ with catkin_make to build my GUI project.
I'm trying to build rviz_plugin_tutorials on OS X Yosemite, and fails the message:
Call Stack (most recent call first):
/Users/install_isolated/share/urdf/cmake/urdfConfig.cmake:165 (find_package)
/Users/install_isolated/share/rviz/cmake/rvizConfig.cmake:165 (find_package)
/Users/install_isolated/share/catkin/cmake/catkinConfig.cmake:75 (find_package)
CMakeLists.txt:7 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - found
-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt4: /usr/local/bin/qmake (found version "4.8.6")
-- Configuring done
CMake Warning (dev):
Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
--help-policy CMP0042" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
MACOSX_RPATH is not specified for the following targets:
rviz_plugin_tutorials
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done
-- Build files have been written to: /Users/build_isolated/rviz_plugin_tutorials
==> make -j4 -l4 in '/Users/build_isolated/rviz_plugin_tutorials'
[ 7%] [ 15%] [ 23%] [ 30%] Generating src/moc_teleop_panel.cxx
Generating src/moc_drive_widget.cxx
Generating src/moc_imu_display.cxx
Generating src/moc_plant_flag_tool.cxx
usr/local/Cellar/boost/1.57.0/include/boost/type_traits/detail/has_binary_operator.hp:50: Parse error at "BOOST_JOIN"
make[2]: *** [src/moc_imu_display.cxx] Error 1
make[1]: *** [CMakeFiles/rviz_plugin_tutorials.dir/all] Error 2
make: *** [all] Error 2
<== Failed to process package 'rviz_plugin_tutorials':
Command '/Users/install_isolated/env.sh make -j4 -l4' returned non-zero exit status 2
I'm facing the error:
Traceback (most recent call last):
File "/home/ircbarros/Desktop/LaserGUI/main/librviz.py", line 23, in
import rviz
File "/opt/ros/indigo/lib/python2.7/dist-packages/rviz/init.py", line 19, in
import librviz_shiboken
ImportError: No module named librviz_shiboken
When i try to run the rviz_python_tutorial
I'm getting a Segmentation Fault (core dumped)
whenever I try to run myviz.py
.
I've done roscd rviz_python_tutorial
followed by rosrun rviz_python_tutorial myviz.py
I've also tried simply python myviz.py
The problem happens on line 58: self.frame.initialize()
Debugger shows self.frame
is an instance of librviz_sip.VisualizationFrame
object, as expected.
I'm using Python 2.7.12
and PyQt5 5.5.1
I believe everything should be set up properly (dir under catkin_ws/src
and catkin_make
succeeded).
Here is the gbd
backtrace:
(gdb) bt
#0 0x0000000000000000 in ?? ()
#1 0x00007fffb2c43c09 in ?? () from /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so.1.9.0
#2 0x00007fffb2c0e27f in Ogre::GLStateCacheManager::switchContext(long) () from /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so.1.9.0
#3 0x00007fffb2bff04d in Ogre::GLRenderSystem::initialiseContext(Ogre::RenderWindow*) () from /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so.1.9.0
#4 0x00007fffb2c07b13 in Ogre::GLRenderSystem::_createRenderWindow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int, bool, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Ogre::STLAllocator<std::pair<std::__cxx11::basic_string<char,std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > > const*) () from /usr/lib/x86_64-linux-gnu/OGRE-1.9.0/RenderSystem_GL.so.1.9.0
#5 0x00007fffe258888c in Ogre::Root::createRenderWindow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int, bool, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Ogre::STLAllocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > > const*) () from /usr/lib/x86_64-linux-gnu/libOgreMain.so.1.9.0
#6 0x00007fffe5348c1a in rviz::RenderSystem::tryMakeRenderWindow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsi---Type <return> to continue, or q <return> to quit--- gned int, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Ogre::STLAllocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> > > const*, int) () from /opt/ros/kinetic/lib/librviz.so
#7 0x00007fffe534a3de in rviz::RenderSystem::makeRenderWindow(unsigned long, unsigned int, unsigned int, double) () from /opt/ros/kinetic/lib/librviz.so
#8 0x00007fffe534c8b5 in rviz::RenderSystem::RenderSystem() () from /opt/ros/kinetic/lib/librviz.so
#9 0x00007fffe534ca15 in rviz::RenderSystem::get() () from /opt/ros/kinetic/lib/librviz.so
#10 0x00007fffe5347dd1 in rviz::QtOgreRenderWindow::QtOgreRenderWindow(QWidget*) () from /opt/ros/kinetic/lib/librviz.so
#11 0x00007fffe536e959 in rviz::RenderPanel::RenderPanel(QWidget*) () from /opt/ros/kinetic/lib/librviz.so
#12 0x00007fffe53ba300 in rviz::VisualizationFrame::initialize(QString const&) () from /opt/ros/kinetic/lib/librviz.so
Thanks! Let me know if I can provide anything else that might be of use.
Here's the kind of errors we get with rviz_plugin_tutorials
:
/opt/ros/hydro/include/rviz/mesh_loader.h:33:22: fatal error: OgreMesh.h: No such file or directory
#include <OgreMesh.h>
^
/opt/ros/hydro/include/rviz/properties/parse_color.h:35:29: fatal error: OgreColourValue.h: No such file or directory
#include <OgreColourValue.h>
^
Indeed, in parse_color.h
, we find:
#include <OgreColourValue.h>
However, headers are in /usr/include/OGRE
, as explained in /usr/lib/pkgconfig/OGRE.pc
:
Cflags: -I${includedir} -I${includedir}/OGRE -pthread
Thus, those C/C++ flags should be taken into account when compiling these tutorials. Since Ogre checking does not seem to be done, this should be fixed while adding pkg-config support.
This may also happen in the other tutorials.
I have a rviz_plugin project, that's used catkin_make build it and can add it in rviz.
But now I have a new need which put the rviz_plugin project in a cmake project. And I used cmake build all project successfully, but when I use the plugin in rviz, it give a bug back.
Bug info like that:
The class required for this panel, 'graph_rviz_plugin/Line graph', could not be loaded. Error: Could not find library corresponding to plugin graph_rviz_plugin/Line graph. Make sure the plugin description XML file has the correct name of the library and that the library actually exists.
How can I resolve it? Please give some advices, thanks!
This probably hasn't worked since kinetic
It will give:
$ rosrun rviz_python_tutorial myviz.py
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/rviz_python_tutorial/myviz.py", line 26, in <module>
class MyViz( QWidget ):
NameError: name 'QWidget' is not defined
The interactive marker tutorial has multiple instances where controls are created with non-normalized rotation quaternions. Since rviz now has a stronger handling of marker quaternions #1167, this leads to errors.
Also see this issue.
All of the dependencies for this package are available in Melodic, so it would be great to get it released. Thanks in advance!
Starting any example from the interactive_marker_tutorials fails with an error:
Error getting time of latest transform between /base_link and base_link
Seemingly link name comparison in rviz doesn't ignore a leading slash anymore: All the examples in the tutorial register a marker to the frame "/base_link" while rviz removes the leading slash in the global fixed frame. Removing the leading slash in the examples fixes the issue. However, eventually, the problem should be fixed on rviz side (#918).
tested on ROS Indigo.
Hi @wjwwood and visualization_tutorials maintainers!
We are reaching the beta testing phase of ROS Lunar in a few days ๐ and this package is one of the last one blocking the release of desktop_full. Please consider making a release as soon as possible and if you don't have time to make a release you can release the current kinetic version by running bloom-release visualization_tutorials -r lunar -t lunar -n
The plugin_description.xml file seems to have an issue which generates error messages when running rviz in hydro.
I am just trying to understand the feasibility of this. Shouldn't it be possible to use python_qt_binding to use Python for RViz2? If it is feasible, I would like to work on a PR for this.
This issue is a tracker for porting the remaining tutorials to ROS 2:
The rviz_python_tutorial will not be updated because RViz2 doesn't support python.
Hi.
I am currently struggling with very simple tasks like topic subscription in a custom RQT plugin.
Is there a chance we could get basic tutorials for simple RQT plugins and include them in this repository?
I was able to work through SRV communications, creating a button and space for a response, so it is one thing I could write about.
@wjwwood mind making a release of visualization_tutorials
? It looks like it's unblocked and needed by metapackages
.
When building the Hydro version on OS X I get:
==> Processing catkin package: 'rviz_plugin_tutorials'
==> Creating build directory: 'build_isolated/rviz_plugin_tutorials'
==> Building with env: '/Users/william/hydro/install_isolated/env.sh'
==> cmake /Users/william/hydro/src/rviz_plugin_tutorials -DCATKIN_DEVEL_PREFIX=/Users/william/hydro/devel_isolated/rviz_plugin_tutorials -DCMAKE_INSTALL_PREFIX=/Users/william/hydro/install_isolated in '/Users/william/hydro/build_isolated/rviz_plugin_tutorials'
-- The C compiler identification is Clang 4.2.0
-- The CXX compiler identification is Clang 4.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Using CATKIN_DEVEL_PREFIX: /Users/william/hydro/devel_isolated/rviz_plugin_tutorials
-- Using CMAKE_PREFIX_PATH: /Users/william/hydro/install_isolated
-- This workspace overlays: /Users/william/hydro/install_isolated
-- Found PythonInterp: /usr/bin/python (found version "2.7.2")
-- Using default Python package layout
-- Found PY_em: /Library/Python/2.7/site-packages/em.pyc
-- Using CATKIN_ENABLE_TESTING: ON
-- Using CATKIN_TEST_RESULTS_DIR: /Users/william/hydro/build_isolated/rviz_plugin_tutorials/test_results
-- Found gtest: gtests will be built
-- catkin 0.5.70
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - not found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - found
-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt4: /usr/local/bin/qmake (found version "4.8.4")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/william/hydro/build_isolated/rviz_plugin_tutorials
==> make -j4 -l4 in '/Users/william/hydro/build_isolated/rviz_plugin_tutorials'
[ 7%] [ 15%] [ 23%] [ 30%] Generating src/moc_teleop_panel.cxx
Generating src/moc_drive_widget.cxx
Generating src/moc_plant_flag_tool.cxx
Generating src/moc_imu_display.cxx
Scanning dependencies of target rviz_plugin_tutorials
[ 38%] [ 46%] [ 53%] [ 61%] Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/drive_widget.cpp.o
Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/imu_visual.cpp.o
Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/imu_display.cpp.o
Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/plant_flag_tool.cpp.o
[ 69%] Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/teleop_panel.cpp.o
[ 76%] Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/moc_drive_widget.cxx.o
[ 84%] Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/moc_imu_display.cxx.o
[ 92%] Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/moc_plant_flag_tool.cxx.o
[100%] Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/moc_teleop_panel.cxx.o
Linking CXX shared library /Users/william/hydro/devel_isolated/rviz_plugin_tutorials/lib/librviz_plugin_tutorials.dylib
Undefined symbols for architecture x86_64:
"class_loader::class_loader_private::AbstractMetaObjectBase::addOwningClassLoader(class_loader::ClassLoader*)", referenced from:
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
"class_loader::class_loader_private::AbstractMetaObjectBase::setAssociatedLibraryPath(std::string)", referenced from:
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
"class_loader::class_loader_private::AbstractMetaObjectBase::AbstractMetaObjectBase(std::string const&, std::string const&)", referenced from:
class_loader::class_loader_private::AbstractMetaObject<rviz::Display>::AbstractMetaObject(std::string const&, std::string const&) in imu_display.cpp.o
class_loader::class_loader_private::AbstractMetaObject<rviz::Tool>::AbstractMetaObject(std::string const&, std::string const&) in plant_flag_tool.cpp.o
class_loader::class_loader_private::AbstractMetaObject<rviz::Panel>::AbstractMetaObject(std::string const&, std::string const&) in teleop_panel.cpp.o
"class_loader::class_loader_private::AbstractMetaObjectBase::~AbstractMetaObjectBase()", referenced from:
class_loader::class_loader_private::AbstractMetaObject<rviz::Display>::AbstractMetaObject(std::string const&, std::string const&) in imu_display.cpp.o
class_loader::class_loader_private::AbstractMetaObject<rviz::Tool>::AbstractMetaObject(std::string const&, std::string const&) in plant_flag_tool.cpp.o
class_loader::class_loader_private::AbstractMetaObject<rviz::Panel>::AbstractMetaObject(std::string const&, std::string const&) in teleop_panel.cpp.o
"class_loader::class_loader_private::getFactoryMapForBaseClass(std::string const&)", referenced from:
std::map<std::string, class_loader::class_loader_private::AbstractMetaObjectBase*, std::less<std::string>, std::allocator<std::pair<std::string const, class_loader::class_loader_private::AbstractMetaObjectBase*> > >& class_loader::class_loader_private::getFactoryMapForBaseClass<rviz::Display>() in imu_display.cpp.o
std::map<std::string, class_loader::class_loader_private::AbstractMetaObjectBase*, std::less<std::string>, std::allocator<std::pair<std::string const, class_loader::class_loader_private::AbstractMetaObjectBase*> > >& class_loader::class_loader_private::getFactoryMapForBaseClass<rviz::Tool>() in plant_flag_tool.cpp.o
std::map<std::string, class_loader::class_loader_private::AbstractMetaObjectBase*, std::less<std::string>, std::allocator<std::pair<std::string const, class_loader::class_loader_private::AbstractMetaObjectBase*> > >& class_loader::class_loader_private::getFactoryMapForBaseClass<rviz::Panel>() in teleop_panel.cpp.o
"class_loader::class_loader_private::getCurrentlyActiveClassLoader()", referenced from:
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
"class_loader::class_loader_private::getCurrentlyLoadingLibraryName()", referenced from:
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
"class_loader::class_loader_private::getPluginBaseToFactoryMapMapMutex()", referenced from:
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
"class_loader::class_loader_private::hasANonPurePluginLibraryBeenOpened(bool)", referenced from:
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
"console_bridge::log(char const*, int, console_bridge::LogLevel, char const*, ...)", referenced from:
(anonymous namespace)::ProxyExec0::ProxyExec0() in imu_display.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::ImuDisplay, rviz::Display>(std::string const&, std::string const&) in imu_display.cpp.o
(anonymous namespace)::ProxyExec0::ProxyExec0() in plant_flag_tool.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::PlantFlagTool, rviz::Tool>(std::string const&, std::string const&) in plant_flag_tool.cpp.o
(anonymous namespace)::ProxyExec0::ProxyExec0() in teleop_panel.cpp.o
void class_loader::class_loader_private::registerPlugin<rviz_plugin_tutorials::TeleopPanel, rviz::Panel>(std::string const&, std::string const&) in teleop_panel.cpp.o
"message_filters::Connection::disconnect()", referenced from:
void tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::connectInput<message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > > >(message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
"message_filters::Connection::Connection(boost::function<void (message_filters::Connection const&)> const&, boost::signals::connection)", referenced from:
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::registerFailureCallback(boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> const&) in imu_display.cpp.o
"message_filters::Connection::Connection(boost::function<void ()> const&)", referenced from:
message_filters::Connection message_filters::SimpleFilter<sensor_msgs::Imu_<std::allocator<void> > >::registerCallback<boost::_bi::bind_t<void, boost::_mfi::mf1<void, rviz::MessageFilterDisplay<sensor_msgs::Imu_<std::allocator<void> > >, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&>, boost::_bi::list2<boost::_bi::value<rviz::MessageFilterDisplay<sensor_msgs::Imu_<std::allocator<void> > >*>, boost::arg<1> > > >(boost::_bi::bind_t<void, boost::_mfi::mf1<void, rviz::MessageFilterDisplay<sensor_msgs::Imu_<std::allocator<void> > >, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&>, boost::_bi::list2<boost::_bi::value<rviz::MessageFilterDisplay<sensor_msgs::Imu_<std::allocator<void> > >*>, boost::arg<1> > > const&) in imu_display.cpp.o
message_filters::Connection message_filters::SimpleFilter<sensor_msgs::Imu_<std::allocator<void> > >::registerCallback<boost::_bi::bind_t<void, boost::_mfi::mf2<void, rviz::FrameManager, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, rviz::Display*>, boost::_bi::list3<boost::_bi::value<rviz::FrameManager*>, boost::arg<1>, boost::_bi::value<rviz::Display*> > > >(boost::_bi::bind_t<void, boost::_mfi::mf2<void, rviz::FrameManager, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, rviz::Display*>, boost::_bi::list3<boost::_bi::value<rviz::FrameManager*>, boost::arg<1>, boost::_bi::value<rviz::Display*> > > const&) in imu_display.cpp.o
message_filters::Connection message_filters::SimpleFilter<sensor_msgs::Imu_<std::allocator<void> > >::registerCallback<tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >, ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&>(void (tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::*)(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&), tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >*) in imu_display.cpp.o
"tf::Transformer::addTransformsChangedListener(boost::function<void ()>)", referenced from:
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::init() in imu_display.cpp.o
"tf::Transformer::removeTransformsChangedListener(boost::signals::connection)", referenced from:
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
"ros::NodeHandle::advertise(ros::AdvertiseOptions&)", referenced from:
ros::Publisher ros::NodeHandle::advertise<geometry_msgs::Twist_<std::allocator<void> > >(std::string const&, unsigned int, bool) in teleop_panel.cpp.o
"ros::NodeHandle::subscribe(ros::SubscribeOptions&)", referenced from:
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe(ros::NodeHandle&, std::string const&, unsigned int, ros::TransportHints const&, ros::CallbackQueueInterface*) in imu_display.cpp.o
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe() in imu_display.cpp.o
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe(ros::NodeHandle&, std::string const&, unsigned int, ros::TransportHints const&, ros::CallbackQueueInterface*) in moc_imu_display.cxx.o
"ros::NodeHandle::NodeHandle(ros::NodeHandle const&)", referenced from:
rviz::MessageFilterDisplay<sensor_msgs::Imu_<std::allocator<void> > >::onInitialize() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::MessageFilter(tf::Transformer&, std::string const&, unsigned int, ros::NodeHandle, ros::Duration) in imu_display.cpp.o
"ros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&)", referenced from:
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::Subscriber() in imu_display.cpp.o
rviz_plugin_tutorials::TeleopPanel::TeleopPanel(QWidget*) in teleop_panel.cpp.o
"ros::NodeHandle::~NodeHandle()", referenced from:
rviz::MessageFilterDisplay<sensor_msgs::Imu_<std::allocator<void> > >::onInitialize() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::MessageFilter(tf::Transformer&, std::string const&, unsigned int, ros::NodeHandle, ros::Duration) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::~Subscriber() in imu_display.cpp.o
rviz_plugin_tutorials::TeleopPanel::TeleopPanel(QWidget*) in teleop_panel.cpp.o
rviz_plugin_tutorials::TeleopPanel::~TeleopPanel() in moc_teleop_panel.cxx.o
"ros::NodeHandle::operator=(ros::NodeHandle const&)", referenced from:
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe(ros::NodeHandle&, std::string const&, unsigned int, ros::TransportHints const&, ros::CallbackQueueInterface*) in imu_display.cpp.o
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe(ros::NodeHandle&, std::string const&, unsigned int, ros::TransportHints const&, ros::CallbackQueueInterface*) in moc_imu_display.cxx.o
"ros::Subscriber::shutdown()", referenced from:
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::unsubscribe() in imu_display.cpp.o
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::unsubscribe() in moc_imu_display.cxx.o
"ros::Subscriber::~Subscriber()", referenced from:
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe(ros::NodeHandle&, std::string const&, unsigned int, ros::TransportHints const&, ros::CallbackQueueInterface*) in imu_display.cpp.o
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::~Subscriber() in imu_display.cpp.o
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe() in imu_display.cpp.o
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::Subscriber() in imu_display.cpp.o
message_filters::Subscriber<sensor_msgs::Imu_<std::allocator<void> > >::subscribe(ros::NodeHandle&, std::string const&, unsigned int, ros::TransportHints const&, ros::CallbackQueueInterface*) in moc_imu_display.cxx.o
"ros::DurationBase<ros::Duration>::fromSec(double)", referenced from:
ros::Duration::Duration(double) in imu_display.cpp.o
"ros::serialization::throwStreamOverrun()", referenced from:
void ros::serialization::Serializer<double>::read<ros::serialization::IStream>(ros::serialization::IStream&, double&) in imu_display.cpp.o
void ros::serialization::ArraySerializer<double, 9ul, void>::read<ros::serialization::IStream>(ros::serialization::IStream&, boost::array<double, 9ul>&) in imu_display.cpp.o
void ros::serialization::Serializer<std::string>::read<ros::serialization::IStream>(ros::serialization::IStream&, std::string&) in imu_display.cpp.o
void ros::serialization::Serializer<unsigned int>::read<ros::serialization::IStream>(ros::serialization::IStream&, unsigned int&) in imu_display.cpp.o
void ros::serialization::Serializer<double>::write<ros::serialization::OStream>(ros::serialization::OStream&, double) in teleop_panel.cpp.o
void ros::serialization::Serializer<unsigned int>::write<ros::serialization::OStream>(ros::serialization::OStream&, unsigned int) in teleop_panel.cpp.o
void ros::serialization::Serializer<double>::read<ros::serialization::IStream>(ros::serialization::IStream&, double&) in moc_imu_display.cxx.o
...
"ros::ok()", referenced from:
rviz_plugin_tutorials::TeleopPanel::sendVel() in teleop_panel.cpp.o
"ros::Time::now()", referenced from:
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
"ros::Timer::~Timer()", referenced from:
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::MessageFilter(tf::Transformer&, std::string const&, unsigned int, ros::NodeHandle, ros::Duration) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::init() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
"ros::console::initialize()", referenced from:
rviz_plugin_tutorials::ImuDisplay::processMessage(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::add(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessages() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::clear() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
...
"ros::console::g_initialized", referenced from:
rviz_plugin_tutorials::ImuDisplay::processMessage(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::add(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessages() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::clear() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
...
"ros::console::setLogLocationLevel(ros::console::LogLocation*, ros::console::levels::Level)", referenced from:
rviz_plugin_tutorials::ImuDisplay::processMessage(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::add(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessages() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::clear() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
...
"ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)", referenced from:
rviz_plugin_tutorials::ImuDisplay::processMessage(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::add(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessages() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::clear() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
...
"ros::console::checkLogLocationEnabled(ros::console::LogLocation*)", referenced from:
rviz_plugin_tutorials::ImuDisplay::processMessage(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::add(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessages() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::clear() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
...
"ros::console::print(ros::console::FilterBase*, log4cxx::Logger*, ros::console::levels::Level, char const*, int, char const*, char const*, ...)", referenced from:
rviz_plugin_tutorials::ImuDisplay::processMessage(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::add(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessages() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::clear() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
...
"ros::Publisher::shutdown()", referenced from:
rviz_plugin_tutorials::TeleopPanel::setTopic(QString const&) in teleop_panel.cpp.o
"ros::Publisher::~Publisher()", referenced from:
rviz_plugin_tutorials::TeleopPanel::TeleopPanel(QWidget*) in teleop_panel.cpp.o
rviz_plugin_tutorials::TeleopPanel::setTopic(QString const&) in teleop_panel.cpp.o
rviz_plugin_tutorials::TeleopPanel::~TeleopPanel() in moc_teleop_panel.cxx.o
"boost::signals::connection::connection(boost::signals::connection const&)", referenced from:
message_filters::Connection::getBoostConnection() const in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
"boost::signals::connection::~connection()", referenced from:
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::registerFailureCallback(boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::disconnectFailure(message_filters::Connection const&) in imu_display.cpp.o
boost::signals::detail::slot_base::data_t::~data_t() in imu_display.cpp.o
message_filters::Connection::~Connection() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::MessageFilter(tf::Transformer&, std::string const&, unsigned int, ros::NodeHandle, ros::Duration) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::init() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
...
"boost::signals::connection::operator=(boost::signals::connection const&)", referenced from:
message_filters::Connection::operator=(message_filters::Connection const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::init() in imu_display.cpp.o
"boost::signals::detail::signal_base::signal_base(boost::function2<bool, boost::signals::detail::stored_group, boost::signals::detail::stored_group> const&, boost::any const&)", referenced from:
boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::signal2(boost::last_value<void> const&, std::less<int> const&) in imu_display.cpp.o
"boost::signals::detail::signal_base::~signal_base()", referenced from:
boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::~signal2() in imu_display.cpp.o
boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::signal2(boost::last_value<void> const&, std::less<int> const&) in imu_display.cpp.o
"boost::signals::detail::named_slot_map::end()", referenced from:
boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::operator()(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason) in imu_display.cpp.o
"boost::signals::detail::named_slot_map::begin()", referenced from:
boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::operator()(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason) in imu_display.cpp.o
"boost::signals::detail::signal_base_impl::connect_slot(boost::any const&, boost::signals::detail::stored_group const&, boost::shared_ptr<boost::signals::detail::slot_base::data_t>, boost::signals::connect_position)", referenced from:
boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::connect(boost::slot<boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> > const&, boost::signals::connect_position) in imu_display.cpp.o
"boost::signals::detail::call_notification::call_notification(boost::shared_ptr<boost::signals::detail::signal_base_impl> const&)", referenced from:
boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::operator()(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason) in imu_display.cpp.o
"boost::signals::detail::call_notification::~call_notification()", referenced from:
boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::operator()(boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason) in imu_display.cpp.o
"boost::signals::detail::slot_base::create_connection()", referenced from:
boost::slot<boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::slot<boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >(boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> const&) in imu_display.cpp.o
"boost::signals::trackable::~trackable()", referenced from:
boost::signal2<void, boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason, boost::last_value<void>, int, std::less<int>, boost::function<void (boost::shared_ptr<sensor_msgs::Imu_<std::allocator<void> > const> const&, tf::filter_failure_reasons::FilterFailureReason)> >::~signal2() in imu_display.cpp.o
"tf::Transformer::canTransform(std::string const&, std::string const&, ros::Time const&, std::string*) const", referenced from:
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
"tf::Transformer::getLatestCommonTime(std::string const&, std::string const&, ros::Time&, std::string*) const", referenced from:
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
"ros::NodeHandle::createTimer(ros::Duration, boost::function<void (ros::TimerEvent const&)> const&, bool, bool) const", referenced from:
ros::Timer ros::NodeHandle::createTimer<tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > > >(ros::Duration, void (tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::*)(ros::TimerEvent const&), tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >*, bool, bool) const in imu_display.cpp.o
"ros::DurationBase<ros::Duration>::operator==(ros::Duration const&) const", referenced from:
ros::DurationBase<ros::Duration>::operator!=(ros::Duration const&) const in imu_display.cpp.o
"ros::TimeBase<ros::Time, ros::Duration>::operator==(ros::Time const&) const", referenced from:
ros::TimeBase<ros::Time, ros::Duration>::operator!=(ros::Time const&) const in imu_display.cpp.o
"ros::TimeBase<ros::Time, ros::Duration>::operator>=(ros::Time const&) const", referenced from:
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
"ros::TimeBase<ros::Time, ros::Duration>::operator<(ros::Time const&) const", referenced from:
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
"ros::TimeBase<ros::Time, ros::Duration>::operator+(ros::Duration const&) const", referenced from:
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::testMessage(ros::MessageEvent<sensor_msgs::Imu_<std::allocator<void> > const> const&) in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::checkFailures() in imu_display.cpp.o
"ros::Publisher::Impl::isValid() const", referenced from:
ros::Publisher::operator void*() const in teleop_panel.cpp.o
void ros::Publisher::publish<geometry_msgs::Twist_<std::allocator<void> > >(geometry_msgs::Twist_<std::allocator<void> > const&) const in teleop_panel.cpp.o
"ros::Publisher::publish(boost::function<ros::SerializedMessage ()> const&, ros::SerializedMessage&) const", referenced from:
void ros::Publisher::publish<geometry_msgs::Twist_<std::allocator<void> > >(geometry_msgs::Twist_<std::allocator<void> > const&) const in teleop_panel.cpp.o
"boost::signals::connection::disconnect() const", referenced from:
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::disconnectFailure(message_filters::Connection const&) in imu_display.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [/Users/william/hydro/devel_isolated/rviz_plugin_tutorials/lib/librviz_plugin_tutorials.dylib] Error 1
make[1]: *** [CMakeFiles/rviz_plugin_tutorials.dir/all] Error 2
make: *** [all] Error 2
I will have a fix soon.
Building rviz_plugin_tutorials on OS X 10.8.3 is yielding a linking error, it would seem. (Note: I actually run rosmake -a --pre-clean
, having successfully followed the instructions on http://www.ros.org/wiki/groovy/Installation/OSX/Homebrew/Source#Installation_Instructions_for_Groovy_in_OSX).
Undefined symbols for architecture x86_64:
"message_filters::Connection::disconnect()", referenced from:
rviz::MessageFilterDisplay<sensor_msgs::Imu_<std::allocator<void> > >::onInitialize() in imu_display.cpp.o
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::~MessageFilter() in imu_display.cpp.o
full log: http://pastie.org/pastes/7360215/text
Adding <depend package="message_filters"/>
to the manifest.xml file for visualisation_tutorials/rviz_plugin_tutorials then gives the following.
Undefined symbols for architecture x86_64:
"tf::Transformer::addTransformsChangedListener(boost::function<void ()>)", referenced from:
tf::MessageFilter<sensor_msgs::Imu_<std::allocator<void> > >::init() in imu_display.cpp.o
full log: http://pastie.org/pastes/7360257/text
Now, also adding <depend package="tf"/>
to the same manifest.xml file gives the following.
Undefined symbols for architecture x86_64:
"Ogre::Quaternion::IDENTITY", referenced from:
rviz_plugin_tutorials::ImuVisual::ImuVisual(Ogre::SceneManager*, Ogre::SceneNode*) in imu_visual.cpp.o
rviz_plugin_tutorials::PlantFlagTool::onInitialize() in plant_flag_tool.cpp.o
rviz_plugin_tutorials::PlantFlagTool::makeFlag(Ogre::Vector3 const&) in plant_flag_tool.cpp.o
full log: http://pastie.org/pastes/7360289/text
In all of the above cases this is the only package that fails to build (running rosmake -a
) and the tail of the output looks something like this in each case:
[ rosmake ] Output from build of package rviz_plugin_tutorials written to:
[ rosmake ] /Users/alex/.ros/rosmake/rosmake_output-20130408-050334/rviz_plugin_tutorials/build_output.log
[rosmake-0] Finished <<< rviz_plugin_tutorials [FAIL] [ 76.76 seconds ]
[ rosmake ] Halting due to failure in package rviz_plugin_tutorials.
[ rosmake ] Waiting for other threads to complete.
[ rosmake ] Output from build of package turtle_actionlib written to:... [ 2 Active 85/88 Complete ]
[ rosmake ] /Users/alex/.ros/rosmake/rosmake_output-20130408-050334/turtle_actionlib/build_output.log
[rosmake-1] Finished <<< turtle_actionlib [PASS] [ 56.78 seconds ] [ 3 warnings [ 1 deprecated ] ]
[ rosmake ] Output from build of package actionlib_tutorials written to: [ 1 Active 86/88 Complete ]
[ rosmake ] /Users/alex/.ros/rosmake/rosmake_output-20130408-050334/actionlib_tutorials/build_output.log
[rosmake-5] Finished <<< actionlib_tutorials [PASS] [ 91.02 seconds ] [ 5 warnings ]
[ rosmake ] Results:
[ rosmake ] Cleaned 88 packages.
[ rosmake ] Built 88 packages with 1 failures.
[ rosmake ] Summary output to directory
[ rosmake ] /Users/alex/.ros/rosmake/rosmake_output-20130408-050334
I am unable to get rid of this last issue with "undefined symbols" however, and am not even sure my previous attempted fixes are the right way to go about it. Any help would be appreciated.
The .rst files describing the tutorials all include building_and_exporting.rst, which mentions TeleopPanel specifically. So when someone reads tool_plugin_tutorial, they see this thing about building TeleopPanel, and it is confusing.
Thank you for this great tutorial. I have a question about the concept of interactive marker servers.
Problem description:
I have two sets of interactive markers, for example one set consists of 10 spheres and the other set consists of 10 cubes. Now I want to switch between these two sets. Is there a smart way or should I create a second server instance and then make all interactive markers of a set invisible.
I am running on Ubuntu 22.04 with ROS Humble installed.
While the rest of the components in the librviz tutorial works (changing grid spacing, grid line thickness), I am completely unable to move the camera.
I've attempted to enable mouse tracking of the render_panel_
via render_panel_->setMouseTracking(true);
but this had no effect.
I can confirm QMouseEvents
are triggering on the main window widget using qDebug, which to me strikes as a sign it's not a Qt installation issue.
Aside from the mouse tracking being enabled, the code is exactly as it is in the ros2 branch of MyViz under librviz_tutorial.
It's worth noting that I was able to move the camera programmatically using the following:
rviz_common::ViewController * controller_ = manager_->getViewManager()->getCurrent();
controller_->getCamera()->moveRelative(Ogre::Vector3(1,1,1));`
But would prefer to use the Orbit controller the render_panel_
already has for controlling the camera with a mouse if possible.
Anyone been able to get specifically the ROS2 branch of this code to work with camera mouse controls?
Hello,
Thanks for the tutorials! They've been super helpful for me trying to learn how to create a plugin. I've noticed some code in the panel tutorial which I believe may be causing a memory leak e.g. here. The class has no destructor, so it seems like we're dynamically allocating memory and never freeing it.
It's been a while since I've used Qt, so unsure if it would be handling the memory management under the hood? Figured it'd be a good opportunity to learn either way ๐
The code for the interactive_marker_tutorials
package has been ported to ROS 2, but the docs should be updated as well.
See:
http://answers.ros.org/question/56553/rosmake-fails-on-os-x/
http://pastie.org/pastes/6368348/text
The failure:
{-------------------------------------------------------------------------------
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - found
-- Looking for QT_MAC_USE_COCOA
-- Looking for QT_MAC_USE_COCOA - found
-- Found Qt4: /usr/local/bin/qmake (found version "4.8.4")
[rosbuild] Couldn't find source file /Users/alex/ros_ws/visualization_tutorials/rviz_plugin_tutorials/build/src/moc_drive_widget.cxx; assuming that it is in /Users/alex/ros_ws/visualization_tutorials/rviz_plugin_tutorials and will be generated later
[rosbuild] Couldn't find source file /Users/alex/ros_ws/visualization_tutorials/rviz_plugin_tutorials/build/src/moc_imu_display.cxx; assuming that it is in /Users/alex/ros_ws/visualization_tutorials/rviz_plugin_tutorials and will be generated later
[rosbuild] Couldn't find source file /Users/alex/ros_ws/visualization_tutorials/rviz_plugin_tutorials/build/src/moc_plant_flag_tool.cxx; assuming that it is in /Users/alex/ros_ws/visualization_tutorials/rviz_plugin_tutorials and will be generated later
[rosbuild] Couldn't find source file /Users/alex/ros_ws/visualization_tutorials/rviz_plugin_tutorials/build/src/moc_teleop_panel.cxx; assuming that it is in /Users/alex/ros_ws/visualization_tutorials/rviz_plugin_tutorials and will be generated later
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/alex/ros_ws/visualization_tutorials/rviz_plugin_tutorials/build
cd build && make -j -l8
Scanning dependencies of target rospack_genmsg_libexe
[ 0%] Built target rospack_genmsg_libexe
Scanning dependencies of target rosbuild_precompile
[ 0%] Built target rosbuild_precompile
[ 7%] Generating src/moc_teleop_panel.cxx
[ 15%] Generating src/moc_plant_flag_tool.cxx
[ 23%] Generating src/moc_imu_display.cxx
[ 30%] Generating src/moc_drive_widget.cxx
Scanning dependencies of target rviz_plugin_tutorials
[ 38%] Building CXX object CMakeFiles/rviz_plugin_tutorials.dir/src/drive_widget.cpp.o
/Users/alex/ros_ws/visualization_tutorials/rviz_plugin_tutorials/src/drive_widget.cpp:113:23: error: variable length array of non-POD element type 'QPointF'
QPointF left_track[ step_count ];
^
/Users/alex/ros_ws/visualization_tutorials/rviz_plugin_tutorials/src/drive_widget.cpp:114:24: error: variable length array of non-POD element type 'QPointF'
QPointF right_track[ step_count ];
^
In file included from /Users/alex/ros_ws/visualization_tutorials/rviz_plugin_tutorials/src/drive_widget.cpp:34:
In file included from /usr/local/Cellar/qt/4.8.4/include/QtGui/QMouseEvent:1:
In file included from /usr/local/Cellar/qt/4.8.4/include/QtGui/qevent.h:52:
/usr/local/Cellar/qt/4.8.4/include/QtGui/qmime.h:119:10: warning: private field 'type' is not used [-Wunused-private-field]
char type;
^
1 warning and 2 errors generated.
make[3]: *** [CMakeFiles/rviz_plugin_tutorials.dir/src/drive_widget.cpp.o] Error 1
make[2]: *** [CMakeFiles/rviz_plugin_tutorials.dir/all] Error 2
make[1]: *** [all] Error 2
-------------------------------------------------------------------------------}
[ rosmake ] Output from build of package rviz_plugin_tutorials written to:
[ rosmake ] /Users/alex/.ros/rosmake/rosmake_output-20130302-173409/rviz_plugin_tutorials/build_output.log
[rosmake-3] Finished <<< rviz_plugin_tutorials [FAIL] [ 25.69 seconds ]
I do not have the full error log, but perhaps someone could update the ticket with that.
I've modified myviz.cpp here https://github.com/lucasw/visualization_tutorials/tree/set-view-controller-test and using a custom view controller appears to work as far as rendering the grid from a default location, but the mouse is unable to rotate or translate the view.
Is there something else I need to do to hook up the mouse? Is it still owned by the old default view controller somehow?
Also on answers: http://answers.ros.org/question/256100/rviz-setviewcontroller-doesnt-hook-up-mouse-events
Hi, my goal is to control a robot arm by placing interactive markers over the joints. I'd like to express each interactive markers w.r.t. the parent joint, instead of the base_link
but I got the following error from Rviz:
Cannot get tf info for init message with sequence number 1. Error: "J1" passed to lookupTransform argument target_frame does not exist.
Currently it's still groovy-devel and might as well be updated.
When I am trying to run myviz.py
file inside rviz_python_tutorial
package using
rosrun rviz_python_tutorial myviz.py
command, I am getting below error:
ImportError: No module named librviz_shiboken
.
Do I have to install some libraries in order to import librviz_shiboken
? You help/guidance will be much appreciated. Thanks!
I was starting to get myself familiar with librviz from python and trying the example in rviz_python_tutorial just crashes with segmentation fault.
I do:
roscd rviz_python_tutorial
(To be in the folder where config.myviz
is, which will be loaded.)
Then:
rosrun rviz_python_tutorial myviz.py
And I get the output:
[ INFO] [1437573701.223369341]: Stereo is NOT SUPPORTED
[ INFO] [1437573701.223440384]: OpenGl version: 3 (GLSL 1.3).
Segmentation fault (core dumped)
After a brief splash of the window.
I tried on two machines with ROS hydro and got the same behaviour. With Rviz 1.10.19. It crashes just after myviz.show().
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.