Repository: stepjam/RLBench
Issue: Using the task building tool with a kuka LBRIwaa14R820 and a different gripper
Root cause: Documentation Deficiency

Dear developer team,

thank you very much for sharing your great RLBench. About my motivation: I would like to use your task building tool to design a custom task with a KUKA iiwa and a custom gripper. Why using your building tool? Because I want to stay as close as possible to the benchmark despite using a different robot and also create new tasks quickly. For this I have already tried to include the Kuka LBRIwaa14R820 in the environment.py as follows.

```
from pyrep import PyRep
from pyrep.objects import VisionSensor
from pyrep.robots.arms.panda import Panda
from pyrep.robots.arms.jaco import Jaco
from pyrep.robots.arms.mico import Mico
from pyrep.robots.arms.sawyer import Sawyer
from pyrep.robots.arms.ur5 import UR5
**from pyrep.robots.arms.lbr_iiwa_14_r820 import LBRIwaa14R820**
from pyrep.robots.end_effectors.panda_gripper import PandaGripper
from pyrep.robots.end_effectors.jaco_gripper import JacoGripper
from pyrep.robots.end_effectors.mico_gripper import MicoGripper
from pyrep.robots.end_effectors.baxter_gripper import BaxterGripper
from pyrep.robots.end_effectors.robotiq85_gripper import Robotiq85Gripper
```

and import it into a new task_builder_custom.py with the Kuka plus the robotiq85 gripper, also as follows:

```
import os
import sys
from os.path import join, dirname, abspath, isfile

CURRENT_DIR = dirname(abspath(__file__))
sys.path.insert(0, join(CURRENT_DIR, '..'))  # Use local RLBench rather than installed

import traceback
import readline

from pyrep.const import RenderMode

from rlbench.backend import task
from rlbench.backend.const import TTT_FILE
from pyrep import PyRep
**from pyrep.robots.arms.lbr_iiwa_14_r820 import LBRIwaa14R820**
from pyrep.objects.shape import Shape
from pyrep.objects.dummy import Dummy
**from pyrep.robots.end_effectors.robotiq85_gripper import Robotiq85Gripper**
from rlbench.backend.scene import Scene
from rlbench.backend.exceptions import *
from rlbench.observation_config import ObservationConfig, CameraConfig
from rlbench.backend.robot import Robot
from rlbench.utils import name_to_task_class
from task_validator import task_smoke, TaskValidationError
```
.....

```
 robot = Robot(LBRIwaa14R820(), Robotiq85Gripper())
    cam_config = CameraConfig(rgb=True, depth=False, mask=False,
                              render_mode=RenderMode.OPENGL)
```

Unfortunately I get the following errors. Although there is the Kuka robot, it shows error the opposite? What did I do wrong? In addition what do I have to do to add a custom designed gripper?

Traceback (most recent call last):
  File "task_builder2.py", line 235, in <module>
    robot = Robot(LBRIwaa14R820(), Robotiq85Gripper())
  File "/home/marcel/anaconda3/envs/env/lib/python3.8/site-packages/pyrep/robots/arms/lbr_iiwa_14_r820.py", line 7, in __init__
    super().__init__(count, 'LBR_iiwa_14_R820', 7)
  File "/home/marcel/anaconda3/envs/env/lib/python3.8/site-packages/pyrep/robots/arms/arm.py", line 25, in __init__
    super().__init__(count, name, joint_names, base_name)
  File "/home/marcel/anaconda3/envs/env/lib/python3.8/site-packages/pyrep/robots/robot_component.py", line 19, in __init__
    super().__init__(
  File "/home/marcel/anaconda3/envs/env/lib/python3.8/site-packages/pyrep/objects/object.py", line 24, in __init__
    self._handle = sim.simGetObjectHandle(name_or_handle)
  File "/home/marcel/anaconda3/envs/env/lib/python3.8/site-packages/pyrep/backend/sim.py", line 94, in simGetObjectHandle
    raise RuntimeError('Handle %s does not exist.' % objectName)
RuntimeError: Handle LBR_iiwa_14_R820 does not exist.


Best regards and thanks for your help,
Marcel


Hi,
Before bringing a robot into RLBench, you first need it to be working in PyRep. Please see https://github.com/stepjam/PyRep#adding-robots. 
Thanks!