top of page
Search

Fuzzy Logic for controlling a manipulator

Writer's picture: Charith PremachandraCharith Premachandra

Updated: Mar 26, 2021

This work is based on “Controlling a robot manipulator with fuzzy voice commands using a probabilistic neural network” by C. Jayawardena et al.

In the real world scenarios, a voice controlled manipulator does not have crisp inputs, such as; up, down, left, right, in, out .. likewise. As an example, assume there exists a robotic manipulator which holds the surgical light in the operating theater.

At present, the surgeon gives verbal commands left / right and then the manipulator will move a predefined constant length. That will not be a big issue since the lighting covers a considerable area so that slight deviations from the desired position may not impact the outcome.

But If a voice controlled manipulator is used to carry on a precise task such as holding a laparoscope, moving constant distances will be troublesome for the surgeon. That is when the robotic manipulator requires some intelligence with some fuzzy inputs (i.e. far right, a bit to the left, more down).


Antecedents

  • Previous distance

  • Current command

  • Position of the manipulator (;end effector) in the required workspace.

Consequent

  • Distance to be travelled along the given direction (left, right, up, down).

The membership functions and the rules were defined using Matlab fuzzy logic toolbox as in the figure.

First two antecedents are quite obvious. The next fuzzy command depends on the previous distance traveled thus the consequent depends on both of them. This type of fuzzy controllers are readily available for voice activated robotic manipulators.

Then what is new?

Take the previous example of manipulating the laparoscope. Its workspace is limited with extremes, otherwise the laparoscope might damage internal organs of the patient. If the surgeon controls the laparoscope near the extremities of the workspace and still gives a wrong command such as "move far right", the manipulator must have the intelligence to compensate for wrong commands at extremes. Sometimes the manipulator can freely move in the middle of the workspace more than near extremes. So that the fuzzy input "more" has more weight in the middle of the workspace. These facts affects to introduce another antecedent to represent the position of the manipulator's end effector (in the prev. example; the laparoscope) inside the required workspace.

p.s. Laparoscope is a camera, which is widely used in minimally invasive surgeries.

However, here I have tried to replicate Jayawardena et al 's work without considering the manipulator position antecedent.


Results

The Figure shows the end effector path (starting from the origin (0,0) for the following set of commands;

far right >> medium up >> far up >> medium right >> little up >> very little up


Observe how the end effector moves intuitively to the user.


The membership functions have to be modified and the output can be scaled for better user experience.


Drop a message if you want the source files or you want any advice to build a fuzzy model in Matlab :) charithprem@gmail.com

6 views0 comments

Recent Posts

See All

Comments


© 2017 by Charith Premachandra. Proudly created with Wix.com

bottom of page