Skip to content

BOTSlab/kodama_server

 
 

Repository files navigation

kodama_server

This repository is a fork of Calvin Gregory's microUSV which is being adapted as the server to work with the Kodama robots housed in the BOTS Lab.

This repository contains source code for only the server-side component kodama_server, which is a version of microUSV's CVSensorSimulator.

This is a desktop application to simulate a Kodama robot's onboard sensors using an overhead camera system and AprilTags. It requires the OpenCV and Protobuf libraries. The host PC most also be outfitted with a webcam and connected to a wifi network, the same wifi network as any microUSV's being tested.

The application uses a json config file to which should be modified to reflect a user's setup.

Config Field Type Value
visualize boolean Enables or disables the application showing a video feed with labelled tag detections.
cameraInfo Camera calibration parameters (can be found using openCV)
cameraInfo:cameraID Integer Overhead camera's index number on the host PC. This can be found by using the v4l2-ctl --list-devices command
camerInfo:x_res Integer camera's x-resolution in pixels
cameraInfo:y_res Integer camera's y-resolution in pixels
cameraInfo:fx Float camera's x focal length in mm
cameraInfo:fy Float camera's y focal length in mm
cameraInfo:cx Float camera's x center point coordinate in pixels
cameraInfo:cy Float camera's y center point coordinate in pixels
tagsize Float side length of the apriltags in mm (measure the black border)
target_hsv_thresh_low:h Integer Target detection color threshold lower bound. Hue
target_hsv_thresh_low:s Integer Target detection color threshold lower bound. Saturation
target_hsv_thresh_low:v Integer Target detection color threshold lower bound. Value
target_hsv_thresh_high:h Integer Target detection color threshold upper bound. Hue
target_hsv_thresh_high:s Integer Target detection color threshold upper bound. Saturation
target_hsv_thresh_high:v Integer Target detection color threshold upper bound. Value
Robots Integer, String List of all robots being used and their associated AprilTag ID numbers and labels

No Longer Supported: The following fields in the json config file are no longer supported:

Config Field Type Value
Waypoints Float, Float List of waypoint coordinates to send to each microUSV
loop_waypoints Boolean Flag indicating if waypoint list should be repeated after each one has been reached
output_csv Boolean Flag indicating if the application should export the pose history for each robot to a CSV file

To launch the application, navigate to the kodama_server binary and execute the following:

$ ./kodama_server

The file config.json must be present.

About

Control software for the microUSV.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 90.1%
  • C++ 9.9%