TY - GEN
T1 - A multi-robot testbed for robotics programming education and research
AU - Saad, Ashraf
AU - Liljenquist, James
PY - 2014/3/28
Y1 - 2014/3/28
N2 - We present the design choices we made to develop a multi-robot testbed to advance robotics programming education and research. We addressed the following criteria in developing the testbed in order to increase the likelihood that other computer science educators and researchers will adopt it as well, namely: the ability to program the robots in a high-level programming language; the ability of each robot to run programs using on-board processing capabilities; the ability of each robot to sense the environment in which it operates using on-board sensors; the ability of each robot to communicate with other robots in the testbed; and, the ability to incorporate additional robots in the testbed in a scalable manner. Given its programmability and communication capabilities, we chose Pololu's m3pi as the robot to use for constructing the testbed. We provide details of the various design choices and technical challenges we faced to build the testbed, including: programming m3pi robots in C/C++ to perform basic navigation operations, the graphical user interfaces we developed in Java and C# to track the robots, getting the robots to communicate using the Wixel and XBee wireless serial modules, and a virtual machine that we wrote in Python for the mbed microcontroller in order to give m3pi robots the communication capabilities needed for them to communicate using the XBee wireless serial module while navigating a grid. We conclude by outlining future promising directions to extend the testbed.
AB - We present the design choices we made to develop a multi-robot testbed to advance robotics programming education and research. We addressed the following criteria in developing the testbed in order to increase the likelihood that other computer science educators and researchers will adopt it as well, namely: the ability to program the robots in a high-level programming language; the ability of each robot to run programs using on-board processing capabilities; the ability of each robot to sense the environment in which it operates using on-board sensors; the ability of each robot to communicate with other robots in the testbed; and, the ability to incorporate additional robots in the testbed in a scalable manner. Given its programmability and communication capabilities, we chose Pololu's m3pi as the robot to use for constructing the testbed. We provide details of the various design choices and technical challenges we faced to build the testbed, including: programming m3pi robots in C/C++ to perform basic navigation operations, the graphical user interfaces we developed in Java and C# to track the robots, getting the robots to communicate using the Wixel and XBee wireless serial modules, and a virtual machine that we wrote in Python for the mbed microcontroller in order to give m3pi robots the communication capabilities needed for them to communicate using the XBee wireless serial module while navigating a grid. We conclude by outlining future promising directions to extend the testbed.
KW - Computer science education
KW - Computer science research
KW - Multi robot testbed
KW - Robotics programming
UR - http://www.scopus.com/inward/record.url?scp=84940706511&partnerID=8YFLogxK
U2 - 10.1145/2638404.2675737
DO - 10.1145/2638404.2675737
M3 - Conference article
AN - SCOPUS:84940706511
T3 - Proceedings of the 2014 ACM Southeast Regional Conference, ACM SE 2014
BT - Proceedings of the 2014 ACM Southeast Regional Conference, ACM SE 2014
PB - Association for Computing Machinery
T2 - 2014 ACM Southeast Regional Conference, ACM SE 2014
Y2 - 28 March 2014 through 29 March 2014
ER -