Programming Guide for ROBOTIS DREAM with R+Block, R+Task and Python
(By C.N. Thai)
The video tutorials can be accessed at this YouTube videos playlist.
The full Table of Contents is available here.
You can download excerpts from the book here.
To access the example codes, please email a proof of purchase to "email@example.com" and please allow up to a 24-hour turn-around.
This book was written to leverage special features of the Chromebook so that 3 Robotics Programming approaches could be presented to readers/users with different skill levels:
“Block Coding” with R+BLOCK for the youngest beginners. R+BLOCK accesses the robot’s actuators and sensors directly from the Chromebook at runtime.
“Menu-Guided Programming” with R+TASK for users with intermediate skills. R+TASK uses a Menu-driven IDE which lets the user choose various commands to interact with the robot’s actuators and sensors, via a compiled program which operates on the robot’s Controller CM-150/151 at runtime.
Standard Python Programming with THONNY IDE and Chromebook’s LINUX Virtual Environment for more advanced users who can develop and run Standard Python programs via a “helper” Python module named “CNT_Block.py”. This module contains Utility Functions that have a one-to-one match with the R+BLOCK commands that access the robot hardware. This feature is designed to help R+BLOCK programmers transition to Python usage. This Python module is designed to work with a companion TASK code (CNT_Block.tskx/tsk3) that works as an extension of the CM-150/151 Firmware.
This book has 4 chapters:
1) Chapter 1 presents an overview of the DREAM II hardware and software capabilities, and its relationship with the Chromebook environment. The Sense-Think-Act (STA) paradigm used in developing the contents of this book is also described in this chapter.
2) Chapter 2 is written for beginners who want to learn Block Programming. It will guide the reader from R+BLOCK Programming Basics (Sequence, Function, Condition, Loop, Remote-Control and Autonomous-Behavior) to a Structured Approach for Project Analysis and Solution based on the STA Paradigm.
3) Chapter 3 is written as an independent path for beginners who want to learn TASK Programming instead. It will also guide the reader from R+TASK Programming Basics (Sequence, Loop, Function, Condition, Remote-Control and Autonomous-Behavior) to a Structured Approach for Project Analysis and Solution based on the STA Paradigm.
4) Chapter 4 starts as a guide for using the Module “CNT_Block.py” as a black-box to redevelop in Python the solutions to the same 8 projects demonstrated in Chapters 2 and 3. Chapter 4 ends with a “Look Under The Hood” for the inner processes between Module “CNT_Block.py” and its companion TASK code “CNT_Block.tskx/tsk3” to provide the reader with a more expansive “Robotics Programming” outlook beyond the Chromebook and DREAM systems.