# **For UI:**
1. /stroke_length will remain the same, it's type is std_msgs::Int16, it will be used for the distance you want the slider to travel
2. /set_joint_angle_value will be the topic for forward distance, it's type is std_msgs::Int32
3. /cycles will be used for setting the size of the grid, input 1 to set 1x1, 2 for 2x2, etc, it's type is std_msgs::Int16
4. /abort_raster_scanning for killing raster scanning and /abort_grid_mapping for killing grid mapping both std_srvs::Trigger
5. /start_grid_scanning for auto mode grid scanning and /start_raster_scanning for auto mode raster scanning both std_srvs::Trigger. Remember to call /crawler_control_node/stop_teleop for both of them. Kill joystick if you want to.
6. Electromagnet will be manually activated by /relay_toggle_channel data: 5
7. Pump will be manually activated by /relay_toggle_channel data: 2
8. Grinder will manually activate with /servo_trigger_channel std_srvs::Trigger
9. /pause_tree will pause the behavior tree std_srvs::Trigger
# How to control manual mode:
1. Hold the up and down buttons on D pad for increasing and decreasing the linear actuator position.
2. Hold left and right to control the slider's motor, release the button to stop
# How to start auto mode:
1. Set stroke length, the distance should not exceed 400mm
2. Set forward distance, there's no maximum distance but anything more than 100mm is uncharted territory proceed with caution with values above that. Safe range is (10-100)
3. Set cycles, maximum value of 12, minimum 1
4. Make sure electromagnet is turned off when starting and linear actuator at zero position, which can easily be set using controller's D pad
5. Start auto mode for grid scanning or raster scanning
6. Pause if you need to or make adjustments using controller's D pad
7. Stop if you need to restart again
8. Bot will stop after grid mapping is done
9. Bot will not stop after raster scanning and you have to manually stop it