Ball Collecting Robot

Skills: SolidWorks, 3D Printing, Arduino, Mechanical Design, Mechanical Testing
A remote-controlled robot designed to collect balls for a Hungry Hungry Hippos competition using the Create 3 Roomba as the base of our project.

Objective

During my time as a System Test Engineering Co-op at iRobot, I collaborated with two peers on this design challenge project where we needed to adapt an iRobot Create 3 robot to play a modified version of Hungry Hungry Hippos. Our objective was to engineer the robot into a ball-gathering machine capable of manual control by the team members. Our robot would transport the balls from the game's arena to a designated area to earn points. Competing against other interns' robots, our goal was to win the competition by getting more balls than the other teams. This competition was then going to be shown to many students all over Massachusetts as a way to showcase how robotics and creativity go together. The image on the right shows what an unaltered Create 3 looks like.

Design Process

Brainstorming

Our team brainstormed various robot designs, with each member contributing a concept. The first image (left) shows a Roomba with two arms and a gate to trap balls. The second image (top right) features a crane-like design with a dome for ball handling. The third image (bottom right) shows a dome with a fan for pushing balls towards the goal. While these were promising ideas, they were either incomplete or too complex for our timeframe and budget.
We considered all these initial ideas and also explored using the Roomba's vacuum motor to suction balls from the arena and blow them out in the goal region. Initial tests, shown in the image, involved attaching a sheet of paper to the motor. The results were disappointing—the motor could only suck in balls that were nearly touching the paper, and increasing the funnel size would have required a larger, costly motor beyond our $50 budget. After this testing, we decided to proceed with the dome idea, modifying it to open sideways with two servo motors instead of rotating.

Work Division

Once the design was chosen, we had to decide each group member's role. Our team was composed of one Electrical Engineer, one Computer Engineer, and one Mechanical Engineer (me), so splitting the work was straightforward. The electrical engineer was responsible for designing a solution to power and control the servo motors. The computer engineer was responsible for creating a connection between the Create 3 and our remote controller for manual robot movement. My role involved designing, printing, and testing all physical parts to be added to the Create 3. I also took on the leadership role as the group's engineering manager, supervising the team's work to ensure a smooth integration of all parts in the final project. Additionally, I was responsible for reporting our progress to the event coordinators.

Electrical and Software

The servos were connected to an Arduino board that was then connected to the Create 3's battery to be used as the servo's power source. To control the servos, our electrical engineer decided to connect the Arduino to a phone app called Bluefruit Connect, where she could program what each button on the app did to the servos. The movement of the robot was done using a Wii remote controller that was connected to a computer that was itself connected to the Create 3 and through the use of ROS2 and other SDKs, our computer engineer was able to map the controller's button to our movement's needs. You can see a connection diagram from our robot, I will then go into more detail about each connection. The image on the right shows a connection diagram from our robot, and I will go into more detail about each connection in the following paragraphs.
The application's layout was simple but effective. We noticed that if we wanted to open or close the dome, both servos needed to rotate in opposite directions simultaneously. To open the dome, we pressed button number 1 on the app, which would rotate the left servo counterclockwise (CCW) and the right servo clockwise (CW). To close, the user would press the number 2 button to rotate both servos in opposite directions. The image on the right shows a simple diagram of how this layout works.
The controller connection was more complicated as our computer engineer had to overwrite the Create 3 safety limitations using ROS2 commands first. After that was done, he had to map the controller to the robot's movement. The way it was mapped is very intuitive and allowed the robot to do more complicated movements, such as rotating CW or CCW on its own axis without moving out of place, which was a crucial addition as it made our ball-gathering job much easier. The image on the right shows how we decided to map the robot's movement.

Mechanical

Material

The mechanical aspect of this project was complex, requiring extensive testing, especially in the material selection. We needed a flexible, lightweight, and durable material for the large dome that could withstand constant impacts. We had some budget constraints, due to spending on the remote controller, and it led us to use the 3D printer materials available at the iRobot facility. After testing on smaller-scale models, I narrowed down the options to PLA filament and PA12, used in Multi Jet Fusion printers. Both performed well, but we chose PA12 because it was over 20% lighter and outperformed PLA in stress tests. For these stress tests, I attached a force gauge to one end of the dome and secured the other end to a wall. I then pulled the dome until it broke, recording the maximum force required to do so. The PA12 dome withstood 37.2% more force than the PLA dome, indicating that PA12 was stronger and better suited to our needs.

Dome

After the material was decided, I had to design the dome. We wanted the dome to hover in front of the robot, so I had to ensure it was as light as possible. We also decided the dome's diameter to be the same as the robot's, as the area we had to access to score points was made to fit the Create 3 tightly through it, so making a dome that was larger in diameter would mean that we couldn't score any points. To make the dome lighter, I decided to implement a hole pattern that would reduce the amount of material in the dome without sacrificing its overall size and shape. After carefully studying the 3D printer's limitations, I calculate the optimal radius of the holes and the distance between them to reduce the dome's weight greatly while keeping it flexible and durable. The image on the right shows is the final version of the dome.

Connectors

The dome needed to be connected to both the servo motors and the Create 3. To attach the dome halves to the servos, I designed a hole pattern at the ends of each half, allowing us to secure the servos with ten M1.4 screws, as shown in the image on the right.
Once the servos are fixed to the dome, the next step is to mount this assembly onto the Create 3 robot. The Create 3 features numerous screw holes on top of it, specifically designed for M3 screws. Considering the robot's front bumper, it was crucial to ensure that the dome would hover above the ground and not obstruct the bumper mechanism. Considering all of these factors, I designed the connection piece for the bottom. The hole pattern on the connector matches that of the Create 3, all accommodating M3 clearance holes for securing with screws. Additionally, two slots are incorporated to attach the servos, strategically spaced to prevent interference between the dome halves during opening and closing. The connector can also be seen in the image on the right.

Stability

After completing the assembly, I tested it and realized that as the robot moved, the dome would keep moving up and down and eventually would get caught up on rugs and other obstacles. This hindrance would negatively impact the overall ability of our robot to collect the balls. As the project was approaching its deadline, I had to devise a quick and easy solution, so I reappropriated the casters from broken Roombas and attached them to the front of each half dome. The casters made the assembly much more stable as it had another point to support its weight, and it worked much better when dealing with obstacles. The caster connection to the dome can be seen on the images on the right.

Final Product

Final Images and Videos

Below are the final Solidworks assembly and drawing for the physical assembly.
Below are two images of the decorated robot.
Below are two videos of the functioning robot.

Competition and Future Improvements

In the competition, our robot performed greatly, averaging 40 balls per 5-minute round and securing second place overall, with only one instance of required maintenance. However, our success was somewhat hampered by two key factors: the reliability of the remote controller connection and the physical capabilities of the servos. Given our constraints of time and budget, we utilized a controller that didn't meet the highest standards, resulting in connection issues during the competition. These setbacks rendered our robot immobile for approximately 2 minutes per round, significantly reducing our ball-gathering capacity. Similarly, the quality of the servos was compromised by our limited budget, resulting in our dome exhibiting lateral movement even when the servos were inactive, impacting our robot's performance. Given more time and resources, we would have invested in superior servo motors and better remote controllers, implementing them more effectively to mitigate these challenges and optimize our robot's performance.