From 0a73d857e0760ecbc881b81cc354f2cd68f454d1 Mon Sep 17 00:00:00 2001 From: Daniel Shiffman Date: Sun, 24 Aug 2025 16:42:45 -0400 Subject: [PATCH 1/7] add robot controllers, credits not required --- content-testing/schemas.js | 2 +- .../robot-controller-1/images/cart-pole.jpg | Bin 0 -> 22435 bytes .../livestreams/robot-controller-1/index.json | 91 +++++++++++++++ .../robot-controller-2/images/1d-hopper-a.jpg | Bin 0 -> 51622 bytes .../robot-controller-2/images/1d-hopper-b.jpg | Bin 0 -> 52375 bytes .../robot-controller-2/images/1d-spring.jpg | Bin 0 -> 42987 bytes .../robot-controller-2/images/2d-hopper.jpg | Bin 0 -> 28681 bytes .../livestreams/robot-controller-2/index.json | 106 ++++++++++++++++++ 8 files changed, 198 insertions(+), 1 deletion(-) create mode 100644 content/videos/livestreams/robot-controller-1/images/cart-pole.jpg create mode 100644 content/videos/livestreams/robot-controller-1/index.json create mode 100644 content/videos/livestreams/robot-controller-2/images/1d-hopper-a.jpg create mode 100644 content/videos/livestreams/robot-controller-2/images/1d-hopper-b.jpg create mode 100644 content/videos/livestreams/robot-controller-2/images/1d-spring.jpg create mode 100644 content/videos/livestreams/robot-controller-2/images/2d-hopper.jpg create mode 100644 content/videos/livestreams/robot-controller-2/index.json diff --git a/content-testing/schemas.js b/content-testing/schemas.js index be35a548b..26fda3568 100644 --- a/content-testing/schemas.js +++ b/content-testing/schemas.js @@ -130,7 +130,7 @@ const baseVideosSchema = strictObject({ name: string().required(), url: string().url() }).required() - ).required() + ) }); const videosSchema = baseVideosSchema.concat( diff --git a/content/videos/livestreams/robot-controller-1/images/cart-pole.jpg b/content/videos/livestreams/robot-controller-1/images/cart-pole.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bbf40c51fd28d0ddc47858de6c2a36ca6c7e5089 GIT binary patch literal 22435 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 literal 0 HcmV?d00001 diff --git a/content/videos/livestreams/robot-controller-1/index.json b/content/videos/livestreams/robot-controller-1/index.json new file mode 100644 index 000000000..65f1ee141 --- /dev/null +++ b/content/videos/livestreams/robot-controller-1/index.json @@ -0,0 +1,91 @@ +{ + "title": "Robot Controllers Part 1: PID (with Dr. Christian Hubicki)", + "description": "In this live stream, Dr. Christian Hubicki and I team up to build a PID Controller, first in python and then in p5.js! We apply the controller to the classic 'cart pole' problem, attempting to balance an inverted pendulum.", + "videoId": "k5_P_e27-Wk", + "date": "2022-07-16", + "languages": ["Python", "p5.js", "matter.js"], + "topics": ["robotics", "PID controller", "p5.js", "python", "simulation", "physics", "robot control", "matter.js", "cart pole"], + "canContribute": true, + "relatedChallenges": ["138-angry-birds-with-matterjs", "62-plinko-with-matterjs"], + "timestamps": [ + { "time": "0:00:00", "title": "Waiting to Start" }, + { "time": "0:04:38", "title": "Welcome!" }, + { "time": "0:07:30", "title": "Introducing Dr. Christian Hubicki" }, + { "time": "0:09:49", "title": "Christian's Introductory Presentation" }, + { "time": "0:14:48", "title": "How to Follow Along" }, + { "time": "0:16:22", "title": "PID Controller Lecture" }, + { "time": "0:44:09", "title": "Coding in Python!" }, + { "time": "1:23:58", "title": "Introducing p5.js and matter.js" }, + { "time": "1:37:18", "title": "Coding in p5.js!" }, + { "time": "2:48:30", "title": "It works!" }, + { "time": "2:49:19", "title": "Wrapping up and next steps" } + ], + "codeExamples": [ + { + "title": "Base Python Code", + "description": "The starter Python code in a Deepnote notebook.", + "image": "cart-pole.jpg", + "urls": { "other": "https://tinyurl.com/cart-pole" } + }, + { + "title": "Final Python Code", + "description": "The final Python code with the completed PID controller.", + "image": "cart-pole.jpg", + "urls": { "other": "https://tinyurl.com/cartpole-control" } + }, + { + "title": "PID Controller", + "description": "The p5.js and matter.js implementation of the balancing robot.", + "image": "cart-pole.jpg", + "urls": { "p5": "https://editor.p5js.org/codingtrain/sketches/sB1glTRe7" } + }, + { + "title": "PID Controller", + "description": "The full GitHub repository for this project, including the interactive p5.js demo.", + "image": "cart-pole.jpg", + "urls": { "other": "https://github.com/CodingTrain/Robot-Controllers" } + } + ], + "groupLinks": [ + { + "title": "References", + "links": [ + { + "icon": "🔗", + "title": "Dr. Christian Hubicki", + "description": "Assistant Professor of Robotics at FAMU-FSU College of Engineering.", + "url": "https://www.christianhubicki.com/" + }, + { + "icon": "🤖", + "title": "Optimal Robotics Laboratory", + "url": "https://www.optimalroboticslab.com/", + "description": "Dr. Christian Hubicki's lab at FAMU-FSU College of Engineering." + }, + { + "icon": "▶️", + "title": "YouTube", + "url": "https://www.youtube.com/channel/UCqSfzxT0dcpEPMtVguwzATg", + "description": "Dr. Hubicki's YouTube channel." + } + ] + }, + { + "title": "Videos", + "links": [ + { + "icon": "🚂", + "title": "Robot Controllers Part 2", + "url": "/tracks/livestreams/livestreams/robot-controller-2", + "description": "The second part of this series, where we coded a simulation of a hopping robot." + }, + { + "icon": "🚂", + "title": "Introduction to Matter.js", + "url": "/tracks/the-nature-of-code-2/noc/6-physics-libraries/1-matterjs-introduction", + "description": "This video is an introduction to the physics engine Matter.js, a 2D JavaScript physics library that supports rigid body collisions and constraints." + } + ] + } + ] +} diff --git a/content/videos/livestreams/robot-controller-2/images/1d-hopper-a.jpg b/content/videos/livestreams/robot-controller-2/images/1d-hopper-a.jpg new file mode 100644 index 0000000000000000000000000000000000000000..679c1d36c78442e8f840e4462996ce0c7482d922 GIT binary patch literal 51622 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 }PebOJa2;+!sF* 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 b5Dfp*Yxe)?`9JxuAKYI*@z;;}`?3E7z|SLG literal 0 HcmV?d00001 diff --git a/content/videos/livestreams/robot-controller-2/images/1d-spring.jpg b/content/videos/livestreams/robot-controller-2/images/1d-spring.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3b255d277f8d784ce6da8485d35aa5aed9c4f84d GIT binary patch literal 42987 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 of&5MxM%X*iH Date: Sun, 24 Aug 2025 16:47:38 -0400 Subject: [PATCH 2/7] YouTube urls --- content/videos/livestreams/robot-controller-1/index.json | 2 +- content/videos/livestreams/robot-controller-2/index.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/videos/livestreams/robot-controller-1/index.json b/content/videos/livestreams/robot-controller-1/index.json index 65f1ee141..94652b7e3 100644 --- a/content/videos/livestreams/robot-controller-1/index.json +++ b/content/videos/livestreams/robot-controller-1/index.json @@ -76,7 +76,7 @@ { "icon": "🚂", "title": "Robot Controllers Part 2", - "url": "/tracks/livestreams/livestreams/robot-controller-2", + "url": "https://youtube.com/live/3FeySIv-gFM", "description": "The second part of this series, where we coded a simulation of a hopping robot." }, { diff --git a/content/videos/livestreams/robot-controller-2/index.json b/content/videos/livestreams/robot-controller-2/index.json index e4c420f0b..d120c335c 100644 --- a/content/videos/livestreams/robot-controller-2/index.json +++ b/content/videos/livestreams/robot-controller-2/index.json @@ -85,7 +85,7 @@ { "icon": "🚂", "title": "Robot Controllers Part 1", - "url": "/tracks/livestreams/livestreams/robot-controller-1", + "url": "https://youtube.com/live/fWQWX9-8_sA", "description": "The first part of this series, where we coded a simulation of an inverted pendulum on a cart." }, { From b68504be5fdf16a409922ac789e491894f0a1eef Mon Sep 17 00:00:00 2001 From: Daniel Shiffman Date: Sun, 24 Aug 2025 16:51:51 -0400 Subject: [PATCH 3/7] matlab code --- .../images/matlab-hopper.png | Bin 0 -> 104604 bytes .../livestreams/robot-controller-2/index.json | 6 ++++++ 2 files changed, 6 insertions(+) create mode 100644 content/videos/livestreams/robot-controller-2/images/matlab-hopper.png diff --git a/content/videos/livestreams/robot-controller-2/images/matlab-hopper.png b/content/videos/livestreams/robot-controller-2/images/matlab-hopper.png new file mode 100644 index 0000000000000000000000000000000000000000..267b6ddca25e386b546d6f6873f93dcaed19a94e GIT binary patch literal 104604 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 Qe=q=nr>mdKI;Vst00ig&)c^nh literal 0 HcmV?d00001 diff --git a/content/videos/livestreams/robot-controller-2/index.json b/content/videos/livestreams/robot-controller-2/index.json index d120c335c..f759c7466 100644 --- a/content/videos/livestreams/robot-controller-2/index.json +++ b/content/videos/livestreams/robot-controller-2/index.json @@ -53,6 +53,12 @@ "description": "A starter p5.js sketch for a 2D hopper, ready for a controller to be implemented.", "image": "2d-hopper.jpg", "urls": { "p5": "https://editor.p5js.org/codingtrain/sketches/W_hxT-8ST" } + }, + { + "title": "MATLAB Raibert Hopper", + "description": "A MATLAB implementation by Dr. Christian Hubicki.", + "image": "matlab-hopper.png", + "urls": { "other": "https://gist.github.com/shiffman/9eea780b9cada3725887d26ed174d49e" } } ], "groupLinks": [ From 7a55bb51840ae12a18868da89b9f0238e2d31d61 Mon Sep 17 00:00:00 2001 From: Daniel Shiffman Date: Sun, 24 Aug 2025 16:57:08 -0400 Subject: [PATCH 4/7] whoops, need videos in track --- content/tracks/side-tracks/livestreams/index.json | 2 ++ content/videos/livestreams/robot-controller-1/index.json | 2 +- content/videos/livestreams/robot-controller-2/index.json | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/content/tracks/side-tracks/livestreams/index.json b/content/tracks/side-tracks/livestreams/index.json index e11a5ec26..a8aad43d1 100644 --- a/content/tracks/side-tracks/livestreams/index.json +++ b/content/tracks/side-tracks/livestreams/index.json @@ -2,6 +2,8 @@ "title": "Coding Train Live!", "description": "This side track is a collection of select livestreams.", "videos": [ + "livestreams/robot-controller-1", + "livestreams/robot-controller-2", "livestreams/genuary-2025", "livestreams/page-not-found", "livestreams/creative_coding_ai_agent", diff --git a/content/videos/livestreams/robot-controller-1/index.json b/content/videos/livestreams/robot-controller-1/index.json index 94652b7e3..65f1ee141 100644 --- a/content/videos/livestreams/robot-controller-1/index.json +++ b/content/videos/livestreams/robot-controller-1/index.json @@ -76,7 +76,7 @@ { "icon": "🚂", "title": "Robot Controllers Part 2", - "url": "https://youtube.com/live/3FeySIv-gFM", + "url": "/tracks/livestreams/livestreams/robot-controller-2", "description": "The second part of this series, where we coded a simulation of a hopping robot." }, { diff --git a/content/videos/livestreams/robot-controller-2/index.json b/content/videos/livestreams/robot-controller-2/index.json index f759c7466..1580a1031 100644 --- a/content/videos/livestreams/robot-controller-2/index.json +++ b/content/videos/livestreams/robot-controller-2/index.json @@ -91,7 +91,7 @@ { "icon": "🚂", "title": "Robot Controllers Part 1", - "url": "https://youtube.com/live/fWQWX9-8_sA", + "url": "/tracks/livestreams/livestreams/robot-controller-1", "description": "The first part of this series, where we coded a simulation of an inverted pendulum on a cart." }, { From 005a07cdfcba981cd76ab3a4917ac6d9d8ff4b02 Mon Sep 17 00:00:00 2001 From: Daniel Shiffman Date: Sun, 24 Aug 2025 17:22:41 -0400 Subject: [PATCH 5/7] add empty credits array --- content/videos/livestreams/robot-controller-1/index.json | 3 ++- content/videos/livestreams/robot-controller-2/index.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/content/videos/livestreams/robot-controller-1/index.json b/content/videos/livestreams/robot-controller-1/index.json index 65f1ee141..ae9399301 100644 --- a/content/videos/livestreams/robot-controller-1/index.json +++ b/content/videos/livestreams/robot-controller-1/index.json @@ -87,5 +87,6 @@ } ] } - ] + ], + "credits": [] } diff --git a/content/videos/livestreams/robot-controller-2/index.json b/content/videos/livestreams/robot-controller-2/index.json index 1580a1031..273de1bc6 100644 --- a/content/videos/livestreams/robot-controller-2/index.json +++ b/content/videos/livestreams/robot-controller-2/index.json @@ -108,5 +108,6 @@ } ] } - ] + ], + "credits": [] } From 229455854bf2231893888ef36e2d1ce1761ba5a9 Mon Sep 17 00:00:00 2001 From: Daniel Shiffman Date: Sun, 24 Aug 2025 17:29:40 -0400 Subject: [PATCH 6/7] create robot controller track --- content/tracks/index.json | 7 ++++--- content/tracks/side-tracks/livestreams/index.json | 4 ++-- .../tracks/side-tracks/robot-controllers/index.json | 5 +++++ .../robot-controller-1/images/cart-pole.jpg | Bin .../robot-controller-1/index.json | 3 ++- .../robot-controller-2/images/1d-hopper-a.jpg | Bin .../robot-controller-2/images/1d-hopper-b.jpg | Bin .../robot-controller-2/images/1d-spring.jpg | Bin .../robot-controller-2/images/2d-hopper.jpg | Bin .../robot-controller-2/images/matlab-hopper.png | Bin .../robot-controller-2/index.json | 3 ++- 11 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 content/tracks/side-tracks/robot-controllers/index.json rename content/videos/{livestreams => robot-controllers}/robot-controller-1/images/cart-pole.jpg (100%) rename content/videos/{livestreams => robot-controllers}/robot-controller-1/index.json (96%) rename content/videos/{livestreams => robot-controllers}/robot-controller-2/images/1d-hopper-a.jpg (100%) rename content/videos/{livestreams => robot-controllers}/robot-controller-2/images/1d-hopper-b.jpg (100%) rename content/videos/{livestreams => robot-controllers}/robot-controller-2/images/1d-spring.jpg (100%) rename content/videos/{livestreams => robot-controllers}/robot-controller-2/images/2d-hopper.jpg (100%) rename content/videos/{livestreams => robot-controllers}/robot-controller-2/images/matlab-hopper.png (100%) rename content/videos/{livestreams => robot-controllers}/robot-controller-2/index.json (97%) diff --git a/content/tracks/index.json b/content/tracks/index.json index 5c097ca8e..d8608958f 100644 --- a/content/tracks/index.json +++ b/content/tracks/index.json @@ -10,12 +10,13 @@ "algorithmic-botany", "coding-in-the-cabana", "coding-together-apple-ii", - "mastodon", + "robot-controllers", "discord-bots", + "p5-tips-and-tricks", + "transformations-in-p5", "livestreams", "neural-networks", "noise", - "p5-tips-and-tricks", "physics-libraries", "pi-day", "pixels", @@ -24,10 +25,10 @@ "supershapes", "teachable-machine", "topics-in-native-javascript", - "transformations-in-p5", "games", "web-sockets-and-p5js", "webgl", + "mastodon", "archive" ] } diff --git a/content/tracks/side-tracks/livestreams/index.json b/content/tracks/side-tracks/livestreams/index.json index a8aad43d1..7a152d678 100644 --- a/content/tracks/side-tracks/livestreams/index.json +++ b/content/tracks/side-tracks/livestreams/index.json @@ -2,8 +2,8 @@ "title": "Coding Train Live!", "description": "This side track is a collection of select livestreams.", "videos": [ - "livestreams/robot-controller-1", - "livestreams/robot-controller-2", + "robot-controllers/robot-controller-1", + "robot-controllers/robot-controller-2", "livestreams/genuary-2025", "livestreams/page-not-found", "livestreams/creative_coding_ai_agent", diff --git a/content/tracks/side-tracks/robot-controllers/index.json b/content/tracks/side-tracks/robot-controllers/index.json new file mode 100644 index 000000000..70d3b4227 --- /dev/null +++ b/content/tracks/side-tracks/robot-controllers/index.json @@ -0,0 +1,5 @@ +{ + "title": "Robot Controllers", + "description": "A side track featuring livestreams about robot controllers with Dr", + "videos": ["robot-controllers/robot-controller-1", "robot-controllers/robot-controller-2"] +} diff --git a/content/videos/livestreams/robot-controller-1/images/cart-pole.jpg b/content/videos/robot-controllers/robot-controller-1/images/cart-pole.jpg similarity index 100% rename from content/videos/livestreams/robot-controller-1/images/cart-pole.jpg rename to content/videos/robot-controllers/robot-controller-1/images/cart-pole.jpg diff --git a/content/videos/livestreams/robot-controller-1/index.json b/content/videos/robot-controllers/robot-controller-1/index.json similarity index 96% rename from content/videos/livestreams/robot-controller-1/index.json rename to content/videos/robot-controllers/robot-controller-1/index.json index ae9399301..e3485e703 100644 --- a/content/videos/livestreams/robot-controller-1/index.json +++ b/content/videos/robot-controllers/robot-controller-1/index.json @@ -3,6 +3,7 @@ "description": "In this live stream, Dr. Christian Hubicki and I team up to build a PID Controller, first in python and then in p5.js! We apply the controller to the classic 'cart pole' problem, attempting to balance an inverted pendulum.", "videoId": "k5_P_e27-Wk", "date": "2022-07-16", + "canonicalTrack": "robot-controllers", "languages": ["Python", "p5.js", "matter.js"], "topics": ["robotics", "PID controller", "p5.js", "python", "simulation", "physics", "robot control", "matter.js", "cart pole"], "canContribute": true, @@ -76,7 +77,7 @@ { "icon": "🚂", "title": "Robot Controllers Part 2", - "url": "/tracks/livestreams/livestreams/robot-controller-2", + "url": "/tracks/robot-controllers/robot-controllers/robot-controller-2", "description": "The second part of this series, where we coded a simulation of a hopping robot." }, { diff --git a/content/videos/livestreams/robot-controller-2/images/1d-hopper-a.jpg b/content/videos/robot-controllers/robot-controller-2/images/1d-hopper-a.jpg similarity index 100% rename from content/videos/livestreams/robot-controller-2/images/1d-hopper-a.jpg rename to content/videos/robot-controllers/robot-controller-2/images/1d-hopper-a.jpg diff --git a/content/videos/livestreams/robot-controller-2/images/1d-hopper-b.jpg b/content/videos/robot-controllers/robot-controller-2/images/1d-hopper-b.jpg similarity index 100% rename from content/videos/livestreams/robot-controller-2/images/1d-hopper-b.jpg rename to content/videos/robot-controllers/robot-controller-2/images/1d-hopper-b.jpg diff --git a/content/videos/livestreams/robot-controller-2/images/1d-spring.jpg b/content/videos/robot-controllers/robot-controller-2/images/1d-spring.jpg similarity index 100% rename from content/videos/livestreams/robot-controller-2/images/1d-spring.jpg rename to content/videos/robot-controllers/robot-controller-2/images/1d-spring.jpg diff --git a/content/videos/livestreams/robot-controller-2/images/2d-hopper.jpg b/content/videos/robot-controllers/robot-controller-2/images/2d-hopper.jpg similarity index 100% rename from content/videos/livestreams/robot-controller-2/images/2d-hopper.jpg rename to content/videos/robot-controllers/robot-controller-2/images/2d-hopper.jpg diff --git a/content/videos/livestreams/robot-controller-2/images/matlab-hopper.png b/content/videos/robot-controllers/robot-controller-2/images/matlab-hopper.png similarity index 100% rename from content/videos/livestreams/robot-controller-2/images/matlab-hopper.png rename to content/videos/robot-controllers/robot-controller-2/images/matlab-hopper.png diff --git a/content/videos/livestreams/robot-controller-2/index.json b/content/videos/robot-controllers/robot-controller-2/index.json similarity index 97% rename from content/videos/livestreams/robot-controller-2/index.json rename to content/videos/robot-controllers/robot-controller-2/index.json index 273de1bc6..3cc355fe9 100644 --- a/content/videos/livestreams/robot-controller-2/index.json +++ b/content/videos/robot-controllers/robot-controller-2/index.json @@ -2,6 +2,7 @@ "title": "Robot Controllers Part 2: Raibert Hopper (with Dr. Christian Hubicki", "description": "In this livestream, I'm rejoined by Dr. Christian Hubicki to continue our series on robot controllers. Dr. Hubicki gives a presentation on the history of legged robots (like ASIMO and Boston Dynamics) and the principles behind the Raibert Hopper. Then, we attempt to implement a 1D hopping robot simulation in p5.js using a PID controller.", "videoId": "3FeySIv-gFM", + "canonicalTrack": "robot-controllers", "date": "2025-08-24", "languages": ["p5.js", "MATLAB"], "topics": ["robotics", "p5.js", "PID controller", "Raibert hopper", "simulation", "physics", "legged locomotion", "robot control"], @@ -91,7 +92,7 @@ { "icon": "🚂", "title": "Robot Controllers Part 1", - "url": "/tracks/livestreams/livestreams/robot-controller-1", + "url": "/tracks/robot-controllers/robot-controllers/robot-controller-1", "description": "The first part of this series, where we coded a simulation of an inverted pendulum on a cart." }, { From a8977260efcd2b33dbb13777394abf5dd9ad386b Mon Sep 17 00:00:00 2001 From: Daniel Shiffman Date: Sun, 24 Aug 2025 17:34:47 -0400 Subject: [PATCH 7/7] wrong video id --- content/videos/robot-controllers/robot-controller-1/index.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/videos/robot-controllers/robot-controller-1/index.json b/content/videos/robot-controllers/robot-controller-1/index.json index e3485e703..2293c2be0 100644 --- a/content/videos/robot-controllers/robot-controller-1/index.json +++ b/content/videos/robot-controllers/robot-controller-1/index.json @@ -1,7 +1,7 @@ { "title": "Robot Controllers Part 1: PID (with Dr. Christian Hubicki)", "description": "In this live stream, Dr. Christian Hubicki and I team up to build a PID Controller, first in python and then in p5.js! We apply the controller to the classic 'cart pole' problem, attempting to balance an inverted pendulum.", - "videoId": "k5_P_e27-Wk", + "videoId": "fWQWX9-8_sA", "date": "2022-07-16", "canonicalTrack": "robot-controllers", "languages": ["Python", "p5.js", "matter.js"],