udlr/
udlr.rs

1// 上下左右示例
2//
3// 机械臂先进入到开始为之后,开始前后左右上下,旋转等动作
4// 最后回到零位置
5//
6
7use realman::{traits::MotionTrait, ArmType, Realman, TrajectoryConnect};
8
9fn main() {
10    let realman = Realman::default();
11
12    if let Ok(mut socket) = realman.connect() {
13        // 进入到开始位置
14        socket
15            .movej(
16                ArmType::Gen72([0, -60000, 0, -60000, 0, 0, 0]),
17                50,
18                0,
19                TrajectoryConnect::Now,
20            )
21            .ok();
22        // 前后
23        socket
24            .set_pos_step(realman::StepType::XStep, 80000, 30)
25            .ok();
26        socket
27            .set_pos_step(realman::StepType::XStep, -80000, 30)
28            .ok();
29        // 左右
30        socket
31            .set_pos_step(realman::StepType::YStep, 50000, 30)
32            .ok();
33        socket
34            .set_pos_step(realman::StepType::YStep, -50000, 30)
35            .ok();
36        // 上下
37        socket
38            .set_pos_step(realman::StepType::ZStep, 30000, 30)
39            .ok();
40        socket
41            .set_pos_step(realman::StepType::ZStep, -30000, 30)
42            .ok();
43
44        // X轴旋转
45        socket
46            .set_ort_step(realman::RStepType::RXStep, -500, 30)
47            .ok();
48        socket
49            .set_ort_step(realman::RStepType::RXStep, 500, 30)
50            .ok();
51        // Y轴旋转
52        socket
53            .set_ort_step(realman::RStepType::RYStep, -500, 30)
54            .ok();
55        socket
56            .set_ort_step(realman::RStepType::RYStep, 500, 30)
57            .ok();
58        // Z轴旋转
59        socket
60            .set_ort_step(realman::RStepType::RZStep, -500, 30)
61            .ok();
62        socket
63            .set_ort_step(realman::RStepType::RZStep, 500, 30)
64            .ok();
65
66        // 回到零位
67        socket
68            .movej(ArmType::Gen72([0; 7]), 50, 0, TrajectoryConnect::Now)
69            .ok();
70    }
71}