Robot Operating System (ROS)

  1. ROS Client Libraries and Programming
    1. Client Library Overview
      1. Language Support
        1. API Consistency
          1. Performance Considerations
          2. roscpp (C++)
            1. Node Initialization
              1. Creating a NodeHandle
                1. Publishers
                  1. Creating Publishers
                    1. Publishing Messages
                      1. Publisher Options
                      2. Subscribers
                        1. Creating Subscribers
                          1. Callback Functions
                            1. Subscriber Options
                              1. Message Queues
                              2. Services
                                1. Creating Service Servers
                                  1. Creating Service Clients
                                    1. Service Callbacks
                                      1. Synchronous vs Asynchronous Calls
                                      2. Actions
                                        1. Creating Action Servers
                                          1. Creating Action Clients
                                            1. Action Callbacks
                                              1. Goal Handling
                                              2. Parameters
                                                1. Getting Parameters
                                                  1. Setting Parameters
                                                    1. Parameter Callbacks
                                                    2. Timers and Callbacks
                                                      1. Timer Creation
                                                        1. Callback Queues
                                                          1. Multi-threaded Spinning
                                                          2. Logging and Debugging
                                                            1. Log Levels
                                                              1. Custom Loggers
                                                              2. Node Lifecycle
                                                                1. Initialization
                                                                  1. Spinning
                                                                    1. Shutdown Handling
                                                                  2. rospy (Python)
                                                                    1. Node Initialization
                                                                      1. Publishers
                                                                        1. Creating Publishers
                                                                          1. Publishing Messages
                                                                            1. Publisher Configuration
                                                                            2. Subscribers
                                                                              1. Creating Subscribers
                                                                                1. Callback Functions
                                                                                  1. Message Handling
                                                                                  2. Services
                                                                                    1. Creating Service Servers
                                                                                      1. Creating Service Clients
                                                                                        1. Service Implementation
                                                                                        2. Actions
                                                                                          1. Creating Action Servers
                                                                                            1. Creating Action Clients
                                                                                              1. Action Implementation
                                                                                              2. Parameters
                                                                                                1. Parameter Access
                                                                                                  1. Parameter Monitoring
                                                                                                  2. Timers and Callbacks
                                                                                                    1. Timer Implementation
                                                                                                      1. Callback Management
                                                                                                      2. Logging and Debugging
                                                                                                        1. Python Logging Integration
                                                                                                        2. Node Lifecycle
                                                                                                          1. Initialization
                                                                                                            1. Spinning
                                                                                                              1. Shutdown Handling