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.
@@ -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 (*.cha) file."""
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bosdyn-choreography-client
3
- Version: 4.1.1
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 (==4.1.1)
19
- Requires-Dist: bosdyn-core (==4.1.1)
20
- Requires-Dist: bosdyn-client (==4.1.1)
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,,