Fall Biped 2016- Project Manager- Managing

Table of Contents

By: Ijya Karki (Project Manager)

Introduction

Project Manager Roles include certain tasks that must be completed, example:

  • Defining WBS
  • Level 1 Requirements
  • Creating / Managing Schedule
  • Creating / Managing Budget
  • Final Project Video/ Documentation

There is a split of skills that a good project manager must possess, looking at the above list these skills can be differentiated with the words creating and managing. The easier of the two tasks include the creating. Documentation and guidance from the company CEO and President make creating a do-able process. The harder of the two skill sets is the managing portion.

Complications

What makes managing difficult? Managing can be difficult when one is working with their class mates and friends. There has to be a degree of authority established in the group so that there is an understanding that the Project Manager has the final says. This can become difficult when managing friends that one has spent years in class with.

Mistakes

From my communications class, I learned that these are typical issues that can arise when leading a group:

  • Not establishing authority at all
    • Failing to assign tasks
    • Failing to follow up on task progression
    • Failing to hold members accountable for failing to accomplish tasks
    • Being too lenient on pushing the deadlines back
  • Aggressively establishing authority
    • Expressing the “I know more than you” attitude
    • Assigning tasks with ridiculously unreasonable due dates
    • Talking over members during meetings
    • Passive Aggressively expressing feelings when members cannot accomplish tasks
      • Taking out anger on members grades
    • Being too friendly
      • Letting anything slide by
      • Neglecting due dates because they are trying too hard to make sure team likes them

Suggested approach

No one has perfecting good managing skills but these are suggestions and insights that can help one take a better approach than the mistakes listed above. Being PM doesn’t mean there is a choice that has to be made between friendship or PM roles. One can keep both tittles if they approach their responsibilities correctly.

  • Don’t be afraid to assign tasks to teammates- In fact, as PM, one has to assign tasks to members. Although your teammates are smart enough to know what steps must be completed to successfully build your robot, it is still helpful to assign tasks and deadlines.
  • During the old business portion of meeting minutes, ask for a progress about how far each member is coming with their tasks. They may need help and you can point them to the correct person that can help them. Or they might have forgotten about their tasks and the question will serve as a reminder.
  • Let your members know that you will hold them accountable if they miss the deadline. Staying honest from the start is a better approach than giving off the vibe that it’s okay for the teammates to turn in material late but then taking points off from their grade. Keeping an open communication is important to finding the balance of managing. If your members know from the start that failing to meet deadlines has consequences, then they will not have a valid reason to be upset at their grade if they fail to complete tasks on time.
    • Assign tasks with reasonable deadlines (depending on the task)
    • Some tasks are ongoing processes (like coding or updating requirements)
      • Set mini deadlines for various steps of the task
      • Example 1: ask ENC to produce code for parts of your robot for various demonstrations that occur throughout the semester ( PDR, CDR)
      • Example 2: If your systems engineer has to update the requirements, set mini deadlines for each draft (requirements continuously change throughout the year because they keep improving during each revision)
    • If a member cannot meet a deadline for valid reason (tests in other classes, presentation in 400D that is of more priority) then it is alright to push the deadline back
      • However, document in the meeting minutes the valid reason for changing the deadline
      • Avoid getting in the habit of continuously changing deadlines
        • One way to avoid this is by assigning tasks two weeks in advance so that you can check up on them and they have more than enough time to work on it
      • Never assign last minute tasks (unless it is an emergencies)
        • Your teammates have other classes they are also studying for and they will not appreciate last minute requests
      • Do not blame members for failures
        • A part of being PM means that you must keep the motivation and spirit of the group alive. If you have a negative attitude then that will affect the entire group.
        • Singling a member out and blaming them for problems will not solve the issue. Instead, you can talk to them to see why they lacked in their part and understand what needs to be changed so that they will not run into the same problem with the next task that is assigned to them.
        • Understand that you are a team. This means that no one can make a mistake alone. Although each member has individual tasks, the work you produce alone is collectively representative of the whole team. This means that one individual cannot be blamed for problems. Ultimately, the project manager is the most responsible individual for the group.
      • When grading member, make sure to split up grades for each assignment into parts so that they can get points for all aspects of their work. Do not just assign a pass or fail grading system. Let them know that long as they try their best then their grade will match that.
        • Example: Grading for meeting minutes can be broken down to different parts.
          • The grade can be out of 10 points total.
          • 5 points allocated to arrival time
            • 5 for arriving on time
            • 4 for arriving within 15 minutes past start time
            • 3 for arriving within 30 minutes and past 15 minutes of start time
            • 2 for arriving past 30 minutes of start time
            • 1 for arriving past 60 minutes of start time
          • 3 points allocated to participation
            • 3 points for actively participating during the meeting
            • 2 points for participating only during their part
            • 1 point for
          • 2 points allocated for completing the meeting minutes
        • This way, the members will not lose points heavily for not taking meeting minutes one week if they are active participants of each meetings.

 

Teammates that Lack Passion

 

In the event that a member in your group lacks passion, it is important to recognize these members from the start. The best solution can be to communicate with the member and figure out the reasoning behind why they are not committed and trying your best to motivate them. If that fails then you can converse with the Division manager to try and change or find a solution to the problem. Maybe your teammate wants to be in another group or there is a well skilled individual in another group that can help your teammate out. If all else fails, then communicate to the instructor the issue and the solutions you have already tried. Do not prolong this process, the further into the semester you go the more it will affect your grade if a teammate is unresponsive, uninterested, and idle. Be aware that if one of your teammates drop the course then you are responsible to complete both PM duties and the duties of the member that dropped.

 

Teammates that Lack Skill

 

In the event that a member in your group lacks skill, it is important to get them the help they need early on. Take initiative and talk to their division manager with a request that they spend more time on the material with your teammate or ask for a well skilled individual to be paired up to aid your teammate in their process. You want to avoid completing their tasks for them. If you get in the habit of finishing all of your teammate’s tasks, then you will have double the load and an idle member. The primary solution a skill lacking member should not be you taking over their job, but rather you directing them to their division manager for help.

 

Conclusion

 

THE DOS THE DONTS
Remain honest about grading Don’t take out anger with grades
Assign assignments at least a week in advance Don’t assign last minute assignments (unless an emergency occurs with the project)
Sit down with members and understand why they are struggling/figure out ways you can help them or direct them to the right person that can help Don’t single out members and blame them
Assign members tasks and follow up on them Don’t assume that members know what must be done and just wait for them to tell you what they completed
Keep grading scale fair by giving points to various parts of the project Don’t be lenient with deadlines

 

Fall 2016 Biped- Building the Game Arena

Table of Contents

Building the Game Arena

By: Ijya Karki (Project Manager)

Introduction

As the semester comes to an end, it gets closer to testing the actual product. This is where the profile objective and the mission profile from the CDR is brought to life. The game, Save the Human, is played by four teams (Wednesday Velociraptpr, Thursday Velociraptor, Biped, and Goliath). The Game committee met on December 3rd, 2016 to finalize the game rules. Then, Ijya Karki, Fabian Suske, and Kristen Oduca built the arena pieces.

Biped Project Objectives

The project objective is to design a 6th generation toy Biped robot that will statically walk using two feet with the goal of dynamic walking.

The Biped will utilize the 3Dot Board

The Biped will partake in an end of semester game: Save The Human

The project must be completed by December 14th, 2016

The budget must stay under $125.00

Biped Mission Profile

Biped shall compete, alongside other toys such as Goliath and Velociraptors, in an end of semester approximately hour long game: Save the Human. Biped should successfully walk, using Goliath’s live video feed as the field of view, from the opposite end of the room to the finish area without coming into contact with a Velociraptor. The Biped will maneuver through multiple obstacles by turning through walls, sensing color pads, balancing on six degrees inclines/declines, and stepping through uneven terrain placed on top of Linoleum floors.

Finalizing rules

The First Step to building the game arena was to modify and finalize the rules that were proposed at the beginning of the semester.  The original rules can be found under the Thursday Velociraptor blog posts: http://arxterra.com/fall-2016-game-save-the-human/

Suggested changes made:

  1. The incline angle should be 6.5 degrees allowing a ± 5 degree of handmade product production error.
  2. The Game arena should be at least 20% cardboard.
  3. The game arena (12 ft x 5 ft) shall be outlined with tape the day of the game.
  4. In the case that a robot steps out of the game arena, the robot will be disqualified from the game.
  5. Customer will have the power to place a few customizable pieces of the game including:
    • Four 1 ft x 1 ft uneven square cardboard pieces
    • Eight 6 in x 6 in uneven mini square cardboard pieces
    • Three 6 in x 6 in colored construction paper power ups

Building the Arena

Step 1

Determining the sizes of various cardboard pieces.

To fulfill that the game would consist of at least 20 percent cardboard, we had to create a total of eleven 1 ft by 1 ft cardboard uneven pieces and two 3ft x 1 ft hills.

               Arena size 12 ft x 5 ft –> 12 * 5 = 60 ft

               60*20%= 12 ft (thus the game must have 12 ft of cardboard to satisfy 20%)

Total cardboard pieces are:

  • Four 1 x 1 ft of uneven surfaces + eight 6 x 6 in of small uneven surfaces which results in=6 ft
  • One 5 x 1 ft of rectangle uneven surface = 5 ft
  • Two 3 x 1 ft hills = 6ft

Thus with 17 ft of cardboard used, the game committee successfully satisfied having building 20 % (12 ft) of the Arena with Cardboard.

build4

Step 2

Purchasing the necessary parts

              Cardboard, hot glue, and  glue gun was purchased at home depot.

 

Step 3

Using box cutters, scissors and parts purchased at home depot, Ijya Karki, Kristen Oduca, and Fabian Suske build the necessary pieces to fill the arena.

build

build1

build33

Fall 2016 Biped – PCB layout

Table of Contents

Designing the PCB

By: Hector Martinez (Manufacturing)
Approved by: Ijya Karki (Project Manager)

Introduction

Once the schematic design is complete by E&C engineer, Allen, it is time to design the PCB layout. The PCB layout needs to have a thought out design that will work logically and seamlessly with our project. Since our PCB will be a shield for the 3dot board, we also have to consider the dimensions of the 3dot board as well as space allocation.

Process

There are a lot of resources online that will explain how to layout a pcb, but one crucial bit of advice that I received came from our president Fabian, he suggested I start by grouping all the components that work together.

pcb1

Fig. 1 – New PCB project based on Schematic layout.

For example, our SX1509 GPIO expander contains a decoupling capacitor at the power input and 3 resistors that will work with our color sensor, by grouping those components together you begin to think about how and where these groups of components will be placed.

pcb2

Fig. 2 – Grouping of SX1509 and its attributed components.

As you continue to group all your components you begin to realize that some groups must be place at specific locations. The picture below shows the connectors for motor1 and motor2 are connected directly to the board at A and B. Additionally, since we will be using an external battery the LM1048IS that we will use to regulate that voltage must be close to the EXT battery connection towards the bottom of the board along with all its components.

pcb3

Fig. 3 – Continuing to group components you realize where some components must go.

Tracing

Once you are done grouping, the tedious job laying down traces to connect all your components. You may choose to place some of your smd components on the underside of the board or leave everything on one side. When you begin to trace, you want to try and route all your traces on one side, once you are unable to do this without traces overlapping, you can take advantage of Vias and placing traces on the other side of the board.

pcb4

Fig. 4 – Grouping complete, time to lay down traces. The blue component is the SX1509 on the underside of the board, this is done when space is limited.

Clearly, we have plenty of space to fit all of our components on one side of the board. Once the traces have been placed you may opt to go through and make all text on the silk screen the same dimensions. This makes your board visually appealing and will help when it is time to solder.

Conclusion

pcb5

Fig. 5 – You are done!

The image above shows red and blue traces that connect all components together, each is on opposite sides of the board. The planes is red or blue are grounds, these are meant to protect the board from noise, etc. Once you are done, you can admire your work.

Resources

[1] PCB layout

Fall 2016 Biped – Prototype Process

By: Hector Martinez (Manufacturing)
Approved by: Ijya Karki (Project Manager)

Table of Contents

Intorduction

The prototype process should be thought out and well planned. There needs to be a plan that includes a parts list, a schematic, tools list and clean workspace. I had none of these. Having been moved from Prosthetic Arm there was a steep learning curve on walking robotics as well as understanding the state and direction of the Biped project as it stood. It was an uphill battle which included two redesigns 2 weeks before CDR. Having done two prototypes there are some things that I realize I could have done differently had I not been under the gun.

Process

Prototyping starts with SolidWorks (or whatever program you’re using) taking into consideration how your project will come together. You have to think about the hardware you are using and think about clearance and tolerances, as well as your materials. For example, while laser cutting the leg linkages for our first prototype for CDR, I didn’t realize the mounting holes for all the linkages were too close to the edges which resulted in broken mounts because these were cut from wood.

prototype1

Fig. 1 – First prototype laser cuts, notice the mounting holes are really close to the edges

              prototype2

Fig. 2 – Broken linkages due to poor design

While putting together the second prototype for CDR, I decided to use acrylic and use M3 bolts to hold everything together. I didn’t consider the clearance of the bolt head and ended up having issues on several linkages hitting bolt heads due to insufficient clearance.

Another issue I ran into came from not researching the availability of part sizes, I assumed that I would be able to find M3 bolts up to 35mm. These were to be used on the feet to act as ankles and allow weight shifting. The feet were 3D printed and the mounting holes were set to 30mm, I decided to look for the hardware after printing and realized the longest M3 bolts I could get were 30mm.

prototype3

Fig. 3 – 30mm M3 screw used because 35mm screw was not available

Creativity

The thing about manufacturing is you have to learn to be creative. Some of the issues explained above had easy fixes, others didn’t, and for some the “fix” made things worse. For clearance issues I used spacers to create the clearance necessary. For the bolts that weren’t long enough I bolted them in such a way that they were still secured. Except for one of these bolts I decided to use superglue which fixed the bolt to the foot (Fig. 3), these were meant to fit loosely to allow for rotation. In this case you need to realize what you did wrong and fine the best solution. In my case the only option was to 3D print that foot again.

prototype3

Fig. 4 – Spacers and nuts used to lock linkages in place, locking nuts would have been a better alternative

Conclusion

The purpose of prototyping is to discover issues with your design as well as what is missing. For our prototype we wanted to know if our design would statically walk. While testing we discovered that our robot could not stand because the angle of the linkages would not allow it stand. Brandon, our E&C, suggested we make “shoes” to correct this issue. By making shoes we were able to move forward and continue testing our walking motion. While this was a quick fix for CDR, prototyping pointed to a major design flaw that needs to be addressed.

prototype5

Fig. 5 – Prototype with “shoes” to correct stance, and tape to hold the 3dot board

Resources

[1] Solidworks 

Fall 2016 Biped – Code/Software Update

By: Alan Valles (Electronics and Control)
Approved by: Ijya Karki (Project Manager)

Table of Contents

Introduction

The purpose of this document is to explain the logical flow of the firmware portion of the Biped. Several external libraries will be used in order to control our electromechanical devices with firmware.

Analysis

The most recent design iteration of the Biped walking robot calls for a single DC motor, four servos to turn and shift center of mass, and a color sensor to detect power pads which will be on the floor. The single DC motor will provide the electromotive force for two legs which will be out of phase by 180 degrees through a crankshaft. The servos will provide the x and y shifts in the center of mass.

There are several additional libraries that we will be using. The non-default libraries are, Robot3DotBoard, ADS_1015, and I2cDev which includes the MPU6050 files. As a side note, I am using the Arduino IDE with an external text editor for all of the screenshots below.

code1

As the program is running, it will constantly read the rotary position sensor by requesting this information from the ADS1015 which will be connected onto the I2C bus. Thus, depending on the user input into the app which will be in RC mode, it will move the motors to the correct position in order to turn or continuously go straight.  Similar to the code snippet below.

code2

Other control logic will be implemented based on the parameters received from the Move command. Depending on the button pressed in the move command, i.e. straight left,right, or reverse. The desired motor position may be different. For example, when making a left turn, the DesiredMotorPosition will correspond to the value of the left foot planted, the code will then stop the motor. Next, code will be inserted to move to ankle servo to a specified angle, and walking will commence again. This will be repeated but then the servo will move back to the home position.

code3

Some challenges will be the Servos maintaining 0 degrees home position throughout the game. I have noticed that due to the difference in servo control boards, play in gears or other unknown factors, the servo position seems to every so often move to the 0 degree position but with an offset. More detailed code will be uploaded to the Github once it has been found to be bug free.

Conclusion

In conclusion, the electromechanical devices will be controlled utilizing our Firmware design. Several external libraries will be used in order to ensure mission success and maintain a controlled walking and turning motion.

Reference

[1] https://github.com/jrowberg/i2cdevlib
[2] https://github.com/adafruit/Adafruit_ADS1X15

Resource

[1] Biped Code

Fall 2016 Biped – Updated Schematics

By: Alan Valles (Electronics and Control)
Approved by: Ijya Karki (Project Manager)

Table of Contents

Introduction:

               The purpose of this document is to define and go through some of the choices and reasons for component selection of the custom 3dot shield. There are a couple main components that were chosen for the shield, the IMU which is the MPU-6050 which is provided by The Robot Company. The SX1509B which is the GPIO expander, ADS1015 the Analog to Digital converter for the rotary position sensor.

Analysis:

First, the IMU chosen was the MPU-6050. The original MPU breakout board was designed by sparkfun and has a retail price of 39.95. However, an imitation board with similar functionality was provided by The Robot Company. Since this was provided at no additional cost to the project, it was selected based on price. A 10-pin .1” pitch socket was provided on the 3dot Shield for the MPU-6050 Breakout Board to connect to. This board also plays nice with the 3dot board since it has a 3.3 v logic level.

schem1

The SX1509B is a low power GPIO expander that was selected for the 3dot board. Since latest revision of the 3dot board does not have any available I/O ports it was decided to use an I2C GPIO expander since the SX1509 has PWM capabilities it may be able to control the signal of a servo. This is needed in order to shift weight between feet in order to produce a walking motion with the robot. The SX1509 also has a sparkfun library which aids in meeting scheduling deadlines of the project. Another small peripheral device was the color pad indicator light. It will connect to an LED on the top of the Robot and when a power pad is walked over, the light will turn on per the game rules. Some SMD resistors were added to the PCB so the final assembly will just house the LED itself. The optimal brightness is around 560 Ohms for the through hole RGB LED that will be used. This bright ness is based on the forward voltage required by the different colored LEDs. Thus, since diodes emitting at different colors, or wavelengths will generally require different current limiting resistors to dictate the brightness. The LEDs need a forward current of about ~160 more or less and thus something close to this value will be used.

schem2

Furthermore, the ADS1015 was selected as the Analog to Digital converter which would be able to read information from our rotary positions sensor. The ADS1015 was selected due to the available documentation, spark fun library, and due to the recommendation of the velociraptor group. This collaborative effort will help drive projects forward by allowing for more code between them. Also, Adafruit provides a library for utilizing this component as well and has some good documentation on their website utilizing this device. The Rotary position sensor used will be of the BOURNS 3382 series. The bourns rotary positions sensor is a potentiometer that can support 360 degree continuous rotation, ideal for the output shaft of the dc motor. The diameter of our shaft is a 3mm hexagonal pattern and should fit into the bourns 4mm rotary position sensor based on the datasheet.

schem3

Finally, at the recommendation of our President, I made the decision to connect our entire system to a Linear Dropout regulator which will provide 5V to the servos instead of having them tap directly to the output voltage of the battery. The LM1084IS by Texas Instruments was chosen as the voltage regulator. This was because it provides 5V and up to 5A output. Also due to the availability of a convenient eagle part. The TI LM1084 was configured in a typical application circuit as shown below. A Solder jumper was placed for added flexibility. This solder jumper allows for a different battery voltage to still be applied such as a 3.7v battery and the servo would connect to this unregulated.

schem4

schem5

This is our final completed schematic for the 3dot shield. It shows all the components that were listed above. The finalized board layout can also be seen in our Manufacturing Engineers blog post who did a wonderful job. Along with the major components there are also some pullup resistors for the I2C bus which are sized due the length of cable connecting all devices, however 4.7k or 10k are good ‘default’ values if one does not want to go through the process of calculating mutual inductances and capacitances. It is also good practices to put decoupling caps in front of voltage inputs of sensitive components. This will block any noisy High frequency signals from affecting the chip’s performance. There is a handy guide on how to size and select decoupling capacitor values based on Farads, Equivalent Series Resistance in reference [9] but be warned it is not a read for the faint of heart.  A github link will be included at a later time, including all of the schematics, and necessary libraries to modify and rebuild this project.

Conclusion:

In conclusion, The 3dot shield was made using the MPU6050 breakoutboard, the ADS1015, LM1084, and other miscellaneaous passive components.  The LM1084 provides regulated 5v to the 3dot board and all of the other peripheral devices tap to the 3.3v power and logic level of the 3dot board.

Reference:

[1] https://www.sparkfun.com/products/11028
[2] https://www.geeetech.com/triple-axis-accelerometergyro-breakout-mpu6050-p-539.html
[3] http://www.mouser.com/ds/2/761/down-767043.pdf
[4] http://www.ti.com/lit/ds/symlink/ads1015.pdf
[5] http://www.ti.com/lit/ds/symlink/lm1084.pdf
[6] https://www.sparkfun.com/products/13601
[7] https://www.sparkfun.com/datasheets/Components/YSL-R596CR3G4B5C-C10.pdf
[8] http://www.bourns.com/pdfs/3382.pdf
[9] http://www.analog.com/media/en/training-seminars/tutorials/MT-101.pdf

Resource

[1] Eagle Design

Fall 2016 Biped – Updated Motor Study

By: Alan Valles (Electronics and Control)
Approved by: Ijya Karki (Project Manager)

Table of Contents

Introduction:

The purpose of this document is to further analyze the constraints for our DC motor. This motor will convert drive the crank that our linkage based leg system will use to walk.

Analysis/Data:

One simple design is to use a gearbox to change the output torque ratio. There are four main characteristics of a DC motor that are of the most concern. There are the electrical properties, such as the nameplate operating voltage, and current drawn by the motor under various physical loads. There are also the physical properties of the motor such as speed and torque load.

motor-study1

Since Torque = force * lever arm and sin operator of the angle between them, we can conclude that the maximum torque will be at an angle of 90 degrees.  Lever arm data will be gathered from meeting tomorrow along with

F= m*acceleration = 250g * 9.8 = 2.45 newtons

T = F*l = ____NM(lever arm length TBD)

Output torque of motor at stall rating shown to be .004 NM. However, the gear ratio is used to increase torque and decrease rated speed which is 11500 RPM.

motor-study2

The Results in the last blog post still stand and in order to meet scheduling requirements, we will utilize the existing gearbox which is the Tamiya XXXX.

motor-study3

motor-study4

Conclusion:

Thus, the Pololu 1117 130 Motor with the Tamiya gearbox will be used to meet the required torque and power requirements.

References:

http://www.electrical4u.com/dc-motor-or-direct-current-motor/

https://en.wikipedia.org/wiki/Torque

http://uav.ece.nus.edu.sg/~bmchen/courses/EG1108_DCmotors.pdf

http://arxterra.com/fall-2016-biped-trade-off-study-motor/

https://www.pololu.com/product/1117/faqs