Skip to content

Driver Swap Tracer

Run the Driver Swap Tracer MicroSim Fullscreen

You can include this MicroSim on your website using the following iframe:

<iframe src="https://dmccreary.github.io/robot-arm/sims/driver-swap-tracer/main.html"
        height="644px" width="100%" scrolling="no"></iframe>

Description

Trace one call, move_to with shoulder_pan = 10 degrees, down through the layers of the arm library for three drivers: FakeArm, FeetechArm and DamiaoArm. Then choose what six calls do underneath. Used in Chapter 10.

The layers are the ones in the Chapter 10 table: your program, the Arm interface, a driver, the bus functions and the hardware. The top two layers are the same for every arm. Each driver then translates the call into its own units and messages: raw steps and a Goal_Position write for the Feetech servos, radians and an MIT frame for the Damiao motors, and a dictionary for the fake arm.

The shoulder pan calibration (742 to 3242, middle 1992) is the illustrative one from the Chapter 8 lab.

Lesson Plan

Grade level: Middle school and up (age 12+). Time: 10 to 15 minutes.

  1. Explore. Read the layers from top to bottom for each of the three drivers. Which layers are the same for all three?
  2. Check the numbers. Work out 1992 + 10 × 11.375 and 10 × π / 180 yourself. Do they match what the Feetech and Damiao drivers send?
  3. Six calls. Switch to Six calls. Each one names a driver and a call. Choose the low-level action by its letter. You get one try for each.
  4. Think about it. Where is the limit check done, and why is it not left to each driver?

Specification

The learning objective, evidence of mastery and content for this MicroSim are specified in Chapter 10: A Python Hardware Library for Robot Arms.