Posts for June 2019

Encoders 010 - Encoder Applications - Encoders Used on Mobile Robots

My plan for these posts has been to focus on technical concepts in posts released on the 2nd Tuesday of the month and focus on real world applications in posts released on the 4th Tuesday of the month. I’ll continue that pattern with today’s post and discuss the exciting application of Encoders Used on Mobile Robots.

Years ago, the world of science fiction promised us we would all have robots in our future. With the help of books from authors like Isaac Asimov and movies like Star Wars, we envisioned robots which could move about freely, communicate with us, and help us in many ways (Star Wars); or sometimes scare the living daylights out of us (Terminator).

When the first robots arrived in real life a few decades ago, they were very different than we imagined. They didn’t walk on two legs, or even four legs. They were industrial robots, firmly mounted on a pedestal, and they stayed in one place as they drilled holes, welded or painted.

Industrial robots have been great for automating manufacturing tasks—but where are those mobile robots that move around on their own and interact with us in our daily lives? Where are the science fiction robots?

Guess what—they’re here! And they rely on encoders to help them function.

A company named Savioke (pronounced SAVVY-oak) has developed their Relay robot to help in hospitality, medical and other settings.

Savioke robots in action

The robot is shaped like a tall cylinder. It can move throughout a hotel or hospital, navigating on its own and even calling for an elevator when necessary. The robot has a lid on top that opens to reveal a cargo compartment. Items for delivery are placed inside the compartment, and the robot rolls away to make the delivery.

If a guest in a hotel forgets their toothbrush or razor, they can call the front desk and the Relay robot can deliver a replacement for the forgotten item within minutes.

In a hospital, a nurse can draw a blood sample, place it in the Relay’s cargo bin, and the robot will quickly deliver the sample to the lab for analysis.

Savioke uses encoders on the drive wheels, to accurately sense and measure the distance the robot travels. They also use an encoder on the lid, to sense the angle of the lid when it opens.

By the way, an interesting book called The Sprint Book has a section that discusses an experiment Savioke performed in a real hotel with actual guests. The company worried about the reaction unsuspecting humans might have when they opened their doors to discover a robot outside. The short answer: humans loved it! Many guests even took selfies with the robot. (Amazon’s free “Look Inside” preview of the book includes the section about the experiment.)

Mobile robots are becoming popular in retail stores, too. Badger Technologies developed a mobile robot to monitor hazards in grocery stores like spills. They’ve continued to add features; Badger’s latest model roams store aisles and scans shelves for depleted inventory, misplaced items or incorrect price tags. Badger uses encoders on the drives that move the robot.

“Yes,” you say, “those are mobile robots. But they move by rolling. Where are the exciting science fiction robots? The ones that walk on their own two – or four, or six – legs?”

Researchers have been busy developing the capabilities of robots that walk, sometimes called “legged robots.” It hasn’t always been easy. This video from a few years ago shows researchers at the University of Michigan, plagued by an intermittent failure of what turned out to be an encoder interface board.

Engineers have been making steady progress. Students at Stanford are developing their cute “Doggo” robot, which can walk on four legs and even do backflips.

Doggo the robot

You can see Doggo go through its moves in this video:

The students designed Doggo to be open source. Anybody can download the plans and build their own Doggo robot.

The link for the Bill of Material (BOM) shows that Doggo uses 8 encoders and 8 motors. Each motor has an encoder used to track the motor angle.

The trend in legged mobile robots seems to be for development to start in university research laboratories. As researchers gain knowledge, they start spinoff companies, and then eventually team up with industrial partners for broader sales distribution.

Agility Robotics, located in Albany, Oregon is a good example. One of the co-founders is also a professor at Oregon State University. Agility developed the “Cassie” robot, a two-legged walking robot.

Agility Robotics Cassie robot

Cassie’s legs utilize encoders on their joints, to measure the joint angle, as detailed in this video and technical paper from researchers at the University of Michigan.

Agility Robotics’ YouTube channel has more videos of Cassie walking, like this one.

Agility’s next step was to add a torso and arms – and probably more encoders – mounted above Cassie’s hips and legs. They call their new robot Digit, and just a few weeks ago Ford Motor Company announced that it was teaming up with Agility Robotics to explore integrating Digit with Ford’s self-driving vehicles. The plan is to deliver packages straight to a customer’s doorstep, with Digit stepping over obstacles and climbing staircases along the way.

Among many others, CNN reported the story about Ford and Agility, and explained that Amazon and FedEx are also developing delivery robots—but those are rolling robots, and can’t climb stairs as well as Digit. Those robots also require that the customer unload the package from the robot. Digit, on the other hand, can drop off the package all by itself if no one is home.

The trend is clear: those sci-fi robots you’ve been wondering about are definitely coming. They might already be in your grocery store, and before long you could get a text message saying that your pizza is at your front door—delivered by a mobile robot, every inch of its progress monitored by its encoders.

It is my goal to make this blog as informative, engaging and as accurate as possible. If you ever have some additional or contrary information, please contact me directly and I will be glad to make any appropriate corrections in a future post. Previous Post


Written by Steve Mathis
Director of Customer Relations & Marketing

"My goal at US Digital is to work with the excellent teams here to contribute to the success of our customers by eliminating pain points and making it easy for them to do business with us."

Encoders 009 - Introduction to Incremental Encoders

This post continues our discussion of the various classifications of encoders identified previously

Form of Output

One of the most common classifications used for encoders is whether their architecture is incremental or absolute in design. This refers to the type of output the encoder emits, or what information is being provided by the encoder. This post will begin our discussion of incremental output and our future post will continue that discussion. Later, we'll have a discussion of absolute encoder output and make some comparisons between incremental and absolute encoders.

Incremental Output

The most common encoders are incremental encoders, for two main reasons. First, the information supplied by an incremental encoder is sufficient for most applications. The second reason is just a matter of economics and simplicity: it is much more cost effective to manufacture an incremental encoder than an absolute encoder.

Incremental Output

A very rudimentary form of an incremental encoder is shown above. It only involves a disk with one slot, an LED, and a photo detector. The detector provides an output each time it "sees" the LED.

The first piece of information that can be determined by an incremental encoder's output is distance. As the above disk rotates, each time the slot is aligned with the LED and detector, the detector produces an output. The disk has rotated through an angle of 360 mechanical degrees. A controller can use this information to calculate distance traveled in a system.

World's Largest Encoder'

The "encoder & controller" represented by the picture shown above is a reconstruction of an odometer made over 2,200 years ago. Each time the cart's wheels rotate, a pin on the axle engages a cog on a system of cogwheels that keep track of total distance traveled.


A second piece of information which can be determined by an incremental encoder's output is velocity, or speed of movement - the encoder essentially acts as a tachometer. As the disk in our first drawing above rotates, each time the slot is aligned with the LED and detector, the detector produces an output. The number of outputs in a minute would be the RPM or speed of the disk.

Although in the rudimentary drawing of an encoder at the beginning of this post you will be able to determine if a full rotation has taken place, for most of the 360 degrees, movement can take place without that movement being reported. The disk rotates without a change in output until the slot is reached.

Disk Model

To resolve that issue, a disk can be used with multiple slots as is shown in the picture above from a blog post by Aditya Prasad. Please note in this specific design, it would work as shown with an optical sensor or with a magnetic sensor as described earlier in the same post.

Now with 15 slots and 15 teeth, the optical sensor will provide an output while the disk turns through 12 mechanical degrees and a slot is in front of the sensor. During the next 12 degrees, a tooth will block the light, and the optical sensor will provide no output.

Sensor Drawing

Most applications require an output when the movement is much less than 12 degrees so disks are made with much finer increments. The technical term used to define the size of increments used is resolution. We will discuss resolution in more detail in a future post but for now, we will define it as the number of outputs provided by the encoder based on the number of lines or windows on the disk.

Mmmm, pie!

To illustrate the resolution in everyday (or at least Thanksgiving Day) terms, think of resolution as the size of the pieces of a pie. Neither high resolution nor low resolution is better but the resolution should match the need. Speaking of pies, if one is extremely hungry, the pie on the left would be the best choice. However, if one is trying to limit their caloric intake, other than not eating the pie at all, a smaller piece would be the best choice.


All of the illustrations and examples have been focused on a single output as is further illustrated in the above drawing. The drawing is indicative of what that single output might look like on an oscilloscope. The bottom of the drawing represents an output of zero volts. The top of the drawing represents an output of five volts. The complete drawing is showing the changes in output or cycles as the disk rotates. When the sensor sees the LED, the output goes high (5 volts); when the disk via the line prevents the sensor from seeing the LED, the output goes low (0 volts).

One complete electrical cycle starts when the output goes high and ends just before it goes high again. One electrical cycle is 360 electrical degrees. For every mechanical revolution, the number of electrical cycles will be equivalent to the resolution or lines and windows on the disk.

The specification for resolution is CPR which stands for Cycles Per Revolution. An encoder with 512 CPR will have 512 lines and windows on the disk and, of course, produce a high and low output 512 times for each rotation of the disk.

NOTE: Unfortunately, there are some vendors who use the term CPR to mean counts per revolution which, depending on the vendor, that number can be twice as many or four times as many as the resolution. This will be discussed in more detail in a future post.


One drawback with incremental encoders is that with power cycling, there is no memory as to where the disk is, as all of the lines and windows on the disk are identical. If you have ever been lost, you know this feeling where your surroundings might look the same in every direction. Essentially the position of the disk in relation to the sensor is lost. We will show in our next post how we can use a search operation, like the search dogs shown above, to figure out where the disk is in its rotation.

Although we are able to calculate both distance moved and velocity from a single encoder output, one other piece of information provided by incremental encoders is direction of travel. Our future post will continue this discussion and explain how direction can be determined.

It is my goal to make this blog as informative, engaging and as accurate as possible. If you ever have some additional or contrary information, please contact me directly and I will be glad to make any appropriate corrections in a future post. Previous Post

Source for photo detector graphic -
Tachometer image source -
Image source for ancient odometer -
Source for slotted disk on motor -
Pumpkin pie image source #1 -
Pumpkin pie image source #2 -
Image source for search dog team -

Written by Steve Mathis
Director of Customer Relations & Marketing

"My goal at US Digital is to work with the excellent teams here to contribute to the success of our customers by eliminating pain points and making it easy for them to do business with us."