Implementation:Haosulab ManiSkill Koch
| Knowledge Sources | |
|---|---|
| Domains | Robotics, Simulation, Manipulation |
| Last Updated | 2026-02-15 08:00 GMT |
Overview
Concrete tool for simulating the Koch v1.1 robot arm in ManiSkill environments.
Description
The Koch is a 6-DOF low-cost robot arm with 5 arm joints and 1 gripper joint. The arm uses per-joint tuned PD gains for delta position control (stiffness=[123, 50, 102.68, 145, 108.37, 93.3], damping=[15.85, 6, 15.34, 16, 16.31, 16.3]). Gripper materials use moderate friction (static=0.3, dynamic=0.3). The robot supports customizable chassis and motor colors via RGBA parameters, allowing different visual appearances per parallel environment. After loading, the robot identifies finger links (gripper, link_6) and TCP links for grasp computation. Provides grasping detection and static checking methods.
uid: koch-v1.1
URDF path: {PACKAGE_ASSET_DIR}/robots/koch/follower_arm_v1.1.urdf
Supported control modes: pd_joint_delta_pos, pd_joint_pos, pd_joint_target_delta_pos
Usage
Use Koch for low-cost robot arm manipulation tasks, especially those targeting sim-to-real transfer to the real Koch hardware. Suitable for pick-and-place, pushing, and basic manipulation demonstrations with the Koch follower arm.
Code Reference
Source Location
- Repository: Haosulab_ManiSkill
- File: mani_skill/agents/robots/koch/koch.py
Signature
@register_agent()
class Koch(BaseAgent):
uid = "koch-v1.1"
urdf_path = f"{PACKAGE_ASSET_DIR}/robots/koch/follower_arm_v1.1.urdf"
keyframes = dict(
rest=Keyframe(qpos=np.array([0, 2.2, 3.017, -0.25, 0, 0.6044]), ...),
elevated_turn=Keyframe(...),
zero=Keyframe(...),
)
Import
from mani_skill.agents.robots.koch.koch import Koch
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| (inherited from BaseAgent) | |||
| robot_chassis_colors | list | No | RGBA color(s) for chassis appearance (default [0.95, 0.95, 0.95, 1]) |
| robot_motor_colors | list | No | RGBA color(s) for motor appearance (default [0.05, 0.05, 0.05, 1]) |
Outputs
| Name | Type | Description |
|---|---|---|
| robot agent | Koch | Configured 6-DOF arm with per-joint tuned PD controllers and customizable appearance |
Usage Examples
Creating Environment with Robot
import gymnasium as gym
import mani_skill.envs
env = gym.make("PickCube-v1", robot_uids="koch-v1.1")
obs, info = env.reset()