Tackling a Slalom Course with Mecanum
985 4 2019-7-28
Uploading and Loding Picture ...(0/1)
o(^-^)o
rhoude57 - YUL
lvl.4
Canada
Offline

OK bunch, including @MarcusXL. How would you tackle a slalom course such as that on the picture?


I can see 2 vector components to add to each other:
  • a constant velocity straight ahead course; and
  • a sinusoidal side-to-side "sway" to go around the cones/piles.

First pass... do this by aligning the azimuth of the drivetrain with the path.
Second pass... do this while keeping the azimuth of the drivetrain aligned/parallel with the line of cones/piles.

As an example, let's take a 10 meter course with cones/piles placed every meter. The S1 can start anywhere behind the start cone/pile. The sideways amplitude of the S1 path is up to you...





2019-7-28
Use props
MarkusXL
lvl.4
United States
Offline

Ermm...  Well the S1 suffers from lack of situational awareness sensors.  Most other robots of this class have ultra sonic transducers for collision avoidance and obstacle detection.

Also, can canned AI mods we are given with the S1 don't recognize those cones...

So, you could come up with a "blind driving pattern" using either the canned Chassis Commands or my algorithm - but it would be trial and error.  There would be no decision tree involved.  Also, errors creep in to such blind driving patterns so by the time you get to the last cone you are always going to be way off.

I suggest that this test is either too hard or too easy from our humble little S1.  Either put some blue tape on the floor to help (remember, we have an algorithm to cross large gaps in the tape line) or swap the cones for the Vision Markers that are included with the S1.  THEN the program could detect the Vision Markers, figure out their approximate Ranges, and make some course corrections along the way.  That would be the hard way - actually navigating around the cones, changing the S1 heading along the way.

The easy way - forget changing facing.  Keep the cones evenly spaced - hammer out a quick sequence of forward and left and right translations.  A square attack pattern could blaze around the cones fast, keeping forward facing the whole run.  Boring though.


Actually, I think a combination of Vision Markers and a little blue tape here and there could make for an interesting program.
2019-7-28
Use props
Malibu Aerial
lvl.4
Flight distance : 143898 ft
United States
Offline

MarkusXL Posted at 7-28 12:00
Ermm...  Well the S1 suffers from lack of situational awareness sensors.  Most other robots of this class have ultra sonic transducers for collision avoidance and obstacle detection.

Also, can canned AI mods we are given with the S1 don't recognize those cones...

A combination of blue tape and markers is a good idea.  Hey, you can tape the marker to the cone.
2019-7-28
Use props
MarkusXL
lvl.4
United States
Offline

YEah I like it.  The cones give the Markers some elevation, and would look kinda neat.

My next project - program a variable Turning Factor into my algorithm.  Note that it does not have to be a true sine wave driving patterns.  A "rounded triangle wave" is quite close enough in most real world applications.

Then, some gimbal and and Vision Marker programming...  haven't tried it yet.  Rough idea would be to "look around" a bit for the Marker (a Find_Marker() function), IF found, THEN look at it, get the Range and the Angle and ID, use that to determine next "move" for Turn Factor and Speed and Duration of Move.

Btw I put up a repo at

https://github.com/markind69/S1_Crossing_Line_Gaps

It's just a junk repo so it would be a great target if you want to learn and practice with git and GitHub I highly recommend it.  Permanent cloud backup and Version Control - a must for all developers.
2019-7-28
Use props
MarkusXL
lvl.4
United States
Offline

MarkusXL Posted at 7-28 13:00
YEah I like it.  The cones give the Markers some elevation, and would look kinda neat.

My next project - program a variable Turning Factor into my algorithm.  Note that it does not have to be a true sine wave driving patterns.  A "rounded triangle wave" is quite close enough in most real world applications.

Quick update - my wheel program takes a variable steering input, Vo, beautifully.

It is quite mesmerizing to see the S1 execute variable turns, that is, turns that get tighter as the S1 moves along, ending with a couple spins on its center axis.

It is quite remarkable to look at, because during the continuous variation of turning radius, all the wheels keep exactly the right RPM, so the wheels are never fighting each other (all too easy to do unless you are doing purely linear movement).

Now in the back of my mind, is to set up a PID controller on Vo.  But, what would be the control or reference for where to turn the S1?  Not sure...  Did the blue tape line already...  Btw that was a great lesson on how to do PID control.  If this idea links up with using Vision Markers as navigation aids...   could make for an interesting slalom runner...
2019-7-28
Use props
Advanced
You need to log in before you can reply Login | Register now

Credit Rules