weeks <<
Previous Next >> week15-16
week10-14
Week10
正向pull request與反向pull request之差異
正向 pull request:
指無權限之組員創建New pull request後,將更新資料推送到組別倉儲,再經由有權限組長或組員確認資料無誤後,同意合併。
反向 pull request:
指管理者給於組員權限,使組員擁有合併的權力,但常因組員版本不同,推送易發生衝突。
2015- Space Modeling with SolidWorks and NX 重點整理
資料連結:https://link.springer.com/book/10.1007/978-3-319-03862-9
繪圖軟體介紹
Solvespace
Solvespace功能表說明
Solvespace實作影片

Solidworks
Solidworks開發緣起
Solidworks套件安裝與流程設定

NX
NX開發起源
NX套件安裝與設定流程

Inventor
Inventor開發起源
Inventor套件安裝與設定流程

Creo (Pro/E)
Creo (ProE)開發起源
Creo (ProE)套件安裝與設定流程

各套繪圖軟體之差異及特點分析
Week12
NX12使用手冊重點整理
Webots與Vrep介紹

Webots是一款用於移動機器人建模、編程、和仿真的開發環境軟件。在Webots中,用戶可以設計各種複雜的結構,不管是單機器人還是群機器人,相似的或者是不同的機器人都可以很好的交互;也可以對每個對象屬性如形狀、顏色、紋理、質量等進行自主選擇。除了可以在軟件中對每個機器人選擇大量的虛擬傳感器和驅動器,也可以在這種集成的環境或者是第三方的開發環境對機器人的控制器進行編程。機器人的行為完全可以通過現實環境中進行驗證,同時控制器的代碼也可以實現商業化機器人的移植。
Vrep
![[連載0]Vrep入門介紹](https://pic2.zhimg.com/v2-115fc76be5f99897f64919bdbb6a7ebd_1200x500.jpg)
Vrep是一款動力學仿真軟件,主要定位於機器人仿真建模領域,可以利用內嵌腳本、ROS節點、遠程API客戶端等實現分佈式的控制結構,是非常理想的機器人仿真建模的工具。控制器可以採用C/C++, Python, Java, Lua, Matlab, Octave or Urbi等語言實現。
V-rep bubbleRob外型設定
操作影片:
1.開啟V-rep,點選新增球體(Menu-add-Primitive shape-Sphere),並給予球體尺寸(X-size為0.2)
2.點選crtl+space會開始模擬。
3.利用crtl+C.crtl+V複製一樣的球,接著按crtl+space做碰撞測試,會看到兩顆球彈走。
4.再來要將球體新增外觀及功能。
5.點選球體,並點選平移,在Z軸上輸入0.02後,點選平移按鈕,會看到球體上升。
(Sphere-Object/item shift-translation-Z 0.02-Translate selection)
6.點選左邊場景結構中的球體,並改名為bubbleRob。
7.新增感測器在球體上(Menu-add-Proximity sensor- Cone type)
8.點選感測器,並點選旋轉,在Y軸及Z軸上輸入90,點選選轉扭,更改感測器角度。
(Proximity sensor-Object/item rotate-Rotation-Y 90. Z 90.-Rotate selection)
9.點選感測器,並點選平移,在X軸輸入0.1;Z軸輸入0.12,更改感測器位置。
(Proximity sensor-Object/item shift-translation-X 0.1. Z 0.12.-Translate selection)
10.雙擊左邊場景結構中的感測器,並點擊顯示體積參數(Show volume parameter ),將偏移量(Offest)改為0.005,角度(Angle)改為30,範圍(Range)改為0.15。
11.點擊顯示檢測參數(Show detection parameters),並取消不允許檢測之項目(item Don't allow detections)。
12.點選左邊場景結構中的感測器,並改名為bubbleRob_sensingNose。
13.選取球體與感測,並點選編輯中的Make last selected object parent,使球體與感測器結合。
14.再來將球體加上輪子,新增一個尺寸為0.08x0.08x0.02的圓柱,並設定圓柱的位置(0.05,0.1,0.04),完成後將其X軸方向選轉90度。
15.將輪子命名為bubbleRob_leftWheel,並複製一個命名為bubbleRob_rightWheel,將Y軸座標側為-0.1。
16.接著新增馬達(Menu bar-Add-Joint-Revolute),將馬達位置調至輪子中心,並命名為bubbleRob_leftMotor。
17.雙擊馬達,點選Show dynamics properties dialog,並勾選Motor enabled及Lock motor when target velocity is zero。
18.以相同步驟完成bubbleRob_rightMotor。
19.將馬達固定在輪子上,並將馬達固定在球體上。
20.新增第三支撐點(直徑0.05的球體),並平移球體X-0.07,完成後命名為bubbleRob_slider。
21.新增傳動器(Menu bar-Add-Force sensor),並設定位置X -0.07. Z 0.05.,完成後命名為bubbleRob_connection。
22.將傳動器與支撐點連接,並跟主體連接,即完成外型設定。
Week13
13周組員報告影片
40723227 許博閔
Week14
Webots tutorial 1
本章節是讓你熟悉webot介面及操作,你將會創造一個虛擬空間包含了地板、牆壁, e-puck 機器人( e-puck robot )及 e-puck robot 控制系統。
操作影片:
1.開啟Webots,創建一個新的世界,並將檔名改為my_first_simulation。
2.更改場地尺寸及牆的高度。
3.加入木箱,並更改木箱尺寸與初始高度。
4.利用ctrl+C.ctrl+V複製出三個箱子,以shift+滑鼠左鍵拖移,完成後存儲。
5.加入一台機器,加入後儲存,再按開始鍵,檢查機器是否作動。
6.進行物理施壓測試,使用Alt+滑鼠左鍵拖移機器。
7.使用Alt+滑鼠左鍵拖移木箱,會發現木箱無法拖移,需給予木箱重量才能拖移。
8.更改效能。
9.創建控制程式,點選python,並命名為e-puck_go_forward。
10.更改程式碼後存儲,進行測試。
11.測試完後,即完成。
Webots tutorial 2
在本教程中你將學到如何在一般環境下新增簡單物件,第一步驟你將新增一個能與你被景互動的球體。我們將處理幾個有關節點的概念,如他們各自代表的意義、如何新增他們,及如何加入關聯性等等.....,此外我們將學到如何設定物理量。
數種節點將會被介紹,它們的細節都可以在手冊中找到,擁有節點圖表將有助於理解節點之間的關係。
實心節點(solid node)代表鋼體,而這物體可忽略他的行變,在鋼體中任意兩點之距離不受外力影響改變距離,如機械指骨、輪子、桌子都是鋼體的代表。軟體(soft bodies)及關節物體都不屬於鋼體,如繩索,輪胎,海綿或關節機械臂。但是,可以將一個鉸接的物體分解為幾個剛體。
在webots物理引擎中是設計只用來模擬鋼體,在模擬設計中,最重要的一步為將各種實體拆解成不同的鋼體。
第一步驟:將課程一my_first_simulation.wbt檔案使用File / Save World As...另存成檔名為obstacles.wbt
第二步驟:使用Delt將原本的背景移除,並使用PROTO nodes (Webots Projects) / objects / floors / Floor (Solid)新增場景。
第三步驟:將新建場景之尺寸更改為1*1
第四步驟:在最後的節點中依照Add/Bases nodes/solid路徑新增solid節點,展開solid節點並在solid節點中的children資料夾中新增shape,選擇appearance並加入PBRAppearance
1.在geometry中新增sphere
2.展開PBRAppearance,並將其mentalness及roughness尺寸分別更改成0、1
3.在boundingObjectv新增sphere
4.在physis中新增physis
5.將translation 資料夾中的尺寸更改為0,0.2-0.2
6.儲存
7.結果顯示如下圖所示

第五步驟:在任意sphere節點中將radius及subdivision的尺寸更改成0.05和2

第六步驟:選擇第一個sphere(位於children中的子目錄),檔案編輯器將會允許你輸入DEF
1.在這個資料夾中輸入BALL_GEOMETRY
2.選擇bounding0ject資料夾(位於第二個sphere節點中)並使用滑鼠右鍵中的Delt清空資料夾中的內容。
3.在bounding0ject資料夾中依照路徑Add/use/BALL_GEOMETRY操作。
4.成果如下圖所示

Tutorial two (Physical properties Walls)
Webots tutorial 3
1.開啟Webots Tutorial 2的檔案,並另存為appearance.wbt。
2.修改牆壁的外觀,在第一面牆的Appearance中的baseColor改成藍色.metalness改0.roughness改為0.5(若use-der機制有完成設定,其餘3面也會更著變動)。
3.將球體新增紋路,在Appearance的baseColorMap中新增ImageTexture。
4.在ImageTexture的url新增WEBOTS_HOME / projects / default / worlds / textures / red_brick_wall.jpg 路徑下的圖片。
5.可使用View / Wireframe Rendering菜單項以線框模式查看仿真和恢復純渲染模式:View / Plain Rendering。
6.查看坐標系:View / Optional Rendering / Show Coordinates System (Ctrl + F1)。
7.查看距離傳感器的光線:View / Optional Rendering / Show DistanceSensor Rays (Ctrl + F10)。
Webots tutorial 4
1.開啟Webots Tutorial 3的檔案,並另存為collision_avoidance.wbt。
2.新增一個控制程式碼檔案,並命名為e-puck_avoid_collision。
3.進行自動迴避程式碼加入。
4.複製程式碼並貼上,存儲後執行,能看到機器自動迴避。
Webots tutorial 5
1.開啟Webots Tutorial 4的檔案,並另存為compound_solid.wbt。
2.新增啞鈴,先新增Solid,並def為dumbbell。
3.在physics中新增Physics,接著在children中新增Group,並在Group中的children新增Shape兩個Transform。
4.在Shape中的geometry新增cylinder,並將height改為0.1及radius改為0.01。
5.接著在Transform中的children新增Shape,並在底下的geometry新增Sphere,然後將底下的radius改為0.03。
6.將Transform底下的translation Y軸改為0.05。
7.依相同方式完成另一個Transform,並將translation Y軸改為-0.05。
8.接著使用def-use機制將Group def GO,並將boundimgObject新增use GO。
9.接著調整啞鈴的物理性質,將phusics中的mass改為2及density改為-1.centerOfMass Y軸改為0.01。
10.調整啞鈴位置,將rotation中的數值改為(1,0,0,1.5708),且translation Y軸改為0.03。
11.接著設定啞鈴的物理屬性,將Worldlnfo中的contactProperties新增ContactProperties,並將底下的coulombFriction改為0。
12.接著將material1和material2改為dumbbell。
13.設定完測試,即完成。
Webots tutorial 6
1.開啟Webots Tutorial 5的檔案,將箱子.機器.球.啞鈴刪除後,另存為4_wheels_robot.wbt。
2.新增Robot,並將底下的physics加入Physics。
3.在Robot下的children中新增Shape,並def BODY。
4.將Robot下的boundingObject中新增use BODY。
5.接著將Shape下的geometry新增Box,並將尺寸定為(0.1,0.05,0.2)。
6.接著將Shape下的appearance新增PBRAppearance,並將顏色改為紅色.metalness改為0。
7.在Robot下的children中新增Hingejoint(複製三個),並在底下的jointParameter中新增HingeJointParameter。
8.接著在Hingejoint中的device新增RotationalMotor,並且在Hingejoint中的endPoint新增Soild。
9.將Soild def WHEEL1,並在底下的children新增Shape,且def WHEEL。
10.在endPoint底下的physics加入Physics,並def WHEEL_PH。
11.接著在Shape下的geometry中新增Cylinder,並在Shape下的appearance新增PBRAppearance。
12.將appearance中的顏色改為綠色.metalness改為0。
13.接著調整軸心位置,將geometry中的radius改為0.04.height改為0.02。
14.將Hingejoint下的boundingObject新增use WHEEL,並將endPoint下的name改為wheel1。
15.調整輪胎位置,將translation中的數值調為(0.06,0,0.05),並將rotation的數值調為(0,0,1,1.5708)。
16.接著將HingeJointParameter下的anchor中的數值調為(0.06,0,0.05)。
17.將RotationalMotor中的name改為wheel1。
18.接著將其餘三個輪胎的數值改動.名稱改動,並用use-der機制完成。
19.新增感測器,在Robot下的children中新增DistanceSensor,並在DistanceSensor下的children新增Shape。
20.接著在Shape下的geometry新增Box.appearance新增PBRAppearance,並將appearance下的metalness改為0.顏色改為藍色。
21.接著更改大小,將geometry中的size數值改為(0.01,0.01,0.01)。
22.接著更改感測器位置,將DistanceSensor下的translation中的數值改為(0.03,0,0.1),並且將rotation中的數值改為(0,1,0,0.3)。
23.接著複製感測器,將其translation中的數值改為(-0.03,0,0.1).rotation中的數值改為(0,1,0,-1.8)。
24.將感測器的name改為ds_left及ds_right,並將調整Robot高度為(0,0.05,0),完成設定後存儲。
25.接著加入程式碼,選擇Python,並命名為4_wheels_collision_avoidance。
26.複製程式碼貼上並存儲,並且將conteoller選用4_wheels_collision_avoidance。
27.接著開始模擬,運作正常及完成。
weeks <<
Previous Next >> week15-16