Talks - Kat Scott: Open Source Robotics with Python: Learn Robotics with No Robot Required

Learn how to program robots using Python and ROS (Robot Operating System) with no physical hardware required. Discover key robotics concepts and start building virtual robots today.

Key takeaways
  • ROS (Robot Operating System) is one of the most widely used open source robotics frameworks, running primarily on Linux/Ubuntu with Python and C++ support

  • Basic ROS concepts include:

    • Nodes: Individual programs in a directed graph
    • Topics: Pub/sub messaging system for data transfer
    • Services: Synchronous function calls
    • Actions: Long-running service calls
  • Robot simulators like Gazebo allow learning robotics without physical hardware by providing:

    • Physics simulation
    • Sensor simulation
    • Virtual testing environment
    • Debugging capabilities
  • Robot programming follows the sense-think-act paradigm:

    • Sensors collect environmental data
    • Code processes sensor information
    • Robot acts based on processed data
  • Key ROS development concepts:

    • Packages organize code and dependencies
    • Workspaces manage development environment
    • Message types define data structures
    • CLI tools help debug and monitor robots
  • To move a robot requires:

    • Publishing velocity commands (twist messages)
    • Continuous command updates
    • Reading odometry for position feedback
    • Handling sensor input for obstacle avoidance
  • ROS provides extensive tooling:

    • Command line interfaces
    • Topic inspection
    • Message type introspection
    • Logging capabilities
  • Development best practices:

    • Use virtual environments
    • Leverage simulators for testing
    • Follow package structure conventions
    • Handle hardware limitations appropriately