This is the obstacle run event for the FIRA HuroCup. It consists of two modules, the logic and the vision. The vision module is adapted from Assignment 1 with some minor bug fixes. The logic module makes decisions based on patterns it recognizes from the vision.
This event has the following requirements:
- OpenCV 3.2+
- Python 2.7
- Darwin-OP3 and its framework
- Image based visual servoing (IBVS)
-
Copy the files over to Darwin-OP 3
-
Use the ROS launch file to run the event
roslaunch obstacle_run obstacle_run.launch
- Press the
mode
button on the Darwin-OP 3 to reset the event. - Press the
start
button on the Darwin-OP 3 to start the event.
The vision can be tuned via the GUI. To start, select the desired object to tune using the Object
trackbar in the debug
window. Change the average colour space value by selecting a range in the camera
window. Modify the threshold values via the other three trackbars.
The vision module has a configuration file under config/configuration.json
. Use this file to tune the vision based on the environment it is used in.
The configuration file gives the ability to change the setting of the camera image and the detected features.
Camera:
- camera_index: the index of the video camera device (default: 0)
- resized_frame_height: height of the resized frame, useful to reduce processing load (default: 320)
Obstacles:
- min_area: minimum area of contours (default: 5000)
- max_area: maximum area of contours (default: 100000)
- output_colour: line colour of the object in the output frame (default: obstacle colour)
- threshold: value added to calculate the min/max rnage of the colour space (default: [0, 0, 0])
- value: average value of the selected range in the colour space (default: [0, 0, 0])
The vision module has a configuration file under config/configuration.json
. Use this file to tune the vision based on the environment it is used in.
The configuration file gives the ability to change the setting of the camera image and the detected features.
The logic module has two configuration files under config/
: action_configurations.json
and walking_configurations.json
. Use these files to change the action and walking configurations based on the environment.
action_configurations.json: This configuration file lists the pages of the crawl motion used in obstacle run.
walking_configurations.json: This configuration file lists the walking gaits for each different type of walk.
- [] Simultaneous localization and mapping (SLAM)