Click here to download the documentation
Objective: To perform direct kinematics on a 5-axis robotic arm
An industrial robot also called a robotic manipulator or a robotic arm can be modeled as a chain of rigid links interconnected by flexible joints. One end of a robotic manipulator is fixed to a base while at the other end, there is an end-effector, also called a tool.
Links are the individual bodies that make up a robot. A joint couple two links and provides the physical constraints on the relative motion between the links.
Adjacent pairs of links are connected by two types of joints-
1. Revolute joints (R): they exhibit rotary motion about an axis.
2. Prismatic joints (P): they exhibit sliding or linear motion along an axis.
To each link of a robot manipulator is attached a coordinate frame about which the links rotate or along which the links translate. The base of the manipulator is attributed a “fixed” coordinate frame called the base frame while the end-effector or tool is connected to a “mobile” coordinate frame called the tool frame.
The coordinate axes from the base right up to the wrist of the manipulator are called the “major axes”. They are used for positioning the tool and this function is known as the “gross” of the robot. The remaining axes known as the “minor axes” are used for orienting the tool in the proper direction. This function is known as “fine” motion of the robot.
Introduction to simulation softwares used
V-rep
- The robotic arm model is based on Dagu arm (click here for reference).
- V-rep software available here is used to simulate experiments. Please install latest version and get familiarized with the help of instructions available here.
- Simulation files are designed by following the instructions given here, please go through 'Building a clean model' tutorial to get an idea of how the robotic arm is built. Also refer here to know about different objects and reasons to use them.
- For example, instead of using random shapes in dynamic configuration, we have used similar pure shapes in dynamic configuration and made the corresponding random non-dynamic shape as its child. The reason for using such a configuration is, random shapes will have extremely large number of triangles in meshes and will take long time for simulation. Please refer the links given above for more detailed instructions.
- Simulations can be done using child scripts in v-rep as well as using remoteAPI clients, instructions to enable clients written using different platforms are available here.
- We have used remoteAPI clients written in Octave. Since the inverse kinematics problem involves solving non-linear constrained expressions with optimizations, we have used octave solver to solve the expressions.
Octave
- Click here to download Octave, it is an open source software with syntax and functionality similar to Matlab.
- Installation of Octave is fairly simple self explanatory.