<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Aaron Becker &#8211; Robohub</title>
	<atom:link href="https://robohub.org/author/aaron-becker/feed/" rel="self" type="application/rss+xml" />
	<link>https://robohub.org</link>
	<description>Connecting the robotics community to the world</description>
	<lastBuildDate>Sun, 04 Oct 2026 22:35:49 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>Researchers use single joystick to control swarm of RC robots</title>
		<link>https://robohub.org/researchers-use-single-joystick-to-control-swarm-of-rc-robots/</link>
		
		<dc:creator><![CDATA[Aaron Becker]]></dc:creator>
		<pubDate>Mon, 09 Sep 2013 15:19:32 +0000</pubDate>
				<category><![CDATA[news]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[crowdfunding]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[swarm]]></category>
		<guid isPermaLink="false">http://robohub.org/?p=19067</guid>

					<description><![CDATA[What can you do with 12 RC robots all slaved to the same joystick remote control?  Common sense might say you need 11 more remotes, but our video demonstrates you can steer all the robots to any desired final position by using an algorithm we designed. The algorithm exploits rotational noise: each time the joystick [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>What can you do with 12 RC robots all slaved to the same joystick remote control?  Common sense might say you need 11 more remotes, but our video demonstrates you can steer all the robots to any desired final position by using an algorithm we designed. The algorithm exploits rotational noise: each time the joystick tells the robots to turn, every robot turns a slightly different amount due to random wheel slip. We use these differences to slowly push the robots to goal positions. The current algorithm is slow, so we&#8217;re designing new algorithms that are 200x faster. You can help by playing our online game: <a href="http://www.swarmcontrol.net" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">www.swarmcontrol.net</a>.</p>
<p><span id="more-19067"></span></p>
<p>The algorithm extends to any number of robots; <a href="http://www.youtube.com/watch?v=QsbcIgHRSMA" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">this video</a> shows a simulation with 120 robots and a more complicated goal pattern.</p>
<div class=" "><iframe title="Robotic Ensemble Control @ Rice University" width="500" height="281" src="https://www.youtube-nocookie.com/embed/QsbcIgHRSMA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p></p>
<div class="minitext">A swarm of <a href="http://mrsl.rice.edu/projects/r-one" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><i>r-one</i> robots</a> designed and built by Rice undergraduates forming the Rice University logo.  The robots are all connected to the same joystick remote control – so each robot gets exactly the same commands, but by using an algorithm we designed, they can be steered to any formation.</div>
<p>Our research is motivated by real-world challenges in <a href="http://en.wikipedia.org/wiki/Microbotics" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">microrobotics</a> and <a href="http://en.wikipedia.org/wiki/Nanorobotics" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">nanorobotics</a>, where often all the robots are steered by the same control signal (<a href="http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6385723" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">IROS 2012 paper</a>). Our colleagues <a href="http://www.linkedin.com/pub/yan-ou/25/940/7a2" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Yan Ou</a> and <a href="http://www.ecse.rpi.edu/~agung/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Agung Julius</a> at <a href="http://rpi.edu" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">RPI</a> and Paul Kim and <a href="http://www.pages.drexel.edu/~mk489/kim.htm" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">MinJun Kim</a> at <a href="http://www.drexel.edu" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Drexel</a> use an external magnetic field to steer <a href="http://en.wikipedia.org/wiki/Tetrahymena" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">single-celled protozoa</a> swimming in a Petri dish. The same magnetic field is applied to every protozoa. We want controllers to steer them to do useful tasks such as targeted drug delivery and mobile sensing.</p>
<img fetchpriority="high" decoding="async" class="alignright size-full wp-image-19068" alt="PyriformisOverview" src="http://robohub.org/wp-content/uploads/2013/09/PyriformisOverview.jpg" width="600" height="314" srcset="https://robohub.org/wp-content/uploads/2013/09/PyriformisOverview.jpg 600w, https://robohub.org/wp-content/uploads/2013/09/PyriformisOverview-300x157.jpg 300w, https://robohub.org/wp-content/uploads/2013/09/PyriformisOverview-500x261.jpg 500w" sizes="(max-width: 600px) 100vw, 600px" />
<div style="clear: both;"></div>
<div class="minitext">Electromagnets (left) create a magnetic field that applies the same control signal to every protozoa in the beaker (right).</div>
<p>Other examples include bacteria that move toward a light source (<a href="http://en.wikipedia.org/wiki/Phototaxis" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">phototaxis</a>), single celled organisms attracted by a chemical source (<a href="http://en.wikipedia.org/wiki/Chemotaxis" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">chemotaxis</a>), microrobots driven by an external magnetic field (<a href="https://www.youtube.com/watch?v=Prl2J-0IdZE" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">magmites</a>) or capacitive charge (<a href="https://www.youtube.com/watch?v=HLZfeUbJAuY" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">scratch-drive robots</a>), or synthetic molecules with light-driven motors (<a href="http://pubs.acs.org/doi/abs/10.1021/ol060445d" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">nanocars</a>).</p>
<p><strong>How it works<br />
</strong>To emulate micro or nanorobots, <a href="http://mrsl.rice.edu/projects/r-one" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">our robots</a> are programmed to behave as simple remote control cars, and tuned to listen to the same frequency.</p>
<img decoding="async" class="alignright size-full wp-image-19072" alt="RoneCentered" src="http://robohub.org/wp-content/uploads/2013/09/RoneCentered.jpg" width="715" height="566" srcset="https://robohub.org/wp-content/uploads/2013/09/RoneCentered.jpg 715w, https://robohub.org/wp-content/uploads/2013/09/RoneCentered-300x237.jpg 300w, https://robohub.org/wp-content/uploads/2013/09/RoneCentered-378x300.jpg 378w" sizes="(max-width: 715px) 100vw, 715px" />
<div style="clear: both;"></div>
<div class="minitext">Our robots all receive the same broadcast signal, and all either turn in place or drive <i>x</i> mm forwards or backwards.</div>
<p>We can then either drive the robots around with a simple joystick, or let a computer apply the control.  Regardless, the commands are the same, and consist merely of “go forwards/backwards <i>x</i> seconds” or “turn left for 2 seconds”. The computer has an advantage over human players, because it can precisely measure the position and orientation of every robot and compute the position error using an overhead camera and printed <a href="http://april.eecs.umich.edu/wiki/index.php/April_Tags" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">April Tag</a> barcode attached to each robot.</p>
<img decoding="async" class="size-full wp-image-19071 alignleft" alt="Joystick" src="http://robohub.org/wp-content/uploads/2013/09/Joystick.jpg" width="375" height="349" srcset="https://robohub.org/wp-content/uploads/2013/09/Joystick.jpg 375w, https://robohub.org/wp-content/uploads/2013/09/Joystick-300x279.jpg 300w, https://robohub.org/wp-content/uploads/2013/09/Joystick-322x300.jpg 322w" sizes="(max-width: 375px) 100vw, 375px" />
<div class="minitext">The signal broadcast to every robot is either “go forwards/backwards <i>x</i> seconds” or “turn left for 2 seconds”.</div>
<p>Our control law is <a href="http://en.wikipedia.org/wiki/Lyapunov_function#Globally_asymptotically_stable_equilibrium" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">globally asymptotically stable</a>, which means we can start the robots in any configuration and they will be guided to our desired formation. In the video, the robots start in a rectangle and are then guided to form the letter ‘R’. Next, 120 simulated robots start forming the word ‘Robotics’ and are guided to form our university logo and beloved owl mascot.</p>
<div style="clear: both;"></div>
<p><strong>The math</strong></p>
<div class=" "><iframe title="Ensemble Control of a Differential-Drive Robot" width="500" height="375" src="https://www.youtube-nocookie.com/embed/_v4KUBfzbv0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p></p>
<div class="minitext">Brief introductory video on Ensemble Control of Robotic Systems.</div>
<p>Our initial work, with <a href="http://people.ae.illinois.edu/tbretl/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Tim Bretl</a> at the <a href="http://illinois.edu" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">University of Illinois</a>, investigated a parallel problem: robust, open-loop control of a robot with unknown parameters. We chose two classical robot platforms to demonstrate our approach, the <a href="http://planning.cs.uiuc.edu/node660.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">nonholonomic unicycle</a> and the <a href="http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1303692" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">plate-ball manipulator</a>.</p>
<p>The nonholonomic unicycle is a canonical model for mobile robotics, and can model robots including <a href="http://en.wikipedia.org/wiki/Roomba" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">roombas</a>, tanks and cars. It has two inputs: forward speed and turning rate. It is easy to design an <a href="http://en.wikipedia.org/wiki/Open-loop_controller" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">open-loop</a> input sequence to steer the robot if the wheel size is known, but if the wheel size is unknown that same input sequence is scaled by the wheel size and can move the robot to drastically different positions (as shown in the video below). In <a href="http://people.ae.illinois.edu/tbretl/docs/pubs/Becker2012.pdf" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">our paper</a> we showed how to generate open-loop input sequences that are robust to an unknown wheel size. The key insight is that the sequence is designed to move from start to goal an imaginary <i>continuum</i> of robots containing every possible wheel size. This steering algorithm is based on piecewise-constant inputs and <a href="http://en.wikipedia.org/wiki/Taylor_series" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Taylor series approximations</a>. Taylor series approximations give us a clear method for increasing precision. If we want the robot continuum to be closer to the goal, we simply increase the order of the Taylor series approximation.</p>
<div class=" "><iframe title="Steering a Plate-Ball System Despite Perturbed Diameters" width="500" height="281" src="https://www.youtube-nocookie.com/embed/nPGz0Nd3QzE?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p></p>
<div class="minitext">A new approach to the classic plate-ball manipulator allows us to independently orient multiple spheres with the same control inputs. See our <a href="http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6385722" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">IROS 2012 paper</a>).</div>
<p>We applied a similar approach to the <i>ball-plate manipulator</i>, a canonical model for robotic manipulation by rolling. In the classical version of this system, a ball is held between two parallel plates and manipulated by maneuvering the upper plate while holding the lower plate fixed. The ball can be brought to any position and orientation though translations of the upper plate. The two inputs are speed of the ball center along the x-axis and speed along the y-axis. Changing the ball size inversely affects the rate of orientation change.</p>
<p><strong>Key insights<br />
</strong>For <a href="http://en.wikipedia.org/wiki/Robust_control" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">robust control</a>, we steered one <i>real</i> robot with a particular wheel size by <i>imagining</i> steering a continuum of all possible wheel sizes. Later, with <a href="http://www.linkedin.com/pub/cem-onyuksel/47/741/27a" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Cem Onyuksel</a> and <a href="http://people.ae.illinois.edu/tbretl/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Tim Bretl</a>, we realized instead we could use <i>the same input to steer many real robots</i>. Our approach, based on a <a href="http://en.wikipedia.org/wiki/Control-Lyapunov_function" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Control-Lyapunov function</a>, allowed us to control the position of any number of robots using the same broadcast control signal. You can test this out by purchasing several <a href="http://en.wikipedia.org/wiki/Radio-controlled_car" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">RC cars</a> tuned to the same radio frequency. If you command the cars to go forward, all will move forward. If you command them to turn, all turn—but due to process noise all turn a slightly different amount. The algorithm, published in another <a href="http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&amp;arnumber=6385723" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">2012 IROS article</a>, shows that rotational noise improves control, but translational noise impairs control.</p>
<img decoding="async" class="alignright size-full wp-image-19069" alt="800px-Omega_pocket_watch" src="http://robohub.org/wp-content/uploads/2013/09/800px-Omega_pocket_watch.jpg" width="375" height="241" srcset="https://robohub.org/wp-content/uploads/2013/09/800px-Omega_pocket_watch.jpg 375w, https://robohub.org/wp-content/uploads/2013/09/800px-Omega_pocket_watch-300x192.jpg 300w" sizes="(max-width: 375px) 100vw, 375px" />
<div class="minitext">The three hands of a pocket watch are all set by the same knob. In the same way, our turning command is sent to every robot. Unlike position, the orientation of each robot cannot be <i>independently</i> controlled. Image credit: Alexander T. Carroll.</div>
<p>Our algorithm allowed us to control the final position of <i>n</i> robots, but we could not control the final orientation. To understand why, consider setting a <a href="http://en.wikipedia.org/wiki/Pocket_watch" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">pocket watch</a> with hour, minute, and second hands. The hour and minute hands overlap 22 times per day, every 12/11 hours (the first crossing is at 1:05:27), but the hour, minute, and second hands overlap only twice: midnight and noon.  In the same way, our turning command is sent to every robot. Even steering 10 robots to point in the same direction is like flipping a coin until you get 10 heads in a row. This seemed a closed door. Then I saw <a href="http://www.foxtrot.com/2012/01/01082012" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Bill Amend&#8217;s Foxtrot cartoon on January 1st 2012</a>, where the strip&#8217;s younger brother steers 64 differential-drive robots to launch rubber darts at his older sister. The younger brother was holding a simple remote controller – just like our problem.  After a day of effort, we proved we could both predict the final orientation of each robot <i>and</i> arbitrarily pick the final position of each robot – sufficient for attacking, surrounding, or defending targets. The <a href="http://www.youtube.com/watch?v=4K_OvQqhR6Q" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">video</a> for our <a href="http://mrsl.rice.edu/papers/exact-range-and-bearing-control-many-differential-drive-robots-uniform-control-inputs" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">upcoming IROS 2013 paper</a> illustrates this algorithm using robots equipped with laser turrets.</p>
<div class=" "><iframe title="Range and Bearing Control of Many Differential-Drive Robots with Uniform Control Inputs" width="500" height="375" src="https://www.youtube-nocookie.com/embed/4K_OvQqhR6Q?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p></p>
<div class="minitext">With <a href="http://www.cs.rice.edu/~jm23/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">James McLurkin</a>, we mounted lasers on robots and showed that even with only one joystick controller, it is possible to steer the robots to all attack a target.</div>
<p><strong>Future directions</strong></p>
<p>With Chris Ertel, we&#8217;ve just launched <a href="http://swarmcontrol.net" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">SwarmControl</a>, an online game where players can steer a swarm of robots to complete challenges. The goal is to test several different control and visualization schemes for swarms of robots, and to gather quantitative data about what mechanisms help people work with these swarms most effectively. Secondarily, we&#8217;ve created a simple platform for publishing these academic user experiments projects online – why settle merely for a handful of undergrads to sample with? We&#8217;d like to advance the state of the art in experimentation.</p>
<a href="http://www.swarmcontrol.net" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img decoding="async" class="alignright  wp-image-19075" alt="Swarm_Control_Screenshot" src="http://robohub.org/wp-content/uploads/2013/09/Swarm_Control_Screenshot.jpg" width="715" height="212" srcset="https://robohub.org/wp-content/uploads/2013/09/Swarm_Control_Screenshot.jpg 715w, https://robohub.org/wp-content/uploads/2013/09/Swarm_Control_Screenshot-300x88.jpg 300w, https://robohub.org/wp-content/uploads/2013/09/Swarm_Control_Screenshot-500x148.jpg 500w" sizes="(max-width: 715px) 100vw, 715px" /></a>
<div style="clear: both;"></div>
<div class="minitext"><a href="SwarmControl.net" data-wpel-link="internal">SwarmControl.net</a>, an online game where you control a robotic swarm and help answer research questions.</div>
<p>All results are available as CSV or JSON from the <a href="http://swarmcontrol.net/show_results" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">results page.  </a>SwarmControl is an open-source project hosted at <a href="https://github.com/crertel/swarmmanipulate.git" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">https://github.com/crertel/swarmmanipulate.git</a>.</p>
<div class="divideronpost"></div>
<p><em>Like this article? You may also be interested in:</em></p>
<ul>
<li><a href="http://robohub.org/crowdsourcing-nanomedicine-for-cancer-first-steps-towards-swarming-nanobots/" data-wpel-link="internal">Crowdsourcing new strategies for cancer treatment: Towards swarming nanobots</a></li>
<li><a href="http://robohub.org/parrot-ar-drone-app-harnesses-crowd-power-to-fast-track-vision-learning-in-robotic-spacecraft/" data-wpel-link="internal">Parrot AR.Drone app harnesses crowd power to fast-track vision learning in robotic spacecraft</a></li>
<li><a href="http://robohub.org/how-biotech-might-pool-the-power-of-the-human-brain-with-proteo-me-ceo-ivo-georgiev/" data-wpel-link="internal">How biotech might pool the power of the human brain – with Proteo.me CEO Ivo Georgiev</a></li>
</ul>
<p><em>See all <a href="http://robohub.org/" data-wpel-link="internal">the latest robotics news</a> on Robohub, or <a href="http://eepurl.com/t-UEf" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">sign up for our weekly newsletter</a>.</em></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 

Served from: robohub.org @ 2026-10-26 14:09:39 by W3 Total Cache
-->