diff --git a/Image3_650.jpg b/Image3_650.jpg new file mode 100644 index 0000000..765b9f5 Binary files /dev/null and b/Image3_650.jpg differ diff --git a/Intro-Arduino.adoc b/Intro-Arduino.adoc index 6ee4e5c..e70c8f4 100644 --- a/Intro-Arduino.adoc +++ b/Intro-Arduino.adoc @@ -55,7 +55,7 @@ Clicking on the chosen version brings you to the donation page and then you can TIP: We can download the latest version of the Arduino IDE from the Arduino website (here) as a tarball. A tarball is a type of compressed folder, like a .zip file, commonly used to distrubute software in Linux; its file extension is usually .tar.xz (or .tar.gz, if it uses Z compression. We'll get to this later). -WARNING: Installing via apt +WARNING: **Installing via apt** While there is a package for the Arduino IDE on current APT repositories, it has not been updated for a while. As such, while it is still possible to install the IDE by running sudo apt install arduino, it is not recommended to do so, as asking for support when using outdated software is more difficult. @@ -184,6 +184,10 @@ void loop() { image:./Arduino_KY-012_Keyes_Active_buzzer_module_connection_diagram.png[alt="Arduino.",width=250,height=250] + + + + :hardbreaks: {empty} + diff --git a/Intro-IoT.adoc b/Intro-IoT.adoc index 3c0ea1b..c848b2b 100644 --- a/Intro-IoT.adoc +++ b/Intro-IoT.adoc @@ -131,13 +131,89 @@ video::6QJ_3lJSh8w[youtube] video::JzMaCKzWyiY[youtube] +[[cheat-Swarm]] +== Swarm +=== The Five Principles of Swarm Intelligence +image:./swarm.jpeg[alt="Swarm Intelligence"] +- Awareness +Each member must be aware of its surroundings and abilities. +- Autonomy +Each member must operate as an autonomous master (not as a slave;) this is essential to self-coordinate allocation of labor. + +- Solidarity + +Each member must cooperate in solidarity: when a task is completed, each member should autonomously look for a new task (leveraging its current position.) + +- Expandability + +The system must permit expansion where members are dynamically aggregated. + +- Resiliency + +The system must be self-healing: when members are removed, the remaining members should undertake the unfinished tasks. + +=== The Five Principles of Swarm Intelligence (Video) + +* Five Principles of Swarm Intelligence ++ +video::axxXz2BM0yw[youtube] + +=== Swarm Apps + +==== Harvard University + +Harvard University scientists have developed about a thousand tiny robots that, like swarming bees or army ants, can work together in vast numbers without a guiding central intelligence + +* Programmable self-assembly in a thousand-robot swarm ++ +video::xK54Bu9HFRw[youtube] + +More Info: +https://www.seas.harvard.edu/news/2014/08/self-organizing-thousand-robot-swarm[^] + + +==== Intel's Shooting Star Drone + +The Shooting Star system is designed for light shows, so it will initially be used for entertainment, such as shows as theme parks, sports stadiums, and large public events (Fourth of July, New Year's Eve, etc.). The show is a bit like battery-powered fireworks, but with Intel's brains behind the operation, fancy animation can be created in just a few days. + +Each quadcopter weighs just over half a pound, with built-in LED lights that can create more than 4 billion color combinations. The system's algorithms determine where drones should be placed and optimize the flight path. An entire fleet of hundreds of drones can be controlled by a single computer. + + +* Programmable swarm light show ++ +video::aOd4-T_p5fA[youtube] + +More Info: +https://www.zdnet.com/article/500-intel-drones-dance-in-the-night-sky/[^] + + + +==== Swarm intelligence approaches + +* Intel's Shooting Star Drone +Each member is controlled through a central computer + +* Harvard University +Each member behaves autonomously without a central computer + +Both approaches have merits and limitations. + +In the case of “a” above, members are slaves in a system controlled by a central computer with sufficient channels of communication. The results can be visually spectacular, as illustrated by Intel’s drones. However, since a central computer dictates the movement of each member, there is limited flexibility to adapt to changing environments + +TIP: vulnerability due to single point of failure + + +In the case of "b" + +image:./Image3_650.jpg[alt="Traffic jams"] +In a swarm of a thousand simple robots, errors like traffic jams (second from left) and imprecise positioning (far right) are common. (Photo courtesy of Mike Rubenstein and Science/AAAS.) diff --git a/swarm.jpeg b/swarm.jpeg new file mode 100644 index 0000000..1caf439 Binary files /dev/null and b/swarm.jpeg differ