from roboticstoolbox import *
from spatialmath import *
from math import pi
import numpy as np

DFbot = DHRobot(
    [
        RevoluteDH(d=0.04145, alpha=np.pi/2, qlim=np.array([pi, pi])),
        RevoluteDH(a=-0.08285, qlim=np.array([-pi, pi])),
        RevoluteDH(a=-0.08285,  qlim=np.array([-pi, pi])),
        RevoluteDH(alpha=-pi, qlim=np.array([-pi, pi])),
        RevoluteDH(d=0.11, qlim=np.array([-pi, 3/2 * pi])),
    ],
    name = "DFbot"
)

print(DFbot)
# 绘制并保持窗口
DFbot.plot(np.array([0, pi/3, 0, 0, 0]))

在vscode运行,一闪而过,不显示。

修改DFbot.plot(block=True),控制Matplotlib 的窗口阻塞行为

from roboticstoolbox import *
from spatialmath import *
from math import pi
import numpy as np

DFbot = DHRobot(
    [
        RevoluteDH(d=0.04145, alpha=np.pi/2, qlim=np.array([pi, pi])),
        RevoluteDH(a=-0.08285, qlim=np.array([-pi, pi])),
        RevoluteDH(a=-0.08285,  qlim=np.array([-pi, pi])),
        RevoluteDH(alpha=-pi, qlim=np.array([-pi, pi])),
        RevoluteDH(d=0.11, qlim=np.array([-pi, 3/2 * pi])),
    ],
    name = "DFbot"
)

print(DFbot)
# 绘制并保持窗口
# 阻塞程序
DFbot.plot(np.array([0, pi/3, -pi*2/3, 0, 0]),block=True) 
DHRobot: DFbot, 5 joints (RRRRR), dynamics, standard DH parameters
┌─────┬─────────┬──────────┬─────────┬─────────┬────────┐
│ θⱼ  │   dⱼ    │    aⱼ    │   ⍺ⱼ    │   q⁻    │   q⁺   │
├─────┼─────────┼──────────┼─────────┼─────────┼────────┤
│  q1 │ 0.04145 │        0 │   90.0° │  180.0° │ 180.0° │
│  q2 │       0 │ -0.08285 │    0.0° │ -180.0° │ 180.0° │
│  q3 │       0 │ -0.08285 │    0.0° │ -180.0° │ 180.0° │
│  q4 │       0 │        0 │ -180.0° │ -180.0° │ 180.0° │
│  q5 │    0.11 │        0 │    0.0° │ -180.0° │ 270.0° │
└─────┴─────────┴──────────┴─────────┴─────────┴────────┘

┌──┬──┐
└──┴──┘

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐