This library provides classes and methods for performing kinematics calculations on an articulated robot arm.
Find the C++ version of this repository here.
-
ArmRobot.py
- Contains theArmRobot
class which represents a specific robot arm configuration. It inherits fromArmRobotKinematics
. -
ArmRobotKinematics.py
- Contains theArmRobotKinematics
base class with methods for forward kinematics, inverse kinematics, calculating Jacobians etc. -
Frame.py
- Contains theFrame
class to represent each frame/link in the robot arm.
To use the library:
-
Define the robot configuration by instantiating
ArmRobot
and adding Frame objects in the__init__
method. -
Import
ArmRobot
. -
Create an instance of
ArmRobot
. -
Use methods
forward_kinematics()
,iterative_inverse_kinematics()
, or create your own geometry based inverse kinematics equation. -
Joint values can be updated with the
move_joint()
method.
See docstrings and comments in code for more details.
-
Forward and inverse kinematics calculation.
-
Jacobian calculation.
-
Handles revolute, prismatic and fixed joints.
-
Flexible robot arm configuration through links defined in
ArmRobot
.
- Name: Ryan Barry
- Date created: June 26, 2023