[−][src]Module rustdds::ros2
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 |