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

borgman_jeremy's profile - activity

2019-09-22 22:48:03 -0500 received badge  Famous Question (source)
2019-02-11 10:34:41 -0500 marked best answer Ros2 Service Send Request Does Not Send

I have been debugging an issue that causes my program to deadlock. I created a minimal working example that replicates the behavior: https://github.com/borgmanJeremy/ros_...

This example uses ros2 services. The server manages a vector of ints. Clients can "register" new values, and the server will append these values to the vector. Clients can also query a position in the vector, and if the position exists, the server will return the value in that position.

The issue I have is that when starting with my launch file (ros2 launch ros_service_mwe mwe_service.launch.py) sometimes the client that is waiting for a value at particular position gets stuck in spin_until_future_complete(). I did some debugging with WireShark and it looks like the service request never makes it to the wire. This is tricky to troubleshoot as it fails ~1 in 10 times on my particular machine, but the failure rate changes depending on the machine.

The easiest way to detect this condition is to look at the terminal output and wait for an instance where the [getNode] does not print: [INFO] [getNode]: Value of Pos: 7

I can solve this issue by adding a timeout / retry strategy to the spin_until_future_complete() call, but I really don't understand the root cause of the issue and am afraid I will mask an issue that will manifest in the future.

I started this minimal example with the add_two_ints example, so the print_usage() function still matches that example.

This is running on the Crystal release of ROS2.

2019-02-11 10:34:41 -0500 received badge  Scholar (source)
2019-02-11 08:43:16 -0500 received badge  Self-Learner (source)
2019-02-11 08:43:16 -0500 received badge  Teacher (source)
2019-02-11 07:31:30 -0500 answered a question Ros2 Service Send Request Does Not Send

This turned out to be a bug solved by building with the latest crystal release: https://github.com/ros2/rclcpp/issues/62

2019-02-11 07:31:06 -0500 received badge  Notable Question (source)
2019-01-23 08:29:51 -0500 received badge  Enthusiast
2019-01-22 16:59:08 -0500 commented answer VSCode debug cpp ROS node

No problem....BTW if you want to use c++ there is nothing special about ROS with respect to VSCode and the GDB plugin. Y

2019-01-22 16:07:06 -0500 answered a question VSCode debug cpp ROS node

It literally says in the notes for that VS Code extension that breakpoints are not enabled when using Ros Launch or Ros

2019-01-22 16:03:45 -0500 commented question ROSBridge For Multiple Processes

How are you launching the bridge and what kind of topics are you bridging? I have a dynamic bridge that correctly bridge

2019-01-22 15:59:08 -0500 received badge  Popular Question (source)
2019-01-22 09:14:52 -0500 asked a question Ros2 Service Send Request Does Not Send

Ros2 Service Send Request Does Not Send I have been debugging an issue that causes my program to deadlock. I created a m

2018-11-07 07:57:14 -0500 received badge  Student (source)
2018-10-30 06:32:34 -0500 received badge  Famous Question (source)
2018-10-10 01:35:21 -0500 marked best answer CMAKE_PREFIX_PATH package not found

Hello,

I've been stuck on an issue in my ROS project after I started using an overlay. I used to just place all of my packages inside /src/ros2/<my_package> . I am trying to move my project into an overlay to make it more modular.

I have reduced my problem to just two packages. Package 1 is named "qualified_msgs" and builds with no issues. My second package is "ros_can_bridge" and this depends on the "qualified_msgs" package. My build process is as follows:

  1. Build qualified_msgs
  2. source /install/local_setup.bash (this should place the qualified_msgs cmake files in the path)
  3. Build ros_can_bridge

When I try to execute step I get the following error:

 CMake Error at CMakeLists.txt:20 (find_package):
  By not providing "Findqualified_msgs.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "qualified_msgs", but CMake did not find one.

 Could not find a package configuration file provided by "qualified_msgs"
  with any of the following names:

   qualified_msgsConfig.cmake
   qualified_msgs-config.cmake

  Add the installation prefix of "qualified_msgs" to CMAKE_PREFIX_PATH or set
  "qualified_msgs_DIR" to a directory containing one of the above files.  If
 "qualified_msgs" provides a separate development package or SDK, be sure it
 has been installed.

 ---
Failed   <<< ros_can_bridge [ Exited with code 1 ]

However, If I view my build log I can see that this is in the path:

Portion of Log:

Invoking command in '/home/ros/overlay/build/ros_can_bridge': /usr/bin/cmake /home/ros/overlay/ros_can_bridge -DCMAKE_TOOLCHAIN_FILE=/usr/ros2_ws/aarch64_toolchainfile.cmake -DTHIRDPARTY=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCOMPILE_EXAMPLES=OFF -DCMAKE_C_STANDARD=99 -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING:BOOL=OFF -DCMAKE_PREFIX_PATH=/home/ros/overlay/install/qualified_msgs;/usr/ros2_ws/install/common_interfaces;/usr/ros2_ws/install/visualization_msgs;/usr/ros2_ws/install/ament_lint_common;/usr/ros2_ws/install/ament_cmake_uncrustify;/usr/ros2_ws/install/ament_uncrustify;/usr/ros2_ws/install/uncrustify_vendor;/usr/ros2_ws/install/trajectory_msgs;

I can see that my CMAKE files are indeed in this directory:

Folder Structureimage description

package.xml for ros_can_bridge:

<package format="3"> <name>ros_can_bridge</name> <version>0.0.2</version> <description>

</description> <maintainer email="">JB</maintainer> <license></license>

<buildtool_depend>ament_cmake</buildtool_depend>

<build_depend>builtin_interfaces</build_depend> <build_depend>rosidl_default_generators</build_depend> <build_depend>rclcpp</build_depend> <build_depend>message_generation</build_depend> <build_depend>message_runtime</build_depend> <build_depend>std_msgs</build_depend> <build_depend>qualified_msgs</build_depend>

<exec_depend>builtin_interfaces</exec_depend> <exec_depend>rosidl_default_runtime</exec_depend> <exec_depend>message_runtime</exec_depend> <exec_depend>qualified_msgs</exec_depend>

<test_depend>ament_lint_common</test_depend>

<member_of_group>rosidl_interface_packages</member_of_group>

<export> <build_type>ament_cmake</build_type> </export> </package>

Build Command:

colcon build \ --packages-select ros_can_bridge\ --cmake-force-configure \ --cmake-args \ " -DCMAKE_TOOLCHAIN_FILE=/usr/ros2_ws/aarch64_toolchainfile.cmake" \ " -DTHIRDPARTY=ON" \ " -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON" \ " -DBUILD_SHARED_LIBS=OFF" \ " -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON" \ " -DCOMPILE_EXAMPLES=OFF" \ " -DCMAKE_C_STANDARD=99" \ " -DCMAKE_BUILD_TYPE=Debug" \ " -DBUILD_TESTING:BOOL=OFF"

Any advice on this would be appreciated, I'm pretty stuck!

Thanks,

2018-10-09 11:45:09 -0500 answered a question CMAKE_PREFIX_PATH package not found

The root cause of this issue was related to my aarch64_toolchainfile.cmake file. This file had the line below: set(CM

2018-10-09 11:44:03 -0500 commented question CMAKE_PREFIX_PATH package not found

@Dirk Thanks, as I was trying to reproduce the issue with the simplest example possible I found the problem. This buil

2018-10-08 17:38:00 -0500 received badge  Notable Question (source)
2018-10-06 17:25:01 -0500 received badge  Popular Question (source)
2018-10-06 06:51:04 -0500 edited question CMAKE_PREFIX_PATH package not found

CMAKE_PREFIX_PATH package not found Hello, I've been stuck on an issue in my ROS project after I started using an overl

2018-10-06 06:49:03 -0500 edited question CMAKE_PREFIX_PATH package not found

CMAKE_PREFIX_PATH package not found Hello, I've been stuck on an issue in my ROS project after I started using an overl

2018-10-06 06:49:03 -0500 received badge  Editor (source)
2018-10-06 06:46:45 -0500 commented question CMAKE_PREFIX_PATH package not found

@jacobperron, Added the details of package.xml and clarifed the build command. Thanks for the help @ gvdhoorn. Sorry ab

2018-10-06 06:44:17 -0500 edited question CMAKE_PREFIX_PATH package not found

CMAKE_PREFIX_PATH package not found Hello, I've been stuck on an issue in my ROS project after I started using an overl

2018-10-05 15:52:42 -0500 asked a question CMAKE_PREFIX_PATH package not found

CMAKE_PREFIX_PATH package not found Hello, I've been stuck on an issue in my ROS project after I started using an overl