ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Autoware - Vehicle Interface Documentation?

asked 2019-10-23 10:38:55 -0600

Patrick N. gravatar image

I am planning on implementing a vehicle interface to allow Autoware to control a vehicle my university owns. Based on the diagram from: it looks like the Autoware autonomy will publish an autoware_msgs/VehicleCmd and expect an autoware_msgs/VehicleStatus. But I can't find any definition of what is the expected behavior of the interface. For example, if the variable int32 emergency in autoware_msgs/VehicleCmd is set to something (don't even know the values it should take) what should be done? Any help would be greatly appreciated.

edit retag flag offensive close merge delete


Has the safety of this implementation been assessed?

swsllc gravatar image swsllc  ( 2019-10-30 17:44:45 -0600 )edit

Considering it will be a non-commercial limited use case implementation, I doubt we will assess the safety of it.

Patrick N. gravatar image Patrick N.  ( 2019-10-30 23:45:50 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2019-10-30 11:41:58 -0600

Josh Whitley gravatar image

@patrick-n This is mostly up to the vehicle interface developer. The idea behind the generic autoware_msgs/VehicleCmd message is to provide several options for how the vehicle can be controlled and each drive-by-wire interface developer will handle the information provided in a different way. Unfortunately, there is currently no "developer guide" for compatibility of drive-by-wire systems with

Regarding the components of VehicleCmd, they are combined by the twist_gate node from several input topics:

The accel_cmd, brake_cmd, steer_cmd, gear_cmd, mode_cmd, and lamp_cmd values are populated by individual topics (named the same as the value names) which are published by upstream components. These comprise one method of vehicle control.

ctrl_cmd contains linear_acceleration, linear_velocity and steering_angle properties. This is another method of vehicle control.

twist_cmd contains a geometry_msgs/Twist message which, in turn, contains linear and angular components. This is another method of control.

Depending upon which components are enabled upstream and which options are set on them, different portions of this message will be populated. The typical methodology for how to handle this is either:

  1. Decide that you will only support one control method and inform your users.
  2. Listen to all components but create a priority order within your interface.

I'm sorry this isn't more straightforward but this is one of the tasks that the Autoware Vehicle Interface Working Group is trying to tackle. Please let me know if you have further questions.

edit flag offensive delete link more


Thanks for the response. Do you know which package is most used for sending commands in Autoware?

Patrick N. gravatar image Patrick N.  ( 2019-10-31 09:36:16 -0600 )edit

Question Tools



Asked: 2019-10-23 10:38:55 -0600

Seen: 1,375 times

Last updated: Oct 30 '19