or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing
xxxxxxxxxx
20220121~20220130 程式組寒訓
tags:
工作筆記 程式組
大家過年前的工筆就都先寫這邊吧
阿要好好寫我還要幫你們整理還要翻成英文
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →阿可以的話也可以直接寫英文
20220121
陳伯豪
今天的話,早上我主要是在寫一些有關競程的簡報
下午的話因為學長有來,所以我有跟他還有副隊長討論了一些有關機器人馬達的事情,以下簡單敘述…
今天的話應該是這樣,對www
最後說點幹話(#
然後大埔鐵板燒意外的很好吃w 雖然我覺得有點貴((((
下次不知道吃甚麼的時候可以去吃w
吳玠廷
今天接近中午才來,一開始看了一下我們尚未完成的事像是gyro,encoder等,接下來看了encoder的原理以及程式碼,並且學會應用,像是宣告encoder、把它顯示在shuffleboard、偵測馬達轉速等,因為今天沒有我的班所以輕鬆看並且計畫把它打成hackmd,其中我發現一些有趣的東西:像是利用encoder偵測馬達與目標的位置控制馬達前進等,encoder程式碼的簡單概念是:當馬達走的距離小於某個值,則以某個速度前進直到我設定的距離。
劉柏蔚
今天把之前還沒寫完的Command-Based程式給寫完。然後出現了一個非常大的問題就是我mac電腦轉window的部分沒辦法連網路,純屬硬體問題,然而當我轉成apple的時候我之前下載的vscode可以用,但是沒辦法匯入phoenix tuner的函式庫,所以呢等於我也不知到自己到底有沒有寫錯。所以呢之後的時間我全部都在研究怎麼在apple系統上寫frc的程式,但是因為資料很少所以最後沒找到。然後我們有討論要用新的馬達也就是spark,還好我們之前已經有試過了,但還是需要熟悉一下。
20220122
魏仁祥
我昨天花了兩個多小時跟著 FRC 0 to Autonomous: #5 Command-Based Robot 做了一個 command based robot,在寫 PID 的時候有些卡住,因為 2021 的 vsCode 和 2022 的不太一樣,PIDcontroller 的宣告和要導入的 package 不太一樣,所以當時花了一些時間再看一下,後來有解決。
然後今天下午到的時候,又參考她的做法自己寫一個我們底盤 mecanum drive 的程式,有成功了,下禮拜 Albert 教完 git 後我再放上去。然後我也跟范政佑一起看了 Robot Characterization,之前有聽過黃冠穎當時已經看完了八九成,但後來進行了大修改,雖然基本的概念沒有什麼變,但操作介面整個都改了變得更乾淨也更好了解了。必須要先載了 2022 的 vsCode 才能進行操作,進入 Start Tool 點下 sysid 才能用。接著我就沒繼續看完跑去測機器人底盤是否移動方向正確和測試 encoder 了,留下范政佑一個人看
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →謝亞諺
今天將之前寫的Command-Base完善了一下,然後早上的時候我一直在找vs studio simulate robot code 的error:


上網找了一下,資料少的可憐,看了別人的發問下的解決辦法,試了一下,完全沒鳥用,然後載了FRC 0 to Autonomous: #5 Command-Based Robot這部影片後面的模擬器,在使用RUN的時候出現一樣的問題只是比較短
然後我找到了Autodesk有出一款軟體有FRC機器人的模擬這是連結結果我也因莫名的原因用不了,然後就去吃午餐了,下午學長叫我把馬達恢復原廠設定,結果我把不用用的也恢復了(◐‿◑),之後學長讓我們先試毒裝2022版,之前的馬達宣告用不了,就先用舊版上機,終於它動起來了。
以下是程式碼
林俊彥
今天把 Command Base 的底盤完成,還完成一小部分的 Shooter ,啊在上機的時候, 發現成功上傳之後 DriverStatio n一就是沒有程式碼 我覺得很困擾,然後新的2022的VSCODE多了好多東西,也改了不少東西所以我的CommandBase做的底盤還是停留在2021版本
參考的是學長推薦的那個2020影片
吳玠廷
看完encoder之後我把他打成一篇類似介紹的文章 Encoder 介紹 雖然不是很專業但我參考了兩部影片: What is Encoder? 裡面講述了 Encoder 的用途以及運作方式,另一個則是 增量型與絕對型的原理及差異 裡面介紹了兩種 Enoder 的不同,簡單來講他們的算法不同是絕對型用的是二進制,其餘的都差不多。下午,應用在網路上學到的東西嘗試的寫出能在 Shuffleboard 監控馬達的程式
20220123
吳玠廷
今天寫的 Enoder 程式
今天遇到的困難
今日進度
20220124
黃冠穎
今日進度
早上我把所有東西更新到 2022 版,然後看了新版的 Characterizatio n和新功能 SysID ,還有稍微看了一下 NetworkTable(這沒看完因為之後魏仁祥就來了)
下午的話有一小時多是在聽Albert講Git的ML(?)
下午剩下的時間跟晚上在測試 SysID 裡的功能,有成功跑出圖片和測出 ks,kv,ka
右邊就是 analyze 出來的圖,底下還有幾張就不截了,左上是一些機器人的基本資料,左下 logger 是可以蒐集資料的地方,中間則是 analyze 出來的資料然後畫成右邊的圖。
遇到的問題
在看 SysID 的官方資料的時候,看到這個 NetworkTable 不知道這是甚麼東西,就是圖片左下的 NT Disconnected 的 NT
在測機器人的時候無法找到 RoboRio 和網路一直斷掉
解決辦法
後來就繼續去看 NetworkTable 的官方資料,也 Google 了一下,還是不是很懂,但後來魏仁祥講說就是一個溝通平台(?)
後來找范振佑重灌(?)一下,RoboRio就好了,也順便知道如何處理。
而網路盒因為一直叫魏晨名,所以她也跟我講再壞掉,檢查哪裡該怎麼做,也就知道如何處理了。
魏仁祥
今天早上剛到的時候,我在 fablab 看 feedforward controller。我覺得那個真的有點難,我還上 youtube 看 What Is Feedforward Control? | Control Systems in Practice
和 Introduction to Feedforward Control 都還是自認沒有到很了解他。我也自己寫了 Feedforward Control 前饋控制 整理資料,目前還很破很爛,然後程式有去 vscode 試過
.calculate()
這個函式好像不太能用,我也去 api 看過了,不清楚問題出在哪。下午一開始 Albert 開始講上次沒說完的 github 了,他先幫我們複習上次的內容,然後介紹了一些基本我們在 git bash 會用到的指令,以下隨便列出幾個我過了半天還記得的。
然後我們也嘗試實際做 push 和 clone 的操作,老實說我後來覺得 git 不容易。要克服版本的問題和一堆奇怪的指令要記起來真的很麻煩而且很不習慣,但是 albert 說當所有人都會用的時候就會在團隊運作上輕鬆非常多,這還有待我們克服。
後來我跟黃冠穎在測試 sysID,sysID 是 2022 新版的 robot characerteration 的東西,這次 first 把它整合在一起讓我們更好測試以求的 ks kv ka。一開始不熟悉界面和 networktable 有問題所已花了一些時間,接著我們試著去求得 unit per rotation(算出來是 0.1595),最後我們有成功讓機器人動起來去做到 quasistatic forward、quasistatic backward、dymanic forward 和 dynamic backward。後來五點到了但 ks kv ka 還沒求出來,但我要去搭公車就走了,剩下黃冠穎和范政佑在測試。
最後要提到的是 RoboRio 2022 Version 有問題,范政佑已經照著上面說的可行性方法排除過了但還是有問題,我們已經向南科的老師提出問題了,還在討論中。
陳伯豪
今天早上的話我在下載 2022 的 WPI 然後我有去跟副隊長確認之前提到的那個問題,他是說他可以選擇要把 SPARK 放在底盤還是砲台
但我跟他說我們底盤的程式已經寫好了,所以最後討論出來是決定用 SPARK 跟 Falcon 至於有沒又要用到 neo 就要再看看了
然後下午因為 Albert 有來,所以他有先把 Git 的一些基礎跟我們講完,雖然一開始很多人不會,但最後似乎大家都會一些基礎的 Push 跟 Pull 了?
如果之後有空的話我再看看要不要找時間寫一份 Git 的使用說明,這樣下一屆也可以用w
林俊彥
今天早上來沒多久之後就去參加志工的會議了 所以上半天沒有做到甚麼事下午就是聽 Albert 講關於GitHub 結果因為我的使用者原因 所以 Github 不能連接上,所以我又全部打掉重來,因為重新用了很多次,所以創建 Git 的步驟幾乎都記得了
吳玠廷
今天早上來看一些PID的簡單觀念並且回去看了以前的PID教學影片 PID
下午則是聽學長講 Git 以及時突解決找不到砲台網路的問題,晚上測試砲台
今日進度
遇到的困難
解決方法
謝亞諺
今日進度
遇到的困難
解決辦法
20220125
黃冠穎
今日進度
遇到問題
解決辦法
我有看到 VS Code 裡面有 Mecanumdrive 的 Example Code 所以我把它拿出來改到我的程式上面
這個還是無解,目前(1/30(我回來改格式))還是沒辦法讓他跟著我畫的路徑走
當時無解,這禮拜(1/24~1/28)有找到魏仁祥的工筆,也有自己寫出來過。
陳伯豪
今天因為我早上也是所以我有說我下午才會來,然後下午的話我主要是在跟無界停還有 Albert 討論 PID 的程式,然後吃完晚餐之後就幫忙打掃一下地下室\
接續前文
靠杯超髒
我今天回去可能會看一下 Encoder 的程式去寫一下,對
吳玠廷
今日進度
今天整天寫砲台PID,因為不確定最後整體做出來會長甚麼樣,所以就先寫出基本的算式。
遇到的困難
解決辦法
最後寫出的程式碼
20220126
黃冠穎
今日進度
還是卡在不知道該如何 import path 到 VS Code 裡,而且我也只去一個下午而已
遇到問題
有成功import .json 檔 但還是無法照著走,目前無解
陳伯豪
今日進度(測試)
1. 炮台(Shooter)
2. 底盤(DriveTrain)
今日進度(程式)
1. 編碼器(Encoder)
2. Command Base
遇到的問題
1. 炮台(Shooter)
2. 底盤(DriveTrain)
解決方法
1. 炮台(Shooter)
2. 底盤(DriveTrain)
結論
明天應該會以寫完 Command Base 跟測試為主
補充
順便紀錄一下一些最近測到的機器人尺寸
程式
今日砲台及底盤測試程式
魏仁祥
跟黃冠穎和 Albert 討論如何成功實現 PathWeaver,在那之前我們得一步一步完成很多東西
Albert 也又講了 PID control 和 feedforward control,前者早就知道了,而後者是自己早已看過一些資料但仍然不完全了解,聽他講完大概更懂了,說白了就是在自動模式時預測機器人下一秒的行動,並以事先測量完畢的 ks, kv, ka 進行移動罷了。
然後我們有多了一個組員 Aaron,他的理解速度非常快,第一次聽 Albert 講 Control Theory 即可舉一反三,快速進入狀況,真的很厲害。我現在也知道了英文對於學習的重要性,能夠快速看懂一篇英文的文章並抓住重點了解其中的要點是很重要的,我的英文還要再加油吧…。
20220127
黃冠穎
今日進度 : Characterization & trajectory generate
遇到的問題
如何解決
還沒好
多看幾次程式碼就找到了
陳伯豪
今日進度(測試)
1. 底盤(DriveTrain)
今日進度(程式)
1. Command Base
遇到的問題
1. 底盤(DriveTrain)
2. Command Base
解決方法
1. 底盤(DriveTrain)
2. Command Base
結論
暫無ouo
吳玠廷
今日進度
遇到困難
如何解決
20220128
魏仁祥
今日進度
Rev Spark Max Client
今天我跟范政佑在處理 SparkMax 的問題,SparkMax 並不是用 phoneix tuner 控制而是使用 Rev Spark Max Client 進行調整與控制。今天范政佑帶我認識他的介面,其實功能什麼的和 phoneix tuner,所以不需要什麼適應。
Import Path Weaver Json file to VsCode
之前黃冠穎也有這個問題,所以我也來看看了。今天我也看了 Importing a PathWeaver JSON看看目前的狀況。
遇到的問題
Rev Spark Max Client
今天我們在看范政佑已經看了四、五個小時的東西,當我們想要測試單科馬達時,調整他的 Percentage Output 和 Velocity 時他都不會轉動,我們看了很多 Chief Deiphi 和 SPARK MAX Overview 官方的資料但都找不太到其他人的相關經歷和解決方法。
Import Path Weaver Json file to VsCode
我自己是可以在 path weaver 上畫出路徑,但在導出後我卻只有 .path 黨而沒有 .json 黨。Aaron and Matt 和我也照著上面的說明從頭認真地看過一遍,檔案該放的位置都是對的,順序步驟都沒問題,但我的遲遲就是不會有 .json 黨。我們到 c 槽去認真找過,似乎是他根本沒有輸出這個檔案。
解決方法
Rev Spark Max Client
過了大概半小時後,范政佑找到 REV Hardware Client - can’t run motors 這一篇,他們有著跟我們類似的問題。
解決方法大概如上,最後有成功解決。由於賴政諺之前有提過看看我們程式方面能否調整 PDP 輸入給馬達的電壓(PDP 上有的孔好像比較小只能提供 30 安陪),所以我們除了調整 Percentage Output, Velocity, Voltage,我們也試著更改 Current,但結果是只要電流不是 40 的話就不行,也意味著我們程式這邊是無法輕易更改電流供給的。
Import Path Weaver Json file to VsCode
Aaron 也跟著在他自己的筆電上試了一次,結果她是可以的。我們認為可能是我版本太舊的問題,但我覺得不太可能畢竟我前幾天才更新成 2022 版的 vscode 而已,但還是抱持著懷疑的心態重新載過一次。下載完 Java JDK 和 frc 2022 vscode and wpilib 2022 tools 後,path weaver 還是有問題無法導出 .json 檔。
結論
Rev Spark Max Client
然後我去打球了好爽
Import Path Weaver Json file to VsCode
宣告失敗,可能以後要用別人的電腦。
題外話,Aaron 真的學的超快
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →黃冠穎
今天進度
希望能把底盤和路徑規劃加在一起,目前還是只能擇一,有 Mecanumdrive 就沒 Trajectory following
學學長回來就請教他一些path planning的問題,雖然他不會,但能從他寫程式多年的經驗,試著推看看可能的問題
遇到問題
在魏仁祥還沒來的時候,我一直覺得 Mecanumdrive 有問題,底盤一直無法平移
解決辦法
在測試小台的機器人後,發現平移是可以動的,雖然沒那麼平移但還是可以接受的。所以我請機械組在改裝的時候,在幫我看看輪子有沒有怎樣。
20220129
林俊彥
本日進度:PID
今天去網路上找了很多相關程式 並盡量把他們改成2022版本的寫法
未完成的在這裡
遇到問題
寫入機器人之後無法運作 報錯也沒有任何東西
解決方法
暫無
王鴻霖Aaron Wang
Today, to make sure that the prototype robot will be ready for future tests, I tested some basic tele-op code on it.
Turns out there were misinformation, and we were using the wrong MotorController object to control the motors. We used TalonFX instead of TalonSRX because we were told that the prototype used that motor. Turns out TalonSRX is the right one. However, when we were trying to use MecanumDrive object to control the motion of the robot, the MecanumDrive object constructor refused the TalonSRX object. Turns out that TalonSRX is a base level control object in the CTRE library that doesn't implement the SpeedController class, so can't be used in MecanumDrive object.
We have yet to find the solution.
謝亞諺
今日進度
困難
解決方法
結果
20220130