Ask Your Question

kurshakuz's profile - activity

2022-01-11 16:52:27 -0600 received badge  Famous Question (source)
2022-01-11 16:52:27 -0600 received badge  Notable Question (source)
2021-12-16 06:25:00 -0600 received badge  Famous Question (source)
2021-11-14 19:52:08 -0600 received badge  Notable Question (source)
2021-10-08 06:47:26 -0600 marked best answer AMCL: No laser scan received

Hello everyone!

After generating a map with a SLAM, I wanted to localize my robot in this map. For that purpose I want to use AMCL package. But I keep getting the same error:

[ WARN] [1560764535.601073091, 398.853000000]: No laser scan received (and thus no pose updates have been published) for 398.853000 seconds.  Verify that data is being published on the /amazon_warehouse_robot/laser/scan topic.

[ WARN] [1560764535.614184813, 398.865000000]: MessageFilter [target=odom ]: Dropped 100.00% of messages so far. Please turn the [ros.amcl.message_notifier] rosconsole logger to DEBUG for more information.

I use the ROS Kinetic, Ubuntu 16.04, Gazebo

I do the following:

roslaunch amazon_navigation amazonrobot_1_warehouse.launch

rosrun map_server map_server map.yaml

rosrun amcl amcl scan:=amazon_warehouse_robot/laser/scan _odom_frame:=amazon_warehouse_robot/odom

and

rostopic echo /amazon_warehouse_robot/laser/scan

gives:

header: 
  seq: 2
  stamp: 
    secs: 1
    nsecs: 101000000
  frame_id: "amazon_warehouse_robot/hokuyo_link"
angle_min: -1.57000005245
angle_max: 1.57000005245
angle_increment: 0.0175419002771
time_increment: 0.0
scan_time: 0.0
range_min: 0.0799999982119
range_max: 10.0
ranges: [inf, inf, 6.664645671844482, 4.669021129608154, 3.3098554611206055, inf, inf, inf, inf, inf, inf, inf, inf, inf, inf, inf, inf, inf, 5.578123569488525, ....]
intensities: [0.0, 0.0, 0.0, ...]

rostopic echo /amazon_warehouse_robot/odom

header: 
  seq: 1785
  stamp: 
    secs: 178
    nsecs: 601000000
  frame_id: "amazon_warehouse_robot/odom"
child_frame_id: "amazon_warehouse_robot/base"
pose: 
  pose: 
    position: 
      x: 0.000142417215952
      y: 0.00111615755185
      z: 0.050002391371
    orientation: 
      x: -1.3005763226e-07
      y: -2.34663847428e-07
      z: 4.42450664072e-05
      w: 0.999999999021
  covariance: [1e-05, 0.0, 0.0, 0.0, 0.0, 0.0, ...]
twist: 
  twist: 
    linear: 
      x: 0.000189513575366
      y: 0.000217444901386
      z: 0.0
    angular: 
      x: 0.0
      y: 0.0
      z: 2.97531367781e-06
  covariance: [0.0, 0.0, 0.0,...]


rostopic list

/amazon_warehouse_robot/cmd_vel
/amazon_warehouse_robot/joint_cmd
/amazon_warehouse_robot/joint_states
/amazon_warehouse_robot/laser/scan
/amazon_warehouse_robot/odom
/amcl/parameter_descriptions
/amcl/parameter_updates
/amcl_pose
/clock
/gazebo/link_states
/gazebo/model_states
/gazebo/parameter_descriptions
/gazebo/parameter_updates
/gazebo/set_link_state
/gazebo/set_model_state
/gazebo_gui/parameter_descriptions
/gazebo_gui/parameter_updates
/initialpose
/map
/map_metadata
/particlecloud
/rosout
/rosout_agg
/tf
/tf_static

tf tree looks like this:

amazon_warehouse_robot/odom  
                   ⇩ 
amazon_warehouse_robot/base
                   ⇩                                                                                             
amazon_warehouse_robot/hokuyo_link

I also did a transform:

<node pkg="tf" type="static_transform_publisher" name="map_to_odom" 
    args="0 0 0.1 0 0 0 1.0 /map /amazon_warehouse_robot/odom 100" />

but it didn't had any effect. As I am aware, AMCL should publish its own transform

I have gone through all similar answers, but still nothing changed. One of them was suggesting that if you have non integer value "inf" for me, that may be the cause of the problem, but I have added a filter to laserscan and result was the same.

Any help is appreciated!! I don't know what to do now

$ roswtf
the rosdep view is empty: call 'sudo rosdep init' and 'rosdep update'
No package or stack in context
================================================================================
Static checks summary:

Found 1 error(s).

ERROR ROS Dep database not updated: Please update rosdep database with 'rosdep update'.
================================================================================
Beginning tests of your ROS graph. These may take awhile...
analyzing graph...
... done analyzing graph
running graph rules...
... done running graph rules

Online ...
(more)
2021-09-06 15:58:03 -0600 received badge  Popular Question (source)
2021-09-01 02:11:38 -0600 edited answer lookup_transform: TypeError: __init__() takes 1 positional argument but 2 were given

The problem is that your are not passing parameters correctly here. As you have added in your question, lookup_transform

2021-09-01 02:11:06 -0600 commented answer lookup_transform: TypeError: __init__() takes 1 positional argument but 2 were given

Please open a separate question with all the information and tf trees, tf logs and HZs, It is hard to say anything yet.

2021-08-31 07:53:21 -0600 commented answer lookup_transform: TypeError: __init__() takes 1 positional argument but 2 were given

Apparently the issue is with the way Duration() is called. You have to specify seconds or nanoseconds as timeout=Duratio

2021-08-31 05:49:07 -0600 commented answer lookup_transform: TypeError: __init__() takes 1 positional argument but 2 were given

I see the problem with that. You don't need to specify names of required parameters in Python (in this case time). Just

2021-08-31 05:30:47 -0600 commented answer lookup_transform: TypeError: __init__() takes 1 positional argument but 2 were given

did you rebuild your package? This error must have disappeared. Can you show your full error output?

2021-08-31 04:01:28 -0600 edited answer lookup_transform: TypeError: __init__() takes 1 positional argument but 2 were given

The problem is that your are not passing parameters correctly here. As you have added in your question, lookup_transform

2021-08-31 03:54:25 -0600 edited answer lookup_transform: TypeError: __init__() takes 1 positional argument but 2 were given

The problem is that your are not passing parameters correctly here. As you have added in your question, lookup_transform

2021-08-31 03:54:01 -0600 edited answer lookup_transform: TypeError: __init__() takes 1 positional argument but 2 were given

The problem is that your are not passing parameters correctly here. As you have added in your question, lookup_transform

2021-08-31 03:52:52 -0600 edited answer lookup_transform: TypeError: __init__() takes 1 positional argument but 2 were given

The problem is that your are not passing parameters correctly here. As you have added in your question, lookup_transform

2021-08-31 03:48:57 -0600 edited answer lookup_transform: TypeError: __init__() takes 1 positional argument but 2 were given

The problem is that your are not passing parameters correctly here. As you have added in your question, lookup_transform

2021-08-31 03:47:19 -0600 answered a question lookup_transform: TypeError: __init__() takes 1 positional argument but 2 were given

The problem is that your are not passing parameters correctly here. As you have added in your question, lookup_transform

2021-08-31 03:47:19 -0600 received badge  Rapid Responder (source)
2021-08-31 01:10:39 -0600 commented answer timeout in lookupTransform behaves differently in rclcpp and rclpy

Thank you for explanation! It is clear now. Can you suggest any places to look for separate thread initialization and us

2021-08-31 00:11:31 -0600 commented answer timeout in lookupTransform behaves differently in rclcpp and rclpy

Thank you for explanation. It is clear now

2021-08-31 00:11:01 -0600 marked best answer timeout in lookupTransform behaves differently in rclcpp and rclpy

So I recently got stuck with this strange error that timeout in lookupTransform behaves differently in rclcpp and rclpy. Shortly, I want to acquire transformations at time this->get_clock()->now. Surely when I do lookupTransform for transformation at that exact time the transformation was not yet broadcaster by broadcaster, and I get the expected exception:

Lookup would require extrapolation into the future. Requested time 1630168500.665476 but the latest data is at time 1630168500.657399, when looking up transform from frame [turtle1] to frame [turtle2]

To solve that matter I tried to use the timeout optional parameter, which works properly only in the rclcpp, but not in rclpy. This error does not go away with used timeout parameter but only blocks the node.

The C++ listener node is here: https://github.com/kurshakuz/geometry...

And the Python (which is failing) is here: https://github.com/kurshakuz/geometry...

The node is included in the launch file and is started there. I am launching: ros2 launch turtle_tf2_py turtle_tf2_demo.launch.pywhich starts the turtlesim, two broadcasters and listener. Link: https://github.com/kurshakuz/geometry...

I have two frame broadcasters, each one subscribed to their own topic and broadcast according transformations in the callback. Topics publish at rate average rate: 62.502 and the same rate for frame broadcasting. Thus I think there is an issue with my listener node. To be more specific, the only issue is related to the lookup_transform() function. I tried:

  1. using different timeout values starting from 50ms to 10s. For some reason it is not waiting for transform to be available and rather just pauses the spin
  2. to lookup old transformations by calling self.get_clock().now() - Duration(seconds=0.05) which solves the problem and it lets me to acquire transformation.

However, I try to build an example to get the transformation at time now(), without going back in time. This works as expected in rclcpp, but not in the rclpy. May it be the case that Python is just slower and there is no way to avoid it? Or is it possible that timeout works differently in rclcpp and rclpy?

2021-08-31 00:10:52 -0600 received badge  Popular Question (source)
2021-08-30 14:56:40 -0600 commented question timeout in lookupTransform behaves differently in rclcpp and rclpy

Yes I tried both. I have updated the question, please have a look. My short question is: how to acquire transformation a

2021-08-30 14:53:52 -0600 edited question timeout in lookupTransform behaves differently in rclcpp and rclpy

timeout in lookupTransform behaves differently in rclcpp and rclpy So I recently got stuck with this strange error that

2021-08-30 14:42:50 -0600 edited question timeout in lookupTransform behaves differently in rclcpp and rclpy

timeout in lookupTransform behaves differently in rclcpp and rclpy So I recently got stuck with this strange error that

2021-08-30 12:55:53 -0600 commented answer ROS2 lookupTransform() - cannot get transform at time now()

Do you mind to take a look at https://answers.ros.org/question/385342/timeout-in-lookuptransform-behaves-differently-in-

2021-08-28 11:47:21 -0600 edited question timeout in lookupTransform behaves differently in rclcpp and rclpy

timeout in lookupTransform behaves differently in rclcpp and rclpy So I recently got stuck with this strange error that

2021-08-28 11:45:10 -0600 asked a question timeout in lookupTransform behaves differently in rclcpp and rclpy

timeout in lookupTransform behaves differently in rclcpp and rclpy So I recently got stuck with this strange error that

2021-08-27 11:17:11 -0600 commented answer ROS2 lookupTransform() - cannot get transform at time now()

Can I ask you a similar question, but based on Python? What I am trying to do is to acquire transform at time now and ch

2021-08-25 06:46:34 -0600 answered a question How do you install tf_transformations?

If you are still experiencing this issue I could suggest to clone the tf_transformations repo to your workspace and buil

2021-08-25 01:21:03 -0600 marked best answer ROS2 lookupTransform() - cannot get transform at time now()

I am having issues acquiring transformation at the required time using lookupTransform()

It works as expected when I use tf2::TimePointZero (i.e. the last transform) but is failing when I use this->get_clock()->now() (i.e. transformation at "now").

Code snippet:

  transformStamped = tf_buffer_->lookupTransform(
    toFrameRel, fromFrameRel,
    this->get_clock()->now(),
    50ms);

The exception I handle is as follows:

Lookup would require extrapolation into the future. Requested time 1629833266.557150 but the latest data is at time 0.000000, when looking up transform from frame [turtle1] to frame [turtle2]

I actually spawn the turtle2 and definitely it needs some time to broadcast its transform, but the error is always there. Full code is available here: https://github.com/kurshakuz/geometry...

It also seems strange to me that the the latest data is at time 0.000000 is never changing.

Please let me know if you have any ideas.

2021-08-24 16:02:28 -0600 commented answer ROS2 lookupTransform() - cannot get transform at time now()

Thanks a lot! That makes it clear. Should I simply assign the now variable to this->get_clock()->now()?

2021-08-24 15:12:46 -0600 edited question ROS2 lookupTransform() - cannot get transform at time now()

ROS2 lookupTransform() - cannot get transform at time now() I am having issues acquiring transformation at the required

2021-08-24 15:09:38 -0600 asked a question ROS2 lookupTransform() - cannot get transform at time now()

ROS2 lookupTransform() - cannot get transform at time now() I am having issues acquiring transformation at the required

2020-06-07 07:18:18 -0600 received badge  Famous Question (source)
2020-04-12 10:28:31 -0600 received badge  Famous Question (source)
2020-04-12 10:28:31 -0600 received badge  Notable Question (source)
2020-02-12 01:58:16 -0600 received badge  Popular Question (source)
2020-02-01 01:01:30 -0600 asked a question move_base controller publishes movement in wrong direction

move_base controller publishes movement in wrong direction Hello, everyone! I have the following issue: I have fully wor

2020-01-26 09:01:20 -0600 marked best answer Can not load /cmd_vel_mux nodelet

Hello everyone! I am having the following issue. Previously I was able to successfully launch my environment with this piece in ros kinetic. However, I decided to move to Melodic and faced the following issue:

[ERROR] [1579875584.657874880, 0.034000000]: Failed to load nodelet [/cmd_vel_mux] of type [yocs_cmd_vel_mux/CmdVelMuxNodelet] even after refreshing the cache: According to the loaded plugin descriptions the class yocs_cmd_vel_mux/CmdVelMuxNodelet with base class type nodelet::Nodelet does not exist. Declared types are  depth_image_proc/convert_metric depth_image_proc/crop_foremost depth_image_proc/disparity depth_image_proc/point_cloud_xyz depth_image_proc/point_cloud_xyz_radial depth_image_proc/point_cloud_xyzi depth_image_proc/point_cloud_xyzi_radial depth_image_proc/point_cloud_xyzrgb depth_image_proc/register image_proc/crop_decimate image_proc/crop_nonZero image_proc/crop_non_zero image_proc/debayer image_proc/rectify image_proc/resize image_publisher/image_publisher image_rotate/image_rotate image_view/disparity image_view/image laser_proc/LaserProcNodelet nodelet_tutorial_math/Plus pcl/BAGReader pcl/BoundaryEstimation pcl/ConvexHull2D pcl/CropBox pcl/EuclideanClusterExtraction pcl/ExtractIndices pcl/ExtractPolygonalPrismData pcl/FPFHEstimation pcl/FPFHEstimationOMP pcl/MomentInvariantsEstimation pcl/MovingLeastSquares pcl/NodeletDEMUX pcl/NodeletMUX pcl/NormalEstimation pcl/NormalEstimationOMP pcl/NormalEstimationTBB pcl/PCDReader pcl/PCDWriter pcl/PFHEstimation pcl/PassThrough pcl/PointCloudConcatenateDataSynchronizer pcl/PointCloudConcatenateFieldsSynchronizer pcl/PrincipalCurvaturesEstimation pcl/ProjectInliers pcl/RadiusOutlierRemoval pcl/SACSegmentation pcl/SACSegmentationFromNormals pcl/SHOTEstimation pcl/SHOTEstimationOMP pcl/SegmentDifferences pcl/StatisticalOutlierRemoval pcl/VFHEstimation pcl/VoxelGrid stereo_image_proc/disparity stereo_image_proc/point_cloud2

[ERROR] [1579875584.657967891, 0.034000000]: The error before refreshing the cache was: According to the loaded plugin descriptions the class yocs_cmd_vel_mux/CmdVelMuxNodelet with base class type nodelet::Nodelet does not exist. Declared types are  depth_image_proc/convert_metric depth_image_proc/crop_foremost depth_image_proc/disparity depth_image_proc/point_cloud_xyz depth_image_proc/point_cloud_xyz_radial depth_image_proc/point_cloud_xyzi depth_image_proc/point_cloud_xyzi_radial depth_image_proc/point_cloud_xyzrgb depth_image_proc/register image_proc/crop_decimate image_proc/crop_nonZero image_proc/crop_non_zero image_proc/debayer image_proc/rectify image_proc/resize image_publisher/image_publisher image_rotate/image_rotate image_view/disparity image_view/image laser_proc/LaserProcNodelet nodelet_tutorial_math/Plus pcl/BAGReader pcl/BoundaryEstimation pcl/ConvexHull2D pcl/CropBox pcl/EuclideanClusterExtraction pcl/ExtractIndices pcl/ExtractPolygonalPrismData pcl/FPFHEstimation pcl/FPFHEstimationOMP pcl/MomentInvariantsEstimation pcl/MovingLeastSquares pcl/NodeletDEMUX pcl/NodeletMUX pcl/NormalEstimation pcl/NormalEstimationOMP pcl/NormalEstimationTBB pcl/PCDReader pcl/PCDWriter pcl/PFHEstimation pcl/PassThrough pcl/PointCloudConcatenateDataSynchronizer pcl/PointCloudConcatenateFieldsSynchronizer pcl/PrincipalCurvaturesEstimation pcl/ProjectInliers pcl/RadiusOutlierRemoval pcl/SACSegmentation pcl/SACSegmentationFromNormals pcl/SHOTEstimation pcl/SHOTEstimationOMP pcl/SegmentDifferences pcl/StatisticalOutlierRemoval pcl/VFHEstimation pcl/VoxelGrid stereo_image_proc/disparity stereo_image_proc/point_cloud2

[FATAL] [1579875584.658141652, 0.034000000]: Failed to load nodelet '/cmd_vel_mux` of type `yocs_cmd_vel_mux/CmdVelMuxNodelet` to manager `nodelet_manager' [cmd_vel_mux-8] process has died [pid 21968, exit code 255, cmd /opt/ros/melodic/lib/nodelet/nodelet load yocs_cmd_vel_mux/CmdVelMuxNodelet nodelet_manager /cmd_vel_mux/output/cmd_vel:=/amazon_warehouse_robot/cmd_vel __name:=cmd_vel_mux __log:=/home/robot/Desktop/workspace/Academy/exercises/amazon_warehouse/launch/log/8f0f16ee-3eb4-11ea-ad8f-08979875d07a/cmd_vel_mux-8.log]. log file: /home/robot/Desktop/workspace/Academy/exercises/amazon_warehouse/launch/log/8f0f16ee-3eb4-11ea-ad8f-08979875d07a/cmd_vel_mux-8*.log

My roslaunch contains following code for launching:

  <node pkg="nodelet" type="nodelet" name="nodelet_manager" args="manager"/>
  <node pkg="nodelet" type="nodelet" name="cmd_vel_mux" args="load yocs_cmd_vel_mux/CmdVelMuxNodelet nodelet_manager">
    <remap from="/cmd_vel_mux/output/cmd_vel"           to="/amazon_warehouse_robot/cmd_vel" />
    <param name="yaml_cfg_file" value="./config/mux_params.yaml"/>
  </node>

I am not able to understand the issue from error messages. Is the problem with this approach of launching cmd_vel_mux or is it something related to the ROS version? Any help is deeply appreciated!

2020-01-24 23:37:25 -0600 commented question Can not load /cmd_vel_mux nodelet

@gvdhoorn, oh yeah, right! I don't understand how I missed that, thanks!

2020-01-24 08:49:04 -0600 asked a question Can not load /cmd_vel_mux nodelet

Can not load /cmd_vel_mux nodelet Hello everyone! I am having the following issue. Previously I was able to successfully