[noobie] Need help with custom mobile robot navigation (multiple questions)
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-aluminum-4wd1-rover-kit.aspx
- raspberry pi: 3 model B running Ubuntu MATE 16.4 & ROS Kinetic
- adafruit motor drive: https://learn.adafruit.com/adafruit-dc-and-stepper-motor-hat-for-raspberry-pi/overview
- 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 mapserver mapsaver -f mymap to save a map
- Using rosrun mapserver mapserver 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
Asked by karimemara17 on 2018-11-02 02:10:59 UTC
Comments
@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
Asked by sajal on 2019-05-28 12:52:45 UTC