LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How can I get the NI Robotics Starter Kit to go to a certain coordinate?

Hey all,

I am brand new to the world of robotics and I am currently working on a project using the NI Robotics Starter Kit aka DaNI and Labview 2010. At the moment I am trying to figure out a way to get the robot to travel to a certain set of coordinates from its starting spot. I am an absolute noob when it comes to Labview seeing as how I had never even heard of it before a couple weeks ago. I've gotten it roaming on its own using the roaming vi that was included with the software, but that doesn't really help me all too much as far as my project is concerned. Any bump in the right direction will be greatly appreciated. Thanks!!

-Samie

0 Kudos
Message 1 of 10
(3,887 Views)

Hi Samie,

 

Welcome to the world of robotics!  I'm excited to hear that your using the NI Robotics Start Kit and LabVIEW. 

 

First, let me say that what you're asking is one of the most useful capabilities of a mobile robot, but can also be one of the most difficult to implement!  I'll try and give you a couple suggestions and point you to some good resources. However, can you tell me a little more about the project you are working on?  Many times, there are simple approaches for a robot to accomplish a goal without necessarily knowing where it is in absolute coordinates.

 

I can give you some more ideas once I know more about the project your working on, but to start off, one way you can track a robot's position or tell it where to go, is by using the feedback from the robot's motor encoders.  The encoders measure how far the wheels rotate, and in turn, how far the robot traveled.  If you're traveling in a straight line, this is really easy--all you need to do multiply the number of revolutions of the wheel by the circumference of the wheel to get the distance the robot has traveled.  Once you start turning, this measurement gets a little tricky.  Let me know a little more about what your working on and I will have more suggestions.

 

Cheers,
Karl

0 Kudos
Message 2 of 10
(3,880 Views)

Hey Karl!

Thanks for the help! At the moment I am working on a project in which I will be using the Monte Carlo Method to come up with a solution to a simplified version of the Traveling Salesman Problem and I will be using DaNI to travel the path created by that solution. I will be using Labview to code everything for this project. So essentially I will have a number of points laid out on a grid and I will insert those coordinates into the program I write in Labview at which point it will plan out the shortest route through all of the points. The route will be sent to the robot and it will then run through the route autonomously. Well ideally.

-Samie

0 Kudos
Message 3 of 10
(3,870 Views)

Hi Samie,

 

Is the grid you refer to a visible grid on the ground?  If so, you may be able to use a camera or set of color sensors to detect your location based on grid lines the robot passes.

 

Another way to figure out where the robot is would be to extend the use of the encoders.  You can use the velocity of the robot's wheels to estimate how fast the robot's body is moving.  Then multiply that velocity by a fixed time step to determine where the robot probably moved to.  The time step would be the amount time since you last measured the robot's velocity.  This approach will accumulate error since you're effectively integrating to find the robot's position.

 

Depending on your setup, you may be able to mount a camera above the area the robot is navigating around.  The camera can see the robot, determine its location, tell the robot where it is, and also where the robot needs to go.  We did something like that for an NI Week demo: https://decibel.ni.com/content/docs/DOC-13051 

 

Those would probably be the best approaches for this kind of problem.  Let me know what you think.

 

Cheers,

Karl

0 Kudos
Message 4 of 10
(3,865 Views)

Well I was considering using a camera and markers at a later date as an extension to my current project, but for the time being I just want to give the robot a series of coordinates, the order of which will be evaluated by a program that I am working on, and have the robot travel to those coordinates. Is there a way to do that directly or would I have to use the encoders to determine the distance traveled? What kind of error would I be looking at in that case? What does DaNI stand for?!?!

0 Kudos
Message 5 of 10
(3,852 Views)

Hi Samie,

 

If you want to use the encoders to determine the robot's location, you'll want to do something like dead reconing (http://en.wikipedia.org/wiki/Dead_reckoning).  The error accumulated depends on many factors, which include: wheel slippage, encoder resolution, and sample rate.  The wikipedia link actually has equations for determining the robots position (differential drive dead reckoning).

 

 

Cheers,

Karl

0 Kudos
Message 6 of 10
(3,846 Views)

Hi,

 

I have a few question. I would like to control a few mobile robots from "Mobile Robots"(Amigo,Pioneer,PowerBot) using labview.I found some examples in this application but these are enough for me to understand everything.

My request is if you have such applications made ​​by you that you can give it to me.

 

Thanks,

Alina

0 Kudos
Message 7 of 10
(3,721 Views)

Hello Alina,

 

I don't have many pre-written examples at my disposal that could help you out in terms of modifying existing code, however in terms of resources for developing robotics algorithms have you had a chance to check out the Robotics Fundamentals Series http://zone.ni.com/devzone/cda/tut/p/id/8187? I feel as though this might be a great resource to navigate through to better understand the theory behind how one have achieve a great deal of standard functionality in robotics. If you are looking for specific examples to help out in the design process, could you perhaps clarify what you are trying to achieve in your robotics application? From there, I might be able to find something to pass along your way. 

 

Best,

Blayne Kettlewell 

0 Kudos
Message 8 of 10
(3,700 Views)

hi!

 

Maybe it´s a little late, but if you want to see an example of practical odometry for a diffeerntial robot, you can check this VI: http://www.chiefdelphi.com/forums/showthread.php?t=73971

 

Im working in a proyect with the Starter Kit too... and Im a noob too! Smiley Wink I was working in the odometry before summer, so I need some time to refresh it, but as I remember, the example posted is OK (maybe I had to modify something, cant remember right now!).

 

Odometry , in theory, will allow you to identify the rute and actual coordinates of DaNi. Im not quite sure if I programmed the real VI with the I/O code for the Starter Kit (reading the actuators to calculate real distances and such), but it should be easy... I think.

 

Also, do you know about the RobotSim? It´s a 3D simulator that can be programmed with Labview, and includes a Starter Kit model. It has a nice demo (80 days completely free!)

 

 

PD. Odometry it´s not the final solution, because errors are acumulative, but is cheap (in money and soft), and not so bad. I read that it´s better to use odometry combined with GPS coordenates correction every X time, so you erase the acumulative factor. But GPS isn´t always the best aproach, it depends on what the robot is going to do, so... ask someone wiser than me xD

 

 

0 Kudos
Message 9 of 10
(3,666 Views)

Hello

 

I am a very beginer of LABVIEW and Robotic toolkit

 

I have good basics of control

 

I just bought the robotic starter kit ( DANI )

 

I want to do a DC motor Position Control research as for a Master degree....can I use it?

 

PID or Fuzzy DC motor control on this kit???

 

What do I need to know or to prepare?

 

I couldnt find the DC motor parameters to bulid its transfer function

 

 

thanks

A.Hakim
0 Kudos
Message 10 of 10
(3,380 Views)