Advertisement

Blog

Improving a robot controller: Replacing tanh(x) with sin(arctan(x))

Most of us probably have never used the hyperbolic tangent function tanh(x) or the sin(arctan(x)) reference function since our university days. But these functions enable a kinematic controller. Kinematics determines the position and orientation movement of an end-effector on a robotic arm as a function of the joint coordinates. Kinematic models are used instead of dynamic ones because they are simpler, and these types of robots just use the low speed of their motor to control the loop.

Reference 1 discusses the improvement of the kinematic controller and motion control in a wheeled mobile robot. Many kinematic controllers use the tangent function tanh(x) but Reference 1 replaces that with the sin(arctan(x)) reference function which improves tracking accuracy of the robot as well as reducing the distance error in the robot movement.

Hyperbolic tangent

Hyperbolic tangent

Simultaneous position tracking, line speed and angular velocity tracking on the X and Y axes are achieved with better tracking precision and improved anti-jamming performance.

One of the most common configurations in mobile robots is the differential drive unicycle. This type of robot has two independently driven wheels along with unpowered rear wheels that balance the robot body.

These kinds of robots are usually used in ground cleaning, transporting industrial loads, underwater detection, surveillance, mobile wheelchairs and more.

Mobile robots that need high-speed motion or heavy duty movement need to use a dynamic model. In Reference 1 uses a dynamic controller to reduce the variation of parameters of the robot in this case.

The experimental results discuss the kinematic controller model of the mobile robot which is more robust and mare accurate in tracking precision of movement.

MathWorks has an excellent Velocity-based dynamic model and adaptive controller for differential steered mobile robot.

It seems to me that the sin(arctan(x)) reference function reaches its plateau more gradually than the hyperbolic tangent function tanh(x). Maybe that smoother transition is what improves tracking accuracy of the robot as well as reduces the distance error in the robot movement.

What do you think? Please share your ideas with our readers.

References

1 Trajectory tracking Control of Differential Drive Mobile Robot based on improved Kinematics Controller algorithm, Dongdong Xie, Shenquan Wang, Yuenan Wang, IEEE 2018

2 Hyperbolic definition

2 comments on “Improving a robot controller: Replacing tanh(x) with sin(arctan(x))

  1. Hooey0
    May 8, 2019

    Interesting article. As an “old” servo guy, I can appreciate it. 
    The one comment I have is when graphs are drawn with different scales and then the reader is encouraged to compare them, it becomes very tedious. 

    In the article, both the horizontal and vertical scales are different between the two graphs. If they were the same, then a visual comparison would be straightforward.

  2. Steve Taranovich
    May 8, 2019

    @Hooey0—sorry about the graphs—they were from different articles and I did not have the time to re-draw them, but thanks for your comments

Leave a Reply