Module rustdds::ros2 [−][src]
ROS2 interface using DDS module
Examples
use rustdds::dds::DomainParticipant; use rustdds::dds::data_types::TopicKind; use rustdds::dds::traits::RTPSEntity; use rustdds::ros2::RosParticipant; use rustdds::ros2::NodeOptions; use rustdds::ros2::RosNode; use rustdds::ros2::builtin_datatypes::NodeInfo; use rustdds::dds::qos::QosPolicies; use rustdds::serialization::CDRSerializerAdapter; // RosParticipant is needed for defined RosNodes to be visible in ROS2 network. let mut ros_participant = RosParticipant::new().unwrap(); // declaring ros node let mut ros_node = ros_participant.new_RosNode( "some_node_name", "/some_namespace", NodeOptions::new(false), // enable rosout? ).unwrap(); // Creating some topic for RosNode let some_topic = ros_node.create_ros_topic( "some_topic_name", "NodeInfo", QosPolicies::builder().build(), TopicKind::NoKey) .unwrap(); // declaring some writer that use non keyed types let some_writer = ros_node .create_ros_nokey_publisher::<NodeInfo, CDRSerializerAdapter<_>>( some_topic, None) .unwrap(); // Readers and RosParticipant implement mio Evented trait and thus function the same way as // std::sync::mpcs and can be handled the same way for reading the data
Modules
builtin_datatypes | Some builtin datatypes needed for ROS2 communication |
builtin_topics | Some convenience topic infos for ROS2 communication |
Structs
NodeOptions | Configuration of RosNode |
RosNode | Node in ROS2 network. Holds necessary readers and writers for rosout and parameter events topics internally. Should be constructed using builder. |
RosParticipant | RosParticipant sends and receives other participants information in ROS2 network |
Type Definitions
KeyedRosPublisher | |
KeyedRosPublisher_CDR | |
KeyedRosSubscriber | |
KeyedRosSubscriber_CDR | |
RosPublisher | |
RosPublisher_CDR | |
RosSubscriber | |
RosSubscriber_CDR |