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

moooeeeep's profile - activity

2023-05-25 04:28:02 -0500 answered a question ROS2 galactic demo node can't start

I had a similar error, which I could solve by running sudo ldconfig. Afterwards the library was found.

2023-05-25 03:53:55 -0500 answered a question ROS2 galactic demo node can't start

I had a similar error today, which I could solve by apt-installing the package ros-dev-tools. Some of the stuff that i

2023-03-03 04:18:59 -0500 marked best answer Dynamically resolve message type and subscribe to topic at runtime in roscpp ?

Is it possible to subscribe to a topic configured at runtime in a C++ node?

For example, is there an API to do the following in roscpp (adapted the code snippet seen here)?

type_name = rostopic.get_topic_type(topic_name, blocking=False)[0]
if type_name:
    type_class = roslib.message.get_message_class(type_name)
    subscriber = rospy.Subscriber(topic_name, type_class, callback)
2023-02-09 05:08:53 -0500 commented answer Autocompletion for ros2 topic pub and ros2 service call does not work

Seems to work even without adding "source ..." to the basrc. It seems to be sourced after installation automatically wit

2023-02-06 02:20:33 -0500 received badge  Famous Question (source)
2023-01-30 21:37:42 -0500 received badge  Famous Question (source)
2023-01-30 21:37:42 -0500 received badge  Notable Question (source)
2023-01-27 16:42:51 -0500 received badge  Necromancer (source)
2023-01-26 02:13:24 -0500 commented answer Undefined reference error while building

To the shell where I run the build command.

2022-10-12 04:42:12 -0500 marked best answer Semantics of `%time` timestamp in `rostopic echo -p` from bagfile?

When I print the topic data using rostopic echo -p -b filename.bag /topic_name, there are two timestamps in the output. One comes from the header of the message (third column: field.header.stamp), one comes from somewhere else (first column: %time). Both have slightly different values, e.g.

  • %time: 1552649896239792539 (2019-03-15 11:38:16.239793),
  • field.header.stamp: 1552649894321638000 (2019-03-15 11:38:14.321638)

I didn't find documentation about the first timestamp %time. Is it assigned by rosbag to reflect the time of recording?

In this case, this would indicate that the message was recorded almost two seconds after the timestamp in the header indicates. Would it be reasonable to make inferences about the latency on the topic like this?

2022-08-15 16:37:02 -0500 received badge  Popular Question (source)
2022-08-15 02:14:10 -0500 marked best answer Loop Closure with Velodyne and Camera using RTAB-Map?

I am running RTAB-Map with a 3d point cloud (Velodyne VLP-16). I use the icp_odometry node which seems to work quite well in principle, but it doesn't do loop closures. I found that this is, because loop closure requires visual features (https://github.com/introlab/rtabmap/i...).

On that system I also have a stereo camera setup. But stereo processing takes really long (only 1-2 Hz framerate) and the matching results don't look very promising (disparity and points are very sparse). As soon as I enable to subscribe the stereo images the full stereo processing takes up a huge amounts of resources and also make the occupancy grid to not use the point cloud from the LIDAR anymore (TODO: check Grid/Sensor setting). In short, SLAM results with ICP are much better overall than with stereo processing so far.

I thought maybe it would be possible to add loop closure based on SIFT or SURF feature descriptors, that wouldn't maybe need to calculate the stereo point clouds (or maybe even work with only mono camera images). I've seen the parameter Kp/DetectorStrategy indicating a setting for this, but so far setting this to SIFT or SURF didn't change a thing (at least I didn't notice).

What is the most efficient way to do the mapping based on ICP, but with loop closures? Is there a way to accomplish this with a mono-camera?

Is there a way to check whether I've successfully built my rtabmap stack to include the opencv contrib modules required for the visual features?

2022-08-15 02:14:05 -0500 answered a question Loop Closure with Velodyne and Camera using RTAB-Map?

There is an example configuation in the git repository: demo_husky.launch The config example number 11 does exactly tha

2022-08-11 02:45:21 -0500 answered a question Undefined reference error while building

I just had the same error. It seemed I forgot to source my ros installation (where the octomap was installed) before the

2022-08-09 14:09:43 -0500 received badge  Nice Answer (source)
2022-06-23 07:02:51 -0500 asked a question Loop Closure with Velodyne and Camera using RTAB-Map?

Loop Closure with Velodyne and Camera using RTAB-Map? I am running RTAB-Map with a 3d point cloud (Velodyne VLP-16). I u

2022-05-29 15:31:22 -0500 received badge  Necromancer (source)
2022-02-28 02:15:26 -0500 answered a question I can't start stereo camera calibration. Service not found

Your camera driver doesn't advertise the service to change the camera info (or you are providing data from a bagfile). I

2022-02-01 05:25:54 -0500 commented answer ImportError: No module named rospkg

What you should rather do, is to install python3-rospkg. (I am using noetic on 20.04, and that is what I did.)

2022-02-01 05:25:25 -0500 commented answer ImportError: No module named rospkg

What you should rather do, is to install python3-rospkg instead. (I am using noetic on 20.04, and that is what I did.)

2021-12-18 11:41:32 -0500 marked best answer Accessing values while iterating points in sensor_msgs::PointCloud2 from sensor_msgs::PointCloud2ConstIterator

I am writing a node that subscribes to a topic of type sensor_msgs::PointCloud2.

In the callback I want to iterate the points in the point cloud using sensor_msgs::PointCloud2ConstIterator.

This is how I think it should be implemented (which seems to work, no serious testing so far, though):

void callback(sensor_msgs::PointCloud2ConstPtr const& msg) {
    sensor_msgs::PointCloud2ConstIterator<float> iter_x(*msg, "x"),
                                                 iter_y(*msg, "y"),
                                                 iter_z(*msg, "z");
    while (iter_x != iter_x.end()) {
        // TODO: do something with the values of x, y, z
        std::cout << *iter_x << ", " << *iter_y << ", " << *iter_z << "\n";
        ++iter_x; ++iter_y; ++iter_z;
    }
}

Is this about the recommended way of iterating the points in a point cloud?

I've seen there was also an overload of the element access operator[](...). While I was trying to figure out how element access exactly works, I wrote this little callback to get an impression:

void callback(sensor_msgs::PointCloud2ConstPtr const& msg) {
    sensor_msgs::PointCloud2ConstIterator<float> iter_x(*msg, "x");
    std::cout << *iter_x << ", " 
        << iter_x[0] << ", " 
        << iter_x[1] << ", "
        << *(iter_x+1) << "\n";
}

I got an output like this:

1.04852, 1.04852, -1.78216, 1.54717

I wondered, shouldn't the last two values be identical?

2021-12-18 11:41:32 -0500 received badge  Self-Learner (source)
2021-09-29 08:06:21 -0500 answered a question Get all key/value pairs from custom ROS2 message

There is no API for this, but as this is Python you can probably get away with a hack like this (untested code): from d

2021-09-16 08:11:41 -0500 commented question Time Sequencer: on multiple input message types

Obviously I can't point you towards something that provides exactly that functionality out of the box. Maybe you can fin

2021-09-16 08:11:27 -0500 commented question Time Sequencer: on multiple input message types

Obviously I can't point you towards something that provides exactly that functionality. Maybe you can find some inspirat

2021-09-16 06:26:24 -0500 commented question Time Sequencer: on multiple input message types

Any reason you don't subscribe to the topics individually, cache the results and trigger the update callback with a time

2021-08-31 13:12:29 -0500 received badge  Necromancer (source)
2021-07-16 01:49:14 -0500 commented question AMCL:As the robot rotates, the particles diverge

And the navigation tuning guide

2021-07-15 07:16:21 -0500 edited answer How to publish a dictionary with other dictionary inside in a topic?

I'm trying to publish in a topic a dictionary with other dictionary inside As there are no direct dictionaries avai

2021-07-15 07:14:45 -0500 answered a question How to publish a dictionary with other dictionary inside in a topic?

I'm trying to publish in a topic a dictionary with other dictionary inside As there are no direct dictionaries avai

2021-05-28 07:37:16 -0500 received badge  Famous Question (source)
2021-02-05 04:05:12 -0500 received badge  Famous Question (source)
2020-11-12 10:09:11 -0500 marked best answer teleop_twist_joy doesn't publish

On Ubuntu I have installed the package ros-indigo-teleop-twist-joy in order to convert my joystick input (/joy) to velocity commands (/cmd_vel).

In order to test my setup I ran the provided launch file:

$ roslaunch `rospack find teleop_twist_joy`/launch/teleop.launch

which appears to run successful.

I can echo the output of /joy, which works as expected:

$ rostopic echo /joy
[...]
---
header: 
  seq: 1366
  stamp: 
    secs: 1473747626
    nsecs: 310893686
  frame_id: ''
axes: [0.0, -0.0, 0.0, 0.13615179061889648, 0.7007878422737122, 0.0, 0.0, 0.0]
buttons: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
---
header: 
  seq: 1367
  stamp: 
    secs: 1473747626
    nsecs: 314848332
  frame_id: ''
axes: [0.0, -0.0, 0.0, 0.06840069591999054, 0.7346633672714233, 0.0, 0.0, 0.0]
buttons: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
---
header: 
  seq: 1368
  stamp: 
    secs: 1473747626
    nsecs: 318864098
  frame_id: ''
axes: [0.0, -0.0, 0.0, 0.0006060103769414127, 0.8137062788009644, 0.0, 0.0, 0.0]
buttons: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
---
header: 
  seq: 1369
  stamp: 
    secs: 1473747626
    nsecs: 322849686
  frame_id: ''
axes: [0.0, -0.0, 0.0, -0.0, 0.8475818634033203, 0.0, 0.0, 0.0]
buttons: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
---
header: 
  seq: 1370
  stamp: 
    secs: 1473747626
    nsecs: 326847977
  frame_id: ''
axes: [0.0, -0.0, 0.0, -0.0, 0.9040411114692688, 0.0, 0.0, 0.0]
buttons: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
---
header: 
  seq: 1371
  stamp: 
    secs: 1473747626
    nsecs: 330820131
  frame_id: ''
axes: [0.0, -0.0, 0.0, -0.0, 0.9830840229988098, 0.0, 0.0, 0.0]
buttons: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
---
header: 
  seq: 1372
  stamp: 
    secs: 1473747626
    nsecs: 334849495
  frame_id: ''
axes: [0.0, -0.0, 0.0, -0.0, 1.0, 0.0, 0.0, 0.0]
buttons: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
---
[...]

I can echo the output on /cmd_vel which produces the following ouput everytime I issue the command (and nothing but silence thereafter).

$ rostopic echo /cmd_vel
linear: 
  x: 0.0
  y: 0.0
  z: 0.0
angular: 
  x: 0.0
  y: 0.0
  z: 0.0
---

Looking at the package's default configuration, I would expect to see an effect when I turn the left stick of my gamepad (Logitech F710). Triggering any of the sticks and axes apparantly doesn't change anything.

roswtf and rqt_console are empty. Using rqt_graph I can see that everything is set up correctly (the joy_node is connected to the teleop_twist_node via /joy and the teleop_twist_node is connected to the running echo process via /cmd_vel).

What am I doing wrong?

2020-11-06 04:49:24 -0500 commented question friction coefficients not translating from URDF to SDF with <gazebo> tags

it seems I have the same problem. Did you find the cause or did you reformulate the whole thing in plain xacro?

2020-09-15 02:17:30 -0500 received badge  Self-Learner (source)
2020-08-04 07:46:13 -0500 edited answer Custom 4 wheel robot going backward

That motion you observe is probably just some random motion that occurs when your actuators are actually not actuated at

2020-08-04 07:43:16 -0500 answered a question Custom 4 wheel robot going backward

That motion you observe is probably just some random motion that occurs when your actuators are actually not actuated at

2020-07-29 02:26:06 -0500 edited question pr2_mechanism_controllers/LaserScannerTrajController doesn't work?

pr2_mechanism_controllers/LaserScannerTrajController doesn't work? I'm trying to get my laser scanner to do a continuous

2020-07-29 02:25:44 -0500 edited question pr2_mechanism_controllers/LaserScannerTrajController doesn't work?

pr2_mechanism_controllers/LaserScannerTrajController doesn't work? I'm trying to get my laser scanner to do a continuous

2020-07-29 02:24:37 -0500 asked a question pr2_mechanism_controllers/LaserScannerTrajController doesn't work?

pr2_mechanism_controllers/LaserScannerTrajController doesn't work? I'm trying to get my laser scanner to do a continuous

2020-07-09 16:52:37 -0500 received badge  Notable Question (source)
2020-07-02 07:18:56 -0500 received badge  Famous Question (source)
2020-07-02 07:18:56 -0500 received badge  Notable Question (source)
2020-06-15 02:51:53 -0500 received badge  Notable Question (source)
2020-05-28 04:11:39 -0500 answered a question Is there a laser assembler that produces PointCloud2?

A node was added to provide this functionality (although the documentation is lacking info about it). You can run it li

2020-04-24 07:14:13 -0500 received badge  Famous Question (source)
2020-02-07 11:02:49 -0500 received badge  Notable Question (source)
2020-01-10 17:54:36 -0500 received badge  Popular Question (source)