Friday, May 11, 2012

Team J-Team Magnus

1. Main Design Concept

The goal of this project is to build a mechanism that will launch Nerf Ballistic Balls at multiple targets. To accomplish this goal, the Magnus Effect will be employed to change the trajectory of the balls. This will be achieved by using 4 spinning wheels to change the spin of the ball as it is launched by the machine; each wheel is driven by a brushless motor. The Arduino Mega microcontroller is used for controlling and sensing. A Wii-camera is used to achieve the needed vision requirements.  A pair of IR sensors is deployed to help initiate feeding process. Couple more motors are also used to drive different subsystems. The model of the mechanical systems can be seen in Figure 1, while the entire design can be seen in figure 2.

The major driving force behind this design is the inherent coolness factor from doing something extraordinary. This design is used in the sports industry for launching different types of balls, but the accuracy and range of this specific application are not known at first. After multiple testing and verification, we find out that Magnus effect is effective and consistent. Therefore, we stick to our original design and carry it along.

2. Team members and responsibility

Samuel Dyment
Responsibility: Mechanism Design/Manufacturing, Structural Design/Manufacturing, Machining, system testing, CAD Modeling, Parts procurement, Final Report 

Yipeng (Mita) Yun
Responsibility: hardware design and implementation; wiring; software architecture and coding; electrical systems integration; testing.

Zhaotao (Charlie) Xu
Responsibility: Electrical subsystems design and implementation. Testing. Electrical and mechanical intergration.

Ching-Heng (Richard) Lu
Responsibility: Part of mechanical structure design/manufacturing, Part of mechanism design/manufacturing, Subsystem integration, System testing, Video, Website

3. Labeled picture(s) of the overall system with description

The overall system of our robot is integrated with several subsystems, including vision system, launcher system, hopper system, feeder system and electronic system. They are assembled together within a sturdy structure. 

Our major design concept is using the Magnus effect to curve the trajectory of the flying ball and hit the targets in different places. The Magnus effect has been applied in many aspects in our daily life, Most of them are on ball sports, such as baseball, soccer and table tennis. Its major concept is to give a ball different spinning speeds between itself and the viscous fluid (e.g. air), it will generates a force in a normal direction of its moving direction. Then, the force will make the ball fly in a curve trajectory. Therefore, we can use this effect to make our ball fly up and down, left and right.

There are several reasons for choosing this design as our launching mechanism. First, we can make the nerf balls hit on targets in different places without moving any part in our robot. It is stationary and is still able to hit the dynamic targets. Second, we didn’t find anyone has done a four-wheel mechanism before. Most of them are using 2 spinning wheels with a movable mechanism behind them. Thus, we are really excited and proud of our innovative design for our robot.

Then let’s talk about how will our robot function in sequence.   

First, switch the power on in our electronic system and dump in the nerf balls. Then the wiimote camera in the vision system will start to calibrate, try to get the target coordinates and send them Arduino, the microcontroller in the electronic system.

Second, after getting the target coordinates as an input, the Arduino will process those data and output four different motor speeds for each of four motors in the launcher system. The motor then will start spinning at specific speed.

Third, hopper system will now drop in a ball into feeder system and wait till the ball is shoot out.

Fourth, as soon as the hopper system drops in the ball, the feeder system will move the feeder arm to the front then push out the ball into launcher system.

Last, the ball touches the spinning wheels in the launcher system, it will shoot out by the frictions between them and fly toward the target. Then it repeats the processes above.

4. Pictures and descriptions of subsystems

The hopper subsystem was designed to be a high capacity ball sorting mechanism. The balls are dumped into the large opening at the top, and fall onto the holder disc below. When a ball is needed, the holder disc is spun by a stepper motor, and a single ball is dragged to a hole at the bottom of the bucket shaped object. There is an acrylic stopper that prevents balls from falling in to the feeder and attached to it is a tab that prevents jams.

The feeder systems main purpose is to push a single ball into the launcher subsystem. The primary mechanism is a rack and pinion driven by a continuous servo motor. The feeder has a few sensors that make it aware of its status. Two limit switches stop the arm from moving all the way forward and all the way back. An additional sensor is located in the base of the feeder area to alert the computer when a ball has been loaded. Once loaded the ball is pushed forward into the launcher wheels while being held steady by the holding fork.

The launcher systems main purpose is to consistently and accurately apply a velocity and spin to the ball. The launcher consists of 4 motors, wheels, motor controllers, and a plate that they are all mounted on. The electrical and mechanical connections were made to be easy to remove so that the launcher subsystem would be extremely easy to remove. The motors we used were Turnigy brushless DC motors and the motor controllers are Turnigy 18amp. The motor controllers are sent a pwm signal and automatically control the motor speeds. The four motors allow us to control the spin accurately in two directions, vertical and horizontal.

In vision subsystem, we use wii-camera to acquire target position. We took out wii-camera from a wii-mote, and rebuilt circuit for it. The circuit includes oscillator, which triggers on camera, and some extra components such as resistors. I2C protocol is implemented to ensure communication between microcontroller and camera. After camera captures targets, data is written to buffer address and microcontroller knows position coordinates of targets, thus giving further instructions to the rest of the system.


We use a stepper motor to drive the disc inside hopper and to sort all incoming balls. After it drives ball into shooting ramp, the IR sensors inside ramp will sense the drop of the ball, and gives feedback to stepper motor and stops it from spinning.  Feeder system’s electrical parts include a servo that drives feeder arm, and also two limit switches to confine feeder arm range. Finally, shooting system’s motors are controlled by brushless motors, each written by microcontrollers according to look-up table to define motor spinning speed.
Below is the schematic showing how electrical subsystem is controlled by Arduino Mega.

Psuedo code:
While (there is ball in hopper)
   If ball drops in ramp
         Stop spinning hopper

5. Video of the system in action

No comments:

Post a Comment