Simulations

Bend Wire

Simulation of bend wire environment

This module creates the simulation files which will be used in BendWire environments. TODO: Instead of setting all parameters in this file, there should be a parameter file (e.g. YAML or XML).

gym_agx.sims.bend_wire.add_rendering(sim)
gym_agx.sims.bend_wire.sample_random_goal(sim, app=None, dof_vector=array([1.0, 1.0, 1.0]))

Goal Randomization: Sample 2 points, and execute point-to-point trajectory.

Parameters
  • sim -- AGX Dynamics simulation object

  • app -- AGX Dynamics application object

  • dof_vector (np.array) -- desired degrees of freedom of the gripper(s), [x, y, z]

gym_agx.sims.bend_wire.sample_fixed_goal(sim, app=None)

Define the trajectory to generate fixed goal.

Parameters
  • sim -- AGX Dynamics simulation object

  • app -- AGX Dynamics application object

gym_agx.sims.bend_wire.build_simulation(goal=False)

Builds simulations for both start and goal configurations.

Parameters

goal (bool) -- toggles between simulation definition of start and goal configurations

Return agxSDK.Simulation

simulation object

gym_agx.sims.bend_wire.main(args)

Bend Wire with Obstacle

Simulation of bend wire with obstacle

This module creates the simulation files which will be used in BendWireObstacle environments. TODO: Instead of setting all parameters in this file, there should be a parameter file (e.g. YAML or XML).

gym_agx.sims.bend_wire_obstacle.add_rendering(sim)
gym_agx.sims.bend_wire_obstacle.sample_random_goal(sim, app=None, dof_vector=array([1.0, 1.0, 1.0]))

Goal Randomization: Sample 2 points, and execute point-to-point trajectory.

Parameters
  • sim -- AGX Dynamics simulation object

  • app -- AGX Dynamics application object

  • dof_vector (np.array) -- desired degrees of freedom of the gripper(s), [x, y, z]

gym_agx.sims.bend_wire_obstacle.sample_fixed_goal(sim, app=None)

Define the trajectory to generate fixed goal.

Parameters
  • sim -- AGX Dynamics simulation object

  • app -- AGX Dynamics application object

gym_agx.sims.bend_wire_obstacle.build_simulation(goal=False)

Builds simulations for both start and goal configurations.

Parameters

goal (bool) -- toggles between simulation definition of start and goal configurations

Return agxSDK.Simulation

simulation object

gym_agx.sims.bend_wire_obstacle.main(args)

Push Rope

Simulation of rope pushing

This module creates the simulation files which will be used in PushRope environments. TODO: Instead of setting all parameters in this file, there should be a parameter file (e.g. YAML or XML).

gym_agx.sims.push_rope.add_rendering(sim)
gym_agx.sims.push_rope.sample_random_goal(sim, render=False)

Goal Randomization for the PushRope environment it is too difficult to generate proper trajectories that lead to varied shapes. For this reason, a new rope is added to the scene every time, and routed through random points.

Parameters
  • sim -- AGX Dynamics simulation object

  • render (bool) -- toggle rendering for debugging purposes only

gym_agx.sims.push_rope.sample_fixed_goal(sim, app=None)

Define the trajectory to generate fixed goal. For the PushRope environment a keyboard listener is added to allow manual control.

Parameters
  • sim -- AGX Dynamics simulation object

  • app -- AGX Dynamics application object

gym_agx.sims.push_rope.build_simulation(goal=False, rope=True)

Builds simulations for both start and goal configurations.

Parameters
  • goal (bool) -- toggles between simulation definition of start and goal configurations

  • rope (bool) -- add rope to the scene or not

Return agxSDK.Simulation

simulation object

gym_agx.sims.push_rope.main(args)

Peg In Hole

Simulation of peg in hole

This module creates the simulation files which will be used in PegInHole environments. TODO: Instead of setting all parameters in this file, there should be a parameter file (e.g. YAML or XML).

gym_agx.sims.peg_in_hole.create_gripper_peg_in_hole(sim=None, name='', material=None, position=<agx.Vec3; proxy of <Swig Object of type 'agx::Vec3T< double > *'> >, geometry_transform=<agx.AffineMatrix4x4; proxy of <Swig Object of type 'agx::AffineMatrix4x4 *'> >, geometry_scaling=<agx.Matrix3x3; proxy of <Swig Object of type 'agx::Matrix3x3T< double > *'> >, joint_ranges=None, force_ranges=None)
gym_agx.sims.peg_in_hole.add_rendering(sim)
gym_agx.sims.peg_in_hole.build_simulation()
gym_agx.sims.peg_in_hole.compute_segments_pos(sim)
gym_agx.sims.peg_in_hole.is_goal_reached(sim)

Checks if positions of cable segments on lower end are within goal region. Returns True if cable is partially inserted and False otherwise.

gym_agx.sims.peg_in_hole.determine_n_segments_inserted(segment_pos, cylinder_pos)

Determine number of segments that are inserted into the hole.

Parameters

segment_pos --

Returns

gym_agx.sims.peg_in_hole.compute_dense_reward_and_check_goal(sim, segment_pos_0, segment_pos_1)
gym_agx.sims.peg_in_hole.main(args)

Rubber Band

Simulation of rubber band

This module creates the simulation files which will be used in RubberBand environments. TODO: Instead of setting all parameters in this file, there should be a parameter file (e.g. YAML or XML).

gym_agx.sims.rubber_band.create_pole(id, sim, position, material)
gym_agx.sims.rubber_band.add_rendering(sim)
gym_agx.sims.rubber_band.build_simulation()
gym_agx.sims.rubber_band.set_center_obstacle(sim, center_pos)
gym_agx.sims.rubber_band.get_poles_enclosed(segments_pos, pole_pos)
gym_agx.sims.rubber_band.compute_segments_pos(sim)
gym_agx.sims.rubber_band.is_goal_reached(center_pos, segment_pos)
gym_agx.sims.rubber_band.compute_dense_reward_and_check_goal(center_pos, segment_pos_0, segment_pos_1)
gym_agx.sims.rubber_band.main(args)

Cable Closing

Simulation of cable closing

This module creates the simulation files which will be used in CableClosing environments. TODO: Instead of setting all parameters in this file, there should be a parameter file (e.g. YAML or XML).

gym_agx.sims.cable_closing.add_rendering(sim)
gym_agx.sims.cable_closing.build_simulation()
gym_agx.sims.cable_closing.compute_segments_pos(sim)
gym_agx.sims.cable_closing.is_goal_reached(sim, segments_pos)
gym_agx.sims.cable_closing.compute_dense_reward_and_check_goal(sim, segments_pos_0, segments_pos_1)
gym_agx.sims.cable_closing.main(args)