mikeferguson / neato_robot

Drivers and ROS bindings for the Neato XV-11 robot.
44 stars 55 forks source link

Transform Error #6

Closed ghost closed 9 years ago

ghost commented 10 years ago

I am having an issue which occurs after launching the neato_2dnav move_base node. I receive the error:

Waiting on transform from base_link to map to become available before running costmap, tf error:

Here is a screenshot. I am running on firmware 3.1. I've also tried vegelius's modified drivers but after looking through his code I don't really see why renaming and removing some variables makes it '3.1 compatible'. I received the same error with his fork.

Do you have any suggestions?

neato_driver_error

I appreciate your taking the time to read this and for all your work publishing the driver! PS: I'm a big fan of Maxwell and the new UBR-1!

mikeferguson commented 10 years ago

Have you initialized AMCL (through RVIZ or other means)? Can you post the output of "rosrun tf tf_monitor"?

ghost commented 10 years ago

Here is what I'm running in these photos in order:

roscore roslaunch neato_node bringup.launch roslaunch neato_2dnav amcl.launch roslaunch neato_2dnav move_base.launch rosrun rviz rviz tf_monitor rqt2

mikeferguson commented 10 years ago

There is no base_link to odom TF data -- which means the neato node is not running properly and getting data from the encoders -- is there anything coming out on the "odom" topic?

Unfortunately I don't have a newer neato to test on, so I'm not sure exactly what the issue is.

mikeferguson commented 10 years ago

@azomazigelog did you find a fix for this? Or is it still a problem? If you found a fix, please post what it was so that future users who stumble upon this can know, if it is still an issue, please leave the issue open as a warning to others with newer firmware.

jlohse commented 10 years ago

@azomazigelog I had the same issue, my Neato XV-21 with firmware 3.2.18755 initially did not work with this driver. It turned out that the driver was hanging while trying to read the response to the "getmotors" command. Try this modification, it makes the driver more generic and works for me: https://github.com/jlohse/neato_robot

@mikeferguson It looks like setMotors() does not really implement what the comment describes. Did you mean to indent the assignments to l, r, and s? As is, the neato never fully stops. It crawls forward very slowly.

ghost commented 10 years ago

@jlohse Works perfect, thank you! I'm finally able to see laser scans and move the XV-11 around. It was a good idea using Ctrl-Z to signal the end of data, instead of hardcoding it.

photo