Though the local FTC league had its championship a week ago, other leagues are still doing normal meets. I volunteered at one of those yesterday. They had been in need of a field inspector; my local league's manager gave them my information since I had done field inspection several times before. Most of the time here, I was the only one doing the field inspecting, but the person overseeing the event helped when a bunch of teams came through at once. After inspections completed, I stuck around to be an assistant Field Technical Advisor. I don't know as much as I'd like to about the new phone systems, but we got through it.
The event was managed essentially the same as those of the other league. It was very nice that the host school provided a token for a free meal to each volunteer, redeemable at the concession stand. They had "volunteer" vests instead of lanyards, which was nice in that it more clearly showed where the volunteers were. The host school also had their band play between matches, filling the gaps while referees processed the just-completed game.
Various technical articles, IT-related tutorials, software information, and development journals
Showing posts with label robotics. Show all posts
Showing posts with label robotics. Show all posts
Sunday, February 5, 2017
Saturday, January 28, 2017
Volunteering at an FTC League Championship
I spent today volunteering at the local FIRST Tech Challenge league's championship meet. My first role was Robot Inspector. Previously, I had been a Field Inspector, making sure the robots could operate on the field and connect wirelessly. My new job entailed making sure the robots were physically acceptable, e.g. sized appropriately and made out of allowed components. That was very easy given the checklist. We completed inspections ahead of schedule, except for one team that needed to adjust their robot a bit to pass.
Then, I worked as a Scorekeeper, which was completely new to me. I expected that I would be sitting by the field and keeping track of the scoring events, but Scorekeepers actually manage the computer systems in the play areas. My job was to operate the timer on one of the two fields. When the emcee counted down to the start of the match, I pushed the button to make the big timer display start ticking. That was also very easy to do once I learned to navigate the special software they have.
We finished the matches almost on schedule without any major mishaps.
Then, I worked as a Scorekeeper, which was completely new to me. I expected that I would be sitting by the field and keeping track of the scoring events, but Scorekeepers actually manage the computer systems in the play areas. My job was to operate the timer on one of the two fields. When the emcee counted down to the start of the match, I pushed the button to make the big timer display start ticking. That was also very easy to do once I learned to navigate the special software they have.
We finished the matches almost on schedule without any major mishaps.
Monday, December 12, 2016
Volunteering at a rescheduled FTC meet
The last FTC robotics meet in the area was cut short due to difficulties with the electronics in the beacons. Its second slate of matches was hastily rescheduled to today. For an unexpected meet, it was arranged very nicely, with a practice field and a competition field that worked well. Though I was assigned to do field inspections again, I could not arrive in time for those because I had to take some exams. I did manage to handle field reset for all but two of the matches. There was only one beacon-related problem, and the referees had a spare one on hand with which to swap it out.
Monday, December 5, 2016
Volunteering at another FTC meet
This Saturday, I volunteered at another qualifying FIRST Tech Challenge robotics meet. Like before, I was a Field Inspector, but I also got to do Field Reset this time.
I started out with field inspections. There were 11 teams, most of which got through without any issues. Since this wasn't a league championship, outdated software was acceptable, so I just warned teams that needed to update that it wouldn't fly at the big meet. I was apparently the only Field Inspector, so when multiple teams came over at once, the Control System Adviser helped inspect some. There were a couple instances of robots not driving due to hardware profile mismatches, but those got sorted out and they were all ready by the time matches started.
Field Reset is much easier with this year's game than last year's. Here, I just had to move some large exercise balls back into the middle and put the small wiffle balls back on the sides. (As opposed to last year, where I had to pick up dozens of cubes and wiffle balls and then hurl them onto the field at the start of the next match.)
Unfortunately, the electronic beacons started failing after being buffeted by the robots throughout the matches. We tried to simulate them with volunteers holding alliance flags to indicate beacon color, but that was always a judgment call as to whether the robot actually hit the button. After the first of two sets of 17 matches, the teams' coaches convened and decided to reschedule the second set. That was for the best, since we were already more than an hour behind from the beacon trouble. Hopefully a venue and date can be found for this meet's thrilling conclusion.
I started out with field inspections. There were 11 teams, most of which got through without any issues. Since this wasn't a league championship, outdated software was acceptable, so I just warned teams that needed to update that it wouldn't fly at the big meet. I was apparently the only Field Inspector, so when multiple teams came over at once, the Control System Adviser helped inspect some. There were a couple instances of robots not driving due to hardware profile mismatches, but those got sorted out and they were all ready by the time matches started.
Field Reset is much easier with this year's game than last year's. Here, I just had to move some large exercise balls back into the middle and put the small wiffle balls back on the sides. (As opposed to last year, where I had to pick up dozens of cubes and wiffle balls and then hurl them onto the field at the start of the next match.)
Unfortunately, the electronic beacons started failing after being buffeted by the robots throughout the matches. We tried to simulate them with volunteers holding alliance flags to indicate beacon color, but that was always a judgment call as to whether the robot actually hit the button. After the first of two sets of 17 matches, the teams' coaches convened and decided to reschedule the second set. That was for the best, since we were already more than an hour behind from the beacon trouble. Hopefully a venue and date can be found for this meet's thrilling conclusion.
Sunday, November 6, 2016
When an FTC robot controller won't move the motors
Today I was helping an FTC team with its programming. The programming went perfectly fine, but getting the robot to act on it was more difficult than expected. The joysticks were connected to the driver station and through that to the robot controller, but no motors moved. I was super baffled, because I was told that a very similar program had worked before, and I saw the states of the joystick controls on the robot controller's screen.
After much Googling, I found something that suggested rebooting everything and connecting the robot controller's USB cable last. That worked! Both the original program and the new one were able to operate the motors.
After much Googling, I found something that suggested rebooting everything and connecting the robot controller's USB cable last. That worked! Both the original program and the new one were able to operate the motors.
Saturday, January 9, 2016
Robotics - Volunteering Again
Today I volunteered at an FTC league meet, my second FTC volunteer role. This time, I was assigned two roles, Field Inspector and Field Resetter. That was an upgrade from my previous role of Pit Runner.
Field inspection is the process of checking the teams' robots for use in the actual competition. So, the checklist primarily involved verifying communication between the two phones (driver station and robot controller) and testing movement control. We ran out of inspection checklists at one point, but I had a laptop with the PDF version of the rulebook, so I printed some more. The inspection phase was the first three hours of the meet.
The other three hours were the actual matches. One of the game elements is the spread of small plastic cubes and balls across the playing field. My job was to toss a box of these things onto the field before each match and pick them all up afterwards. That last part was made a little tricky by the necessity of splitting the debris pool into two equal collections and throwing one from each side of the field for best uniformity.
Along the way, I helped address some simple questions of team members so that referees didn't have to deal with them.
My legs are sore from all the standing, but I'm glad I helped with the event.
Field inspection is the process of checking the teams' robots for use in the actual competition. So, the checklist primarily involved verifying communication between the two phones (driver station and robot controller) and testing movement control. We ran out of inspection checklists at one point, but I had a laptop with the PDF version of the rulebook, so I printed some more. The inspection phase was the first three hours of the meet.
The other three hours were the actual matches. One of the game elements is the spread of small plastic cubes and balls across the playing field. My job was to toss a box of these things onto the field before each match and pick them all up afterwards. That last part was made a little tricky by the necessity of splitting the debris pool into two equal collections and throwing one from each side of the field for best uniformity.
Along the way, I helped address some simple questions of team members so that referees didn't have to deal with them.
My legs are sore from all the standing, but I'm glad I helped with the event.
Thursday, October 15, 2015
Robotics - Meet the Sponsors
Today, both robotics teams gave a presentation to a panel of community engineers selected by the coach. The presentations were about the teams' status, plan, and mission. Personally, I think it's a bit early in the season for this type of meeting, though corporate-style state-of-the-project meetings do have value. Nevertheless, each team discussed the parts of the robot that were together and touched on team workings, introducing each member.
A tiny amount of actual work was done after the presentations, and I learned that the veteran team has started programming with Android Studio. Both teams still have a long way to go; neither robot moves, neither has any useful appendages, and only one has wheels.
I'm not actually sure whether the engineers from the community are potential mentors or sponsors, but they're apparently important - there were cheesecake bites at the meeting.
A tiny amount of actual work was done after the presentations, and I learned that the veteran team has started programming with Android Studio. Both teams still have a long way to go; neither robot moves, neither has any useful appendages, and only one has wheels.
I'm not actually sure whether the engineers from the community are potential mentors or sponsors, but they're apparently important - there were cheesecake bites at the meeting.
Monday, September 21, 2015
Robotics - Planning
Today's robotics meeting was focused on planning out the tasks for each role. Our first meet is in only three weeks, so we don't have a lot of time. Our goal for the meet is just to have a moving robot that can score a few points. Even so, it will take some work to do that.
The coach required that we formulate a plan for the entire season before doing anything at all. We weren't even allowed to organize the space or disassemble last year's robots. Personally, I think that's a mistake - it's not possible to plan an engineering project of this type that far out without being so vague that the plan is reduced to a guideline. Our robot has never been built before. On the plus side, people are gaining experience using the Office Online collaboration suite.
Fulfilling my mentor duties, I talked to both teams about how to arrange a plan, and informed the newbie team of how critical the engineering notebook is to getting awards. I also took some time to get a script for the teams' programmers together that installs the JDK and Android Studio in unattended mode.
Hopefully we can start actually making progress next time.
The coach required that we formulate a plan for the entire season before doing anything at all. We weren't even allowed to organize the space or disassemble last year's robots. Personally, I think that's a mistake - it's not possible to plan an engineering project of this type that far out without being so vague that the plan is reduced to a guideline. Our robot has never been built before. On the plus side, people are gaining experience using the Office Online collaboration suite.
Fulfilling my mentor duties, I talked to both teams about how to arrange a plan, and informed the newbie team of how critical the engineering notebook is to getting awards. I also took some time to get a script for the teams' programmers together that installs the JDK and Android Studio in unattended mode.
Hopefully we can start actually making progress next time.
Thursday, September 17, 2015
Robotics - Obligatory Meta Meeting
Today was the first meeting of my school's two FTC robotics teams, which I am mentoring this year. The challenge/game/ruleset was announced a week or so ago, so the season has officially begun. The purpose of this meeting was to introduce the game to those who hadn't heard about it and inform the new people about important elements of FTC. The coaches have decided to explicitly assign roles to people, which I'm not quite comfortable with, but at least the roles are flexible (i.e. one can work in other areas too). I created a spreadsheet to use for attendance tracking and added it to the SharePoint group.
While the actual team members did the marshmallow challenge team-building exercise, I skimmed the official rule books and authorized the installation of Android Studio on the programmers' laptops. After the exercise, engineering methods such as iteration and prototyping were discussed. Hopefully we can start actually doing things next time.
While the actual team members did the marshmallow challenge team-building exercise, I skimmed the official rule books and authorized the installation of Android Studio on the programmers' laptops. After the exercise, engineering methods such as iteration and prototyping were discussed. Hopefully we can start actually doing things next time.
Tuesday, September 8, 2015
Robotics - Mentor
I'll be out of communication when this goes live - this post is pre-scheduled.
The FTC robotics season will be starting in a few weeks, so my school is preparing the teams. I am going to be very busy this year with a heavy schedule of classes, the required junior year volunteering project, and an online course that will be starting in a month. Since I don't know whether I'll be able to attend the robotics meetings and still keep up with classes, I've been waiting to confirm my membership on a team. Seeing that I hadn't completed the team application, the faculty adviser for the team asked me if I wanted to be a mentor this year.
Mentors are there to provide direction for FTC teams, handling logistics and keeping people on track. I can do that, I think, especially with the help of the mentor's manual FTC published this year. Mentors shouldn't do the actual robotics work for the team, so that's a disadvantage for me, but my experience should still be useful. There's no restriction that a mentor has to only mentor one team, so I'll be able to help the veteran team (of which I would be a member if I was on a team) and the team of newbies, which probably need it more.
That arrangement sounds pretty good to me. I'll be able to attend meetings when I can - it won't be a problem at all if I miss some - and I'll still be useful to both teams. I accepted the offer.
The FTC robotics season will be starting in a few weeks, so my school is preparing the teams. I am going to be very busy this year with a heavy schedule of classes, the required junior year volunteering project, and an online course that will be starting in a month. Since I don't know whether I'll be able to attend the robotics meetings and still keep up with classes, I've been waiting to confirm my membership on a team. Seeing that I hadn't completed the team application, the faculty adviser for the team asked me if I wanted to be a mentor this year.
Mentors are there to provide direction for FTC teams, handling logistics and keeping people on track. I can do that, I think, especially with the help of the mentor's manual FTC published this year. Mentors shouldn't do the actual robotics work for the team, so that's a disadvantage for me, but my experience should still be useful. There's no restriction that a mentor has to only mentor one team, so I'll be able to help the veteran team (of which I would be a member if I was on a team) and the team of newbies, which probably need it more.
That arrangement sounds pretty good to me. I'll be able to attend meetings when I can - it won't be a problem at all if I miss some - and I'll still be useful to both teams. I accepted the offer.
Tuesday, January 27, 2015
Robotics - Looking Back
For team 7727, the 2014-15 FTC robotics season (Cascade Effect) has ended. We didn't do all that well, and I would like to take a moment to consider why it was so.
First, we didn't have very many parts to start out with. It looked like we had a lot of inventory because there was so much junk in the mess that was everywhere, but the number of useful parts was quite low. We also didn't have (and never got) all the parts of the field, so we never had a complete game set on which to practice.
Speaking of the field, its construction was something of a disaster. It took way too long (almost two months to become complete-ish) and we made a lot of mistakes. Those could have been avoided had we read the instructions instead of, say, drilling holes through the kickstand pipes and riveting them to the inside of the center assembly when there were small pipes with pre-drilled holes for that purpose. Near the end, there was the whole debacle of the ramp; we never did get that fixed. (Tape for the win!)
Another serious problem was that people couldn't come to meetings. Most of the builders were at some sort of sports thing during a bunch of robotics practices and some people skipped some meetings. I probably had the best attendance record of anybody, but I can only program and it takes more than code to make a robot. (I did compose and compile the entire engineering notebook, though.)
Returning to the problem with the lack of parts, we waited way too long to get critical pieces. This was not helped by the school administration busting into the robotics program this year; they required purchase orders before we could get stuff with our budget. These took days to process. The linear bearings we needed for the lift - a super important part of the robot - were 3D-printed, but it took almost a month from when we started needing them to when we got them. The AEA's printer turned out to be a waste of time and distraction.
Speaking of school administration and bureaucracy, the team rosters got all shuffled around a month or so into the season. Originally, they were chosen by a panel of teachers (who probably didn't know much about how the people interact or what their skills are) to make roughly equal teams. The coach reshuffled them to form a veteran team - my team - and a newbie team. This turned out to be a nice arrangement, but it really messed up our plans/relationships/expectations for a while after it happened.
With the lack of builders present at meetings, the robot was constructed very slowly. We had barely any time to test-drive it, let alone develop an autonomous routine. The lack of drive testing caused us to have unexpected problems - like breaking apart and/or getting stuck - during competitions. Though I had written some autonomous routines, our questionably-constructed field made them act differently at home than at meets. Of course, they weren't tested much in the first place because the robot was almost always on the build table being tinkered with, apparently inefficiently.
Maybe we'll do better next year. The coach said he would make a lot of changes. I hope those changes don't involve more bureaucracy or "team meetings", because those will do more to create problems rather than solving them.
First, we didn't have very many parts to start out with. It looked like we had a lot of inventory because there was so much junk in the mess that was everywhere, but the number of useful parts was quite low. We also didn't have (and never got) all the parts of the field, so we never had a complete game set on which to practice.
Speaking of the field, its construction was something of a disaster. It took way too long (almost two months to become complete-ish) and we made a lot of mistakes. Those could have been avoided had we read the instructions instead of, say, drilling holes through the kickstand pipes and riveting them to the inside of the center assembly when there were small pipes with pre-drilled holes for that purpose. Near the end, there was the whole debacle of the ramp; we never did get that fixed. (Tape for the win!)
Another serious problem was that people couldn't come to meetings. Most of the builders were at some sort of sports thing during a bunch of robotics practices and some people skipped some meetings. I probably had the best attendance record of anybody, but I can only program and it takes more than code to make a robot. (I did compose and compile the entire engineering notebook, though.)
Returning to the problem with the lack of parts, we waited way too long to get critical pieces. This was not helped by the school administration busting into the robotics program this year; they required purchase orders before we could get stuff with our budget. These took days to process. The linear bearings we needed for the lift - a super important part of the robot - were 3D-printed, but it took almost a month from when we started needing them to when we got them. The AEA's printer turned out to be a waste of time and distraction.
Speaking of school administration and bureaucracy, the team rosters got all shuffled around a month or so into the season. Originally, they were chosen by a panel of teachers (who probably didn't know much about how the people interact or what their skills are) to make roughly equal teams. The coach reshuffled them to form a veteran team - my team - and a newbie team. This turned out to be a nice arrangement, but it really messed up our plans/relationships/expectations for a while after it happened.
With the lack of builders present at meetings, the robot was constructed very slowly. We had barely any time to test-drive it, let alone develop an autonomous routine. The lack of drive testing caused us to have unexpected problems - like breaking apart and/or getting stuck - during competitions. Though I had written some autonomous routines, our questionably-constructed field made them act differently at home than at meets. Of course, they weren't tested much in the first place because the robot was almost always on the build table being tinkered with, apparently inefficiently.
Maybe we'll do better next year. The coach said he would make a lot of changes. I hope those changes don't involve more bureaucracy or "team meetings", because those will do more to create problems rather than solving them.
Saturday, January 24, 2015
Robotics [MEET] - End
Today was the big FTC robotics qualifier! I had to get up really early and collect all the supplies that I was worried the team coach would forget to bring - and he did indeed forget an outlet strip and joysticks. We failed our first hardware inspection because we didn't have a dedicated flag holder (any old hole in the channels worked at previous meets) so we had to add some C brackets to pass. The other inspections were passed with ease. The interview with the judges went decently, but I feel that we didn't appear confident and energetic.
Back in the work area, we attached a servo to the guard flap so it could be raised and lowered so as to not get in the way of tubes when we push them. The bar that had previously been used for that purpose was removed. However, the servo we used was bad, so we did not attach that assembly to the robot.
In our first match, we ran the autonomous that attempts to drop a ball in a tube after coming down off the ramp. We didn't come down quite straight and instead slammed into the wall of the opposing parking zone, dropping the balls outside the field. In tele-op, we picked up some balls, but the lift got stuck on a cable and the tubes were trapped in the corner of the field. We managed to park in the parking zone, but our alliance partner tipped over the 90cm tube, which is a big penalty. We somehow won anyway, giving a good start to the day.
In the work area, we borrowed a good servo from another team and attached the guard flap. I adjusted the autonomous program to deal with that flap appropriately.
The RobotC compiler decided to add instructions that initialize other servos on the robot to positions that make the robot larger than the 18-inch cube and let the balls flow out of the hopper. That's unacceptable, so we had to run the simple autonomous that just drives down off the ramp. It slammed a tube hard against the wall, but did its job. In tele-op, we hit the kickstand and pushed one tube up the ramp. A wheel slipped into the area between the ramp and wall, trapping us on the ramp. Our alliance partner tried to push another tube up the ramp, but ran out of time and instead went into the parking zone. We lost because the opposing alliance scored balls in tubes.
While on lunch break, we applied some more hot glue to the flap that stops the large balls from flying out when the sorter is set to eject small balls. I forced the autonomous program to keep all the servos pointing inside the robot at placement.
Our third match partner team had a much better ramp autonomous, so we just stayed on the ground and played music. In tele-op, we hit the kickstand and pushed the 30cm tube up the ramp. Our alliance partner got stuck on the fallen kickstand and was unable to move from in front of the ramp. We tried to get around them but could not. Instead, the NXT fell off and also the guard flap apparently broke off somewhere along the way. We lost.
Seeing that the guard flap was not doing us much good, we replaced it with a claw to grip the tubes so we could pull them up ramps. It actually had to be removed while placing the robot for the fourth match because the servo's default position pushed it too far back against the lift and would burn out if we left it for a while.
In that match, we pushed both the 30cm and 60cm tubes up the ramp, but the 60cm one fell off, which is a big penalty. It did, however, fall into the parking zone, so we did get a few of those points back. Our alliance partner tried to place balls in the 90cm tube, but missed and for lack of time parked in the parking zone. This match was a loss because of that big penalty.
I adjusted the controls for the tube gripper and fixed the problem with the servo default angle. The gripper was remounted.
In our fifth and final match, we gave the ball-in-tube program one last shot. It was very close, but it missed the opening of the tube by the slightest bit. We got balls stuck under the robot, pushing our wheels up, rendering us completely immobile. Our partners got an appendage of their robot stuck in an opposing robot, rendering them immobile. This was a less-than-thrilling end to the matches and, of course, a loss.
After a disastrous 1-out-of-5 day, we stuck around for the awards. We didn't get anything, but we were "finalists" for the Innovate award and PTC Design award. It's something.
This is the end of the 2014-15 FTC season for team 7727.
Back in the work area, we attached a servo to the guard flap so it could be raised and lowered so as to not get in the way of tubes when we push them. The bar that had previously been used for that purpose was removed. However, the servo we used was bad, so we did not attach that assembly to the robot.
In our first match, we ran the autonomous that attempts to drop a ball in a tube after coming down off the ramp. We didn't come down quite straight and instead slammed into the wall of the opposing parking zone, dropping the balls outside the field. In tele-op, we picked up some balls, but the lift got stuck on a cable and the tubes were trapped in the corner of the field. We managed to park in the parking zone, but our alliance partner tipped over the 90cm tube, which is a big penalty. We somehow won anyway, giving a good start to the day.
In the work area, we borrowed a good servo from another team and attached the guard flap. I adjusted the autonomous program to deal with that flap appropriately.
The RobotC compiler decided to add instructions that initialize other servos on the robot to positions that make the robot larger than the 18-inch cube and let the balls flow out of the hopper. That's unacceptable, so we had to run the simple autonomous that just drives down off the ramp. It slammed a tube hard against the wall, but did its job. In tele-op, we hit the kickstand and pushed one tube up the ramp. A wheel slipped into the area between the ramp and wall, trapping us on the ramp. Our alliance partner tried to push another tube up the ramp, but ran out of time and instead went into the parking zone. We lost because the opposing alliance scored balls in tubes.
While on lunch break, we applied some more hot glue to the flap that stops the large balls from flying out when the sorter is set to eject small balls. I forced the autonomous program to keep all the servos pointing inside the robot at placement.
Our third match partner team had a much better ramp autonomous, so we just stayed on the ground and played music. In tele-op, we hit the kickstand and pushed the 30cm tube up the ramp. Our alliance partner got stuck on the fallen kickstand and was unable to move from in front of the ramp. We tried to get around them but could not. Instead, the NXT fell off and also the guard flap apparently broke off somewhere along the way. We lost.
Seeing that the guard flap was not doing us much good, we replaced it with a claw to grip the tubes so we could pull them up ramps. It actually had to be removed while placing the robot for the fourth match because the servo's default position pushed it too far back against the lift and would burn out if we left it for a while.
In that match, we pushed both the 30cm and 60cm tubes up the ramp, but the 60cm one fell off, which is a big penalty. It did, however, fall into the parking zone, so we did get a few of those points back. Our alliance partner tried to place balls in the 90cm tube, but missed and for lack of time parked in the parking zone. This match was a loss because of that big penalty.
I adjusted the controls for the tube gripper and fixed the problem with the servo default angle. The gripper was remounted.
In our fifth and final match, we gave the ball-in-tube program one last shot. It was very close, but it missed the opening of the tube by the slightest bit. We got balls stuck under the robot, pushing our wheels up, rendering us completely immobile. Our partners got an appendage of their robot stuck in an opposing robot, rendering them immobile. This was a less-than-thrilling end to the matches and, of course, a loss.
After a disastrous 1-out-of-5 day, we stuck around for the awards. We didn't get anything, but we were "finalists" for the Innovate award and PTC Design award. It's something.
This is the end of the 2014-15 FTC season for team 7727.
Friday, January 23, 2015
Robotics - Our Time Is Tomorrow
I spent a study hall today compiling the Super Ultimate Complete Final Deluxe Edition 2015 R2 of the engineering notebook. All our tools, extra supplies, and of course the robot have been packed into our coach's van for transportation to the meet tomorrow.
The previous three meets were basically just practice. We had to attend them because FTC requires each team to attend at least three meets in the initial season to advance to state competitions. Tomorrow's meet is the real deal - there will be judges' interviews, decent-sized audiences, policies/procedures, and elimination matches.
We have all the components we need to succeed, but all the systems of our robot each have their own subtle issues. The lift, for example, has a decent chance of spitting out nuts and washers when run. The intake belt occasionally jams. The wheels sometimes stop working or go extremely slowly. Autonomous is just a complete disaster.
If nothing horrible happens with our built systems, we should do really well. Of course, at least something will fail, so hopefully we get good alliance partners.
The previous three meets were basically just practice. We had to attend them because FTC requires each team to attend at least three meets in the initial season to advance to state competitions. Tomorrow's meet is the real deal - there will be judges' interviews, decent-sized audiences, policies/procedures, and elimination matches.
We have all the components we need to succeed, but all the systems of our robot each have their own subtle issues. The lift, for example, has a decent chance of spitting out nuts and washers when run. The intake belt occasionally jams. The wheels sometimes stop working or go extremely slowly. Autonomous is just a complete disaster.
If nothing horrible happens with our built systems, we should do really well. Of course, at least something will fail, so hopefully we get good alliance partners.
Thursday, January 22, 2015
Robotics - Questionable
At today's robotics meeting, we had a bunch of trouble! Engineers worked on an extension to the front of the robot, and it works reasonably well; the trouble was in the driving.
First, the robot wasn't driving straight - its gears were slightly misaligned. That was easy enough to fix, but it is still moving mysteriously slowly. When we tried raising the lift, the entire thing was rattling constantly and it ejected some nuts and washers from the guts of the lift. After we repaired that, the fishing line used to operate the lift snapped. There was also a generous output of white smoke from the motor.
Everything seems to be working to some extent, but we have discovered that our robot is built of questionable quality. The lift is the greatest offender in that regard; it keeps slipping down and getting jammed. After the builders finish installing their metal flap on the front (that falls down after the robot moves, preventing balls from getting stuck under the robot), we should have fewer issues with the lift.
The engineers also added a small sheet of metal to the ball hopper and lift assembly to prevent the hopper from rotating and getting stuck above the ball conduit.
First, the robot wasn't driving straight - its gears were slightly misaligned. That was easy enough to fix, but it is still moving mysteriously slowly. When we tried raising the lift, the entire thing was rattling constantly and it ejected some nuts and washers from the guts of the lift. After we repaired that, the fishing line used to operate the lift snapped. There was also a generous output of white smoke from the motor.
Everything seems to be working to some extent, but we have discovered that our robot is built of questionable quality. The lift is the greatest offender in that regard; it keeps slipping down and getting jammed. After the builders finish installing their metal flap on the front (that falls down after the robot moves, preventing balls from getting stuck under the robot), we should have fewer issues with the lift.
The engineers also added a small sheet of metal to the ball hopper and lift assembly to prevent the hopper from rotating and getting stuck above the ball conduit.
Wednesday, January 21, 2015
Robotics - Eject Flapper
There was a robotics meeting yesterday, but I was sick and could not attend. It seemed that all they did was finagle the plastic flaps on the intake belt, add a little more tape, and adjust the U-shaped piece of the ball conduit.
Today, I added toggle controls for a new servo that has been inset in the part of the U-shaped metal piece immediately behind the intake belt. It can be flapped open to allow balls to go out the back rather than getting captured into the ball hopper.
While test-driving it, the ball hopper started getting out of alignment and turning to the left. After a couple of runs of that happening, the entire lift assembly produced a distinct "crack" sound and went down. Apparently, some of the fasteners broke. When the engineer attempted to service it, the lift fully detached from the robot.
After that was repaired, we are out of the large screws necessary to hold this lift together. Hopefully it won't break again.
Today, I added toggle controls for a new servo that has been inset in the part of the U-shaped metal piece immediately behind the intake belt. It can be flapped open to allow balls to go out the back rather than getting captured into the ball hopper.
While test-driving it, the ball hopper started getting out of alignment and turning to the left. After a couple of runs of that happening, the entire lift assembly produced a distinct "crack" sound and went down. Apparently, some of the fasteners broke. When the engineer attempted to service it, the lift fully detached from the robot.
After that was repaired, we are out of the large screws necessary to hold this lift together. Hopefully it won't break again.
Friday, January 16, 2015
Robotics - All Alone
Since I was sick yesterday, I was unable to attend its robotics meeting. I did discover after looking around the room today that they:
- Added more and longer flaps to the intake belt
- Started attaching the roof on the U-tube for ball routing
- Cobbled together metal pieces to repair the U-tube
- Made a huge mess on the floor
Today, I was all alone - the only person from my team in attendance. I helped the other team with their programming, picked up some trash on the floor, vacuumed ("Jim, I'm a programmer, not a maid!"), and tinkered with Windows PowerShell.
So, not much was accomplished today. This is what you get when no builders attend and the programmer is left all alone.
Wednesday, January 14, 2015
Robotics - Adjusted Intake
Upon arriving at today's robotics meeting, we discovered that the intake motor is mysteriously working again. It also continues to manifest the strange symptom of reversing directions after a few seconds of being powered on. The builders started by putting balls through the intake, but all the big balls got jammed.
While they pondered that issue, I started working on the ramp again. This time, I decided to put it together in a non-escomatage, so I scrounged up some C brackets and long screws and started attaching the square piece to the long side. It's really hard to wrangle a wrench, the nuts, and the ramp without it all falling apart, and I am missing a screw, so it's kind of difficult.
The engineer added more treads to the conveyor belt (making it longer), remounted it at a steeper angle, and changed the plastic flaps out for metal. It can now take in balls very well, but we now have to find a way to make them roll down into the ball hopper.
While they pondered that issue, I started working on the ramp again. This time, I decided to put it together in a non-escomatage, so I scrounged up some C brackets and long screws and started attaching the square piece to the long side. It's really hard to wrangle a wrench, the nuts, and the ramp without it all falling apart, and I am missing a screw, so it's kind of difficult.
The engineer added more treads to the conveyor belt (making it longer), remounted it at a steeper angle, and changed the plastic flaps out for metal. It can now take in balls very well, but we now have to find a way to make them roll down into the ball hopper.
Tuesday, January 13, 2015
Robotics - Driving Practice
Very few people were able to attend and stay long at this robotics meeting (there was a basketball game/practice thing going on), so not much progress was made. We tinkered with the ball intake device a little more and changed its gearing to 1:1. It's still pretty slow, even at maximum power, so we might just have to deal with the super speed of the original configuration. The U-shaped metal piece providing the route from the intake to the hopper has been temporarily removed so we can more conveniently mess with the intake conveyor.
After everybody else left, I got to drive the robot around with the new omniwheels that arrived today. They make turning a lot smoother and driving a lot easier. There were some connectivity issues, possibly related to battery lowness. One of the drive wheels keeps slipping away from its motor. Near the end of the meeting, the intake motor mysteriously stopped working, in addition to frequently losing its motor wire connection.
After everybody else left, I got to drive the robot around with the new omniwheels that arrived today. They make turning a lot smoother and driving a lot easier. There were some connectivity issues, possibly related to battery lowness. One of the drive wheels keeps slipping away from its motor. Near the end of the meeting, the intake motor mysteriously stopped working, in addition to frequently losing its motor wire connection.
Monday, January 12, 2015
Robotics - Metallic
In this first robotics meeting after our third meet, we spent some time replacing the lift motor that my programming error burned out. After that, the main engineer/builder continued the metallization of the cardboard engineering that had been done in a rush before the third meet.
The U-shaped piece that routes the balls from the intake device to the hopper has been reconstructed in metal with hand bending and tinsnips. It still needs a cover on the top to prevent balls from just flying away after being sucked up, but when we manually held a cover on, the balls frequently were successfully dropped into the hopper.
The gears on the intake motor were reversed for increased power. Unfortunately, it now goes so slow that small balls slip back out. We may have to put it back or use a 1:1 gear ratio.
Meanwhile, the other team is having severe issues with their lift. They snapped the fishing line several times and shattered two 3D-printed linear bearings. More of those will be printed this weekend.
Saturday, January 10, 2015
Robotics [MEET] - Difficult Driving
Today was the third meet of this FTC season that we attended. We were considerably more ready for this one than previous meets because we finally have a means of getting balls up to the tubes. After I left last night, an engineer replaced the cardboard box ball hopper with one made of aluminum. Before things started, I changed the code a little to make the newly repositioned servo go to the right places when the buttons are pressed.
We passed software inspection easily, but the hardware inspection failed because one of our axles was too long, making the wheel stick out of the sizing cube. Our school's other team needed some help getting through software inspection (they didn't know how to get to the settings in the NXT), so I somehow ended up signing on the "Team Representative" lines for both teams. I wonder if the FTC people noticed.
I and the other driver for my team decided to switch driving roles - I thought somebody else would be better for the main movement controls given my less-than-stellar performances in the previous meets. In our first match, we started in the parking zone and ran the autonomous program that tries to use IR to find and kick the kickstand. It did not work, and just rammed into the side of the ramp.
(Side note: The FTC people chose to use the ramp we assembled in the competition field. I wonder if they noticed that it was held together entirely with tape. The rivets that appear to be holding it together are broken and don't connect anything. Evidently, the team mentor didn't tell them about the quality of our engineering.)
After the autonomous period in the first match ended, we did go over to the kickstand and knock it down. Unfortunately, a wheel gear slipped, and we were again rendered unable to turn. We pushed up the lift to test whether it worked, and it went up, but the servo cable was not long enough and therefore disconnected. The driver sort of managed to get us partially into the parking zone after I brought the lift back down, but I don't think it counted for points. Our alliance partner tried to put balls in tubes, but their controller stuck at an inopportune time and flipped them over. This match was a complete disaster and, of course, a loss.
In the second match, we started on the ramp and used the autonomous program that just goes down off of it. In tele-op, we knocked down the kickstand and collected another ball. When we tried to drop them in the tube, however, they completely missed - there were parts of our robot that pushed the tube away when we got close. We did push one tube up our ramp and almost got up ourselves. Our alliance member got several penalties - we also left one of the three tubes in the opposing parking zone - but did manage to park in our parking zone. This match was also a loss, probably thanks to all the penalties.
We had some time in between the second and third matches to adjust our ball intake and the code. They turned out to not help much, though. In that third match, we started on the ramp and debuted the completely untested program that is supposed to come down from the ramp and drop two balls in the 60cm tube. It got close, but the leaning of the lift made the balls miss the tube. Also, I forgot to add an instruction to stop the lift motor, so when it got to the top, it just kept pulling the string and started smoking. (This never happens in pure software!) In tele-op, the driver got a small ball stuck under our lower frame, which made moving really difficult. She did manage to shake it free, but by then there was only time to get one tube up the ramp. We actually tipped that tube over on the ramp, but it wasn't technically "tipped over" because it was at less than a 90 degree angle, so we got points for it. The opposing alliance got several penalties, so we won!
In the fourth match, we tried that ball-dropping autonomous program again, now with a stopping instruction! The lift didn't actually raise - my mistake had burned out the motor. (In pure software we would just restore from backup.) The edge of the ball hopper also clipped the floor near the bottom of the ramp, turning us off course. The robot autonomously T-boned an opposing bot quite intensely. Fortunately, there was no damage to either robot, and the first thing we did in tele-op was accidentally push a tube into the opposing parking zone. We tried to push the 30cm and 60cm tubes up the ramp, but had insufficient traction. Fortunately, our alliance partner was able to half-fill the 90cm tube and get enough points to win the match for us!
In the fifth and final match of the day, we went back to the simple down-off-ramp autonomous program. It had the same edge-in-ground turning problem as before, and left us with one wheel hanging and unable to move. Our alliance partner helpfully pushed us back onto the ground, but slipped our gear and knocked both the NXT and Samantha module off their mounts. We managed to park in the parking zone while our partner team filled the center goal. With that large amount of points, we won.
Three out of five isn't bad, especially considering all the mishaps that our robot experienced. The new driver said she now understands why driving is so hard. We really need to get the omniwheels on; with normal wheels, turning is slow and jerky but straight movement is fast.
We'll replace the lift motor next meeting.
We passed software inspection easily, but the hardware inspection failed because one of our axles was too long, making the wheel stick out of the sizing cube. Our school's other team needed some help getting through software inspection (they didn't know how to get to the settings in the NXT), so I somehow ended up signing on the "Team Representative" lines for both teams. I wonder if the FTC people noticed.
I and the other driver for my team decided to switch driving roles - I thought somebody else would be better for the main movement controls given my less-than-stellar performances in the previous meets. In our first match, we started in the parking zone and ran the autonomous program that tries to use IR to find and kick the kickstand. It did not work, and just rammed into the side of the ramp.
(Side note: The FTC people chose to use the ramp we assembled in the competition field. I wonder if they noticed that it was held together entirely with tape. The rivets that appear to be holding it together are broken and don't connect anything. Evidently, the team mentor didn't tell them about the quality of our engineering.)
After the autonomous period in the first match ended, we did go over to the kickstand and knock it down. Unfortunately, a wheel gear slipped, and we were again rendered unable to turn. We pushed up the lift to test whether it worked, and it went up, but the servo cable was not long enough and therefore disconnected. The driver sort of managed to get us partially into the parking zone after I brought the lift back down, but I don't think it counted for points. Our alliance partner tried to put balls in tubes, but their controller stuck at an inopportune time and flipped them over. This match was a complete disaster and, of course, a loss.
In the second match, we started on the ramp and used the autonomous program that just goes down off of it. In tele-op, we knocked down the kickstand and collected another ball. When we tried to drop them in the tube, however, they completely missed - there were parts of our robot that pushed the tube away when we got close. We did push one tube up our ramp and almost got up ourselves. Our alliance member got several penalties - we also left one of the three tubes in the opposing parking zone - but did manage to park in our parking zone. This match was also a loss, probably thanks to all the penalties.
We had some time in between the second and third matches to adjust our ball intake and the code. They turned out to not help much, though. In that third match, we started on the ramp and debuted the completely untested program that is supposed to come down from the ramp and drop two balls in the 60cm tube. It got close, but the leaning of the lift made the balls miss the tube. Also, I forgot to add an instruction to stop the lift motor, so when it got to the top, it just kept pulling the string and started smoking. (This never happens in pure software!) In tele-op, the driver got a small ball stuck under our lower frame, which made moving really difficult. She did manage to shake it free, but by then there was only time to get one tube up the ramp. We actually tipped that tube over on the ramp, but it wasn't technically "tipped over" because it was at less than a 90 degree angle, so we got points for it. The opposing alliance got several penalties, so we won!
In the fourth match, we tried that ball-dropping autonomous program again, now with a stopping instruction! The lift didn't actually raise - my mistake had burned out the motor. (In pure software we would just restore from backup.) The edge of the ball hopper also clipped the floor near the bottom of the ramp, turning us off course. The robot autonomously T-boned an opposing bot quite intensely. Fortunately, there was no damage to either robot, and the first thing we did in tele-op was accidentally push a tube into the opposing parking zone. We tried to push the 30cm and 60cm tubes up the ramp, but had insufficient traction. Fortunately, our alliance partner was able to half-fill the 90cm tube and get enough points to win the match for us!
In the fifth and final match of the day, we went back to the simple down-off-ramp autonomous program. It had the same edge-in-ground turning problem as before, and left us with one wheel hanging and unable to move. Our alliance partner helpfully pushed us back onto the ground, but slipped our gear and knocked both the NXT and Samantha module off their mounts. We managed to park in the parking zone while our partner team filled the center goal. With that large amount of points, we won.
Three out of five isn't bad, especially considering all the mishaps that our robot experienced. The new driver said she now understands why driving is so hard. We really need to get the omniwheels on; with normal wheels, turning is slow and jerky but straight movement is fast.
We'll replace the lift motor next meeting.
Subscribe to:
Posts (Atom)