IEEERobotics / high-level

CV, localization, mapping, planning, and generally anything that will run on the PandaBoard
BSD 2-Clause "Simplified" License
2 stars 1 forks source link

Motion primitive creation #13

Closed dfarrell07 closed 11 years ago

dfarrell07 commented 11 years ago

@R00ney (Neal) offered to own the creation of motion primitives, since he's familiar with MATLAB as well as the physical robot. Let's use this issue to track their development and share information.

Neal, you'll need to pull this repo and then check out the matlab/mprim directory. There are are example MATLAB scripts for building motion primitives as well as motion primitive files for the PR2.

I don't know much more about this then you all do now, since I'm just starting to think about mprim creation. All help is appreciated.

dfarrell07 commented 11 years ago

Any update on the mprim work, @R00ney?

R00ney commented 11 years ago

Not yet, sorry.

I know I will have time on Tues. and hopefully on Wed's as well.

Sorry again for being behind on this.

Neal

On Sun, Mar 24, 2013 at 4:35 PM, Daniel Farrell notifications@github.comwrote:

Any update on the mprim work, @R00ney https://github.com/R00ney?

— Reply to this email directly or view it on GitHubhttps://github.com/NCSUhardware/high-level/issues/13#issuecomment-15368596 .

R00ney commented 11 years ago

Hey guys,

what is the resolution of the map again?

A bunch of us are in Troxler right now, if anyone wants to drop in.

Neal

On Fri, Mar 22, 2013 at 11:59 PM, Daniel Farrell notifications@github.comwrote:

@R00ney https://github.com/R00ney (Neal) offered to own the creation of motion primitives, since he's familiar with MATLAB as well as the physical robot. Let's use this issue to track their development and share information.

Neal, you'll need to pull this repo https://github.com/sbpl/sbpl and then check out the matlab/mprim directory. There are are example MATLAB scripts for building motion primitives as well as motion primitive files for the PR2.

I don't know much more about this then you all do now, since I'm just starting to think about mprim creation. All help is appreciated.

— Reply to this email directly or view it on GitHubhttps://github.com/NCSUhardware/high-level/issues/13 .

dfarrell07 commented 11 years ago

I believe it's 1/16 of an inch. Is that correct @rlsnow? Also, how can it be changed (if, say, nav runs too slow with that detailed of a map)?

I have a test in an hour, so I can't come in right now. :\

R00ney commented 11 years ago

Currently, it looks to me like motion primitives must be hardcoded with a certain resolution, a certain finite turn angle increment, and constant weights on preferred motions. Unless this matlab code can be run in realtime on the panda board.

If we can pick those three parameters for all path planning (resolution, turn in place angles, and preferred weights) then this code will do the work more simply for us.

Neal

On Tue, Mar 26, 2013 at 4:29 PM, Daniel Farrell notifications@github.comwrote:

I believe it's 1/16 of an inch. Is that correct @rlsnowhttps://github.com/rlsnow? Also, how can it be changed (if, say, nav runs too slow with that detailed of a map)?

I have a test in an hour, so I can't come in right now. :\

— Reply to this email directly or view it on GitHubhttps://github.com/NCSUhardware/high-level/issues/13#issuecomment-15486407 .

dfarrell07 commented 11 years ago

Can we create mprim files with a verity of resolutions, for performance testing? For example, 1/16, 1/8, 1/4, 1/2 and 1 inch? The angles would have to be determined experimentally, I guess.

R00ney commented 11 years ago

I can create a variety of resolutions, I believe.

How can I create the files needed for the path display to display the found path? Can I give these to you, then look at the paths found after you run the path algorithm?

Neal

On Tue, Mar 26, 2013 at 4:36 PM, Daniel Farrell notifications@github.comwrote:

Can we create mprim files with a verity of resolutions, for performance testing? For example, 1/16, 1/8, 1/4, 1/2 and 1 inch? The angles would have to be determined experimentally, I guess.

— Reply to this email directly or view it on GitHubhttps://github.com/NCSUhardware/high-level/issues/13#issuecomment-15486894 .

dfarrell07 commented 11 years ago

That verity of mprim resolutions is only necessary if we can easily change the resolution of the map, and if other code doesn't break with different resolutions. Does anyone have code that can't accept an arbitrary resolution map? @jschornick @rsrinath85 @napratin

The point of this multi-resolution discussion, imo, is to allow for easily adapting the code to optimize the performance of the bot once we start testing on Friday.

R00ney commented 11 years ago

As far as I can tell, this motion primitive code cannot account for our wide swinging front end (with rear wheel drive turning in place).

So, I don't know if that's a problem here or not.

Neal

On Tue, Mar 26, 2013 at 4:43 PM, Daniel Farrell notifications@github.comwrote:

That verity of mprim resolutions is only necessary if we can easily change the resolution of the map, and if other code doesn't break with different resolutions. Does anyone have code that can't accept an arbitrary resolution map? @jschornick https://github.com/jschornick @rsrinath85https://github.com/rsrinath85 @napratin https://github.com/napratin

The point of this multi-resolution discussion, imo, is to allow for easily adapting the code to optimize the performance of the bot once we start testing on Friday.

— Reply to this email directly or view it on GitHubhttps://github.com/NCSUhardware/high-level/issues/13#issuecomment-15487278 .

rlsnow commented 11 years ago

The map resolution is currently 1/16 of an inch but can be changed.

map_script.py, which creates the map txt files and pkl files, sets the resolution of the map. By default the resolution is 16 tiles per inch. The resolution can be changed by running map_script.py and parsing an argument in during the function call. If you wanted 1/8 of an inch resolution you would parse in 8 to map_script.py. This would create new txt files and pkl files with 1/8 of an inch resolution.

As far as I know there hasn't been enough testing to determine what resolution is optimal. If you can test multiple resolutions that would be good.

dfarrell07 commented 11 years ago

@R00ney, with regard to the wide swing, can we pretend that the bot is larger than it is to account for this? That was what I had in mind. I'll have to get back to you with regard to the visualizations, about to to take my test.

@rlsnow - That's nice and easy, thanks.

R00ney commented 11 years ago

@daniel

Not to pressure you, but I plan to be in lab most of tonight, working both on robot and primitives.

If you could come in to explain some things about the planner (with the path search thing) I can be more useful in generating useful primitives.

Currently, certain resolution (1/16th) make bad start/endpoints for the some certain paths in the primitives, but that might be a misunderstanding on my part.

Neal

On Tue, Mar 26, 2013 at 4:52 PM, Daniel Farrell notifications@github.comwrote:

@R00ney https://github.com/R00ney, with regard to the wide swing, can we pretend that the bot is larger than it is to account for this? That was what I had in mind. I'll have to get back to you with regard to the visualizations, about to to take my test.

@rlsnow https://github.com/rlsnow - That's nice and easy, thanks.

— Reply to this email directly or view it on GitHubhttps://github.com/NCSUhardware/high-level/issues/13#issuecomment-15487787 .

R00ney commented 11 years ago

I've tried and failed to create a folder on git to add my attempts at motion primitives to github.

I've made a branch off main, oops. That should be deleted.

I've added a file called motion_primitives, when I was really trying to create whole folder. That should be deleted too.

For now, I'm attaching a zip file here with the primitives I've made.

The nameing scheme is as follows:

The resolutions are in the file name, 16thinch for 1/16th of an inch, 8thinch for 1/8th of an inch, ect. There are also files that do not include, and some that do include, turn in place primitives. They are distinguished by _with_tip file names.

Daniel, let me know if any of these primitive lists seem to work with the path planner.

-Neal

On Tue, Mar 26, 2013 at 4:36 PM, Daniel Farrell notifications@github.comwrote:

Can we create mprim files with a verity of resolutions, for performance testing? For example, 1/16, 1/8, 1/4, 1/2 and 1 inch? The angles would have to be determined experimentally, I guess.

— Reply to this email directly or view it on GitHubhttps://github.com/NCSUhardware/high-level/issues/13#issuecomment-15486894 .

dfarrell07 commented 11 years ago

I just got done with my test and will stop by Troxer before I head home. Can't stay for too long (need to eat), but I'll be accessible online and working on this all night.

dfarrell07 commented 11 years ago

@R00ney, you said that you emailed me a zip archive of mprim files. I didn't receive it, likely because Gmail filtered it as seemingly malicious. Can you upload them as Gists and then provide the link here? Or, if you'd prefer, the Google Drive folder is fine as well. Trying to take an opportunity to teach us about GitHub (the best version control system out there, imho). ;)

R00ney commented 11 years ago

They are in the drive for now, under a folder Motion Primitives by Neal I will work on the gists thing, wish me luck.

Neal

On Wed, Mar 27, 2013 at 1:19 AM, Daniel Farrell notifications@github.comwrote:

@R00ney https://github.com/R00ney, you said that you emailed me a zip archive of mprim files. I didn't receive it, likely because Gmail filtered it as seemingly malicious. Can you upload them as Gists and then provide the link here? Or, if you'd prefer, the Google Drive folder is fine as well. Trying to take an opportunity to teach us about GitHub (the best version control system out there, imho). ;)

— Reply to this email directly or view it on GitHubhttps://github.com/NCSUhardware/high-level/issues/13#issuecomment-15504882 .

dfarrell07 commented 11 years ago

No big deal, they are in the repo now anyway.

dfarrell07 commented 11 years ago

Since we have two threads going about mprims, and that's confusing, I'm going to close this less-active one.