Prototype I: BB8
During my 2016 winter break, I worked on creating a BB8 as a proof of concept for the Robotics Competition I would later host. The concept was to create a gyroscopically stabilized spherical robot that could be controlled via a smartphone. Since this was my very first robot that had to move across multiple terrains, many iterations were done to the battery pack, the main frame, motor mounts, sphere, etc. The interesting challenge in this project was to keep the head attached to the body via magnets.
The BB8’s body consisted of a paper mache using a yoga ball for size. The mache was later fiberglassed and plastered in order to have the sphere retain its shape during movement. Afterwords the sphere was cut around the middle and taped shut in order to place the diaphragm in the ball.
The diaphragm consisted of a bottom plate made of 3/4″ MDF. Steel rollers were attached around the MDF to reduce friction between the edges of the diaphragm and the inside of sphere. Hobby wheels were used with DC gearbox motors. The differential drive allowed for the diaphragm to spin in the ball. Three PVC supports held up the top MDF plate where another set of rollers were attached. At the midpoint of the top plate’s diaphragm, a servo motor was attached at the center point of a beam. This beam supported two strong magnets so that the head of the BB8 could rotate accordingly. The BB8 was controlled by an arduino uno and a V3 Motorshield via Adafruit. Batteries were soldered together to provide enough current/voltage for the apparatus.
There were many challenges with this first prototype due to poor planning and lack of expertise. While the diaphragm was able to move within the sphere, unless the sphere was on a completely flat terrain with a low amount of friction (grass was problematic), the BB8 would not move. The head would also fall off fairly easily because it was too heavy due due to the excess plaster. On top of having too much plaster/pools of fiberglass in the structure, the lab that I built the BB8 in did not have the necessary equipment that allowed me to properly work with composites or sand down the structure. Because this was thrown together in a two week period, many problems were not fixed.
Prototype II: The Indestructible RC Dog Ball
Once spring semester started I took a class called Technology Ventures. In this class we had to create a product that we could market to consumers. It was highly important that a prototype was made for a demonstration at the end of the year. My partner, Jeff Costello, and I decided to break down the unsuccessful BB8 and produce a dog toy that we could market to pet-loving consumers, who wanted to enjoy a toy with their pets. Jeff and I made several consumer polls and asked a series of questions that included the following:
Once we had established our audience and seen consumer interest, we began designing the ball. The ball would be modeled off of the BB8’s internal design. The body was made of a nearly indestructible hollow plastic dog ball. A diaphragm similar to the BB8’s was then machined and fitted together (acrylic). A bluetooth module was connected and accessed directly by the phone via an opensource adafruit Bluefruit app. The ball was then tested on a variety of terrains. It seemed to work fairly fine on gravel and carpet, but unfortunately it could not overcome the grass. Our consumer testing was also pretty worthwhile. The dog that we tested it on seemed interested up to a point, but it’s interesting to note that the human users were a lot more interested in controlling and following the ball.
Prototype III: CMG Actuation
My college professor who was running the course was very excited about our prototype and our idea. He later asked me to pursue this project when I entered my Master’s program in Product Design and Manufacturing. We explored the possibilities of manufacturing this item, but soon realized that we violated too many sphero patents, specifically Patent No. US 2018/0224845A1: Self-Propelled Device with Actively Engaged Drive System. The patent drawing was an exact replica of the original design we had used. In order to potentially bypass this patent, we decided to pursue other methods to actuate the ball accordingly. The first method was to use a controlled momentum gyroscope to move the ball along the ground.
As the frames rotate angular conservation of momentum is conserved thus causing the sphere to move in an equal and opposite direction as dictated by Newton’s second law of motion. This method is most commonly used for space vehicles in order to propel them in certain directions. While it seemed like an interesting idea, it unfortunately did not move beyond the prototype stage. It was nearly impossible to control the dynamics of the sphere based off of the rotation of the gyroscopic frames. We also did not move forward with this idea because it could have infringed on the sphero patent (again) and due to the prior art available in aerospace applications, a patent wouldn’t be applicable.
Prototype IV: Pendulum Actuation
The next idea was to incorporate a pendulum within the ball. A pendulum would be connected to 2 stepper motors. Along the pendulum there are weights strategically placed in order to offset the sphere’s center of gravity. This allows for a torque to occur at the end of the moment arm (some unit length along the pendulum). As long as the torque is larger than the frictional torque caused by the normal force and terrain’s coefficient of friction, the ball should theoretically roll.
An accelerometer kept track of the position of the pendulum and would thus send data to the microcontroller in order keep the pendulum at a 90 degree angle from the vertical thus maximizing the moment arm and torque. A few different types of designs for this method were created. The outer shell was ribbed in order to allow for the dog to pick up the device if it were playing with it. This turned out to be a troublesome design because it caused the prototype to get stuck in certain positions. So a smooth shell was used to fit all of the components within.
The original intent was to use a feather Arduino (much smaller microcontroller) due to the size constraint of the ball. Because of a compatibility problem, it was later chosen to revert back to the arduino and V3 motor shield due to the large current draw of the stepper motors. The Arduino uno had a BLE bluefruit that used SPI to transfer data wirelessly to Adadfruit’s open source app that was used to control the motors, etc. A 9-axis accelerometer kept track of the pendulum’s position. When the pendulum was at a 90 degree angle, the pendulum would move up or down in 10 degree increments to adjust any offset due to rolling. Overall, the ball was able to tilt between 90-120 degrees thus proving that given enough weight at the end of the moment arm, the ball will roll. The ball was able to complete about half a revolution along carpet and almost made a full rotation on gravel. Other electrical components such as speakers, lights and a camera were envisioned to be apart of the original prototype, but because of the time constraint on the project only the minimum viable product was delivered.
Now there were a bit of problems with this prototype. Unfortunately the feather I used was not compatible with the 9 DOF accelerometer I had chosen. The accelerometer outputted a signal at 5V while the feather only took in an input of 3.3V. I could have fixed this with a voltage divider or a logic level converter, but in the interest of time I chose to revert back to the Arduino uno because I had all the components already on hand. Unfortunately this side step increased the weight on the pendulum causing the stepper motors to release the pendulum frequently (thereby losing the position) at 90 degree angles or higher. Another problem was the lack of wire integration in the design, so sometimes if the pendulum moved too much, it would remove the power lines to the motors. The major problems, however, stemmed from the 3D printed shells. They were very heavy due to the size of the shells. I also could not print them at a lower density because of the constraints of the 3D printer in our machine shop. Printing a shell could take easily 1-2 weeks due to the long quota of students the machine shop staff had to attend to. Soon enough the machine shop stopped sending me information about my parts and thus there were even more delays in being able to receive them in a time efficient manner.
The next major steps with this design are to potentially source larger stepper motors, decrease the size and disorganization of the circuit from an arduino uno to a smaller, custom pcb design, print a smooth shell and integrate weights into the pendulum. Overall I think the design has potential to actuate the sphere internally. However, this only allows for forward and backwards motion, which is why another method was used.
Prototype V: Electromagnetic Actuation
By using an electromagnetic force, we could generate enough to torque to send the sphere flying off at large speeds. This idea was thought of as a means to improve the performance of the dog ball. The basic set up involves two spheres. The inner sphere houses the electronics and power source needed to generate the current running through the coil. The coil is wrapped around the outside of the inner shell. The inner sphere rests on a shaft and two bearings. The ends of the shaft are attached to two non-rotatable bushings that are fixed to the inner shell of the outer sphere. On the inside of the outer sphere, two magnets with opposite poles are attached at opposite ends. Two flexible pins extend to the rotating shaft that has an asymmetrical collar that causes the current to run in one direction and then the other when the pin creates a connection point with the collar. As long as there is enough weight within the inner sphere and enough current running through the coils, the outer sphere will move either forwards or backwards (no left or right motion was added in yet).
This was a very interesting idea but also quite complex to create. There were various, different phases done to prototype this method, but a realistic and minimum viable product was unfortunately not produced due to the time constraint and the problem with producing shells for the spheres. The first test involved creating a coil that wrapped around a small plastic cylinder and then attached to the aluminum shaft that would run through the inner sphere to the outer. This coil was placed within a box. Four different magnets were utilized on either ends of the outer surface of the box with each consecutive magnet being opposite poles. Current ran through the coil and thus the box was able to tilt accordingly.
While there was no friction acting on the box, the concept achieved a tilt, thereby confirming that with enough current running through the coil and enough pull force from the magnet, a shell could rotate accordingly.
Another test was done with wrapping the coil around the outside of the inner sphere. Current was initiated through the coil and a magnet was placed along the coil in various positions. There was a noticeable pull force between the coil and one of the magnet’s poles. We had successfully created a pull force between the coil and a magnet.
Another test was done with running current through copper tape. Unfortunately there was no push/pull force noticed nor was a voltage visible under the scope of a multimeter.
The problems I encountered with this method were pretty similar to the pendulum. The shell was always a concern, but along the way the commutator and the wrapping of the coil were the toughest features to overcome. There were also a few intricacies that needed to be thought out more especially with creating the left and right movement of the sphere along the plain.