ros moveit官方地址
Move Group Python Interface — moveit_tutorials Noetic documentation
moveit中新建规划运动组
arm_group = moveit_commander.MoveGroupCommander(group_name)
查询机器人中所有组的名字——信息类函数
group_names = robot.get_group_names()
利用moveit中执行自己规划的轨迹
from moveit_msgs.msg import RobotTrajectory
from trajectory_msgs.msg import JointTrajectory,JointTrajectoryPoint
......
#以7自由度的机械臂为例
seq_joint_positions = [[-2.0825e-01, -1.5438e+00, -2.3856e-02, 9.1554e-04, -2.8599e-05, -7.5375e-03, 2.5750e-02],
[-1.9367e-01, -1.5219e+00, -6.1151e-02, 4.8303e-03, -1.4395e-02,
1.2926e-02, 5.4882e-02],
[-1.7771e-01, -1.4918e+00, -9.8924e-02, 9.4463e-04, -2.8601e-02,
2.5999e-02, 8.2690e-02],
[-1.6144e-01, -1.4598e+00, -1.3877e-01, -9.4714e-03, -4.1162e-02,
3.6527e-02, 1.0999e-01],
[-1.4517e-01, -1.4273e+00, -1.8078e-01, -2.5543e-02, -5.1678e-02,
4.5726e-02, 1.3725e-01],
[-1.2894e-01, -1.3947e+00, -2.2503e-01, -4.6793e-02, -6.0033e-02,
5.4014e-02, 1.6486e-01],
[-1.1272e-01, -1.3623e+00, -2.7160e-01, -7.2974e-02, -6.6210e-02,
6.1576e-02, 1.9310e-01],
[-9.6443e-02, -1.3302e+00, -3.2058e-01, -1.0396e-01, -7.0231e-02,
6.8506e-02, 2.2222e-01],
[-8.0060e-02, -1.2982e+00, -3.7203e-01, -1.3968e-01, -7.2131e-02,
7.4858e-02, 2.5237e-01],
[-6.3531e-02, -1.2665e+00, -4.2600e-01, -1.8007e-01, -7.1955e-02,
8.0661e-02, 2.8368e-01],
[-4.6836e-02, -1.2352e+00, -4.8244e-01, -2.2506e-01, -6.9756e-02,
8.5924e-02, 3.1622e-01],
[-2.9978e-02, -1.2043e+00, -5.4124e-01, -2.7452e-01, -6.5603e-02,
9.0646e-02, 3.4999e-01],
[-1.2991e-02, -1.1741e+00, -6.0219e-01, -3.2821e-01, -5.9592e-02,
9.4817e-02, 3.8492e-01],
[ 4.0573e-03, -1.1447e+00, -6.6490e-01, -3.8577e-01, -5.1860e-02,
9.8421e-02, 4.2089e-01],
[ 2.1056e-02, -1.1166e+00, -7.2884e-01, -4.4667e-01, -4.2592e-02,
1.0145e-01, 4.5762e-01],
[ 3.7853e-02, -1.0902e+00, -7.9325e-01, -5.1018e-01, -3.2038e-02,
1.0389e-01, 4.9479e-01],
[ 5.4254e-02, -1.0660e+00, -8.5723e-01, -5.7538e-01, -2.0507e-02,
1.0576e-01, 5.3193e-01],
[ 7.0036e-02, -1.0446e+00, -9.1972e-01, -6.4119e-01, -8.3647e-03,
1.0709e-01, 5.6851e-01],
[ 8.4959e-02, -1.0264e+00, -9.7962e-01, -7.0642e-01, 3.9991e-03,
1.0791e-01, 6.0398e-01],
[ 9.8796e-02, -1.0119e+00, -1.0359e+00, -7.6988e-01, 1.6199e-02,
1.0828e-01, 6.3778e-01],
[ 1.1136e-01, -1.0014e+00, -1.0876e+00, -8.3051e-01, 2.7899e-02,
1.0827e-01, 6.6946e-01],
[ 1.2252e-01, -9.9470e-01, -1.1343e+00, -8.8747e-01, 3.8841e-02,
1.0794e-01, 6.9869e-01],
[ 1.3222e-01, -9.9173e-01, -1.1756e+00, -9.4020e-01, 4.8866e-02,
1.0736e-01, 7.2530e-01],
[ 1.4048e-01, -9.9204e-01, -1.2116e+00, -9.8844e-01, 5.7908e-02,
1.0657e-01, 7.4928e-01],
[ 1.4739e-01, -9.9512e-01, -1.2427e+00, -1.0322e+00, 6.5979e-02,
1.0562e-01, 7.7075e-01],
[ 1.5307e-01, -1.0004e+00, -1.2692e+00, -1.0717e+00, 7.3142e-02,
1.0455e-01, 7.8990e-01],
[ 1.5769e-01, -1.0073e+00, -1.2918e+00, -1.1072e+00, 7.9484e-02,
1.0339e-01, 8.0696e-01],
[ 1.6139e-01, -1.0153e+00, -1.3110e+00, -1.1392e+00, 8.5105e-02,
1.0218e-01, 8.2220e-01],
[ 1.6433e-01, -1.0241e+00, -1.3274e+00, -1.1679e+00, 9.0097e-02,
1.0094e-01, 8.3584e-01],
[ 1.6664e-01, -1.0332e+00, -1.3414e+00, -1.1939e+00, 9.4544e-02,
9.9687e-02, 8.4811e-01],
[ 1.6845e-01, -1.0424e+00, -1.3535e+00, -1.2174e+00, 9.8520e-02,
9.8442e-02, 8.5920e-01],
[ 1.6986e-01, -1.0516e+00, -1.3639e+00, -1.2388e+00, 1.0209e-01,
9.7219e-02, 8.6926e-01],
[ 1.7095e-01, -1.0606e+00, -1.3730e+00, -1.2583e+00, 1.0530e-01,
9.6030e-02, 8.7842e-01],
[ 1.7178e-01, -1.0693e+00, -1.3810e+00, -1.2762e+00, 1.0820e-01,
9.4882e-02, 8.8682e-01],
[ 1.7241e-01, -1.0776e+00, -1.3881e+00, -1.2926e+00, 1.1083e-01,
9.3780e-02, 8.9453e-01],
[ 1.7289e-01, -1.0856e+00, -1.3944e+00, -1.3077e+00, 1.1322e-01,
9.2730e-02, 9.0166e-01],
[ 1.7324e-01, -1.0931e+00, -1.4000e+00, -1.3217e+00, 1.1539e-01,
9.1731e-02, 9.0825e-01],
[ 1.7350e-01, -1.1003e+00, -1.4051e+00, -1.3347e+00, 1.1739e-01,
9.0785e-02, 9.1437e-01],
[ 1.7368e-01, -1.1071e+00, -1.4097e+00, -1.3468e+00, 1.1921e-01,
8.9893e-02, 9.2008e-01],
[ 1.7381e-01, -1.1136e+00, -1.4139e+00, -1.3580e+00, 1.2089e-01,
8.9051e-02, 9.2541e-01],
[ 1.7389e-01, -1.1197e+00, -1.4177e+00, -1.3685e+00, 1.2244e-01,
8.8261e-02, 9.3040e-01],
[ 1.7394e-01, -1.1254e+00, -1.4213e+00, -1.3784e+00, 1.2387e-01,
8.7518e-02, 9.3508e-01],
[ 1.7397e-01, -1.1308e+00, -1.4245e+00, -1.3876e+00, 1.2520e-01,
8.6823e-02, 9.3949e-01],
[ 1.7398e-01, -1.1360e+00, -1.4275e+00, -1.3963e+00, 1.2643e-01,
8.6172e-02, 9.4364e-01],
[ 1.7397e-01, -1.1408e+00, -1.4303e+00, -1.4045e+00, 1.2758e-01,
8.5564e-02, 9.4756e-01],
[ 1.7395e-01, -1.1454e+00, -1.4329e+00, -1.4122e+00, 1.2866e-01,
8.4996e-02, 9.5126e-01],
[ 1.7393e-01, -1.1497e+00, -1.4354e+00, -1.4194e+00, 1.2966e-01,
8.4466e-02, 9.5478e-01],
[ 1.7391e-01, -1.1538e+00, -1.4377e+00, -1.4263e+00, 1.3060e-01,
8.3974e-02, 9.5811e-01],
[ 1.7388e-01, -1.1577e+00, -1.4398e+00, -1.4328e+00, 1.3148e-01,
8.3515e-02, 9.6127e-01],
[ 1.7385e-01, -1.1614e+00, -1.4418e+00, -1.4390e+00, 1.3231e-01,
8.3090e-02, 9.6428e-01],
[ 1.7383e-01, -1.1649e+00, -1.4437e+00, -1.4448e+00, 1.3309e-01,
8.2695e-02, 9.6715e-01],
[ 1.7380e-01, -1.1682e+00, -1.4455e+00, -1.4504e+00, 1.3383e-01,
8.2329e-02, 9.6988e-01],
[ 1.7378e-01, -1.1714e+00, -1.4472e+00, -1.4557e+00, 1.3453e-01,
8.1992e-02, 9.7249e-01],
[ 1.7376e-01, -1.1744e+00, -1.4488e+00, -1.4607e+00, 1.3518e-01,
8.1680e-02, 9.7498e-01],
[ 1.7375e-01, -1.1772e+00, -1.4503e+00, -1.4655e+00, 1.3581e-01,
8.1393e-02, 9.7737e-01],
[ 1.7373e-01, -1.1799e+00, -1.4518e+00, -1.4701e+00, 1.3640e-01,
8.1129e-02, 9.7965e-01],
[ 1.7372e-01, -1.1825e+00, -1.4532e+00, -1.4745e+00, 1.3696e-01,
8.0887e-02, 9.8184e-01],
[ 1.7372e-01, -1.1850e+00, -1.4545e+00, -1.4786e+00, 1.3749e-01,
8.0666e-02, 9.8394e-01],
[ 1.7372e-01, -1.1874e+00, -1.4557e+00, -1.4826e+00, 1.3799e-01,
8.0464e-02, 9.8596e-01],
[ 1.7372e-01, -1.1896e+00, -1.4569e+00, -1.4865e+00, 1.3847e-01,
8.0281e-02, 9.8789e-01],
[ 1.7373e-01, -1.1918e+00, -1.4581e+00, -1.4901e+00, 1.3893e-01,
8.0114e-02, 9.8976e-01],
[ 1.7374e-01, -1.1938e+00, -1.4592e+00, -1.4936e+00, 1.3936e-01,
7.9964e-02, 9.9155e-01],
[ 1.7375e-01, -1.1958e+00, -1.4602e+00, -1.4970e+00, 1.3978e-01,
7.9830e-02, 9.9328e-01],
[ 1.7377e-01, -1.1977e+00, -1.4612e+00, -1.5003e+00, 1.4017e-01,
7.9710e-02, 9.9495e-01],
[ 1.7379e-01, -1.1995e+00, -1.4622e+00, -1.5034e+00, 1.4055e-01,
7.9603e-02, 9.9656e-01],
[ 1.7381e-01, -1.2013e+00, -1.4631e+00, -1.5064e+00, 1.4091e-01,
7.9509e-02, 9.9811e-01],
[ 1.7383e-01, -1.2029e+00, -1.4640e+00, -1.5092e+00, 1.4125e-01,
7.9427e-02, 9.9961e-01],
[ 1.7386e-01, -1.2046e+00, -1.4649e+00, -1.5120e+00, 1.4158e-01,
7.9356e-02, 1.0011e+00],
[ 1.7389e-01, -1.2061e+00, -1.4657e+00, -1.5147e+00, 1.4190e-01,
7.9296e-02, 1.0025e+00],
[ 1.7393e-01, -1.2076e+00, -1.4665e+00, -1.5172e+00, 1.4220e-01,
7.9246e-02, 1.0038e+00],
[ 1.7396e-01, -1.2090e+00, -1.4673e+00, -1.5197e+00, 1.4249e-01,
7.9205e-02, 1.0051e+00],
[ 1.7400e-01, -1.2104e+00, -1.4681e+00, -1.5221e+00, 1.4276e-01,
7.9172e-02, 1.0064e+00],
[ 1.7404e-01, -1.2118e+00, -1.4688e+00, -1.5244e+00, 1.4303e-01,
7.9148e-02, 1.0077e+00],
[ 1.7409e-01, -1.2130e+00, -1.4695e+00, -1.5267e+00, 1.4328e-01,
7.9131e-02, 1.0089e+00],
[ 1.7413e-01, -1.2143e+00, -1.4702e+00, -1.5288e+00, 1.4352e-01,
7.9121e-02, 1.0100e+00],
[ 1.7418e-01, -1.2155e+00, -1.4708e+00, -1.5309e+00, 1.4376e-01,
7.9118e-02, 1.0112e+00],
[ 1.7422e-01, -1.2167e+00, -1.4715e+00, -1.5330e+00, 1.4398e-01,
7.9121e-02, 1.0123e+00],
[ 1.7427e-01, -1.2178e+00, -1.4721e+00, -1.5349e+00, 1.4420e-01,
7.9130e-02, 1.0133e+00],
[ 1.7432e-01, -1.2189e+00, -1.4727e+00, -1.5368e+00, 1.4441e-01,
7.9145e-02, 1.0144e+00],
[ 1.7438e-01, -1.2200e+00, -1.4733e+00, -1.5387e+00, 1.4461e-01,
7.9164e-02, 1.0154e+00],
[ 1.7443e-01, -1.2210e+00, -1.4738e+00, -1.5405e+00, 1.4480e-01,
7.9188e-02, 1.0164e+00],
[ 1.7448e-01, -1.2220e+00, -1.4744e+00, -1.5422e+00, 1.4498e-01,
7.9216e-02, 1.0174e+00],
[ 1.7454e-01, -1.2229e+00, -1.4749e+00, -1.5439e+00, 1.4516e-01,
7.9249e-02, 1.0183e+00],
[ 1.7460e-01, -1.2239e+00, -1.4755e+00, -1.5456e+00, 1.4534e-01,
7.9285e-02, 1.0192e+00],
[ 1.7466e-01, -1.2248e+00, -1.4760e+00, -1.5471e+00, 1.4550e-01,
7.9325e-02, 1.0201e+00],
[ 1.7471e-01, -1.2257e+00, -1.4765e+00, -1.5487e+00, 1.4566e-01,
7.9368e-02, 1.0210e+00],
[ 1.7477e-01, -1.2266e+00, -1.4770e+00, -1.5502e+00, 1.4581e-01,
7.9413e-02, 1.0219e+00],
[ 1.7483e-01, -1.2274e+00, -1.4775e+00, -1.5517e+00, 1.4596e-01,
7.9462e-02, 1.0227e+00],
[ 1.7489e-01, -1.2282e+00, -1.4779e+00, -1.5531e+00, 1.4611e-01,
7.9513e-02, 1.0235e+00],
[ 1.7495e-01, -1.2290e+00, -1.4784e+00, -1.5545e+00, 1.4625e-01,
7.9567e-02, 1.0243e+00],
[ 1.7502e-01, -1.2298e+00, -1.4788e+00, -1.5559e+00, 1.4638e-01,
7.9622e-02, 1.0251e+00],
[ 1.7508e-01, -1.2306e+00, -1.4793e+00, -1.5572e+00, 1.4651e-01,
7.9680e-02, 1.0259e+00],
[ 1.7514e-01, -1.2313e+00, -1.4797e+00, -1.5585e+00, 1.4664e-01,
7.9739e-02, 1.0266e+00],
[ 1.7520e-01, -1.2320e+00, -1.4801e+00, -1.5597e+00, 1.4676e-01,
7.9800e-02, 1.0274e+00],
[ 1.7527e-01, -1.2327e+00, -1.4805e+00, -1.5610e+00, 1.4687e-01,
7.9863e-02, 1.0281e+00],
[ 1.7533e-01, -1.2334e+00, -1.4809e+00, -1.5622e+00, 1.4699e-01,
7.9927e-02, 1.0288e+00],
[ 1.7539e-01, -1.2341e+00, -1.4813e+00, -1.5634e+00, 1.4710e-01,
7.9992e-02, 1.0295e+00],
[ 1.7546e-01, -1.2347e+00, -1.4817e+00, -1.5645e+00, 1.4720e-01,
8.0058e-02, 1.0302e+00],
[ 1.7552e-01, -1.2354e+00, -1.4821e+00, -1.5656e+00, 1.4731e-01,
8.0125e-02, 1.0308e+00],
[ 1.7559e-01, -1.2360e+00, -1.4825e+00, -1.5667e+00, 1.4741e-01,
8.0194e-02, 1.0315e+00]]
#先让机械臂运动到轨迹开始点
joint_positions = [-2.0825e-01, -1.5438e+00, -2.3856e-02, 9.1554e-04, -2.8599e-05,
-7.5375e-03, 2.5750e-02]
arm.set_joint_value_target(joint_positions)
arm.go()
#查看机械臂当前状态
print(arm.get_current_state())
#新建一个JointTrajectory类型
my_plan = JointTrajectory()
#my_plan.header.frame_id='dummy'
#关节名称
my_plan.joint_names = ['l_joint1','l_joint2','l_joint3','l_joint4','l_joint5','l_joint6','l_joint7']
#把100个位置放到JointTrajectory中,其中JointTrajectoryPoint类型中添加具体的位置
for i in range(100):
point = JointTrajectoryPoint()
point.positions = copy.deepcopy(seq_joint_positions[i])
point.velocities = [0,0,0,0,0,0,0]
point.accelerations = [0, 0, 0, 0, 0, 0, 0]
#point.time_from_start.nsecs = i*100000
point.time_from_start.secs = i
my_plan.points.append(point)
#moveit执行RobotTrajectory类,将JointTrajectory类型的my_plan放入RobotTrajectory类中
robot_plan = RobotTrajectory()
robot_plan.joint_trajectory = my_plan
print(robot_plan)
#执行
arm.execute(robot_plan)
速度和加速度可以给0,如果自己规划的好,可以给值