From f6ee0e36c9cc075e5f007c44e95dc3aaa7736a57 Mon Sep 17 00:00:00 2001 From: Greg Brown Date: Sun, 30 Jan 2022 23:50:36 +0000 Subject: Initial commit --- scripts/launch-robots.py | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 scripts/launch-robots.py (limited to 'scripts/launch-robots.py') diff --git a/scripts/launch-robots.py b/scripts/launch-robots.py new file mode 100755 index 0000000..8b09e0f --- /dev/null +++ b/scripts/launch-robots.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 + +import math +import sys +from typing import Tuple + +ORIGIN = [0.0, 0.0] +DISTANCE = 1.5 + +TEMPLATE = """ + + + + + + + + + +""" + +MAGIC_STRING = "" + +def get_pose(i : int, n : int) -> Tuple[float, float, float]: + angle = 2 * math.pi * i / n + x = ORIGIN[0] + DISTANCE * math.cos(angle) + y = ORIGIN[1] + DISTANCE * math.sin(angle) + z = 0.0 + return (x , y , z) + + +def make_robot_groups(n : int) -> str: + output = "" + for i in range(n): + x , y , z = get_pose(i, n) + output += TEMPLATE.format( + n = i, + x = round(x, 3), + y = round(y, 3), + z = round(z, 3)) + return output + + +def splice_robots(text : str, n : int) -> str: + return text.replace(MAGIC_STRING, make_robot_groups(n)) + + +def main(filename : str, n : int): + with open(filename, 'r') as f: + print(splice_robots(f.read(), n)) + + +if __name__ == '__main__': + if len(sys.argv) != 3: + sys.exit(1) + filename = sys.argv[1] + robots = int(sys.argv[2]) + main(filename, robots) -- cgit v1.2.3