initial commit, add gello software code and instructions
This commit is contained in:
parent
e7d842ad35
commit
18cc23a38e
70 changed files with 5875 additions and 4 deletions
94
experiments/launch_nodes.py
Normal file
94
experiments/launch_nodes.py
Normal file
|
@ -0,0 +1,94 @@
|
|||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
|
||||
import tyro
|
||||
|
||||
from gello.robots.robot import BimanualRobot, PrintRobot
|
||||
from gello.zmq_core.robot_node import ZMQServerRobot
|
||||
|
||||
|
||||
@dataclass
|
||||
class Args:
|
||||
robot: str = "xarm"
|
||||
robot_port: int = 6001
|
||||
hostname: str = "127.0.0.1"
|
||||
robot_ip: str = "192.168.1.10"
|
||||
|
||||
|
||||
def launch_robot_server(args: Args):
|
||||
port = args.robot_port
|
||||
if args.robot == "sim_ur":
|
||||
MENAGERIE_ROOT: Path = (
|
||||
Path(__file__).parent.parent / "third_party" / "mujoco_menagerie"
|
||||
)
|
||||
xml = MENAGERIE_ROOT / "universal_robots_ur5e" / "ur5e.xml"
|
||||
gripper_xml = MENAGERIE_ROOT / "robotiq_2f85" / "2f85.xml"
|
||||
from gello.robots.sim_robot import MujocoRobotServer
|
||||
|
||||
server = MujocoRobotServer(
|
||||
xml_path=xml, gripper_xml_path=gripper_xml, port=port, host=args.hostname
|
||||
)
|
||||
server.serve()
|
||||
elif args.robot == "sim_panda":
|
||||
from gello.robots.sim_robot import MujocoRobotServer
|
||||
|
||||
MENAGERIE_ROOT: Path = (
|
||||
Path(__file__).parent.parent / "third_party" / "mujoco_menagerie"
|
||||
)
|
||||
xml = MENAGERIE_ROOT / "franka_emika_panda" / "panda.xml"
|
||||
gripper_xml = None
|
||||
server = MujocoRobotServer(
|
||||
xml_path=xml, gripper_xml_path=gripper_xml, port=port, host=args.hostname
|
||||
)
|
||||
server.serve()
|
||||
elif args.robot == "sim_xarm":
|
||||
from gello.robots.sim_robot import MujocoRobotServer
|
||||
|
||||
MENAGERIE_ROOT: Path = (
|
||||
Path(__file__).parent.parent / "third_party" / "mujoco_menagerie"
|
||||
)
|
||||
xml = MENAGERIE_ROOT / "ufactory_xarm7" / "xarm7.xml"
|
||||
gripper_xml = None
|
||||
server = MujocoRobotServer(
|
||||
xml_path=xml, gripper_xml_path=gripper_xml, port=port, host=args.hostname
|
||||
)
|
||||
server.serve()
|
||||
|
||||
else:
|
||||
if args.robot == "xarm":
|
||||
from gello.robots.xarm_robot import XArmRobot
|
||||
|
||||
robot = XArmRobot(ip=args.robot_ip)
|
||||
elif args.robot == "ur":
|
||||
from gello.robots.ur import URRobot
|
||||
|
||||
robot = URRobot(robot_ip=args.robot_ip)
|
||||
elif args.robot == "panda":
|
||||
from gello.robots.panda import PandaRobot
|
||||
|
||||
robot = PandaRobot(robot_ip=args.robot_ip)
|
||||
elif args.robot == "bimanual_ur":
|
||||
from gello.robots.ur import URRobot
|
||||
|
||||
# IP for the bimanual robot setup is hardcoded
|
||||
_robot_l = URRobot(robot_ip="192.168.2.10")
|
||||
_robot_r = URRobot(robot_ip="192.168.1.10")
|
||||
robot = BimanualRobot(_robot_l, _robot_r)
|
||||
elif args.robot == "none" or args.robot == "print":
|
||||
robot = PrintRobot(8)
|
||||
|
||||
else:
|
||||
raise NotImplementedError(
|
||||
f"Robot {args.robot} not implemented, choose one of: sim_ur, xarm, ur, bimanual_ur, none"
|
||||
)
|
||||
server = ZMQServerRobot(robot, port=port, host=args.hostname)
|
||||
print(f"Starting robot server on port {port}")
|
||||
server.serve()
|
||||
|
||||
|
||||
def main(args):
|
||||
launch_robot_server(args)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(tyro.cli(Args))
|
Loading…
Add table
Add a link
Reference in a new issue