Overview

The DeepRacer Control ROS package creates the ctrl_node which is part of the core AWS DeepRacer application which is launched from the deepracer_launcher. More details about the application and the components can be found here.

License

The source code is released under Apache 2.0.

Supported ROS Distributions

  • Foxy

Node Details

ctrl_node

Subscribed Topics

/deepracer_navigation_pkg/auto_drive (msg/ServoCtrlMsg)
  • Message with scaled steering angle and throttle data as per action space values sent to the servo package to move the car in autonomous mode.
/webserver_pkg/calibration_drive (msg/ServoCtrlMsg)
  • Message with raw pwm values for steering angle and throttle data sent to the servo package to calibrate the car in calibration mode.
/webserver_pkg/manual_drive (msg/ServoCtrlMsg)
  • Message with steering angle and throttle data sent to the servo package to move the car in manual mode.

Published Topics

/ctrl_pkg/raw_pwm (msg/ServoCtrlMsg)
  • Publisher to send a message with raw pwm values for steering angle and throttle data sent to the servo package to calibrate the car.
/ctrl_pkg/servo_msg (msg/ServoCtrlMsg)
  • Publisher to send a message with steering angle and throttle data sent to the servo package to move the car.

Services

vehicle_state (srv/ActiveStateSrv)
  • Service that is called to set the vehicle mode by deactivating the current vehicle state and set the new mode.
enable_state (srv/EnableStateSrv)
  • Service that is called to activate and deactivate the current vehicle mode.
get_car_cal (srv/GetCalibrationSrv)
  • Service that is called to get the current calibration PWM values [min, mid, max, polarity] for the steering or throttle.
set_car_cal (srv/SetCalibrationSrv)
  • Service that is called to set the calibration PWM values [min, mid, max, polarity] for the steering or throttle.
set_car_led (srv/SetLedCtrlSrv)
  • Service that is called to set the tail light LED [red, green, blue] channel PWM values.
get_car_led (srv/GetLedCtrlSrv)
  • Service that is called to get the tail light LED [red, green, blue] channel PWM values.
model_state (srv/ModelStateSrv)
  • Service that is called to execute the load model services in background thread.
autonomous_throttle (srv/NavThrottleSrv)
  • Service that is called to set the scale value to multiply to the throttle during autonomous navigation.
is_model_loading (srv/GetModelLoadingStatusSrv)
  • Service that is called to know if there is load model operation going on right now on the device in autonomous mode.

Services Called

/model_optimizer_pkg/model_optimizer_server (srv/ModelOptimizeSrv)
  • Client to the model optimizer service that is called to trigger the model optimizing script for the current model selected in autonomous mode.
/inference_pkg/load_model (srv/LoadModelSrv)
  • Client to the load model service from the inference package that is called to set the preprocessing and inference task details in autonomous mode.
/inference_pkg/inference_state (srv/InferenceStateSrv)
  • Client to service that is called to enable/disable inference function on the stream of sensor messages in autonomous mode.
/servo_pkg/servo_gpio (srv/ServoGPIOSrv)
  • Client ot service that is called to enable/disable the servo GPIO to allow setting the PWM values on the servo and motor.
/servo_pkg/set_calibration (srv/SetCalibrationSrv)
  • Client to set the calibration value for the steering or throttle in calibration mode.
/servo_pkg/get_calibration (srv/GetCalibrationSrv)
  • Client to get the current calibration value for the steering or throttle in calibration mode.
/servo_pkg/get_led_state (srv/GetLedCtrlSrv)
  • Client to get car led service to get the tail light LED channel PWM values in calibration mode.
/servo_pkg/set_led_state (srv/SetLedCtrlSrv)
  • Client to set car led service to set the tail light LED channel PWM values in calibration mode.
/deepracer_navigation_pkg/navigation_throttle (srv/NavThrottleSrv)
  • Client to service that is called set the scale value for the navigation throttle in autonomous mode to control the speed of the device.
/deepracer_navigation_pkg/load_action_space (srv/LoadModelSrv)
  • Client to load action space service that is called to set the action space for the model in deepracer_navigation_node to be used while mapping the inference results to the action values in autonomous mode.

Wiki: aws_deepracer_ctrl_pkg (last edited 2021-04-27 17:04:53 by PratikNichat)