1 / 10

Arm Planning

This project uses graph-based path planning with inverse kinematics to plan paths for an arm with constraints and obstacles, using a geometric approach and A* algorithm.

armour
Download Presentation

Arm Planning

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arm Planning Ryan Keedy6 / 6 / 2012

  2. Approach • Create graph of configuration space • Discretize and connect nodes in the domain • Given a goal node (by mouse click), use inverse kinematics to determine potential goal configurations • Must constrain; in our case, attempt to make the last two segments have right-angle orientation • Use A* to plot paths to our goal configurations • Select the shortest path (depends on adjacency cost) • Move fluidly between configurations in the path • Finish path using Jacobian method for movement

  3. Graph Creation • This is the most time-consuming part of the code • Most room for optimization • Prefer to perform this up front, because it is not terribly difficult to find a configuration that has no path, for which A* exhausts the domain • I choose to discretize the “larger” joints more thoroughly than the smaller ones

  4. Inverse Kinematics • Using a geometric approach, a constraint (or two) should be picked to limit the otherwise infinite possibilities in a 3-joint system • Just about any constraint will do • Require the last two joints to end in a right angle • Relax this requirement if a configuration cannot be found

  5. Now that we have a constraint (pre-determining the length from joint #2 to the end effecter), we can determine the possible configurations These configurations must be checked to make sure there are no collisions with obstacles/ground Inverse Kinematics

  6. Path Planning • Use the version of A* provided in original path planning code • Plan for (up to) four configurations; use the shortest • Right now, cost is a function of discretization, not angle size • Thanks in part to the sparsity of the graph, the algorithm is pretty quick • Occasionally the configuration is unreachable, which slows stuff down

  7. Path Procession • Divide up each increment of configuration space an arbitrary number of times • Update the arm incrementally between configurations in our path • Assumption is that graph is refined enough that no obstacles will be in between configuration states

  8. Path Conclusion • Goals will almost inevitably not be reached by an exact location in configuration space • A slight nudge will be needed to get actuator to the objective • Jacobian method is used for the last nudge to the objective out of a set configuration

  9. Observations • Shortest path means obstacles are often skirted • Consider making the obstacle radius larger than physically accurate • “Shortest” path may be ambiguous • Is the cost of each angle movement equal? • Configuration may not be very “close” relative to other possibilities • Use of Jacobian may result in impact at the beginning/end of movement

  10. Further Work • Connections now are just between adjacent angular configurations (changing only one angle at a time) • Consider adding “diagonal” adjacencies • Adjust cost of movement to encourage certain behaviors • Explore additional acceptable configurations to find even shorter paths

More Related