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

dsolomon's profile - activity

2020-07-01 04:07:16 -0500 received badge  Famous Question (source)
2018-10-05 06:32:38 -0500 received badge  Good Answer (source)
2016-12-12 12:42:08 -0500 answered a question Finding node log file location programmatically

Note: I know this is an old post, hopefully this answer helps other people who come across it.

Part of the problem may be in a misunderstanding of how log files are being generated. In a normal running ROS system, there is a node named rosout that receives all log messages via message interface and writes them to <logging_directory>/rosout.log.

Additionally, one can choose to have roslaunch redirect a node's ROS_DEBUG/INFO/WARN terminal output to file, using the "output" field in the "node" xml (allowable values are "screen" and "log"). If the output field is set to log, roslaunch will redirect that node's (via the pid) terminal output to <logging_directory>/<node>_stdout.log.

In summary, typically only the rosout and roslaunch executables actually write log files. This would explain why you cannot find a reference to the log file for that node from within the executable.

2016-08-14 01:54:38 -0500 marked best answer compiling with code coverage in catkin

Does anyone use the "Coverage" option when compiling? I would like to get a profile of my executable, so I compile with 'catkin_make -DCMAKE_BUILD_TYPE=Coverage' and have confirmed that the code runs noticeably slower (although this may also be due to more optimization being disabled?). I do not know where to recover the code profile information from.

Running Groovy on Ubuntu 12.04.

2016-02-22 09:24:31 -0500 received badge  Nice Question (source)
2016-01-27 05:45:49 -0500 received badge  Good Question (source)
2015-11-28 16:33:44 -0500 received badge  Famous Question (source)
2015-10-01 09:34:47 -0500 received badge  Famous Question (source)
2015-05-14 17:57:07 -0500 received badge  Nice Answer (source)
2015-03-10 10:26:24 -0500 received badge  Famous Question (source)
2015-03-10 10:26:24 -0500 received badge  Popular Question (source)
2015-03-10 10:26:24 -0500 received badge  Notable Question (source)
2015-02-12 07:27:26 -0500 commented answer How to rostest a single (entire) package in catkin workspace?

Don't know why I just saw this, but thanks guys! Is this behavior from cmake or catkin? And is there a any human-readable source for this information? Reading cmake documentation feels like reading the Rosetta stone: it only makes sense after you already figured it out.

2015-02-12 07:22:56 -0500 received badge  Scholar (source)
2015-02-11 23:44:47 -0500 answered a question How to get geometry_msgs/Pose from position(x,y,z) like geometry_msgs/Point

To start, position data alone is insufficient to generate a pose. Does the orientation of the agent actually represent something? If so, you will need to understand and provide that information in order to generate anything useful. If the orientation of the agent is unimportant, just set orientation.x/y/z=0 and w=1.

2015-02-11 20:32:02 -0500 received badge  Nice Answer (source)
2015-02-11 08:29:12 -0500 received badge  Nice Answer (source)
2015-02-10 21:48:10 -0500 answered a question opening data file or image in specific folder in package

The more portable way to do this is to use getPath. This gets the addresyo of the specified package, then you can drill down to the specific directory. Note that this requires that the package is findable on the ROS_PACKAGE_PATH.

2015-02-10 21:38:22 -0500 answered a question Cannot specify link libraries for target

The cmake macro target_link_libraries is used to specify which libraries are needed to link against when you build each target (library or executable). In your case, you have two targets, talker and listener, so you will need to call target_link_libraries twice, e.g. target_link_libraries(talker ${catkin_LIBRARIES})

2014-11-13 09:41:26 -0500 received badge  Notable Question (source)
2014-11-05 06:01:39 -0500 received badge  Popular Question (source)
2014-11-03 17:49:45 -0500 asked a question How to rostest a single (entire) package in catkin workspace?

(I believe related to http://answers.ros.org/question/62583... )

I have found through painful trial-and-error that when rostests are defined in a package's CMakeLists.txt, they will not build with the typical catkin_make run_tests_<package>:

  • catkin_make run_tests WORKS
  • catkin_make run_tests_<package> DOESN'T WORK

It is quite painful to not have the ability to run rostests from only one package at a time. Is this expected behavior, and can anyone explain why?

hydro on 12.04

2014-10-28 00:02:27 -0500 received badge  Notable Question (source)
2014-09-09 15:46:26 -0500 received badge  Enthusiast
2014-09-05 13:15:58 -0500 received badge  Famous Question (source)
2014-08-04 04:57:36 -0500 received badge  Notable Question (source)
2014-08-04 04:57:36 -0500 received badge  Popular Question (source)
2014-06-19 15:56:55 -0500 received badge  Nice Question (source)
2014-02-13 00:23:38 -0500 received badge  Notable Question (source)
2014-02-04 12:15:02 -0500 commented question Rviz Version 1.9.34 Crashes

What version of ROS, what version of OS (presumably Linux)? Most of my rviz crashes are due to graphics drivers; What is your hardware configuration, including what type of video card are you using?

2014-02-03 07:45:35 -0500 answered a question urdf parsing error

urdf::Model::initFile(urdf_file) takes an absolute file path (see urdf::Model C++ API), so you would have to run something like ./devel/lib/testbot_description/parser /home/<user>/catkin_ws/src/testbot_description/urdf/my_robot.urdf (make sure to replace <user> with your user name).</user></user>

2014-02-03 04:13:32 -0500 asked a question Is console_bridge really much slower than rosconsole?

As I have been trying to speed up some code, I changed a logDebug call to ROS_DEBUG and got tremendous improvement. Has anyone else noticed this, or am I doing something wrong?

As an aside, I'm not even sure if logDebug is calling the console_bridge version or the rosconsole_bridge version. Is there a good way to tell?

Groovy on Ubuntu 12.04

2014-02-03 04:08:33 -0500 commented question compiling with code coverage in catkin

FYI - I ended up using valgrind to profile my code. To profile a single node, it may be easiest to run "valgrind --tool=callgrind ./<name_of_node_executable>" in the directory of your executable rather than using http://wiki.ros.org/roslaunch/Tutorials/Roslaunch%20Nodes%20in%20Valgrind%20or%20GDB

2014-02-03 04:00:38 -0500 commented answer compiling with code coverage in catkin

Thanks, that was a good link. I searched my package high and low for any coverage files, or links from executables to coverage files, and came up with nil. Passing Catkin the Coverage flag makes entire package recompile, but apparently not actually generate coverage info.

2014-01-28 17:30:15 -0500 marked best answer Standard system include paths missing in Eclipse from catkin_make

PROBLEM:
When I use catkin_make to create the Eclipse project files, it does not include some standard system dependencies in the Include Paths, namely:

  • /usr/include/c++/4.6
  • /usr/include/c++/4.6/x86_64-linux-gnu
  • /usr/include/c++/4.6/backward

SPECIFICS:
I run

 $ catkin_make --force-cmake -G"Eclipse CDT4 - Unix Makefiles"

and import the project in Eclipse from the build directory. (see http://answers.ros.org/question/52013/catkin-and-eclipse/ (catkin and eclipse))
When I import the project in Eclipse, it is missing the above includes, which causes it to complain about - namely, among other things - "Unresolved include of #include < string >"

This in turn propagates errors of "Type std::string could not be resolved"

The package builds just fine, which means the compiler can resolve all required includes, this is just a problem in using Eclipse effectively.

QUESTION: Is there a way to have catkin build the Eclipse project files with those includes?

(SPECS: Groovy on Ubuntu 12.04)

2014-01-28 17:25:40 -0500 marked best answer calling xacro:macro from within xacro:macro

can I include and call an xacro:macro from within an xacro:macro?

alternatively, can I pass a variable to an xacro if it is not an xacro:macro?