- Course Name: AI and Robotics SS20
- Authors: Ankit Dagar Niladri Dutta
- Date Created: June 2020
- Project Video: https://youtu.be/Dgt2PGqyBls
This repo is based on RAI code, including its python bindings. See https://github.com/MarcToussaint/rai for a README of the RAI code.
To demonstrate a simulation where the Panda Robot Arm is used to redirect the path of a moving (spherical) ball into a specified goal.
To demonstrate a simulation where the Panda Robot Arm is used to redirect the path of a rolling (spherical) ball into a specified goal (cuboid hole).
The simulation environment would contain a 2 Panda Robot Arms (A and B), an inclined plane (Ramp Type 1, see Figure 1 (a)), a deflector tool, two spheres (balls) and two cuboid holes (P and Q).
- Robot B shall lift the cylindrical stick from one end.
- Robot A would lift a sphere and place it at the top of the inclined plane.
- The sphere will roll down the ramp towards Robot B.
- Robot B will hit the moving ball with the cylindrical stick, changing its direction such that it moves towards the target cuboid P.
- The sphere rolls into the cuboid bin P.
- The steps 1 to 5 are repeated, this time targeting cuboid bin Q.
Figure 1: Ramp Designs: (a) Ramp Type 1 (b) Ramp Type 2 1
Figure 2: Top view of the environment setup. The dotted arrows indicate expected behaviour.
To demonstrate a simulation where the Panda Robot Arm is used to redirect the path of a bouncing (spherical) ball into a specified goal (cuboid bin).
The simulation environment would contain a 2 Panda Robot Arms (A and B), an inclined plane (Ramp Type 2, see Figure 1 (b)), a deflector tool, two spheres (balls) and two cuboid bins (P and Q). In this scenario, Ramp Type 2 (Figure 1 (b)) will be used , causing the ball to bounce after leaving the ramp.
- Robot B shall lift the cylindrical stick from one end.
- Robot A would lift a sphere and place it at the top of the inclined plane (Ramp Type 2).
- The sphere will roll down the ramp and bounce towards Robot B.
- Robot B will hit the bouncing ball with the deflector tool, changing the direction of the ball such that it moves towards the target cuboid bin P.
- The sphere bounces into the cuboid bin P.
- The steps 1 to 5 are repeated, this time targeting cuboid bin Q.
The project consists of the following tasks which have to be completed in the duration of 6 weeks:
- Environment Setup: Setup the simulation environment according to Figure 2 .
- Robot A:
- Pick and place spheres: For a spherical ball with a given(known) start position, pick and place it at a specified target position.
- Perception of spherical balls using camera: Localise the pose of a spherical ball using image data from camera. Compare the calculated pose with the pose obtained from simulator directly.
- Integration A1: Use camera to perceive the position of a spherical ball, then pick and place it at a specified target position.
- Robot B:
- Pick and move deflector tool: For the deflector tool with a given(known) start position, pick and move it to a specified target position.
- Hit stationary ball to target: Using the deflector tool hit a stationary spherical ball at a given(known) position such that it moves towards a target position.
- Change direction of moving ball: Using the deflector tool hit a moving spherical ball at a given(known) position such that it changes direction(reflects) towards a target direction.
- Perception of deflector tool: Localise the pose of a deflector tool using image data from camera. Compare the calculated pose with the pose obtained from simulator directly.
- Perception of moving spherical ball: Localise the pose of a moving spherical ball using image data from camera. Compare the calculated pose with the pose obtained from simulator directly.
- Integration B1 (rolling ball): Use camera to perceive the position of a rolling spherical ball and use the deflector tool to deflect the ball such that it changes direction(reflects) towards a target direction.
- Change direction of bouncing ball: Using the deflector tool hit a bouncing spherical ball at a given(known) position such that it changes direction(reflects) towards a target direction.
- Integration B2 (bouncing ball): Use camera to perceive the position of a bouncing spherical ball and use the deflector tool to deflect the ball such that it changes direction(reflects) towards a target direction.
To run the project file
python3 src/main.py