Skip to content

An RTT transport plugin for communication with RSB systems

License

Notifications You must be signed in to change notification settings

corlab/rtt-rsb-transport

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RTT RSB Transport

Contents

This library provides an RTT transport plugin for sending and receiving RST-RT types to/from and RSB bus.

The code is heavily based on the rtt_roscomm plugin in the rtt_ros_integration repository .

Supported Types

RSB Type RTT Type
rst.geometry.Translation rstrt::geometry::Translation
rst.geometry.Rotation rstrt::geometry::Rotation
rst.geometry.Pose rstrt::geometry::Pose
rst.kinematics.JointAngles rstrt::kinematics::JointAngles
rst.kinematics.JointVelocities rstrt::kinematics::JointVelocities
rst.kinematics.JointAccelerations rstrt::kinematics::JointAccelerations
rst.kinematics.JointJerks rstrt::kinematics::JointJerks
rst.kinematics.LinearVelocities rstrt::kinematics::LinearVelocities
rst.kinematics.AngularVelocities rstrt::geometry::AngularVelocity
rst.kinematics.Twist rstrt::kinematics::Twist
rst.dynamics.JointTorques rstrt::dynamics::JointTorques
rst.dynamics.JointImpedance rstrt::dynamics::JointImpedance
rst.robot.JointState rstrt::robot::JointState
rst.robot.Weights rstrt::robot::Weights
rst.robot.ForceApplication rstrt::robot::ForceApplication
bool bool
int64 int
uint64 uint
double double
float float
utf-8-string string

Plugins

RSB Scopes

This plugin provides a global RTT service for creating connection policies that establish RSB socket connections to specified scopes.

RSB Socket Transport

This plugin provides (not yet) real-time-safe socket connections between RSB scopes and Orocos RTT data ports.

Usage

Connecting an Orocos Port to an RSB Scope

# Imports
import("rst-rt_typekit")
import("rtt_rsbcomm")

# Streaming
stream("my_component.my_output", rsb.transport.socket.scope("/my/output"))
stream("my_component.my_input", rsb.transport.socket.scope("/my/input"))

You can also set up these connections in C++ code:

#include <rtt_rsbcomm/scope/ScopeService.hpp>

// ...

  // Add the port and stream it to an RSB scope
  this->ports()->addPort("my_port", my_port_);
  my_port_.createStream(rtt_rsbcomm::scope::scope("/my/scope"));

// ...

About

An RTT transport plugin for communication with RSB systems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published