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

hank880907's profile - activity

2023-07-07 03:05:09 -0500 received badge  Popular Question (source)
2023-07-06 16:20:15 -0500 commented answer Compile ROS2 package with pre-compiled shared library

I see! Thanks for the explanation!

2023-07-06 16:14:18 -0500 marked best answer Compile ROS2 package with pre-compiled shared library

Hi there,

In my ros2 package, I want to compile the node with a shared library, which is an SDK shared library provided by the manufacturer of the hardware. I am able to compile my code with link_directories that points to the location of the shared library (which locates inside the ros2 package).

Back in ROS1, that's it. I could execute my node and it will load the shared library correctly during runtime.

However, in ROS2, I have to install all the files to DESTINATION lib/${PROJECT_NAME} like this:

install(FILES 
${ORBBEC_SDK_LIB_DIR}/libOrbbecSDK.so.1.5
${ORBBEC_SDK_LIB_DIR}/libOrbbecSDK.so.1.5.7
${ORBBEC_SDK_LIB_DIR}/libOrbbecSDK.so
${ORBBEC_SDK_LIB_DIR}/libudev.so
${ORBBEC_SDK_LIB_DIR}/libudev.so.1
${ORBBEC_SDK_LIB_DIR}/libudev.so.1.6.3
DESTINATION lib/${PROJECT_NAME}
)

Apparently, this just copied and pasted these files to DESTINATION lib/${PROJECT_NAME}.

Another option that could work is that I can make an environment hook to add the folder of the shared library to LD_LIBRARY_PATH.

Both solutions are kind of gross.

What is the proper way of doing this?

In ROS 1 how does it find the shared library in the src folder? Since the setup.bash does not modify the LD_LIBRARY_PATH, I have no idea how does it find the shared library object. (I am sure the .so file is not in the system library.)

2023-07-06 08:06:35 -0500 commented answer robot_localization GPS causes large drift/covariance spike

Without the correct ENU convention, you need to disable the orientation of the IMU from fusing into the global EKF. This

2023-07-06 08:06:35 -0500 received badge  Commentator
2023-07-06 07:55:29 -0500 asked a question Compile ROS2 package with pre-compiled shared library

Compile ROS2 package with pre-compiled shared library Hi there, In my ros2 package, I want to compile the node with a s

2023-07-06 07:31:36 -0500 edited answer robot_localization GPS causes large drift/covariance spike

There are a few ideas for you to debug. Is your IMU reporting the data in the ENU convention? This means when your rob

2023-07-06 07:31:07 -0500 answered a question robot_localization GPS causes large drift/covariance spike

There are a few ideas for you to debug. Is your IMU reporting the data in the ENU convention? This means when your rob

2023-07-06 07:31:07 -0500 received badge  Rapid Responder (source)
2023-07-06 07:07:05 -0500 edited answer When to use rclcpp::spin or RCLCPP_COMPONENTS_REGISTER_NODE?

if you compile your executable with a main function and rclcpp::spin(), It makes your executable, well, an executable. T

2023-07-06 07:05:25 -0500 edited answer When to use rclcpp::spin or RCLCPP_COMPONENTS_REGISTER_NODE?

if you compile your executable with a main function and rclcpp::spin(), It makes your executable, well, an executable. T

2023-07-06 07:04:21 -0500 edited answer When to use rclcpp::spin or RCLCPP_COMPONENTS_REGISTER_NODE?

if you compile your executable with a main function and rclcpp::spin(), It makes your executable, well, an executable. T

2023-07-06 07:03:53 -0500 edited answer When to use rclcpp::spin or RCLCPP_COMPONENTS_REGISTER_NODE?

if you compile your executable with a main function and rclcpp::spin(), It makes your executable, well, an executable. T

2023-07-06 05:49:49 -0500 answered a question ROS driver for Lucid Helios ToF camera

I often find writing my own ROS driver for these types of devices easier. Generic drivers might be very bloated and hard

2023-07-06 05:49:49 -0500 received badge  Rapid Responder (source)
2023-07-05 03:40:10 -0500 answered a question When to use rclcpp::spin or RCLCPP_COMPONENTS_REGISTER_NODE?

if you compile your executable with a main function and rclcpp::spin(), It makes your executable, well, an executable. T

2023-07-05 03:26:49 -0500 commented question How to sensor_msgs/CompressedImage to sensor_msgs/Image

try: rostopic echo ego/image_raw_compressed --noarr to hide the array.

2023-07-05 03:26:29 -0500 commented question How to sensor_msgs/CompressedImage to sensor_msgs/Image

try: rostopic echo ego/image_raw_compressed --noarr to hide the array.

2023-07-05 03:23:56 -0500 edited answer Trying to perform an image transport on ROS2 foxy

The image transport package sounds like what you need! Image transport package allows user to define their own transport

2023-07-05 03:21:49 -0500 edited answer Trying to perform an image transport on ROS2 foxy

The image transport package sounds like what you need! Image transport package allows user to define their own transport

2023-07-05 03:20:37 -0500 answered a question Trying to perform an image transport on ROS2 foxy

The image transport package sounds like what you need! Image transport package allows user to define their own transport

2023-07-05 01:52:35 -0500 edited answer Possible for a node to "refresh" information with rosmaster?

The main responsibility of ros core is to maintain a list of connection between nodes. If a node is registered to a dead

2023-07-05 01:51:46 -0500 answered a question Possible for a node to "refresh" information with rosmaster?

The main responsibility of ros core is to maintain a list of connection between nodes. If a node is registered to a dead

2023-07-05 01:42:56 -0500 edited answer publisher from tutorial doesn't react to simulation time of 1s

It has something to do with the implementation of rospy.timer.sleep When you start up the program, it will print out

2023-07-05 01:42:38 -0500 edited answer publisher from tutorial doesn't react to simulation time of 1s

It has something to do with the implementation of rospy.timer.sleep When you start up the program, it will print out

2023-07-05 01:42:03 -0500 edited answer publisher from tutorial doesn't react to simulation time of 1s

It has something to do with the implementation of rospy.timer.sleep When you start up the program, it will print out

2023-07-05 01:40:15 -0500 edited answer publisher from tutorial doesn't react to simulation time of 1s

It has something to do with the implementation of rospy.timer.sleep When you start up the program, it will print out

2023-07-05 01:39:43 -0500 edited answer publisher from tutorial doesn't react to simulation time of 1s

It has something to do with the implementation of rospy.timer.sleep When you start up the program, it will print out

2023-07-05 01:37:25 -0500 edited answer publisher from tutorial doesn't react to simulation time of 1s

It has something to do with the implementation of rospy.timer.sleep When you start up the program, it will print out

2023-07-04 18:02:23 -0500 edited answer publisher from tutorial doesn't react to simulation time of 1s

It has something to do with the implementation of rospy.timer.sleep When you start up the program, it will print out

2023-07-04 18:01:31 -0500 edited answer publisher from tutorial doesn't react to simulation time of 1s

It will have something to do with the implementation of rospy.timer.sleep When you start up the program, it will print

2023-07-04 17:59:33 -0500 edited answer publisher from tutorial doesn't react to simulation time of 1s

It will have something to do with the implementation of rospy.timer.sleep When you start up the program, it will print

2023-07-04 17:59:33 -0500 received badge  Editor (source)
2023-07-04 17:58:10 -0500 edited answer publisher from tutorial doesn't react to simulation time of 1s

It will have something to do with the implementation of rospy.timer.sleep When you start up the program, it will print

2023-07-04 17:57:34 -0500 answered a question publisher from tutorial doesn't react to simulation time of 1s

It will have something to do with the implementation of rospy.timer.sleep When you start up the program, it will print

2023-07-04 17:57:34 -0500 received badge  Rapid Responder (source)
2023-07-04 07:05:32 -0500 commented question Creation of subscriber failed: Checksum does not match

Is your ros serial the latest version? There was a checksum bug in the past and this commit have fixed it. https://githu

2022-07-01 21:52:32 -0500 commented question extract the time from /tf topic, between two specific frames

of course it won't work. You are not even initializing the ros node correctly... have you take a look at how to write a

2022-06-28 17:57:53 -0500 commented answer extract the time from /tf topic, between two specific frames

you could just put a filter in the python node to filter out the unwanted tfs. it will be something like: python if fr

2022-06-28 17:57:36 -0500 commented answer extract the time from /tf topic, between two specific frames

you could just put a filter in the python node to filter out the unwanted tfs. it will be something like: ```python if

2022-06-28 17:02:22 -0500 answered a question extract the time from /tf topic, between two specific frames

Just write a python node to listen to the tf topic. Here's the tutorial for writing a python node in ROS. http://wiki.

2022-06-28 17:02:22 -0500 received badge  Rapid Responder (source)
2022-06-28 15:44:26 -0500 received badge  Enthusiast
2022-06-26 19:38:59 -0500 commented answer How to integrate ROS and MPU6050 with Raspberry pi 4

You need to write the code yourself.

2022-06-21 01:00:33 -0500 received badge  Teacher (source)
2022-06-20 13:54:25 -0500 answered a question How to integrate ROS and MPU6050 with Raspberry pi 4

ROS packages generally accepts senor_msgs/imu messages. To fill the message, you will need: Quaternion orientation: Th

2022-06-20 13:54:25 -0500 commented question is rosserial_client faster than Arduino IDE?

You need to be more specific! Arduino IDE is the application and you are comparing it to rosserial, which is a serial pr

2022-06-20 04:47:10 -0500 received badge  Rapid Responder (source)
2021-07-30 09:12:36 -0500 marked best answer package installation

Hi there,

I am using ROS noetic on a ubuntu 20.04.1.

I am new to ROS and I am so confused about the package installation. For example, if I want to install the robot localization package, Do I just git clone it using the following command into my workspace?

$git clone -b noetic-devel https://github.com/cra-ros-pkg/robot_localization.git

I notice that package can be install through apt, but how can I know that apt command for the package I want?