# Launchfiles reference --- ## carla_ackermann_control.launch Creates a node to manage a vehicle using Ackermann controls instead of the CARLA control messages. The node reads the vehicle info from CARLA and uses it to define the controller. A simple Python PID is used to adjust acceleration/velocity. This is a Python dependency that can be easily installed with _pip_. ```sh pip install --user simple-pid ``` It is possible to modify the parameters in runtime via ROS dynamic reconfigure. Initial parameters can be set using a `settings.yaml`. The path to it depends on the bridge installation. * __Deb repository installation__, `/opt/carla-ros-bridge/melodic/share/carla_ackermann_control/config/settings.yaml`. * __Source repository installation__, `/catkin_ws/src/ros-bridge/carla_ackermann_control/config/settings.yaml`.
Subscribed to:
* /carla/ego_vehicle/ackermann_cmd — [ackermann_msgs.AckermannDrive](http://docs.ros.org/jade/api/ackermann_msgs/html/msg/AckermannDrive.htm) * /carla/ego_vehicle/vehicle_info — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg) * /carla/ego_vehicle/vehicle_status — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg)Publishes in:
* /carla/ego_vehicle/ackermann_control/parameter_descriptions — [dynamic_reconfigure/ConfigDescription](http://docs.ros.org/melodic/api/dynamic_reconfigure/html/msg/ConfigDescription.html) * /carla/ego_vehicle/ackermann_control/control_info — [carla_ackermann_control.EgoVehicleControlInfo](../ros_msgs#egovehiclecontrolinfomsg) * /carla/ego_vehicle/ackermann_control/parameter_updates — [dynamic_reconfigure/Config](http://wiki.ros.org/dynamic_reconfigure) * /carla/ego_vehicle/vehicle_control_cmd — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg) --- ## carla_ego_vehicle.launch Spawns an ego vehicle (`role-name="ego_vehicle"`). The argument `sensor_definition_file` describes the sensors attached to the vehicle. It is the location of a __.json__ file. The format of this file is explained [here](https://github.com/carla-simulator/ros-bridge/tree/master/carla_ego_vehicle). To spawn the vehicle at a specific location, publish in `/carla/ego_vehicle/initialpose`, or use __RVIZ__ and select a position with __2D Pose estimate__.Subscribed to:
* /carla/ego_vehicle/initialpose — [geometry_msgs/PoseWithCovarianceStamped](http://docs.ros.org/melodic/api/geometry_msgs/html/msg/PoseWithCovarianceStamped.html) * /carla/world_info — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg) --- ## carla_example_ego_vehicle.launch Based on [carla_ego_vehicle.launch](#carla-ego-vehicle-launch), spawns an ego vehicle (`role-name="ego_vehicle"`). The file `sensors.json` describes the sensors attached. The path to it depends on the bridge installation. * __Deb repository installation__, `/opt/carla-ros-bridge/melodic/share/carla_ego_vehicle/config/sensors.json`. * __Source repository installation__, `/catkin_ws/src/ros-bridge/carla_ego_vehicle/config/sensors.json`.Subscribed to:
* /carla/ego_vehicle/initialpose — [geometry_msgs/PoseWithCovarianceStamped](http://docs.ros.org/melodic/api/geometry_msgs/html/msg/PoseWithCovarianceStamped.html) * /carla/world_info — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg) --- ## carla_infrastructure.launch Spawns infrastructure sensors and requires the argument `infrastructure_sensor_definition_file` with the location of a __.json__ file describing these sensors.Subscribed to:
* /carla/world_info — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg) --- ## carla_ros_bridge.launch Creates a node with some basic communications between CARLA and ROS.Subscribed to:
* /carla/debug_marker — [visualization_msgs.MarkerArray](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/MarkerArray.html)Publishes in:
* /carla/actor_list — [carla_msgs.CarlaActorList](../ros_msgs#carlaactorlistmsg) * /carla/objects — [derived_object_msgs.ObjectArrayring](http://wiki.ros.org/derived_object_msgs) * /carla/status — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg) * /carla/traffic_lights — [carla_msgs.CarlaTrafficLightStatusList](../ros_msgs#carlatrafficlightstatuslist) * /carla/world_info — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg) --- ## carla_ros_bridge_with_ackermann_control.launch Launches two basic nodes. One retrieves simulation data, the other controls a vehicle using [AckermannDrive messages](http://docs.ros.org/jade/api/ackermann_msgs/html/msg/AckermannDrive.htm).Subscribed to:
* /carla/debug_marker — [visualization_msgs.MarkerArray](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/MarkerArray.html)Publishes in:
* /carla/actor_list — [carla_msgs.CarlaActorList](../ros_msgs#carlaactorlistmsg) * /carla/objects — [derived_object_msgs.ObjectArrayring](http://wiki.ros.org/derived_object_msgs) * /carla/status — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg) * /carla/traffic_lights — [carla_msgs.CarlaTrafficLightStatusList](../ros_msgs#carlatrafficlightstatuslist) * /carla/world_info — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg)Subscribed to:
* /carla/ego_vehicle/ackermann_cmd — [ackermann_msgs.AckermannDrive](http://docs.ros.org/jade/api/ackermann_msgs/html/msg/AckermannDrive.htm) * /carla/ego_vehicle/vehicle_info — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg) * /carla/ego_vehicle/vehicle_status — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg)Publishes in:
* /carla/ego_vehicle/ackermann_control/parameter_descriptions — [dynamic_reconfigure/ConfigDescription](http://docs.ros.org/melodic/api/dynamic_reconfigure/html/msg/ConfigDescription.html) * /carla/ego_vehicle/ackermann_control/control_info — [carla_ackermann_control.EgoVehicleControlInfo](../ros_msgs#egovehiclecontrolinfomsg) * /carla/ego_vehicle/ackermann_control/parameter_updates — [dynamic_reconfigure/Config](http://wiki.ros.org/dynamic_reconfigure) * /carla/ego_vehicle/vehicle_control_cmd — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg) --- ## carla_ros_bridge_with_example_ego_vehicle.launch Spawns an ego vehicle with sensors attached, and starts communications between CARLA and ROS. Both share current simulation state, sensor and ego vehicle data. The ego vehicle is set ready to be used in manual control.Subscribed to:
* /carla/debug_marker — [visualization_msgs.MarkerArray](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/MarkerArray.html) * /carla/ego_vehicle/enable_autopilot — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html) * /carla/ego_vehicle/twist — [geometry_msgs.Twist](http://docs.ros.org/melodic/api/geometry_msgs/html/msg/Twist.html) * /carla/ego_vehicle/vehicle_control_cmd — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg) * /carla/ego_vehicle/vehicle_control_cmd_manual — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg) * /carla/ego_vehicle/vehicle_control_manual_override — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)Publishes in:
* /carla/actor_list — [carla_msgs.CarlaActorList](../ros_msgs#carlaactorlistmsg) * /carla/ego_vehicle/camera/rgb/front/camera_info — [sensor_msgs.CameraInfo](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/CameraInfo.html) * /carla/ego_vehicle/camera/rgb/front/image_color — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html) * /carla/ego_vehicle/camera/rgb/view/camera_info — [sensor_msgs.CameraInfo](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/CameraInfo.html) * /carla/ego_vehicle/camera/rgb/view/image_color — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html) * /carla/ego_vehicle/gnss/gnss1/fix — [sensor_msgs.NavSatFix](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/NavSatFix.html) * /carla/ego_vehicle/imu — [sensor_msgs.Imu](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Imu.html) * /carla/ego_vehicle/lidar/lidar1/point_cloud — [sensor_msgs.PointCloud2](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/PointCloud2.html) * /carla/ego_vehicle/objects — [derived_object_msgs.ObjectArray](http://docs.ros.org/kinetic/api/derived_object_msgs/html/msg/ObjectArray.html) * /carla/ego_vehicle/odometry — [nav_msgs.Odometry](http://docs.ros.org/melodic/api/nav_msgs/html/msg/Odometry.html) * /carla/ego_vehicle/radar/front/radar — [ainstein_radar_msgs.RadarTargetArray](http://wiki.ros.org/ainstein_radar_msgs) * /carla/ego_vehicle/vehicle_info — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg) * /carla/ego_vehicle/vehicle_status — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg) * /carla/objects — [derived_object_msgs.ObjectArrayring](http://wiki.ros.org/derived_object_msgs) * /carla/status — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg) * /carla/traffic_lights — [carla_msgs.CarlaTrafficLightStatusList](../ros_msgs#carlatrafficlightstatuslist) * /carla/world_info — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg)Subscribed to:
* /carla/ego_vehicle/camera/rgb/view/image_color — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html) * /carla/ego_vehicle/collision — [carla_msgs.CarlaCollisionEvent](../ros_msgs#carlacollisioneventmsg) * /carla/ego_vehicle/gnss/gnss1/fix — [sensor_msgs.NavSatFix](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/NavSatFix.html) * /carla/ego_vehicle/lane_invasion — [carla_msgs.CarlaLaneInvasionEvent](../ros_msgs#carlalaneinvasioneventmsg) * /carla/ego_vehicle/vehicle_control_manual_override — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html) * /carla/ego_vehicle/vehicle_info — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg) * /carla/ego_vehicle/vehicle_status — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg) * /carla/status — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg)Publishes in:
* /carla/ego_vehicle/enable_autopilot — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html) * /carla/ego_vehicle/vehicle_control_cmd_manual — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg) * /carla/ego_vehicle/vehicle_control_manual_override — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)Subscribed to:
* /carla/ego_vehicle/initialpose — [geometry_msgs/PoseWithCovarianceStamped](http://docs.ros.org/melodic/api/geometry_msgs/html/msg/PoseWithCovarianceStamped.html) --- ## carla_ros_bridge_with_rviz.launch Starts communications between CARLA and ROS, and launches RVIZ to retrieve Lidar data.Subscribed to:
* /carla/debug_marker — [visualization_msgs.MarkerArray](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/MarkerArray.html)Publishes in:
* /carla/actor_list — [carla_msgs.CarlaActorList](../ros_msgs#carlaactorlistmsg) * /carla/objects — [derived_object_msgs.ObjectArrayring](http://wiki.ros.org/derived_object_msgs) * /carla/status — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg) * /carla/traffic_lights — [carla_msgs.CarlaTrafficLightStatusList](../ros_msgs#carlatrafficlightstatuslist) * /carla/world_info — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg)Subscribed to:
* /carla/vehicle_marker — [visualization_msgs/Marker](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/Marker.html) * /carla/vehicle_marker_array — [visualization_msgs/MarkerArray](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/MarkerArray.html) * /carla/ego_vehicle/lidar/front/point_cloud — [sensor_msgs.PointCloud2](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/PointCloud2.html) --- ## carla_manual_control.launch A ROS version of the CARLA script `manual_control.py`. It has some prequisites. * __To display an image__, a camera with role-name `view` and resolution 800x600. * __To display the position__, a gnss sensor with role-name `gnss1`. * __To detect other sensor data__, the corresponding sensor.Subscribed to:
* /carla/ego_vehicle/camera/rgb/view/image_color — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html) * /carla/ego_vehicle/collision — [carla_msgs.CarlaCollisionEvent](../ros_msgs#carlacollisioneventmsg) * /carla/ego_vehicle/gnss/gnss1/fix — [sensor_msgs.NavSatFix](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/NavSatFix.html) * /carla/ego_vehicle/lane_invasion — [carla_msgs.CarlaLaneInvasionEvent](../ros_msgs#carlalaneinvasioneventmsg) * /carla/ego_vehicle/vehicle_control_manual_override — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html) * /carla/ego_vehicle/vehicle_info — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg) * /carla/ego_vehicle/vehicle_status — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg) * /carla/status — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg)Publishes in:
* /carla/ego_vehicle/enable_autopilot — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html) * /carla/ego_vehicle/vehicle_control_cmd_manual — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg) * /carla/ego_vehicle/vehicle_control_manual_override — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html) --- ## carla_pcl_recorder.launch Creates a pointcloud map for the current CARLA level. An autopilot ego vehicle roams around the map with a LIDAR sensor attached. The point clouds are saved in the `/tmp/pcl_capture` directory. Once the capture is done, the overall size can be reduced. ```sh #create one point cloud file pcl_concatenate_points_pcd /tmp/pcl_capture/*.pcd #filter duplicates pcl_voxel_grid -leaf 0.1,0.1,0.1 output.pcd map.pcd #verify the result pcl_viewer map.pcd ``` The launch file requires some functionality that is not part of the python egg-file. The PYTHONPATH has to be extended. ```sh export PYTHONPATH=Subscribed to:
* /carla/debug_marker — [visualization_msgs.MarkerArray](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/MarkerArray.html) * /carla/ego_vehicle/enable_autopilot — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html) * /carla/ego_vehicle/twist — [geometry_msgs.Twist](http://docs.ros.org/melodic/api/geometry_msgs/html/msg/Twist.html) * /carla/ego_vehicle/vehicle_control_cmd — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg) * /carla/ego_vehicle/vehicle_control_cmd_manual — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg) * /carla/ego_vehicle/vehicle_control_manual_override — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)Publishes in:
* /carla/actor_list — [carla_msgs.CarlaActorList](../ros_msgs#carlaactorlistmsg) * /carla/ego_vehicle/camera/rgb/front/camera_info — [sensor_msgs.CameraInfo](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/CameraInfo.html) * /carla/ego_vehicle/camera/rgb/front/image_color — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html) * /carla/ego_vehicle/camera/rgb/view/camera_info — [sensor_msgs.CameraInfo](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/CameraInfo.html) * /carla/ego_vehicle/camera/rgb/view/image_color — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html) * /carla/ego_vehicle/gnss/gnss1/fix — [sensor_msgs.NavSatFix](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/NavSatFix.html) * /carla/ego_vehicle/imu — [sensor_msgs.Imu](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Imu.html) * /carla/ego_vehicle/lidar/lidar1/point_cloud — [sensor_msgs.PointCloud2](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/PointCloud2.html) * /carla/ego_vehicle/objects — [derived_object_msgs.ObjectArray](http://docs.ros.org/kinetic/api/derived_object_msgs/html/msg/ObjectArray.html) * /carla/ego_vehicle/odometry — [nav_msgs.Odometry](http://docs.ros.org/melodic/api/nav_msgs/html/msg/Odometry.html) * /carla/ego_vehicle/vehicle_status — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg) * /carla/ego_vehicle/radar/front/radar — [ainstein_radar_msgs.RadarTargetArray](http://wiki.ros.org/ainstein_radar_msgs) * /carla/ego_vehicle/vehicle_info — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg) * /carla/marker — [visualization_msgs.Marker](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/Marker.html) * /carla/objects — [derived_object_msgs.ObjectArrayring](http://wiki.ros.org/derived_object_msgs) * /carla/status — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg) * /carla/traffic_lights — [carla_msgs.CarlaTrafficLightStatusList](../ros_msgs#carlatrafficlightstatuslist) * /carla/world_info — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg)Subscribed to:
* /carla/ego_vehicle/camera/rgb/view/image_color — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html) * /carla/ego_vehicle/collision — [carla_msgs.CarlaCollisionEvent](../ros_msgs#carlacollisioneventmsg) * /carla/ego_vehicle/gnss/gnss1/fix — [sensor_msgs.NavSatFix](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/NavSatFix.html) * /carla/ego_vehicle/lane_invasion — [carla_msgs.CarlaLaneInvasionEvent](../ros_msgs#carlalaneinvasioneventmsg) * /carla/ego_vehicle/vehicle_control_manual_override — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html) * /carla/ego_vehicle/vehicle_info — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg) * /carla/ego_vehicle/vehicle_status — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg) * /carla/status — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg)Publishes in:
* /carla/ego_vehicle/enable_autopilot — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html) * /carla/ego_vehicle/vehicle_control_cmd_manual — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg) * /carla/ego_vehicle/vehicle_control_manual_override — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)Subscribed to:
* /carla/ego_vehicle/initialpose — [geometry_msgs/PoseWithCovarianceStamped](http://docs.ros.org/melodic/api/geometry_msgs/html/msg/PoseWithCovarianceStamped.html)Publishes in:
* /carla/ego_vehicle/enable_autopilot — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)Subscribed to:
* /carla/ego_vehicle/lidar/lidar1/point_cloud — [sensor_msgs.PointCloud2](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/PointCloud2.html) --- ## carla_waypoint_publisher.launch Calculates a waypoint route for an ego vehicle. The route is published in `/carla/Subscribed to:
* /carla/world_info — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg)