Created by 40823145 and 40823108
Date today:
分組後與組員討論決定製作機械手臂夾爪,下圖為設計之概念圖。
經過設計思考機械手臂夾爪過於複雜,模擬上可能無法順利進行,決定更改主題。
討論後決定製作Lego-EV3可以透過各種不同的連桿組成所需之形狀。
下圖為參考Lego-EV3,所繪製之概念圖
開始繪製有關Lego-EV3所需之模組,首先繪製控制馬達與感測器之主機本體。
下圖為Lego-EV3主機繪製過程圖
下圖為Lego-EV3馬達繪製與主機配合樣圖
將所需之連桿繪製出來,可依想組裝之方式做組裝及設計連桿
完成所需之物件後,將連桿、主機、馬達、輪胎裝上就能夠完成一台可程式控制的小車
使用Inventor內建功能,將模型擬真,更能呈現產品之真實性
為了能夠方便模擬,我們將部分零件做簡化,讓模擬時不會因為過多的零件導致模擬失敗
第一次模擬因為零件過多,需要調整許多參數,導致在模擬過程中遇到許多問題,也導致模擬失敗
在經過零件簡化後,模擬上的問題也減少了,需要設定的參數也相對變少,最後成功讓小車可以移動
主機工程圖
爆炸圖包含BOM
完成模型
因零件過多導致模擬失敗
因零件過多導致模擬失敗
from controller import Robot
TIME_STEP = 1
robot = Robot()
ds = []
dsNames = ['ds_right', 'ds_left', 'ds_in']
for i in range(3):
ds.append(robot.getDevice(dsNames[i]))
ds[i].enable(TIME_STEP)
wheels = []
wheelsNames = ['wheel1', 'wheel2', 'wheel3', 'wheel4']
for i in range(4):
wheels.append(robot.getDevice(wheelsNames[i]))
wheels[i].setPosition(float('inf'))
wheels[i].setVelocity(0.0)
avoidObstacleCounter = 0
while robot.step(TIME_STEP) != -1:
leftSpeed = 10.0
rightSpeed = 10.0
if avoidObstacleCounter > 0:
avoidObstacleCounter -= 1
leftSpeed = 1.0
rightSpeed = -1.0
else: # read sensors
for i in range(3):
if ds[i].getValue() < 900.0:
avoidObstacleCounter = 90
wheels[0].setVelocity(leftSpeed)
wheels[1].setVelocity(rightSpeed)
wheels[2].setVelocity(leftSpeed)
wheels[3].setVelocity(rightSpeed)
將EV3STL黨匯入webots嘗試讓EV3避障
將EV3 STL黨匯入webots,全部的零件會變成整塊實體,所以將需要做動的輪胎部分先拆除,在webots中重建,但在webots中重建的輪胎顯示不出來,問題尚在解決當中