25_轉(zhuǎn)矩

25 轉(zhuǎn)矩(力矩)

在上一章中,我們模擬了一個(gè)角速度恒定的場(chǎng)景。在本章中,我們將使其變得更加復(fù)雜;我們將模擬一個(gè)茶壺,在轉(zhuǎn)臺(tái)上以恒定的角加速度和減速度旋轉(zhuǎn)。

25.1 角加速度

就像線加速度是速度的導(dǎo)數(shù)一樣,角加速度也是角速度的導(dǎo)數(shù)。另外,類比于線加速度是由力引起的,角加速度也是由力、力矩的轉(zhuǎn)動(dòng)引起的。如果您不熟悉力矩,可以閱讀http://modsimpy.com/torque進(jìn)行了解。

一般來(lái)說(shuō),力矩是一個(gè)向量,定義為\overrightarrow{r}\overrightarrow{F}的叉積,其中\overrightarrow{r}是杠桿臂,表示從旋轉(zhuǎn)點(diǎn)到施力點(diǎn)的向量,\overrightarrow{F}是表示力的大小和方向的向量。

然而,對(duì)于本章中的問(wèn)題,我們只關(guān)注力矩的大小,而不關(guān)心方向。在這種情況下,我們可以運(yùn)用公式:

\tau = rFsinθ

其中,τ是力矩,r是杠桿臂的長(zhǎng)度,F是力的大小,θ\overrightarrow{r}\overrightarrow{F}之間的夾角。

由于力矩是長(zhǎng)度和力的乘積,所以用牛米(N m)表示。

25.2

與線性加速度通過(guò)牛頓第二運(yùn)動(dòng)定律與力相關(guān)的方式相同,F=ma,角加速度通過(guò)另一種形式的牛頓定律與力矩相關(guān):

\tau=Iα

其中α是角加速度,I是轉(zhuǎn)動(dòng)慣量。正如質(zhì)量使物體難以加速一樣[1],轉(zhuǎn)動(dòng)慣量也使得物體難以旋轉(zhuǎn)。

在最一般的情況下,三維物體繞任意軸旋轉(zhuǎn),轉(zhuǎn)動(dòng)慣量是張量,是一個(gè)以向量為參數(shù)并返回一個(gè)向量的函數(shù)。

幸運(yùn)的是,在一個(gè)系統(tǒng)中,所有的旋轉(zhuǎn)和力矩都發(fā)生在一個(gè)單軸上,我們不必處理最一般的情況,而可以把轉(zhuǎn)動(dòng)慣量看作標(biāo)量。

對(duì)于質(zhì)量為m的小物體,在距離r處繞一點(diǎn)旋轉(zhuǎn),轉(zhuǎn)動(dòng)慣量為I=mr^2。對(duì)于更復(fù)雜的物體,我們可以把物體分成多個(gè)小質(zhì)量,計(jì)算每個(gè)質(zhì)量的轉(zhuǎn)動(dòng)慣量,然后把它們相加。

然而,對(duì)于大多數(shù)簡(jiǎn)單的形狀,人們已經(jīng)做了計(jì)算,你可以直接查找結(jié)果。例如,可以參見(jiàn)http://modsimpy.com/moment。

25.3 茶壺和轉(zhuǎn)盤

中餐館的桌子通常有一個(gè)旋轉(zhuǎn)的托盤或轉(zhuǎn)盤,以方便顧客分享菜肴。這些轉(zhuǎn)盤由低摩擦軸承支撐,使它們能夠輕松轉(zhuǎn)動(dòng)和滑動(dòng)。然而,它們可能很重,特別是當(dāng)它們裝滿食物時(shí),因此它們有很大的轉(zhuǎn)動(dòng)慣量。

假設(shè)我坐在一張桌子前,轉(zhuǎn)盤上放著一壺茶,坐在我正對(duì)面的人讓我遞茶。我用1 N的力推轉(zhuǎn)臺(tái)的邊緣,直到它轉(zhuǎn)動(dòng)了0.5 rad,然后放開,轉(zhuǎn)盤滑動(dòng)到距離起始位置的1.5 rad處停止。那么我應(yīng)該施加多大的力才能使茶壺滑到我正對(duì)面的停止位置?

我們將按照以下步驟回答這個(gè)問(wèn)題:

  1. 我將使用第一次推動(dòng)的結(jié)果來(lái)估算轉(zhuǎn)盤的摩擦系數(shù)。

  2. 作為練習(xí),您將使用該摩擦系數(shù)來(lái)估計(jì)旋轉(zhuǎn)轉(zhuǎn)盤通過(guò)剩余角度所需的力。

我們的模擬將使用以下參數(shù):

  1. 轉(zhuǎn)臺(tái)半徑為0.5 m,重量為7 kg。

  2. 茶壺重0.3 kg,離轉(zhuǎn)盤中心0.4 m。

圖25.1顯示了這種情況,其中F是施加在轉(zhuǎn)臺(tái)周邊的力I,垂直于力臂r,τ是產(chǎn)生的力矩??拷撞康乃{(lán)色圓圈是茶壺。

25_1.png

圖25.1:帶茶壺的轉(zhuǎn)盤示意圖

下面是一個(gè)帶有場(chǎng)景參數(shù)的Params對(duì)象:

    params = Params(radius_disk=0.5*m,
                    mass_disk=7*kg,
                    radius_pot=0.4*m,
                    mass_pot=0.3*kg,
                    force=1*N,
                    torque_friction=0.2*N*m,
                    theta_end=0.5*radian,
                    t_end=20*s)

make_system創(chuàng)建初始狀態(tài)init,并計(jì)算轉(zhuǎn)盤和茶壺的總轉(zhuǎn)動(dòng)慣量。

    def make_system(params):
        mass_disk, mass_pot = params.mass_disk, params.mass_pot
        radius_disk, radius_pot = params.radius_disk, params.radius_pot

        init = State(theta=0*radian, omega=0*radian/s)

        I_disk = mass_disk * radius_disk**2 / 2
        I_pot = mass_pot * radius_pot**2

        return System(params, init=init, I=I_disk+I_pot)

在初始狀態(tài)下,theta代表桌子的角度,單位為rad;omega表示角速度,單位為rad/s。

I_disk是轉(zhuǎn)盤的轉(zhuǎn)動(dòng)慣量,它是基于水平圓盤繞一個(gè)通過(guò)其中心的垂直軸旋轉(zhuǎn)的轉(zhuǎn)動(dòng)慣量:
I_{disk}=mr^{2}/2
I_pot是將其視為一個(gè)點(diǎn)質(zhì)量的茶壺的轉(zhuǎn)動(dòng)慣量:
I_{point} = mr^2
在國(guó)際單位制中,轉(zhuǎn)動(dòng)慣量用kg m2表示。

現(xiàn)在我們可以創(chuàng)建一個(gè) System對(duì)象了:

    system1 = make_system(params)

這是一個(gè)采用當(dāng)前狀態(tài)的斜率,包含角度和角速度,并返回導(dǎo)數(shù),角速度和角加速度:

    def slope_func(state, t, system):
        theta, omega = state
        radius_disk, force = system.radius_disk, system.force
        torque_friction, I = system.torque_friction, system.I
        
        torque = radius_disk * force - torque_friction
        alpha = torque / I
        
        return omega, alpha

在這種情況下,施加在轉(zhuǎn)臺(tái)上的力始終垂直于杠桿臂,因此sinθ=1,力產(chǎn)生的力矩為τ=rF。

torque_friction表示摩擦產(chǎn)生的力矩。因?yàn)檗D(zhuǎn)臺(tái)是在theta的正方向上旋轉(zhuǎn),所以摩擦力在theta的負(fù)方向上作用。

現(xiàn)在我們已經(jīng)準(zhǔn)備好了進(jìn)行模擬,但我們必須先解決一個(gè)問(wèn)題。

當(dāng)我停止推動(dòng)轉(zhuǎn)盤時(shí),角加速度突然改變。我們可以用if語(yǔ)句來(lái)實(shí)現(xiàn)斜率函數(shù),該語(yǔ)句檢查theta的值并相應(yīng)地設(shè)置力。對(duì)于這樣一個(gè)粗糙的模型,這可能是好的。但是,如果我們分兩個(gè)階段進(jìn)行系統(tǒng)模擬,我們將得到更準(zhǔn)確的結(jié)果:

  1. 在第一階段,力是恒定的,我們運(yùn)行到theta為0.5 rad。

  2. 在第二階段,力為0,我們一直運(yùn)行到omega為0。

然后我們可以將兩個(gè)階段的結(jié)果合并到一個(gè)單一的時(shí)間框架中。

這是我將在第一階段中使用的事件函數(shù),它在theta到達(dá) theta_end端時(shí)停止模擬,也就是我停止推動(dòng)時(shí):

    def event_func1(state, t, system):
        theta, omega = state
        return theta - system.theta_end

現(xiàn)在我們可以開始運(yùn)行第一階段了。

    results1, details1 = run_ode_solver(system1, slope_func,
                                        events=event_func1)

在運(yùn)行第二階段之前,我們必須提取第一階段的最終時(shí)間和狀態(tài)。

    t_0 = get_last_label(results1) * s
    init2 = results1.last_row()

現(xiàn)在我們可以為第二階段創(chuàng)建一個(gè)系統(tǒng)對(duì)象,初始狀態(tài)來(lái)自第一階段,力為0。

    system2 = System(system1, t_0=t_0, init=init2, force=0*N)

對(duì)于第二階段,我們需要一個(gè)事件函數(shù),它在轉(zhuǎn)盤停止時(shí)停止;也就是說(shuō),當(dāng)角速度為0時(shí)。

    def event_func2(state, t, system):
        theta, omega = state
        return omega

現(xiàn)在我們可以運(yùn)行第二階段了。

    results2, details2 = run_ode_solver(system2, slope_func,
                                        events=event_func2)

Pandas提供可以結(jié)合results1results2combine_first。

    results = results1.combine_first(results2)
25_2.png

圖25.2:施加力和摩擦力時(shí)轉(zhuǎn)臺(tái)的角度和角速度

圖25.2顯示了結(jié)果。角速度omega在我推的時(shí)候線性增大,在我放開后線性減小。角theta是角速度的積分,所以它在每個(gè)相位形成一條拋物線。

在下一節(jié)中,我們將使用這個(gè)模型來(lái)估計(jì)由于摩擦而產(chǎn)生的力矩。

25.4 估算摩擦

讓我們從上一節(jié)中獲取代碼并將其包裝在一個(gè)函數(shù)中。

    def run_two_phases(force, torque_friction, params):
        # put the parameters into the Params object
        params = Params(params, force=force,
                        torque_friction=torque_friction)

        # run phase 1
        system1 = make_system(params)
        results1, details1 = run_ode_solver(system1, slope_func,
                                            events=event_func1)

        # get the final state from phase 1
        t_0 = results1.last_label() * s
        init2 = results1.last_row()

        # run phase 2
        system2 = System(system1, t_0=t_0, init=init2, force=0*N)
        results2, details2 = run_ode_solver(system2, slope_func,
                                            events=event_func2)

        # combine and return the results
        results = results1.combine_first(results2)
        return TimeFrame(results)

我們可以用run_two_phases來(lái)寫一個(gè)誤差函數(shù),用root_bisect來(lái)求出由于摩擦產(chǎn)生的力矩,這個(gè)力矩產(chǎn)生了第一次推動(dòng)的觀察結(jié)果,總共旋轉(zhuǎn)了1.5 rad。

    def error_func1(torque_friction, params):
        force = 1 * N
        results = run_two_phases(force, torque_friction, params)
        theta_final = results.last_row().theta
        print(torque_friction, theta_final)
        return theta_final - 1.5 * radian

現(xiàn)在我們可以使用root_bisect來(lái)估計(jì)由于摩擦產(chǎn)生的力矩了。

    res = root_bisect(error_func1, [0.5, 2], params)
    force = res.root

結(jié)果是0.166 N m,比最初的猜測(cè)要小一些。

現(xiàn)在我們知道了由于摩擦產(chǎn)生的力矩,我們可以計(jì)算出旋轉(zhuǎn)轉(zhuǎn)盤通過(guò)剩余角度所需的力,即從1.5 rad到3.14 rad

在本章的筆記本“chap25.ipynb”中,您將有機(jī)會(huì)完成練習(xí)。有關(guān)下載和運(yùn)行代碼的說(shuō)明,請(qǐng)參閱0.4節(jié)。

本書的中文翻譯由南開大學(xué)醫(yī)學(xué)院智能醫(yī)學(xué)工程專業(yè)2018級(jí)、2019級(jí)的師生完成,方便后續(xù)學(xué)生學(xué)習(xí)《Python仿真建?!氛n程。翻譯人員(排名不分前后):薛淏源、金鈺、張?chǎng)?、張瑩睿、趙子雨、李翀、慕振墺、許靖云、李文碩、尹瀛寰、沈紀(jì)辰、迪力木拉、樊旭波、商嘉文、趙旭、連煦、楊永新、樊一諾、劉志鑫、彭子豪、馬碧婷、吳曉玲、常智星、陳俊帆、高勝寒、韓志恒、劉天翔、張藝瀟、劉暢。

整理校訂由劉暢完成,如果您發(fā)現(xiàn)有翻譯不當(dāng)或者錯(cuò)誤,請(qǐng)郵件聯(lián)系changliu@nankai.edu.cn。

本書中文版不用于商業(yè)用途,供大家自由使用。

未經(jīng)允許,請(qǐng)勿轉(zhuǎn)載。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 抖抖.....抖個(gè)不停的伺服電機(jī)——轉(zhuǎn)動(dòng)慣量匹配技術(shù)及資料分享 原創(chuàng)財(cái)神機(jī)械與藝術(shù) 文中參考文獻(xiàn),模型源文件均提供...
    機(jī)械與藝術(shù)閱讀 1,397評(píng)論 2 3
  • 24 旋轉(zhuǎn) 在本章中,我們對(duì)涉及旋轉(zhuǎn)物體的系統(tǒng)進(jìn)行建模。一般來(lái)說(shuō),旋轉(zhuǎn)是復(fù)雜的:在三維空間中,物體可以繞三個(gè)軸旋轉(zhuǎn)...
    neobiosystem閱讀 396評(píng)論 0 0
  • 第一章 緒論 物理學(xué)是一門基礎(chǔ)學(xué)科,探索物質(zhì)的基本結(jié)構(gòu)和物質(zhì)運(yùn)動(dòng)的基本規(guī)律。是自然科學(xué)的基礎(chǔ) 物質(zhì)實(shí)物 宏觀:氣體...
    原上的小木屋閱讀 2,726評(píng)論 0 2
  • 考試范圍 力學(xué)(30%)熱學(xué)(20%)電磁學(xué)(50%) NJUPT《大學(xué)物理上》真題及答案 質(zhì)點(diǎn)運(yùn)動(dòng)學(xué) 第一節(jié) 質(zhì)...
    Du1in9閱讀 6,328評(píng)論 0 25
  • 知識(shí)點(diǎn) 動(dòng)量的直觀感受碰撞模型勻速圓周運(yùn)動(dòng)的模型 角動(dòng)量的直觀感受圓周運(yùn)動(dòng)速度變化的模型 質(zhì)點(diǎn)的角動(dòng)量質(zhì)點(diǎn)對(duì)原點(diǎn)O...
    JYF1104閱讀 1,305評(píng)論 0 0

友情鏈接更多精彩內(nèi)容