Which package to use with sensors to solve a maze?
Hello everyone! I'm new to ROS but I've been reading the book "A gentle introduction to ROS" which gave me a fairly good idea about what ROS can accomplish. It's time to go to the next level so I've decided to create a two motor car which could be placed in a maze and solve it, it wold be like this: This car must find a heat source placed in the middle of the maze so I want to use an IMU and a heat sensor (MLX90614 IR sensor). The idea is to get to the heat source as fast as possible, thus I need to map the maze. This is the whole idea but I want to start slowly so I've decided to go by modules which I show below: Note: I'm going to explain all the modules I want to implement in order to link this question to the future ones so I won't have to explain it again. So...
First Module: To active one servo motor and then two servo motors using Ros, a Raspberry Pi 2 and C++. I found that in order to accomplish this I must do this: http://answers.ros.org/question/248574/raspberry-ros-servo/?answer=249792#post-id-249792 but it uses a pca9685 16-channel servo driver which costs around $10USD. Is this the only way? I don't know much about the packages there mentioned but I think it may be a bit too much for what I'm trying to accomplish which is to activate 2 motors in combination in order to make the car go in one direction or to rotate. What do you think?
Second Module: Once I'm comfortable working with motors I want to place a heat source a few centimeters away from the car and use the heat sensor in order to go to the source. I haven't read too much about it so I won't develop too much on this question. All I know for now is that the communication protocol of the heat sensor is I2C so later I can read about this.
Third Module: Use the IMU in order to "map" the path the car does in order to go to the heat source. I haven't read about it too much either so let's leave it at that.
Fourth Module: Use a camera or a distance optical sensor in order to recognize the maze.
The main question is in the first module, what is the easies way to accomplish it? I really hope you can help me out!
Thanks in advance!
Asked by Nexo on 2017-07-26 17:37:44 UTC
Comments