A teleoperation system for OpenArm robots using KER (Kinematic Equivalent Replica).
- Joint mapping: Flexible configuration-based mapping from leader to follower joints
- Serial communication: Interface with m5stack-cores3 via uart
pip install openarm_kerimport numpy as np
import openarm_ker
m5_port = openarm_ker.M5Port("/dev/ttyACM0")
leader_joint_names = [f"arm_joint{i}" for i in range(1, 9)]
mapper = openarm_ker.Mapper(
mappingyaml_path="/path/to/mapping_m5.yaml",
leader_joint_names=leader_joint_names,
mapping_key="right_arm_mappings",
)
m5_port.fetch_present_status_bulk()
leader_position = m5_port.present_position
follower_position = mapper.map(np.deg2rad(leader_position))Please refer to config/, the default configurations.
- 📚 Read the documentation
- 💬 Join the community on Discord
- 📬 Contact us through openarm@enactic.ai
Licensed under the Apache License 2.0. See LICENSE.txt for details.
Copyright 2026 Enactic, Inc.
All participation in the OpenArm project is governed by our Code of Conduct.