[noobie] Need help with custom mobile robot navigation (multiple questions) [closed]
Good evening guys, (questions on the bottom) I'm a Robotics student working on my senior design and REALLY NEED SOME HELP. The idea of the project is that we will build our own environment. Then build a 2D map using "hector_slam", or "gmapping". Then send this map to the MR to navigate the map. The MR will always start from the same spot and will give it a goal and pose using "rviz" (ultimate goal is to have the goals and poses of a specific spot on the map predefined. In other words, I want to send it a number (1 or 2 or 3) of predefined goals and poses and it drives from point A (the predefined start point) to goal 1 or 2 or 3. I want to send the number using another computer over network).
I'm VERY new to ROS and trying my best to get learn and finish this project so I can graduate. My team and I finished building the 4 wheel drive robot using:
- mobile-robot chassis: http://www.lynxmotion.com/p-603-alumi...
- raspberry pi: 3 model B running Ubuntu MATE 16.4 & ROS Kinetic
- adafruit motor drive: https://learn.adafruit.com/adafruit-d...
- Optical Encoder on 2 of the 4 wheels
- lidar sensor: https://www.slamtec.com/en/Lidar/A3Spec
My current achievements:-
- Installed all the ROS, dependences, and the packages
- Using roslaunch rplidar_ros rplidar.launch to have the data and "/scan" node
- Using roslaunch hector_slam tutorial.launch to build a map
- Using rosrun map_server map_saver -f mymap to save a map
- Using rosrun map_server map_server mymap.yaml to publish the saved map
- Using motor-hat-node package & it's teleop (W-A-S-D) to manually move the mobile robot around to build the map
- Built the environment with dimensions in gazebo
- Built the mobile robot with dimensions in gazebo
Stuck on:
- Publishing odometery (is that the encoder data?)
- Navigation (which package to use? I have navigation stack installed but no idea how to use it)
- Localization (is it done with the navigation stack?)
- How to add encoders for the wheels in gazebo?
- How to add the right rplidar that I have in real life on top of the robot in gazebo?
- How to establish the communication between any of the navigation packages and my robot simulation or in real life?
Packages that I looked at but have no idea how to use for navigation:
- navigation stack
- mapping
- hector_slam
@karimemara17 did you find any solution for your problem or I can you please give me the link to the original question. I'm doing a similar project (using Rpi_3, motors with encoders and rplidar only) and finding navigation_stack difficult to understand and want to know how to proceed after creating a map (tif file). Can you briefly state the steps? I also wanted to know how to publish my encoder data (I'm using GPIO pins for pwm) and is it necessary to add pid controller. Thank You