This is a robotic env like gym FetchPickAndPlace-v1 but with UR10 robot arm and robotiq 2f 85 gripper. It uses pybullet simulator to simulate physical interactions between robot and environment.
To modify URDF model install ros, universal_robot and robotiq
in catkin_ws do:
source devel/setup.bash
rosrun xacro xacro ur10_robot_constr.urdf.xacro > my_robot.urdf
check_urdf my_robot.urdf
obs[:3] = gripper_position
obs[3:6] = gripper_orientation
obs[6:9] = gripper_velocity
obs[9:12] = gripper_angular_velocity
obs[12:15] = object_position - gripper_position
obs[15:18] = object_orientation
obs[18:21] = object_velocity
obs[21:24] = object_angular_velocity
obs[24] = gripper_open_value
action[0:3] = delta x,y,z gripper position
action[3] - open / close gripper
reward = 1 - |object_position - desired_position| - |object_position - gripper_position|
reward = 0 if goal achieved -1 othervise
python3 main.py --agent script --mode eval
python3 main.py --agent script --mode viz
python3 main.py --agent ppo --mode train
python3 main.py --agent ppo --mode eval
python3 main.py --agent ppo --mode viz
agent | reward | success |
---|---|---|
scripted | 123.8 | 0.97 |
PPO | 63 | 0.1 |
random | 42 | 0 |
scripted agent | PPO agent | random agent |
---|---|---|
scripted | ppo | random |