Controller Molecube Design

From molecubes
Jump to navigation Jump to search

The ARM microprocessor-based control unit and embedded software framework includes both the design of the hardware and the embedded software of a controller module. The controller enabling a direct interface from existing PC-based simulation software to the connected actuator Molecube modules. The design utilizes USB-based communication with a host computer. The communication system shall then be expanded to include wireless connectivity using Bluetooth.

The controller hardware includes a high capacity external memory device enabling the storage of system logs and command execution sequences. The hardware design includes five standard Molecube physical interfaces for robotic module retention and electronics connectivity. The hardware design includes an enclosure of approximately equal dimension as a Molecube actuator module.

Figure 4. Controller functionality overview diagram.

The embedded software provides three primary functional modes. First is the ability to receive, execute, pause, and stop modular robot actuation control sequences. The format and contents of these control sequences is defined in the Molecube Sequence File definition (here). The specification is a definition of control elements enabling future Molecube compatible designs (such as wheels or grippers) to not require modification of the control framework in order to be utilized. Hardware specifics shall be implemented at the interface computer level which facilitates greater longevity of the design.

The second functional mode is the ability to report the physical state of a composition of Molecube modules into a single physical robot. This involves an interface and orientation map, reporting the identity of each Molecube in the network and how it is physically connected to its neighbors. This specification is defined in the Molecube Morphology File spec (here).

The final functional role of the software is to allow for direct command injection. This enables direct real time control of individual Molecubes in a connected network. The interface to this software functionality shall be identical regardless of the interface (wired or wireless).

Software Implementation

Setup ARM Development Environment

Known Problems

The Molecube sequence file (*.msf) is generated by the PhysX simulation running on a PC. This maintains a simple header describing global parameters about the sequence such as length and the Molecube topology it is associated with. Following this header, commands compliant with the command specification document are combined with a timestamp indicating the time of execution. From this file the controller builds a memory structure consisting of timestamp ordered queues of commands. The actual runtime is quite simple, it simply needs to dequeue and execute commands when the current timestamp is less than or equal to the timestamp of the head of a particular queue. This action is continuously applied to each cube queue until no commands remain in any queues. See the attached diagram for a visual representation of this process.

Hardware Implementation

Controller Daughterboard Gerbers - All the manufacturing gerber files required for manufacturing at AP Circuits. Please see GitHub for the most recent version. This design has been built, tested and has works as expected. Bluetooth functionality has not been tested but is not considered a critical path piece of functionality. This will be tested when time is available. Please see GitHub for Eagle files should an alternate gerber output format (additional layers etc) be required.

Controller Daughterboard Bill of Materials - All required parts and more and presented here as well as suggested part numbers and distributors. Digikey has been the distributor of choice for this piece of hardware. Nearly all the parts on the controller daughterboard can be found from Digikey inexpensively.

For guidance on controller daughterboard assembly, please refer to Controller Daughterboard Assembly.

Future Work

  • Single Board with more compact interface region allowing for cube to interface on all 6 sides
  • Bluetooth software support allowing remote control and sequence upload
  • Onboard battery / capacitor power source allowing maintenance of state through power cycles such as switching battery cubes

Related Materials

semester report files 20-dec-2007 image semester_final_report pdf semester final report pdf image semester_report doc semester final report doc image runtim e_code zip runtime zip - runtime code from dec 20 2007 snapshot of repository image controller_daughterboard zip controller daughterboard zip - revision 2 daughterboard design files cadsoft eagle files image battery_charger zip battery charger zip - preliminary battery_molecube_electronic_design battery charger design cadsoft eagle files spring semester presentation 19-may-2008 spring semester presentation 19-may-2008 spring semester presentation 19-may-2008 image molecubes_spring08_pw_meng_presentation zip semester presentation controller image gallery controller image gallery controller image gallery image dsc04778 jpg controller daughterboard rev c buttons added and design compressed into smaller area image dsc04780 jpg bottom side with new bluetooth module visible small blue device is 2 4ghz antenna image dsc04781 jpg 3 4 view rev c controller image dsc04782 jpg rev c side view image dboard_revc_top png controller daughterboard rev c top board design image dboard_revc_bot png controller daughterboard rev c bottom board design image dsc04107 jpg 3 4 view rev b controller image dsc04112 jpg microsd is really small image dsc04125 jpg controller daughterboard rev b image controlboardrev2top png controller daughterboard rev b top board design image controlboardrev2bot png controller daughterboard rev b bottom board design