官方網(wǎng)站建設(shè)報(bào)價(jià)怎么讓百度快速收錄網(wǎng)站
目錄
💥1 概述
📚2 運(yùn)行結(jié)果
🌈3 Python代碼實(shí)現(xiàn)
🎉4?參考文獻(xiàn)
💥1 概述
多旋翼物流無(wú)人機(jī)的節(jié)能軌跡規(guī)劃是一項(xiàng)重要的技術(shù),可以有效減少無(wú)人機(jī)的能量消耗,延長(zhǎng)飛行時(shí)間,提高物流效率。下面是一些常見(jiàn)的節(jié)能軌跡規(guī)劃方法:
-
最短路徑規(guī)劃:通過(guò)尋找起點(diǎn)和終點(diǎn)之間的最短路徑,減少飛行距離,從而節(jié)省能量消耗??梢允褂媒?jīng)典的最短路徑算法如Dijkstra算法和A*算法來(lái)實(shí)現(xiàn)。
-
動(dòng)態(tài)路徑規(guī)劃:考慮當(dāng)前環(huán)境的動(dòng)態(tài)變化,比如風(fēng)速、天氣狀況和地形高度等因素,并實(shí)時(shí)優(yōu)化飛行路徑。這樣可以避免飛行過(guò)程中遭受很大的阻力,從而減少能量消耗。
-
高效充電站布置:合理規(guī)劃充電站的位置,使得無(wú)人機(jī)在物流任務(wù)執(zhí)行過(guò)程中可以方便地進(jìn)行補(bǔ)充能量。這樣無(wú)人機(jī)可以減少回程飛行距離,節(jié)省能量。
-
光伏充電:在無(wú)人機(jī)上安裝太陽(yáng)能電池板,通過(guò)太陽(yáng)能充電來(lái)提供能源。這種方式可以減少對(duì)傳統(tǒng)電力的依賴,減少碳排放。
-
多機(jī)協(xié)同飛行:通過(guò)與其他物流無(wú)人機(jī)進(jìn)行協(xié)同飛行,在空中形成集群,減少空氣阻力,提高整體能源利用效率。
總之,節(jié)能軌跡規(guī)劃為多旋翼物流無(wú)人機(jī)提供了較大的優(yōu)化空間,通過(guò)合理規(guī)劃飛行路徑、優(yōu)化充電策略以及使用新能源技術(shù),可以顯著減少能量消耗,提高物流效率。
本文考慮靜態(tài)環(huán)境下無(wú)人機(jī)軌跡軌跡的可行性和能耗特性。
📚2 運(yùn)行結(jié)果
?
部分代碼:
def VelDataAboutTime():blocks = []b1 = Block(0, 0, 0, 150, 200, 200) # (x1, y1, z1, x2, y2, z2)b2 = Block(100, 150, 120, 300, 400, 450) # (x1, y1, z1, x2, y2, z2)b3 = Block(250, 350, 400, 500, 480, 500) # (x1, y1, z1, x2, y2, z2)b4 = Block(420, 220, 200, 650, 400, 450) # (x1, y1, z1, x2, y2, z2)b5 = Block(550, 80, 150, 650, 400, 300) # (x1, y1, z1, x2, y2, z2)b6 = Block(600, 80, 50, 800, 150, 200) # (x1, y1, z1, x2, y2, z2)blocks.append(b1)blocks.append(b2)blocks.append(b3)blocks.append(b4)blocks.append(b5)blocks.append(b6)block2Ds = []for b in blocks:block2Ds.append(Block2D(b.x1, b.y1, b.x2, b.y2))goal = [800, 100, 60]c_x = [] # 每段 (x1, x2)c_y = [] # 每段 (y1, y2)c_z = [] # 每段 (z1, z2)corridor = []for block in blocks:c_x.append([block.x1, block.x2]) # 提取出每一段的 (x1,x2)c_y.append([block.y1, block.y2]) # 提取出每一段的 (y1,y2)c_z.append([block.z1, block.z2]) # 提取出每一段的 (z1,z2)corridor.append(c_x)corridor.append(c_y)corridor.append(c_z)time = [[13, 21, 9, 12, 12, 13],[16, 23, 10, 13, 13, 15],[18, 25, 11, 15, 15, 16],[20, 27, 13, 16, 16, 18],[22, 29, 14, 18, 18, 19]]# time = [13, 21, 9, 12, 12, 13] # 80 2.68677585e+04# time = [16, 23, 10, 13, 13, 15] # 90 2.88795396e+04# time = [18, 25, 11, 15, 15, 16] # 100 3.10684295e+04# time = [20, 27, 13, 16, 16, 18] # 110 3.33565508e+04# time = [22, 29, 14, 18, 18, 19] # 120 3.57001138e+04for i in range(5):print("============================================")energy, power, s, vel = UAV3D(time[i], goal, corridor)print(energy)""" save vel to excel """vel_x = list(np.array(vel[0]).flatten())vel_y = list(np.array(vel[1]).flatten())vel_z = list(np.array(vel[2]).flatten())for index in range(len(vel_x)):velocity = math.sqrt(vel_x[index] ** 2 + vel_y[index] ** 2 + vel_z[index] ** 2)CVXsheet.write(index, i, velocity)workbook.save('Velocity.xls')def plot_blocks(blocks):plt.figure(1)ax = plt.axes(projection='3d')ax.set_xlabel('X(m)')ax.set_ylabel('Y(m)')ax.set_zlabel('Z(m)')# ax.set_xticks(np.linspace(0, 100, 4))# ax.set_yticks(np.linspace(0, 100, 4))# ax.set_zticks(np.linspace(0, 100, 4))ax.set_xlim(0, 1000)ax.set_ylim(0, 1000)
🌈3 Python代碼實(shí)現(xiàn)
🎉4?參考文獻(xiàn)
部分理論來(lái)源于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系刪除。
[1]Wu Kunpeng (2022) Energy-Efficient Trajectory Planning for Multi-rotor Logistics UAVs