- install pytorch (support 1.12.1)
- install isaacgym
- install ROS (for real-robot)
This code shows powder shaking actions. You can control the environment by joystick controller.
cd simulation
python test_env_hellow.py --render
This code shows powder shaking actions. You can control the environment by joystick controller.
cd simulation
python test_env_stick.py --render
This code shows how to run the learning policies. Particularly, isaacgym have a memory-reek error. So, in this experiments the environment is reset by subprocess.
cd simulation
python root_learning.py --flag 1111111111 --render
flag means what domain parameters are fixed on learning and action definitions. 1 means random or set, 0 means fixed or removed. All parameters are bellow.
- incline_flag
- shake_flag
- ball_radius_flag
- ball_mass_flag
- ball_friction_flag
- ball_layer_num_flag
- spoon_friction_flag
- goal_powder_amount_flag
- shake_speed_weight_flag
- gravity_flag
render means learning with rendering the environment or not.
- build up ros packages in catkin_ws
- set up weighing machine
- connect data cable from PC to the machine.
- check USB port name(ex: /dev/ttyUSB or COM2)
- set Format to 5 of weighing machine
- set unit to mg of weighing machine
- sudo chmod a+rw /dev/ttyUSB0
- run the robot with learned policies
cd real_robot/powder_task
python PowderEnvironmentController.py --test --dir ./policy_directly/Policy.pth