-
Notifications
You must be signed in to change notification settings - Fork 463
Key concepts
ETS are an alternative way to describe serial-link manipulators and are introduced in this 2007 article.
Pose, position and orientation of the end effector in space, is represented by the SE3
class. These are imported from the Spatial Math for Python package which is installed when you install this Toolbox using PyPI.
Robot manipulators are represented by the abstract Robot
class which is subclassed for different representations:
-
DHRobot
for robots defined using standard or modified Denavit-Hartbenberg parameters. This is similar to theSerialLink
class from the MATLAB version of the Toolbox, and you can use this class name in Python (but it is deprecated and you will get a message). Key features:- you only need a table of DH parameters to create a workable model
- you can specify inertial parameters, in which case you can compute inverse and forward dynamics, gravity load, inertia matrix, centripetal/Coriolis terms etc.
- if you have STL or Collada (.dae file) meshes available then you can create a rendered 3D view of the robot
- The model is defined as a list of joint objects drawn from the set:
RevoluteDH
,PrismaticDH
,RevoluteMDH
,PrismaticMDH
- The robot cannot have branches, ie. a single end-effector
-
ETSRobot
for robots defined as a collection of link framesELink
each of which is connected by a transform to its parent link. The transform has a constant component (expressed as an ETS) and a variable component (the revolute or prismatic joint itself). Key features:- is very general and allows the representation of regular serial-link manipulators as well as branched structures such as a humanoid robot.
- a URDF model maps nicely to this representation and we support URDF import with a builtin xacro preprocessor
- if you have STL or Collada (.dae file) meshes available then you can create a rendered 3D view of the robot
The Toolbox provides a general way to connect to a variety of simulated or physical robots which we collectively call backends. A robot model in the Toolbox can connect to one or more backends, and we can also connect multiple robot models to the one backend.
- Frequently asked questions (FAQ)
- Documentation Style Guide
- Typing Style Guide
- Background
- Key concepts
- Introduction to robot and link classes
- Working with Jupyter
- Working from the command line
- What about Simulink?
- How to contribute
- Common Issues
- Contributors