Go to Post ...okay, maybe I have a xkcd addiction - plnyyanks [more]
Home
Go Back   Chief Delphi > Technical > Programming > NI LabVIEW
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 31-03-2011, 19:41
kamocat's Avatar
kamocat kamocat is offline
Test Engineer
AKA: Marshal Horn
FRC #3213 (Thunder Tech)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 2008
Location: Tacoma
Posts: 894
kamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nice
Send a message via AIM to kamocat Send a message via MSN to kamocat
Re: Simulate robot drive

If you devote your time to it, that's definitely doable in one summer.
When I was making a simple robot movement simulator, I often used the "Re/Im to Polar" and "Polar to Re/Im", for converting between Cartesian and polar coordinates. (They're found in the "complex" subpallette of Numeric)

If you're not already familiar with Sine, Cosine, and Tangent, you should become so.


As for actually creating the code, make sure to start with your definition. What do you want to accomplish? What are your inputs (controls)? What are your outputs (indicators)? You can create the front panel of your main VI first, and that will help define your code later.
(For example, you can have a VI that has the inputs of speed, direction, acceleration, rate of turn, and elapsed time, and the output of change in position. You know that every one of those inputs makes a difference in the value of the output. Now you just need to figure out WHAT the relationship is, and how you would describe that in a formula.)]

I have a brief overview of the process of software development here: http://kamocat.com/programming/development.php
It's simple enough to not get lost in, but if you have any questions or need further detail, please ask.
__________________
-- Marshal Horn
Reply With Quote
  #2   Spotlight this post!  
Unread 31-03-2011, 21:54
siggy2xc siggy2xc is offline
Registered User
AKA: Tyler Siegrist
FRC #1756 (Argos)
Team Role: Programmer
 
Join Date: Mar 2010
Rookie Year: 2009
Location: peoria
Posts: 70
siggy2xc is an unknown quantity at this point
Re: Simulate robot drive

How do you make your code work? both the default and final picture are blank.
Reply With Quote
  #3   Spotlight this post!  
Unread 31-03-2011, 23:37
kamocat's Avatar
kamocat kamocat is offline
Test Engineer
AKA: Marshal Horn
FRC #3213 (Thunder Tech)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 2008
Location: Tacoma
Posts: 894
kamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nice
Send a message via AIM to kamocat Send a message via MSN to kamocat
Re: Simulate robot drive

I made this when I was first learning LabVIEW, so I apologize that it's not very intuitive.
First set your initial position. (300,300) is a good place to start. Start the VI with "continuous run". Now click "initialize". This will clear the image, and reset the robot position. Click it again to commence the movement.

To move, use the "speeds" sliders. It appears that the left and right are mixed up, so you may want to fix this.


One thing to note:
At this point in time, I would not consider this an example of impeccable code. It works, and it's readable, but it's not intuitive, and the way it plots points on the picture is inefficient.

If it would help to have a better example, I will fix this up for you.
__________________
-- Marshal Horn
Reply With Quote
  #4   Spotlight this post!  
Unread 01-04-2011, 00:09
siggy2xc siggy2xc is offline
Registered User
AKA: Tyler Siegrist
FRC #1756 (Argos)
Team Role: Programmer
 
Join Date: Mar 2010
Rookie Year: 2009
Location: peoria
Posts: 70
siggy2xc is an unknown quantity at this point
Re: Simulate robot drive

If you could fix up the code I think that would help tremendously. Also would you mind describing what is happening in the relative movement vi? I really appreciate this, I feel like I'm really good at programming hardware in intuitive ways but terrible at creating virtual simulations of what it should do.

But yes I understand sin, cosine, and tangent. But not well enough to fully figure out the swerve drive quite yet (That can wait for awhile since we don't even have a swerve drive built yet).
Reply With Quote
  #5   Spotlight this post!  
Unread 01-04-2011, 02:32
kamocat's Avatar
kamocat kamocat is offline
Test Engineer
AKA: Marshal Horn
FRC #3213 (Thunder Tech)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 2008
Location: Tacoma
Posts: 894
kamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nice
Send a message via AIM to kamocat Send a message via MSN to kamocat
Re: Simulate robot drive

Okay, here's an improved version.
  • Front panel is more intuitive
  • VI works with default values
  • no longer runs at full blast (which means less points are plotted)
  • distance calculation is time-based

I made an some options for it to be controlled via Joysticks, but I haven't implemented that yet. (The appropriate VIs are in the HID pallette. Make sure you're targeted to your computer; Human Interface Device drivers aren't available for the cRIO, and so that palette will be hidden.)

EDIT:
It's still not impeccably documented, but it should be clear what each section does, if not why it works.
Attached Files
File Type: zip simulate robot drive.zip (45.7 KB, 13 views)
__________________
-- Marshal Horn

Last edited by kamocat : 01-04-2011 at 02:34.
Reply With Quote
  #6   Spotlight this post!  
Unread 03-04-2011, 23:09
j.cole j.cole is offline
Registered User
FRC #0379
 
Join Date: Jan 2010
Location: Girard
Posts: 159
j.cole has much to be proud ofj.cole has much to be proud ofj.cole has much to be proud ofj.cole has much to be proud ofj.cole has much to be proud ofj.cole has much to be proud ofj.cole has much to be proud ofj.cole has much to be proud ofj.cole has much to be proud of
Re: Simulate robot drive

Well I now feel stupid w/e seems like a very useful tool. Thanks for all of the hard work that was put into this hopefully I'll get to using it.
__________________

It's not normally a good idea to give a programmer a drill but rules are made to be broken.
Reply With Quote
  #7   Spotlight this post!  
Unread 04-04-2011, 01:59
kamocat's Avatar
kamocat kamocat is offline
Test Engineer
AKA: Marshal Horn
FRC #3213 (Thunder Tech)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 2008
Location: Tacoma
Posts: 894
kamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nice
Send a message via AIM to kamocat Send a message via MSN to kamocat
Re: Simulate robot drive

I'm not sure how much it will help with autonomous; anything it can show can be calculated using a drawing.
However, it might be useful as a little code debugger. Run "autonomous independent" while targeted to your computer, and it runs through this? That might be fun.

Remember: a simulation is only as realistic as you make it. Don't forget to "check your work" and make sure it describes what is actually happening with the robot on the field.
__________________
-- Marshal Horn
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 20:41.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi