Quantcast
Channel: ROS Answers: Open Source Q&A Forum - RSS feed
Viewing all 255 articles
Browse latest View live

Trouble installing rqt features (from source) in Raspbian Jessie in a Minimal ROS Installation.

$
0
0
Hello guys, I have been trying to install rqt features (such as `rqt_plot` and `rqt_graph`) in a `Minimal` ROS installation (not the full desktop) my Raspberry Pi 2 from source. I have been resolving dependencies all night but now I am stuck. When the package `rqt_gui_cpp` is being built with `catkin_make` , the following error keeps creeping up. What should i do ? -- +++ processing catkin package: 'qt_gui_cpp' -- ==> add_subdirectory(qt_gui_core/qt_gui_cpp) -- Boost version: 1.55.0 -- Found the following Boost libraries: -- filesystem -- system CMake Error at qt_gui_core/qt_gui_cpp/src/qt_gui_cpp/CMakeLists.txt:3 (find_package): By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Widgets", but CMake did not find one. Could not find a package configuration file provided by "Qt5Widgets" with any of the following names: Qt5WidgetsConfig.cmake qt5widgets-config.cmake Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set "Qt5Widgets_DIR" to a directory containing one of the above files. If "Qt5Widgets" provides a separate development package or SDK, be sure it has been installed. -- Configuring incomplete, errors occurred! See also "/home/pi/ros_catkin_ws/build/CMakeFiles/CMakeOutput.log". See also "/home/pi/ros_catkin_ws/build/CMakeFiles/CMakeError.log". Makefile:7390: recipe for target 'cmake_check_build_system' failed make: *** [cmake_check_build_system] Error 1 Invoking "make cmake_check_build_system" failed

How can I run rqt_plot with topics from launchfile?

$
0
0
I have the following launchfile. I expected that `rqt_plot` would be running with the topics that I specified in the `args` field. But no, it runs with whatever topic it was running when it was launched the previous time. How can I make `rqt_plot` run from launchfile with the topics of my choice?

removing rqt_gui.ini causes image_view segfault

$
0
0
I have written a simple node that captures the videostream of an USB webcam using OpenCV and publishes the frames. So far, it always worked to display the frames in the rqt_image_view plugin. However, when I remove the `~/.config/ros.org/rqt_gui.ini` file and rebuild the catkin workspace, the plugin crashes with a segfault as soon as I select the frame topic. Strange enough, if I revert to the old `rqt_gui.ini` file (lucky that I made a copy of before removing it), the image_view plugin works again. I suspect that this is a problem of OpenCV 2 and 3, but I can not infer the relation to the `rqt_gui.ini` file. Does anybody have an idea, what is going on here?

Generic UI plugin for rqt?

$
0
0
Hello all, I have opened this topci to do some brainstorming before start implementing a new plugin. Problem: I often find manipulating/monitoring topics with the Topic monitor and the Message publisher plugin no so intuitive. For e.g. when adjusting something servo driven mechanical structure using a knob widget is more easy and straightforward than typing in a number to the Message publisher. Also visualizing a position of something sometimes more handful with a dial/slider. Building a separate plugin each time is a little bit problematic. Proposal: I would like to create a plugin which would have a file browse input and an interval spinbox (ms). I think the Qt Designer is a pretty good tool to create user interfaces pretty quickly. The plugin would be able to load the designed ui files. The Qt has a QUiLoader class to acheieve this functionality:http://doc.qt.io/qt-4.8/quiloader.html In Qt designer it is possible to add further properties to the widgets. There would be two dedicated property names: the publish_topic and the subscribe_topic. The widget tree would be traversed by recursively iterating through the children() method and if one of these properties found the widget would be connected to ros through the proper signals/slots. The proper slots/signals are dependent on the widget class, so some QMetaObject magic will be required, but it can be implemented. If you have any ideas recommendations please let me know! Thanks in advance!

Import issues in ROS Kinetic & RQT

$
0
0
I am writing an RQT plugin and when I attempt to build it there are no warnings but when the system attempts to load the plugin I get the following output: It seems like it is missing the QWidget in the python_qt_binding RosPluginProvider.load(juno_safe_button/juno_safe_button) exception raised in __builtin__.__import__(juno_safe_button.juno_safe_button, [JunoSafeButton]): Traceback (most recent call last): File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_gui/ros_plugin_provider.py", line 77, in load module = __builtin__.__import__(attributes['module_name'], fromlist=[attributes['class_from_class_type']], level=0) File "/home/mroscoe/juno_ws/install/lib/python2.7/dist-packages/juno_safe_button/juno_safe_button.py", line 7, in from python_qt_binding.QtGui import QWidget ImportError: cannot import name QWidget PluginManager._load_plugin() could not load plugin "juno_safe_button/juno_safe_button": Traceback (most recent call last): File "/opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui/plugin_handler.py", line 99, in load self._load() File "/opt/ros/kinetic/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/kinetic/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/kinetic/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/kinetic/lib/python2.7/dist-packages/rqt_gui_py/ros_py_plugin_provider.py", line 60, in load return super(RosPyPluginProvider, self).load(plugin_id, plugin_context) File "/opt/ros/kinetic/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/kinetic/lib/python2.7/dist-packages/rqt_gui/ros_plugin_provider.py", line 83, in load raise e ImportError: cannot import name QWidget

RQT Plugin Crashes with Kinetic Kame

$
0
0
I recently upgraded to Kinetic Kame from Jade, and a RQT plugin I have written with C++ crashes on every startup. I get the standard message that a process has died, but I do not see anything in the log file. I put ROS_ERROR() messages in the plugin's constructor, but I do not see any output from them. I'm not sure how to attach gdb to the process since it gets launched through a Python script. Does anyone have any suggestions on how to track down the cause of this problem? Edit: Using Dirk's suggestion I was able to see more information on the crash. I see the following error: Thread 1 "python" received signal SIGSEGV, Segmentation fault. 0x00007fffbe4bc5a4 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 I then run backtrace and get the following. I'm not sure what to do next. #0 0x00007fffbe4bc5a4 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #1 0x00007ffff7de74ea in call_init (l=, argc=argc@entry=4, argv=argv@entry=0x7fffffffd8c8, env=env@entry=0xf80890) at dl-init.c:72 #2 0x00007ffff7de75fb in call_init (env=0xf80890, argv=0x7fffffffd8c8, argc=4, l=) at dl-init.c:30 #3 _dl_init (main_map=main_map@entry=0x13f48f0, argc=4, argv=0x7fffffffd8c8, env=0xf80890) at dl-init.c:120 #4 0x00007ffff7dec712 in dl_open_worker (a=a@entry=0x7fffffffada0) at dl-open.c:575 #5 0x00007ffff7de7394 in _dl_catch_error ( objname=objname@entry=0x7fffffffad90, errstring=errstring@entry=0x7fffffffad98, mallocedp=mallocedp@entry=0x7fffffffad8f, operate=operate@entry=0x7ffff7dec300 , args=args@entry=0x7fffffffada0) at dl-error.c:187 #6 0x00007ffff7debbd9 in _dl_open ( file=0x15a1870 "/home/danthony/ros_workspaces/nimbus_asctec/devel/lib//libnimbus_gui.so", mode=-2147483391, caller_dlopen=0x7fffd118d862 , std::allocator> const&)+82>, nsid=-2, argc=, argv=, env=0xf80890) at dl-open.c:660 #7 0x00007ffff75edf09 in dlopen_doit (a=a@entry=0x7fffffffafd0) at dlopen.c:66 ---Type to continue, or q to quit--- #8 0x00007ffff7de7394 in _dl_catch_error (objname=0xa62dd0, errstring=0xa62dd8, mallocedp=0xa62dc8, operate=0x7ffff75edeb0 , args=0x7fffffffafd0) at dl-error.c:187 #9 0x00007ffff75ee571 in _dlerror_run (operate=operate@entry=0x7ffff75edeb0 , args=args@entry=0x7fffffffafd0) at dlerror.c:163 #10 0x00007ffff75edfa1 in __dlopen (file=, mode=) at dlopen.c:87 #11 0x00007fffd118d862 in Poco::SharedLibraryImpl::loadImpl(std::__cxx11::basic_string, std::allocator> const&) () from /usr/lib/libPocoFoundation.so.9 #12 0x00007fffd118dd80 in Poco::SharedLibrary::SharedLibrary(std::__cxx11::basic_string, std::allocator> const&) () from /usr/lib/libPocoFoundation.so.9 #13 0x00007fffd1c754a9 in class_loader::class_loader_private::loadLibrary(std::__cxx11::basic_string, std::allocator> const&, class_loader::ClassLoader*) () from /opt/ros/kinetic/lib/libclass_loader.so #14 0x00007fffd1c6f9ca in class_loader::ClassLoader::loadLibrary() () from /opt/ros/kinetic/lib/libclass_loader.so #15 0x00007fffd1c6fbd8 in class_loader::ClassLoader::ClassLoader(std::__cxx11::basic_string, std::allocator> const&, bool) () from /opt/ros/kinetic/lib/libclass_loader.so #16 0x00007fffd1c796a1 in class_loader::MultiLibraryClassLoader::loadLibrary(std::__cxx11::basic_string, std::allocator> const&) () from /opt/ros/kinetic/lib/libclass_loader.so #17 0x00007fffcea6123f in pluginlib::ClassLoader::loadLibraryForClass(std::__cxx11::basic_string, std::allocator> const&) () from /opt/ros/kinetic/lib//librqt_gui_cpp.so #18 0x00007fffcea65c6c in pluginlib::ClassLoader::createInstance(std::__cxx11::basic_string, std::allocator> const&) () from /opt/ros/kinetic/lib//librqt_gui_cpp.so #19 0x00007fffcea5b688 in rqt_gui_cpp::NodeletPluginProvider::create_instance(std::__cxx11::basic_string, std::allocator> const&) () from /opt/ros/kinetic/lib//librqt_gui_cpp.so #20 0x00007fffcea5b7da in boost::detail::function::function_obj_invoker1, boost::_mfi::mf1, rqt_gui_cpp::NodeletPluginProvider, std::__cxx11::basic_string, std::allocator> const&>, boost::_bi::list2, boost::arg<1>>>, boost::shared_ptr, std::__cxx11::basic_string, std::allocator> const&>::invoke(boost::detail::function::function_buffer&, std::__cxx11::basic_string, std::allocator> const&) () from /opt/ros/kinetic/lib//librqt_gui_cpp.so #21 0x00007fffce809266 in nodelet::Loader::load(std::__cxx11::basic_string, std::allocator> const&, std::__cxx11::basic_string, std::allocator> const&, std::map, std::allocator>, std::__cxx11::basic_string, std::allocator>, std::less, std::allocator>>, std::allocator, std::allocator> const, std::__cxx11::basic_string, std::allocator>>>> const&, std::vector, std::allocator>, std::allocator, std::allocator>>> const&) () from /opt/ros/kinetic/lib/libnodeletlib.so #22 0x00007fffcea5b181 in rqt_gui_cpp::NodeletPluginProvider::create_plugin(std::__cxx11::basic_string, std::allocator> const&, qt_gui_cpp::PluginContext*) () from /opt/ros/kinetic/lib//librqt_gui_cpp.so #23 0x00007fffcea60a46 in qt_gui_cpp::RosPluginlibPluginProvider::load_explicit_type(QString const&, qt_gui_cpp::PluginContext*) () from /opt/ros/kinetic/lib//librqt_gui_cpp.so #24 0x00007fffd2314d5e in qt_gui_cpp::CompositePluginProvider::load_plugin(QString const&, qt_gui_cpp::PluginContext*) () from /opt/ros/kinetic/lib/libqt_gui_cpp.so #25 0x00007fffd2314d5e in qt_gui_cpp::CompositePluginProvider::load_plugin(QString const&, qt_gui_cpp::PluginContext*) () from /opt/ros/kinetic/lib/libqt_gui_cpp.so #26 0x00007fffd2572776 in ?? () from /opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui_cpp/libqt_gui_cpp_sip.so #27 0x00007fffd2316445 in qt_gui_cpp::PluginBridge::load_plugin(qt_gui_cpp::PluginProvider*, QString const&, qt_gui_cpp::PluginContext*) () from /opt/ros/kinetic/lib/libqt_gui_cpp.so #28 0x00007fffd2575994 in ?? () from /opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui_cpp/libqt_gui_cpp_sip.so #29 0x00000000004c4d5a in PyEval_EvalFrameEx () #30 0x00000000004ca39f in PyEval_EvalFrameEx () #31 0x00000000004ca39f in PyEval_EvalFrameEx () #32 0x00000000004ca39f in PyEval_EvalFrameEx () #33 0x00000000004ca39f in PyEval_EvalFrameEx () #34 0x00000000004ca39f in PyEval_EvalFrameEx () #35 0x00000000004c2e05 in PyEval_EvalCodeEx () #36 0x00000000004ca6b5 in PyEval_EvalFrameEx () #37 0x00000000004c2e05 in PyEval_EvalCodeEx () #38 0x00000000004ca6b5 in PyEval_EvalFrameEx () #39 0x00000000004c2e05 in PyEval_EvalCodeEx () #40 0x00000000004ca6b5 in PyEval_EvalFrameEx () #41 0x00000000004c2e05 in PyEval_EvalCodeEx () #42 0x00000000004ca6b5 in PyEval_EvalFrameEx () #43 0x00000000004c2e05 in PyEval_EvalCodeEx () #44 0x00000000004ca6b5 in PyEval_EvalFrameEx () #45 0x00000000004c2e05 in PyEval_EvalCodeEx () #46 0x00000000004ca6b5 in PyEval_EvalFrameEx () #47 0x00000000004c2e05 in PyEval_EvalCodeEx () #48 0x00000000004c2ba9 in PyEval_EvalCode () #49 0x00000000004f20ef in ?? () #50 0x00000000004eca72 in PyRun_FileExFlags () #51 0x00000000004eb1f1 in PyRun_SimpleFileExFlags ()

How to convert Rosbag Pointcloud2 to Mp4

$
0
0
So I have a bunch of rosbag files that only contain a pointcloud2 topic. I need to be play through these, and have accurate times for them, because I'm using them to tag data. This means the typical way of playing them back through rviz doesn't work for what I need. I thought I had a solution which was to use the convert_pointcloud_to_image command, and output the image to a new stream, and then use rqt to record that stream. The problem is that this isn't playing with the real times that the video should have, or in other words, it has an inconsistent frames per second, which means the timestamps are meaningless. So what I'm trying to do now is extract images from this stream using the image_view extract_images command, and the pass those images through mencoder to convert them to a video. The problem I'm now having is that my original rosbag file says it has 16793 messages, which means I need at least that many images to be created if I'm not mistaken; however, when I run the extract_images command on the converted stream, no matter what I put in the fps parameter, it still only produces somewhere on the range of 5000 images, and I'm not sure why. Does anyone know what I'm doing wrong here perhaps? Is there a better way to do what I'm trying to achieve?

Message files not being generated properly with catkin_make

$
0
0
I have a workspace with 3 packages: an rqt plugin written in C++ (package A), a package with two custom messages (package B), and another C++ package (package C). Packages A and C both rely on the custom messages defined in package B. To ensure that the dependencies for the executables in packages A and C are met, I have added the following line for each applicable executable: `add_dependencies(executable_name ${catkin_EXPORTED_TARGETS}) ` Unfortunately, when I try to compile using `catkin_make`, I get an error saying that the header file for the messages don't exist. I'm fairly certain this error is coming from package A, the rqt plugin, since doing a catkin_make on package C alone generates no errors and successfully compiles the header files for the messages before trying to compile the executables (and catkin_make on the entire workspace works just fine after that since the header files have already been generated). How do I go about telling catkin that the rqt plugin depends on the message files? I already have the message package name listed in the CMakeLists.txt file for the plugin as `find_package(catkin REQUIRED COMPONENTS package_b)` but that doesn't resolve the issue. I'm currently compiling in ROS Kinetic but this issue existed in Indigo as well before I upgraded. Any help would be appreciated. ---------- ***Update*: **CMakeLists.txt files** Package A: cmake_minimum_required(VERSION 2.8.3) project(rqt_gcs) find_package(catkin REQUIRED COMPONENTS query_msgs geometry_msgs mavros mavros_msgs roscpp rqt_gui rqt_gui_cpp roslib sensor_msgs std_msgs tf cv_bridge image_transport ) find_package(Qt4 COMPONENTS QtCore QtGui QtSvg REQUIRED) find_package(Boost REQUIRED COMPONENTS thread) find_package(OpenCV REQUIRED) include(${QT_USE_FILE}) include(EnableCXX11) include(MavrosMavlink) set(rqt_gcs_SRCS src/rqt_gcs/simple_gcs.cpp src/rqt_gcs/simple_control.cpp src/FIS/qfi_PFD.cpp src/FIW/LayoutSquare.cpp src/FIW/WidgetPFD.cpp src/rqt_image_view/ratio_layouted_frame.cpp ) set(rqt_gcs_HDRS include/rqt_gcs/simple_gcs.h include/FIS/qfi_PFD.h include/FIW/LayoutSquare.h include/FIW/WidgetPFD.h include/rqt_image_view/ratio_layouted_frame.h ) set(rqt_gcs_UIS resources/gcs.ui resources/AccessPointsMenu.ui resources/AccessPointStats.ui resources/MissionSelect.ui resources/MissionCancel.ui resources/MissionProgress.ui resources/UavStat.ui resources/UavQuestion.ui resources/QuadStats.ui resources/WidgetPFD.ui resources/PFDWidget_custom.ui resources/WidgetMain.ui resources/UAVCondition.ui resources/ImageView.ui resources/MissionConfirm.ui resources/PictureMsg.ui ) SET(rqt_gcs_RCCS resources/qfi.qrc) set(rqt_gcs_INCLUDE_DIRECTORIES include ${CMAKE_CURRENT_BINARY_DIR} ) catkin_python_setup() catkin_package( INCLUDE_DIRS ${rqt_gcs_INCLUDE_DIRECTORIES} LIBRARIES ${PROJECT_NAME} CATKIN_DEPENDS roscpp rqt_gui rqt_gui_cpp std_msgs sensor_msgs ) include_directories(include ${Qt4_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS} ) add_definitions(${Qt4_DEFINITIONS}) qt4_add_resources(rqt_gcs_RCC_SRCS ${rqt_gcs_RCCS}) qt4_wrap_cpp(rqt_gcs_MOCS ${rqt_gcs_HDRS}) qt4_wrap_ui(rqt_gcs_UIS_H ${rqt_gcs_UIS}) include_directories(${rqt_gcs_INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS} ${catkin_INCLUDE_DIRS}) # Declare executables with source files add_executable(simple_control src/rqt_gcs/simple_control.cpp) add_executable(gps_publisher src/rqt_gcs/gps_publisher.cpp) add_executable(gps_demo src/rqt_gcs/gps_demo.cpp) add_executable(connection_manager src/rqt_gcs/connection_manager.cpp) add_executable(safe_mocap src/rqt_gcs/safe_mocap.cpp) add_dependencies(simple_control ${catkin_EXPORTED_TARGETS}) add_dependencies(gps_demo ${catkin_EXPORTED_TARGETS}) add_library(${PROJECT_NAME} ${rqt_gcs_SRCS} ${rqt_gcs_MOCS} ${rqt_gcs_UIS_H} ${rqt_gcs_RCC_SRCS}) #Specify libraries against which to link target_link_libraries(simple_control ${catkin_LIBRARIES}) target_link_libraries(gps_publisher ${catkin_LIBRARIES}) target_link_libraries(gps_demo ${catkin_LIBRARIES}) target_link_libraries(connection_manager ${catkin_LIBRARIES}) target_link_libraries(safe_mocap ${catkin_LIBRARIES}) target_link_libraries( ${PROJECT_NAME} ${catkin_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTSVG_LIBRARY} ${OpenCV_LIBRARIES} ) find_package(class_loader) class_loader_hide_library_symbols(${PROJECT_NAME}) install(FILES plugin.xml DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ) install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} ) install(PROGRAMS scripts/rqt_gcs DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} ) install(PROGRAMS scripts/rqt_gcs DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) install(DIRECTORY include/${PROJECT_NAME}/ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} ) Package B: cmake_minimum_required(VERSION 2.8.3) project(query_msgs) find_package(catkin REQUIRED COMPONENTS message_generation sensor_msgs geometry_msgs) include_directories(include) add_message_files( DIRECTORY msg FILES Door.msg Target.msg) generate_messages(DEPENDENCIES sensor_msgs geometry_msgs) catkin_package(CATKIN_DEPENDS message_runtime sensor_msgs geometry_msgs) ---------- **Package.xml files** Package A: rqt_gcs0.0.0The rqt_gcs packagehovigTODOcatkinroscpprqt_guirqt_gui_cppmav_controlstd_msgssensor_msgsquery_msgsroscpprqt_guirqt_gui_cpprostopicstd_msgsmav_controlsensor_msgsquery_msgs Package B: query_msgs0.0.0The query_msgs packageserlTODOcatkinmessage_generationsensor_msgsgeometry_msgsmessage_runtimesensor_msgsgeometry_msgs ---------- **The compile output** (Error is where it says `No such file or directory`) [ 0%] Built target sensor_msgs_generate_messages_eus [ 0%] Built target geometry_msgs_generate_messages_eus [ 0%] Built target _query_msgs_generate_messages_check_deps_Door [ 0%] Built target sensor_msgs_generate_messages_nodejs [ 0%] Built target geometry_msgs_generate_messages_nodejs [ 0%] Built target _query_msgs_generate_messages_check_deps_Target [ 0%] Built target geometry_msgs_generate_messages_lisp [ 0%] Built target sensor_msgs_generate_messages_lisp [ 0%] Built target geometry_msgs_generate_messages_py [ 0%] Built target sensor_msgs_generate_messages_py [ 0%] Built target sensor_msgs_generate_messages_cpp [ 0%] Built target geometry_msgs_generate_messages_cpp [ 4%] Built target stereo_driver [ 7%] Built target camera_publisher [ 10%] Built target stereo_publisher [ 12%] Built target camera_subscriber [ 12%] Built target std_msgs_generate_messages_py [ 12%] Built target stereo_msgs_generate_messages_eus [ 12%] Built target std_msgs_generate_messages_cpp [ 12%] Built target std_msgs_generate_messages_eus [ 12%] Built target std_msgs_generate_messages_nodejs [ 12%] Built target std_msgs_generate_messages_lisp [ 12%] Built target stereo_msgs_generate_messages_py [ 12%] Built target rosgraph_msgs_generate_messages_cpp [ 12%] Built target roscpp_generate_messages_py [ 12%] Built target rosgraph_msgs_generate_messages_eus [ 12%] Built target rosgraph_msgs_generate_messages_nodejs [ 12%] Built target roscpp_generate_messages_cpp [ 12%] Built target rosgraph_msgs_generate_messages_lisp [ 12%] Built target rosgraph_msgs_generate_messages_py [ 12%] Built target roscpp_generate_messages_nodejs [ 12%] Built target stereo_msgs_generate_messages_cpp [ 12%] Built target stereo_msgs_generate_messages_nodejs [ 12%] Built target roscpp_generate_messages_lisp [ 12%] Built target roscpp_generate_messages_eus [ 12%] Built target stereo_msgs_generate_messages_lisp [ 15%] Built target object_avoidance [ 18%] Built target safe_mocap [ 20%] Building CXX object rqt_gcs/CMakeFiles/rqt_gcs.dir/src/rqt_gcs/simple_gcs.cpp.o [ 22%] Built target connection_manager [ 24%] Building CXX object rqt_gcs/CMakeFiles/rqt_gcs.dir/src/rqt_gcs/simple_control.cpp.o [ 25%] Building CXX object rqt_gcs/CMakeFiles/gps_publisher.dir/src/rqt_gcs/gps_publisher.cpp.o [ 25%] Built target tf_generate_messages_py [ 25%] Built target nav_msgs_generate_messages_lisp [ 25%] Built target nodelet_generate_messages_nodejs [ 25%] Built target actionlib_generate_messages_py [ 25%] Built target nav_msgs_generate_messages_nodejs [ 25%] Built target tf2_msgs_generate_messages_cpp [ 25%] Built target actionlib_generate_messages_eus [ 25%] Built target tf_generate_messages_cpp [ 25%] Built target actionlib_generate_messages_cpp [ 25%] Built target tf2_msgs_generate_messages_py [ 25%] Built target actionlib_msgs_generate_messages_nodejs [ 25%] Built target actionlib_msgs_generate_messages_lisp [ 25%] Built target diagnostic_msgs_generate_messages_eus [ 27%] Building CXX object rqt_gcs/CMakeFiles/rqt_gcs.dir/src/FIS/qfi_PFD.cpp.o In file included from /home/karanvir/Documents/lcar-bot/src/rqt_gcs/src/rqt_gcs/simple_control.cpp:1:0: /home/karanvir/Documents/lcar-bot/src/rqt_gcs/include/rqt_gcs/simple_control.h:33:29: fatal error: query_msgs/Door.h: No such file or directory compilation terminated. rqt_gcs/CMakeFiles/rqt_gcs.dir/build.make:208: recipe for target 'rqt_gcs/CMakeFiles/rqt_gcs.dir/src/rqt_gcs/simple_control.cpp.o' failed make[2]: *** [rqt_gcs/CMakeFiles/rqt_gcs.dir/src/rqt_gcs/simple_control.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /home/karanvir/Documents/lcar-bot/src/rqt_gcs/include/rqt_gcs/simple_gcs.h:7:0, from /home/karanvir/Documents/lcar-bot/src/rqt_gcs/src/rqt_gcs/simple_gcs.cpp:1: /home/karanvir/Documents/lcar-bot/src/rqt_gcs/include/rqt_gcs/simple_control.h:33:29: fatal error: query_msgs/Door.h: No such file or directory compilation terminated. rqt_gcs/CMakeFiles/rqt_gcs.dir/build.make:184: recipe for target 'rqt_gcs/CMakeFiles/rqt_gcs.dir/src/rqt_gcs/simple_gcs.cpp.o' failed make[2]: *** [rqt_gcs/CMakeFiles/rqt_gcs.dir/src/rqt_gcs/simple_gcs.cpp.o] Error 1 [ 27%] Built target diagnostic_msgs_generate_messages_nodejs [ 27%] Built target mavros_msgs_generate_messages_cpp [ 27%] Built target actionlib_msgs_generate_messages_py [ 27%] Built target actionlib_generate_messages_nodejs [ 27%] Built target actionlib_msgs_generate_messages_cpp [ 27%] Built target nav_msgs_generate_messages_cpp [ 27%] Built target nodelet_generate_messages_py [ 27%] Built target diagnostic_msgs_generate_messages_cpp [ 27%] Built target tf_generate_messages_nodejs [ 27%] Built target nav_msgs_generate_messages_py [ 27%] Built target nav_msgs_generate_messages_eus [ 27%] Built target tf2_msgs_generate_messages_lisp [ 27%] Built target diagnostic_msgs_generate_messages_py [ 27%] Built target tf_generate_messages_lisp [ 27%] Built target mavros_msgs_generate_messages_eus [ 27%] Built target mavros_msgs_generate_messages_lisp [ 27%] Built target tf_generate_messages_eus [ 27%] Built target mavros_msgs_generate_messages_py [ 27%] Built target tf2_msgs_generate_messages_eus [ 27%] Built target nodelet_generate_messages_cpp [ 27%] Built target nodelet_generate_messages_lisp [ 27%] Built target mavros_msgs_generate_messages_nodejs [ 27%] Built target bond_generate_messages_cpp CMakeFiles/Makefile2:2160: recipe for target 'rqt_gcs/CMakeFiles/rqt_gcs.dir/all' failed make[1]: *** [rqt_gcs/CMakeFiles/rqt_gcs.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 27%] Built target diagnostic_msgs_generate_messages_lisp [ 27%] Built target bond_generate_messages_eus [ 28%] Linking CXX executable /home/karanvir/Documents/lcar-bot/devel/lib/rqt_gcs/gps_publisher [ 28%] Built target gps_publisher Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 Base path: /home/karanvir/Documents/lcar-bot Source space: /home/karanvir/Documents/lcar-bot/src Build space: /home/karanvir/Documents/lcar-bot/build Devel space: /home/karanvir/Documents/lcar-bot/devel Install space: /home/karanvir/Documents/lcar-bot/install #### #### Running command: "make cmake_check_build_system" in "/home/karanvir/Documents/lcar-bot/build" #### #### #### Running command: "make -j4 -l4" in "/home/karanvir/Documents/lcar-bot/build" #### Invoking "make -j4 -l4" failed

How can I do a GUI ?

$
0
0
Hi, I am working on a project to create a GUI which would interact with a robot using ROS. It's something relatively new for me. I have done the beginner tutorial for ROS. Then I have seen that maybe I could create a GUI with Qt so I have started a tutorial to use this framework. But I have seen that there is also the software framework rqt of ROS that could do a GUI. I don't understand if I can still do my GUI on Qt and then imported it in ROS to use it. Because I have tried to make the tutorial of rqt but I don't understant anything :/ I did not understand the plugins and how I am supposed to create a GUI with rqt reading the tutorial. Qt seems easier for me to use. Can someone tell me if I can use Qt ? Or if not can someone help me to understand what I should do with rqt ? (or explain me the tutorial because I don't find where I should start and what to do with the tutorial of rqt). Thank you, Pierre. EDIT : Actually, I have already a program using ROS which controls my robot. What I want is to create a GUI which would enable me to change graphically the parameters of the robot for example.

How setting parameters of a ROS program through a GUI ?

$
0
0
Hi, I am using ROS and I have a package controlling a robot. Now I would like to create a GUI which would enable me to modify the parameters of my code. How can I do that ? I would also like to design the GUI but that's ok I've made tutorial of Qtcreator. I have already made researches about rqt, creating a rqt plugin, using Qtcreator, Qtdesigner... I have also look about [Qt app template](http://wiki.ros.org/qt_create/Tutorials/Qt%20App%20Templates). I also found things about Dynamic reconfigure plugin but it's not what I want. But the thing is that I can't find anywhere explanations to help me to do what I want. I don't know how the code on Qt could interact with the parameters of my package. EDIT : My problem is quite similar with [this one](http://answers.ros.org/question/199693/publishingsubscribing-fromto-qt-gui-to-ros/) but there is no answer. EDIT : Nobody can help me ?

RQT Service Caller in a namespace

$
0
0
Is there a way to invoke the `rqt_service_caller` allowing to call a subset of the exsisting services? For example, could I limit the services that can be called to a specific namespace? I have tried invoking `rqt_service_caller` within a namespace of my launchfile, but all the services are available. The list of the services is long, and this makes the use of the interface a little unpractical.

rqt_graph rqt_tf_tree issue | ros indigo

$
0
0
Hello all, I am facing an issue with the packages rqt_graph and rqt_tf_tree. When I run the mentioned packages I get the following error: PluginHandlerDirect._restore_settings() plugin "rqt_graph/RosGraph#0" raised an exception: Traceback (most recent call last): File "/opt/ros/indigo/lib/python2.7/dist-packages/qt_gui/plugin_handler_direct.py", line 116, in _restore_settings self._plugin.restore_settings(plugin_settings_plugin, instance_settings_plugin) File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_graph/ros_graph.py", line 202, in restore_settings self._refresh_rosgraph() File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_graph/ros_graph.py", line 226, in _refresh_rosgraph self._update_graph_view(self._generate_dotcode()) File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_graph/ros_graph.py", line 259, in _update_graph_view self._redraw_graph_view() File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_graph/ros_graph.py", line 292, in _redraw_graph_view same_label_siblings=True) File "/opt/ros/indigo/lib/python2.7/dist-packages/qt_dotgraph/dot_to_qt.py", line 254, in dotcode_to_qt_items graph.nodes_iter = graph.get_node_list AttributeError: 'list' object has no attribute 'get_node_list' Any clue on how can I fix this problem?

How to connect a signal to a publisher

$
0
0
Hi, I am using a rqt plugin made with the [tutorial](http://wiki.ros.org/rqt/Tutorials/Create%20your%20new%20rqt%20plugin) and I have made a simple GUI composed with a slider and a button. I would like to connect the button, to send the value of the slider to a message. This message which contents a integer, would be publish when the button is clicked. Then in another file I have made a "listener" based on the tutorial and I would like to see on my screen the integer. I can't catkin_make it because I have many errors. I know that I am mixing GUI and ros things, and signals and messages, I am lost. Can someone helpme with that ? This is my header file : #ifndef rqt_mypkg__my_plugin_H #define rqt_mypkg__my_plugin_H #include #include #include #include #include #include #include "std_msgs/String.h" #include namespace rqt_mypkg { class MyPlugin : public rqt_gui_cpp::Plugin { Q_OBJECT public: MyPlugin(); virtual void initPlugin(qt_gui_cpp::PluginContext& context); virtual void shutdownPlugin(); virtual void saveSettings(qt_gui_cpp::Settings& plugin_settings, qt_gui_cpp::Settings& instance_settings) const; virtual void restoreSettings(const qt_gui_cpp::Settings& plugin_settings, const qt_gui_cpp::Settings& instance_settings); // Comment in to signal that the plugin has a way to configure it //bool hasConfiguration() const; //void triggerConfiguration(); private: Ui::MyPluginWidget ui_; QWidget* widget_; ros::NodeHandle ros_node_handle; ros::Publisher my_publisher; ros::Subscriber sub; public Q_SLOTS: virtual void publier(); }; } // namespace #endif // rqt_mypkg_my_plugin_H This is my cpp file : (I know that the thing I've done with the "dac=0 and dac=1" is not working and stupid but I wanted to test it.) #include "rqt_mypkg/my_plugin.h" #include #include "ros/ros.h" #include #include "std_msgs/String.h" #include #include int dac= 0; namespace rqt_mypkg { MyPlugin::MyPlugin() : rqt_gui_cpp::Plugin() , widget_(0) { setObjectName("MyPlugin"); } void MyPlugin::initPlugin(qt_gui_cpp::PluginContext& context) { QStringList argv = context.argv(); // create QWidget widget_ = new QWidget(); ui_.setupUi(widget_); // add widget to the user interface context.addWidget(widget_); connect(ui_.m_bouton, SIGNAL(clicked()), this, SLOT(publier())); } void MyPlugin::publier () { dac = 1; } int main(int argc, char **argv) { ros::init(argc, argv,"envoyeur"); ros::NodeHandle ros_node_handle; ros::Publisher my_publisher = ros_node_hand le.advertise("chatter", 1000); ros::Rate loop_rate(1); int count = 0; while(ros::ok()) { std_msgs::Int8 msg; std::stringstream ss; msg.data = ui_.m_hSlider.display(int); ROS_INFO("%d", msg.data); if (dac==1) { my_publisher.publish(msg); } ros::spinOnce(); loop_rate.sleep(); ++count; } return 0; } void MyPlugin::shutdownPlugin() { } void MyPlugin::saveSettings(qt_gui_cpp::Settings& plugin_settings, qt_gui_cpp::Settings& instance_settings) const { } void MyPlugin::restoreSettings(const qt_gui_cpp::Settings& plugin_settings, const qt_gui_cpp::Settings& instance_settings) { } } // namespace PLUGINLIB_DECLARE_CLASS(rqt_mypkg, MyPlugin, rqt_mypkg::MyPlugin, rqt_gui_cpp::Plugin)

how can I set the library search path for the pluginlib?

$
0
0
I am trying to create an rqt plugin and I have used the image_viewer as a template where I changed all the names and the code to get an empty plugin. This generally worked and I can find my plugin in the dropdown menue of rqt, but when I want to start it it says that it cannot find the library. I have checked that the library is really generated in ~/catkin_ws/devel/lib and when I manually copy the library to /opt/ros/indigo/lib it suddenly finds the library. Where can I extend the search path for the pluginlib? ( in the plugin.xml the path tag is: `` which should be correct accordingly to all the tutorials that I could find online. "rqt_grip_ui" is the name )

rostopic echo gets no data but node does

$
0
0
This is how my setup looks like - desktop computer - odroid xu4 (arm computer) I tried running the master on both computers and I export the the ROS_IP and ROS_MASTER_URI like that: - oroid: export ROS_IP=odroid_IP and export ROS_MASTER_URI=http://desktop_IP:11311 - desktop: export ROS_IP=desktop_IP and export ROS_MASTER_URI=http://desktop_IP:11311 I publish image data from the odroid and I get the data on the desktop. I process the image data on the desktop computer and publish a std_msg::Float32 (lets call the topic "duration") message with a time stamp. So good so far... Now here's the problem: When I try plotting the "duration" topic with rqt or try rostopic echo "duration", I don't get any data. But when I write a small python script and subscribe to the topic "duration" and print the data on the console, it works just fine... It also works if I run everything on the desktop computer (camera attached to the desktop) and run rqt or rostopic echo. Any help would be appreciated Thanks!

rqt python plugin fails to load in Kinetic Kame

$
0
0
I moved from Indigo to Kinetic these days. AFAIK I updated our code to use qt5 instead of qt4 (essentially importing "QWidget" from "python_qt_binding.QtWidgets" and some comparable changes). However, the rqt_plugin is not loaded, when selected in rqt. The output: PluginManager._load_plugin() could not load plugin "frame_editor/Frame Editor": Traceback (most recent call last): File "/opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui/plugin_handler.py", line 99, in load self._load() File "/opt/ros/kinetic/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/kinetic/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/kinetic/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/kinetic/lib/python2.7/dist-packages/rqt_gui_py/ros_py_plugin_provider.py", line 60, in load return super(RosPyPluginProvider, self).load(plugin_id, plugin_context) File "/opt/ros/kinetic/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/kinetic/lib/python2.7/dist-packages/rqt_gui/ros_plugin_provider.py", line 94, in load return class_ref(plugin_context) File "/home/lorenz/catkin_ws/src/wp06_multimodal_robot_programming_toolbox/frame_editor/src/frame_editor/rqt_editor.py", line 42, in __init__ super(FrameEditorGUI, self).__init__(context) File "/home/lorenz/catkin_ws/src/wp06_multimodal_robot_programming_toolbox/toolbox/src/toolbox/project_plugin.py", line 13, in __init__ super(ProjectPlugin, self).__init__(context) File "/opt/ros/kinetic/lib/python2.7/dist-packages/qt_gui/plugin.py", line 43, in __init__ super(Plugin, self).__init__(context) TypeError: __init__() takes exactly 2 arguments (1 given) Any ideas? Thanks for your help!

Embed rqt plugins inside another rqt plugin

$
0
0
My goal is to use `rqt_image_view` plugin (which is written in `C++`) inside my own custom `rqt` plugin (also in `C++`). Unfortunately using an `rqt` perspective is not an option for my application. Things I've tried: - I've skimmed through the `rqt` code base, mainly `rqt_gui_cpp` and `qt_gui_cpp`. I could not figure out how the whole system is laid out (i.e. how `rqt` internally works). Is there any design documents regarding this? - I've also tried to use `pluginlib::ClassLoader` to load `rqt_image_view`, but it fails. [The code sample is here](https://gist.github.com/mani-monaj/65dae3848482341593d999e6463c7cc3). It fails with the following error:
Error: According to the loaded plugin descriptions the class rqt_gui_cpp/Plugin with base class type Plugin does not exist. Declared types are 
I might be using `pluginlib` in a wrong way with `rqt` plugins. I also think I might need to use the helper functions in `qt_gui_cpp` to load the plugin. Any help/suggestion is really appreciated.

Using rqt to visualize a number.

$
0
0
Hello all, I'm in the process of building a custom rqt GUI perspective file to control/monitor a robot I'm working with. We are using it for us to visualize SMACH information as well as plot various things and stream camera information. One thing I would like to do is visualize a single number, not as a graph, but a static sub-window that just shows the number. Similar to an indicator in LabVIEW. . Anyone Know how this can be done? Thanks in advance!

rqt link SVGCleanerId_1 hasn't been detected!

$
0
0
why do i get this link SVGCleanerId_1 hasn't been detected! every use rqt. even tho it seems to be working fine does this cause me any problem

rqt_graph can't start

$
0
0
Noob here. I have been following the ROS tutorials up to http://wiki.ros.org/ROS/Tutorials/UnderstandingTopics with no apparent problems. But when I try to run rqt: rosrun rqt_graph rqt_graph All I get is the following: Traceback (most recent call last): File "/opt/ros/kinetic/bin/rqt_graph", line 5, in from rqt_gui.main import Main ImportError: No module named rqt_gui.main apt-get says ros-kinetic-rqt and ros-kinetic-rqt-common-plugins are already up to date, and I have tried rebooting the system, rolling back python pip, and running it with and without roscore. What do I need to do to get rqt_graph to work?
Viewing all 255 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>