Copyright | Alexander Krupenkin 2016 |
---|---|
License | BSD3 |
Maintainer | mail@akru.me |
Stability | experimental |
Portability | POSIX / WIN32 |
Safe Haskell | None |
Language | Haskell2010 |
Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it's all open source.
In ROS a node is a process that performs computation. Nodes communicate with each other by publishing messages to topics. A message is a simple data structure, comprising typed fields. Standard primitive types (integer, floating point, boolean, etc.) are supported, as are arrays of primitive types. Messages can include arbitrarily nested structures and arrays (much like C structs).
This package provide the ROS message language parser and builder. Abstract message representation given by parser can be used in TemplateHaskell codegen for native Haskell structures creation.
- class Binary a => Message a where
- class Message a => Stamped a where
- newtype ROSFixedArray n a = ROSFixedArray {
- unFixedArray :: Array a
- newtype ROSArray a = ROSArray {
- unArray :: Array a
- type ROSDuration = (Int32, Int32)
- type ROSTime = (Word32, Word32)
ROS message classes
class Binary a => Message a where Source #
Haskell native type for ROS message language described
data structure. Serialization guaranted by Binary
super
class. And no more is needed for transfer over socket.
class Message a => Stamped a where Source #
Sometime ROS messages have a special Header
field.
It used for tracking package sequence, time stamping
and frame tagging. Headers is frequently field. The
Stamped
type class lifts header fields on the top
of message and abstracting of type.
Common used types
Array-like
newtype ROSFixedArray n a Source #
A type for fixed arrays in ROS messages
ROSFixedArray | |
|
Functor (ROSFixedArray n) Source # | |
Applicative (ROSFixedArray n) Source # | |
Eq a => Eq (ROSFixedArray n a) Source # | |
(Data a, KnownNat n) => Data (ROSFixedArray n a) Source # | |
Ord a => Ord (ROSFixedArray n a) Source # | |
Show a => Show (ROSFixedArray n a) Source # | |
Monoid (ROSFixedArray n a) Source # | |
(Binary a, KnownNat n) => Binary (ROSFixedArray n a) Source # | |
(Default a, KnownNat n) => Default (ROSFixedArray n a) Source # | |
A type for arrays in ROS messages
Time description
type ROSDuration = (Int32, Int32) Source #
ROSDuration is a tuple of (seconds, nanoseconds)