日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

python的機(jī)器人基礎(chǔ)原理工業(yè)場(chǎng)景模擬第九十五篇:離線仿真,將齊次變換矩陣拆解,分別提取平移向量,旋轉(zhuǎn)子矩陣,完成矩陣元素解析輸出。

python的機(jī)器人基礎(chǔ)原理工業(yè)場(chǎng)景模擬第九十五篇:離線仿真,將齊次變換矩陣拆解,分別提取平移向量,旋轉(zhuǎn)子矩陣,完成矩陣元素解析輸出。 《Python機(jī)器人基礎(chǔ)原理》第九十五篇離線仿真——齊次變換矩陣拆解與矩陣元素解析輸出聲明本篇全部為課程離線仿真代碼不能直接用于真實(shí)機(jī)器人控制器規(guī)避工程誤導(dǎo)風(fēng)險(xiǎn)。1. 實(shí)際工業(yè)應(yīng)用場(chǎng)景周二上午汽車焊裝車間的離線編程工位。上位機(jī)工程師小趙正在把一條新路徑規(guī)劃結(jié)果下發(fā)到虛擬控制器做投產(chǎn)前的最后校驗(yàn)。路徑由200個(gè)關(guān)鍵點(diǎn)組成每個(gè)點(diǎn)都附帶一個(gè)4×4齊次變換矩陣——末端執(zhí)行器相對(duì)于基座標(biāo)系的位姿。小趙把矩陣打印出來(lái)掃了一眼這堆16個(gè)數(shù)字堆在一起我怎么確認(rèn)末端姿態(tài)是不是我想要的他指著屏幕上密密麻麻的浮點(diǎn)數(shù)我只看到四個(gè)行向量看不出平移了多少、轉(zhuǎn)了多大角度、繞哪個(gè)軸轉(zhuǎn)的。旁邊的資深工程師老鄭端著咖啡走過(guò)來(lái)你需要把矩陣拆開。平移向量就是末端在基座標(biāo)系下的X/Y/Z坐標(biāo)直接讀最后那列前三個(gè)數(shù)就行。旋轉(zhuǎn)子矩陣是左上角3×3那塊——它告訴你末端相對(duì)于基座的朝向。你把它進(jìn)一步分解成RPY歐拉角就能直觀看到滾轉(zhuǎn)、俯仰、偏航各轉(zhuǎn)了多少度。但拆解之前先做正交性校驗(yàn)——如果行列式偏離1超過(guò)閾值說(shuō)明數(shù)值有問(wèn)題得標(biāo)紅報(bào)警。小趙那如果數(shù)值積分跑飛了det(R)飄到1.001你的校驗(yàn)?zāi)茏サ絾崂相嵞堋U恍孕r?yàn)工具必須有過(guò)負(fù)例驗(yàn)證——故意注入漂移看它能不能報(bào)警。不然等于沒(méi)驗(yàn)證過(guò)它能報(bào)警。構(gòu)型約定本篇采用3-DOF平面搬運(yùn)機(jī)械臂2R1R腕轉(zhuǎn)基座J1回轉(zhuǎn)大臂J2俯仰腕部J3旋轉(zhuǎn)。DH參數(shù)連桿1 a0.25 m, α0°連桿2 a0.30 m, α0°連桿3 a0.0 m, d0.0 m, α0°。正運(yùn)動(dòng)學(xué)輸出4×4齊次變換矩陣本篇核心任務(wù)是對(duì)該矩陣進(jìn)行結(jié)構(gòu)化拆解提取平移向量、旋轉(zhuǎn)子矩陣、正交性校驗(yàn)、歐拉角分解完成矩陣元素解析輸出。技術(shù)棧限定numpy matplotlib。?? 聲明本篇全部代碼為課程離線仿真運(yùn)行在普通PC上用于齊次變換矩陣解析驗(yàn)證。代碼中不包含任何真實(shí)機(jī)器人控制器實(shí)時(shí)運(yùn)算或安全邏輯。不可直接用于產(chǎn)線設(shè)備。2. 痛點(diǎn)分析課程模塊 本篇對(duì)應(yīng)的工程痛點(diǎn)第2章 位姿描述與坐標(biāo)變換 → 2.2 旋轉(zhuǎn)矩陣 3×3旋轉(zhuǎn)子矩陣的正交性校驗(yàn)與物理含義理解第2章 → 2.3 齊次變換矩陣 4×4矩陣的塊結(jié)構(gòu)拆解平移向量與旋轉(zhuǎn)子矩陣分離第3章 連桿參數(shù)及運(yùn)動(dòng)學(xué)求解 → 3.3 正運(yùn)動(dòng)學(xué) 正運(yùn)動(dòng)學(xué)輸出的T矩陣逐元素解析與可視化第9章 仿真實(shí)驗(yàn) → 離線驗(yàn)證 上位機(jī)離線校驗(yàn)位姿矩陣的數(shù)值合法性本篇代碼解決 L2 離線仿真校核層。輸入一組關(guān)節(jié)角配置3-DOF通過(guò)正運(yùn)動(dòng)學(xué)得到4×4齊次變換矩陣。處理①塊結(jié)構(gòu)拆解平移向量、旋轉(zhuǎn)子矩陣、透視行②旋轉(zhuǎn)子矩陣正交性校驗(yàn)R?R ≈ Idet(R) ≈ 1③歐拉角分解ZYX順序RPY角含萬(wàn)向鎖檢測(cè)④人為注入漂移演示校驗(yàn)報(bào)警⑤矩陣元素逐行逐列解析輸出為結(jié)構(gòu)化報(bào)告。輸出4張分析圖表 CSV數(shù)據(jù)文件。不覆蓋逆運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)、力控制、實(shí)時(shí)控制、多臂協(xié)同。3. 核心邏輯講解物理直覺(jué)齊次變換矩陣是一個(gè)4×4的數(shù)字方陣但它不是一堆亂碼——它有嚴(yán)格的塊結(jié)構(gòu)含義┌ ┐│ R11 R12 R13 │ Tx ││ R21 R22 R23 │ Ty │ 左上3×3 旋轉(zhuǎn)子矩陣R│ R31 R32 R33 │ Tz │ 右上3×1 平移向量T├──────────────┼─────┤│ 0 0 0 │ 1 │ 底行固定為[0,0,0,1]└ ┘平移向量T就是末端相對(duì)于基座標(biāo)系的坐標(biāo)X, Y, Z單位是米。旋轉(zhuǎn)子矩陣R的每一列分別是末端坐標(biāo)系的X軸、Y軸、Z軸在基座標(biāo)系下的方向余弦。因?yàn)閯傮w不會(huì)變形這三個(gè)軸必須互相垂直且長(zhǎng)度都為1——這就是正交性。如果數(shù)值計(jì)算有漂移這三個(gè)軸會(huì)歪掉行列式就不等于1了。歐拉角分解就是把R翻譯成人能讀懂的轉(zhuǎn)角先繞Z轉(zhuǎn)偏航Y(jié)aw再繞新Y轉(zhuǎn)俯仰Pitch最后繞新X轉(zhuǎn)滾轉(zhuǎn)Roll。當(dāng)Pitch接近±90°時(shí)觸發(fā)萬(wàn)向鎖——Yaw和Roll退化為一個(gè)自由度此時(shí)atan2分解會(huì)丟失信息代碼必須檢測(cè)并警告。業(yè)務(wù)邏輯 → 代碼映射輸入關(guān)節(jié)角 q [θ1, θ2, θ3]↓【步驟1正運(yùn)動(dòng)學(xué)】鏈?zhǔn)紻H乘法 → 4×4齊次變換矩陣 T↓【步驟2塊結(jié)構(gòu)拆解】T[0:3, 3] → 平移向量 [Tx, Ty, Tz]T[0:3, 0:3] → 旋轉(zhuǎn)子矩陣 RT[3, :] → 透視行 [0,0,0,1]↓【步驟3正交性校驗(yàn)】det(R) 應(yīng) ≈ 1容差按數(shù)值來(lái)源調(diào)整解析1e-10積分1e-6R?R 應(yīng) ≈ I最大偏差 容差→ 通過(guò)/警告↓【步驟4歐拉角分解 萬(wàn)向鎖檢測(cè)】ZYX順序yaw atan2(R21, R11)pitch atan2(-R31, √(R112R212))若 √(R112R212) 1e-6 → 萬(wàn)向鎖警告roll atan2(R32, R33)→ 弧度轉(zhuǎn)角度↓【步驟5人為注入漂移演示】對(duì)正常R乘1.005縮放 → 校驗(yàn)應(yīng)報(bào)警↓【步驟6解析輸出】逐元素打印 CSV導(dǎo)出 4張圖表關(guān)鍵公式文字翻譯平移提取T [T[0,3], T[1,3], T[2,3]]。直接讀第4列前三個(gè)數(shù)就是末端在基座標(biāo)系下的X/Y/Z坐標(biāo)。單位米。旋轉(zhuǎn)子矩陣提取R T[0:3, 0:3]。左上角3×3子塊。每一列是末端坐標(biāo)軸在基座標(biāo)系中的方向余弦。例如第1列[R11, R21, R31]是末端X軸的方向——如果它是[1,0,0]說(shuō)明末端X軸和基座X軸平行同向。行列式校驗(yàn)det(R) 1。剛體旋轉(zhuǎn)不改變體積所以旋轉(zhuǎn)矩陣的行列式嚴(yán)格等于1。如果數(shù)值計(jì)算導(dǎo)致det(R)0.9999999還在容差內(nèi)如果det(R)0.87說(shuō)明矩陣已經(jīng)歪了數(shù)值有問(wèn)題。ZYX歐拉角- 偏航Y(jié)aw atan2(R21, R11)末端繞基座Z軸轉(zhuǎn)了多少度- 俯仰Pitch atan2(-R31, √(R112R212))末端低頭的程度- 滾轉(zhuǎn)Roll atan2(R32, R33)末端繞自身X軸滾了多少度萬(wàn)向鎖檢測(cè)當(dāng)√(R112R212) 1e-6時(shí)Pitch≈±90°Yaw和Roll退化為一個(gè)自由度分解結(jié)果不可信必須發(fā)出警告。4. OOP代碼實(shí)現(xiàn)技術(shù)棧限定numpy, matplotlib。不引入pybullet、roboticstoolbox等任何第三方重型庫(kù)。全部自實(shí)現(xiàn)。項(xiàng)目結(jié)構(gòu)樹transform_decompose/├── run_transform_decompose.py├── requirements.txt├── robot/│ ├── __init__.py│ ├── models.py│ ├── dh_kinematics.py│ ├── transform_decomposer.py│ └── visualize.py├── tests/│ ├── __init__.py│ └── test_transform_decompose.py├── results/└── output/核心源碼robot/models.py — 數(shù)據(jù)模型數(shù)據(jù)模型DH參數(shù)、機(jī)器人配置全部參數(shù)內(nèi)置自包含可復(fù)現(xiàn)import mathfrom dataclasses import dataclass, fieldfrom typing import Listdataclassclass DHTwistParams:DH參數(shù)集標(biāo)準(zhǔn)DHtheta_offset: theta偏移 (rad)d: 連桿偏距 (m)a: 連桿長(zhǎng)度 (m)alpha: 扭角 (rad)name: 連桿名稱theta_offset: floatd: floata: floatalpha: floatname: str def __post_init__(self):for name, val in [(theta, self.theta_offset),(d, self.d), (a, self.a),(alpha, self.alpha)]:if not math.isfinite(val):raise ValueError(f{self.name} {name}必須為有限數(shù)值)dataclassclass RobotConfig:3-DOF平面搬運(yùn)機(jī)械臂配置2R1R腕轉(zhuǎn)連桿1: J1回轉(zhuǎn), a0.25m, alpha0deg連桿2: J2俯仰, a0.30m, alpha0deg連桿3: J3腕轉(zhuǎn), a0.0m, d0.0m, alpha0degdh_params: List[DHTwistParams] field(default_factorylist)def __post_init__(self):if not self.dh_params:self.dh_params [DHTwistParams(0.0, 0.0, 0.25, 0.0, L1_J1),DHTwistParams(0.0, 0.0, 0.30, 0.0, L2_J2),DHTwistParams(0.0, 0.0, 0.0, 0.0, L3_J3),]propertydef l1(self) - float:return self.dh_params[0].apropertydef l2(self) - float:return self.dh_params[1].arobot/dh_kinematics.py — 正運(yùn)動(dòng)學(xué)標(biāo)準(zhǔn)DH正運(yùn)動(dòng)學(xué)3-DOF平面搬運(yùn)臂輸出4x4齊次變換矩陣import numpy as npimport mathfrom robot.models import RobotConfigclass DHKinematics:def __init__(self, config: RobotConfig):self.config configdef dh_transform(self, theta, d, a, alpha):單個(gè)連桿的標(biāo)準(zhǔn)DH齊次變換矩陣 (4x4)為什么用4x4齊次坐標(biāo)把旋轉(zhuǎn)和平移合并到一個(gè)矩陣?yán)镞@樣連續(xù)變換只需矩陣乘法c_t, s_t math.cos(theta), math.sin(theta)c_a, s_a math.cos(alpha), math.sin(alpha)return np.array([[c_t, -s_t * c_a, s_t * s_a, a * c_t],[s_t, c_t * c_a, -c_t * s_a, a * s_t],[0, s_a, c_a, d],[0, 0, 0, 1]], dtypefloat)def forward_kinematics(self, joint_angles: list):正運(yùn)動(dòng)學(xué)鏈?zhǔn)匠朔╦oint_angles: [theta1, theta2, theta3]if len(joint_angles) ! 3:raise ValueError(需要3個(gè)關(guān)節(jié)角[theta1, theta2, theta3])T_total np.eye(4)for i, dh in enumerate(self.config.dh_params):theta joint_angles[i] dh.theta_offsetT_i self.dh_transform(theta, dh.d, dh.a, dh.alpha)T_total T_total T_ireturn T_totaldef get_end_position(self, joint_angles: list):返回末端位置 [x, y, z]T self.forward_kinematics(joint_angles)return np.array([T[0, 3], T[1, 3], T[2, 3]], dtypefloat)robot/transform_decomposer.py — 齊次變換矩陣拆解器齊次變換矩陣拆解器功能提取平移向量、旋轉(zhuǎn)子矩陣、透視行正交性校驗(yàn)歐拉角分解import numpy as npimport mathfrom dataclasses import dataclass, field# 全局正交性容差常量解析計(jì)算用1e-10數(shù)值積分場(chǎng)景建議1e-6~1e-8ORTHO_TOL 1e-10# 萬(wàn)向鎖檢測(cè)閾值GIMBAL_THRESH 1e-6dataclassclass DecomposeResult:矩陣拆解結(jié)果joint_angles_deg: list field(default_factorylist)translation: np.ndarray Nonerotation_matrix: np.ndarray Noneperspective_row: np.ndarray Nonedet_r: float 0.0orthogonality_error: float 0.0yaw_deg: float 0.0pitch_deg: float 0.0roll_deg: float 0.0is_valid: bool Truegimbal_lock: bool Falseelement_report: str class TransformDecomposer:def __init__(self, ortho_toleranceORTHO_TOL):ortho_tolerance: 正交性校驗(yàn)容差為什么需要容差浮點(diǎn)運(yùn)算會(huì)引入微小誤差det(R)不可能嚴(yán)格等于1允許1e-10量級(jí)偏差。注意閾值需按數(shù)值來(lái)源調(diào)整——解析計(jì)算用1e-10長(zhǎng)時(shí)間數(shù)值積分累積漂移場(chǎng)景建議1e-6~1e-8self.ortho_tol ortho_tolerancedef decompose(self, T: np.ndarray, joint_anglesNone):拆解4x4齊次變換矩陣T: 4x4 numpy arrayif T.shape ! (4, 4):raise ValueError(f矩陣必須是4x4得到{T.shape})result DecomposeResult()# 1. 提取平移向量第4列前3行result.translation T[0:3, 3].copy()# 2. 提取旋轉(zhuǎn)子矩陣左上3x3result.rotation_matrix T[0:3, 0:3].copy()# 3. 透視行第4行result.perspective_row T[3, :].copy()# 4. 正交性校驗(yàn)R result.rotation_matrixdet_r float(np.linalg.det(R))RtR R.T RI np.eye(3)ortho_err float(np.linalg.norm(RtR - I, ordfro))result.det_r det_rresult.orthogonality_error ortho_errresult.is_valid (abs(det_r - 1.0) self.ortho_toland ortho_err self.ortho_tol)# 5. 歐拉角分解ZYX順序 / Roll-Pitch-Yaw# yaw atan2(R21, R11)yaw math.atan2(R[1, 0], R[0, 0])# pitch atan2(-R31, sqrt(R11^2R21^2))denom math.hypot(R[0, 0], R[1, 0])if denom GIMBAL_THRESH:# 萬(wàn)向鎖Pitch接近-90degYaw和Roll退化為一個(gè)自由度result.gimbal_lock Truepitch math.copysign(math.pi / 2, -R[2, 0])# 萬(wàn)向鎖時(shí)roll無(wú)法從矩陣唯一確定設(shè)為0roll 0.0else:pitch math.atan2(-R[2, 0], denom)# roll atan2(R32, R33)roll math.atan2(R[2, 1], R[2, 2])result.yaw_deg math.degrees(yaw)result.pitch_deg math.degrees(pitch)result.roll_deg math.degrees(roll)# 6. 保存關(guān)節(jié)角if joint_angles is not None:result.joint_angles_deg [math.degrees(q) for q in joint_angles]# 7. 生成逐元素解析報(bào)告result.element_report self._generate_report(result)return resultdef _generate_report(self, result: DecomposeResult):生成矩陣元素逐行逐列解析文本lines []lines.append( * 60)lines.append(Homogeneous Transform Matrix T (4x4) Element Report)lines.append( * 60)if result.joint_angles_deg:lines.append(fJoint Angles: ftheta1{result.joint_angles_deg[0]:.2f}deg, ftheta2{result.joint_angles_deg[1]:.2f}deg, ftheta3{result.joint_angles_deg[2]:.2f}deg)# 對(duì)本構(gòu)型theta3不改變末端位姿加注說(shuō)明lines.append(NOTE: theta3 has NO effect on end-effector pose for this config (a30, d30, alpha30))lines.append()lines.append([Translation Vector T] (unit: m))lines.append(f Tx {result.translation[0]:.6f} m)lines.append(f Ty {result.translation[1]:.6f} m)lines.append(f Tz {result.translation[2]:.6f} m)lines.append()lines.append([Rotation Sub-matrix R] (3x3, unitless, direction cosines))R result.rotation_matrixfor i in range(3):lines.append(f Row{i1}: fR{i1}1{R[i,0]:.6f} fR{i1}2{R[i,1]:.6f} fR{i1}3{R[i,2]:.6f})lines.append( Col1EE X-axis dir, Col2EE Y-axis dir, Col3EE Z-axis dir)lines.append()lines.append([Orthogonality Check])lines.append(f det(R) {result.det_r:.12f} f(expected 1.000000000000))lines.append(f ||R^T R - I||_F {result.orthogonality_error:.2e})if result.is_valid:lines.append( Result: [PASS])else:lines.append( Result: [FAIL])lines.append()lines.append([Euler Angles ZYX] (unit: deg))lines.append(f Yaw {result.yaw_deg:.4f} deg)lines.append(f Pitch {result.pitch_deg:.4f} deg)lines.append(f Roll {result.roll_deg:.4f} deg)if result.gimbal_lock:lines.append( WARNING: Gimbal lock detected! (Pitch approx /-90deg, Yaw/Roll degenerate))lines.append()lines.append([Perspective Row])pr result.perspective_rowlines.append(f [{pr[0]:.0f}, {pr[1]:.0f}, {pr[2]:.0f}, {pr[3]:.0f}])if not np.allclose(pr, [0, 0, 0, 1], atol1e-12):lines.append( WARNING: Perspective row ! [0,0,0,1], input matrix is NOT a valid homogeneous transform!)return \n.join(lines)robot/visualize.py — 可視化Homogeneous transform matrix decomposition visualization: 4 charts1. Translation vector bar chart2. Rotation sub-matrix heatmap (all configs)3. Orthogonality check dual chart4. Euler angles bar chartimport osimport numpy as npimport matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [SimHei, DejaVu Sans,Noto Sans CJK SC]plt.rcParams[axes.unicode_minus] Falseclass TransformVisualizer:def __init__(self, results_dirresults):self.results_dir results_diros.makedirs(results_dir, exist_okTrue)def plot_translation_bar(self, translations, labels):1. Translation vector bar chartfig, ax plt.subplots(figsize(8, 5))translations np.array(translations)x np.arange(len(labels))width 0.25ax.bar(x - width, translations[:, 0], width,labelTx (m), color#2196F3)ax.bar(x, translations[:, 1], width,labelTy (m), color#4CAF50)ax.bar(x width, translations[:, 2], width,labelTz (m), color#FF9800)ax.set_xlabel(Joint Config Index)ax.set_ylabel(Translation (m))ax.set_title(End-Effector Translation Vectors)ax.set_xticks(x)ax.set_xticklabels(labels, rotation45, haright)ax.legend()ax.grid(True, alpha0.3)plt.tight_layout()path os.path.join(self.results_dir,01_translation_bar.png)plt.savefig(path, dpi150)plt.close()return pathdef plot_rotation_heatmaps(self, results, labels):2. Rotation sub-matrix heatmaps for ALL configsReturns list of saved pathssaved_paths []n len(results)# arrange in a grid: 2 rows, ceil(n/2) colsncols min(n, 3)nrows (n ncols - 1) // ncolsfig, axes plt.subplots(nrows, ncols,figsize(5 * ncols, 4 * nrows))if n 1:axes [axes]else:axes axes.flatten()for idx, (result, label) in enumerate(zip(results, labels)):ax axes[idx]R result.rotation_matrixim ax.imshow(R, cmapRdBu_r, vmin-1, vmax1)for i in range(3):for j in range(3):ax.text(j, i, f{R[i, j]:.2f},hacenter, vacenter,colorblack, fontsize9,fontweightbold)ax.set_title(fR ({label}))ax.set_xticks([0, 1, 2])ax.set_yticks([0, 1, 2])ax.set_xticklabels([X, Y, Z])ax.set_yticklabels([1, 2, 3])# hide unused subplotsfor idx in range(n, len(axes)):axes[idx].set_visible(False)# add colorbar to the right of the last visible subplotcbar_ax fig.add_axes([0.92, 0.15, 0.02, 0.7])fig.colorbar(im, caxcbar_ax)plt.suptitle(Rotation Sub-matrix Heatmaps (All Configs),fontsize14)plt.subplots_adjust(left0.05, right0.90,bottom0.05, top0.92,wspace0.3, hspace0.3)path os.path.join(self.results_dir,02_rotation_heatmaps_all.png)plt.savefig(path, dpi150)plt.close()saved_paths.append(path)return saved_pathsdef plot_orthogonality_check(self, results, labels):3. Orthogonality check dual chartfig, (ax1, ax2) plt.subplots(1, 2, figsize(12, 5))dets [r.det_r for r in results]ortho_errs [r.orthogonality_error for r in results]# Left: determinantcolors_det [green if abs(d - 1.0) ORTHO_TOL else redfor d in dets]ax1.bar(labels, dets, colorcolors_det, alpha0.7)ax1.axhline(y1.0, colorblack, linestyle--,linewidth1.5, labelIdeal 1.0)ax1.set_ylabel(det(R))ax1.set_title(Rotation Matrix Determinant (should approx 1.0))ax1.legend()ax1.grid(True, alpha0.3)# Right: orthogonality errorax2.bar(labels, ortho_errs, colorsteelblue, alpha0.7)ax2.axhline(yORTHO_TOL, colorred, linestyle--,linewidth1.5, labelfTolerance {ORTHO_TOL})ax2.set_ylabel(||R^T R - I||_F)ax2.set_title(Orthogonality Error (Frobenius Norm))ax2.legend()ax2.grid(True, alpha0.3)ax2.set_yscale(log)plt.tight_layout()path os.path.join(self.results_dir,03_orthogonality_check.png)plt.savefig(path, dpi150)plt.close()return pathdef plot_euler_angles(self, results, labels):4. Euler angles bar chartfig, ax plt.subplots(figsize(10, 5))yaws [r.yaw_deg for r in results]pitches [r.pitch_deg for r in results]rolls [r.roll_deg for r in results]x np.arange(len(labels))width 0.25ax.bar(x - width, yaws, width, labelYaw (deg),color#E91E63)ax.bar(x, pitches, width, labelPitch (deg),color#9C27B0)ax.bar(x width, rolls, width, labelRoll (deg),color#00BCD4)ax.set_xlabel(Joint Config Index)ax.set_ylabel(Angle (deg))ax.set_title(Euler Angles Decomposition (ZYX Order))ax.set_xticks(x)ax.set_xticklabels(labels, rotation45, haright)ax.legend()ax.grid(True, alpha0.3)plt.tight_layout()path os.path.join(self.results_dir,04_euler_angles.png)plt.savefig(path, dpi150)plt.close()return path5. 可視化要求序號(hào) 圖表文件 服務(wù)結(jié)論①01_translation_bar.png 各關(guān)節(jié)角配置下末端平移量對(duì)比直觀讀取X/Y/Z坐標(biāo)②02_rotation_heatmaps_all.png 所有配置的旋轉(zhuǎn)子矩陣熱力圖對(duì)比方向余弦分布③03_orthogonality_check.png 行列式與正交性誤差雙圖確認(rèn)數(shù)值合法性④04_euler_angles.png 歐拉角分解結(jié)果將旋轉(zhuǎn)矩陣翻譯為可讀的Yaw/Pitch/Roll6. README使用說(shuō)明 核心知識(shí)點(diǎn)卡片快速開始pip install -r requirements.txtpython -m pytest tests/test_transform_decompose.py -vpython run_transform_decompose.py數(shù)據(jù)格式說(shuō)明# 修改關(guān)節(jié)角配置編輯 run_transform_decompose.py 中 JOINT_CONFIGS# 修改臂長(zhǎng)編輯 RobotConfig.dh_params 中的 a 值# 修改正交性容差編輯 ORTHO_TOL 常量解析用1e-10積分用1e-6參數(shù) 修改位置 說(shuō)明L1臂長(zhǎng)dh_params[0].a mL2臂長(zhǎng)dh_params[1].a m關(guān)節(jié)角配置JOINT_CONFIGS列表 rad正交容差ORTHO_TOL 無(wú)單位知識(shí)點(diǎn)卡片齊次變換矩陣拆解對(duì)應(yīng)課本第2章2.3節(jié)- 塊結(jié)構(gòu)4×4矩陣左上3×3是旋轉(zhuǎn)子矩陣R右上3×1是平移向量T底行固定[0,0,0,1]- 平移提取直接讀T[0:3, 3]單位m即末端在基座標(biāo)系下的坐標(biāo)- 旋轉(zhuǎn)提取T[0:3, 0:3]每列是末端坐標(biāo)軸在基座標(biāo)系中的方向余弦- 正交性校驗(yàn)det(R)1且R?RI偏離則數(shù)值有誤浮點(diǎn)容差需按數(shù)值來(lái)源調(diào)整- 歐拉角ZYX分解Yawatan2(R21,R11)Pitchatan2(-R31,√(R112R212))Rollatan2(R32,R33)- 萬(wàn)向鎖Pitch≈±90°時(shí)Yaw/Roll退化需檢測(cè)并警告- 工程鐵律任何位姿矩陣在使用前必須經(jīng)過(guò)正交性校驗(yàn)否則下游控制會(huì)出錯(cuò)7. 總結(jié)與工程師思考工業(yè)落地難處一、數(shù)值積分漂移導(dǎo)致旋轉(zhuǎn)矩陣不正交。 在長(zhǎng)時(shí)間仿真中四元數(shù)→旋轉(zhuǎn)矩陣的轉(zhuǎn)換如果精度不足或連續(xù)乘法累積舍入誤差R的行列式會(huì)逐漸偏離1。離線仿真階段必須逐幀校驗(yàn)發(fā)現(xiàn)漂移超過(guò)閾值就做Gram-Schmidt正交化修正。正交容差需按數(shù)值來(lái)源選取解析計(jì)算用1e-10數(shù)值積分累積場(chǎng)景建議1e-6~1e-8。二、歐拉角萬(wàn)向鎖問(wèn)題。 當(dāng)Pitch±90°時(shí)Yaw和Roll退化為一個(gè)自由度atan2分解丟失一個(gè)旋轉(zhuǎn)信息。工業(yè)現(xiàn)場(chǎng)通常用四元數(shù)避免此問(wèn)題但上位機(jī)調(diào)試時(shí)仍需歐拉角做人工判讀——代碼必須檢測(cè)并警告。三、坐標(biāo)系約定不統(tǒng)一。 不同廠商的機(jī)器人控制器使用不同的歐拉角約定ZYX、XYZ、ZYZ等同一個(gè)旋轉(zhuǎn)矩陣用不同約定分解得到完全不同的角度值。離線仿真工具必須明確標(biāo)注使用的約定順序。工程師心得小趙看著終端輸出的逐元素解析報(bào)告Tx0.4532 m, Ty0.0871 m, Tz0.0000 m——和CAD里的標(biāo)注對(duì)上了。旋轉(zhuǎn)矩陣行列式1.000000000000正交性誤差2.3e-16完美。老鄭指著熱力圖你看R的第3列是[0,0,1]——末端Z軸和基座Z軸平行。注意theta3對(duì)本構(gòu)型末端位姿無(wú)影響因?yàn)閍30、d30、alpha30。正交性校驗(yàn)?zāi)菑垐D挺好用小趙說(shuō)而且你加了注入漂移的演示——det(R)飄到1.005校驗(yàn)立刻報(bào)[FAIL]。這下我知道工具真能報(bào)警了。對(duì)。校驗(yàn)工具必須過(guò)負(fù)例驗(yàn)證不然等于沒(méi)驗(yàn)證。下一篇該做帶關(guān)節(jié)限位的逆解了對(duì)。但那是下一篇的事了。8. 寫作與風(fēng)格限制本篇全部代碼為課程離線仿真運(yùn)行在普通PC上用于齊次變換矩陣解析驗(yàn)證。代碼中不包含任何真實(shí)機(jī)器人控制器實(shí)時(shí)運(yùn)算或安全邏輯。完全去營(yíng)銷中立客觀。拒絕論文式生硬開頭保持故事敘事感。全部物理量標(biāo)注完整單位。9. 文末附錄環(huán)境配置pip install numpy1.24.0 matplotlib3.7.0requirements.txtnumpy1.24.0matplotlib3.7.0運(yùn)行說(shuō)明cd transform_decomposepip install -r requirements.txtpython -m pytest tests/ -vpython run_transform_decompose.py參數(shù)修改指南想改什么 改哪里 示例L1臂長(zhǎng)dh_params[0].a 改0.25→0.30L2臂長(zhǎng)dh_params[1].a 改0.30→0.35關(guān)節(jié)角配置JOINT_CONFIGS利用AI解決實(shí)際問(wèn)題如果你覺(jué)得這個(gè)工具好用歡迎關(guān)注長(zhǎng)安牧笛
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
av影院十区| 大香蕉黄色一级片免费看| 日本 免费 一区二区三区 久久香蕉 | 国产一级做a爰大片免费久久| 中文字幕乱在线伦视频中文字幕乱码在线| 天天色天天干天天射| 欧美极度丰满熟妇hd| se吧提供国产乱老熟视频胖女人| 国产一区二区三区视频在线看| 夜嗨影院| 在线观看十八禁| av麻豆啪啪| 亚洲美女高潮喷水视频| 青娱乐老司机视频| 久久综合五月天| 操香逼| 亚洲男人天堂视频| 久热精品在线国产| 国产精品老师| 国产又大又粗又长视频在线| www男人天堂| 青娱乐二区免费| 51一区二区三区| 99这里有精品| 欧美色图小说综合| 国产精品人妻免费精品| 凹凸视频特色日本特黄| 884t在线| 亚洲男人的天堂va亚洲男人社| 国产精品毛片?v一区二区三区| 强免费黄色网址| 后入人妻一区| 亚洲资源站| 午夜福利在线合集| 亚洲s在线观看| 色香网| 国产亚洲精品一区二区三区| av中文在线| 国产美女口爆吞精| 思思热在线视频在线| 四虎影院成年人片| 亚州色图欧美| 日本一区二区三区午夜观看| 中文字幕91综合| 日本不卡免费二区| 人人操人人摸人人看人人干| 91肏屄网| 亚洲国产97| 成人免费不卡在线视频| 精品亚洲俞拍视频一区| 国产精品点击进入在线影院高清| 婷婷五月天成人网| 东方亚洲在线操逼天堂| 370p日韩欧美亚洲精品| 国产超碰在线一区| 国产精品分类在线观看| 国产伊人自拍| 亚洲欧美日韩激情不卡| 999岛国大片| 久久视频少妇美女| 一区不卡在线观看av| 天天色综合图片| 99热线麻豆 | 唯美清纯 妖精视频| 国产一区二区精品久久99| 色穴精品| 国产成人久久精品蜜臀| 在线观看十八禁| 91观看 国产白丝| 在线v中文字幕一区二区三区| 闷骚老熟女15P| 婷婷五月天激情四射| 大香蕉一区二区在线观看.| 怡红院视频在线| 干少妇视频| 丁香婷婷啪啪| 噜噜噜噜久久久精品免费| www成人啪啪18秘 免费| 啊啊啊啊啊舒服| 伊人久久在线视频观看| 国产久久一区二区| 色婷婷激一区二区三区| 国产熟码AV| 大香蕉免费乱伦视频| 激情图片伦理国产一区二区日韩| 超碰4A| 在线观看国产黄色| 舔人妻中文免费视频| 女人 A一级| 久久视频少妇美女| 久久精品店| 9999九九九久久久| 亚洲va有码在线天堂| 日韩中文字幕熟妇人妻| 成人av影院在线观看| 欧美性暴力猛交XXXX| 国产精品露脸在线观看| 377p欧洲日本亚洲大胆| 亚洲美乱| 国产精品懂色tv影视免费观看| 欧亚洲精品有视频| 欧州一区二区三区四区| 欧美一区二区情色| 亚洲?V无码专区在线电影| 国产精品亚洲四五区在线观看| 五月亭亭六月丁香| 美女主播色欲91抠b在线播放| 亚洲国产精品成人综合| 好爽免费视频,| 国产精品无码论坛| 久久99干一本高清| 久久久精品国产亚洲伊人| 91综合在线| 久久久久久久久久久久久9999| 深夜激情| 日韩pv中文| 17c嫩草51久久91嫩草| 一区 欧美 日韩 麻豆| 亚洲色图尤物视频| 自拍第一页| 亚洲五月天激情| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 色久综合| 国产综合日韩伦理| 97爱啪| 性一交一乱一交A片久久四色| 欧美成人精品一区| 久久精品亚洲东京热色播| 无码一区免费在线不卡| 9999九九九久久久| 狂操嫩妻视频一区二区三区| 久久久久亚洲AV无码专区少妇| 欧美激情久久久久| 日日夜夜天天| 波多野42部无码喷潮在线观看| 久久久久久中文| 日韩三级一区 | 久久久久婷婷精品av电影| 久操大香蕉| 久久超碰97| 天天色悠悠激情| 蜜桃臀一区二区三区久久| 亚洲五月婷婷| 麻豆天美久久91| 久久久久久久国产视频| 这里都是精品| 丝袜美腿射精91| 五月激情小说| 国产成人手机视频激情| 99re99在线视频| 99在线视频播放| 思思热免费视频观看| 国产精品熟女一区二区三区| 超碰97久久国| 91色噜噜狠狠| 亚洲无套久久嗯嗯| 日韩免费看黄片| 亚洲学生妹高清av| 欧美大的香蕉有线电视视频 | 欧美激情总合网| 91c色| 欧美97爱| 欧美97se| 激情四射五月天| av中文字幕在线熟女| 校园春色美腿丝袜 | 91白虎| 96精品在线| 人人妻人射| 日产操逼| 在线二区不卡| 欧洲色综合| 日本男人插女人的逼黄色| 在线 制服丝袜中出 人妻| 污污汅18禁网站在线永久免费观看 | 精品人妻夜夜草| 日韩Va亚洲va欧美Ⅴa久久| AV女资源| 欧美亚洲美少妇一区二区| 日韩人妻资源在线看| 久久久久国产精品喷潮免费观看臀 | 久久专区| 亚洲欲色| 久久亚洲天堂| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 成人一道本免费视频| 久久久91| 免费视频一二三区| 99夜夜操| 精品无码少妇| 超碰地址久久| 性色A∨91| 精久久久| 中文字幕第95页| 午夜毛片高清免费不卡| 日本A级视频| 天天影视网综合少妇| 九九热AV| 五月丁香啪啪网| 日本人人操人人操| 婷婷AV一区二区三区| 一区操逼| 偷拍亚洲熟女视频播放| 曰韩中文人妻视频| 亚洲无线观看久久| 测评在线观看AV| 三级网站超变态精品| 狠狠色色| 色情综合网| 99无码视频| 国产高清成人传媒影视| 久久免费精品视频免一| 日韩中文字幕在线视频观看| 大香网站| 九九色影院| 免费看日本操逼视频| 青草av在线| 亚洲日韩精品在线播放| 五月综合视频| 亚洲图片欧美日韩| 日本一天色道久久久精品视频| 蜜臀AV成人精品蜜臀AV久久| 欧美夜色| 人妻色情天天操| 超碰九九| www男人天堂| 人人澡人人澡人人| 抽插一区二区视频| 久久国产乱子伦精品免费女,网站| 色av中文字| 啊啊啊啊啊啊在线看| 久久一二三级一一一| 美女91在线观看| 精品中文日韩字幕视频| 国产91丝袜在线播放蜜月| 九九九九九九免费视频| 色综合91好| 天天干人人看综合| 无码高清少妇久久| 思思热免费视频观看| 色五月首页| 麻豆蜜桃视频在线观看| 婷婷五月天久久精品视频一区二区三区| 丝袜美腿诱惑亚洲欧美视频在线观看| 99热在线不卡| 欧美一区二区三区成人性生活| 亚洲91综合| 熟女少妇一区二区三区| 日韩成人高清一区二区| 成人八戒网站| 97精品国产97久久久| 国产精品欧美激在线| 日本成人免费一区二区三区| 久久精品国产97欧美精品亚洲| 视频二区美腿丝袜制服人妻欧美| 伊人五月天| 综合自拍| 麻豆福利视频导航| 国产又长又大又粗的视频| 天美传媒麻豆一区二区三区国产精| 992视频一区| 1000部熟女视频在线观看| 欧美黄片免费在线观看视频| www色婷婷| 歐美一級亂黃99在綫精品| 国产精品不卡一区二区三区| 欧美丝袜中文字幕07在线| 91精品国产91久久青草| 国产一级黄色片在线观看| 精品精品精品| 91丝袜美女| chaopen97久久| 亚洲一区中文精品| 97综合在线| 91九九九逼| 天天综合青苹果| 免费啪啪av| 日产狠狠干| 91老熟女老女人国产老太| 丁香五月天堂| 五月丁香综合| 丁香婷婷激情五月天无毒不卡 | 久久久久久久久久久免费精品| 性色av网站| 91女网站| 国产精品久久久久久久久久久久久久吹 | 好湿好紧好爽 视频| 国产诱惑| 2017人人操,人人摸| 五月婷婷综合在线| 中文字幕无码不卡啪啪| 日韩免费福利在线观看| 亚洲人妻一区二区三区| 日韩天天综合| 2021国产成人精品久久| 激情综合五月| 蜜桃臀久久| 免费日韩黄片| 99re视频在线观看这里只有精品| 国产精品3| 91露脸熟女专区| 久久久久久中文字幕中文字幕最新| 日韩av情韩国爱禁区av一区二区| 岛国黄片网站| 97免费在线视频在线观看| 亚洲欧美天| 人人操人人搞人人草| 超碰在线974| 欧美天天综合网版| 日本午夜精品理论片A级APP发布| 亚爽爽爽爽爽爽爽爽| 欧美极品美女aaaaaa级黄片| 久久一二三四五六七八九区区区| 久久久久久九九九九九九| 第四色奇米影视777| 久久极品一区二区| 啊啊啊草死我| julia高潮后不停追击中出| 久超碰这里只有精品| 久久av一级av少妇av高潮 | 色偷偷超碰亚洲| 精品久久无码午夜福利| 久久精品72| 韩国免费播放一级毛片| 宅男91视频在线播放| 日韩无码一区二区三区| 亚洲国产精品久久久久久久久久| 亚洲综合色图欧美| 日韩免费性爱视频在线观看| 老熟女天天操| 久99| 天啪| 丝袜内射| 国产又色又粗又黄又爽| 日日夜夜国产综合| 高清无码一区二区三区| 丰满精品人妻少妇久久字幕| 日本操逼二区| 日韩三级性| 欧美人妻精品一区二区| 人妻社区男人天堂| 亚洲色系另类精品国产| 粉嫩久久久久| 精品国产乱码久久久久久口爆网站| 嗯嗯啊啊啊啊轻点视频| 国产亚州精品美女久久久免费| 久久禁| 久久老子无码午夜伦不卡| 性生活性生大爱77AV国产| 中字乱伦AV| 久久成人东京热人妻| 97操操| 免费操逼91| 91欧美长吊| 99re国产精品视频| 伊人四虎综合| 五月婷婷六月色| 欧美中出| 欧美亚洲se91| 偷看洗澡一二三区美女| 大香蕉中文网| 在线女人91| 岛国激情视频软件| 亚洲图片偷拍欧美| 天堂九九九九九九九九九| 亚洲性爱成人| 人妻素股| 欧美日不卡| 香蕉黄色一级视频| av橘色网站| 黄色AV影视| A片A5445444| 玖玖超碰熟| 五月丁香婷婷综合| 91一区二区三区蜜桃| 91综合国产精品| 翔田千里爆乳巨臀无码| 色就色综合| 欧美第一页| 99综合网| 69一区二区| 欧美韩国你懂得在线 | 东北操逼| 日本不卡一区二区| 丝袜av一区二区三区| a片在线播放| 97超碰亚洲| 欧美特大黄一级片片免费| 中文字幕免费在线观看| 国产亚洲 中文欧美久久| 三级色综合| 91狠狠综合久久| 亚洲综合影视| 大香蕉丝袜一级片| 欧美福利视频啊啊啊啊| 人妻丰满熟妇av无码区蜜桃| 久久精品视频28| 久久久久国产无av| 中文字幕日韩精品久久| 97国产精品一区| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚 | 亚洲色图殴美色图激情乱伦| 激情小说在线视频| 怡红院亚洲怡春院av| 蜜臀精品1区2区| 蜜桃av综合网发布| 大香蕉乱级| 青青草久草| 91视频综合在线| 精品大久久| 立川理惠无码一区二区| 国产一区二区三区免费视频在性观看| 9118禁| 亚洲少妇激情一区二区三区| 亚洲自拍另类丝袜综合| 98一区二区精品| 日本欧美亚洲高清在线看| 蜜臀久久99精品久久久久久-DVD| 狠狠干妹子| 中文字幕日韩精品一区二区三区| 嗯嗯啊操我| 五月天玖玖资源站| 香蕉视频精品亚洲一区二区三区在线播| 日本孕妇孕交| 操学生天天| 国产在线76页| 一区二区娱乐网站| 九色在线熟女国产黑人| 亚欧日韩成人| 欧洲欧美视频一区二区| 国产毛片毛片4p懂色| 亚洲情色 自拍| 亚洲欧美综合网站| 蜜臀aV午夜一区二区三区| 91夜夜蜜桃臀1区2区3区| 国产欧美伊人| 亚洲少妇色| 久久久五月天| 麻豆国产尤物AV| www.色操逼| 午夜寂寞欧美| 亚洲第2页| 国产亚洲日韩在线三区黑人| 三级特黄60分钟播放| 18禁止看精品中文字幕| 97在线免费视频| 天堂成人网| 亚洲高清色综合| 中文字幕一区二区无码成人| 欧美高潮在线| 久久伦理视频久久大香蕉视频| 日韩精品.久久精品.AV女优.天美传媒| 在线国产一区二区av| 亚洲va有码在线天堂| 囯戸精品高潮呻吟旡码| 影视综合无码少妇| 国产绿奴视频在线观看| 八戒无码国产午夜福利| 国产精品视频自拍在线| 国产东北女人在线视频| 中文字幕精品日韩中文字幕| 手机在线视频国内精品| 亚洲免费人妻在| 欧洲亚洲人妻无码久久三区四区| 夜夜春夜夜操| 又黑又大又粗| 99久久久99久久91熟女| 性色一线| 春色校园综合网| 开心六月色| 欧美在线伊人色| 色婷五月天| ′ !γ}丶。。久久精品欧美一区二区三区| 婷婷五月天AV| 九色 人妻 大香蕉| 久久综合日韩亚洲欧美| 久草精品国产蜜臀 | 女人的天堂大香蕉网| 午夜天堂网| yazhousetuoumei| 欧美72网页| 色婷婷淫色网| 综合大香蕉美。| 青青草在线视频播放器| 97亚洲精品超碰| 日本操逼aaaaa| 精品日韩中文在线| 久久久工口| 久久久性少妇| 亚欧无码在线| 日本精品五区| 欧美色图99| 六月丁香网| 加勒比东京热五月天天堂网| 91观看 国产白丝| 很黄很色的视频在线观看| 久久 亚洲 日韩 人妻| 韩国免费播放一级毛片| 超碰在线1234区| 97精品一区二区视频在线观看| 美女诱惑久久| 乱性AV| 精品亚洲国产成人精品| 色五月婷婷久久| 天天天肏屄欧美| 国产精品一级二级在线| 天天看片青娱乐| 国产亚洲色停停久久99精品91| 日韩色| 色五月网址| 校园春色欧美色图| 丰满欧美放荡少妇在线| 久久日韩肥臀| 色女综合| 欧美性爱第一区| 欧美亚男人的天堂| 久久黄色性爱视频| 亚洲欧美综合图片| 日本人妻一区二区| 亚洲性爱无码乱伦av| 国产精品探花视频| 欧美色亚洲色| 九一综合精品视品av| 国产区91柔拿会所技师| 手机在线大香蕉| 精品然女一区二区| 中文字幕在线免费观看视频| 久久精品国产亚洲5555| 久久久九| 国产精品经典一卡久久久| 日本高清_区二区三区| 日本大香蕉综合网红本杳社区| 久久超碰亚洲人| 婷婷五月天小说| 日本1区2区不卡视频| 丝袜美腿丝袜| 中文字幕人妻色偷偷久久皮 | 亚洲av淫乱| 偷拍欧美激情| 一本大道不卡一二三区| 黄片免费日韩| 天天做日日做天天欢。| 在线天堂999| 超碰97综合在线| 午夜理论片在线观看免费| 亚洲最大的黄色电影网站。| 亚洲精品久久久久久| 九九精品99| 久久天天摸| 操一对老熟妇爽上天视频| 成人aⅴ一区二区三区| 91色图片| 综合网天天| 亚洲砖码砖专无区2023| 天天射影院| 日本网色| 八戒午夜福利理论片| 午夜毛片高清免费不卡| 国产av白丝| 白嫩国模丰满一二三区| 欧美亚州手机在线| 久草成人福利导航| 91精品操美女| 国产精品一区午夜福利| 天美国产精品| 97天天| 日日碰狠狠添天天爽超| 色网综合网| 影音先锋少妇| 啊啊啊好大好湿| 91大神精品长腿在线观看网站| 亚洲 日韩 欧美 国产综合体| 熟妇一区,二区,三区。| 熟女人妻一区二区三区| 大屁股国产在线视频| 秋霞成人一级在线观看| 330Dv国产女人终合视频极品人与兽| 伊人热综合| 视频在线观看一二三区| 国产精品久久| 99re6久热只有精品6在线直播| 成人精品视频| 亚洲天堂7777| 俺去俺来也在线www| jiujiujiujingpin| 一区二区三区成人高清视频| 欧美成人国产精品| 国产1769在线| 熟女久久久| 亚洲欧美中文一区二区三| 啊啊啊不要嗯嗯在线观看| 欧美综合娱乐久久| 欧洲精品网| 奇米狠999| 69丨亚洲丨精品丨入口免费播放| 青青操综合网| 亚洲污污网站| 怡红院一区二区熟女人妻| 国产精品人妻熟女aⅴ| 欧 美 自 拍 偷 拍| 人妻在线大香蕉| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 欧亚不卡| 在线无码网站| 中文字幕在线第二页| 国产97色在线| 思思久热在线精品66| 成人老鸭窝人人在线视频| 久久久久久亚洲Av无码| 欧美性天天影院| 天天日天天干天天整| 精品人妻av区天天看片| 91女网站| 97在线观看播放视频| 黄站在线免费观看| 久久精品一区二区三区不卡| 亚洲精品久久久久毛片A片拉屎| 日本一二区免费| 激情五月天中文字幕色| 日韩三级网址| 色色色欧美| 九九精品网| 97WW精品| 国产日产精品久久快鸭的功能介绍| 国内一区二区三区| 91无码中出人妻视频| a'v在线资源| 一区二区 电影 亚洲| 另类 日韩 熟女| 国产精品一区二区三区在线| 天堂日本亚洲欧美| 思思在线免费视频| 亚洲美女av无码| 91超碰碰在线| 亚洲男人天堂Av| 无套内射人妻在线播放| 麻豆av一区二区| 久久久久久91香蕉国产| 国产精品国产拍高清AV| 伦激情人妻另类人妻| 亚洲色欧| 二对二中文字幕。| 国产在线精品偷| 久久亚洲一区二区色婷婷| 色老汉色| 天堂种子在线www网资源| 极品销魂美女一区二区 | 中文字幕乱妇免费视频| 色综合一区二区三巨| 天天做日日做| 亚州欧美色图| 国产熟女自拍| 中出789在线视频| a网站免费观看| 亚洲国产av中文字幕久久| 肥佬影院91| 啊啊啊啊啊好舒服视频| 无码91| 在线强奷到舒服的无码视频| 操国产高清| 热久久无毒不卡| av大香蕉网站| 日日夜夜干| 国产精品视频自拍在线| 美女啊啊啊啊啊| 伊人在线大香蕉视频久久| 九久久九精品视频| 久久五月视频| 午夜福利免费福利视频| 一级性爱视频免费观看 | 五月婷婷综合激情| 四虎影视永久在线免费| 亚洲天天在线| 96国产精品| 久久精品视| 欧美亚洲丝袜美女电影| 九九九九久久久| av日韩在线观看电影| 国产精品久久久亚洲第一牛牛_在线观看 | 台湾成人无码AV| 亚洲综合影院| 日骚逼视频| 哑洲在线| 中文字幕精品亚洲熟女| 久久婷婷亚洲欧| 中文字幕加勒比海高清无码免费视频| 五月婷婷六月色| 中日高清无码操逼视频| α√在线| 操逼逼中文字幕| 波多野结衣被操50分钟免费视频 | 欧美操人| 717影院理论午夜伦八戒| 影音先锋视频在线| 在线色导航| 久久久久久久久久9| 亚洲熟女一区二区| 先锋音影AV| 久久天天躁日日躁狠狠躁 | 日韩综合无码一区久久92| 日韩精品人妻一区二区| nuu12国产麻豆精品| 啊啊啊啊嗯嗯嗯用力好爽| 色99视频| 95人妻爽爽人人做人人澡| 在线看免费无码AV天堂的| 一区二区三区精品久久| AV无码久久久精品| 人人摸人人摸人人干| 天天操夜夜操狠很操| 大黄片做爱的大的| 国产Aα| 日本东京热加勒比久久| 熟女精品va中文字幕| 日韩无码a片| www.av在线视频| 奇米四色影视777久久久| 亚洲国产欧美另类自拍| 巨爆乳一区二区爆乳区| 欧美日韩色综合网| 一区操逼| 久9爱精品| 内射夫妻三片| 偷拍三区| 天天操天天射天天日| 欧美91视频| 日本东京热久久久电影| 强奸抽插av| 十八禁视频一区二区| 你懂的在线观看区国产| 九月丁香婷婷色| 亚洲高清无码在线桃色| wwwcaobibi| 操逼逼福利视频| 综合欧美日本三级| 亚洲中文字幕网| 五月天色图影视| 91久精品| 少妇三P| 日本中文字幕一区| 亚洲色图 图片| 综合天天。| 东北女人高潮视频| 风月影院十八禁| 久久久久久亚洲Av无码精| 久久久久久久伊人精品| 特级丰满少妇一级AAAA爱毛片| 精品视频一区二区| 一本一道波多野毛片中文在线| 最近2019中文字幕国语免费版 | 熟妇熟女亚洲天堂网| 日本一区二区三区精品| 神马久久69| 亚洲精品九九九九九九| 美女裸体无遮挡永久免费观看网站| 久久 亚洲 日韩 人妻| 欧美中字不卡| julia国产在线 | 超碰99热中文字幕| 999熟女精品| 又大又大又大又粗爽高潮观看| 18禁在线视频| 青青操狠狠撩| 亚洲天天艹| 亚洲综合图色在线| 久久大香蕉97| 十八禁黄色| ji熟女.com| 久久99视频| 亚洲美女30b| 91模特在线观看| 熟女乱3伦999| 国产AV高清AV无码| 国产综合久久久鬼色| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 亚洲色图91欧美日韩| 综合久欧洲| 精产品久久| 欧美18老人禁| 超碰成人免费| 熟女高潮合集-永久久久-成人AV| 天天干人人乐| 欧美日韩日产免费网站看| 亚洲性综合9| 国产精彩女在线观看视频| 最新制服中文第一页| 国产一区二区免费福利片| 久久 国产精品 一区| 亚洲天堂第一页| 一本色道久久综合精品婷婷| 国产 热久久久久国产精品| 伊色综合天堂色97| 操死我了嗯嗯嗯| 色图综合| 久草福利在线资源站| 国产一区二区三区不卡手机在线| 欧美综合天堂| 欧美顶级黄色大片免费| 狠狠干,狠狠操| 综合激情一一91| 亚洲无码视频免费在线观看网址!| 图片区小说区| 亚洲91网。| 亚洲色交| 成人三级片无码| 国产馆极品诱惑| 99re28在线观看| 久久亚洲AV无码专区国产精品| 天天综合AV| 婷婷20月天青娱乐| 精品亚洲国产成人精品| 色女综合| 亚洲乱码精品一区二区| 免费精品99| com 首页 18岁 禁区 女优 免费 精选 同城 | 四虎国产精品永久在线囯在线 | 97操B| 激情啪啪拍91| 五月开心久久AV官网| 欧美巨大性舒爽顶到了| 九九热视频在线观看| 久久色AV线| 隔壁邻居波多野结衣中文字幕| 大香蕉中文aV在线| 国产色图乱伦| 日韩乱码Av| 欧美超碰在线| 五月综合激情| 亚洲综合伊人无码久久| 欧美日韩成人| 9久9久9久9久视频网站| 日韩一级片在线看| 无卡一区=区| 亚洲 欧美日韩 另类| 欧美综合网1| 在线国产福利网址导航| 91美女在线看| 乱伦1色页| 日本男人插女人的逼黄色| 国产丝袜欧美在线视频| 97人人中文网| 午夜男女爽爽爽影院视频| 99精品丰满人妻无| 欧美色女人| 欧美制服另类丝袜| 亚欧美色| 欧美黑人XXXⅩ高潮交| 日韩综合97p| 亚洲男人bt天堂| 青青青青青手机视频| 人妻激情另类| 欧美99999| 成人AV素股で擦久久| 色网站导航大全| 中文字幕乱碼在线| 肏逼福利网站| 69精品人人人人| 一级成人性爱| av东京热男人的天堂| 亚洲成a人在线观看久| 啊啊啊啊啊啊啊网址在线观看| 色综合av男人天堂| 精品乱码久久久久| 91九色蝌蚪在线观看| 风骚少妇视频中文字幕| 伊人久久艹| 91欧美综合| 九九九九九九亚洲| αⅴ天堂| 久久久天美| 少妇高潮对白在线观看| 老熟女综合网| 精品少妇后入一区二区三区四区人妻巨乳| 不卡av免费在线网址| 久久綜合很很很| 人妻少妇被猛烈进入中| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 人人摸人人叼| 91 偷| 91久久精品蜜臀| 久久伊人亚洲AV无码网站| 精品人妻一区春色| 91综合在线| 蜜臀久久99精品久久久电影| 九九久久国产精品| AA特级绝黄| 日韩欧美女求操每天更新| 大香蕉AV丝袜| 殴美在线AⅤ| 骚货 中文字幕 av| 亚洲午夜免费狠狠干| 中文字幕五月婷婷免费| 997色在线| 乱伦熟女区| 久久永久无码人妻视频| 久久久久密臀视频| 欧美日韩操逼嗦吊| 99精品综合久久久久五月天| 九九九九久久久| 国产无码高清操逼视频| 国产后入清纯| 粉嫩在线一区二区懂色| 午夜精品久久99蜜桃的功能章节| 电影69乱码96| 岛国黄色大片网站| 超碰97人人乐| 国产四虎在线| 欧美熟女操屄| 日韩一级性爱无码| 9997se| 强奸少妇AV导航网| 亚洲国产欧美中日韩成人综合视频| 欧美中文综合| 久久精品99| 久久一区无码| 日本性爱少妇| 日韩一区二区精彩视频| 亚洲精品97p| 色五月69夫妻| 婷婷五月天社区| 精品中文字幕一区二区| 91激情| 老色鬼成人精品视频下载大在线观看| 人人爽天天爽| 久久HD| 岛国免费黄色网址| 蜜臀久久99精品久久久久电影| 欧美狠狠弄| 色欲天天综合网| 乱欲一区二区| 永久电影三级在线观看| 久久精品成人| 1024手机看片欧美日韩| 综合久草| 欧美在线视频99| 影音先锋视频在线| 风月影院十八禁| 天天综合网~91| 国产乱码精品久久久久久| a一区二区三区乱码在线| 欧美色999| 加勒比无码毛片| 国产精品久久久久999| 天天干天天日天天射黄色大片| 曰韩av中文字幕专区| 日本视频在线观看污污污| 四虎国产精品永久在线囯在线| 台湾佬中文娱乐网久久久久久久久久com| 精品久久久久,69国产成人精| 91操人| 干干干天天| 午夜福利一区二区影院| 999综合网| 精人妻一区二区三区| 色踪合AV| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 97色诱| ′ !γ}丶。。久久精品欧美一区二区三区| 国产 无码 一区二区| 免费av在线播放二区| 丝袜美腿av女优在线| 亚洲性高潮| 久久精品人妻一区二区三区| 中文字幕亚洲欧美在线不卡| 亚洲色偷偷色噜噜狠狠99网| 男女一级A片大黄,一进一出| 日韩欧美午夜一区二区| 视频国产欧美在线播放| 亚洲在饯| 99re98| 国产suv一区二区三区6| 在线小说视频一区| 久啪| 亚洲第一色页夜| 大香蕉综合久久| 91网亚洲| 裸体美女国产免费久久久网站| 熟女突然公开看18禁影片| 日操粉逼逼| 亚洲欧美日韩精品久久久一区二区 | 美女久久久久久久久久久| 蜜臀99久久精品久久久久久| 亚洲双插| 色色九区| 97超碰9| 屁股久久久久久| 天天做天天爱| 天天拍夜夜| 亚洲另类色综合网站| 人妻 欧美亚洲| 加勒比色99999| 亚洲第一视频 欧美风情 日韩| 一卡二卡三卡| 超碰人人干天天射| 国产精选视频| 97精品久久| 亚洲一区二区在线观看91| 亚洲一二三四区| 亚洲精品97| 尤物网站91| 69av一区二区三区| 脫衣舞一区二区三区| 51国产午夜精品视频| 欧美性爱日韩高清| 日韩中文字幕精品一区在线| 高清成年美女黄网站免费大全| 亚洲成人无码影院| 福利色色| 天天爱天天韩国日本牛牛牛牛| 六月丁香啪啪啪| 91人人看| 欧美日韩国产电影| 9精品久久| 职场同事知名国产国产精品久久欧美日韩 | 欧洲久久一二线| 亚洲春色欧美激情自拍| 午夜操逼不卡| 日本在线视频导航| 天天日天天色| 校园春色综合色| 亚洲色丰满少妇高潮| 久久久久久裸体| 日韩色| 中文字幕精品免费一区二区| 巨爆乳一区二区爆乳区| 日本性爱少妇| 精品久久青青草| 精品国产99| 欧美骚少妇| 天堂综合网| 亚洲一区中文精品| 欧美日韩岛国大片在线观看| 日日夜夜狠狠| 国产91精品久久久久久久网曝门| 日影院久久婷婷夜夜网| 欧美亚洲韩国视频十五区| 91日韩国产欧美亚洲另类精盘州至城都| 69超碰综合| julia中文字幕在线观看| 欧美肥臀在线| 另类天堂| 欧美性爱无码一区二区三区| 99久久网站| 欧美AB在线观看| 99热免费精品| 久久精品女同亚洲女同13| 日本男人天堂| 日韩中文字幕人妻视频| 亚洲各类熟们中文字幕| 三上制服丝AV| 91欧洲入口| 男人女人18禁片免费看网站| 国产成人免费观看在线视频| 老鸭窝亚洲毛片| 伊人亚洲综合| 淫淫综合网| 亚瑟国产精品久久无码| 97最新在线播放视频| 亚洲色性情三级| 久久有码视频| 激情小说图片亚洲首页| 最新啪啪视频| 中文字幕片| 色香网| 日韩熟女乱伦中出| 国产乱伦一二三区| 亚洲色图国产另类| 久久久555| 100啪啪视频大全| 久久综合99| 嗯嗯,好大,好爽,好骚| 欧美综合天堂| 韩日性爱av| 骚乳在线| 超碰97综合网| 国产51色综合久久免费| 免费观看有码高清视频| 久久噜噜噜精品国产亚洲综合| 亲子敌伦对白在线播放| 99久久综合网| 久久久久元码视频| 啪啪啪综合| 日韩无码黄色片| 欧美在线伊人色| 亚洲欧美91√| 97色色色| 免费操逼视频下载| 久久熟妇五十路一区| 色香av| 久久精品国产免费观看99| 午夜啊啊啊| 国产一线二线三线av| 国产精品久久天天干| 欧美色三级片91| 九九九九一区| 亚洲欧美日韩精品久| 裸模AV女优| 天天草天天日| 天天爱天天操| 四虎影视国产精品| 视频黄色国产一级| 亚洲视频一二区| 亚洲精品久久久久毛片A片拉屎| 可以免费观看的av| 色哟哟精品1精品2| 天天做日日做天天欢。| 330Dv国产女人终合视频极品人与兽 | 国产 v乱码一区二| 亚洲和欧美裸体美女双飞视频| 五月天我淫我色av| 在线观看十八禁| 97天天日| 九月婷婷综合| 精品无码产区一区二| 国产精品亚洲高清在线| 97色妞| 久热精品在线国产| 色五月天AV| 26UUU欧美日本| 国产精品视频精品一二| 日日干夜夜欢| 日韩AV无码中文一区二区| 熟妇人妻一区二区三在线| 97操97色| 伊人大香蕉在线| 三久久久四久久久久| 丁香五月综合| 亚洲 欧美 日本 国内 首页| 伊人久久大香大香线蕉中文| 91精品人妻啪啪间| 国产亚洲日本精品在线| 91男同| 国产免费操逼| 加勒比AV天堂| 亚洲无码AV九九九| 中文字幕伊人| 国产一区二区三区精品观看啪| 亚洲黄色网址| 亚一综合久久久久久久久久| 亚洲一区二区 麻豆传媒| 97精品熟女少妇一区| 人妻少妇精品久久久| 色综合久久88色综合久久天天| 麻豆AV96熟妇人妻| 久久 国产 无码| 久久国产精品91| 强奸乱伦AV一天堂网| 91色黑人少妇| 看免费的黄片| 青青欧洲黑| 秋霞蝌科网日本一区| 密臀成人视频久久久| 欧美日韩第一页| 欧美双插| 一区二区三区网站日日骚| 最新av中文字幕高清| AND人妻系列| 亚洲伊人a线观看视频| 亚洲资源网| 亚洲成人免费在线|