LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Robot Navigation with A*, Advance VHF and Deadreckoning

Hello NI Robotics community,

 

I have been working on my Thesis which involves simulating and implementing robot navigation algorithms using DaNI 1.0 robots. Basically, I am generating waypoints for the robot to move from one point to another using A*. Then for each waypoint, I use the Advance VHF to avoid obstacles while heading towards the goal. Also, I applied dead reckoning localization to update the robot's current position.

Currently, nothing is working accordingly, as the robot just spins around when I run the simulation. I urgently need help with this.

P.S. The environment id the A* is different from the simulation environment. All I want is for the robot to navigate correctly to the right goal, then I can change the environments.

Thank you very much for your help in advance. 

0 Kudos
Message 1 of 6
(2,969 Views)

Hello Chimsom,

 

Have you taken a look at any of the existing examples for DaNI robots?

I would recommend testing your code step by step instead of putting everything in at once. Can you clarify what success you have had in your code development and testing? Then, at what point did the robot start spinning?

 

Best regards,

Ryan B.
Technical Support Engineer
National Instruments
0 Kudos
Message 2 of 6
(2,925 Views)

Hi Brink,

 

Thank you for your reply.

I have gone through (thoroughly) the first three links you posted, including all examples in LabVIEW Robotics. Also, I have tested most of the examples, tried to combine them in different ways. I recorded some success, hence I thought it wise to use the above-named algorithms.

Most of my VIs I got from the examples, I tested them separately before combining. Personally, I was thinking if the loop programming was the problem (the combination of for and while loops in the CodeFinal_Test VI)...?!

0 Kudos
Message 3 of 6
(2,916 Views)

@Chimsom,

 

Thanks for the update. You mentioned you've recorded some success. Can you elaborate?

 

Also, at what specific point in your code development did the robot start behaving differently than you expected?

  1. What functions or examples were working before and now are not?
  2. What specific task or function are you wanting the robot to do, but instead the robot is just spinning in circles? (i.e. how were you expecting the code to control the robot?)
  3. Since the successful runs, what did you change or add in the project that caused the robot to not behave as expected?

 

I'm hoping to help us narrow down the source of the issue. Unfortunately I don't have any hardware to troubleshoot things from my end.

Best regards,

 

Ryan B.
Technical Support Engineer
National Instruments
0 Kudos
Message 4 of 6
(2,895 Views)

@Brink

 

Thank you for your reply. Answering your questions, we have:

  1. I had separately tested the dead reckoning and roaming VIs.
  2. Then I read extensively on the use of A* and advance VHF to guide the robot from point A to B. This lead me to study the simulated Youbot example, which uses LIDAR readings. In my own code, I tried the same navigation as found in the Youbot, but I used just the PING readings for angel and distances input to the advance VHF VI. Then the heading input of the advance VHF came from the robot's current position, which I estimated using the VIs from the dead reckoning example.
  3. My successful runs where on the separate examples. Since I brought all the VIs together to achieve the path planning and navigation from point A to B, the robot has been spinning on one spot.

I do have the hardware, but with only the PING sensor, that why I want to get to work in the simulation before deploying to the hard. I think if you try opening and running the example, you will find some things I have been unable to notice.

Thank you very much.

Regards. 

0 Kudos
Message 5 of 6
(2,880 Views)

Hey @Chimsom,

Have you tried using the Highlight Execution debugging tool built into LabVIEW. It can be very helpful in identifying where in one's LabVIEW code an issue is occurring. I would suggest using that to better understand which commands or parameters sent to the Write DC Motor Velocity Setpoints subVI are causing the robot to spin during simulation.

 

After I tried this, it looks like the robot does move in a straight direction at first, but then at some point different parameters are used that result in the spin move. Looking into this could provide more insight as to why the spin is occurring and help point you in the write direction to change the behavior.

 

Best regards,

Ryan B.
Technical Support Engineer
National Instruments
0 Kudos
Message 6 of 6
(2,856 Views)