Skip to content

Does franky support controlling two Franka robots simultaneously from one machine? #70

@SuperFanBin

Description

@SuperFanBin

Dear author,

First of all, thank you for developing franky—it has been a great tool for my single-arm robotic projects!

Recently, I started working on a dual-arm setup, and I’d like to continue using franky to control both Franka Emika arms from the same computer. However, I’ve encountered an issue when trying to control both robots concurrently.

Problem Description
When I run motions on both robots in the same script, the first robot to start moving exhibits unexpected disturbances or jerky behavior (as shown in this video). The issue does not occur when controlling each robot individually.

from franky import Robot, Gripper, JointWaypoint, JointWaypointMotion

def move_home_async(robots, grippers):
    home_joint_angles = [-0.00297146, -1.27808701, -0.06180186, -2.59758093, -0.01405989, 1.3100147, 0.78735533]
    motion = JointWaypointMotion([JointWaypoint(home_joint_angles)])

    for robot, gripper in zip(robots, grippers):
        gripper.open(0.1)
        robot.recover_from_errors()
        robot.move(motion, asynchronous=True)

    for robot in robots:
        robot.join_motion()

if __name__ == "__main__":
    robot_ip_list = ['172.16.0.2', '172.16.1.2']
    robots_list = []
    grippers_list = []
    for robot_ip in robot_ip_list:
        robot = Robot(robot_ip)
        robot.relative_dynamics_factor = 0.15
        robots_list.append(robot)
        grippers_list.append(Gripper(robot_ip))
        
    move_home_async(robots_list, grippers_list)

Does franky officially support controlling multiple Franka robots from a single host machine?
If yes, what is the recommended approach (e.g., separate threads, processes, or specific API patterns)?
Any guidance or example code for multi-robot control would be greatly appreciated!

Thank you again for your excellent work!

Best regards,

190544560.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions