# Online Exchange with FRC 3847
###### tags: `FRC Online Exchage`
## 會議時間
2021 / 11 / 20
22:00
## 會議地點
Google Meet
## 會議連結
ㄟ幹我前十分鐘自我介紹沒錄到
:arrow_forward: [Meeting Screen Recording](https://youtu.be/Oguq6DRAbY0)
[](https://youtu.be/Oguq6DRAbY0)
## 結論
1. Albert 很罩,邊問問題邊紀錄
2. [training.spectrum3847.org](https://docs.google.com/document/d/e/2PACX-1vQk_ghFBN7682QI_17lbBCx8V_RXNomQRR7er-UIzlllsbdpO4RWOQAVnGFZAEypeNm2grS2G9oxFMp/pub)
3. [swerve drive](https://www.ndsubisonrobotics.org/uploads/5/9/8/8/59888285/frc_drivetrains.pdf)
## 機械組問題
### A. Training
$QUESTION$
We are interesting with your ordinarily training and how do you teach the new members in the team ?
### B. After Kick off schedule
$QUESTION$
The new season is coming, and we are not sure what to arrange our schedule after kick off, can you give us some advises or some experience ?
$ANSWER$
first week => planning
second week => components and subsystems (veterans will be in position for leads)
- start prototyping
- test and trial
- important: whether prototype meets expectations
- determining functionality is important
third week => start building n stuff (practice robot)
later on => comp ver
### C. About robot chassis
$QUESTION$
Would it be recommended to weld the robot chassis?
$ANSWER$
Welding too much does not benefit the robot that much.
For most teams, getting better subsystems is more important
Resource allocation is important
basically do other things first.
## 程式組問題
### MOST IMPORTANT QUESTION
$QUESTION$
How do teams in the United States build up programming experience and foundations? Our team is entirely self taught and most members are only familiar with dealing with syntax-related issues or basic problems. We want to know how systems can be setup in general so that our programming is robust.
### Programming Language!
$QUESTION$
Java, C++, Python, LabView, do anyone of these have a significant advantage?
### Testing
$QUESTION$
Any efficient testing methods?
### A. Labview or Java?
$QUESTION$
Currently, we are using Java as our main programming language, however, we’ve heard some FRC teams in Taiwan using LabVIEW to program their robot. We wonder what’s the difference between Java and LabVIEW. Is there anything LabVIEW can do but Java can't? Which one is better for us to program an FRC robot? Which one do you prefer and which one will you suggest to us?
### B. Robot Builder
$QUESTION$
We haven't reach to this part before. I've read the First WPI Library and found that there's something called robot builder and we can make our customized-made desktop and system. I have no idea why some top FRC teams are doing that, the original driver station and other game tools are good enough, why are they doing that? If we want to try it, how should we accomplish it?
我好像錯了
$ANSWER$
Use Robot Simulation for quick development
potentially use github
dont use robot builder!
### C. Odometry
$QUESTION$
I know odometry from a friend playing FTC of mine. Last time, he introduced odometry basic conception and show me the math behind optometry. From my perspective of view, I think odometry is feasible to us. However, I found that it’s not common to use odometry in FRC games instead of FTC. What do you think about it? Should we try making it?
$ANSWER$
Most great autonomous teams use a plethora of sensors to gather data. they make an estimation based on the combination of data. even then they have errors that need vision to adjust
### D. Vision processing with Rapsberry pi
$QUESTION$
Few weeks ago, I watch some videos about 1690 Obrit’s robot for the last season. I heard that they’re using camera and limelight and connected to the raspberry pi the to better calculate what they want and write their own code which is more specific to the target. We’ve never done that before so we’re asking you guys some options and perspective about it. Additionally, could you tell us more details and apply us some resources related to these things?
$ANSWER$
Don't try to utilize too much, you will make a mess.
Using limelight only, try to get the vision-based aiming to work first before anything else is done. Most teams are optimizing for incremental improvements
What 1690 is doing is a substitute camera
### E. Building Up a Codebase
$QUESTION$
Our programming team is entirely self-taught and does not have a adequate codebase to pull anything from. Do you have any suggestions when it comes to building a strong codebase or building a solid foundation in programming?
$ANSWER$
Build up slow and steady, make improvements over time
They had a lot of stuff that were old...
Before COVID they just worked on features that they thought they would need or were repetitive.
### F. Control Loops
$QUESTION$
Our team has had trouble when using control loops such as PID Control. How do we get started on implementing any PID Control scheme, and test the variables to be just right?
- Is Drivetrain Control necessary and worth it considering the processing power of the roboRio?
- Is getting to know to know Calculus important to start learning more about control loops
$ANSWER$
Maybe have a Profile PID Command where the P is adjustable and D is bumped up slightly. This way you should be able to scale up quickly and have a relatively accurate motor
### G. Mathematical Foundations
$QUESTION$
Is calc important enough for programming students to learn before they start looking at theories and stuff.
### H. Robot Simulation or Testing
$QUESTION$
Is there anything effective method to test robots without having a complete or working physical robot?
Potential Methods:
- Arduino Built Robots
- Simulation software? (for what programming languages?)
### I. Using Version Control (git
$QUESTION$
Is using version control worth the hassle?
$ANSWER$
They just started using git and Github.
Declaring programming practices is common, and important so that branches become easy to merge.
They split branches between different members so they do not overwrite
- [C2.6 Programming Practices](https://docs.google.com/presentation/d/1AM8HVvaWyb8HCFTLPVTEehJRqDwfTwjC0XqQcrS3sj4/edit#slide=id.p)
### J. Getting Autonomous to be stable and effective
$QUESTION$
Autonomous phase -> unstable and unreliable?
We need techniques and systems to get it to be more stable. Aside from PID, is there anything that allows this?
### K. Is commend base a necessity
$QUESTION$
our team use timed robot to build our code in the past year but as we know almost all of the team of FRC use commend base to do their coding so we would like to know is it really needed
$ANSWER$
Build up slow and steady, make improvements over time
They had a lot of stuff that were old...
Before COVID they just worked on features that they thought they would need or were repetitive.
## 配電組問題
### A. Communication
$QUESTION$
We have the problem about the communication with our robot, sometimes it will delay when we are on the field, do you have any suggest for us ?
$ANSWER$
Most of the time the problem comes from the software.
View the log file in the driver station, a graph will pop up
We can see what the potential problems are wifi latency most of the time comes from other signals in the room. We will see an event list from the roborRio. Too much loops or print statements will slow down the program.
## 設計組問題
nope
## 行政組問題
### A. Sponsor
$QUESTION$
We have written a paper including introduction and goals and trying to contact companys by email. However, none of them reply. How should we start the first step? And how to choose the ideal companys? Thanks
$ANSWER$
School provides most of the money
They don't have that much experience. Cold calls are scary. Get the president CEO whoever to call you. Making calls are way better than sending emails. USE FAMILY CONNECTIONS.
Talk to some of the teams in our area and look for what types of companies sponsor them
### B. Engineering notebook
$QUESTION$
When we summarize the context for competition, what's the key points to make it? The key point I think now is listing out the question and solution. Does it have more to notice? Thanks for answering!
$ANSWER$
Figure what idea we are specifically trying to win:
the Engineering notebook may be important in some cases. Not necessarily everything. Maybe you could have great design and not meet the requirements for the award. It is a better option that just telling everything about the robot.
## 其他
這邊放一些最後聊天時 albert 記錄到的東西
They built an adjustable hood for the last season. Linear servo hoods? Those were able to let them move the angle of the projectile
3d-printed the slots
adjustable hood is dependent on whether we can get everything working first!
Ball with no rotation is not stable!
the ball needs to spin, needs to be stable
don't want too much spin as it would take velocity away from the propelling ball
compromise between stable and velocity
for team structure, they have more flexibility easier to shift tasks
and they will lead specific parts i guess and mini projects
Recruit: demo, exhibition at club fair, send email, school letter
Swerve drive not that important, way too expensive
Not one thing will win us the competitions
formulating plans and making improvements when necessary is crucial and vital
Get things to work first
Analyze competitions regularly