I Arm reaching algorithm determine angles

AI Thread Summary
An algorithm for extending an arm towards an object involves determining the closest configuration using the shoulder, elbow, and hand positions. The object must be within reach, defined by the distance from the shoulder to the object being less than or equal to the arm's fully extended length. The shoulder's rotation sets a movement plane for the upper and lower arm, allowing the hand to trace a line segment to the object through complementary elbow and shoulder rotations. For less realistic video game scenarios, a fixed movement plane at a 45-degree angle can simplify the process. Optimizing arm movement can also consider factors like speed and energy efficiency, applying constraints to refine the solution.
kolleamm
Messages
476
Reaction score
44
I'm trying to find an algorithm for extending an arm as close as possible to an object. There's two bones the upper arm bone and the lower arm bone, and three points : shoulder , elbow, hand

How can I figure out the closest possible configuration towards a fourth point which is the object it's reaching for?

Keep in mind the object may sometimes be closer or further than the arms length . This is for a video game where a characters hand attempts to reach for something.
 
Mathematics news on Phys.org
For any point within reach there are an infinite number of possible solutions, corresponding to the rotation of the upper arm in the shoulder joint. Which of those solutions is chosen depends on other things like what looks more natural, what the character wants to do next (eg one would approach an object from a different angle if one were about to throw it than if one were about to pull it downwards) and what, if any, obstacles, lie between the shoulder and the object..

Ignoring the degrees of freedom in the wrist joint, one can place a hand in the location of any object within reach as follows.

1. draw a line segment from the shoulder joint to the object. The object is within reach if the length of the segment is no greater than the length of the fully-extended arm
2. choose a rotation of the shoulder. This determines a plane within which the upper and lower arm sections will move as they reach out.
3. starting with the hand on the shoulder, the upper and lower arms can now move, using complementary rotation in the elbow and shoulder, in such a way that the hand traces out the line segment from the shoulder to the object. The relationship between the shoulder and elbow angle is straightforward 2D geometry.

This is best understood by going through the process with one's own arm and observing the relative movements.

If the video game is not aiming to be super-realistic, we could ignore the subtleties discussed in the first para and use a plane of movement of the two arm parts that is at 45 degrees to the horizontal, which seems to me to be fairly natural.
 
  • Like
Likes kolleamm
Thank you so much for your help you gave some really good suggestions. Perhaps if I move both joints at the same time it would narrow down the solution for the problem, to the best of my knowledge that is how we usually move our arms.
 
A robot arm is modeled in 6 dimensions, optimisation strategies can deliver the "hand" to a point in this space in say, the quickest time, or using the least energy, the paths will be different. You will have to apply some constraint like this.

Cheers
 
Thread 'Video on imaginary numbers and some queries'
Hi, I was watching the following video. I found some points confusing. Could you please help me to understand the gaps? Thanks, in advance! Question 1: Around 4:22, the video says the following. So for those mathematicians, negative numbers didn't exist. You could subtract, that is find the difference between two positive quantities, but you couldn't have a negative answer or negative coefficients. Mathematicians were so averse to negative numbers that there was no single quadratic...
Insights auto threads is broken atm, so I'm manually creating these for new Insight articles. In Dirac’s Principles of Quantum Mechanics published in 1930 he introduced a “convenient notation” he referred to as a “delta function” which he treated as a continuum analog to the discrete Kronecker delta. The Kronecker delta is simply the indexed components of the identity operator in matrix algebra Source: https://www.physicsforums.com/insights/what-exactly-is-diracs-delta-function/ by...
Thread 'Unit Circle Double Angle Derivations'
Here I made a terrible mistake of assuming this to be an equilateral triangle and set 2sinx=1 => x=pi/6. Although this did derive the double angle formulas it also led into a terrible mess trying to find all the combinations of sides. I must have been tired and just assumed 6x=180 and 2sinx=1. By that time, I was so mindset that I nearly scolded a person for even saying 90-x. I wonder if this is a case of biased observation that seeks to dis credit me like Jesus of Nazareth since in reality...
Back
Top