Lecture and Demo Videos¶
All video content for the course is posted on the Robotics for Creative Practice YouTube channel. The following guide is intended to help you locate content on individual topics. It is organized by topic, but approximately follows presentation order.
Please note that specific videos may cater more to novices or to students with prior experience, so some will be assigned for everyone to study and some will be optional.
Contents
Playlists¶
Day 1 videos: course introduction
Day 2 videos: Webots, Underactuated Two Link exercise
Day 3 videos: kinematics, Webots robot modeling
Day 4 videos: two link kinematics
Day 5 videos: PD control, imported Webots geometry
Day 6 videos: Sensors and Feedback exercise, Webots distance sensors
Day 9 videos: Robot Party exercise, group behavior, networking
Course Overview¶
Introduction to Robotics for Creative Practice [2:50]. Course introduction, themes, IDeATe introduction, audience.
RCP Course Overview [3:52]. Surprisingly animate machines, expressive dynamic behavior, essential hypotheses.
RCP Course Hypotheses [6:49]. Machine intentionity, essential questions, hidden agency.
RCP Focus and Scope [2:39]. What the course is and is not, rendering grand ideas at small scales.
Webots Simulator¶
Tour of the Webots Robot Simulator [5:44]. Brief introduction to the Webots simulator and a few operating hints.
Introduction to Webots Robot Modeling [16:12]. Walk through a sample Webots robot scene tree to introduce core kinematic description nodes.
Simulated PD Control [7:55]. Demonstration of PD control using torque motor simulation in Webots. Uses the clock model from the controls project on the course site. Walks through the clock.py demo code.
Imported Webots Geometry [9:33]. Demonstration of importing geometry from Fusion 360 to Webots using an STL file. Discusses physics parameters calculated in CAD, expanding proto-defined robots in the scene tree, inserting geometry objects into the kinematics node tree, bounding objects versus graphical objects.
Webots DistanceSensor [6:23]. Discussion of the Webots DistanceSensor simulator node, including configuration, adding a visible body, and situation in a kinematics tree.
Exercise Walkthroughs¶
Exercise - Underactuated Two-Link Simulation [14:58]. Companion video for Exercise: Underactuated System Design. Conversational walkthrough about library models; rigid body dynamics of the two-link device; Python script; procedural modeling; commentary on performances; commentary on anthropomorphism.
Exercise - Sensors and Feedback [15:25]. Companion video for Exercise: Sensors and Feedback, focusing on the sample solution. Discusses the overall state machine, the rationale behind the switching function, and implementation in code. Rationale discussion includes plots of distance gradient, policy function, and phase plot.
Exercise - Robot Party - Local [32:46]. Companion video for part 1 of Exercise: Robot Party, covering the sample world and a detailed walkthrough of the sample robot code. Some time points in the video:
00:15 brief introduction to party-sample.wbt, overall objectives
01:12 ramp object implemented as ElevationGrid shape
02:07 wobbly robot details and parameters
04:45 wobbly controller code walkthrough
06:04 init function, actuator, sensor and radio configuration
09:05 peer data table
09:40 main run loop
11:05 poll_sensors, sensor processing
13:30 poll_communication, simulated radio network
16:25 poll_wandering_activity, behavior state machine update
19:58 customData parameter for behavior customization, robot naming
21:02 poll_following_activity, behavior state machine update
24:51 go_still, linear controller to nullify wobble
25:41 go_forward, linear speed controller
27:22 go_rotate, rotational speed controller
29:38 peer_heading_distance, peer robot direction calculation
30:44 nearest_peer, peer list search
31:36 closing comments on suggested approaches
Exercise - Robot Party - Online [15:32]. Companion video for part 2 of Exercise: Robot Party, covering the networking aspects, delegate robot, and proxy bodies. Some time points in the video:
00:25 brief introduction to MQTT and the MQTT Monitor
01:49 sample world network-party.wbt, proxies, delegate
04:14 proxy body parameters
04:44 walkthrough of delegate controller disembod.py
05:46 initialization, MQTT topic configuration
07:23 proxy body discovery
08:23 delegate run loop, data rebroadcasting
10:08 on_message callback, data reception and parsing, proxy update
13:21 recap of the controller operation
14:20 suggestions for testing and debugging
Kinematics, Dynamics, and Control¶
Introduction to Kinematics [10:28]. Overview of core kinematics terminology: rigid body mechanics, degrees of freedom, joint types, state vector, system trajectory, serial kinematic chains.
Kinematics of the Two-Link Arm [17:04]. Forward and inverse kinematics of a two-link planar robot arm. Errata: at 8:48 I initially omit a 2 before L1 L2; at 9:12 I meant to say “Law of Sines”.
Single-Axis PD control [13:05]. Introduction to position control of a single-joint unstable system using a linear controller and a torque motor. Proportional gain as virtual spring, derivative gain as virtual damper; general comments on stability; general comments on control theory.