0
$\begingroup$

Rosanswers logo

Hi folks,

finding the tutorials linked in this question http://answers.ros.org/question/60363/neato-laser-scan-shows-impossible-datas-in-rviz/ I learned a lot of connecting Neatos lidar to ros. But because I'm not so firm with ros (at work I'm only developing complex C++ programs) I hope, someone can teach me a way to fullfill my wish: I owned a Vorwerk VR100 wit Rev. 64 PCB (so no additional serial ports are known at this time). So I planned to connect a transparent bluetooth module to the lidars port (only listening to the lidar datas during the cleaning process). I don't want to control the robot at the first time. Only passive scanning the lidar data. I'd like to watch live, how a map of my house is created out of this continuous lidar data without additional odometry as seen in this video: http://www.youtube.com/watch?v=o9KzTR0vTXk Later I want to add a trace along the way of the robot as wide as it's brushes to find out skipped and not cleaned areas and to remove obstacles causing such areas. There was a video showing this procedure by the Neato developers with a live view inside it's brain: http://www.youtube.com/watch?v=hf1zY8vRC2E So is there a way, to create a map only using the lidar data without odometry and without control of the robot?

Sorry for my poor english, I'm german.

Appendix 1: system: Ubuntu 10.10 maverick ros: cturtle installation: http://xv11hacking.wikispaces.com/Connecting+to+ROS and https://github.com/tu-darmstadt-ros-pkg/hector_slam

Made successfully "rosmake eigen", checked all entrys from wiki for ros+eigen but get furthermore on "rosmake hector_slam" the errors "Failed to find rosdep eigen for package ..." in a lot of packages and "Could not find module FindOpenCV.cmake or a..." in package hector_compressed_map_transport. Why it isn't possible to get a consistent IDE in linux or at least understandable an reproducible instructions to build a package? Is there anyone, who has installed these packages successfully and can give me a hint, where I made the misstake processing the tutorials?

Appendix 2: Now, with ubuntu 12.04 and ros fuerte I got no errormessages at the begin of the buildprocess. But now the process stops building "hector_geotiff_plugins": /home/vr100/ros/hector_slam/hector_geotiff_plugins/src/trajectory_geotiff_plugin.cpp:117:109: Fehler: expected constructor, destructor, or type conversion at end of input make[3]: *** [CMakeFiles/hector_geotiff_plugins.dir/src/trajectory_geotiff_plugin.o] Fehler 1 make[3]: Verlasse Verzeichnis '/home/vr100/ros/hector_slam/hector_geotiff_plugins/build"

The source snippet out of trajectory_geotiff_plugin.cpp: 116 #include <pluginlib/class_list_macros.h> 117 PLUGINLIB_EXPORT_CLASS(hector_geotiff_plugins::TrajectoryMapWriter, hector_geotiff::MapWriterPluginInterface)

I made all here requested modifications for "Eigen" but had no success. He doesn't like the line with "PLUGINLIB_EXPORT_CLASS". Any hints?

Edit: Excluding this line from build will succeed the build process and all parts are to see in rviz. But this can't be the final solution because the geotiff_plugin now is not functional.

Appendix 3: Now I can create and show maps using the lidar data of the VR100 robot. But this works only if I record the data before using rosbag and then send them via playback to the map/rviz. Only recorded data affects any reaktion in rviz. Using the live lidar data, no reaction on the map is to see. When I playback the previous data parallel, these data create a map and afterwards the life data affects the direction and (the false) position of the shown tf (red/green angle) but not the map. rostopic shows in both cases the published /scan and /rpms topics (both subscribed by at least one subscribers). When running driver and rosbag-player in parallel, /scan and /rmps-topics have two publishers. I changed the neato driver to publish its frame name also with "scan" to prevent the usage of remapping to "neato_laser" or other difficulties.

Appendix 4:

Big thanks to dornhege and jodafo. Now the lidar data are shown in the map. Yesterday I got my serial-bluetooth module from china, build it into the robot and can now watch it all over the house. Two questions are left. Which parameters I have to optimize to prevent the mapper from lose the actual position of the robot and starting a new map on another position: http://img801.imageshack.us/img801/9921/g52m.png The maximal and minimal values for the laser data I already limited to 3m and 30cm. Second: I'd like to add a path with the wide of the brushes of the robot (~30cm) to see, witch areas were cleaned and which skipped. The path display itself let me only change the color, not the wide. Is there a possibility to create a own path display with a wider line?


Originally posted by FlashErase on ROS Answers with karma: 39 on 2013-09-03

Post score: 0


Original comments

Comment by jodafo on 2013-09-08:
you most likely won't need the geotiff_plugin as long as you don't want to participate in robocup rescue ;). as for the error, i could imagine it broke somewhere in the process of making hector slam run on groovy shrug.

Comment by FlashErase on 2013-09-09:
Thank you for this hint. In this case I'll ignore this error and let the problematic line excluded.

Comment by dornhege on 2013-09-11:
For additional questions, please open a new question instead of appending them here.

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

Check out http://wiki.ros.org/hector_mapping.


Originally posted by dornhege with karma: 31395 on 2013-09-03

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by FlashErase on 2013-09-03:
Thank you. This system (and a lot of other) I already found. But without a plan how to start, how to configure and how to continue there is no way for me to get success.

Comment by FlashErase on 2013-09-03:
I need a hint how to see the map in rviz (I only can see the momentary distance points after enabling this hook). I found no settings to enable the view to the map. And second, where I can read how to use my own live lidar data for the map instead of the played sample data?

Comment by FlashErase on 2013-09-03:
@dornhege Sorry for deleting your comment "Just add a map display in rviz." together with my answer. A map display is always included. But it does not get data because the nodes "hector_mapping", "hector_trajectory_server" and "geotiff_node" didn't start. Messages: "Cannot locate node of type ..."

Comment by dornhege on 2013-09-03:
Do you have them installed/built?

Comment by FlashErase on 2013-09-03:
Sorry, I ignored some errormessages during build. The build process stops because "Eigen" isn't installed and configured. Reading this: hxxp://wiki.ros.org/eigen I surrender for today and hope, that I'll have tomorrow after work enough brain left to fight with this mess.

Comment by FlashErase on 2013-09-04:
I'm not intelligent enough. On "Failed to find rosdep eigen for package hector_mapping" Google finds 3 hits with no helpful infos. The ros wiki gives no hint for using Eigen in cturtle. I installed libeigen2-dev and libeigen3-dev. Always the same errormassages. Any hints to use the installed Eigen?

Comment by FlashErase on 2013-09-04:
Appended text to my original question.

Comment by FlashErase on 2013-09-07:
Last question: how can i change the datasource in this tutorial: https://github.com/tu-darmstadt-ros-pkg/hector_slam from the bag player to the real laser data /neato_laser from this driver: http://wiki.ros.org/xv_11_laser_driver/Tutorials/Running%20the%20XV-11%20Node#View_the_data_in_RVIZ ?

Comment by dornhege on 2013-09-08:
remapping, I guess.

Comment by FlashErase on 2013-09-08:
Could you give me please a litte bit more informations instead only jot a nugget every time? I wrote in my question, that I'm not so firm with ros and rviz. The documentation for rviz is poor and I can't find a successfull way to use the lidar data for mapping there. What to do for "remapping"?

Comment by dornhege on 2013-09-08:
It's only a guess, because I haven't looked at the data: I think that the topics for the laser used in the two links you gave are different names. Remapping the neato laser topic to the name that is used in the example should fix that.

Comment by jodafo on 2013-09-08:
have a look at hector_mapping/launch/mapping_default.launch. In there it says so you can either set "scan_topic" arg to "\neato_laser" in your launch file, or use "remap". syntax for both can be found in the tutorials.

Comment by FlashErase on 2013-09-09:
Hi jodafo ,thank you, this was a tip in the form I hoped for. But unfortunately all changes brings only the effekt, that the map-topic reports the error, that "/scan" or "/neato_laser" can't be converted to /map. Only when I change the fixed frame to /scan or /neato_laser I can see the lidar ... tbc

Comment by FlashErase on 2013-09-09:
data (but only the life data, no map is shown). Is there anywhere a step by step tutorial for creating a hector_mapping application using lidar data? The wiki documentations seems to agree that the reader already knows allthing about ros and Co. The samples are so complex that no red line is to find

Comment by jodafo on 2013-09-09:
well, did you do http://wiki.ros.org/ROS/Tutorials ? I honestly found the hector tutorial quite well written. I mean you just have to make sure your tf tree looks like the one given by the hector guys and remap the scan topic, then hector_mapping should publish a tf from map to odom frame.

Comment by FlashErase on 2013-09-10:
Thank you, jodafo. By reading a lot of manuals and FAQ I got step by step a (partially) functional configuration and can see a map of my homebot: http://img801.imageshack.us/img801/1347/v84x.png. Unfortunately it only works with playing previous recorded bags. Life data from lidar are ignored.

Comment by jodafo on 2013-09-10:
that is very weird. did you maybe set "use sim time" to true even though you are using the actual lidar?

Comment by FlashErase on 2013-09-11:
That's indeed weird. "use_sim_time" is "true". I put the relevant files on http://flasherase.ohost.de/vr100.zip. The exact behaviour I'll append on my initial question.

Comment by dornhege on 2013-09-11:
In that case set use_sim_time to false, when you're working in reality.

$\endgroup$
0
$\begingroup$

Rosanswers logo

Hi, may I ask why you are using cturtle? My guess is that by using a newer version (i.e. one for which hector slam is/was developed) would make it easier for you.

Regarding the dependency issues: I wasn't around in cturtle times, so I'm not sure here. However there have been some changes concerning eigen when fuerte was introduced: http://wiki.ros.org/fuerte/Migration. Did you check out the electric branch of hector_slam or fuerte/groovy/hydro? If the latter I'd suggest to try out the electric branch. Can you check whether <depend package="eigen"\> is in your manifest.xml? This was dropped with fuerte, so you might need it in cturtle.

edit: Ubs, just saw that you wrote that it says failed to find rosdep eigen. In this case try rosmake --rosdep-install (again, this is just a guess since i do not know cturtle)


Originally posted by jodafo with karma: 365 on 2013-09-04

This answer was NOT ACCEPTED on the original site

Post score: 1


Original comments

Comment by FlashErase on 2013-09-04:
Thanks for your answer. I use cturle because the first example for the Neato was designed for maverick and there I only was able to install cturtle. Installation of other distributions failed. Would you suggest to use ubuntu 12.04 and ros fuerte to prevent version problems? I'll test it this evening

Comment by dornhege on 2013-09-05:
definitely

Comment by FlashErase on 2013-09-05:
OK, thank you. Then I'll make tabula rasa coming home from work and starting completely new. Because I use ubuntu for ros purposes only running it on an external drive it will be no problem to kill this partition. All my other IDEs are running perfect on a different drive with Suse.

Comment by FlashErase on 2013-09-05:
Appended text to my original question.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.