d80bf49905
* imports and model described * changed large parts of terminal Control to them using robotlib therefore also added functions to robotlib * bug fix * debug * debug * bug fix * bug fix * bug fix * sequence.csv for testing of -csv * bug fix * debug * bug fix * bug fix * extreme positions weren't possible * edited sequence.csv * added function 'output' * debug * debug * debug * bug fix * cleaned up * added loop * bug fix * serialize and deserialize added * bug fix * bug fix * bug fix * Update .gitignore terminalControl creates file to save last position, which will now not be uploaded * Comment * csv output added
45 lines
1.9 KiB
Python
45 lines
1.9 KiB
Python
import numpy as npy
|
|
|
|
from RobotLib import *
|
|
|
|
|
|
class Looper:
|
|
def __init__(self, Robot):
|
|
self.stepsize = 1
|
|
self.robot = Robot
|
|
|
|
def run(self):
|
|
for ang_servo1 in npy.arange(self.robot.servo1.min, self.robot.servo1.max, self.stepsize):
|
|
self.robot.servo1.set_angle(ang_servo1)
|
|
for ang_servo2 in npy.arange(self.robot.servo2.min, self.robot.servo2.max, self.stepsize):
|
|
self.robot.servo2.set_angle(ang_servo2)
|
|
for ang_servo3 in npy.arange(self.robot.servo3.min, self.robot.servo3.max, self.stepsize):
|
|
self.robot.servo3.set_angle(ang_servo3)
|
|
self.robot.calculate()
|
|
self.robot.data.add_entry(self.robot.Database.Entry(self.robot.x, self.robot.y,
|
|
self.robot.efficency,
|
|
self.robot.servo1, self.robot.servo2,
|
|
self.robot.servo3))
|
|
print("A database with {} entries has been created.".format(len(self.robot.data.database)))
|
|
|
|
def export(self):
|
|
file = open("database.data", 'w')
|
|
file.write(self.robot.data.serialize())
|
|
file.flush()
|
|
file.close()
|
|
print("Exported")
|
|
|
|
|
|
test = Robot(Robot.Servo(1, Robot.Servo.Geometry(0.55, 2.3, 1.4)),
|
|
Robot.Servo(2, Robot.Servo.Geometry(2.5, 0.55, 1.55)),
|
|
Robot.Servo(3, Robot.Servo.Geometry(0.7, 2.25, 2.25)),
|
|
Robot.CoordinateSystem([-100, 100], [-100, 100]))
|
|
test.init_depending(Robot.Arm(test.servo1, 10.26, 0.84), Robot.Arm(test.servo2, 9.85), Robot.Arm(test.servo3, 12, -3),
|
|
None, [test.servo1], [test.servo1, test.servo2])
|
|
|
|
looper = Looper(test)
|
|
looper.run()
|
|
looper.export()
|
|
print("finished")
|
|
print("test")
|