Practice the ROS2 Robust YAML Launch Parameter Validator coding problem in Configuration. Browser-based execution with automated grading — no local ROS install required. 0% of engineers pass this challenge.
Validate ROS2 launch configuration files before starting the robot. Misconfiguration is one of the most common causes of robot hardware damage — catching errors at config load time prevents crashes at runtime.
Implement the function validate_launch_yaml(yaml_text, schema):
yaml_text (str) — raw YAML content; schema (dict) — validation rules[] if valid, non-empty if invalidschema = {
'launch': {'type': 'list', 'required': True},
'version': {'type': 'float', 'required': False},
}
schema where required=True: fail if the key is missingtype in schemavalidate_launch_yaml("launch: [1, 2]\nversion: 0.1", schema)
# Returns: [] ← valid
validate_launch_yaml("version: 0.1", schema)
# Returns: ["Missing required key: 'launch'"] ← launch is missing
validate_launch_yaml("launch: \"not a list\"", schema)
# Returns: ["'launch' should be type list, got str"] ← wrong type
yaml.load() without Loader=yaml.SafeLoader — always use yaml.safe_load()None instead of an empty list for valid YAMLyaml.YAMLError for malformed inputIt is a hands-on Configuration challenge on SimuCode where you implement and run ROS2 code in the browser with runtime-verified tests.
Open this page, sign in, and solve the problem in the built-in IDE. Your solution is graded against real ROS2 execution checks.
This Medium problem focuses on Configuration skills used in robotics interviews and production systems.