def test_json_serialization(urdf_file): robot = RobotModel.from_urdf_file(urdf_file) with tempfile.TemporaryFile('w+') as f: robot.to_json(f) f.seek(0) robot_copy = RobotModel.from_json(f) assert robot_copy.name == 'panda' assert len(robot_copy.links) == 12 assert robot_copy.root.name == 'panda_link0'
import os import math from compas.geometry import Point, Vector, Frame, Circle, Plane, Line from compas.geometry import Cylinder from compas.geometry import Transformation from compas.utilities import pairwise, linspace from compas.robots import RobotModel import compas_rhino from compas_rhino.artists import FrameArtist, LineArtist, CylinderArtist HERE = os.path.dirname(__file__) FILE = os.path.join(HERE, 'data', 'robot.json') robot = RobotModel.from_json(FILE) # ============================================================================== # From frame # ============================================================================== base_joint = robot.get_joint_by_name('base-shoulder') frame_from = base_joint.origin # ============================================================================== # State # ============================================================================== names = robot.get_configurable_joint_names() values = [+0.25 * math.pi, -0.25 * math.pi, +0.5 * math.pi, 0, +0.25 * math.pi] state = dict(zip(names, values))