SpeedLimit Message
Package: nav2_msgs
Category: Control Messages
Speed limit information for navigation areas
Message Definition
Field | Type | Description |
---|---|---|
header |
std_msgs/Header |
Standard ROS header with timestamp and frame information |
percentage |
bool |
Setting speed limit in percentage if true or in absolute values in false case |
speed_limit |
float64 |
Maximum allowed speed (in percent of maximum robot speed or in m/s depending on “percentage” value). When no-limit it is set to 0.0 |
Usage Examples
Python
import rclpy
from rclpy.node import Node
from nav2_msgs.msg import SpeedLimit
class SpeedLimitPublisher(Node):
def __init__(self):
super().__init__('speedlimit_publisher')
self.publisher = self.create_publisher(SpeedLimit, 'speedlimit', 10)
def publish_message(self):
msg = SpeedLimit()
msg.header.frame_id = 'map'
msg.header.stamp = self.get_clock().now().to_msg()
msg.percentage = True
msg.speed_limit = 0.0
self.publisher.publish(msg)
C++
#include "rclcpp/rclcpp.hpp"
#include "nav2_msgs/msg/speed_limit.hpp"
class SpeedLimitPublisher : public rclcpp::Node
{
public:
SpeedLimitPublisher() : Node("speedlimit_publisher")
{
publisher_ = create_publisher<nav2_msgs::msg::SpeedLimit>("speedlimit", 10);
}
void publish_message()
{
auto msg = nav2_msgs::msg::SpeedLimit();
msg.header.frame_id = "map";
msg.header.stamp = this->now();
msg.percentage = true;
msg.speed_limit = 0.0;
publisher_->publish(msg);
}
private:
rclcpp::Publisher<nav2_msgs::msg::SpeedLimit>::SharedPtr publisher_;
};