Blog - January 2013
Students made some of the drawings for the conveyor shafts. The shafts with finished drawings should be finished tonight.
Students manufactured a few of the shafts for the conveyor assembly. These hex shafts will used with the polyurethane rollers to move the frisbees from the intake to the piston-powered loader.
Manufactuing parts on the lathe
Students began measuring the dimensions of the bumper cordura based on the measurements of the robot bumper assembly in Solidworks. They will order 4 yd x 60 in cordura material from Seattle Fabrics for the red and blue bumpers. Particular effort will be spent making sure that the colors are according to the team standards. After confirmation of all details, they will place the order.
Wiring today consisted of soldering connectors onto a mini CIM motor and another set of connnectors for the speed controller to test out the intake prototype. The students discovered that the motor’s shaft was spinning, while the gear was not. After some modificaitons, the team was able to successfully control the speed of the intake with the speed controller, which was mapped to the Logitech gamepad.
The current drivebase chassis
Students continued design on the intake, revising the polyurethane rollers as well as the polycarb on top. This wasn’t worked on much today, but the improvements drastically increased efficiency.
Student making adjustments to the intake
Students continued to revise Chairman’s as well as work on various sponsor things. Awards will be delivered later this week, and prospective sponsors are being contacted.
Today, the programmers continued work on tuning the PID controller for the shooter wheel. The results were roughly about the same as yesterday’s results. When the actual shooter is built, the team will spend a great deal of time to tune the shooter controller very nicely and accurately. But for now, this was a good exercise and experience the team can learn from. The programmers are currently experimenting with a mix of filters, different controllers (bang-bang vs. PID), and feed-forward.
Meanwhile, other programmers wrote code for the intake prototype. They mapped it to the Logitech gamepad, so that the shoulder buttons would increment or decrement the speed controller output by 0.005, the start button would set it to 0.0, and the back button would set it to +1.0. This functionality was requested by the students working on the intake prototype, since they want to find the minimum required torque to intake a frisbee smoothly. Tests are currently being conducted on this.
Programmers intently programming
Wiring the main robot chassis was continued today, as students and mentors mounted and wired 8 port solenoids. As well, the spike was wired and progress was made in the decision on how to mount the compressor. With majority of the base wiring complete, the team is currently waiting on new cRIO modules to arrive so that they can be mounted and wired as well.
Wiring the solenoids
Prototyping was divided into multiple subgroups today, with students working on the loading mechanism, the conveyor, as well as mounting a mini CIM motor to power the intake prototype.
A select group of students decided to prototype the loading mechanism which transfers the frisbee from the conveyor to the shooter. Using polycarb, wood, and pistons, they were able to manufacture a working prototype to serve as a successful proof-of-concept reinforcing designs already implemented into CAD.
Students worked to make a conveyor out of wood to use as a proof-of-concept with using 3/8″ hex shafts versus the previously favoured 1/2″. It is still a work in progress and is currently being assembled.
It was decided that to optimize the speed of rollers used in the intake, it is neccessary to modify the current intake design which had previously been powered solely by pneumatic drills to operate using a single mini CIM motor. To do so, students created 2 pulleys to direct power to the front rollers using polycord while the back rollers will be powered by gears at a 3:1 ratio. There was minor setbacks in the broaching of a 1/2″ gear, and as such the project was slowed. The modifications are still currently underway and will be documented in depth once they are completed.
Last night the intake prototype was modified to have both rollers powered by a mini-CIM, as shown in the photos below. The gears mentione above were used to power the bottom roller. This resulted in a theoretical max surface speed of 9.8 ft/s. When the frisbees were put through, there was virtually no observed speed reduction in the CIM due to the load. Because of this, it is alright to gear the intake for 18 ft/s theoretical surface speed, so this design will be proceeded with.
The front intake roller, connected with polycord
Both rollers powered by a mini-CIM
Bottom roller, with 3:1 reduction
The programmers continued graphing the 2012 robot’s shooter wheel RPM versus time. They experimented with both the bang-bang controller and a PID controller, as well as with and without a moving average filter. When using the bang-bang controller to control the shooter wheel, students found that using a moving average filter to filter the motor outputs produced smoother and more consistent results. The programmers spent a lot of time adjusting the P, I, and D terms of the PID controller. Though the PID controller’s graphs are relatively more stable and smoother than the graphs of the bang-bang controller, the PID controller either tends to overshoot its goal or to not reach it at all (mostly at 3500 rpm).
Graph of a PID-controlled shooter wheel (P = 0.007, I = 0.0, D = 0.003)
- Get a quote on wood for bumper assembly
- Buy wood/cordura for bumper assembly
- Finish design changes on conveyor and intake assemblies
- Finish prototyping conveyor
- Start designing control board
- Start manufacturing bumper components
- Hook up a speed controller to the intake to figure out the minimum required torque.
- Measure the current draw with the ammeter.
The students and mentors finished machining the intermediate shaft spacers. After ordering gear box shafts from a sponsor, the team decided to manufacture twice as many to take the PTO into account. Because we are not able to manufacture a hex into the round part of a shaft with the tools at the lab, students are instead making our own out of a hex shaft and placing a spacer on one end to prevent the gear from moving. Members also unsuccessfully searched for hex bearings from the storage crates.
The newly manufactured shaft spacers
Students also worked on the shooter indexer. The two side blocks for the outer indexer had to be replaced, as the previous wooden blocks were not long enough. Students successfully got the shaft through both parts of the prototype, such that the smaller one can pivot. The next step for this project is to attach the pneumatic pistons to the main frame of the prototype.
Students assembling the shooter indexing prototype
The intake prototype
The programmers tested the gyro and were able to get accurate results from it. They also retrieved the two S4 drive encoders from Skyfire for future use and storage. In addition, they finished translating the state space controller from C++ to Java. Though the new code has not yet been explicitly tested, it compiles fine. More tests will be done at a later time.
Next, the programming team tested out the bang-bang controller, which controls the 2012 robot’s shooter wheel. They also tested the graphing tool within the Smart Dashboard and made it display the velocity of the shooter wheel versus time.
Velocity (rpm) of the shooter wheel vs. time
- Finish constructing shooter indexing prototype
The nutritional benefits from the intake of these brownies helped us finalize our intake geometry over the weekend.
1 cup butter, melted
1 cup sugar
1 cup brown sugar
3/4 cup cocoa powder
1 1/2 tsp. vanilla extract
1 cup flour
1 1/2 tsp. baking powder
Mix melted butter, sugars and cocoa. Add vanilla and eggs; beat. Add flour and baking powder and mix well. Pour into a greased 9"x13" pan and bake at 350°F for 20-25 minutes, or until an inserted toothpick comes out with fudgey crumbs. Best enjoyed served warm with vanilla ice cream.
Today was a good day, as far as Mondays go. The parts for our drive gearbox were picked up from Modern Machine Company. The PTO Shafts, Output Shafts, Intermediate Shafts, and Wheel Shafts (small and medium) were returned. They turned out great! All that is needed to finish assembling the gearboxes are the parts from West Coast Products. Once those parts are received and the gearboxes are assembled, the drivebase will be driveable for the first time.
Cory and Pat worked on getting the new lathe working, which is running, but not currently useable as a main machine.
The season is going well and manufacturing is ahead of schedule. Design, on the other hand, is behind schedule. There will be a design freeze and a Order freeze on Friday. That means the design will be completed by the end of the week and all the known parts needed will be ordered by Friday.
Today, students worked on the conveyor system. This is the part that will transfer the frisbee from the conveyor to the shooter. The frisbee is pressed into the polycarb, where it gets stuck due to two 30-degree hinges. Students first created an 11 x 11 inch box, then labored over the polycarb to get it just right, and finally unscrewed one of the sides of the square, creating a U shape.
The intake prototype is taking shape. It is now at a point where it's working and we are almost ready to begin manufacturing. Along with the intake, the mechanism for transferring frisbees to the shooter is also in the process of being prototyped. This indexing mechanism will transfer frisbees from the intake and conveyor to load them up in the shooter. The prototype will use two pneumatic pistons to accomplish this. It doesn't yet work fully, but in terms of a proof of concept, in works fairly well.
Students building the indexing prototype
The robot wiring was worked on today on both the practice bot and the competeition bot. The PWM cables from the Talons were wired and put in place and the relays were wired to the power distribution board.
Wiring on the drive chassis
The programmers did more work on control and filters. They created a "bang-bang" controller; unlike the PID contoller, the bang-bang controller runs the control source until it reaches it goal, and stops once the goal is reached. They used the control scheme to control the shooter wheel, which worked fairly well (aside from the funny noises of the motors going on and off). The students also used a Counter instead of an Encoder to represent the encoder sensor, as the period of the encoder can be retrieved to calculate the RPM of the shooter wheel. Next, they also wrote a moving average filter, which takes in a double as an input and stores it in an array. The filter would return the average of the inputs as a single output. This has not yet been used, but it is a good utility to have.
Finally, the programmers prettified the code significantly. Many Javadoc comments and style-guide-cohering formatting fixes were included in the prettification process.
Finish and test indexing prototype
Lab closing time for the night was 10:00 PM
Today, many students worked on the funneling intake. We tested many angles, and elevations, to account for the robot in motion. This funneling intake works through 3 steps. First, the frisbee is sucked in to the intake assembly by a roller that spins over/on top of the frisbee. From there, the frisbee is funnelled by two plastic angled “walls” into a smaller chute. From here, a last conveyor moves the frisbee into the conveyor. Today the students worked on varying the distances the rollers were offset from the ground in addition to the angle/placement of the intake funnels. In addition a team branched off and worked on the CAD for a “real life” model, similar to one that would go on the robot with all variables accounted for.
The final decisions for the intake:
- Funneling walls would be at a 45 degree angle
- The intake will be symmetrical (no staggering of walls to let one frisbee go in ahead of another)
- The funnelling walls and extra lexan pieces would all be made out of one piece of lexan (using bends)
- The back of the intake would rest on the bumpers (students: refer to current CAD in the Sandbox)
Students test different angles and heights using the wooden prototype
Students model the intake in Solidworks
The students and mentors today worked on the electronics for the two chassis we got back from powdercoating. Currently on both the “practice” and “competition” robots, there are Power Distribution Boards, On/Off switches, Talons (speed controllers) and battery boxes. The team began wiring the Talons to the power distribution board.
Chassis with electronics
The programmers began the day by creating a command to shift the drivebase gearbox from high gear to low gear. This was done by creating a Solenoid object and switching it on or off with the press of a button. In addition, the students mapped four buttons on the gamepad (A, B ,X, Y) to the 2012 robot’s shooter. Each of the four buttons, when pressed, sets the shooter wheel at a predetermined speed. This implementation will be helpful for adjusting shooter wheel speeds on the actual robot this year.
Next, the programmers tried to come up with ways to display a graph of values from a Controller (speed, distance, etc) versus time. They brainstormed ideas on how to implement this, such as using the Smart Dashboard or a webpage. Students are looking into Flot, a jQuery library for plotting values on a dynamic graph. This graph will help with PID tuning and other testing.
- Continue Wiring Robot Chassis
- Take steps toward a moving drivebase
- Continue on intake CAD/prototyping – Finalize dimensions
Lab closing time for the night was: 11:59 pm
Students continued to make modifications to the intake prototype. They scrapped the entire aluminum model because they decided it would be too time inefficient to drill and redrill holes into metal. Instead, the team constructed the front of the robot frame and the intake prototype with wood. A life-size drawing of the intake arms was printed out and glued onto a wooden block. Then, the intake arms were cut out with the vertical bandsaw along the traces.
In addition, shafts were manufactured on the lathe for the intake prototype. The team plans to have the intake mechanism fully designed and tested by Saturday, or Sunday at the latest.
Students assembling an intake prototype with wood
At around midnight last night, the team decided to remove the vertical rollers and add a bottom roller. This resulted in a much simpler two roller design which worked really well. The front roller is still 25″ long, while the back roller is 12″ long. Students also added passive polycarbonate funnels on each side so that the frisbee is in the center by the time it hits the roller.
Intake with bottom horizontal roller
Intake attached to wooden bumper frame
Meanwhile, students also created a wooden bumper frame out of wood to mount the intake mechanism. Like the new wooden intake, a wooden frame would allow the team to more easily drill and make modifications to the prototype.
Creating wooden bumper frame
The programmers had a very successful day. They began by bringing in and testing two additional VEX ultrasonic sensors from the VEX lab. Upon testing, the students found that one of the additional sensors was significantly better than the previous single ultrasonic sensor. The better sensor can detect surfaces of a distance greater than 12 inches, whereas the old sensor could only detect up to 3 inches. Though the VEX ultrasonic sensor works when tested with the shooter prototype, the team is still exploring other sensors as ways of detecting the orientation of the frisbee.
Testing the three VEX ultrasonic sensors
The programming team traveled upstairs for a group programming session, using one single laptop and a projector. The students worked together to implement a Controller class and reimplement WPILib’s PIDController. Instead of having multiple threads for each of the controllers, the team created a way to update each controller in one thread. This was done by making the Controller class and abstract class that held onto a static Vector of Controller objects. Then, in the constructor of the Controller class, “this” controller would be added to the Vector. Finally, a method called updateAll() would iterate through the Vector to update all of the controllers. This was a breakthrough moment for the programmers, as a solution utilizing fewer threads would make the whole process more light-weight.
When this new code was deployed to the 2012 robot Skyfire, no exceptions were thrown and no errors seemed to pop up. Miraculously, the code worked flawlessly on the first try!
- Continue assembling intake prototype
- Reimplement and commit state space controller class
- Add conveyor to intake prototype for the purpose of constraining the frisbee in all directions.
- Prevent frisbees from getting stacked once they were through the intake
- Turn down front roller to 3/8″ so that it can be driven with the pneumatic drill
- Model new intake in Solidworks
Lab closing time for the night was 2:30 AM
Intake & 2010 Robot
Students continued to develop an intake prototype, now attached to Onslaught, and the intake will be completed as soon as possible. However, due to the arrival of the chassis, students removed Talons from Onslaught to be placed on the new drive chassis. This transfer means that we do not know which robot (Onslaught or Skyfire) that the drivers will practice on, but Onslaught will still be used for testing sensors.
Today, GIlbert Spray Coat returned the powdercoated chassis a day earlier than expected, and students began working on putting electronics onto the frame, such as the power distribution board, ten Talons each, digital sidecar, the Spike relay, the power switch, and solenoid. Additionally, Pacific Coast Metals returned other anodized parts, such as gearbox plates and spacers.
If the shafts are returned from Modern Machine Company tommorrow, work on assembling the gearboxes will begin. However, there are a few missing parts that still need to be aquired. The 40T gears, shifting dogs, shifter shafts, and a few other parts from West Coast Products are still missing.
The bearing housings were received from Pacific Coast. Mentors and students worked on pushing the bearings into these housings
The two powdercoated chassis
Today, the students spent most of the time trying to make a VEX ultrasonic sensor work on an FRC robot, in order to determine the orientation of a Frisbee. Most of the time was spent debugging the sensor, as the sensor was returning arbitrary and random values. The programmers discovered that the two port numbers should be switched in the code, which made the ultrasonic sensor work. However, during testing, the sensor seemed to be able to detect surfaces a maximum distance of around 3 inches away. This is a problem, as the VEX ultrasonic sensors are designed to be able to detect distances of up to 115 inches away. The team thinks that interference from the surroundings could possibly affect the sensor’s abilities, but more tests and debugging will be done tomorrow to get to the root of the problem.
In addition, a couple of the robotics laptops were transfered to the lab for programming use; however, the nature of the Bellarmine servers prevented work from being done on the laptop. Currently, the team needs to reinstall the wireless card driver on the laptop.
- Debug and test ultrasonic sensor
- Continue working on the intake
- Continue adding electronics to the chassis
- Continue designing the shooter, climbing mechanism, and intake
- Start wiring
Students began building a new prototype intake. With four small, vertical, rollers and one large horizontal roller, the intake should work well once complete.
Working on the latest intake prototype
Students continued constructing a simple bumper onto the 2010 robot, Onslaught. Once complete, the new prototype intake will be attached to the bumper and tested for performance. Also, once the 2010 robot is operational, our driveteam can begin practicing. Currently, the left side bumper is placed on completely, but the wooden block on the right side is too short. Students will fix the right side bumper as soon as possible tomorrow.
Attaching wooden “bumpers” onto the 2010 robot
Today, the team recieved the drivebase chassis back from S&S Welding after sending them out on Monday. Students brushed the drivebase chassis in order to get them ready to be power coated. They will be sent to Pacific Coast to be powder coated tomorrow. The team expects to get them back by Friday.
Scotch-briting the drivebase chassis
Students also used the lathe to machine spacers for gearboxes. These should be finished tonight or tomorrow morning. Once the plates and shafts are complete, the team will begin to assemble them.
The programmers continued to work on translating state space and matrix code from 2012’s C++ code to Java. Currently, they are trying to implement a function that multiplies two matrices together.
Meanwhile, the latest cRIO image (v47) was successfully flashed to the 2012 robot today. However, the students need to re-deploy the code onto the robot, as the code was erased in the process of re-imaging.
- Continue machining the shafts and plates for the gearboxes
- Continue testing the 2010 robot and let drivers practice
- Continue designing the shooter, climbing mechanism, and intake
Author: Art Kalb
After a morning discussion on the mailing list, students and mentors attempted to use the shooter to shoot from a longer range than before. The goal of these long range shots is to pickup discs by the human player and quickly shoot them across the field. In testing, the shooter wheels and guide rail were improved to reduce slippage in the wheels, improving the velocity and range of the shooter. The previous BaneBots wheels were replaced with BaneBots wheels of larger diameter, and more compression was added. By the end of the day, the shooter was able to shoot frisbees through the high goal from the far edge of the field.
Close-up of updated shooter, with larger BaneBots wheels
Shooting frisbees from far edge of the field
Students started assembling a new intake, with a roller low to the ground to allow for easy pickup. Currently, this step is high priority, as the team needs a working and reliable intake mechanism for the overall robot design.
Students constructing new intake prototype
Today, students worked on the lathe for various parts on the drive gearboxes.
Manufacturing gearbox standoffs on the lathe
Running the 2010 Robot
Students worked on reviving the 2010 robot’s drivebase to have our drivers (Abhi Kumar and Chris Sides) driving as soon as possible to practice with the Logitech F310 controller. Tasks involved modifications to the CheesyDrive code from 2012 and mapping the gamepad axes to the drivetrain, and reimaging the cRIO to v47.
The 2010 robot, Onslaught
As a part of the program, the robot will need to do some mathematics involving matrices. To allow for this, students translated and reimplemented code to create a Matrix class, which will do basic matrix math (addition, subtraction, scalar multiplication) and matrix mulitiplication. Due to some uncertaintity about matrix multiplication, the class is not completed.
The students also worked on translating the state space controller from last year’s C++ code, which requires a functional Matrix class.
- Finish and test intake prototype
- Improve shooter for speed, distance, and accuracy
- Finish translating matrix/control code from 2012 to Java + test code
- Flash v47 image to Skyfire
These award-winning cookies fuelled our continued designing, prototyping and drivetrain-manufacturing activities this past weekend.
Chocolate Chip Cookies
1/2 cup butter
1/2 cup Crisco
1/2 cup sugar
1/2 cup brown sugar
1 tsp. vanilla extract
2 1/2 cups flour
1 tsp. baking soda
1/4 tsp. salt
1 handful rolled oats
1 cup chocolate chips
Cream shortening and sugar. Add vanilla and eggs; beat. Add flour, baking soda and salt and mix well. Add oats and chocolate chips, stirring slowly. Drop 1" balls onto a cookie sheet and press flat with a fork. Bake at 350°F for 8-10 minutes, until golden brown.
Today was our second day off in the FRC season. We did meet for about an hour today to finish the chassis. The baseplates were picked up this morning from BAE Systems (who watterjetted them for us over the weekend). They were taken to the lab to be assembled with the rest of the chassis. The chassis were jigged up and sent to the welder. Hopefully they will be back in the next two or three days.
One of two chassis getting sent to the welder
Students continued to make modifications to the shooter prototype. They removed the polycarbonate cover on the top of the shooter and replaced it with an aluminum bar to guide the frisbee through. In testing, the frisbees that are shot seem to consistently go through the high goal. The team expiremented with different shooter positions and angles in the testing, and measured the speed at which the frisbees were fired out. It was found that the frisbee’s velocity upon exiting the shooter was roughly 15 to 20 mph.
The updated shooter design
Not much work was done on the shooter today. With the current intake prototype, the frisbee seems to get stuck high on the intake ramp, not touching any vertical rollers. As of now, the intake has been taken apart so that the students can add metal supports (as opposed to wood).
The team continued to manufacture parts for the drive chassis and prototypes.
Student making parts on the lathe
The programmers had a particularly productive day. First, they tested the S4 and S5 encoders. The team realized that the encoders or wiring appeared to be defective yesterday because the encoders kept returning 0. They finally realized that it was indeed a code problem, as they needed to call the start() function on the encoders to start recording clicks. After testing all the S4 and S5 encoders in the 254 electronics bin, all of the encoders were deemed as “functional”, with the exception of one S4 encoder. The broken encoder was promptly labeled as “bad” with the help of some blue duct tape.
Programming the sensors while wielding pool noodles
Meanwhile, the programmers tested out a method to read a text file from the robot (Constants.txt) and update the constants accordingly. At first, the team had problems with finding the text file on the robot. Previously, they had been using getResourceAsStream and InputStreams, but switching over to FileConnection and DataInputStream solved the null pointer exceptions. This was a major breakthrough for the programmers. Now, with a Smart Dashboard extension to send text files to the robot via FTP and a way to read and update constants from that text file, the programmers have achieved nirvana.
The Constants text file looks like this: a constant’s name = its updated value
Students began designing the intake mechanism in Solidworks. Though the intake prototype is not yet completed, this step is important because it helps to visually map out the prototype for future assembly.
- Continue improving and testing shooter
- Reassemble and work on intake
The shooter protoype is coming along as students worked to test an added polycarb cover. To test the effectiveness of smaller wheels on the shooter, a group worked on replacing the treaded wheels with Banebots wheels. Tests proved favorable for the treaded wheels.
Leaders and students continued to test the intake system. Tests utilizing a single roller intake have proved successful. Students added an elevated mount to mimic the path that the frisbees will have to travel in order to enter the robot. Tests in intaking multiple frisbees have proved successful and steps are being taken to improve on the design.
Intake with wooden stands
Students progress by printing messages from the robot to the driver’s station control board. The programmers worked on some code to allow the driver’s station to cycle thorugh different autonomous modes. The “Y” button on the Logitech F310 joystick was mapped such that while the robot is disabled, a driver station user message line would display the current autonomous mode. This ended up working quite well with the available commands the team had already: drive distance and wait.
Meanwhile, the team also took time to strip and crimp a five-wire encoder wire into two female PWM terminals. This would allow the programmers to plug the S5 encoders into the digital sidecar to test the team’s S5 encoders. Unfortunately, this has yet to be completed; testing will occur tomorrow to ensure that both the wiring and encoders work.
Writing the autonomous mode selector
Through diligent work by students the CAD for this year’s bumpers are nearly complete.
Students and mentors have continued to work in Solidworks to design our robot’s drivebase. Progress was made by adding electrical components to the CAD to map out the distribution of speed controllers, CRIO and pneumatic systems placement, and the power distribution board.
The design of the robot drivebase in Solidworks
- Test S5 encoders
We had an excellent turnout of students today, which helped get a lot done.
The chassis needs to be completed by Monday to be sent out for welding. There are a few more parts that need to be completed for the chassis. Students worked on completing the covers for the bumper mounts. These parts were manufactured on the manual mill. They also finished the parts for the battery box (which is part of the chassis weldment).
Students cutting the battery box plates to length
On the CNC, the bumper mounts were being completed. These parts are a little more complex and take some time. They have been in progess for the past two days.
Bumper mounts in progress
Many completed parts so far, all very well organized
There are a few changes that need to be made on the shooter prototype, none of which were completed last night. The biggest change is going to be the increase in speed for the front wheels. The previous wheels were geared 2.3:1 making them spin at approximately 10,000 rpm. The wheels were changed to a smaller radius and a new mounting plate for the motors is in progress. This mounting plate will accomodate a BAG motor which spins at 14,000 rpm (free speed). It will be geared up a little to spin at 17,000 rpm. When accounting for efficiency and load losses, it will spin at approximately 15,000 rpm, which is the desired goal.
The shooter will also be turned upside down (little progress was made on this yesterday) to test if it is possible to load the frisbees upside down.
Students working on the shooter prototype
A new intake was designed today, to match the concept intake that is currently in the CAD model. This intake has a new funneling method by implementation. By concept, it is the same (where one frisbee goes in faster than the others). Previously, there were perpendicular belts that moved a frisbee ahead of the other one to allow the intake to funnel from two frisbees to one. On this current intake, the horizontal belts were replaced with four rollers. These rollers were shaped in a funnel as well. It was decided that the two frisbee wide intake will not be used. At any point in the match, there will not be two frisbees that will go in at exactly the same time, so the intake does not need to be two frisbees wide. During autonomous, the robot will drive towards the frisbees diagonally to intake them, rather than go straight on.
Students made an intake with these four rollers that replicated the "drop-down" motion that will be needed when the intake goes from "stowed" to "engaged." There is still a lot of work to be done. The structure was completed, the rollers were mounted, and the pivots worked. Its a matter of improving the concept to see what works and what doesn't.
Sensors and Wiring
Students did a lot of testing with sensors today. They wired in different sensors to check if they still worked. One of the most significant progresses they made today was with the use of the banner sensor. As you can see below, they used the banner sensor to detect whether the frisbee is upside down or right side up. This will come in very useful for this year's shooter, as shooting upside-down frisbees is slightly different than shooting right-side-up frisbees in terms of their trajectory and necessary velocity.
The two pictures below demonstrate their progress. In the picture to the left, the frisbee is upside down. However, the little orange light to the left of the green light on the banner sensor (yellow box held by hand) is off. In the picture to the right, the little orange light is on, which means the frisbee is right side up. In the off position, the sensor value returns false; in the on position, the sensor returns true. Since this banner sensor can detect only two states (frisbee upside down or no frisbee, and frisbee right side up), the team is looking into either using two banner sensors or one analog sensor that can help detect three states.
Upside-down frisbee (left)
right-side-up frisbee (right)
In addition to banner sensors, the programmers tested two gyros, both of which worked well. Next, the team wanted to test S5 encoders, but the wire to connnect this encoder to the digital sidecar needs to be soldered or modified. The S4 encoders are the last on the to-do list, which will happen tomorrow.
Students also worked on wiring other sensors and testing them out
In other news, students finally got the Smart Dashboard constants extension working on the driver station laptop. This would allow the team to upload new constants' values to the robot via FTP in a text file, so that re-compiling or re-deployment would not be necessary to change one little value. The team originally had issues with the FTP connection from the driver station laptop to the robot (specifically, a socket write error), but the programmers discovered that completely disabling the firewall did the job.
While the programmers have a working system to send text files to the robot, a method of reading constants and values from the text file and updating them is still required. The code to do so has been completed today after successfully rewriting the String class' split method. Though the system seems to work on the students' laptops, the next step for this is to actually test it on the robot and confirm that the hard-coded constants are actually being updated.
Other students worked on organizing the tool chest, which turned out to be very helpful. They took the tools out and laid them neatly back in the chest.
An organized and happy tool chest
Action Items for Tomorrow
Continue working on shooter
Finish prototyping intake
Finish manufacturing parts for chassis (especially frame rails)
Continue work on robot design
Finish bumper CAD
Continue design for control board
Test constants parsing/updating on the robot
Closing time for the lab was 2:00 AM
This is the second post, of a series of posts, related to the delicious baked goods eaten at the lab. We love baked goods and yummy foods. In response to this, we will be posting the recipes of some of the treats brought to the lab. The second recipe is a delicious (and questionably nutritious) way to start off the season.
This delectable cake is specially formulated to enhance the prototype-making areas of the brain, so that's what we snacked on this past weekend.
Chocolate Chip Cake
1 cup butter
1 1/4 cup sugar
1 tsp. vanilla extract
3 cups flour
2 tsp. baking powder
1 cup chocolate chips
1 cup milk
Cream butter and sugar. Add vanilla and eggs; beat. Add flour and baking powder and mix well. Add chocolate chips and milk, stirring slowly. Bake at 350°F in a large circular (cheesecake) pan or a 13"x9" rectangular pan for 35-40 minutes, or until an inserted toothpick comes out clean.
Today we made a few more changes to the shooter. We decided to return back to the larger, treaded wheels. Students disassembled the shooter and retreaded the wheels. Students also added snapring grooves onto the shafts. The shooter just needs to be reassembled and tested.
The programming team worked on a program to read constants from a text file into the robot software. This has been written and mostly finished, but remains untested. Since the cRIO runs only Java ME, an outdated version of Java compared to SE, the programmers spent a lot of time rewriting and reimplementing functions like String's split method. Meanwhile, other students continued debugging the Smart Dashboard widget and FTP connection, but had problems using the program on the driver station and other laptops. Oddly, the FTP upload and download works on one of the student's laptops, but not any of the others. More tests will be conducted to get to the root of this issue.
Programmers also began testing sensors for use on the 2013 robot. The gyro was removed from Skyfire and added to the 2010 robot for temporary testing purposes. Tomorrow, the team plans to test the S5 encoders and other sensors by printing out the values of the sensors to a console. This will also serve as a quick lesson on programming sensors for new and old programmers alike.
Programmers debugging issues with Smart Dashboard extension
Not much CAD work was done today as we focused mainly on machining the drivebase.
Today students did a lot of machining. They used the mill and drill press to create the Bumper Support Caps, which will get welded onto the drivebase. Students also used the lathe to cut down standoffs for the gearbox and to add snapring grooves the prototype shooter's shafts. A group of students also finished scotch-briting the bearing-housings. The CNC was used to make the final cuts onto the Bumper Supports.
Some of the many manufactured parts
Scotch-brited bearing housings
Student creating parts on the mill
Manufacturing parts on the lathe
Test sensors (encoders, gyros, etc)
Test reading constants from file
Continue Manufacturing Parts, especially parts for drivebase.
Finish bumper CAD (start manufacturing bumpers after mentor approval)
Continue control board design (document functions, buttons, & layout)
Lab closing time for the night was 11:30 PM
Several changes are being made to the shooter prototype. First, students began installing smaller diameter wheels in place of the larger diameter wedgetop treaded wheels. This is because the smaller wheels would have lighter weight and would allow the shooter to occupy less space. In addition, a team on Chief Delphi forums tried them out and reported that this method worked well for them.
Next, the team is in the process of turning shooter upside down to allow frisbees to be fed from the bottom. This would make it easier for the intake and conveyor system to feed frisbees directly into the shooter.
Smaller wheels (left) vs. the wedgetop treaded wheels (right)
Today was largely focused on the manufacturing of various aluminum parts for the drive chassis and prototypes. Students used the mill, lathe, and other machines to manufacture parts. The lathe was used to create axles for drive gearbox. In addition, students scotch-brited bearing housings and deburred parts.
Manufacturing parts on the mill
Manufacturing parts on the drill press
Students scotch-briting the bearing housings
Students continued designing the robot bumpers in Solidworks. The pool noodles and wooden frame of the bumpers were designed, but the team still needs to create a couple more pool noodles. Upon their completion, the noodles and the frame will be assembled in Solidworks.
Other students created weld drawings for drive chassis.
Designing the bumpers in Solidworks
The programming team conducted tests of the VEX light sensors. The team hopes to use some sort of sensor to check whether a frisbee in the shooter is right-side-up or upside-down. However, the VEX light sensors seemed to have a difficult time differentiating between the two. The error margin or difference between the two values were too small and close to be used effectively. The team believes that the ambient light in the NASA lab may have contributed to this.
Next, the team tried connecting a photoelectric sensor to the robot for testing. However, there may have been an error in wiring or code that gave the students inconsistent and incorrect values. The team will look more into infrared sensors to accomplish the goal.
- Continue CAD of bumpers
- Re-assemble shooter
- Check PDM for parts to manufacture
- Manufacture parts on mill and lathe
Lab closing time for the night was 11:45