Skip to content

Commit

Permalink
Merge branch 'dot'
Browse files Browse the repository at this point in the history
  • Loading branch information
Shih-Yuan Liu committed Jan 5, 2016
2 parents de571dd + a9f9aca commit 4db78e8
Showing 1 changed file with 188 additions and 87 deletions.
275 changes: 188 additions & 87 deletions ros_diagram/duckietown.dot
Original file line number Diff line number Diff line change
@@ -1,105 +1,206 @@
digraph D {
fontname="sans";
subgraph cluster_legend{
label="legend"
// ROS Topics
topic_name;
// ROS Nodes
node [shape=box]
node_name;

// Connection
node_name -> topic_name [label="publish"];
topic_name -> node_name [label="subscribe"];
}


//subgraph cluster_legend{
// label="legend"
// // ROS Topics
// topic_name;
// // ROS Nodes
// node [shape=box]
// node_name;
// // Connection
// node_name -> topic_name [label="publish"];
// topic_name -> node_name [label="subscribe"];
//}

// Nodes

node [shape=box];
lane_filter; //tells you y and phi
line_detector;
april_tag_detector;
intersection_filter;
global_localizer;
stop_line_filter;
camera_node;
led_detector;
obj_detector;
map_reader;
lane_controller;
car_supervisor;
joy_node;
joy_mapper;
beeper;
intersection_controller;
safety_supervisor;
wheel_driver;
mission_planner;
rgb_led;
veh_detector;
//{rank=max; wheel_driver;beeper;rgb_led}
//{rank=min; map_reader;joy_node;camera_node}

// Topics
node [shape=ellipse];
//{rank=same; mission; joy; map_representation;}
map_representation;
img_low;
img_high;
segment_list;
image_with_lines;
lane_reading; //LaneReading: y, phi, sigma_y, sigma_phi, status
april_tag_detection;
led_detection;
veh_detection;
traffic_light_detection;
intersection_reading;
obj_detection;
global_readings;
stop_line_reading;
mode;
mission;
lane_control;
joy_control;
intersection_control;

subgraph cluster_perception{
label="perception"
// TOPIC
img;
segment_list;
image_with_lines;
lane_reading; //LaneReading: y, phi, sigma_y, sigma_phi, status
// ROS Nodes
node [shape=box];
lane_filter; //tells you y and phi
// Nodes
camera_node;
obj_detector;
line_detector;
lane_filter;
april_tag_detector;
sign_detector;
traffic_light_detector;
vehicle_detector;
duckie_detector;
relative_intersection_localizer;
global_localizer;
stop_line_detector;
camera_node;
april_tag_detection;
led_detector;
plate_detector;

// Connections
camera_node->img;

img->line_detector;
img->april_tag_detector;
img->led_detector;
img->stop_line_detector;
img->relative_intersection_localizer;
img->duckie_detector;
img->vehicle_detector;
img->traffic_light_detector;
img->sign_detector;
img->plate_detector;

line_detector->segment_list [label="SegmentList.msg"];
line_detector->image_with_lines [label="sensor_msgs/Image.msg"]
segment_list->lane_filter;
lane_filter->lane_reading [label="LaneReading.msg"];
veh_detector;
stop_line_filter;
traffic_light_detector;
intersection_filter;
// Topics
segment_list;
img_low;
img_high;
april_tag_detection;
lane_reading;
image_with_lines;
obj_detection;
led_detection;
veh_detection;
stop_line_reading;
traffic_light_detection;
intersection_reading;
}

subgraph cluster_control{
label="control"
// Nodes
joy_node;
joy_mapper;
lane_controller;
intersection_controller;
car_supervisor;
safety_supervisor;
// Topics
joy_control;
joy;
lane_control;
intersection_control;
{rank=same; intersection_controller;lane_controller;}
}

subgraph cluster_map{
label="map";
// TOPICS
subgraph cluster_localization{
label="localization"
// Nodes
map_reader;
global_localizer;

// Topics
map_representation;
// ROS Nodes
node [shape=box];
map_visualizer;
map_editor;
localization;
planning;
slam;

slam -> map_representation;
map_representation -> map_visualizer;
map_editor -> map_representation;
map_representation -> map_editor;
map_representation -> planning;
map_representation -> localization;
global_readings;
}

subgraph cluster_lane_following{
label="lane following";
// TOPICS
subgraph cluster_planning{
label="planning"
// Nodes
mission_planner;
// Topics
mission;
mode;
}

// ROS Nodes
node [shape=box];
lane_controller;
car_emulator;
car_supervisor;
joy_node;
joy_mapper;
subgraph cluster_driver{
label="driver"
// Nodes
wheel_driver;
beeper;
safety_supervisor;
// CONNECTIONS
joy_node->joy_mapper [label="sensor_msgs/Joy.msg"];
joy_mapper-> car_supervisor [label="CarControl.msg"];
lane_reading->lane_controller [label="LaneReading.msg"];
lane_controller-> car_supervisor [label="CarControl.msg"];
//car_supervisor -> beeper [label="std_msgs/Bool.msg"];
//car_supervisor->car_emulator [label="CarControl.msg"];
car_supervisor->safety_supervisor [label="CarControl.msg"];
safety_supervisor->car_emulator [label="CarControl.msg"];
safety_supervisor->beeper [label="std_msgs/Bool.msg"];
car_emulator->wheel_driver [label="WheelCmd.msg"];
rgb_led;
}


// Connections
camera_node->img_high;
camera_node->img_low;

img_low->line_detector;
img_low->led_detector;

img_high->april_tag_detector;
img_high->obj_detector;

led_detector->led_detection;
led_detection->veh_detector;
led_detection->traffic_light_detector;

veh_detector->veh_detection;
traffic_light_detector->traffic_light_detection;

intersection_filter->intersection_reading;

line_detector->segment_list [label="SegmentList.msg"];
line_detector->image_with_lines [label="sensor_msgs/Image.msg"]
segment_list->stop_line_filter;
segment_list->lane_filter;
lane_filter->lane_reading [label="LaneReading.msg"];
lane_reading->lane_controller [label="LaneReading.msg"];
lane_reading->mission_planner;

stop_line_filter->stop_line_reading;
stop_line_reading->lane_controller;
stop_line_reading->mission_planner;

obj_detector->obj_detection;
obj_detection->global_localizer;
april_tag_detector->april_tag_detection;
april_tag_detection->intersection_filter;
april_tag_detection->global_localizer;
global_localizer->global_readings;

map_reader -> map_representation;
map_representation->global_localizer;
map_representation->mission_planner;

joy_node->joy->joy_mapper->joy_control;
joy_control-> car_supervisor [label="CarControl.msg"];
lane_controller->lane_control;
lane_control-> car_supervisor [label="CarControl.msg"];
car_supervisor->safety_supervisor [label="CarControl.msg"];
safety_supervisor->wheel_driver;
safety_supervisor->beeper;

intersection_reading->intersection_controller;
intersection_reading->mission_planner;
traffic_light_detection->intersection_controller;
mode->intersection_controller;
mode->lane_controller;

veh_detection->safety_supervisor;
intersection_controller->intersection_control;
intersection_control->safety_supervisor;
global_readings->mission_planner;
mission_planner->mode;
mission->mission_planner;

//TODO annotate msg type.
}

0 comments on commit 4db78e8

Please sign in to comment.