ROS + SysML (astah-plugin)
ROS (Robot Operating System) is quite easy for prototyping robotic systems.
However, have you ever thought that the ROS is not familiar to the system designing process?
I propose one solution “SysML with ROS”. SysML is standardized modeling language which is similar to UML.
For more information of ROS, please visit official web.
Yuki Suga, Ph.D.
@Sugar Sweet Robotics (http://ssr.tokyo)
@Tokyo Opensource Robotics Kyokai Association (http://opensource-robotics.tokyo.jp)
@Waseda University (http://ogata-lab.jp)
@Sibaura Institute of Tech (http://www.hri.ee.shibaura-it.ac.jp)
Fully support ROS system design where …
1. Importing ValueTypes from ROS file system (rosmsg, rossrv …)
2. Importing Existing ROS system (like rqt_graph)
3. Exporting package from SysML model.
3. SysML – ROS mapping
!! I NEED DISCUSSION !!
3.1 Block Definition Diagram
Block definition diagram can define the static condition of the package.
Package of SysML is catkin’s package.
Block with <roslaunch> stereotype.
Block with <<rospy_node>> or <<roscpp_node>> stereotype
Value Types. Their data-types are the generalization of the topic.
The value types must have <rostopic> stereotype.
Value properties of node block represent parameter.
3.2 Internal Block Diagram
Launch includes nodes as parts. The connection among the nodes can be defined in IDD.
Name of node
Name of part is name of node. It can have constraints that are the parameter settings in launch.
Topics published/subscribed by node
Ports’ name of the node is topic name.
Ports must have connections to other ports. Connection must be Item flow, and its convey parameters are Value types.
I implemented the modeling tool as a astah-SysML plugin.
For astah-SysML, please visit official page.
5. Current Status
Currently, “Value Type Import” function and “Exporting SysML to ROS catkin” is partly supported.
Support Environment: Ubuntu 14.04 + ROS Indigo + astah-SysML
I need more discussion of the mapping problem between ROS and SysML.
1. Mapping ROS and SysML
Current Mapping supports very simple model, but this might be difficult to explain “tf”, “topics without connection”, and “dynamic reconfigurable parameters”.
2. Importing function of ROS nodes and topics
The collectable information of active ROS systems is lacking for
A. The original topic name remapped from,
B. Which node is using/owning the parameter
C. Which node is using the service
If you had any ideas, please contact me.
Use contact tab of this page, or follow my twitter @ysuga.