Skip to content

Commit a44c3fb

Browse files
committed
1.0.3 - Added more clarification in the README file, hopfully this will clear up any confusion
1 parent df7b2d8 commit a44c3fb

7 files changed

Lines changed: 26 additions & 9 deletions

File tree

LICENSE

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
MIT License
2+
13
Copyright (c) 2018 Henrik Söderlund
24

35
Permission is hereby granted, free of charge, to any person obtaining a copy

README.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ FABRIK based 2D Inverse kinematics solver
22
=====
33

44
***************************************************************
5-
* FABRIK 2D inverse kinematics solver - Version 1.0.1
5+
* FABRIK 2D inverse kinematics solver - Version 1.0.3
66
* By Henrik Söderlund <henrik.a.soderlund@hotmail.com>
7-
* This Library is licensed under a GPLv3 License
7+
* This Library is licensed under a MIT License
88
***************************************************************
99

1010
A FABRIK based inverse kinematics solver for Arduino.
@@ -52,10 +52,12 @@ void loop() {
5252

5353
// Write to the servos with limits, these will probably not be the same
5454
// for your manipulator and will have to be changed depending on your
55-
// setup.
55+
// setup. Since the library may output negative angles, it is important
56+
// to apply limits before sending the angles to the servos!
5657
shoulder.write(min(180, max(0, shoulderAngle + 180/2)));
5758
elbow.write(min(180, max(0, elbowAngle + 180/2)));
5859

60+
// The following delay is just a part of this example
5961
delay(1000);
6062

6163
// Solve IK, move down to x=150, y=10
@@ -71,6 +73,7 @@ void loop() {
7173
shoulder.write(min(180, max(0, shoulderAngle + 180/2)));
7274
elbow.write(min(180, max(0, elbowAngle + 180/2)));
7375

76+
// The following delay is just a part of this example
7477
delay(1000);
7578
}
7679
```
@@ -94,6 +97,18 @@ Five usage examples are included which give more in-depth information:
9497
:------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------:
9598
![Example3DOFGrippingOffset](https://github.com/henriksod/Fabrik2DArduino/blob/master/examples/example_3DOFGrippingOffset/preview.gif) | ![Example4DOF](https://github.com/henriksod/Fabrik2DArduino/blob/master/examples/example_4DOF/preview.gif)
9699

100+
Robot Arm Configuration
101+
------------
102+
Due to many requests by email, I have decided to provide you with figures illustrating the configuration of the robot arm that is necessary for this library to work as it is supposed to. Remember that these are only examples of how your arm could look like, but the same concept is applied to any arm that you use with this library.
103+
104+
Robot arm configuration in 2D:
105+
![3DOFSetup](https://github.com/henriksod/Fabrik2DArduino/blob/master/setup/3DOFSetup.png)
106+
107+
Robot arm configuration in 3D:
108+
![4DOFSetup](https://github.com/henriksod/Fabrik2DArduino/blob/master/setup/4DOFSetup.png)
109+
110+
What is important, and can be seen in the figures, is that the servos' angles have to be zero when the link is parallel to the previous link. By setting up the servos in this manner, the arm will be pointing straight up when all joint angles are set to zero.
111+
97112
Installation
98113
------------
99114
Clone this repository to your local machine, and place it in your Arduino libraries folder as 'Fabrik2DArduino'.
@@ -120,4 +135,4 @@ Methods of Fabrik2D class
120135

121136
Notice
122137
------------
123-
It is recommended that you implement your own acceleration and velocity functions to make sure that your manipulator does not snap into the solved positions (which could cause breakage or slipping)! One way of doing this is to just increment the x and y positions and solving inverse kinematics over time until the manipulator has reached it's destination.
138+
It is recommended that you implement your own acceleration and velocity functions to make sure that your manipulator does not snap into the solved positions (which could cause breakage or slipping)! One way of doing this is to interpolate the joint angles over time until the manipulator has reached it's destination. I would reccoment using [RAMP](https://github.com/siteswapjuggler/RAMP), an Arduino interpolation library made by [siteswapjuggler](https://github.com/siteswapjuggler).

library.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name=Fabrik2D
2-
version=1.0.2
3-
author=Henrik Söderlund <henrik.a.soderlund@gmail.com>
4-
maintainer=Henrik Söderlund <henrik.a.soderlund@gmail.com>
2+
version=1.0.3
3+
author=Henrik Söderlund <henrik.a.soderlund@hotmail.com>
4+
maintainer=Henrik Söderlund <henrik.a.soderlund@hotmail.com>
55
sentence=A library for solving inverse kinematics in 2 dimensions using the FABRIK algorithm.
66
paragraph=FABRIK is an iterative inverse kinematics solver algorithm by Andreas Aristidou, Joan Lasenby. It is optimal for computationally inefficient systems.
77
category=Data Processing

setup/3DOFSetup.png

34 KB
Loading

setup/4DOFSetup.png

25.8 KB
Loading

src/FABRIK2D.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**********************************************************************************************
2-
* FABRIK 2D inverse kinematics solver - Version 1.0.0
2+
* FABRIK 2D inverse kinematics solver - Version 1.0.3
33
* by Henrik Söderlund <henrik.a.soderlund@gmail.com>
44
*
55
* Copyright (c) 2018 Henrik Söderlund

src/FABRIK2D.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**********************************************************************************************
2-
* FABRIK 2D inverse kinematics solver - Version 1.0.1
2+
* FABRIK 2D inverse kinematics solver - Version 1.0.3
33
* by Henrik Söderlund <henrik.a.soderlund@gmail.com>
44
*
55
* Copyright (c) 2018 Henrik Söderlund

0 commit comments

Comments
 (0)