How can I make a robot which could drive autonomously in a given map (made using hector slam and lidar) if i give it a ending point.
I'm making a robot using only 3 major parts (no other sensors) motors with encoders, raspberry Pi 3 and RPLidar A2M8. My progress is that I have the map.tif/trw (from rviz using hecor_slam). I know about the navigation package in ROS (finding pretty difficult to go through) and I have read what all data i need to communicate. I just want to know how and where to start after mapping. A list of steps or a detailed procedure would be really helpful and appreciated. Please share any helpful links.
Asked by sajal on 2019-05-29 08:23:27 UTC
Answers
Please follow the Navigation Tutorials.
EDIT
I'm not aware of any such tutorial. Your motor driver should give you velocity values. You then need to calculate where the bot would be based on its speed, for e.g. if you have a bot that started at origin and is moving at 0.1 m/s in +x, then after 1 second you would update it's position from (0,0) at t=0, to (0.1,0) at t=1. You then need to combine this information of the bot's current velocity and current position in a chosen frame, and publish it at a desired rate. This tutorial should guide you through that.
Asked by curi_ROS on 2019-05-29 08:27:59 UTC
Comments
@curi_ROS will I have to write my own code to publish the odometry data, or to send odometry data from motor to ros ans ros to motor? I have connected my motor directly to Rpi. So is there a tutorial available to publish odometry using Rpi through ROS.
Asked by sajal on 2019-05-30 00:17:13 UTC
Comments
how did you connect raspberry to pc for navigation?
Asked by Usui on 2019-06-04 18:52:25 UTC
I have not yet started the navigation, but you can use vnc server or ssh to connect pc to rpi.
Asked by sajal on 2019-06-04 23:52:44 UTC