Book Image

Learning Robotics using Python - Second Edition

By : Lentin Joseph
Book Image

Learning Robotics using Python - Second Edition

By: Lentin Joseph

Overview of this book

Robot Operating System (ROS) is one of the most popular robotics software frameworks in research and industry. It has various features for implementing different capabilities in a robot without implementing them from scratch. This book starts by showing you the fundamentals of ROS so you understand the basics of differential robots. Then, you'll learn about robot modeling and how to design and simulate it using ROS. Moving on, we'll design robot hardware and interfacing actuators. Then, you'll learn to configure and program depth sensors and LIDARs using ROS. Finally, you'll create a GUI for your robot using the Qt framework. By the end of this tutorial, you'll have a clear idea of how to integrate and assemble everything into a robot and how to bundle the software package.
Table of Contents (12 chapters)

Inverse kinematics

The forward kinematics equation provides an updated pose at a given wheel speed. We can now think about the inverse problem.

Stand in pose (x, y, θ) at time t and determine the V-left and V-right control parameters so that the pose at time t + δt is (x', y', θ').

In differential drive systems, this problem may not always have a solution because this kind of robot can't be moved to any pose by simply setting the wheel velocity. It's because of the nonholonomic robots' constraints.

In nonholonomic robots, there are some ways to increase the constrained mobility if we allow a sequence of different (V-left, V-right) movements. If we insert the values from equations (12) and (15), we can identify some special movements that we can program:

  • If V-right = V-left => nr = nl => R = ∞, ωδT = 0 =...