control-vehicle

Drives a CARLA vehicle directly via VehicleControl, Ackermann speed targets, lights, doors, and physics tuning.

3|Updated Jul 20, 2026
One-click install
npx skills add https://github.com/carla-simulator/carla-agentic-tools --skill control-vehicle-carla-simulator
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: control-vehicle
Source: https://github.com/carla-simulator/carla-agentic-tools/tree/main/skills/python-api/control-vehicle
Command: npx skills add https://github.com/carla-simulator/carla-agentic-tools --skill control-vehicle-carla-simulator

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires carla, and includes scripts (resource) and references (resource) components.

What problem does it solve? Manually driving a specific vehicle in a running CARLA simulation requires juggling raw VehicleControl semantics, autopilot conflicts, persistent control state, and version-specific physics APIs. This Skill encodes those procedures and failure modes so an agent can steer, brake, set target speeds, toggle lights, open doors, and tune physics without improvising against the Python API. ## Core Features & Use Cases - Raw and Ackermann control: Apply throttle/steer/brake/reverse inputs with timed holds, or drive to a target speed using the built-in Ackermann controller; both disable autopilot first since manual and Traffic Manager control are mutually exclusive. - Lights, doors, and physics: Toggle VehicleLightState flags (headlights, blinkers, hazards), open/close doors (FL, FR, RL, RR, All), and read or modify VehiclePhysicsControl fields like mass, drag, and max RPM, with handling for the 0.9.x PhysX vs 0.10.0 Chaos field differences. - ROS 2 integration reporting: The ros-info command reports the native ROS 2 command topics (vehicle_control_cmd, ackermann_control_cmd) for hero vehicles, including a ready-to-run ros2 topic pub line and guidance on the required carla_msgs message definitions. - Use Case: A user asks to "drive the ego forward for a few seconds, then put the hazards on" — the Skill checks prerequisites, applies a timed throttle input, then sets both blinker flags on the hero vehicle. ## Quick Start Ask the agent to drive the ego vehicle forward at half throttle for three seconds using the control-vehicle skill, then stop it.

Frequently Asked Questions about control-vehicle

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manually drive a vehicle in CARLA with the Python API?▼

Apply a carla.VehicleControl with throttle, steer, and brake values after calling set_autopilot(False), since the Traffic Manager overrides manual input. The control persists every tick until changed, so use a timed hold or apply a full brake to stop.

What is the difference between VehicleControl and Ackermann control in CARLA?▼

VehicleControl is direct actuator input where throttle and brake are 0..1 values you manage yourself. Ackermann control takes a target speed in m/s and a built-in controller computes throttle and brake to reach and hold it, which suits 'drive at 8 m/s' requests.

Why won't my CARLA vehicle respond to applied control commands?▼

The most common cause is autopilot still being enabled, since the Traffic Manager overrides manual input. In synchronous mode the vehicle also only moves when the world is ticked, so a tick loop must run alongside the control commands.

Can I drive a CARLA vehicle from ROS 2 topics?▼

Yes, but only the hero vehicle (role_name 'hero') gets ROS 2 subscribers, on vehicle_control_cmd and ackermann_control_cmd topics. Publishing requires the carla_msgs and ackermann_msgs message definitions, and carla_msgs must be built from carla-ros-bridge or a minimal hand-written package.

Does CARLA 0.10.0 physics control differ from 0.9.x?▼

Yes, 0.10.0 uses Chaos instead of PhysX and replaced VehiclePhysicsControl fields: forward_gears became forward_gear_ratios float lists, and clutch_strength became transmission_efficiency. The gear ratio lists are unreadable from Python due to a missing converter, though writing still works.

How do I turn on hazard lights or open doors on a CARLA vehicle?▼

Hazards are both blinker flags set together via set_light_state with a VehicleLightState bitmask combining LeftBlinker and RightBlinker. Doors use open_door and close_door with FL, FR, RL, RR, or All, though not every vehicle model animates every door.