ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

cyberguy42's profile - activity

2022-12-23 06:27:37 -0500 received badge  Guru (source)
2022-12-23 06:27:37 -0500 received badge  Great Answer (source)
2022-05-20 16:58:13 -0500 received badge  Enlightened (source)
2022-05-20 16:58:13 -0500 received badge  Good Answer (source)
2022-02-07 16:51:30 -0500 received badge  Nice Answer (source)
2021-11-16 06:11:01 -0500 received badge  Necromancer (source)
2021-11-12 16:41:44 -0500 answered a question TF_REPEATED_DATA ignoring data with redundant timestamp for frame link_left_wheel at time 618.268000 according to authority unknown_publisher

The warning message is due to a change in transform-handling behavior. In short, it used to be the case that a redundant

2021-11-11 15:22:37 -0500 commented answer When should I use rosdep and when should I use apt or pip?

@jstm catkin_virtualenv says it can "bundle a virtualenv within a catkin package", though I have not tried it myself

2021-10-13 13:07:58 -0500 answered a question terminate called after throwing an instance of 'boost: Exception_detail::clone_impl'

That likely means that something else was wrong and caused the process to terminate. I have seen that message many times

2019-06-25 17:04:13 -0500 commented answer How to use waitForMessage properly ?

All ROS messages define typedefs to make it easier to use the shared pointer version. For example, instead of boost::sha

2018-11-06 18:54:16 -0500 answered a question Compilation Problem with gazebo_ros_pkgs

I ran into a similar problem. There were 2 different ways I found to solve it: 1. changing the '.hpp' to '.h' 2. crea

2018-04-05 04:16:09 -0500 received badge  Famous Question (source)
2017-12-11 09:14:54 -0500 received badge  Nice Answer (source)
2017-11-15 18:06:32 -0500 commented answer Kinect Installation and Setup on ROS [Updated]

Don't forget to include both the package name and the launch file: roslaunch freenect_launch freenect.launch

2017-11-10 10:42:49 -0500 commented answer Kinect Installation and Setup on Kinetic

Also, be aware that there is another driver package for the kinect called 'freenect_launch'. They do basically the same

2017-11-10 10:38:11 -0500 commented answer Kinect Installation and Setup on Kinetic

The command should be 'roslaunch openni_launch openni.launch'. Tab complete is your friend: if you type 'roslaunch [pac

2017-10-29 01:48:11 -0500 received badge  Necromancer (source)
2017-10-27 17:12:24 -0500 answered a question ROS Indigo Source Build Fail - Ubuntu 14.04

I ran into the same problem both when compiling indigo on 14.04 and kinetic on 16.04 . When you specify the 'Debug' buil

2017-06-15 16:54:10 -0500 answered a question Kinect Installation and Setup on Kinetic

Hopefully you already found the solution. Just in case: there is no 'openni-kinect' package. The kinect related packages

2017-05-09 15:49:49 -0500 answered a question Collision detection using fcl and ros wiki for octree and regular object

I would recommend looking at the source code for the Octomap Server. Its purpose is to take in a pointcloud and update a

2017-03-27 12:11:04 -0500 received badge  Notable Question (source)
2017-01-19 14:02:32 -0500 received badge  Commentator
2017-01-19 14:02:32 -0500 commented question Is catkin tools compatible with pluginlib?

I will close this question and try catkin_tools in a clean environment. If I still have trouble, I will create a new question.

2017-01-19 13:59:27 -0500 commented question Is catkin tools compatible with pluginlib?

Thank you for the suggestions. Using my release profile didn't work at all. I now I believe that the only reason the debug profile works for nodes is that it is searching the catkin_make devel directory. The issue is therefore not with pluginlib, but with my catkin_tools profiles.

2017-01-14 09:53:00 -0500 received badge  Popular Question (source)
2017-01-13 17:02:40 -0500 asked a question Is catkin tools compatible with pluginlib?

Some time back, I made the switch from catkin_make to catkin_tools. For the most part, everything works fine. However, my custom plugins are no longer found. Let me emphasize that my plugins (custom displays for RVIZ) work perfectly when I compile with catkin_make and source {catkin_ws}/devel/setup.sh, so I do not believe the problem lies with my package.xml, plugin_description.xml or my use of the pluginlib macro.

I created a debug profile using catkin tools with suffix 'debug'. The workspace extends /opt/ros/indigo. My bashrc file source /opt/ros/indigo/setup.sh, so by default only installed ros packages are listed by rospack list. After running catkin build and sourcing <catkin_ws>/devel_debug/setup.sh, rospack list also shows my packages and I am able to run any of my nodes using rosrun.

However, if I try to load my plugin, only the library file created by catkin_make gets used. If I delete that file and then try to load my plugin in rviz, I can see my plugin in the list of available displays to add, but if I select it, I get this error:

[ERROR] [1484345587.322954842]: PluginlibFactory: The plugin for class 'visualization/Path' failed to load.  Error: Could not find library corresponding to plugin visualization/Path. Make sure the plugin description XML file has the correct name of the library and that the library actually exists.

This happens even after I source the setup.sh file in my debug profile.

I can confirm that my plugin's library file exists in <catkin_ws>/devel_debug/lib with the same name that I have specified in plugin_description.xml.

In order to debug this, I wrote my own test program that displays relevant information using pluginlib::ClassLoader. Running it in the same terminal that yielded the above rviz error, I learn the following information:

  • My package's plugin_description.xml file is listed as one of the paths to xml manifests for base class rviz::Display
  • My plugin is listed as a declared class type for base class rviz::Display
  • The name, class type, package, description, and manifest path for my class are all retrievable
  • The path to my library is reported as devel/lib/libpath.so (before deleting that file) and throws the same error as rviz (after)

Having concluded that the problem was pluginlib not seeing my libraries, I looked at the source for pluginlib::ClassLoader to see what paths are searched for libraries. Catkin libraries appear to be found via the command catkin_find --lib. Running the command myself returns the following paths:

  • <catkin_ws>/devel_debug/.private/catkin_tools_prebuild/lib
  • <catkin_ws>/devel/lib
  • /opt/ros/indigo/lib

The 2nd and 3rd paths make sense, but I don't understand why the first is reported rather than the correct directory (<catkin_ws>/devel_debug/lib). For the time being, I've switched back to catkin_make, but I would really like to move back to catkin build if possible.

Is catkin_tools compatible with pluginlib? If so, do I need to change some setting ... (more)

2016-07-28 10:32:16 -0500 commented answer Use ros-indigo-opencv3 alongside 2.4.8?

However, I did encounter issues making my program into a nodelet: it compiled fine, but crashed at run time. Debugging revealed that it was trying to call the 2.4.8 library. Static compiling of 3.0 into my program didn't fix the problem. Lesson: run 2.4.8 and 3.0 code in separate processes.

2016-07-28 10:27:15 -0500 commented answer Use ros-indigo-opencv3 alongside 2.4.8?

I didn't use dpkg at all; I downloaded this package link text to my catkin workspace, applied the suggested changes to each affected CMakeLists, and compiled.

2016-03-09 12:41:01 -0500 commented answer TurtleBot Autonomous Navigation Not Moving to Desired Point

This solved a similar problem for me.

2016-02-23 19:40:20 -0500 commented answer Use ros-indigo-opencv3 alongside 2.4.8?

I spent hours trying to do this before finding this answer! I can confirm that cv_bridge can be used in the same node: recompile cv_bridge from source and use this approach for both your code and cv_bridge.

2015-11-15 19:24:26 -0500 received badge  Student (source)
2015-10-19 21:54:42 -0500 received badge  Enthusiast
2014-08-15 12:30:06 -0500 received badge  Famous Question (source)
2014-08-15 12:23:49 -0500 received badge  Notable Question (source)
2014-07-15 12:35:22 -0500 answered a question Where is ros-groovy in macports

I think the real problem is that you can't 'sudo port ros-groovy' because there is no port with that exact name- you need to specify the full name, such as ros-groovy-core, etc.

The order of the file URL and rsync is necessary as well, as noted by rleontie.

2014-07-01 13:58:04 -0500 received badge  Popular Question (source)
2014-07-01 10:47:12 -0500 commented answer undefined reference to `urdf::Model::initFIle()'

swig_kdl is the name of the library I am building, just put in the name of yours. MY_ADDED_LIBS should contain the libraries you use. Hope that helps. If not, you may want to create your own question so you can ask the community for help with your specific question.

2014-07-01 08:59:49 -0500 received badge  Self-Learner (source)
2014-07-01 08:57:03 -0500 commented question undefined reference to `urdf::Model::initFIle()'

The problem was in my CMakeLists.txt. Thank you for your comment.

2014-07-01 08:55:23 -0500 answered a question undefined reference to `urdf::Model::initFIle()'

Updated Answer

Though my original solution was accurate, my explanation that the problem was Swig-related was incorrect: all things Swig are handled elsewhere. The problem was that I did not include 'urdf' in the variable MY_ADDED_LIBS, which is used by target_link_libraries. Adding it resolved the linking issue and I can load joint limits from the urdf just fine.

My corrected CMakeLists.txt is below:

cmake_minimum_required(VERSION 2.8.3)
project(base-kdl)

set(BASE_FILE_NAME base-kinematics)

include_directories(/usr/include/eigen3)
include_directories(/usr/include/boost/)
include_directories(/opt/ros/hydro/include/)
include_directories(/opt/ros/hydro/include/kdl)

FIND_PACKAGE(JNI)
if (NOT JAVA_INCLUDE_PATH)
  message(WARNING "JNI has not been found.")
endif()

include_directories(${JAVA_INCLUDE_PATH})
include_directories(${JAVA_INCLUDE_PATH2})

link_directories(/opt/ros/hydro/lib/)

set(CMAKE_CXX_FLAGS -Wl,-z,defs)

set(MY_ADDED_LIBS orocos-kdl;kdl_parser;urdf)

add_library(swig_kdl SHARED  base-kinematics_wrap.cpp base-kinematics.cpp)
target_link_libraries(swig_kdl ${MY_ADDED_LIBS})
2014-06-30 22:06:10 -0500 asked a question undefined reference to `urdf::Model::initFIle()'

I am attempting to compile a cpp file that will read joint limits from a urdf. The lines of code at issue are:

urdf::Model robotModel;

robotModel.initFile("path/to/file");

I get the following error: undefined reference to `urdf::Model::initFile(std::basic_string<char, std::char_traits<char="">, std::allocator<char> > const&)'

Commenting out 'robotModel.initFile(...)' eliminates the error, but defeats the purpose of the program.

The error appears while linking. It appears that I am passing in the proper argument- it seems to match the documentation. In my CMakeLists, I have 'link_directories(/opt/ros/hydro/lib/)', which I have confirmed contains libkdl_parser.so and liburdfdom_model.so. The same type of error occurs if I use .initString(). What am I missing?

2014-06-25 13:35:42 -0500 received badge  Nice Answer (source)
2014-04-20 06:56:22 -0500 marked best answer Openni_launch does not recognize ''device_id" argument for PrimeSense

I have a kinect and a PrimeSense v2 device. If I only plug in the kinect and set the device_id argument to "#1" for first device, it runs the kinect and displays the device_id. I can then use the 'device_id' argument to make sure that kinect is always referred to by a particular camera name. So far so good. If I plug in only the PrimeSense and select first device, it will find it, display the device_id, and run properly. However, when I enter in that device_id as an argument, I get this warning at run time: "~device_id is not set! Using first device". The only difference I can see is that the kinect id is 16 digits hexadecimal, while the PrimeSense is 10 digits decimal. I tried padding the PrimeSense id with spaces or 0's in front, but it still tells me the device_id is not set. I also a variety of other, made up id's. As far as I can see, the id must include a letter for it to be recognized. If I add characters in front of the actual id, it recognizes the string as a device_id but doesn't recognize it as matching the real device. Some goes for placing' on either side of the number- it is comparing '(number)' to ''(number)''- or converting the id to hexadecimal. What is the proper way to specify this device? I am working in a multi-device environment and need to assign the proper names to the proper devices. I know that there is an option to specify usb hubs or something, but I would rather not rely on port id's.

Thank you for your help in advance.