Home
Student Gallery
Enrollment Academic Year Program Fall 2019 PreVu Summer 2020 Summer 2020 NuVu At MIT Summer 2020 NuVu At MIT Residential
About Us What is NuVu Calendar Team + Advisors Partners Blog Press Jobs Contact Us
Nuvu X What is NuVuX Offerings Partners
Reset Password
Robotic Pet Toy

Home of the Future | Projects

  • The goal of our studio was to think of different technologies houses might use in the future. In exploring this topic, my partners and I made a pet toy that has the ability to play with a pet when its owner is not present.

    How much free time do you have to play with your pet? We created the robotic pet toy for busy pet owners who don't have enough time in the day to set aside an hour or two to play with their dog or cat. Our toy will play with a pet even when their owner isn't present, letting the owner worry about one less thing while at the same time providing entertainment for the animal.

    There are two parts of the robotic pet toy. One of them is a ball which is able to roll around by itself without needing physical contact from a human. Inside the ball, there are two motors which make the ball move as well as an accelerometer which is able to sense the position of the ball: is it moving, being pushed, or stationary? The way the ball works is it remains stationary until an animal nudges it. When the ball senses the motion with an accelerometer inside the ball, it triggers the motors inside the ball which are activated, making the ball move around.

  • From the beginning, we were extremely interested in creating a toy that would be interactive for pets. Originally, we wanted to make a structure for cats that would supply entertainment for them. This was quickly ruled out when we realized that it would not be enough of a challenge for us considering that it would not include any coding and only a wooden structure. It was back to the drawing board for us. We eventually came to the idea of creating a ball that dogs could use to play with. This ball included a dock that dispensed a treat whenever the ball returned to it.

    We started by sketching the different elements to both the ball and dock. We had a couple different ideas as to how the ball would actually move. A couple of these ideas involved the ball moving with a weight in the center of it or the ball would have a mini cart inside of it and navigate the ball to which direction it should go to. The idea for the dock originated from the idea of the game “fetch.” Whenever you play fetch with a dog, you give the dog a treat after they return the ball back to you. So our dock would dispense a treat every time the ball was returned to its spot.

    We used the laser cutter and wood to build our prototype. When we figured out every specific dimension we wanted for the dock, we continued on modeling with Rhino to make the 3D printed parts. Some of these parts were crucial to the product because they were the actual parts we used to dispense a treat. After creating that, it was time to work on the coding.

    We used an arduino to code our dock. Since we had an exact spot for the ball to return back to, we figured it would be smart to put a switch there. So whenever the ball would return to the dock, it would hit the switch and that would signal the motor to move the auger tool that dispenses the treat.

    Originally, we created a car that would fit into a hamster ball. The way the ball would move is that the car would drive and move the sides of the ball in the direction the car moves. However, this ended up being too complicated because the hamster ball was a set size and we could only make the car a certain size given the materials we had access to. It was time for plan B.

    Our second plan was to project two rods out from both sides of the ball. These rods would have holes in both sides to perfectly fit the motor. One side of the motor was heavier than the other so when the motor would rotate, one side of the ball would be weighted down, making the ball roll as a result. At first, we tried to design a specific part to fit inside of the hamster ball. However, it soon became clear that an easier solution would be to use the 3D printer and make our own ball. We designed the ball so that it printed one half at a time with the rod protruding.

    After we had printed out both sides of the ball, we tested it with one motor, and it worked! The ball was able to move all by itself! However, it was only able to rotate forwards and back -- we needed it to move more! As a solution to this problem, we attached a servo to the original motor. By adding more weight to the original motor, we now had a way to make the ball move in whatever direction we wanted it to go.

    At this point, we thought we were all done with the ball. However, we realized that the weight of the servo itself wasn’t enough to change the direction the ball was moving. Luckily, we had another solution: the battery the ball needed to move. The battery was fairly heavy and the solution was simple: attach the battery to the servo to add weight. In order to accomplish this, we designed an other piece in Rhino that was able to hold the battery to the ball and 3D printed it. Now, we had a ball that was able to roll forwards, backwards, and side to side. The next step was simple: we wrote a code on arduino for the ball to move in a specific pattern that was random. It now did exactly what we wanted it to do -- well almost.

    There was only one thing the ball wasn’t able to do: it wasn’t able to detect what was happening to it. In other words, we wanted the ball to know when it wasn’t being played with (touched), and when there was a person or an animal that was ready to play. In order to give the ball the ability to sense its surroundings, we put an accelerometer in the ball. We then programed the accelerometer to detect if there was an outside force pushing the ball or not. With this program in place, we programed the ball to complete one full pattern (previously programed). Once the ball was stopped, it would assess the situation around it: if there wasn’t an outside force (something pushing the ball) then the program would stop until the ball was nudged. However, if there was an animal nudging it, the ball would continue to roll.