Contents
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.
- Message with raw pwm values for steering angle and throttle data sent to the servo package to calibrate the car in calibration mode.
- 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.
- 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.
- Service that is called to activate and deactivate the current vehicle mode.
- Service that is called to get the current calibration PWM values [min, mid, max, polarity] for the steering or throttle.
- Service that is called to set the calibration PWM values [min, mid, max, polarity] for the steering or throttle.
- Service that is called to set the tail light LED [red, green, blue] channel PWM values.
- Service that is called to get the tail light LED [red, green, blue] channel PWM values.
- Service that is called to execute the load model services in background thread.
- Service that is called to set the scale value to multiply to the throttle during autonomous navigation.
- 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.
- Client to the load model service from the inference package that is called to set the preprocessing and inference task details in autonomous mode.
- Client to service that is called to enable/disable inference function on the stream of sensor messages in autonomous mode.
- Client ot service that is called to enable/disable the servo GPIO to allow setting the PWM values on the servo and motor.
- Client to set the calibration value for the steering or throttle in calibration mode.
- Client to get the current calibration value for the steering or throttle in calibration mode.
- Client to get car led service to get the tail light LED channel PWM values in calibration mode.
- Client to set car led service to set the tail light LED channel PWM values in calibration mode.
- Client to service that is called set the scale value for the navigation throttle in autonomous mode to control the speed of the device.
- 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.