Notifications
Clear all

Autonomous Robot navigation using RP lidar with jetson nano

10 Posts
5 Users
6 Likes
10.9 K Views
soumitra
(@soumitra)
Member
Joined: 5 years ago
Posts: 61
Topic starter  

Dear Friends

Hii! Had been using all my resources to learn on the new jetson nano .

Want to make a robot navigate using RPLIDAR A1 integrated with jetson nano and using arduino mega to control motors.

Installed ROS as well as rplidar using github and following all that was on the web.

Could reach upto catkin make and run RVIZ.

Now i need a guidance on how to use  this to navigate from point A to B....

Motor has encoders. I will be highly obliged if you can help me. Do next steps.!

Thanks a lot,

Best wishes 

Regards


   
Quote
Robo Pi
(@robo-pi)
Robotics Engineer
Joined: 5 years ago
Posts: 1669
 

Great  project Soumitra.  You are light-years ahead of me!  Sorry I can't help.  I do believe that Bill is going to be making more videos on the Jetson Nano and he's also into Lidar so hopefully he'll have a video out this summer that may help with your project.   I too would love to learn about both the Jetson Nano and Lidar but sadly at this point in time I can only wish I was that far along.  I hope others here will be able to help you.

Best wishes.

DroneBot Workshop Robotics Engineer
James


   
ReplyQuote
soumitra
(@soumitra)
Member
Joined: 5 years ago
Posts: 61
Topic starter  

Thanks! Yes am so eagerly awaiting for the new videos fron Mr Bill on jetson nano and the most awaited Lidar on DB1!!  

 


   
ReplyQuote
(@twobits)
Member
Joined: 5 years ago
Posts: 113
 

@sdey76

Yes, It seems there is a lack of usable information on the internet about the level of work you are trying to do. My guess is that reasonably priced tech has not been available for very long. Most of the beginner information seems to be based around servos on a plastic chassis.

From there it has been a pretty big price jump to lidar  + GPU based SBCs. Thus the lack of hobbyist information.

New tech is bring down the cost. $100 for a Nano plus $100 for a decent 2D lidar brings this into the budget range for a lot more people.

1. In my initial research Beaver works would seem to be the best similar level of project. However, not much is available online. In 2015 the beaverworks cars cost between $4000 and $5000 apiece. Now equivalent components are available for around $600. I hope they make more resources available online.

2.  Along those same lines is the Turtlebot3 . It appears to be the reference platform for learning ROS. It costs about $550. There is a pretty good manual but it is a bit outdated, has several errors, and is very specific to turtlebot hardware. Not all that friendly for people working at home on their own. 

3. The best source of Jestson Nano information is jetsonhacks . The information is not particularly in depth. But it has been really helpful for getting the board + sensors up and running.

I am work along the same lines as you. I hope dronebotworkshop can start filling that gap. If you rind anymore resources please let us know.


   
soumitra reacted
ReplyQuote
jscottbee
(@jscottbee)
Member
Joined: 5 years ago
Posts: 107
 

Hi @sdey76,

I'd just use the lidar mostly for obstacle avoidance whilst you move between point A to point B. Now you could possibly use it for calculating the distance to an object you want to drive to as long it's the object you want 🙂 

I have looked at ROS, but am not a user so cannot address it. 

For basic A to B navigation, you will need to know: (simplified version)

  • How many encoders counts per revolution of the motors you have.
  • How many revolutions or encoder tics per unit of measure. The unit of measure can be whatever you choose centimeters, meters, etc.

With this information, you can then estimate that there are n encoder tics from point A to B. You would drive the bot this many ticks trying to avoid any obstacles in the bot's path which could add to the distance needed. If blocked, you may need to recalculate your distance and or path.  There are methods to do this like SLAM or plain old dead reckoning. 

In a GPS bot I did a years ago, I used a subsumption method to control the bots current task state. 

A simplified flow, with each step being a state the bot is in.

      Task: Move from A point to B point

  • 1 - Acquire drive direction (bearing from compass and  GPS)
    • Turn and drive forward in that direction.
  • 2 - Scan for obstacles
    • If found, find a path around the obstacle
    • Go to Step one.
  • 3 - Check the course and see if path needs adjusting
    • If the direction is off, go to step one.
  • 4 - Are we at 'B' location?
    • If yes, halt. Get the next task.
    • If no, go to step one.

Again this is oversimplified but should give you some direction. In your case, you would use the encoder count info to drive your movements.  You could also use a camera if you are going to an object and keep the object in the center of the cam as you drive to keep you on course.

There is really no simple answer, but I hope this helps.

Scott

 


   
soumitra reacted
ReplyQuote
Spyder
(@spyder)
Member
Joined: 5 years ago
Posts: 846
 

I've tried probably a dozen ROS versions, a few that were even pre-compiled, and one that looked perfect for my project (Dolly), but, alas, all of them, without fail... failed at some critical update or install point

 

Even the Turtlebot which was previously suggested, runs on ROS (look under "features"). However, it might be worth investing in the "ROS robot programming book" here. On the other hand, as quickly as new versions come out, and old ones upgraded, I would be concerned that by the time the book actually got to me, it would be woefully out of date

Now, for my own project, I'm planning initially on using a pi-cam, but adding in lidar and ultra sonic sensors once I get it actually moving under its own power


   
soumitra reacted
ReplyQuote
soumitra
(@soumitra)
Member
Joined: 5 years ago
Posts: 61
Topic starter  

Thanks a lot scott for taking time to reply.Indeed your algorithm is great to navigate from point A TO B . Surely will try out. I have a tinygps module with me and all wheeks have encoders and data is available .

Also as i would use the robot for indoor like taking some parts from my workshop to the bays  and back likeva delivery bot.

I already succeeded using IR beacon. Like one IR transmiter at distance X from robot and the IR receiver on the robot. The robot is programmed to follow the strongest IR and it reaches destination. But i want to make it a bit more professional! In terms of mapping and moving.

Thanks once again.


   
ReplyQuote
soumitra
(@soumitra)
Member
Joined: 5 years ago
Posts: 61
Topic starter  

Thanks so much. 

There is a jestson pack called isaac.sdk. now i discovered this last night, where they have a carter robot moving around a map ! And i was like thrilled! But when i followed jetson NVIDIA  guidelines oh man my brain gave up !!! 

Now what i achived yesterday was i could indtall arduino IDE on jetson platform and could install rosserio which can compile arduino library

Now, i can run and arduino mega from a jetson nano. And from Mr Bills video ..I2C.. can control the motors i guess.

Still i dont know lidar plus mapping.

I discovered Hector Slam in github..may be some light at the end of the tunnel !! 

Thanks

 


   
ReplyQuote
(@twobits)
Member
Joined: 5 years ago
Posts: 113
 

Yes, ROS is a total pain to set up. The experience is similar to setting up linux was in the 1990s. An install took 14 disks and I only had 10. Writeable CD roms were still a dream.

It took two trips to the CAE(Computer Aided Engineering) to do an install.  Head to the CAE to download the first 10 disks. Trek home to install them. Back to the CAE to Download the last four disks. Home to install them. If a single disk image was corrupt it meant another trip to the CAE.

Why not just download them from home you might ask. Well modems were a blazing 2400 Baud. It took several hours to download a disk. Modems shared the line with the telephone. If anyone picked up a phone to make a call it would corrupt the download. Another 'feature', the little beep that indicated call waiting would hang up the modem call so a human could take the voice call.

Enough nostalgia, I think you are talking about the ROS Programming Book it is available as a PDF download here .I talked to the author a few weeks ago. There are no plans for an update this year. However they would like to do a refresh to ROS2 after the LTS release comes out in Spring of 2020.

This post was modified 5 years ago by twobits

   
soumitra reacted
ReplyQuote
Spyder
(@spyder)
Member
Joined: 5 years ago
Posts: 846
 

Yea, Isaac was one of the first Jetson projects that I attempted, only to find that the UnrealEngine refused to be located at the Github repository where the documentation claimed it would be, and then a post to the Jetson forums elicited not a single response, so I moved on with the next project that looked promising which also failed, and I'm currently on the Jetbot project, which, magically, hasn't failed yet

Although, I'm not planning on using the recommended hardware that the project describes, and haven't actually gotten as far as connecting anything, at least the software hasn't failed yet 🙂


   
soumitra reacted
ReplyQuote