Posts Tagged ‘ programming

Programming Update

Robot Group:

Things we have accomplished so far:

Basic Tele-op drive.

Motors have been linearized.

Travel exact distance almost works.

Current things we are working on/To-Do:

Pneumatics control/Gear Shifting

PID/control driving

Turn Exact angle

Support for different sensors.

Dashboard for the driver station

Simulator Group:

Completed:

3D field is complete

Most of the physics

Current Things/To-Do:

Object Collision

Interacting with Robot

Autonomous Strategies

Autonomous Stragegy (This may change):

Goal 1: Score first ubertube as quickly as possible.

Goal 2: Make Goal 1 work robustly

Goal 3: Pick up another ubertube, and score again while avoiding collisions

Day 15: Prototyping, Manufacturing, Programming & Design Progress

Prototyping

Today, the prototyping group worked to improve the minibot’s ability to clamp onto the pole.  Last night’s prototype climbed fine but didn’t clamp too well.  Progress was made and the next prototype should be done soon.

Manufacturing

Today, the manufacturing team was hard at work on several crucial robot parts.  On the lathe, we were working on tapped plugs to be welded into the elevator.

Nagy working on the tapped plugs.

On the mill, we were working on the battery tabs.

Erik working on the battery tabs.

Nagy and Nathan tapping the battery tabs.

On the CNC, we manufactured several parts including the frame front and rear rails and plugs to be welded into the bottom of the elevator side rails.

Programming

Today, the programming team continued to work on getting the robot to drive straight.  Furthermore, they worked on how to create a dashboard for the driver station and use it to send data to the robot.

Zahi resetting the robot after a test.

Design

Today, the design team worked on detailing the various gearboxes on the robot.  The roller system is coming along great and we started working on the Minibot Deployment system and the elevator support structure.

Design progress in the carriage area.

Day 14: Prototyping, Manufacturing, Programming & Design Progress

Prototyping

Today, the prototype group worked very heavily on the minibot design.  Towards the beginning of the day, they successfully finished Minibot Prototype 1 and it climbed the pole.

Minibot Prototype 1. It has two driven wheels, one spring-loaded wheel and one stabilizing roller.

After building the first prototype, the group started to discuss how improvements could be made to lighten the whole robot while making it climb faster.  They decided that having a single concave wheel driven by both motors could potentially improve the design.

Minibot prototype 2 was built with one large wheel covered in tread and two stabilizers covered in slick teflon pads.  It was not a significant speed increase over prototype 1 but it was much more stable.

Minibot prototype 2.

In the next few days, we will work on ways to make it clip onto the pole more reliably and climb faster.

Manufacturing

Today, the manufacturing team was hard at work on several tasks.  We began by finishing the front and rear bumper supports.

Front and Rear Bumper Supports

Furthermore, the team was hard at work starting on the tapped inserts for the elevator tubes.

Aaron lathing tapped inserts.

Programming

Today, many programmers were hard at work both improving on the simulator and trying to refine their control of the robot.  Recently, the simulator team worked to add a 3D view to the simulator so that the field can be better visualized.  The robot team was working on using PID control to allow the robot to drive precise distances.

Most of the members of the programming team were present today, working hard on the simulator and the robot.

Design

Today, several members of the design team worked on the arm pivot gearbox.  The gearbox is mostly complete.


Day 6: Prototyping, Programming, Design & Manufacturing Progress

Prototyping

Today, we had a large group of students working to prototype mechanisms for subsystem 2 (tube grabber.  One group was working to construct a jig for testing roller prototypes.  The other group worked to think up alternate solutions for tube grabbing.

Several Team Members working on a prototype.

Ryan and Erik "Prototyping"

Programming

The programming team met today to refine the control of the robot during teleoperated mode.  Progress is being made.

Design

Today, several team members were working on the CAD Design of a part for the elevator carriage.  Furthermore, later in the evening, we continued working on the mounting interaction between the elevator and the drivebase.

Manufacturing

The machining of the bearing housings is finally complete.  After five long days of machining, all of the parts are done with machining.  After they are deburred and polished, they will be ready for anodizing.

Completed Inner Bearing Housings

Completed Outer Bearing Housings

Day 4: Field Construction, Whole Team Meeting

Field Construction

The field construction team made huge progress today.  A large group of students worked hard all day to complete both the minibot pole and one grid of scoring pegs.

Team members assemble the scoring pegs.

Team members assemble the minibot pole.

The completed scoring grid.

Whole-Team Meeting

We had a whole-team meeting at the lab today.  We discussed the progress thus far in the season and decided on distinct mechanism groups that will work on prototyping and designing each mechanism.  The slides are shown below.

Mechanism #0: Drivebase
Mechanism #1: Elevator/Arm to lift tubes to scoring height
Mechanism #2: Tube Grabber
Mechanism #3: Minibot

Design

The design team did not work very much today.  After the whole team meeting and the field was completed, we met to discuss the benefits of elevators and arms for mechanism 1.  Although no decision was made, the group seems to be leaning towards elevators for several reasons.

  • We are very familiar with elevator design.
  • Elevators can be extremely fast
  • Precise height positioning is easier with elevators.

Here is a video of our 2007 robot and its clone, team 968, and their elevators.  Although our grabbers for this year may very drastically from their grabbers, the video gives a sense for how fast these elevators can move.  The elevators are able to easily move to any position in less than a second where most arms would take more time to raise a game piece.

Day 3: Field Construction, Programming, Design & Manufacturing

Field Construction

The field construction team was hard at work today working on the two elements of the game field that we are building this week.  We have constructed a shopping list and hope to buy the remaining materials tomorrow.

Programming

The programming team was working hard today on teleoperated and motor control code.  They have designed an interface to separated the control system (joysticks, arrow keys, etc) from the code so that the robot can be easily modified to be driven by a variety of controllers.  Furthermore, they performed experiments to measure how linear the Victor Speed Controllers are in their outputs.  Using MatLab, they will be able to analyze this data and derive a function to linearize the Victor outputs.

Design

The design team was hard at work today.  The first order of business was the drive gearbox.  After the gear ratios were finalized last night, we were able to move forward with the drive gearbox CAD which his now completed.  When doing the design, we were able to develop a new way of retaining the shifter shaft between the bearings to ensure that we can shift reliably.  Without motors, the wheel and bearing housing, the gearbox is less than two pounds.

Drive gearbox as of tonight.

In addition to working on the gearbox, a group of students worked to design and CAD the drivebase frame.  After careful review of the bumper rules, we decided on a design that would support the bumpers all along the back while still being extremely lightweight.  We added a heavily pocketed baseplate and put the whole thing together for a design that weighs about 30 lbs.

The drivebase design as of today.

Manufacturing

Production continued on the first operations of the bearing housings.  We hope to finish the bearing housings by Wednesday.

Lab Improvements

Today, the wired network between the lab computers was completed so that they can all share printers.

FRC Season Day #1

Today was an extremely productive day at the lab.  We built a significant part of the field, tested the game elements, began design, started manufacturing and continued to work on programming.

Field Construction

As soon as we got to the lab, a large group of team members got started building a replica of the most essential field elements – a rack and a tower.  We intend to build enough of a low-cost field for testing and the NASA Robotics Alliance Project will purchase a complete field for the west coast in the coming weeks.  The field will stay at our lab during the build season but will travel around the state for various off-season competitions afterwards.

Several team members cut parts for the field.

The structure to hold the rack starts to come together.

One of the vertical poles of the rack is assembled.

Game Element Testing

After we had a basic understanding of what the rack was going to look like, we moved forward with game piece testing.  We experimented with how far the tubes could be thrown and discovered that a well-trained human player could likely throw tubes across the entire field.

Ryan tests a game piece.

Programming

The programming team was working hard all day.  They began the day by installing the new versioins of the programming software and then spent the day getting Onslaught to drive under driver control.  The simulator group was working on data logging, 3d modeling and collision detection.

The programming team working hard.

Design

After dinner, a group of team members met to discuss robot design.  We immediately decided on a wheeled robot and decided that at least 6 wheels would be best for maneuverability.  To save weight, we all agreed that it was not practical to consider building a robot with more than 8 wheels.  We also decided that we would like a two-speed drivetrain with a high gear to quickly traverse the field and a low gear to push other robots out of the way if necessary.

When looking at the game field, we were very worried by a 1/4″ tall plate under the carpet surrounding each tower.  The concept of a 6 wheel drive or 8 wheel drive drivertrain with dropped center wheels relies on the fact that not all of the wheels will be on the ground at all times to improve turning.  We were worried that when in proximity to the plate under the field, more wheels would be in contact with the carpet which could inhibit turning.  We thought that this might be a greater issue with the six wheel drive robots than with eight wheel drive robots, but decided to test to make sure.

We put down a metal plate under carpet and tested it with both 8 wheel drive and 6 wheel drive robots.  It was determined that the 8 wheel drive robots drove considerably better when in proximity with the plate when in high gear.  However, in low gear, both robots had great performance as if the small bump wasn’t even there.

Testing robot maneuverability on a bump covered by carpet.

We took the data from our tests and moved on to discuss how important turning near the towers would be in high gear.  It was determined that the only time turning near towers would be very necessary is when lining up to deploy the Minibot.  We decided that this is only for about 5 seconds of the match and that there is no reason to not just use low gear during this time.

After we decided that it was not important to be able to turn in high gear near the towers, we all decided to move forward with a six-wheel drive robot.  Everyone in attendance voted that the benefits of saving up to 3 pounds outweighed the drawbacks of potential limited turning in high gear when in close proximity to the towers and agreed that a six-wheel robot would be best.

The next topic that was discussed was traction.  Although with ideal physics, contact area with the ground does not affect traction, it was determined through observation that due to the tread material interlocking with the carpet fibers, more contact area does indeed result in greater traction.  Because of this, we discussed moving to slightly wider wheels in order to increase the contact area with the ground.  We were worried that wider wheels could negatively affect turning so we decided that the robot should be designed with thin wheels (similar to what we have used before) but should be compatible with wider wheels if necessary.

Finally, we discussed speed.  The consensus was that we want to be able to drive fast.  However, no decision was made on exact robot gear ratios or speed.  Both will be discussed and finalized tomorrow.

Manufacturing

As soon as it was finalized that we would be building a wheeled robot, manufacturing began on the bearing blocks to support the wheels.  All of the stock for the bearing blocks was cut and the first operation began on the outside bearing blocks.  We expect to complete the first operations on all of the bearing blocks tomorrow.

Deburring the stock for the bearing blocks.

Bearing blocks being milled.

The Day Before Kickoff

It’s the night before kickoff and what  a productive day it’s been.

The day started out with us ordering over 250lbs of Aluminum from Coast Aluminum in Hayward.  The metal will be used to construct the robots for Team 254 and Team 1868.  Although we don’t yet know the game and don’t know what the robots will look at, we are predicting that they will have metal frames, so we bought the material to build frames.  After it was ordered, EJ and Sunshine drove up to Hayward in a NASA truck to pick up the material.

At the lab, other team members worked to put together a final list of consumable lab supplies that NASA will purchase.  Most of the items on the list were ordered today and the remainder will be ordered over the weekend.

Also at NASA, several programmers from both the simulator group and the robot group were working on various tasks in preparation for the busy robot build period.

Finally, several students worked hard to put the finishing touches on the NASA lab to prepare it for build.  The couches were cleaned and brought back upstairs and the welding table was polished to remove rust.  The field was vacuumed and shelves were organized.

9 Hours Till Kickoff
Go Poofs!

Programming Update

We had a meeting on Thursday at Bellarmine, in which we covered a lot. By this week’s meeting, we will have finalized the programming team’s organization into the two groups, and everyone will have their assignments. We have split the team into two groups, one working primarily on the simulator that Dmitriy developed, and another on the actual robot. This Friday, most of the programming team met at the lab to work on the robot, which was a pretty successful meeting. We were able to play around and experiment with the various capabilities of the robot, and we were able to create and execute a simple autonomous program. We have 5 people who are interested in being full-time programmers, which is a good number for the programming team.

Zero Robotics Comes to an End

After a strong few months of programming, the Zero Robotics team draws the season to an end. At the last competition, which took place at MIT on Friday the 12th, BCP Zero Robotics placed 3rd out of 8 teams in our bracket, but placed 11th out of the entire 24 teams. The cut off for the semi-final round was 10th place, knocking us out of the competition. Let’s win it next year!