Redshift Project Depot

FRC 2018 (Power Up) => Robot Software => Topic started by: Shreya C on January 17, 2018, 09:36:48 PM

Title: Task Breakdown
Post by: Shreya C on January 17, 2018, 09:36:48 PM
Hello,

Today we created our initial task breakdown for each of the major projects under software. Here's the link to the Google Doc with our breakdown detailed (http://"https://docs.google.com/document/d/1tCPnU2sG3yHyCRdiRbLRWA37j4uhmvoe_n2Vrlv2lL4/edit?usp=sharing")—as you see, we still need a lot of detail from the mechanical subsystems before we can further break down tasks. We're planning on meeting Sunday for 1-2 hours to discuss exact behavior of each subsystem and the resulting software requirements and limitations.
Title: Re: Task Breakdown
Post by: Louis L on January 17, 2018, 10:26:46 PM
The link doesn't work.
Also the google doc is not shared.

Can we avoid google docs in the forum unless you absolutely need to have it. If you have a table or just a list of items, just post it in the forum.
Title: Re: Task Breakdown
Post by: Matt S on January 20, 2018, 12:01:51 PM
P# = Priority Level

development environment - done
swerve - in progress
Intake - to do
arm - to do
Claw - to do
climber - to do
operating interface - to do
Autonomous - to do
sensors - research for implementations of different sensors - to do
vision - to do
external dependencies - to do
operations
Title: Re: Task Breakdown
Post by: ohad z on January 21, 2018, 02:12:36 PM
Need to add:
Title: Re: Task Breakdown
Post by: Shreya C on January 26, 2018, 11:11:54 PM
P# = Priority Level

development environment - done
robot map - in progress
swerve - in progress
Intake - to do
arm - to do
Claw - to do
climber - to do
operating interface - to do
Autonomous - to do
sensors - research for implementations of different sensors - to do
vision - to do
external dependencies - to do
operations
Title: Re: Task Breakdown
Post by: ohad z on January 28, 2018, 05:23:58 PM
Once we are starting to work on the new chassis we would need to change the hardware definitions (CAN and AIN/DIN/etc) from the existing (last years) to the new hardware mappings. This would mean that the existing chassis would stop working  with the new code. We can remap the existing chassis to match the new values to be able to keep it running for as long as we can. The reason to keep the existing chassis running is to have the swerve code - including distance, angle, autonomous - continue to be developed and debugged on it.
Title: Re: Task Breakdown
Post by: Louis L on January 31, 2018, 10:20:15 AM
Once we are starting to work on the new chassis we would need to change the hardware definitions (CAN and AIN/DIN/etc) from the existing (last years) to the new hardware mappings. This would mean that the existing chassis would stop working  with the new code. We can remap the existing chassis to match the new values to be able to keep it running for as long as we can. The reason to keep the existing chassis running is to have the swerve code - including distance, angle, autonomous - continue to be developed and debugged on it.

The current chassis (Satis) swerve drive components are all at the same harwdare definitions as on the new chassis. When the definitions for the new chassis were made, I copied the drive portion definitions to the new chassis so we wouldn't have to make any changes.

So we can continue to use the old chassis with the new code. It'll work just fine.
Title: Re: Task Breakdown
Post by: ohad z on January 31, 2018, 11:11:32 PM
Cool. The plywood chassis was also updated to match the planned hardware map for the new chassis.
Software now should be portable between all three platforms.
Title: Re: Task Breakdown
Post by: Louis L on February 01, 2018, 01:08:22 PM
Shreya - I haven't given you a  LabVIEW software breakdown / schedule. Here's where we're at.

Near term goals - to be finished by end-of-day Sunday:Roadblocks
Title: Re: Task Breakdown
Post by: ohad z on February 06, 2018, 12:53:45 AM
Task list and status of the Arm mechanism software:
1. Validate geometry assumptions: This was done with Ed, and it looks like the Final arm assembly will be partially extended in the cube pickup position and would need to be retracted before it can move to other positions. Software would need to accommodate retracting to not violate rules (prior to arm changes, it was going to be fully retracted at pickup). This task is done
2. Basic commands (command building blocks to control individual pieces of the arm/extension/claw): Commands are placed in commands.arm package. Command implementation in progress. Commands left to implement include the gripper commands
3. Extension mode programming: Math and strategies for arm extension have been discussed. Arm extension strategies implementation is done, testing for strategies is done.
4. Manual operation of arm: This would included the fine tuning of the arm manually up and down including the extension controls, using the joystick. This is done
5. PID controls for arm stall current: this will apply PID logic to the arm up/down motor to keep arm from sagging. Implementation is done though not yet verified in real life
6. Gyro programming: This would add mode to the claw movement to put it in horizontal position. Not done
7. Gripper modes: TBD. Not done
8. Stall current detection: Add stall current detection to motors as necessary. Not done
9. Change Software PID to hardware PID for arm and extension to accommodate new wiring of POT. This is not done

External dependencies and unknowns:
- PID testing to see if arm can be kept in place (if this is not working as expected user control through stick is planned)

Title: Re: Task Breakdown
Post by: Vanshika C on February 14, 2018, 06:46:19 PM
Task list and status of the Arm mechanism software:
1. Validate geometry assumptions: This was done with Ed, and it looks like the Final arm assembly will be partially extended in the cube pickup position and would need to be retracted before it can move to other positions. Software would need to accommodate retracting to not violate rules (prior to arm changes, it was going to be fully retracted at pickup). This task is done
2. Basic commands (command building blocks to control individual pieces of the arm/extension/claw): done, not tested
3. Extension mode programming: Math and strategies for arm extension have been discussed. Arm extension strategies implementation is done, testing for strategies is done.
4. Manual operation of arm: This would included the fine tuning of the arm manually up and down including the extension controls, using the joystick. This is done
5. PID controls for arm stall current: this will apply PID logic to the arm up/down motor to keep arm from sagging. Implementation is done though not yet verified in real life
6. Gyro programming: This would add mode to the claw movement to put it in horizontal position. Done, not tested.
7. Claw modes: done
8. Stall current detection: Add stall current detection to motors as necessary. Not done
9. Change Software PID to hardware PID for arm and extension to accommodate new wiring of POT. done

External dependencies and unknowns:
- PID testing to see if arm can be kept in place (if this is not working as expected user control through stick is planned)
Title: Re: Task Breakdown
Post by: Matt S on February 14, 2018, 09:03:18 PM
Next thing that we need to do for testing purposes is to allow most of the constants used throughout program to be modified through smart dashboard.  This will help us by being able to change constants like speed and PID on the fly, as well as to not damage robot components.