bosdyn-choreography-client 4.1.1__py3-none-any.whl → 5.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bosdyn/choreography/client/animation_file_to_proto.py +2 -2
- bosdyn/choreography/client/choreography.py +126 -0
- {bosdyn_choreography_client-4.1.1.dist-info → bosdyn_choreography_client-5.0.0.dist-info}/METADATA +4 -4
- bosdyn_choreography_client-5.0.0.dist-info/RECORD +10 -0
- bosdyn_choreography_client-4.1.1.dist-info/RECORD +0 -10
- {bosdyn_choreography_client-4.1.1.dist-info → bosdyn_choreography_client-5.0.0.dist-info}/WHEEL +0 -0
- {bosdyn_choreography_client-4.1.1.dist-info → bosdyn_choreography_client-5.0.0.dist-info}/top_level.txt +0 -0
|
@@ -142,7 +142,7 @@ COMMENT_DELIMITERS = ["//", "#"]
|
|
|
142
142
|
|
|
143
143
|
|
|
144
144
|
class AnimationFileFormatError(Exception):
|
|
145
|
-
"""Specific Exception raised when we identify an issue with an animation (
|
|
145
|
+
"""Specific Exception raised when we identify an issue with an animation (.cha) file."""
|
|
146
146
|
pass
|
|
147
147
|
|
|
148
148
|
|
|
@@ -369,7 +369,7 @@ def convert_animation_file_to_proto(animated_file, animate_move_params_file=""):
|
|
|
369
369
|
|
|
370
370
|
Args:
|
|
371
371
|
animated_file (string): The filepath to the animation text file.
|
|
372
|
-
animate_move_params_file (string): [Required if needing default param values. Otherwise optional]
|
|
372
|
+
animate_move_params_file (string): [Required if needing default param values. Otherwise optional]
|
|
373
373
|
The filepath to a default set of move parameters or move parameters as a string.
|
|
374
374
|
|
|
375
375
|
Returns:
|
|
@@ -481,6 +481,83 @@ class ChoreographyClient(BaseClient):
|
|
|
481
481
|
copy_request=False,
|
|
482
482
|
**kwargs)
|
|
483
483
|
|
|
484
|
+
def leg_size_configuration(self, front_left_size=None, front_right_size=None,
|
|
485
|
+
hind_left_size=None, hind_right_size=None, **kwargs):
|
|
486
|
+
""" Tell the robot its legs are a non-standard size to help avoid self-collision. Typically used for robots that are wearing costumes.
|
|
487
|
+
Configuration will be permanently stored (persisting through reboot) until cleared by sending an empty request.
|
|
488
|
+
Args:
|
|
489
|
+
front_left_size: New leg configuration dimensions for the front left leg. Either
|
|
490
|
+
a LegSize message or a list of 4 floats. If None, all config values are set to zero.
|
|
491
|
+
front_right_size: Same as front_left_size, but for the front right leg.
|
|
492
|
+
hind_left_size: Same as front_left_size, but for the hind left leg.
|
|
493
|
+
hind_right_size: Same as front_left_size, but for the hind right leg.
|
|
494
|
+
|
|
495
|
+
Returns:
|
|
496
|
+
The full LegSizeConfigurationResponse message.
|
|
497
|
+
"""
|
|
498
|
+
req = self.build_leg_size_configuration_request(front_left_size=front_left_size,
|
|
499
|
+
front_right_size=front_right_size,
|
|
500
|
+
hind_left_size=hind_left_size,
|
|
501
|
+
hind_right_size=hind_right_size)
|
|
502
|
+
|
|
503
|
+
return self.call(
|
|
504
|
+
self._stub.LegSizeConfiguration,
|
|
505
|
+
req,
|
|
506
|
+
value_from_response=None, # Return the complete response message
|
|
507
|
+
error_from_response=common_header_errors,
|
|
508
|
+
copy_request=False,
|
|
509
|
+
**kwargs)
|
|
510
|
+
|
|
511
|
+
def leg_size_configuration_async(self, front_left_size=None, front_right_size=None,
|
|
512
|
+
hind_left_size=None, hind_right_size=None, **kwargs):
|
|
513
|
+
"""Async version of leg_size_configuration()"""
|
|
514
|
+
req = self.build_leg_size_configuration_request(front_left_size=front_left_size,
|
|
515
|
+
front_right_size=front_right_size,
|
|
516
|
+
hind_left_size=hind_left_size,
|
|
517
|
+
hind_right_size=hind_right_size)
|
|
518
|
+
|
|
519
|
+
return self.call_async(
|
|
520
|
+
self._stub.LegSizeConfiguration,
|
|
521
|
+
req,
|
|
522
|
+
value_from_response=None, # Return the complete response message
|
|
523
|
+
error_from_response=common_header_errors,
|
|
524
|
+
copy_request=False,
|
|
525
|
+
**kwargs)
|
|
526
|
+
|
|
527
|
+
def leg_size_configuration_state(self, **kwargs):
|
|
528
|
+
""" Read the current leg size configuration from the robot. On a robot with the default leg size configuration the
|
|
529
|
+
values for each leg's LegSize will be:
|
|
530
|
+
|
|
531
|
+
distance_inward = 0.02 m
|
|
532
|
+
distance_outward = 0.02 m
|
|
533
|
+
distance_forward = 0.035 m
|
|
534
|
+
distance_backward = 0.035 m
|
|
535
|
+
|
|
536
|
+
Returns:
|
|
537
|
+
The full LegSizeConfigurationStateResponse message.
|
|
538
|
+
"""
|
|
539
|
+
req = choreography_sequence_pb2.LegSizeConfigurationStateRequest()
|
|
540
|
+
|
|
541
|
+
return self.call(
|
|
542
|
+
self._stub.LegSizeConfigurationState,
|
|
543
|
+
req,
|
|
544
|
+
value_from_response=None, # Return the complete response message
|
|
545
|
+
error_from_response=common_header_errors,
|
|
546
|
+
copy_request=False,
|
|
547
|
+
**kwargs)
|
|
548
|
+
|
|
549
|
+
def leg_size_configuration_state_async(self, **kwargs):
|
|
550
|
+
"""Async version of leg_size_configuration_state()"""
|
|
551
|
+
req = choreography_sequence_pb2.LegSizeConfigurationStateRequest()
|
|
552
|
+
|
|
553
|
+
return self.call_async(
|
|
554
|
+
self._stub.LegSizeConfigurationState,
|
|
555
|
+
req,
|
|
556
|
+
value_from_response=None, # Return the complete response message
|
|
557
|
+
error_from_response=common_header_errors,
|
|
558
|
+
copy_request=False,
|
|
559
|
+
**kwargs)
|
|
560
|
+
|
|
484
561
|
def start_recording_state(self, duration_secs, continue_session_id=0, **kwargs):
|
|
485
562
|
"""Start (or continue) a manually recorded robot state log.
|
|
486
563
|
|
|
@@ -769,6 +846,55 @@ class ChoreographyClient(BaseClient):
|
|
|
769
846
|
request.remove_labels.extend(remove_labels)
|
|
770
847
|
return request
|
|
771
848
|
|
|
849
|
+
def build_leg_size(self, dist_inward=0.0, dist_outward=0.0, dist_forward=0.0,
|
|
850
|
+
dist_backward=0.0):
|
|
851
|
+
"""Build and return a LegSize message from provided dimentions."""
|
|
852
|
+
return choreography_sequence_pb2.LegSize(distance_inward=dist_inward,
|
|
853
|
+
distance_outward=dist_outward,
|
|
854
|
+
distance_forward=dist_forward,
|
|
855
|
+
distance_backward=dist_backward)
|
|
856
|
+
|
|
857
|
+
def build_leg_size_configuration_request(self, front_left_size=None, front_right_size=None,
|
|
858
|
+
hind_left_size=None, hind_right_size=None):
|
|
859
|
+
"""Build a LegSizeConfigurationRequest.
|
|
860
|
+
|
|
861
|
+
Args:
|
|
862
|
+
front_left_size: New leg configuration dimensions for the front left leg. Either
|
|
863
|
+
a LegSize message or a list of 4 floats. If None, all config values are set to zero.
|
|
864
|
+
front_right_size: Same as front_left_size, but for the front right leg.
|
|
865
|
+
hind_left_size: Same as front_left_size, but for the hind left leg.
|
|
866
|
+
hind_right_size: Same as front_left_size, but for the hind right leg.
|
|
867
|
+
|
|
868
|
+
Returns:
|
|
869
|
+
The LegSizeConfigurationRequest message built from provided parameters.
|
|
870
|
+
"""
|
|
871
|
+
req = choreography_sequence_pb2.LegSizeConfigurationRequest()
|
|
872
|
+
|
|
873
|
+
# Check for a list input for each foot.
|
|
874
|
+
if isinstance(front_left_size, list) and len(front_left_size) == 4:
|
|
875
|
+
front_left_size = self.build_leg_size(front_left_size[0], front_left_size[1],
|
|
876
|
+
front_left_size[2], front_left_size[3])
|
|
877
|
+
if isinstance(front_right_size, list) and len(front_right_size) == 4:
|
|
878
|
+
front_right_size = self.build_leg_size(front_right_size[0], front_right_size[1],
|
|
879
|
+
front_right_size[2], front_right_size[3])
|
|
880
|
+
if isinstance(hind_left_size, list) and len(hind_left_size) == 4:
|
|
881
|
+
hind_left_size = self.build_leg_size(hind_left_size[0], hind_left_size[1],
|
|
882
|
+
hind_left_size[2], hind_left_size[3])
|
|
883
|
+
if isinstance(hind_right_size, list) and len(hind_right_size) == 4:
|
|
884
|
+
hind_right_size = self.build_leg_size(hind_right_size[0], hind_right_size[1],
|
|
885
|
+
hind_right_size[2], hind_right_size[3])
|
|
886
|
+
|
|
887
|
+
# Copy the LegSize message for each foot to the request if it was provided and valid.
|
|
888
|
+
if isinstance(front_left_size, choreography_sequence_pb2.LegSize):
|
|
889
|
+
req.front_left_size.CopyFrom(front_left_size)
|
|
890
|
+
if isinstance(front_right_size, choreography_sequence_pb2.LegSize):
|
|
891
|
+
req.front_right_size.CopyFrom(front_right_size)
|
|
892
|
+
if isinstance(hind_left_size, choreography_sequence_pb2.LegSize):
|
|
893
|
+
req.hind_left_size.CopyFrom(hind_left_size)
|
|
894
|
+
if isinstance(hind_right_size, choreography_sequence_pb2.LegSize):
|
|
895
|
+
req.hind_right_size.CopyFrom(hind_right_size)
|
|
896
|
+
return req
|
|
897
|
+
|
|
772
898
|
def _update_timestamp_filter(self, timestamp, timesync_endpoint):
|
|
773
899
|
"""Set or convert fields of the proto that need timestamps in the robot's clock."""
|
|
774
900
|
# Input timestamp is a google.protobuf.Timestamp
|
{bosdyn_choreography_client-4.1.1.dist-info → bosdyn_choreography_client-5.0.0.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: bosdyn-choreography-client
|
|
3
|
-
Version:
|
|
3
|
+
Version: 5.0.0
|
|
4
4
|
Summary: Boston Dynamics API client code and interfaces for choreography
|
|
5
5
|
Home-page: https://dev.bostondynamics.com/
|
|
6
6
|
Author: Boston Dynamics
|
|
@@ -15,9 +15,9 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
15
15
|
Classifier: License :: Other/Proprietary License
|
|
16
16
|
Classifier: Operating System :: OS Independent
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
|
-
Requires-Dist: bosdyn-api (==
|
|
19
|
-
Requires-Dist: bosdyn-core (==
|
|
20
|
-
Requires-Dist: bosdyn-client (==
|
|
18
|
+
Requires-Dist: bosdyn-api (==5.0.0)
|
|
19
|
+
Requires-Dist: bosdyn-core (==5.0.0)
|
|
20
|
+
Requires-Dist: bosdyn-client (==5.0.0)
|
|
21
21
|
|
|
22
22
|
<!--
|
|
23
23
|
Copyright (c) 2023 Boston Dynamics, Inc. All rights reserved.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
bosdyn/__init__.py,sha256=CMQioQKK1NlMk3kZuY49b_Aw-JyvDeOtuqOCAul1I0s,330
|
|
2
|
+
bosdyn/choreography/__init__.py,sha256=CMQioQKK1NlMk3kZuY49b_Aw-JyvDeOtuqOCAul1I0s,330
|
|
3
|
+
bosdyn/choreography/client/__init__.py,sha256=CMQioQKK1NlMk3kZuY49b_Aw-JyvDeOtuqOCAul1I0s,330
|
|
4
|
+
bosdyn/choreography/client/animation_file_conversion_helpers.py,sha256=iBEqEGAZknyh8WWxtxZrzoA-o8BDJ7a5pmft0kqNCrs,18438
|
|
5
|
+
bosdyn/choreography/client/animation_file_to_proto.py,sha256=bOH2_bywfWPrbP95X0wtV6PX2RymO8lzDBOmbe3CYHc,26065
|
|
6
|
+
bosdyn/choreography/client/choreography.py,sha256=jRAHR44yW2d9rSYemQqZdtZcMWmNXDsxgMH_bGY37lE,57755
|
|
7
|
+
bosdyn_choreography_client-5.0.0.dist-info/METADATA,sha256=QyXJyYZzqID0HmrNpm4pXJA1b6kiS0rM1w1RerzlS88,1721
|
|
8
|
+
bosdyn_choreography_client-5.0.0.dist-info/WHEEL,sha256=AtBG6SXL3KF_v0NxLf0ehyVOh0cold-JbJYXNGorC6Q,92
|
|
9
|
+
bosdyn_choreography_client-5.0.0.dist-info/top_level.txt,sha256=an2OWgx1ej2jFjmBjPWNQ68ZglvUfKhmXWW-WhTtDmA,7
|
|
10
|
+
bosdyn_choreography_client-5.0.0.dist-info/RECORD,,
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
bosdyn/__init__.py,sha256=CMQioQKK1NlMk3kZuY49b_Aw-JyvDeOtuqOCAul1I0s,330
|
|
2
|
-
bosdyn/choreography/__init__.py,sha256=CMQioQKK1NlMk3kZuY49b_Aw-JyvDeOtuqOCAul1I0s,330
|
|
3
|
-
bosdyn/choreography/client/__init__.py,sha256=CMQioQKK1NlMk3kZuY49b_Aw-JyvDeOtuqOCAul1I0s,330
|
|
4
|
-
bosdyn/choreography/client/animation_file_conversion_helpers.py,sha256=iBEqEGAZknyh8WWxtxZrzoA-o8BDJ7a5pmft0kqNCrs,18438
|
|
5
|
-
bosdyn/choreography/client/animation_file_to_proto.py,sha256=C6Sp7zqnbEW1qBTxoWhdW_WzxVoNc9EisoVfM9r71CQ,26067
|
|
6
|
-
bosdyn/choreography/client/choreography.py,sha256=qZTka8q2Yvpt66xBM3EEeidTkIPYxiufJCqayjEGNQI,50799
|
|
7
|
-
bosdyn_choreography_client-4.1.1.dist-info/METADATA,sha256=aHjH-dv3hHKOxHels9FvB8YfTnPBdcp6Btr6b4vcfJM,1721
|
|
8
|
-
bosdyn_choreography_client-4.1.1.dist-info/WHEEL,sha256=AtBG6SXL3KF_v0NxLf0ehyVOh0cold-JbJYXNGorC6Q,92
|
|
9
|
-
bosdyn_choreography_client-4.1.1.dist-info/top_level.txt,sha256=an2OWgx1ej2jFjmBjPWNQ68ZglvUfKhmXWW-WhTtDmA,7
|
|
10
|
-
bosdyn_choreography_client-4.1.1.dist-info/RECORD,,
|
{bosdyn_choreography_client-4.1.1.dist-info → bosdyn_choreography_client-5.0.0.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|