Arm reaching algorithm determine angles

In summary, the conversation discusses finding an algorithm for extending an arm as close as possible to an object in a video game. The process involves determining the rotation of the upper arm in the shoulder joint and using complementary rotation in the elbow and shoulder to trace a line segment from the shoulder to the object. There are also considerations for what looks natural and any obstacles in the way. Additionally, it is mentioned that a robot arm can be modeled in 6 dimensions and optimization strategies can be used to determine the most efficient path for reaching a point.
  • #1
kolleamm
477
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
  • #2
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
  • #3
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.
 
  • #4
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
 

Related to Arm reaching algorithm determine angles

1. How does the arm reaching algorithm determine the angles?

The arm reaching algorithm uses mathematical calculations and sensor data to determine the angles of the arm. It takes into account the position of the joints and the desired end point to calculate the necessary angles for the arm to reach the target.

2. What sensors are used in the arm reaching algorithm?

The specific sensors used in the arm reaching algorithm may vary, but they typically include position sensors, such as encoders or potentiometers, to measure the angles of the joints, as well as force sensors to determine the amount of force being applied by the arm.

3. How accurate is the arm reaching algorithm?

The accuracy of the arm reaching algorithm depends on several factors, such as the quality of the sensors, the precision of the mathematical calculations, and the overall design of the algorithm. In general, modern arm reaching algorithms can achieve high levels of accuracy, often within a few millimeters of the target.

4. Can the arm reaching algorithm be used for different types of arms?

Yes, the arm reaching algorithm can be used for a variety of arms, as long as the necessary sensors and control systems are in place. The algorithm can be adapted to work with different arm lengths, joint configurations, and degrees of freedom.

5. Is the arm reaching algorithm used in real-world applications?

Yes, the arm reaching algorithm is commonly used in a wide range of real-world applications, such as robotic arms in manufacturing, prosthetic arms for amputees, and even in surgical procedures. Its accuracy and precision make it a valuable tool in many industries.

Similar threads

  • Introductory Physics Homework Help
Replies
1
Views
2K
  • Programming and Computer Science
Replies
1
Views
1K
  • Introductory Physics Homework Help
Replies
4
Views
2K
Replies
4
Views
2K
Replies
6
Views
10K
  • Special and General Relativity
Replies
5
Views
1K
  • Classical Physics
Replies
21
Views
1K
Replies
2
Views
3K
  • Special and General Relativity
Replies
9
Views
3K
Back
Top