This class is a simple dynamic graph manager with a fake hardware interface used for unittesting.
More...
|
static const std::string | dg_ros_node_name_ = "dynamic_graph" |
| dg_ros_node_name_ this is the ros node name of the dynamic graph process
|
|
static const std::string | hw_com_ros_node_name_ |
| hw_com_ros_node_name_ this is the ros node name of the harware communication process More...
|
|
static const std::string | shared_memory_name_ = "DGM_ShM" |
| shared_memory_name is the name of the shared memory segment to be used
|
|
static const std::string | sensors_map_name_ = "sensors_map" |
| sensors_map_name is the name of the sensor map inside the shared memory segment
|
|
static const std::string | motor_controls_map_name_ |
| motor_controls_map_name is the name of the motor controls map inside the shared memory segment More...
|
|
static const std::string | cond_var_name_ = "cond_var" |
| cond_var_sensors_name_ is the name of the condition variable in the shared memory
|
|
void | add_user_command (std::function< void(void)> func) |
| Method inherited. More...
|
|
ros::ServiceServer | ros_service_start_dg_ |
| ros_service_start_dg_ allows to start the dynamic graph on call. More...
|
|
ros::ServiceServer | ros_service_stop_dg_ |
| ros_service_stop_dg_ allows to stop the dynamic graph on call. More...
|
|
std::atomic< bool > | is_dynamic_graph_stopped_ |
| is_dynamic_graph_stopped_ is the flag reflecting the state of the dynamic graph. More...
|
|
std::atomic< bool > | is_hardware_communication_stopped_ |
| is_hardware_communication_stopped_ is the flag reflecting the state of the hardware communication thread. More...
|
|
std::unique_ptr< dynamic_graph::RosPythonInterpreter > | ros_python_interpreter_ |
| ros_python_interpreter_ptr_ is a ROS wrapper around a python interpreter.
|
|
std::unique_ptr< real_time_tools::RealTimeThread > | thread_dynamic_graph_ |
| thread_dynamic_graph_ is the real time thread that runs the dynamic graph.
|
|
std::unique_ptr< real_time_tools::RealTimeThread > | thread_hardware_communication_ |
| thread_hardware_communication_ is the real thread that communicate with the hardware.
|
|
pid_t | pid_dynamic_graph_process_ |
| pid_dynamic_graph_process_ is the pid of the DynamicGraph process. More...
|
|
pid_t | pid_hardware_communication_process_ |
| pid_hardware_communication_process_ is the pid of the hardware communication process. More...
|
|
std::unique_ptr< Device > | device_ |
| device_ is the DynamicGraph device that manages the computation of the graph.
|
|
VectorDGMap | sensors_map_ |
| sensors_map_ is a map of dynamicgraph::Vector. More...
|
|
VectorDGMap | motor_controls_map_ |
| motor_controls_map_ is a map of dynamicgraph::Vector. More...
|
|
std::unique_ptr< shared_memory::LockedConditionVariable > | cond_var_ |
| cond_var_sensors_ this condition variable allow the computation of the dynamic graph just after the acquisition of the sensors
|
|
bool | has_been_waken_by_dg_ |
| has_been_waken_by_dg_ is a flag that indicates if the hardware communication process has been awaken by the dynamic_graph process or not.
|
|
unsigned | missed_control_count_ |
| missed_control_count_ is counting the number of iteration when the dynamic_graph failed to provide data.
|
|
unsigned | max_missed_control_ |
| max_missed_control_ if the missed_control_count_ reach the value of max_missed_control_ then we switch to safety mode.
|
|
clock::duration | control_period_ |
| control_period_ this is the control period in nanoseconds.
|
|
clock::time_point | hw_time_loop_before_sleep_ |
| hw_time_loop_before_sleep_ is the time measurement just before the hardware communication loop goes to sleep.
|
|
clock::time_point | hw_time_loop_after_sleep_ |
| hw_time_loop_after_sleep_ is the time measurement just after the hardware communication loop goes to sleep.
|
|
clock::duration | hw_meas_sleep_time_ |
| hw_measured_sleep_time_ is the time during which the hardware communication process actually slept.
|
|
clock::duration | hw_ref_sleep_time_ |
| hw_ref_sleep_time_ is the time during which the hardware communication process is supposed to sleep.
|
|
clock::duration | hw_meas_active_time_ |
| hw_meas_active_time_ is the time during which the hardware communication process is supposed to sleep.
|
|
bool | is_real_robot_ |
| is_real_robot this boolean is a parameter to indicate if yes or no we are in simulation or in a real robot mode.
|
|
std::string | dg_active_timer_file_ |
| dg_active_timer_file_ this is the path to the file that will contain the computation time of each of the dynamic graph complete execution.
|
|
std::string | dg_sleep_timer_file_ |
| dg_sleep_timer_file_ this is the path to the file that will contain the sleep duration of the dynamic graph thread.
|
|
std::string | dg_timer_file_ |
| dg_timer_file_ this is the path to the file that will contain the time of the dynamic graph loop.
|
|
std::string | hwc_active_timer_file_ |
| hwc_active_timer_file_ this is the path to the file that will contain the computation time of each active period of the hardware communication loop.
|
|
std::string | hwc_sleep_timer_file_ |
| hwc_sleep_timer_file_ this is the path to the file that will contain the sleeping time of the hardware communication loop.
|
|
std::string | hwc_timer_file_ |
| hwc_timer_file_ this is the path to the file that will contain the computation time of each of the hardware communication complete execution.
|
|
std::string | log_dir_ |
| log_folder_ is the folder where all the data of the current experiment will be saved.
|
|
std::string | python_log_file_ |
| This file will contain the python interpreter output.
|
|
std::string | app_dir_ |
| This is the application directory in the home directory.
|
|
real_time_tools::Timer | dg_active_timer_ |
| dg_active_timer_ is the timer measuring the computation time of the dynamic graph loop.
|
|
real_time_tools::Timer | dg_sleep_timer_ |
| dg_sleep_timer_ is the timer measuring the time during which the dynamic graph loop sleeps.
|
|
real_time_tools::Timer | dg_timer_ |
| dg_timer_ is the timer measuring the duration time of the dynamic graph loop.
|
|
real_time_tools::Timer | hwc_active_timer_ |
| hwc_active_timer is measuring the active time of the hardware communication loop
|
|
real_time_tools::Timer | hwc_sleep_timer_ |
| hwc_sleep_timer is measuring the sleeping time of the hardware communication loop
|
|
real_time_tools::Timer | hwc_timer_ |
| hwc_timer is measuring the time of the hardware communication loop
|
|
unsigned | memory_buffer_timers_ |
| memory_buffer_timers_ is the size of the memory buffers for the real_time_tools timers.
|
|
real_time_tools::Spinner | hwc_spinner_ |
| This class allows us to time the real time thread for the hardware communication.
|
|
double | hwc_predicted_sleeping_time_ |
| This corresponds to the predicted sleeping time for the hardware communication process. More...
|
|
double | maximum_time_for_user_cmd_ |
| This the duration during which a user command can be executed.
|
|
std::deque< std::function< void(void)> > | user_commands_ |
| This is the list of the user commands.
|
|
std::deque< ros::ServiceServer > | ros_user_commands_ |
| Attribute shared with the daughter class. More...
|
|
double | control_period_sec_ |
| control_period_sec_ this is the control period in Seconds (S.I. More...
|
|
YAML::Node | params_ |
| params_ is the pool of parameters in a yaml tree
|
|
std::mutex | hwc_mutex_ |
|
This class is a simple dynamic graph manager with a fake hardware interface used for unittesting.
- Examples:
- main.cpp.