> I've spent over a year and I've had a lot of help - I can now run the robot around using a joystick while building a map, then I can indicate a start position and a goal position on the map, the robot then successfully plans, plots and displays a path from the start to the goal... then it heads off in the wrong direction.
I'm exactly at the same point you are. My robot immediately drives to the closest wall and sits there and looks stupidly at the wall.
This page http://www.ros.org/wiki/turtlebot_navigation/Tutorials/Autonomously%20navigate%20in%20a%20known%20map
"The teleoperation can be run simultaneously with the navigation stack. It will override the autonomous behavior if commands are being sent. It is often a good idea to teleoperate the robot after seeding the localization to make sure it converges to a good estimate of the position. "
I'm thinking that it is not a good idea to initially drive manually but maybe it is a requirement. Maybe just rotate 360 degrees before moving autonomously would be good enough? I haven't tried that. You can see the "cloud of uncertainty" get smaller (the cloud of red arrows around the robot) as you manually drive it around.
I also have a hard time trying to figure out the ROS documentation. But I plan to continue on when I get time.
As far as other approaches, there is MRPT (Mobile Robotics Programming Toolkit). I don't know much about it but the YouTube videos make it look like it is comparable to ROS. It appears to be a collection of libraries. But you may be left to figure out how to piece them together.
A product like RoboRealm that is built on top of ROS would be fantastic. Imagine dragging a Kinect module into the list followed by a SLAM module. Then drag a 2Dnav module into the list. And imagine it all magically connecting and working. Somebody should write that program! :-)