All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Compute 'ERPM_MAX' with proper equation.
- PWM constants are not computed in
SIMULATION
mode (andcmd_vel
are not computed inBASIC
mode), therefore, it is able to run inSIMULATION
mode without car parameters. - Simulation action modifiers are now properly received from the Parameter Server.
- Added support for direct specification of VESC related constants by setting
ERPM_MAX
andTO_ERPM
variables. - Added
ANGULAR
control mode, which allows to control the steering angle inrad
ordeg
. - Added
METRIC
support forSIMULATION
mode. - Added
~rate
parameter for external setting of publish rate of the messages. - Added
~speed_modifier
and~steer_modifier
to increase the action while usingLEGACY
orJOINT
control modes inSIMULATION
mode.
- Legacy message type
drive_api_values
is no longer required for running the node. - Simulation publishing topic
/cmd_vel
is created only in this mode. - PWM constants are no longer required for running the node in
SIMULATION
mode. - Improved error messages while handing
/command
messages to be more verbose. - Ordinary publishing topic
/drive_pwm
is created only in non-SIMULATION
mode.
- Added new enum
ControlMode
that can be used to select a method of controlling the vehicle. Original control mode is namedLEGACY
. - Added
JOINT
control mode, which is specified only by two numbers within <-1, 1> interval. - Added
METRIC
control mode, which allows to control the speed inm.s^-1
. - Added
command_msgs/Command
,command_msgs/CommandParameter
andcommand_msgs/CommandArrayStamped
message types (not required to run the node). - Added
command_callback
function that handlescommand_msgs/CommandArrayStamped
messages that can also contain control mode. - Added VESC support (
LEGACY
andJOINT
control modes are mapped on max rotation of the motor, computed from parameters). - Added new enum
RunMode
that is set on node's start and has three options:BASIC
,BASIC_VESC
(speed controlled by VESC, steering by Teensy) andSIMULATION
.
- Added queue size for Subscribers to avoid stacking of old messages.
- Steering direction for
/cmd_vel
.
- Added simulation mode that does not require internal car parameters.
- Added option to launch the node as anonymous.
- Added
/eStop
Subscriber to avoid sending messages when manual mode is active.
- Added handling of uncaught exception when ROS time jumps.
- Publishing received commands to standardized
/cmd_vel
topic.
- Updated message
drive_api_values
to allow stopping car and resetting steer.
- Access to the API via ROS topic.
- Added custom message type
drive_api_values
.
- First version of car control API layer (Python module).