Marcus Grieger 1 год назад
Родитель
Сommit
8a94ee08a2
1 измененных файлов: 29 добавлений и 1 удалений
  1. +29
    -1
      hexapod_python/ik_test.py

+ 29
- 1
hexapod_python/ik_test.py Просмотреть файл

@@ -6,6 +6,7 @@ from hexapod_python.ik import ik
from hexapod_python.ik_poses import interpolate_pose, standing_pose, stand_up_pose, shutdown_pose

import time
import copy


class IKTestNode(IKPublisherNode):
@@ -13,7 +14,34 @@ class IKTestNode(IKPublisherNode):
super().__init__('ik_test')
ik_values = [ik(pose) for pose in interpolate_pose(shutdown_pose, stand_up_pose, 50)]
self.publish_ik_values(ik_values)
time.sleep(5)
time.sleep(1)

current_pose = copy.deepcopy(stand_up_pose)

ik_values = []
for leg in self.leg_groups_:
intermediate_pose_1 = copy.deepcopy(current_pose)
intermediate_pose_1['legs'][leg].z += 20

intermediate_pose_2 = copy.deepcopy(intermediate_pose_1)
intermediate_pose_2['legs'][leg] = copy.deepcopy(standing_pose['legs'][leg])
intermediate_pose_2['legs'][leg].z += 20

intermediate_pose_3 = copy.deepcopy(intermediate_pose_2)
intermediate_pose_3['legs'][leg] = copy.deepcopy(standing_pose['legs'][leg])

ik_values.append(
[ik(pose) for pose in interpolate_pose(current_pose, intermediate_pose_1, 50)] +
[ik(pose) for pose in interpolate_pose(intermediate_pose_1, intermediate_pose_2, 50)] +
[ik(pose) for pose in interpolate_pose(intermediate_pose_2, intermediate_pose_3, 50)]
)

self.publish_ik_values(ik_values)
time.sleep(20)

self.publish_ik_values(ik_values.reverse())
time.sleep(20)

ik_values = [ik(pose) for pose in interpolate_pose(stand_up_pose, shutdown_pose, 50)]
self.publish_ik_values(ik_values)
raise SystemExit


Загрузка…
Отмена
Сохранить