astar-path

106 views
Skip to first unread message

Karl

unread,
Apr 20, 2017, 7:37:08 PM4/20/17
to FirePick
I've been tinkering with path finding for PnP. The endlessly repeated PnP  "up-over-down" sequence is typically modeled as three separate movements and I was curious to see if we can just have a module that figures out a path from given constraints, such as "no xy movement frm z0 to z15". I also wanted the path to incorporate acceleration and velocity constraints so it would essentially be a flight path. And I also wanted a clean way to introduce kinematic constraints for non-cartesian robots such as FPD. This latter concern is important because in non-cartesian machines you have to consider motor acceleration limits as well as effector acceleration limits. And lastly, all that has to run fast. 

I've posted previously about PH5 curves and they were my first attempt at generating smooth curves for PnP.. Although the curves are quite pretty, they are slow to calculate so I decided to take a different approach and use the A* algorithm for pathfinding in graphs. The A* approach looks quite promising and could be used to generate paths for FireStep.

Douglas Pearless

unread,
Apr 20, 2017, 7:45:42 PM4/20/17
to fire...@googlegroups.com
How will you take into account parts that have already been placed, especially their height so you do not crash into them?
--
You received this message because you are subscribed to the Google Groups "FirePick" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+u...@googlegroups.com.
To post to this group, send email to fire...@googlegroups.com.
Visit this group at https://groups.google.com/group/firepick.
For more options, visit https://groups.google.com/d/optout.

Karl

unread,
Apr 20, 2017, 8:10:27 PM4/20/17
to FirePick
The PathFactory moves vertically at each endpoint. In the attached image, the path rockets up and overshoots the zcruise height of 15. That's actually OK, because we can start moving the effector in XY while the effector is descending to zcruise height. Hence the "z-bump" at the left of the path. Each one of those points could be a GCODE command to Smoothie or FireStep. The points are at equal time intervals. 




On Thursday, April 20, 2017 at 4:45:42 PM UTC-7, Douglas Pearless wrote:
How will you take into account parts that have already been placed, especially their height so you do not crash into them?
On 21/04/2017, at 11:37 AM, Karl <ka...@firepick.org> wrote:

I've been tinkering with path finding for PnP. The endlessly repeated PnP  "up-over-down" sequence is typically modeled as three separate movements and I was curious to see if we can just have a module that figures out a path from given constraints, such as "no xy movement frm z0 to z15". I also wanted the path to incorporate acceleration and velocity constraints so it would essentially be a flight path. And I also wanted a clean way to introduce kinematic constraints for non-cartesian robots such as FPD. This latter concern is important because in non-cartesian machines you have to consider motor acceleration limits as well as effector acceleration limits. And lastly, all that has to run fast. 

I've posted previously about PH5 curves and they were my first attempt at generating smooth curves for PnP.. Although the curves are quite pretty, they are slow to calculate so I decided to take a different approach and use the A* algorithm for pathfinding in graphs. The A* approach looks quite promising and could be used to generate paths for FireStep.


--
You received this message because you are subscribed to the Google Groups "FirePick" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+unsubscribe@googlegroups.com.
constrainzy.png

Luiz doleron

unread,
Nov 12, 2018, 2:08:29 AM11/12/18
to FirePick
Hi, Doulgas and Karl

I've read that 3-order Lamé curves are useful for to smooth trajectories with v-h transitions in the context of rotary deltas.

I didn't tried it yet in my delta and, honestly, I don't believe that it can run fast enough inside the atmega. But for sure it is something I wnat to try soon when my smoothie arrives.

I've attached some pics.

Luiz.

Screen Shot 2018-11-12 at 5.05.16 AM.png

2-Figure1-1.png




Em quinta-feira, 20 de abril de 2017 21:10:27 UTC-3, Karl escreveu:
The PathFactory moves vertically at each endpoint. In the attached image, the path rockets up and overshoots the zcruise height of 15. That's actually OK, because we can start moving the effector in XY while the effector is descending to zcruise height. Hence the "z-bump" at the left of the path. Each one of those points could be a GCODE command to Smoothie or FireStep. The points are at equal time intervals. 


On Thursday, April 20, 2017 at 4:45:42 PM UTC-7, Douglas Pearless wrote:
How will you take into account parts that have already been placed, especially their height so you do not crash into them?
On 21/04/2017, at 11:37 AM, Karl <ka...@firepick.org> wrote:

I've been tinkering with path finding for PnP. The endlessly repeated PnP  "up-over-down" sequence is typically modeled as three separate movements and I was curious to see if we can just have a module that figures out a path from given constraints, such as "no xy movement frm z0 to z15". I also wanted the path to incorporate acceleration and velocity constraints so it would essentially be a flight path. And I also wanted a clean way to introduce kinematic constraints for non-cartesian robots such as FPD. This latter concern is important because in non-cartesian machines you have to consider motor acceleration limits as well as effector acceleration limits. And lastly, all that has to run fast. 

I've posted previously about PH5 curves and they were my first attempt at generating smooth curves for PnP.. Although the curves are quite pretty, they are slow to calculate so I decided to take a different approach and use the A* algorithm for pathfinding in graphs. The A* approach looks quite promising and could be used to generate paths for FireStep.


--
You received this message because you are subscribed to the Google Groups "FirePick" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+u...@googlegroups.com.

Douglas Pearless

unread,
Nov 12, 2018, 5:25:28 PM11/12/18
to fire...@googlegroups.com
Looks very interesting, but this maths is beyond me :-)

@Karl: Thoughts?

Note: I have been working deep in Smoothie for another project where I was intercepting g-codes and processing them, so it is possible to implement this in Smoothie, if someone can help develop or explain an algorithm that can be coded

Shall we also copy / move tis to the slack channel for the others to see?


Cheers
Douglas

On 12/11/2018, at 8:08 PM, Luiz doleron <dol...@gmail.com> wrote:

Hi, Doulgas and Karl

I've read that 3-order Lamé curves are useful for to smooth trajectories with v-h transitions in the context of rotary deltas.

I didn't tried it yet in my delta and, honestly, I don't believe that it can run fast enough inside the atmega. But for sure it is something I wnat to try soon when my smoothie arrives.

I've attached some pics.

Luiz.

<Screen Shot 2018-11-12 at 5.05.16 AM.png>

<2-Figure1-1.png>




Em quinta-feira, 20 de abril de 2017 21:10:27 UTC-3, Karl escreveu:
The PathFactory moves vertically at each endpoint. In the attached image, the path rockets up and overshoots the zcruise height of 15. That's actually OK, because we can start moving the effector in XY while the effector is descending to zcruise height. Hence the "z-bump" at the left of the path. Each one of those points could be a GCODE command to Smoothie or FireStep. The points are at equal time intervals. 




On Thursday, April 20, 2017 at 4:45:42 PM UTC-7, Douglas Pearless wrote:
How will you take into account parts that have already been placed, especially their height so you do not crash into them?
On 21/04/2017, at 11:37 AM, Karl <ka...@firepick.org> wrote:

I've been tinkering with path finding for PnP. The endlessly repeated PnP  "up-over-down" sequence is typically modeled as three separate movements and I was curious to see if we can just have a module that figures out a path from given constraints, such as "no xy movement frm z0 to z15". I also wanted the path to incorporate acceleration and velocity constraints so it would essentially be a flight path. And I also wanted a clean way to introduce kinematic constraints for non-cartesian robots such as FPD. This latter concern is important because in non-cartesian machines you have to consider motor acceleration limits as well as effector acceleration limits. And lastly, all that has to run fast. 

I've posted previously about PH5 curves and they were my first attempt at generating smooth curves for PnP.. Although the curves are quite pretty, they are slow to calculate so I decided to take a different approach and use the A* algorithm for pathfinding in graphs. The A* approach looks quite promising and could be used to generate paths for FireStep.


--
You received this message because you are subscribed to the Google Groups "FirePick" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+u...@googlegroups.com.
To post to this group, send email to fire...@googlegroups.com.
Visit this group at https://groups.google.com/group/firepick.
For more options, visit https://groups.google.com/d/optout.


--
You received this message because you are subscribed to the Google Groups "FirePick" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firepick+u...@googlegroups.com.
To post to this group, send email to fire...@googlegroups.com.
Visit this group at https://groups.google.com/group/firepick.
For more options, visit https://groups.google.com/d/optout.
<Screen Shot 2018-11-12 at 5.05.16 AM.png><2-Figure1-1.png>

Reply all
Reply to author
Forward
0 new messages