Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
209 commits
Select commit Hold shift + click to select a range
ba0808f
[DQ_SerialManipulatorDH] Adding the pose_jacobian_derivative method
juanjqo Dec 18, 2021
4a14536
[DQ_SerialManipulatorDH] Adding the get_types method
juanjqo Dec 18, 2021
ce4ae84
[DQ_SerialManipulatorDH] Adding the get_alphas method
juanjqo Dec 18, 2021
1c3304c
[DQ_SerialManipulatorDH] Adding the get_as method
juanjqo Dec 18, 2021
400e619
[DQ_SerialManipulatorDH] Adding the get_ds method
juanjqo Dec 18, 2021
68a5d85
[DQ_SerialManipulatorDH] Adding the get_thetas method
juanjqo Dec 18, 2021
7ac9c49
[DQ_Kinematics] Adding the dim_configuration_space protected property
juanjqo Dec 19, 2021
5931dd4
[DQ_Kinematics] Adding four protected properties: lower_q_limit_, upp…
juanjqo Dec 19, 2021
85b0c6b
[DQ_Kinematics] Adding the protected methods check_to_ith_link and ch…
juanjqo Dec 19, 2021
b499704
[DQ_SerialManipulator] Making the class abstract.
juanjqo Dec 19, 2021
28c758e
[DQ_Kinematics] Modified the property dim_configuration_space by dim_…
juanjqo Dec 19, 2021
30e0969
[DQ_SerialManipulatorDH] Modified n_links by dim_configuration_space_
juanjqo Dec 19, 2021
5545246
[DQ_SerialManipulatorDH] Modified n_links by dim_configuration_space_
juanjqo Dec 19, 2021
782b1e9
[DQ_SerialManipulatorDH] Added the pose_jacobian_derivative method
juanjqo Dec 19, 2021
32570af
Added a temproal file to perform some tests
juanjqo Dec 19, 2021
2e3535f
[DQ_SerialManipulatorDH] Adding the protected property dh_matrix_
juanjqo Dec 20, 2021
31c1bc2
[DQ_SerialManipulatorDH] Added the definition of the protected proper…
juanjqo Dec 20, 2021
ba9396f
[DQ_SerialManipulatorDH] Removed the properties theta, d, a, alpha. N…
juanjqo Dec 20, 2021
7da4932
[DQ_SerialManipulatorDH] Removed the property type. Now we have dh_ma…
juanjqo Dec 20, 2021
f3c601b
[DQ_SerialManipulatorDH] Changed obj.type(ith) by joint_type = obj.dh…
juanjqo Dec 20, 2021
adaab4d
[DQ_SerialManipulatorDH] The property dh_matrix_ is not protected any…
juanjqo Dec 20, 2021
6a059c8
[DQ_SerialManipulatorDH] Added a warning of deprecation when the user…
juanjqo Dec 20, 2021
3571e57
[DQ_SerialManipulatorDH] Removed the fkm method from DQ_SerialManipul…
juanjqo Dec 20, 2021
040b058
Updated the temporal file to perform tests.
juanjqo Dec 20, 2021
9ff9dad
[DQ_SerialManipulator] Removed effector property. We have now curr_ef…
juanjqo Dec 20, 2021
0afa2c4
[DQ_SerialManipulator] Modifying the constructor. Now it is required …
juanjqo Dec 20, 2021
b1e8309
[DQ_SerialManipulator] Removed the n_link property.
juanjqo Dec 20, 2021
425694e
[DQ_SerialManipulator] Added the definition of the joint limits.
juanjqo Dec 20, 2021
0d65e19
[DQ_SerialManipulator] Added the definition of the dim_configuration_…
juanjqo Dec 20, 2021
f3d11e1
[DQ_SerialManipulator] Removed the following properties: theta, d, a,…
juanjqo Dec 20, 2021
a2dd355
[DQ_SerialManipulator] Added raw_pose_jacobian and raw_fkm as abstrac…
juanjqo Dec 20, 2021
7f01ddf
[DQ_SerialManipulator] Modified the get_dim_configuration_space to re…
juanjqo Dec 20, 2021
507fe63
[DQ_SerialManipulator] Added the method get_effector() and modified t…
juanjqo Dec 20, 2021
8aaea1f
[DQ_SerialManipulator] Added the following methods: get/set_lower_q_l…
juanjqo Dec 20, 2021
e518c76
[DQ_SerialManipulator] Removed the concrete raw_fkm method.
juanjqo Dec 20, 2021
840363b
[DQ_SerialManipulator] Removed the method dh2dq from DQ_SerialManipul…
juanjqo Dec 20, 2021
1fa5798
[DQ_SerialManipulator] Removed the method get_z().
juanjqo Dec 20, 2021
e403287
[DQ_SerialManipulator] Removed the concrete method raw_pose_jacobian.
juanjqo Dec 20, 2021
be302fa
[DQ_SerialManipulator] Removed the concrete method pose_jacobian_deri…
juanjqo Dec 20, 2021
50ecdcc
[DQ_SerialManipulator] Updated effector by curr_effector_.
juanjqo Dec 20, 2021
1805f5f
[DQ_SerialManipulator] Updated n_links by dim_configuration_space_.
juanjqo Dec 20, 2021
2a69cf2
[DQ_SerialManipulator] Updated the parameters robot.a and robot.b use…
juanjqo Dec 20, 2021
7041569
[DQ_SerialManipulatorDH] Updated the class to use the DQ_SerialManipu…
juanjqo Dec 20, 2021
dcccd94
Removed the temporal file DQ_SerialManipulator_.m
juanjqo Dec 20, 2021
7a790df
[DQ_SerialManipulatorMDH] Added the class for the modified DH convent…
juanjqo Dec 20, 2021
0d5930d
[DQ_SerialManipulatorDH] Updated the header documentation.
juanjqo Dec 20, 2021
a4f5228
[DQ_SerialManipulator] Updated the header documentation.
juanjqo Dec 20, 2021
d84e0c7
[DQ_SerialManipulatorMDH] Updated the get_w method taking into accoun…
juanjqo Dec 23, 2021
89911e2
[DQ_SerialManipulatorMDH] Updated the get_w method using the dh_matri…
juanjqo Dec 23, 2021
87bf50a
[DQ_SerialManipulatorMDH] Commented the line 260. I think that the po…
juanjqo Dec 23, 2021
47f89e1
[DQ_SerialmanipulatorDH] Fixed the pose_jacobian_derivative. Now, the…
juanjqo Dec 23, 2021
c1d556d
[DQ_SerialmanipulatorMDH] Fixed bug in the get_w method.
juanjqo Dec 23, 2021
9e64e59
[DQ_SerialmanipulatorMDH] Fixed bug in the pose_jacobian_derivative
juanjqo Dec 23, 2021
c7568ae
[DQ_SerialmanipulatorMDH] Fixed a bug in the get_w method.
juanjqo Dec 23, 2021
3717c64
Added the FrankaEmikaPandaRobot using the Modified DH Convention.
juanjqo Dec 23, 2021
ecb7957
[DQ_Kinematics] Changed reference_frame and base_frame properties by …
juanjqo Dec 26, 2021
bb92c2b
[DQ_SerialManipulator] Updated the reference_frame and base_frame pro…
juanjqo Dec 26, 2021
1d96476
[DQ_SerialWholeBody] Modified reference_frame by reference_frame_.
juanjqo Dec 26, 2021
b934255
[Ax18ManipulatorRobot] Removed the DH convention in DQ_SerialManipula…
juanjqo Dec 26, 2021
cea45f3
[BarretWamArmRobot] Removed the DH convention in DQ_SerialManipulator…
juanjqo Dec 26, 2021
9ec6ab8
Changed DQ_SerialManipulator by DQ_SerialManipulatorMDH.
juanjqo Dec 26, 2021
fbd3a4f
[KukaLwr4Robot] Removed the DH convention in DQ_SerialManipulatorDH c…
juanjqo Dec 26, 2021
f00f7bd
[KukaYoubot] Removed the DH convention in DQ_SerialManipulatorDH cons…
juanjqo Dec 26, 2021
4c8b235
Added the type of joints in the DH_matrix.
juanjqo Dec 26, 2021
c072c98
[DQ_WholeBody] Updated reference_frame by reference_frame_
juanjqo Dec 26, 2021
acb50de
[ComauSmartSixRobot] Added the type of joints in the DH_matrix.
juanjqo Dec 26, 2021
5a0b808
[DQ_WholeBody] Updated reference_frame by reference_frame_
juanjqo Dec 26, 2021
aa204ec
Merge branch 'master' of https://github.com/juanjqo/matlab
juanjqo Dec 27, 2021
730e331
[DQ_SerialManipulatorDH] The dh_matrix_ property now is protected.
juanjqo Dec 27, 2021
0115688
[DQ_SerialManipulator] Used get_as() and get_ds() methods instead of …
juanjqo Dec 27, 2021
bfaf507
[DQ_SerialManipulatorMDH] The dh_matrix_ property is now protected
juanjqo Dec 27, 2021
1025390
[DQ_SerialManipulatorDH] The methods get_w() and dh2dq() are now prot…
juanjqo Dec 27, 2021
0e8fef1
[DQ_SerialManipulatorDH] Added comments in the get_w() method.
juanjqo Dec 27, 2021
84429ac
[DQ_SerialManipulatorDH] Enhanced comments in the get_w() method.
juanjqo Dec 27, 2021
b97e527
[DQ_SerialManipulatorMDH] The methods get_w() and dh2q1() are now pro…
juanjqo Dec 27, 2021
1425032
[DQ_Kinematics] Bug fixed in method check_to_ith_link().
juanjqo Dec 27, 2021
bedbb97
[DQ_SerialManipulatorDH] Added checkers in pose_jacobian_derivative.
juanjqo Dec 27, 2021
0cad8ef
[DQ_SerialManipulatorDH] Added checkers in raw_fkm().
juanjqo Dec 27, 2021
221b7f6
[DQ_Kinematics] The minimal input value of method check_to_ith_link()…
juanjqo Dec 27, 2021
83bf80f
[DQ_SerialManipulatorDH] added checkers in raw_pose_jacobian().
juanjqo Dec 27, 2021
06bca40
[DQ_SerialManipulatorMDH] Added checkers in pose_jacobian_derivative(…
juanjqo Dec 27, 2021
cb9cc8e
Merge branch 'dqrobotics:master' into master
juanjqo Jan 10, 2022
e5ca6d0
[DQ_SerialManipulatorDH] Added a minimal change in the comments to te…
juanjqo Jan 10, 2022
d802cd5
Merge branch 'dqrobotics:master' into master
juanjqo Jan 11, 2022
5ee37c7
[DQ_SerialManipulatorMDH] Added a minimal change in the comments to t…
juanjqo Jan 11, 2022
8b9dc52
[DQ_SerialManipulatorMDH] Added a minimal change in the comments to t…
juanjqo Jan 11, 2022
55c9438
[KukaYoubotRobot] Modified the name of the robot to follow the same c…
juanjqo Jan 11, 2022
e98f542
[KukaYoubotRobot] Modified the name of the robot to follow the same c…
juanjqo Jan 11, 2022
7451f64
Merge branch 'dqrobotics:master' into master
juanjqo Jan 14, 2022
54080e4
[CONTRIBUTING.md] First commit of the contributing file.
juanjqo Jan 14, 2022
5b3d70f
[CONTRIBUTING.md] Update the file.
juanjqo Jan 15, 2022
bc0e997
[CONTRIBUTING.MD] Added instructions to do a fork.
juanjqo Jan 15, 2022
5f0cfbe
[CONTRIBUTING.md] Added changes in the contributing.md file.
juanjqo Jan 15, 2022
4dca581
[CONTRIBUTING.md] Updated contributing.md
juanjqo Jan 15, 2022
889b810
[CONTRIBUTING.md] Updated the contributing file
juanjqo Jan 15, 2022
36fd172
[CONTRIBUTING.md] Updated the file.
juanjqo Jan 15, 2022
be90a4f
[CONTRIBUTING.md] Updated the file.
juanjqo Jan 15, 2022
b7aa723
[CONTRIBUTING.md] Updated the file.
juanjqo Jan 15, 2022
d0cacda
[CONTRIBUTING.md] Updated the file.
juanjqo Jan 15, 2022
468ea1c
[CONTRIBUTING.md] Updated the file
juanjqo Jan 15, 2022
c62bd1a
[CONTRIBUTING.md] Fixed typos .
juanjqo Jan 15, 2022
26a8886
[CONTRIBUTING.md] Updated the file.
juanjqo Jan 15, 2022
588d7ba
[CONTRIBUTING.md] Updated the file.
juanjqo Jan 15, 2022
7b00895
[CONTRIBUTING.md] Fixed a typo.
juanjqo Jan 15, 2022
5800ce1
[CONTRIBUTING.md] Added a diagram.
juanjqo Jan 17, 2022
085b2e8
[CONTRIBUTING.md] Updated the file.
juanjqo Jan 18, 2022
f5dbbdb
[CONTRIBUTING.md] Updated the diagram, as requested by Bruno.
juanjqo Jan 20, 2022
f902e84
[DQ_SerialManipulatorMDH.m] Updated the class according with the C++ …
juanjqo Jan 20, 2022
82ca50a
[CONTRIBUTING.md] Updated the file.
juanjqo Jan 20, 2022
1fd3cef
[DQ_SerialManipulatorMDH.m] Removed the deprecation in the constructor.
juanjqo Jan 20, 2022
eab54ca
[DQ_SerialManpulatorMDH] Updated the documentation.
juanjqo Jan 20, 2022
1f9f224
[DQ_SerialManipulatorDH] Updated the documentation.
juanjqo Jan 20, 2022
5684ded
[DQ_SerialManipulatorMDH] Updated the methods get_{thetas, as, alphas…
juanjqo Jan 20, 2022
f0c1f53
[DQ_SerialManipulatorMDH.m] Updated the class to use the new methods …
juanjqo Jan 20, 2022
1227e30
[DQ_SerialManipulatorDH.m] Updated the class to use the new methods a…
juanjqo Jan 20, 2022
c3e8085
Revert "[DQ_SerialManipulatorDH.m] Updated the class to use the new m…
juanjqo Jan 24, 2022
d277fd9
Revert "[DQ_SerialManipulatorMDH.m] Updated the class to use the new …
juanjqo Jan 24, 2022
1e42b9a
Revert "[DQ_SerialManipulatorMDH] Updated the methods get_{thetas, as…
juanjqo Jan 24, 2022
d40abac
[DQ_SerialManipulator] Removed the brackets in the description of the…
juanjqo Jan 25, 2022
3157766
[CONTRIBUTING.md] Updated the file, with a better explanation about h…
juanjqo Jan 25, 2022
15f1757
[CONTRIBUTING.md] Removed the emoticons
juanjqo May 29, 2022
9a93cca
[CONTRIBUTING.md] Removed the period after the exclamation mark.
juanjqo May 29, 2022
d5175f8
[CONTRIBUTING.md] Modified the explanation about case 1.
juanjqo May 29, 2022
ff3a5b0
[CONTRIBUTING.md] Modified the explanation about case 2.
juanjqo May 29, 2022
3eb8463
[CONTRIBUTING.md] Modified the explanation about case 2.
juanjqo May 29, 2022
69d1240
[CONTRIBUTING.md] Modified Do by Make.
juanjqo May 29, 2022
8325382
[CONTRIBUTING.md] Fixed typo
juanjqo May 29, 2022
5cf3e67
[CONTRIBUTING.md] Modified the text in -Make your modifications.-
juanjqo May 29, 2022
efc3e41
Fixed a typo.
juanjqo May 29, 2022
96e13a4
[DQ_SerialManipulator.m] Removed commented code.
juanjqo May 29, 2022
ffd5689
[DQ_SerialManipulator.m] The variable curr_effector_ is now private.
juanjqo May 29, 2022
f98ea68
[DQ_SerialManipulator.m] Remove the commented code.
juanjqo May 29, 2022
6989074
[DQ_SerialManipulator.m] Remove commented code.
juanjqo May 29, 2022
620a0ba
[DQ_SerialManipulator.m] Remove commented code.
juanjqo May 29, 2022
55cf562
[DQ_SerialManipulator.m] Added a todo coment in the plot_options method.
juanjqo May 29, 2022
c31438e
[DQ_SerialManipulatorDH.m] Fixed the list of contributors.
juanjqo May 29, 2022
d5dc403
[DQ_SerialManipulatorMDH.m] Fixed the list of contributors.
juanjqo May 29, 2022
6a28992
[DQ_SerialManipulatorDH.m] Added a todo comment.
juanjqo May 29, 2022
7a03d83
[DQ_SerialManipulatorMDH.m] Added a todo comment.
juanjqo May 29, 2022
7bbcae6
[DQ_SerialManipulatorDH.m] Removed commented code.
juanjqo May 29, 2022
b78f3d8
[DQ_SerialManipulatorDH.m] Updated the comments in some methods, as s…
juanjqo May 29, 2022
c58f73f
[DQ_SerialManipulatorDH.m] Updated the comments in some methods, as s…
juanjqo May 29, 2022
1ab49eb
[DQ_SerialManipulatorDH.m] Updated the name of some methods, as propo…
juanjqo May 29, 2022
7012eb8
[DQ_SerialManipulator.m] Updated the plot method to take into account…
juanjqo May 29, 2022
df92f06
[DQ_SerialManipulatorMDH.m] Updated the class.
juanjqo May 29, 2022
57955b4
[DQ_SerialManipulatorDH.m] Modified the name of the type of joints.
juanjqo May 29, 2022
1785e66
[ComauSmartSixRobot.m] Updated the type of joint.
juanjqo May 29, 2022
b3c3ce2
[Ax18ManipulatorRobot.m] Updated the type of joint.
juanjqo May 29, 2022
3e1d4eb
[BarretWamArmRobot.m] Updated the type of joint.
juanjqo May 29, 2022
8b04f76
[FrankaEmikaPandaRobot.m] Updated the type of joint.
juanjqo May 29, 2022
3541ca9
[KukaLwr4Robot.m] Updated the type of joint.
juanjqo May 29, 2022
62e49cd
[KukaYoubotRobot.m] Updated the type of joint.
juanjqo May 29, 2022
51ae7d0
[DQ_SerialManipulatorDH.m] Fixed bug related to the name of the type …
juanjqo May 29, 2022
b0c3ce8
[DQ_SerialManipulatorDH.m] Modified the name ROTATIONAL by REVOLUTE.
juanjqo May 29, 2022
782d711
[Ax18ManipulatorRobot.m] Updated the name of the joint.
juanjqo May 29, 2022
e56c89e
[BarrettWamArmRobot.m] Updated the type of joint.
juanjqo May 29, 2022
705b51b
[ComauSmartSixRobot.m] Updated the type of joint.
juanjqo May 29, 2022
ab0623f
[FrankaEmikaPandaRobot.m] Updated the type of joint.
juanjqo May 29, 2022
751cb95
[KukaLwr4Robot.m] Updated the type of joint.
juanjqo May 29, 2022
c411bfd
[KukaYoubotRobot.m] Updated the type of joint.
juanjqo May 29, 2022
08eff5d
[DQ_SerialManipulatorDH.m] Updated the comments.
juanjqo May 29, 2022
ab50590
[DQ_SerialManipulatorMDH.m] Updated the type of joint.
juanjqo May 29, 2022
0d477d8
[DQ_SerialManipulatorDH.m] Updated the comments in get_w method.
juanjqo May 29, 2022
07b0cfb
[DQ_SerialManipulatorMDH.m] Updated the comments in get_w.
juanjqo May 29, 2022
71af6e2
[DQ_SerialManipulatorDH.m] Added a citation of the JMR paper in get_w.
juanjqo May 29, 2022
6ca3c18
[DQ_SerialManipulatorDH.m] Added a temporal comment to test github.
May 29, 2022
63f159e
[DQ_SerialManipulator.m] Modified curr_effector_ by effector_
May 30, 2022
58d5150
[DQ_SerialManipulator.m] Modified the intial comments explaning the c…
May 30, 2022
4512f59
[DQ_SerialManipulatorDH.m] Fixed the unoptimized calculations of the …
May 30, 2022
c384f38
[DQ_SerialManipulatorDH.m] Updated the names of some methods used to …
May 30, 2022
1fa4368
[DQ_SerialManipulator.m] Updated the name of methods used to get the …
May 30, 2022
aa23384
[DQ_SerialManipulatorMDH.m] Updated the comments of the class.
May 30, 2022
ce49d00
[DQ_SerialManipulatorDH.m] Fixed the dimension of the A matrix mentio…
May 30, 2022
078b86b
[DQ_SerialManipulatorMDH.m] Updated the class with respect to DQ_Seri…
May 30, 2022
aa39c7b
[DQ_SerialManipulatorDH.m] Fixed the comments of the get_joint_types …
May 30, 2022
73463f7
[DQ_SerialManipulatorMDH.m] Updated the class.
May 30, 2022
19bbba3
[DQ_SerialManipulatorDH.m] Modified the name of the method get_theta_…
May 30, 2022
66fa254
[DQ_SerialManipulatorMDH.m] Modified the name of the method get_theta…
May 30, 2022
35aa5aa
[DQ_SerialManipulatorDH.m] Removed unnecessary comented code.
May 30, 2022
b3aa5aa
[DQ_SerialManipulatorDH.m] Fixed the place of the check_to_ith_link m…
May 30, 2022
186f287
[DQ_SerialManipulatorMDH.m] Fixed the place of the check_to_ith_link …
May 30, 2022
0cc0049
[DQ_SerialManipulatorDH, MDH] Fixed the place of the check_to_ith_lin…
May 30, 2022
4b3425f
[FrankaEmikaPandaRobot.m] Updated the date.
May 31, 2022
e40fef0
[FrankaEmikaPandaRobot.m] Updated the website.
May 31, 2022
b82d182
[JointType.m] Added a new enumeration class to represent types of joi…
May 31, 2022
fe8f1ac
[DQ_JointType.m] Modified the name of the class.
May 31, 2022
26c6f7d
[DQ_SerialManipulatorDH.m] Added the properties JOINT_ROTATIONAL and …
Jun 1, 2022
3981e51
[DQ_JointType.m] Added numerical values to both enumerations to suppo…
Jun 1, 2022
5d8c301
[DQ_SerialManipulatorDH.m] Updated the class to include type of joint…
Jun 1, 2022
79b8156
[DQ_SerialManipulatorMDH.m] Updated the class wrt the DQ_SerialManipu…
Jun 1, 2022
6611e0f
[Ax18ManipulatorRobot.m] Updated the example using the new DQ_JointTy…
Jun 1, 2022
c466c3f
[BarrettWamArmRobot.m] Updated the robot using the new DQ_JointType c…
Jun 1, 2022
5ace358
[ComauSmartSixRobot.m] Updated the robot using the new DQ_JointType c…
Jun 1, 2022
2929335
[FrankaEmikaPandaRobot.m] Updated the robot using the new DQ_JointTyp…
Jun 1, 2022
7b431ac
[KukaLwr4Robot.m] Updated the robot using the new DQ_JointType class
Jun 1, 2022
170992e
[KukaYoubotRobot.m] Updated the robot using the new DQ_JointType class
Jun 1, 2022
c7ad8c0
[DQ_SerialManipulatorDH.m] Modified the raw_pose_jacobian method acco…
Jun 2, 2022
7cc7f62
[DQ_SerialManipulatorDH.m] Removed commented code.
Jun 2, 2022
7e2aa53
[DQ_SerialManipulatorMDH.m] Modified the raw_pose_jacobian method acc…
Jun 2, 2022
971f5ea
[DQ_SerialManipulatorDH.m] Modified ith by to_ith_link in pose_jacobi…
Jun 2, 2022
4e03c17
[DQ_SerialManipulatorMDH.m] Modified ith by to_ith_link in pose_jacob…
Jun 2, 2022
efe6b98
[DQ_SerialManipulatorDH.m] Added two new methods to return the robot …
Jun 2, 2022
638f0e8
[DQ_SerialManipulatorDH.m] Updated the parameter property according t…
Jun 2, 2022
ae15673
[DQ_SerialManipulatorDH.m] Improved the error messages of the class. …
Jun 2, 2022
f4dbf02
[DQ_SerialManipulatorDH.m] Improved the error messages of the class. …
Jun 2, 2022
82c059c
[DQ_SerialManipulatorMDH.m] Improved the error messages of the class.…
Jun 2, 2022
9321bd4
[DQ_SerialManipulatorDH.m] Modified the internal variable A in the co…
Jun 2, 2022
cbaa7ac
[DQ_SerialManipulatorDH.m] Fixed bug related to the modification of A…
Jun 2, 2022
42cc26c
[DQ_SerialManipulatorDH.m] Added a new struct property to take into a…
Jun 2, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Welcome contributors to the DQ Robotics!

We are happy about your interest in our project. Thank you for your time. DQ Robotics is a standalone open-source library and your contributions are always welcome!

This is a set of guidelines for contribuiting to [DQ Robotics](https://dqrobotics.github.io/).

# Workflow

- Fork the [master branch of the dqrobotics/matlab](https://github.com/dqrobotics/matlab).
- Propose your modifications and open a draft pull request.
- Your modifications will be tested automatically by Github actions. Specifically, Github actions runs the tests of [matlab-tests](https://github.com/dqrobotics/matlab-tests), which executes all the examples of [matlab-examples](https://github.com/dqrobotics/matlab-examples).
- Once your draft pull request passes all the tests, you can switch the status to pull request. (More details [here](https://github.blog/2019-02-14-introducing-draft-pull-requests/)).

![Untitled Diagram](https://user-images.githubusercontent.com/23158313/150255548-b4475747-444e-4530-9b20-def1655bb4f9.png)

## Case 1 (Common cases)

- If your modifications pass all tests, a designated member of our team will review all the changes and they will accept them after all necessary adjustments if any.

## Case 2 (Very rare cases)

- In some cases, your modifications would fail some tests because of incompatibility with the current version of [matlab-tests](https://github.com/dqrobotics/matlab-tests) and/or [matlab-examples](https://github.com/dqrobotics/matlab-examples). In thoses cases, you would propose changes in [matlab-tests](https://github.com/dqrobotics/matlab-tests) and [matlab-examples](https://github.com/dqrobotics/matlab-examples) to make them compatible with your new version of the dqrobotics/matlab.
- A designated member of our team will review all the changes proposed in both [matlab-tests](https://github.com/dqrobotics/matlab-tests) and [matlab-examples](https://github.com/dqrobotics/matlab-examples). They will accept the modifications in the master branch after all necessary adjustments. At this point, it is expected that your pull request passes all the tests in the master branch but fails in the release branch.

![master_and_release](https://user-images.githubusercontent.com/23158313/150379489-cabc85bb-dbe4-41be-a405-7b254a36092a.png)

- Then, they will test your dqrobotics/matlab pull request making all necessary adjustments until your pull request of dqrobotics/matlab passes all the tests. After that, they will review deeply your modifications.
- Finally, your modifications will be accepted in the master branch.

# Example

## Fork the [dqrobotics/matlab](https://github.com/dqrobotics/matlab) in your Github account

![fork_master](https://user-images.githubusercontent.com/23158313/149602838-133f6c09-2e16-418e-8ab6-47fb36a91056.gif)

## Clone the forked repository

For instance, if your forked matlab respository is https://github.com/juanjqo/matlab, then

Type in your terminal:

- `git clone https://github.com/juanjqo/matlab.git`

![git_clone](https://user-images.githubusercontent.com/23158313/149603381-78732b55-2794-4be9-9a12-b7062d0649b5.gif)

## Make your modifications

Now, you can modify the code with your contributions.
(In this specific example, as shown in the GIF, I modified the CONTRIBUTING.md file)

![modifications](https://user-images.githubusercontent.com/23158313/149604028-915d9325-e52a-4378-ba58-17b7fe1a7a81.gif)

## Add, commit and push your changes

Please indicate in your commit's message the file that was modified using brackets. For instance, if you modified the class DQ_Serialmanipulator, then you would do the following:

- `git commit -m "[DQ_SerialManipulator] your_message_explaining_the modification."`

![add_commit_push](https://user-images.githubusercontent.com/23158313/149603960-d69a8202-a3b1-4af5-a2d8-e1197cc26a81.gif)

## Open a draft pull request (More details [here](https://github.blog/2019-02-14-introducing-draft-pull-requests/))

Now, your draft pull request will be tested by Github actions automatically.

![pull_request](https://user-images.githubusercontent.com/23158313/149604338-52f3ba35-ef25-440a-8bc8-75194c32130e.gif)

If your pull request fails the tests, don't worry!, you will see where your code is not working. Pick your pull request in https://github.com/dqrobotics/matlab/pulls. Then, at the end of the page, click on 'Details'.

![failed_check](https://user-images.githubusercontent.com/23158313/149604965-677f783f-64af-4120-966a-0461c85f9418.gif)
31 changes: 31 additions & 0 deletions robot_modeling/DQ_JointType.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
% (C) Copyright 2022 DQ Robotics Developers
%
% This file is part of DQ Robotics.
%
% DQ Robotics is free software: you can redistribute it and/or modify
% it under the terms of the GNU Lesser General Public License as published
% by the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% DQ Robotics is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU Lesser General Public License for more details.
%
% You should have received a copy of the GNU Lesser General Public License
% along with DQ Robotics. If not, see <http://www.gnu.org/licenses/>.
%
% DQ Robotics website: dqrobotics.github.io
%
% Contributors to this file:
% Juan Jose Quiroz Omana - juanjqo@g.ecc.u-tokyo.ac.jp

classdef DQ_JointType < double
enumeration
REVOLUTE (1)
PRISMATIC (2)
end
end



58 changes: 47 additions & 11 deletions robot_modeling/DQ_Kinematics.m
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
% Abstract class that defines an interface to implement robot kinematics.
%
% DQ_Kinematics Properties:
% base_frame - Frame used to determine the robot physical location.
% base_frame_ - Frame used to determine the robot physical location.
% name - Unique name that is generated randomly.
% reference_frame - Reference frame (not always coincident with base_frame).
% reference_frame_ - Reference frame (not always coincident with base_frame).
% q - Robot configuration vector.
% dim_configuration_space_ - Dimension of the robot configuration space.
% lower_q_limit_ - The lower bound of the robot configuration;
% upper_q_limit_ - The upper bound of the robot configuration;
% lower_q_dot_limit_ - The lower bound of the robot configuration velocity;
% upper_q_dot_limit_ - The upper bound of the robot configuration velocity;
%
% DQ_Kinematics Methods (Abstract):
% get_dim_configuration_space - Returns the dimension of the configuration space.
Expand Down Expand Up @@ -69,39 +74,49 @@

properties (SetAccess = protected)
% Reference frame used in fkm() and pose_jacobian methods
reference_frame;
reference_frame_;
% Frame used to determine the robot physical location
base_frame;
base_frame_;
% Robot configuration vector
q
q
% Dimension of the robot configuration space
dim_configuration_space_;
% The lower bound of the robot configuration;
lower_q_limit_;
% The upper bound of the robot configuration;
upper_q_limit_;
% The lower bound of the robot configuration velocity;
lower_q_dot_limit_;
% The upper bound of the robot configuration velocity;
upper_q_dot_limit_;
end

methods
function obj = DQ_Kinematics()
% Both reference_frame and base_frame initially coincide, but
% this can be changed by using set_reference_frame() and
% set_base_frame()
obj.reference_frame = DQ(1);
obj.base_frame = DQ(1);
obj.reference_frame_ = DQ(1);
obj.base_frame_ = DQ(1);
% Define a unique robot name
obj.name = sprintf('%f',rand(1));
end

function ret = get_base_frame(obj)
% Get the physical location of the robot base in the workspace.
ret = obj.base_frame;
ret = obj.base_frame_;
end

function ret = get_reference_frame(obj)
% Get the reference frame used in the calculation of the FKM and all Jacobians.
ret = obj.reference_frame;
ret = obj.reference_frame_;
end

function set_reference_frame(obj,reference_frame)
% SET_REFERENCE_FRAME(reference_frame) sets the reference frame
% used for the fkm() and pose_jacobian() methods
if is_unit(reference_frame)
obj.reference_frame = reference_frame;
obj.reference_frame_ = reference_frame;
else
error('The reference frame must be a unit dual quaternion.');
end
Expand All @@ -116,7 +131,7 @@ function set_base_frame(obj, base_frame)
% and it does not necessarily coincides with the reference
% frame.
if is_unit(base_frame)
obj.base_frame = base_frame;
obj.base_frame_ = base_frame;
else
error('The base frame must be a unit dual quaternion.');
end
Expand All @@ -125,6 +140,27 @@ function set_base_frame(obj, base_frame)

end

methods (Access = protected)
function check_to_ith_link(obj, to_ith_link)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this function named check_to_ith_link and not check_ith_link? If the goal is to check if the $i^{ \mathrm{th}}$ link is in the valid range, then the preposition to seems inadequate as it gives the impression that there is an iteration involved (e.g., "check from A to B").

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I implemented the method using the same name as in C++. @mmmarinho do you have any comments?

Copy link
Member

@mmmarinho mmmarinho May 29, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@juanjqo @bvadorno
The local variable it was checking was called to_ith_link, first used in methods such as fkm(q,to_ith_link) and pose_jacobian(q,to_ith_link). These follow Bruno’s logic, because, for example, the local variable refers to the FKM up to a given link.

The naming might not be the same as in MATLAB.

One way or the other, it might be a good chance to unify those even though they are all private/protected or local.

@juanjqo If in the C++ version the leading _ is missing on the method signature, please also add it there.

% Protected method to check if the index to a link is valid.
n_links = get_dim_configuration_space(obj);
if to_ith_link > n_links || to_ith_link < 0
error('Tried to access link index %d , which is unnavailable.', to_ith_link);
end

end

function check_q_vec(obj, q_vec)
% Protected method to check if the size of the vector
% of joint values q_vec is valid.
n_links = get_dim_configuration_space(obj);
if length(q_vec) ~= n_links
error('Input vector must have size %d', n_links)
end
end

end

methods (Abstract)

% GET_DIM_CONFIGURATION_SPACE returns the dimension of the configuration
Expand Down
Loading