#include <random_walker_controller.hpp>

| Public Member Functions | |
| bool | init () | 
| RandomWalkerController (ros::NodeHandle &nh_priv, std::string &name) | |
| void | spin () | 
| Publishes velocity commands and triggers the LEDs. | |
| ~RandomWalkerController () | |
| Private Member Functions | |
| void | bumperEventCB (const kobuki_msgs::BumperEventConstPtr msg) | 
| Trigger direction change and LED blink, when a bumper is pressed. | |
| void | cliffEventCB (const kobuki_msgs::CliffEventConstPtr msg) | 
| Trigger direction change and LED blink, when a cliff is detected. | |
| void | disableCB (const std_msgs::EmptyConstPtr msg) | 
| ROS logging output for disabling the controller. | |
| void | enableCB (const std_msgs::EmptyConstPtr msg) | 
| ROS logging output for enabling the controller. | |
| void | wheelDropEventCB (const kobuki_msgs::WheelDropEventConstPtr msg) | 
| Trigger stopping and LED blink, when a wheel drop is detected. | |
| Private Attributes | |
| bool | bumper_center_pressed_ | 
| Flag for center bumper's state. | |
| ros::Subscriber | bumper_event_subscriber_ | 
| Subscribers. | |
| bool | bumper_left_pressed_ | 
| Flag for left bumper's state. | |
| bool | bumper_right_pressed_ | 
| Flag for right bumper's state. | |
| bool | change_direction_ | 
| Flag for changing direction. | |
| bool | cliff_center_detected_ | 
| Flag for center cliff sensor's state. | |
| ros::Subscriber | cliff_event_subscriber_ | 
| bool | cliff_left_detected_ | 
| Flag for left cliff sensor's state. | |
| bool | cliff_right_detected_ | 
| Flag for right cliff sensor's state. | |
| ros::Publisher | cmd_vel_publisher_ | 
| Publishers. | |
| ros::Subscriber | disable_controller_subscriber_ | 
| ros::Subscriber | enable_controller_subscriber_ | 
| Subscribers. | |
| ros::Publisher | led1_publisher_ | 
| ros::Publisher | led2_publisher_ | 
| bool | led_bumper_on_ | 
| Flag for bumper LED's state. | |
| bool | led_cliff_on_ | 
| Flag for cliff sensor LED's state. | |
| bool | led_wheel_drop_on_ | 
| Flag for wheel drop sensor LED's state. | |
| std::string | name_ | 
| Node(let) name. | |
| ros::NodeHandle | nh_priv_ | 
| Private ROS handle. | |
| bool | stop_ | 
| Flag for stopping. | |
| bool | turning_ | 
| Flag for turning state. | |
| int | turning_direction_ | 
| Randomly chosen turning direction. | |
| ros::Duration | turning_duration_ | 
| Randomly chosen turning duration. | |
| ros::Time | turning_start_ | 
| Start time of turning. | |
| double | vel_ang_ | 
| Angular velocity for rotating. | |
| double | vel_lin_ | 
| Linear velocity for moving straight. | |
| ros::Subscriber | wheel_drop_event_subscriber_ | 
| bool | wheel_drop_left_detected_ | 
| Flag for left wheel drop sensor's state. | |
| bool | wheel_drop_right_detected_ | 
| Flag for right wheel drop sensor's state. | |
@ brief A controller implementing a simple random walker algorithm
Controller moves the robot around, changing direction whenever a bumper or cliff event occurs For changing direction random angles are used.
Definition at line 42 of file random_walker_controller.hpp.
| kobuki::RandomWalkerController::RandomWalkerController | ( | ros::NodeHandle & | nh_priv, | 
| std::string & | name | ||
| ) |  [inline] | 
Definition at line 45 of file random_walker_controller.hpp.
Definition at line 62 of file random_walker_controller.hpp.
| void kobuki::RandomWalkerController::bumperEventCB | ( | const kobuki_msgs::BumperEventConstPtr | msg | ) |  [private] | 
Trigger direction change and LED blink, when a bumper is pressed.
| msg | bumper event | 
Definition at line 202 of file random_walker_controller.hpp.
| void kobuki::RandomWalkerController::cliffEventCB | ( | const kobuki_msgs::CliffEventConstPtr | msg | ) |  [private] | 
Trigger direction change and LED blink, when a cliff is detected.
| msg | cliff event | 
Definition at line 265 of file random_walker_controller.hpp.
| void kobuki::RandomWalkerController::disableCB | ( | const std_msgs::EmptyConstPtr | msg | ) |  [private] | 
ROS logging output for disabling the controller.
| msg | incoming topic message | 
Definition at line 190 of file random_walker_controller.hpp.
| void kobuki::RandomWalkerController::enableCB | ( | const std_msgs::EmptyConstPtr | msg | ) |  [private] | 
ROS logging output for enabling the controller.
| msg | incoming topic message | 
Definition at line 178 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::init | ( | ) |  [inline, virtual] | 
Set-up necessary publishers/subscribers and initialise time
Implements yocs::Controller.
Definition at line 68 of file random_walker_controller.hpp.
| void kobuki::RandomWalkerController::spin | ( | ) |  [virtual] | 
Publishes velocity commands and triggers the LEDs.
Reimplemented from yocs::Controller.
Definition at line 379 of file random_walker_controller.hpp.
| void kobuki::RandomWalkerController::wheelDropEventCB | ( | const kobuki_msgs::WheelDropEventConstPtr | msg | ) |  [private] | 
Trigger stopping and LED blink, when a wheel drop is detected.
| msg | wheel drop event | 
Definition at line 325 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::bumper_center_pressed_  [private] | 
Flag for center bumper's state.
Definition at line 115 of file random_walker_controller.hpp.
Subscribers.
Definition at line 105 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::bumper_left_pressed_  [private] | 
Flag for left bumper's state.
Definition at line 113 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::bumper_right_pressed_  [private] | 
Flag for right bumper's state.
Definition at line 117 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::change_direction_  [private] | 
Flag for changing direction.
Definition at line 109 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::cliff_center_detected_  [private] | 
Flag for center cliff sensor's state.
Definition at line 121 of file random_walker_controller.hpp.
Definition at line 105 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::cliff_left_detected_  [private] | 
Flag for left cliff sensor's state.
Definition at line 119 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::cliff_right_detected_  [private] | 
Flag for right cliff sensor's state.
Definition at line 123 of file random_walker_controller.hpp.
Publishers.
Definition at line 107 of file random_walker_controller.hpp.
Definition at line 103 of file random_walker_controller.hpp.
Subscribers.
Definition at line 103 of file random_walker_controller.hpp.
Definition at line 107 of file random_walker_controller.hpp.
Definition at line 107 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::led_bumper_on_  [private] | 
Flag for bumper LED's state.
Definition at line 129 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::led_cliff_on_  [private] | 
Flag for cliff sensor LED's state.
Definition at line 131 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::led_wheel_drop_on_  [private] | 
Flag for wheel drop sensor LED's state.
Definition at line 133 of file random_walker_controller.hpp.
| std::string kobuki::RandomWalkerController::name_  [private] | 
Node(let) name.
Definition at line 101 of file random_walker_controller.hpp.
Private ROS handle.
Definition at line 99 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::stop_  [private] | 
Flag for stopping.
Definition at line 111 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::turning_  [private] | 
Flag for turning state.
Definition at line 145 of file random_walker_controller.hpp.
| int kobuki::RandomWalkerController::turning_direction_  [private] | 
Randomly chosen turning direction.
Definition at line 141 of file random_walker_controller.hpp.
Randomly chosen turning duration.
Definition at line 139 of file random_walker_controller.hpp.
Start time of turning.
Definition at line 143 of file random_walker_controller.hpp.
| double kobuki::RandomWalkerController::vel_ang_  [private] | 
Angular velocity for rotating.
Definition at line 137 of file random_walker_controller.hpp.
| double kobuki::RandomWalkerController::vel_lin_  [private] | 
Linear velocity for moving straight.
Definition at line 135 of file random_walker_controller.hpp.
Definition at line 105 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::wheel_drop_left_detected_  [private] | 
Flag for left wheel drop sensor's state.
Definition at line 125 of file random_walker_controller.hpp.
| bool kobuki::RandomWalkerController::wheel_drop_right_detected_  [private] | 
Flag for right wheel drop sensor's state.
Definition at line 127 of file random_walker_controller.hpp.