How do I setup my workspace specifically for my robot?
I'm well on my way to making a robot. I bought a few ROS books and have been playing with Gazebo and Rviz, Publishers and Subscribers.
I'm going to have a 2 motored robot controlled by Sabertooth Dual 25A controller using an Arduino to subscribe to Cmd_vel topics.
I have an Xbox Kinect using FreeKinect - (still learning what all the topics do) and I plan on using a pointcloud2 to laserscan library (still learning, and cant get it to work) to substitute until I can afford a Lidar.
I would like to use Voice commands, SLAM and autonomous navigation, facial recognition (maybe Yolo).
So as far as my "WS" - how is it normally setup? Is there a package for each sensor or behavior? Or do you setup a Utility Package for voice commands or something, a Navigation Package for mapping and Kinect stuff, and so on? Would I have a Seperate package for Gazebo Simulation? Also I'm having a really hard time melding the simulation and real thing.
And How do I come up with a list of dependencies so that I can make/ build without error (the CMake file intimidates me). Also, what if I find a package I like and want to experiment with - how do I incorporate it - since most aren't well documented?
I'm just getting started. Thanks for all your help