Skip to content

Configuration Files

rainingx683 edited this page Oct 9, 2023 · 14 revisions

Gripper configurations - gripper_xDOF_config_IDx.json

"gripper_type": 0: U2D2, 1: Arduino
"gripper_id": Can be defined to whatever number, make sure all gripper ids are different
"device_name": this can be checked in dynamixel wizard e.g. "/dev/ttyUSB1"
"baudrate": servo communication baudrate
"servo_type": type of servo being used for the gripper e.g. "XL-320" or "XC330-T288-T"
"action_type": type of gripper control, "velocity" or "position"

"torque_limit": max torque for each servo, should be around 200 for safety
"speed_limit":  max speed limit for each servo, should be around 200 for low torque object

"velocity_min": min moving speed during velocity control, negative for anti-clockwise movement
"velocity_max": max moving speed during velocity control, positive for clockwise movement

"num_motors": number of motors, currently 4 for 2 fingers gripper and 9 for 3 fingers gripper
"min_values": gripper minimum boundary position, an num_motor size array
"max_values": gripper maximum boundary position, an num_motor size array

"home_sequence": gripper home position, and optional pre-home sequence when gripper can't go directly home. 2D array containing servo positions

Environment configurations - env_xDOF_config_IDx.json

"env_type": 0 for rotational task, 1 for translation task

"camera_id": Camera port id, run ffplay /dev/video_ to check ID, e.g. 0
"blindable": Can camera be blinded by gripper, 0: no, 1: yes
"observation_type": How gripper observe itself and world (aka get its states) 0: servo, 1: aruco, 2: servo & aruco, 3: image(TBC)
    
"goal_selection_method": 0: fixed goal position, 1: 90 degrees relative to current position, 2: 180 degrees relative to current position, 3: 270 degrees relative to current position, 4: Value between 30-330 degrees relative to current position on new episode, 5: 90, 180, or 270 degrees relative to current position on new episode

"marker_size": size of aruco marker in mm
"noise_tolerance": difference between actual position and observed position

"camera_matrix": "/home/anyone/workspace/Gripper-Code/scripts/config_examples/camera_distortion.txt",
"camera_distortion": "/home/anyone/workspace/Gripper-Code/scripts/config_examples/camera_distortion.txt"

Object configurations - IDx.json

"object_type": currently "magnet" or "servo"
"object_observation_mode": how gripper gets object state, "actual"(servo or magnet) or "observed"(camera aruco marker)
"object_marker_id": aruco marker ID on the object

"device_name": Arduino board for magnet, can be found using arduino IDE e.g."/dev/ttyACM0"
"baudrate": object communication baudrate, set to 115200 in target object file

Learning configurations - learning_config_example.json

"algorithm": for training e.g. "TD3"
"seed": 456
"batch_size": 100,
"buffer_capacity": 1000000,
"episode_horizont": number of steps per episode

"G": number of times it learns each training
"plot_freq": plot data every # episode
"max_steps_exploration": number of exploration steps
"max_steps_training": number of total training steps

"actor_lr": 1e-3,
"critic_lr": 1e-3,
"gamma": 0.98,
"tau": 0.005, # does not apply to PPO

"min_noise": 0.01,
"noise_decay": 0.9999,
"noise_scale": 0.10 # only applies to TD3