Friday, January 17, 2020

FIRST Tech Challenge Season 2020


Rushil has been part of SkyRise Robotics FIRST Tech Challenge (FTC) team (# 16525) since last year. We started our journey in 2019 June. I was looking to have him join a team but could not find one nearby so with the co-operation of some like-minded parents in our community we formed a team of 8 kids comprising of 7th and 8th graders. The minimum grade to qualify for participating in FTC is 7th grade.

As a pleasant surprise we found that a veteran team (Iron Eagles from St Dominic Savio School) who had been participating in FTC for several years and were actively involved in the Austin Metro League management were available to mentor our team. The school was right next doors to our community so it was convenient for us to meet the mentor team.

One of the parents in our team had extensive experience with building robots.

Due to all these favorable factors our first year in FTC has been fantastic and a memorable experience.

At the time of this writing, we have participated in 3 of Austin Metro League meets where each team gets to play 5 games per meet. We are currently preparing for our League Championship meet on 2/1/20 at Vandergrift High.

Things we learned:
Hardware:
  • Learned about different types of gears - spur, bevel, worm
  • Rack and pinion
  • Chain and Sprocket Drives
  • Belt and Pulley
  • Attaching arms to a motor
  • Controlling picker/claw with Servo motors
  • Motors 
    • Servo
    • 12v DC motors 
  • Sensors - Gyro
  • Cable management 
  • Different types of robot movement - Encoder based vs Time based.
Software programming:
  • Block vs Java programming
  • Operator controlled vs Autonomous mode
  • Using Android Studio IDE
  • Passing input from Logitech gamepad to Robot - Tank Drive vs Point-of-View Drive
  • Setting up WiFi Direct connection between 2 Android phones
  • Programming Mecanum Drive
  • Using PTC VuForia to detect skystones. 
CAD and 3D printing:
  • CAD Modeling using Fusion 360
  • 3D printing parts of the robot
Fundraising - conducted a class for kids in the neighborhood teaching Scratch programming for $5/kid. Had a good turnaround.

Community Outreach - conducted a session at a local library demonstrating our robot, letting kids in the library try to run it and in the meanwhile promoting FIRST mission to them and their parents.

Timeline of events:
  • Started in June 2019 - formed a team of 4, registered team with FIRST
  • By August 2019 - team size grew to 8
  • Fundraising in August 2019 
  • By September 2019 - purchased the robot kit and started building a basic Chassis
    • Attended SkyStone Season kick-off event at Vandergrift High
  • October 2019 - Built the chassis with 2 powered wheels and 2 omni-directional wheels.
    • Practiced for the first AML Meet in November
  • Austin Metro League First Meet in November 2019
    • Changed the Robot wheels to Mecanum wheels.
    • Improved the Arm picker to work more reliably.
  • AML 2nd Meet in December 2019
  • Received grant from Dell via FIRST in Texas.
  • Community outreach at Library in December 2019
  • AML 3rd Meet in January 2019
Team SkyRise with their robot at AML meet #1.


A closer look at the robot kids built.
Overall this has been a good endeavor and all the kids in the team learned several things about making the hardware, the software and working together as a team - cheering for each other and helping each other out.

I think participating in a STEAM program like FTC or FLL (and there are several others) goes a long way to kindle the fire of learning by doing - in essence it is project based learning where kids actively participate in building a robot and in the process learn about engineering, doing math and thinking scientifically and using technology (for example 3D printing) creatively. 

Wednesday, January 01, 2020

Installing single node kubernetes cluster using kind

Refer https://kind.sigs.k8s.io/
1. Install go
2. Install docker
3. Execute:
GO111MODULE="on" go get sigs.k8s.io/kind@v0.6.1 && kind create cluster
4. Run kubectl to get the cluster status.

```kubectl get ns```

Popular micro services patterns

Here are some popular Microservice design patterns that a programmer should know: Service Registry  pattern provides a  central location  fo...