Introduction to Robotics

PREVIOUS: Table of Contents

Think of the Google Car: How does it work?

This field of study dives in to a whole realm of visual detection, sensor awareness, ridiculous math, coding, etc.

What are robots?

Robot: slave work. “A reprogrammable, multifunctional manipulator designed to move material, parts, tools, or specialized devices through various programmed motions for the performance of a variety of tasks” - Robot Institute of America

Essentially, we want them to do our dirty, dangerous or dull tasks.

Everyone is doing robotics today–Google, Toyota, Amazon, … With them, we’re able to replace workers in assembly line, do surgery, battle, detect carbon emissions, have autonomous vehicles, and save lives!

We will be focusing on the field of Mobile Robots, specifically the Husky. Mobile robots involve mechatronics, software, and mechanics. A lot of the professors at Merced have been working with local farms to help them with agriculture–counting produce, finding water leaks, noting points of interest.

Main problems

  • Planning: Which sequence of actions should I execute to achieve the goal?
  • Localization: Where am I?
  • Navigation and Obstacle Avoidance: How do I safely get from A to B?

How to think about robotics?

When robotics were first starting out, it was often thought of as some agent that interprets and acts upon it’s environment: This model, however, doesn’t account for the fact that SENSORS ARE BAD. It’s also overly simplified, and if robotics was that easy, I’d probably consider it as a career.

Instead we prefer to see it as a sort of system, that considers the input controls that we put in, the disturbances in the environment, and noise in our sensors.

With this, we can consider our robots and dynamic systems–one whose state changes over time. These states are simply a collection of variables that summarize the past system with the purpose of predicting the future. For example, our position, velocity, attitude, how far away we are from New York, etc. For the most part, we will simply be considering the pose (position and orientation).

As time progresses, naturally our state would change. This formula and its ideas are fundamental to this course:

  • \(X\) = \(f(X, u, t)\), where \(X\) is the next state, which is a function based on current state \(X\), input \(u\), and time \(t\).
  • \(Z\) = \(h(X, u, t)\), where \(Z\) is the input based on your state, sensor reading, and time.

But we’re computer science nerds and we hate continuous problems. So we consider these as discrete ideas:

\(X(t) = f(X(t-1), u(t), t)\) \(Z = h(X(t), u(t), t)\)

These are called the state transition equations and again, are fundamental as to how we think of robotics–that our next/current state is based on our current/previous one, and the inputs that we put in. So if I were at position x = 0, and my input velocity was 5m/s, my state 1 second later will be 5.

In the ideal/deterministic perspective, this would be the case. However, this is the real world. Our sensors are noisy and will always be off by some margin of error.

These are the ideas to keep in mind throughout the course. Next up, how do we actually make a robot move???

NEXT: ROS (Robot Operating System)