autoware_joy_controller
Role
autoware_joy_controller
is the package to convert a joy msg to autoware commands (e.g. steering wheel, shift, turn signal, engage) for a vehicle.
Usage
ROS 2 launch
# With default config (ds4)
ros2 launch autoware_joy_controller joy_controller.launch.xml
# Default config but select from the existing parameter files
ros2 launch autoware_joy_controller joy_controller_param_selection.launch.xml joy_type:=ds4 # or g29, p65, xbox
# Override the param file
ros2 launch autoware_joy_controller joy_controller.launch.xml config_file:=/path/to/your/param.yaml
Name |
Type |
Description |
~/input/joy |
sensor_msgs::msg::Joy |
joy controller command |
~/input/odometry |
nav_msgs::msg::Odometry |
ego vehicle odometry to get twist |
Output topics
Name |
Type |
Description |
~/output/control_command |
autoware_control_msgs::msg::Control |
lateral and longitudinal control command |
~/output/external_control_command |
tier4_external_api_msgs::msg::ControlCommandStamped |
lateral and longitudinal control command |
~/output/shift |
tier4_external_api_msgs::msg::GearShiftStamped |
gear command |
~/output/turn_signal |
tier4_external_api_msgs::msg::TurnSignalStamped |
turn signal command |
~/output/gate_mode |
tier4_control_msgs::msg::GateMode |
gate mode (Auto or External) |
~/output/heartbeat |
tier4_external_api_msgs::msg::Heartbeat |
heartbeat |
~/output/vehicle_engage |
autoware_vehicle_msgs::msg::Engage |
vehicle engage |
Parameters
Parameter |
Type |
Description |
joy_type |
string |
joy controller type (default: DS4) |
update_rate |
double |
update rate to publish control commands |
accel_ratio |
double |
ratio to calculate acceleration (commanded acceleration is ratio * operation) |
brake_ratio |
double |
ratio to calculate deceleration (commanded acceleration is -ratio * operation) |
steer_ratio |
double |
ratio to calculate deceleration (commanded steer is ratio * operation) |
steering_angle_velocity |
double |
steering angle velocity for operation |
accel_sensitivity |
double |
sensitivity to calculate acceleration for external API (commanded acceleration is pow(operation, 1 / sensitivity)) |
brake_sensitivity |
double |
sensitivity to calculate deceleration for external API (commanded acceleration is pow(operation, 1 / sensitivity)) |
raw_control |
bool |
skip input odometry if true |
velocity_gain |
double |
ratio to calculate velocity by acceleration |
max_forward_velocity |
double |
absolute max velocity to go forward |
max_backward_velocity |
double |
absolute max velocity to go backward |
backward_accel_ratio |
double |
ratio to calculate deceleration (commanded acceleration is -ratio * operation) |
P65 Joystick Key Map
Action |
Button |
Acceleration |
R2 |
Brake |
L2 |
Steering |
Left Stick Left Right |
Shift up |
Cursor Up |
Shift down |
Cursor Down |
Shift Drive |
Cursor Left |
Shift Reverse |
Cursor Right |
Turn Signal Left |
L1 |
Turn Signal Right |
R1 |
Clear Turn Signal |
A |
Gate Mode |
B |
Emergency Stop |
Select |
Clear Emergency Stop |
Start |
Autoware Engage |
X |
Autoware Disengage |
Y |
Vehicle Engage |
PS |
Vehicle Disengage |
Right Trigger |
DS4 Joystick Key Map
Action |
Button |
Acceleration |
R2, ×, or Right Stick Up |
Brake |
L2, □, or Right Stick Down |
Steering |
Left Stick Left Right |
Shift up |
Cursor Up |
Shift down |
Cursor Down |
Shift Drive |
Cursor Left |
Shift Reverse |
Cursor Right |
Turn Signal Left |
L1 |
Turn Signal Right |
R1 |
Clear Turn Signal |
SHARE |
Gate Mode |
OPTIONS |
Emergency Stop |
PS |
Clear Emergency Stop |
PS |
Autoware Engage |
○ |
Autoware Disengage |
○ |
Vehicle Engage |
△ |
Vehicle Disengage |
△ |
XBOX Joystick Key Map
Action |
Button |
Acceleration |
RT |
Brake |
LT |
Steering |
Left Stick Left Right |
Shift up |
Cursor Up |
Shift down |
Cursor Down |
Shift Drive |
Cursor Left |
Shift Reverse |
Cursor Right |
Turn Signal Left |
LB |
Turn Signal Right |
RB |
Clear Turn Signal |
A |
Gate Mode |
B |
Emergency Stop |
View |
Clear Emergency Stop |
Menu |
Autoware Engage |
X |
Autoware Disengage |
Y |
Vehicle Engage |
Left Stick Button |
Vehicle Disengage |
Right Stick Button |