New iteration on docs
This commit is contained in:
parent
7588981727
commit
0be4c6e70d
|
@ -4,18 +4,20 @@
|
|||
* [__Bridge installation__](#bridge-installation)
|
||||
* a) apt-get ROS bridge
|
||||
* b) Repository download
|
||||
* Import error: No module named CARLA
|
||||
* [__Run the ROS bridge__](#run-the-ros-bridge)
|
||||
* [__Settings__](#settings)
|
||||
* Import error: No module named CARLA
|
||||
* [__Setting CARLA__](#setting-carla)
|
||||
|
||||
The ROS bridge enables communication between ROS and CARLA so that both softwares can reach full potential by combining their features.
|
||||
The ROS bridge enables two-way communication between ROS and CARLA.
|
||||
In order to do so, the information from the CARLA server is translated to ROS topics. For example, the information retrieved by sensors is structured to fit ROS structure.
|
||||
And also vice versa, the messages sent between nodes in ROS get translated to commands to be applied in CARLA. This is commonly used to update the state of a vehicle and apply controllers.
|
||||
|
||||
---------------
|
||||
##Requirements
|
||||
<h4>ROS melodic</h4>
|
||||
|
||||
* __ROS Kinetic/Melodic:__ follow the official documentation to [install ROS](http://wiki.ros.org/melodic/Installation/Ubuntu). Some ROS packages could be necessary, depending on the user needs, such as [rviz](https://wiki.ros.org/ainstein_radar_rviz_plugins) to visualize ROS data.
|
||||
* __CARLA:__ only __CARLA 0.9.7__ and later versions are supported. Follow the [quick start installation](../getting_started/quickstart) or make the build for the corresponding platform.
|
||||
* __CARLA 0.9.7:__ only this and later versions are supported. Follow the [quick start installation](../getting_started/quickstart) or make the build for the corresponding platform.
|
||||
|
||||
!!! Important
|
||||
Make sure that both CARLA and ROS work properly before continuing with the installation.
|
||||
|
@ -27,13 +29,13 @@ The ROS bridge enables communication between ROS and CARLA so that both software
|
|||
|
||||
First add the apt repository:
|
||||
|
||||
* __For ROS Melodic:__
|
||||
* __Bridge for ROS Melodic:__
|
||||
```sh
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 81061A1A042F527D &&
|
||||
sudo add-apt-repository "deb [trusted=yes] http://34.227.255.250/carla-ros-bridge-melodic/ bionic main"
|
||||
```
|
||||
|
||||
* __For ROS Kinetic:__
|
||||
* __Bridge for ROS Kinetic:__
|
||||
```sh
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9BE2A0CDC0161D6C
|
||||
sudo add-apt-repository "deb [trusted=yes] http://dist.carla.org/carla-ros-bridge-kinetic xenial main"
|
||||
|
@ -47,7 +49,8 @@ sudo apt-get install carla-ros-bridge
|
|||
|
||||
<h4>b) Repository download</h4>
|
||||
|
||||
In order to work use the ROS bridge, first create a catkin workspace, instal the ROS bridge in there and build it to be available:
|
||||
In order to use the ROS bridge a catkin workspace is needed. The ROS bridge should be cloned and built in there to be available.
|
||||
The following fragment creates a new workspace and clones the repository in there.
|
||||
```sh
|
||||
#setup folder structure
|
||||
mkdir -p ~/carla-ros-bridge/catkin_ws/src
|
||||
|
@ -55,7 +58,7 @@ cd ~/carla-ros-bridge
|
|||
git clone https://github.com/carla-simulator/ros-bridge.git
|
||||
cd catkin_ws/src
|
||||
ln -s ../../ros-bridge
|
||||
source /opt/ros/kinetic/setup.bash
|
||||
source /opt/ros/kinetic/setup.bash #Watch out, this sets ROS Kinetic.
|
||||
cd ..
|
||||
|
||||
#install required ros-dependencies
|
||||
|
@ -66,9 +69,46 @@ rosdep install --from-paths src --ignore-src -r
|
|||
catkin_make
|
||||
```
|
||||
|
||||
---------------
|
||||
##Run the ROS bridge
|
||||
|
||||
__1) run CARLA:__ the way to do so will depend on the the CARLA installation chosen, so here is a brief summary:
|
||||
|
||||
* __Quick start/release package:__ run `./CarlaUE4.sh` in `/carla/`.
|
||||
* __apt-get installation:__ run `./CarlaUE4.sh` in `/opt/carla/bin/`.
|
||||
* __Build installation:__ run `make launch` in `/carla/`.
|
||||
|
||||
__2) Add the source path:__ the source path for the workspace should be added so that the ROS bridge can be used from a terminal:
|
||||
|
||||
* __Source for apt-get ROS bridge:__
|
||||
```sh
|
||||
source /opt/carla-ros-bridge/<melodic or kinetic>/setup.bash
|
||||
```
|
||||
|
||||
* __Source for ROS bridge repository download:__
|
||||
```sh
|
||||
source ~/carla-ros-bridge/catkin_ws/devel/setup.bash
|
||||
```
|
||||
|
||||
!!! Important
|
||||
The source path can be added to environment to be set permanently, but it will cause conflict when working with another workspace.
|
||||
|
||||
__3) start the ROS bridge:__ use any of the different launch files available that will serve to check if the bridge is running properly. Here are some suggestions:
|
||||
|
||||
```sh
|
||||
# Option 1: start the ros bridge
|
||||
roslaunch carla_ros_bridge carla_ros_bridge.launch
|
||||
|
||||
# Option 2: start the ros bridge together with RVIZ
|
||||
roslaunch carla_ros_bridge carla_ros_bridge_with_rviz.launch
|
||||
|
||||
# Option 3: start the ros bridge together with an example ego vehicle
|
||||
roslaunch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch
|
||||
```
|
||||
|
||||
<h4>ImportError: no module named CARLA</h4>
|
||||
|
||||
The path to CARLA Python is missing. Please execute the following command with the complete path to the _.egg_ file (included). Use the one, that is supported by the Python version installed:
|
||||
The path to CARLA Python is missing. The apt-get installation does this automatically, but it may be missing for other installations. Execute the following command with the complete path to the _.egg_ file (included). Use the one, that is supported by the Python version installed:
|
||||
|
||||
export PYTHONPATH=$PYTHONPATH:<path/to/carla/>/PythonAPI/<your_egg_file>
|
||||
|
||||
|
@ -82,60 +122,39 @@ python -c 'import carla;print("Success")'
|
|||
|
||||
|
||||
---------------
|
||||
##Run the ROS bridge
|
||||
##Setting CARLA
|
||||
|
||||
__1) run CARLA:__ the way to do so will depend on the the CARLA installation chosen, so here is a brief summary:
|
||||
|
||||
* __Quick start/release package:__ run `./CarlaUE4.sh` in `/carla/`.
|
||||
* __apt-get installation:__ run `./CarlaUE4.sh` in `/opt/carla/bin/`.
|
||||
* __Build installation:__ run `make launch` in `/carla/`.
|
||||
|
||||
__2) __ The way to do so will depend on the the CARLA installation chosen, so here is a brief summary:
|
||||
```sh
|
||||
export PYTHONPATH=$PYTHONPATH:<path/to/carla/>/PythonAPI/<your_egg_file>
|
||||
source ~/carla-ros-bridge/catkin_ws/devel/setup.bash
|
||||
```
|
||||
|
||||
__3) start the ROS bridge:__ use any of the different packages available that will serve to check if the bridge is running properly. Here are some suggestions:
|
||||
|
||||
```sh
|
||||
# Option 1: start the ros bridge
|
||||
roslaunch carla_ros_bridge carla_ros_bridge.launch
|
||||
|
||||
# Option 2: start the ros bridge together with RVIZ
|
||||
roslaunch carla_ros_bridge carla_ros_bridge_with_rviz.launch
|
||||
|
||||
# Option 3: start the ros bridge together with an example ego vehicle
|
||||
roslaunch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch
|
||||
```
|
||||
|
||||
---------------
|
||||
##Settings
|
||||
|
||||
There is some configuration for CARLA available from the ROS bridge. This can be setup by editing the file: [`carla_ros_bridge/config/settings.yaml`](https://github.com/carla-simulator/ros-bridge/blob/master/carla_ros_bridge/config/settings.yaml).
|
||||
There is some configuration for CARLA available from the ROS bridge. This can be setup by editing the file: [`share/carla_ros_bridge/config/settings.yaml`](https://github.com/carla-simulator/ros-bridge/blob/master/carla_ros_bridge/config/settings.yaml).
|
||||
|
||||
The parameters available refer to:
|
||||
|
||||
* __Ego vehicle:__ the list in `/carla/ego_vehicle/rolename` sets role names to identify ego vehicles. These will be controllable from ROS and thus, relevant topics will be created.
|
||||
* __Host/port:__ the network settings to connect to CARLA using a Python client.
|
||||
* __Simulation time-step:__ simulation time (delta seconds) between simulation steps. __It must be lower than 0.1__. Take a look at the [documentation](../simulation_time_and_synchrony) to learn more about this.
|
||||
* __Host/port:__ the network settings to connect to CARLA using a Python client.
|
||||
* __Synchronous mode:__
|
||||
* __If false (default):__ data is published on every `world.on_tick()` and every `sensor.listen()` callbacks.
|
||||
* __If true:__ the bridge waits for all sensor data that is expected within the current frame. This might slow down the overall simulation but ensures reproducible results.
|
||||
* __If true:__ the bridge waits for all sensor data that is expected before the next tick. This might slow down the overall simulation but ensures reproducible results.
|
||||
* __Wait for vehicle command:__ in synchronous mode, this boolean determines if a vehicle command should be received before executing the next tick.
|
||||
* __Simulation time-step:__ simulation time (delta seconds) between simulation steps. __It must be lower than 0.1__. Take a look at the [documentation](../simulation_time_and_synchrony) to learn more about this.
|
||||
* __Role names for the Ego vehicles:__ a role names to identify ego vehicles. These will be controllable from ROS and thus, relevant topics will be created.
|
||||
|
||||
|
||||
!!! Warning
|
||||
In synchronous mode, only the ros-bridge is allowed to tick. Other CARLA clients must passively wait.
|
||||
|
||||
<h4>Synchronous mode</h4>
|
||||
|
||||
* Pause/Play
|
||||
* Execute single step
|
||||
The following topic allows to control the stepping when in synchronous mode:
|
||||
|
||||
The following topic allows to control the stepping.
|
||||
|
||||
| Topic | Type |
|
||||
| Topic | Message type |
|
||||
| ---------------- | ----------------------- |
|
||||
| `/carla/control` | carla_msgs.CarlaControl |
|
||||
| `/carla/control` | [carla_msgs.CarlaControl](../ros_msgs#carlacontrolmsg) |
|
||||
|
||||
A CARLA [Control rqt plugin](https://github.com/carla-simulator/ros-bridge/blob/master/rqt_carla_control/README.md) is available to publish to the topic.
|
||||
The message contains a constant named `command` that allows to:
|
||||
|
||||
* Pause/Play the simulation.
|
||||
* Execute a single step.
|
||||
|
||||
The [Control rqt plugin](https://github.com/carla-simulator/ros-bridge/blob/master/rqt_carla_control/README.md) launches a new window with a simple interface to manage these steps and publish in the corresponding topic.
|
||||
Simply run the following when CARLA is in synchronous mode:
|
||||
```sh
|
||||
rqt --standalone rqt_carla_control
|
||||
```
|
||||
|
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/ackermann_cmd</b></font> — ackermann_msgs.AckermannDrive
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/ackermann_cmd</b></font> — [ackermann_msgs.AckermannDrive](http://docs.ros.org/jade/api/ackermann_msgs/html/msg/AckermannDrive.htm)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_info</b></font> — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_status</b></font> — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg)
|
||||
|
||||
|
||||
<p style="margin-top:-10px;margin-bottom:-5px"> <b>Publishes in:</b> </p>
|
||||
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/ackermann_control_parameter_descriptions</b></font> — ???
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/ackermann_control/control_info</b></font> — carla_ackermann_control.EgoVehicleControlInfo ???
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/ackermann_control/parameter_updates</b></font> — ???
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/ackermann_control/parameter_descriptions</b></font> — [dynamic_reconfigure/ConfigDescription](http://docs.ros.org/melodic/api/dynamic_reconfigure/html/msg/ConfigDescription.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/ackermann_control/control_info</b></font> — [carla_ackermann_control.EgoVehicleControlInfo](../ros_msgs#egovehiclecontrolinfomsg)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/ackermann_control/parameter_updates</b></font> — [dynamic_reconfigure/Config](http://wiki.ros.org/dynamic_reconfigure)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_control_cmd</b></font> — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg)
|
||||
|
||||
---------------
|
||||
|
@ -25,15 +25,17 @@
|
|||
|
||||
<!---NODE-->
|
||||
<h4 style="margin-bottom: 5px"> <u>carla_ros_bridge</u> <small><i>(Node)</i></small> </h4>
|
||||
Publishes the data regarding the current state of the simulation: world, objects, trafic lights, actors...
|
||||
Receives the debug shapes being drawn, which include: arrows, points, cubes and line strips.
|
||||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="f8815c"><b>/carla/debug_marker</b></font> — visualization_msgs.MarkerArray
|
||||
* <font color="f8815c"><b>/carla/debug_marker</b></font> — [visualization_msgs.MarkerArray](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/MarkerArray.html)
|
||||
|
||||
<p style="margin-top:-10px;margin-bottom:-5px"> <b>Publishes in:</b> </p>
|
||||
|
||||
* <font color="80ba10"><b>/carla/actor_list</b></font> — [carla_msgs.CarlaActorList](../ros_msgs#carlaactorlistmsg)
|
||||
* <font color="80ba10"><b>/carla/objects</b></font> — derived_object_msgs.ObjectArrayring
|
||||
* <font color="80ba10"><b>/carla/objects</b></font> — [derived_object_msgs.ObjectArrayring](http://wiki.ros.org/derived_object_msgs)
|
||||
* <font color="80ba10"><b>/carla/status</b></font> — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg)
|
||||
* <font color="80ba10"><b>/carla/traffic_lights</b></font> — [carla_msgs.CarlaTrafficLightStatusList](../ros_msgs#carlatrafficlightstatuslist)
|
||||
* <font color="80ba10"><b>/carla/world_info</b></font> — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg)
|
||||
|
@ -47,12 +49,12 @@
|
|||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="f8815c"><b>/carla/debug_marker</b></font> — visualization_msgs.MarkerArray
|
||||
* <font color="f8815c"><b>/carla/debug_marker</b></font> — [visualization_msgs.MarkerArray](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/MarkerArray.html)
|
||||
|
||||
<p style="margin-top:-10px;margin-bottom:-5px"> <b>Publishes in:</b> </p>
|
||||
|
||||
* <font color="80ba10"><b>/carla/actor_list</b></font> — [carla_msgs.CarlaActorList](../ros_msgs#carlaactorlistmsg)
|
||||
* <font color="80ba10"><b>/carla/objects</b></font> — derived_object_msgs.ObjectArrayring
|
||||
* <font color="80ba10"><b>/carla/objects</b></font> — [derived_object_msgs.ObjectArrayring](http://wiki.ros.org/derived_object_msgs)
|
||||
* <font color="80ba10"><b>/carla/status</b></font> — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg)
|
||||
* <font color="80ba10"><b>/carla/traffic_lights</b></font> — [carla_msgs.CarlaTrafficLightStatusList](../ros_msgs#carlatrafficlightstatuslist)
|
||||
* <font color="80ba10"><b>/carla/world_info</b></font> — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg)
|
||||
|
@ -62,16 +64,16 @@
|
|||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/ackermann_cmd</b></font> — ackermann_msgs.AckermannDrive
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/ackermann_cmd</b></font> — [ackermann_msgs.AckermannDrive](http://docs.ros.org/jade/api/ackermann_msgs/html/msg/AckermannDrive.htm)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_info</b></font> — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_status</b></font> — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg)
|
||||
|
||||
|
||||
<p style="margin-top:-10px;margin-bottom:-5px"> <b>Publishes in:</b> </p>
|
||||
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/ackermann_control_parameter_descriptions</b></font> — ???
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/ackermann_control/control_info</b></font> — carla_ackermann_control.EgoVehicleControlInfo ???
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/ackermann_control/parameter_updates</b></font> — ???
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/ackermann_control/parameter_descriptions</b></font> — [dynamic_reconfigure/ConfigDescription](http://docs.ros.org/melodic/api/dynamic_reconfigure/html/msg/ConfigDescription.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/ackermann_control/control_info</b></font> — [carla_ackermann_control.EgoVehicleControlInfo](../ros_msgs#egovehiclecontrolinfomsg)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/ackermann_control/parameter_updates</b></font> — [dynamic_reconfigure/Config](http://wiki.ros.org/dynamic_reconfigure)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_control_cmd</b></font> — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg)
|
||||
|
||||
--------------
|
||||
|
@ -82,29 +84,29 @@
|
|||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="f8815c"><b>/carla/debug_marker</b></font> — visualization_msgs.MarkerArray
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/enable_autopilot</b></font> — ???
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/twist</b></font> — geometry_msgs.Twist
|
||||
* <font color="f8815c"><b>/carla/debug_marker</b></font> — [visualization_msgs.MarkerArray](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/MarkerArray.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/enable_autopilot</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/twist</b></font> — [geometry_msgs.Twist](http://docs.ros.org/melodic/api/geometry_msgs/html/msg/Twist.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_cmd</b></font> — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_cmd_manual</b></font> — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — std_msgs.Bool
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
|
||||
<p style="margin-top:-10px;margin-bottom:-5px"> <b>Publishes in:</b> </p>
|
||||
|
||||
* <font color="80ba10"><b>/carla/actor_list</b></font> — [carla_msgs.CarlaActorList](../ros_msgs#carlaactorlistmsg)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/front/camera_info</b></font> — sensor_msgs.CameraInfo
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/front/image_color</b></font> — sensor_msgs.Image
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/view/camera_info</b></font> — sensor_msgs.CameraInfo
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/view/image_color</b></font> — sensor_msgs.Image
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/gnss/gnss1/fix</b></font> — sensor_msgs.NavSatFix
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/imu</b></font> — sensor_msgs.Imu
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/lidar/lidar1/point_cloud</b></font> — sensor_msgs.PointCloud2
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/objects</b></font> — derived_object_msgs.ObjectArray
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/odometry</b></font> — nav_msgs.Odometry
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/radar/front/radar</b></font> — ainstein_radar_msgs.RadarTargetArray
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/front/camera_info</b></font> — [sensor_msgs.CameraInfo](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/CameraInfo.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/front/image_color</b></font> — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/view/camera_info</b></font> — [sensor_msgs.CameraInfo](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/CameraInfo.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/view/image_color</b></font> — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/gnss/gnss1/fix</b></font> — [sensor_msgs.NavSatFix](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/NavSatFix.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/imu</b></font> — [sensor_msgs.Imu](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Imu.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/lidar/lidar1/point_cloud</b></font> — [sensor_msgs.PointCloud2](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/PointCloud2.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/objects</b></font> — [derived_object_msgs.ObjectArray](http://docs.ros.org/kinetic/api/derived_object_msgs/html/msg/ObjectArray.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/odometry</b></font> — [nav_msgs.Odometry](http://docs.ros.org/melodic/api/nav_msgs/html/msg/Odometry.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/radar/front/radar</b></font> — [ainstein_radar_msgs.RadarTargetArray](http://wiki.ros.org/ainstein_radar_msgs)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_info</b></font> — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_status</b></font> — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg)
|
||||
* <font color="80ba10"><b>/carla/objects</b></font> — derived_object_msgs.ObjectArrayring
|
||||
* <font color="80ba10"><b>/carla/objects</b></font> — [derived_object_msgs.ObjectArrayring](http://wiki.ros.org/derived_object_msgs)
|
||||
* <font color="80ba10"><b>/carla/status</b></font> — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg)
|
||||
* <font color="80ba10"><b>/carla/traffic_lights</b></font> — [carla_msgs.CarlaTrafficLightStatusList](../ros_msgs#carlatrafficlightstatuslist)
|
||||
* <font color="80ba10"><b>/carla/world_info</b></font> — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg)
|
||||
|
@ -115,11 +117,11 @@
|
|||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/view/image_color</b></font> — sensor_msgs.Image
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/view/image_color</b></font> — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/collision</b></font> — [carla_msgs.CarlaCollisionEvent](../ros_msgs#carlacollisioneventmsg)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/gnss/gnss1/fix</b></font> — sensor_msgs.NavSatFix
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/gnss/gnss1/fix</b></font> — [sensor_msgs.NavSatFix](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/NavSatFix.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/lane_invasion</b></font> — [carla_msgs.CarlaLaneInvasionEvent](../ros_msgs#carlalaneinvasioneventmsg)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — std_msgs.Bool
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_info</b></font> — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_status</b></font> — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg)
|
||||
* <font color="80ba10"><b>/carla/status</b></font> — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg)
|
||||
|
@ -127,16 +129,16 @@
|
|||
|
||||
<p style="margin-top:-10px;margin-bottom:-5px"> <b>Publishes in:</b> </p>
|
||||
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/enable_autopilot</b></font> — ???
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/enable_autopilot</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_cmd_manual</b></font> — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — std_msgs.Bool
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
|
||||
<!---NODE-->
|
||||
<h4 style="margin-bottom: 5px"> <u>/carla_ego_vehicle_ego_vehicle</u> <small><i>(Node)</i></small> </h4>
|
||||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/initialpose</b></font> — ???
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/initialpose</b></font> — [geometry_msgs/PoseWithCovarianceStamped](http://docs.ros.org/melodic/api/geometry_msgs/html/msg/PoseWithCovarianceStamped.html)
|
||||
|
||||
|
||||
---------------
|
||||
|
@ -147,12 +149,12 @@
|
|||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="f8815c"><b>/carla/debug_marker</b></font> — visualization_msgs.MarkerArray
|
||||
* <font color="f8815c"><b>/carla/debug_marker</b></font> — [visualization_msgs.MarkerArray](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/MarkerArray.html)
|
||||
|
||||
<p style="margin-top:-10px;margin-bottom:-5px"> <b>Publishes in:</b> </p>
|
||||
|
||||
* <font color="80ba10"><b>/carla/actor_list</b></font> — [carla_msgs.CarlaActorList](../ros_msgs#carlaactorlistmsg)
|
||||
* <font color="80ba10"><b>/carla/objects</b></font> — derived_object_msgs.ObjectArrayring
|
||||
* <font color="80ba10"><b>/carla/objects</b></font> — [derived_object_msgs.ObjectArrayring](http://wiki.ros.org/derived_object_msgs)
|
||||
* <font color="80ba10"><b>/carla/status</b></font> — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg)
|
||||
* <font color="80ba10"><b>/carla/traffic_lights</b></font> — [carla_msgs.CarlaTrafficLightStatusList](../ros_msgs#carlatrafficlightstatuslist)
|
||||
* <font color="80ba10"><b>/carla/world_info</b></font> — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg)
|
||||
|
@ -162,24 +164,34 @@
|
|||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="f8815c"><b>/carla/vehicle_marker</b></font> — ???
|
||||
* <font color="f8815c"><b>/carla/vehicle_marker_array</b></font> — ???
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/lidar/front/point_cloud</b></font> — sensor_msgs.PointCloud2
|
||||
* <font color="f8815c"><b>/carla/vehicle_marker</b></font> — [visualization_msgs/Marker](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/Marker.html)
|
||||
* <font color="f8815c"><b>/carla/vehicle_marker_array</b></font> — [visualization_msgs/MarkerArray](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/MarkerArray.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/lidar/front/point_cloud</b></font> — [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` that receives and manages the information using ROS topics. It has some prerequisites:
|
||||
|
||||
* 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.
|
||||
|
||||
|
||||
<!---NODE-->
|
||||
<h4 style="margin-bottom: 5px"> <u>/carla_manual_control_ego_vehicle</u> <small><i>(Node)</i></small> </h4>
|
||||
Retrieves from CARLA information regarding the ego vehicle. Uses keyboard input to publish messages containing the controller data to manage the ego vehicle.
|
||||
The information retrieved includes both static and current state, the sensor data registered on every step and the general settings of the simulation.
|
||||
|
||||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/camera/rgb/view/image_color</b></font> — sensor_msgs.Image
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/camera/rgb/view/image_color</b></font> — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/collision</b></font> — [carla_msgs.CarlaCollisionEvent](../ros_msgs#carlacollisioneventmsg)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/gnss/gnss1/fix</b></font> — sensor_msgs.NavSatFix
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/gnss/gnss1/fix</b></font> — [sensor_msgs.NavSatFix](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/NavSatFix.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/lane_invasion</b></font> — [carla_msgs.CarlaLaneInvasionEvent](../ros_msgs#carlalaneinvasioneventmsg)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — std_msgs.Bool
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_info</b></font> — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_status</b></font> — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg)
|
||||
* <font color="f8815c"><b>/carla/status</b></font> — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg)
|
||||
|
@ -187,9 +199,9 @@
|
|||
|
||||
<p style="margin-top:-10px;margin-bottom:-5px"> <b>Publishes in:</b> </p>
|
||||
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/enable_autopilot</b></font> — ???
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/enable_autopilot</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_control_cmd_manual</b></font> — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — std_msgs.Bool
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
|
||||
--------------
|
||||
##carla_pcl_recorder.launch
|
||||
|
@ -199,30 +211,30 @@
|
|||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="f8815c"><b>/carla/debug_marker</b></font> — visualization_msgs.MarkerArray
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/enable_autopilot</b></font> — ???
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/twist</b></font> — geometry_msgs.Twist
|
||||
* <font color="f8815c"><b>/carla/debug_marker</b></font> — [visualization_msgs.MarkerArray](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/MarkerArray.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/enable_autopilot</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/twist</b></font> — [geometry_msgs.Twist](http://docs.ros.org/melodic/api/geometry_msgs/html/msg/Twist.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_cmd</b></font> — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_cmd_manual</b></font> — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — std_msgs.Bool
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
|
||||
<p style="margin-top:-10px;margin-bottom:-5px"> <b>Publishes in:</b> </p>
|
||||
|
||||
* <font color="80ba10"><b>/carla/actor_list</b></font> — [carla_msgs.CarlaActorList](../ros_msgs#carlaactorlistmsg)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/front/camera_info</b></font> — sensor_msgs.CameraInfo
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/front/image_color</b></font> — sensor_msgs.Image
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/view/camera_info</b></font> — sensor_msgs.CameraInfo
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/view/image_color</b></font> — sensor_msgs.Image
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/gnss/gnss1/fix</b></font> — sensor_msgs.NavSatFix
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/imu</b></font> — sensor_msgs.Imu
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/lidar/lidar1/point_cloud</b></font> — sensor_msgs.PointCloud2
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/objects</b></font> — derived_object_msgs.ObjectArray
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/odometry</b></font> — nav_msgs.Odometry
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/front/camera_info</b></font> — [sensor_msgs.CameraInfo](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/CameraInfo.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/front/image_color</b></font> — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/view/camera_info</b></font> — [sensor_msgs.CameraInfo](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/CameraInfo.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/camera/rgb/view/image_color</b></font> — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/gnss/gnss1/fix</b></font> — [sensor_msgs.NavSatFix](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/NavSatFix.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/imu</b></font> — [sensor_msgs.Imu](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Imu.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/lidar/lidar1/point_cloud</b></font> — [sensor_msgs.PointCloud2](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/PointCloud2.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/objects</b></font> — [derived_object_msgs.ObjectArray](http://docs.ros.org/kinetic/api/derived_object_msgs/html/msg/ObjectArray.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/odometry</b></font> — [nav_msgs.Odometry](http://docs.ros.org/melodic/api/nav_msgs/html/msg/Odometry.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_status</b></font> — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/radar/front/radar</b></font> — ainstein_radar_msgs.RadarTargetArray
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/radar/front/radar</b></font> — [ainstein_radar_msgs.RadarTargetArray](http://wiki.ros.org/ainstein_radar_msgs)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_info</b></font> — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg)
|
||||
* <font color="80ba10"><b>/carla/marker</b></font> — visualization_msgs.Marker
|
||||
* <font color="80ba10"><b>/carla/objects</b></font> — derived_object_msgs.ObjectArrayring
|
||||
* <font color="80ba10"><b>/carla/marker</b></font> — [visualization_msgs.Marker](http://docs.ros.org/melodic/api/visualization_msgs/html/msg/Marker.html)
|
||||
* <font color="80ba10"><b>/carla/objects</b></font> — [derived_object_msgs.ObjectArrayring](http://wiki.ros.org/derived_object_msgs)
|
||||
* <font color="80ba10"><b>/carla/status</b></font> — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg)
|
||||
* <font color="80ba10"><b>/carla/traffic_lights</b></font> — [carla_msgs.CarlaTrafficLightStatusList](../ros_msgs#carlatrafficlightstatuslist)
|
||||
* <font color="80ba10"><b>/carla/world_info</b></font> — [carla_msgs.CarlaWorldInfo](../ros_msgs#carlaworldinfomsg)
|
||||
|
@ -232,11 +244,11 @@
|
|||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/camera/rgb/view/image_color</b></font> — sensor_msgs.Image
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/camera/rgb/view/image_color</b></font> — [sensor_msgs.Image](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/Image.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/collision</b></font> — [carla_msgs.CarlaCollisionEvent](../ros_msgs#carlacollisioneventmsg)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/gnss/gnss1/fix</b></font> — sensor_msgs.NavSatFix
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/gnss/gnss1/fix</b></font> — [sensor_msgs.NavSatFix](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/NavSatFix.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/lane_invasion</b></font> — [carla_msgs.CarlaLaneInvasionEvent](../ros_msgs#carlalaneinvasioneventmsg)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — std_msgs.Bool
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_info</b></font> — [carla_msgs.CarlaEgoVehicleInfo](../ros_msgs#carlaegovehicleinfomsg)
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/vehicle_status</b></font> — [carla_msgs.CarlaEgoVehicleStatus](../ros_msgs#carlaegovehiclestatusmsg)
|
||||
* <font color="f8815c"><b>/carla/status</b></font> — [carla_msgs.CarlaStatus](../ros_msgs#carlastatusmsg)
|
||||
|
@ -244,23 +256,23 @@
|
|||
|
||||
<p style="margin-top:-10px;margin-bottom:-5px"> <b>Publishes in:</b> </p>
|
||||
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/enable_autopilot</b></font> — ???
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/enable_autopilot</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_control_cmd_manual</b></font> — [carla_msgs.CarlaEgoVehicleControl](../ros_msgs#carlaegovehiclecontrolmsg)
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — std_msgs.Bool
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/vehicle_control_manual_override</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
|
||||
<!---NODE-->
|
||||
<h4 style="margin-bottom: 5px"> <u>/carla_ego_vehicle_ego_vehicle</u> <small><i>(Node)</i></small> </h4>
|
||||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/initialpose</b></font> — ???
|
||||
* <font color="f8815c"><b>/carla/ego_vehicle/initialpose</b></font> — [geometry_msgs/PoseWithCovarianceStamped](http://docs.ros.org/melodic/api/geometry_msgs/html/msg/PoseWithCovarianceStamped.html)
|
||||
|
||||
<!---NODE-->
|
||||
<h4 style="margin-bottom: 5px"> <u>/enable_autopilot_rostopic</u> <small><i>(Node)</i></small> </h4>
|
||||
|
||||
<p style="margin-top:-10px;margin-bottom:-5px"> <b>Publishes in:</b> </p>
|
||||
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/enable_autopilot</b></font> — ???
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/enable_autopilot</b></font> — [std_msgs.Bool](http://docs.ros.org/melodic/api/std_msgs/html/msg/Bool.html)
|
||||
|
||||
|
||||
<!---NODE-->
|
||||
|
@ -268,7 +280,7 @@
|
|||
|
||||
<p style="margin-bottom:-5px"> <b>Subscribed to:</b> </p>
|
||||
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/lidar/lidar1/point_cloud</b></font> — sensor_msgs.PointCloud2
|
||||
* <font color="80ba10"><b>/carla/ego_vehicle/lidar/lidar1/point_cloud</b></font> — [sensor_msgs.PointCloud2](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/PointCloud2.html)
|
||||
|
||||
--------------
|
||||
##carla_waypoint_publisher.launch
|
||||
|
|
|
@ -1,187 +0,0 @@
|
|||
<h1>Supported features</h1>
|
||||
|
||||
The ROS bridge enables communication between ROS and CARLA so that both softwares can reach full potential by combining their features.
|
||||
|
||||
* [__Listed features__](#listed-features)
|
||||
* [__ROS packages__](#ros_packages)
|
||||
* [__ROS topics__](#ros_topics)
|
||||
|
||||
---------------
|
||||
##Listed features
|
||||
|
||||
* __Sensors:__
|
||||
* Lidar.
|
||||
* Cameras (depth, RGB and segmentation).
|
||||
* __Messages:__
|
||||
* Transform publications.
|
||||
* Manual control using Ackerman msg.
|
||||
* Marker/bounding box messages for cars/pedestirans.
|
||||
* __Other:__
|
||||
* Synchronous mode in CARLA.
|
||||
* Handling ROS dependencies.
|
||||
* Add traffic lights.
|
||||
|
||||
|
||||
---------------
|
||||
##ROS packages
|
||||
|
||||
<h4> CARLA ego vehicle </h4>
|
||||
|
||||
`carla_ego_vehicle` provides a generic way to spawn an ego vehicle and attach sensors to it. You can find further documentation [here](carla_ego_vehicle/README.md).
|
||||
|
||||
<h4> CARLA infrastructure sensors </h4>
|
||||
|
||||
`carla_infrastructure` provides a generic way to spawn a set of infrastructure sensors defined in a config file. You can find further documentation [here](carla_infrastructure/README.md).
|
||||
|
||||
<h4> Waypoint calculation </h4>
|
||||
|
||||
To make use of the Carla waypoint calculation a ROS Node is available to get waypoints. You can find further documentation [here](carla_waypoint_publisher/README.md).
|
||||
|
||||
|
||||
---------------
|
||||
##ROS topics
|
||||
|
||||
<h4> Synchronous mode </h4>
|
||||
|
||||
It is possible to control the simulation execution:
|
||||
|
||||
- Pause/Play
|
||||
- Execute single step
|
||||
|
||||
The following topic allows to control the stepping.
|
||||
|
||||
| Topic | Type |
|
||||
| ---------------- | ---------------------------------------------------------- |
|
||||
| `/carla/control` | [carla_msgs.CarlaControl](carla_msgs/msg/CarlaControl.msg) |
|
||||
|
||||
A [CARLA Control rqt plugin](rqt_carla_control/README.md) is available to publish to the topic.
|
||||
|
||||
|
||||
<h4> Ego Vehicle </h4>
|
||||
|
||||
<h5> Sensors </h5>
|
||||
|
||||
The ego vehicle sensors are provided via topics with prefix /carla/ego_vehicle/<sensor_topic>
|
||||
|
||||
Currently the following sensors are supported:
|
||||
|
||||
Publish GNSS location, collision events...
|
||||
|
||||
| Sensor | Topic | Type |
|
||||
| | -------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
|
||||
| __Camera__ | `/carla/<ROLE NAME>/camera/rgb/<SENSOR ROLE NAME>/image_color` | [sensor_msgs.Image](http://docs.ros.org/api/sensor_msgs/html/msg/Image.html) |
|
||||
| __Camera__ | `/carla/<ROLE NAME>/camera/rgb/<SENSOR ROLE NAME>/camera_info` | [sensor_msgs.CameraInfo](http://docs.ros.org/api/sensor_msgs/html/msg/CameraInfo.html) |
|
||||
| __Lidar__ | `/carla/<ROLE NAME>/lidar/<SENSOR ROLE NAME>/point_cloud` | [sensor_msgs.PointCloud2](http://docs.ros.org/api/sensor_msgs/html/msg/PointCloud2.html) |
|
||||
| __Radar__ | `/carla/<ROLE NAME>/radar/<SENSOR ROLE NAME>/radar` | [ainstein_radar_msgs.RadarTargetArray](https://github.com/AinsteinAI/ainstein_radar/blob/master/ainstein_radar_msgs/msg/RadarTargetArray.msg) |
|
||||
| __IMU__ | `/carla/<ROLE NAME>/imu` | [sensor_msgs.Imu](https://docs.ros.org/melodic/api/sensor_msgs/html/msg/Imu.html) |
|
||||
| __GNSS__ | `/carla/<ROLE NAME>/gnss/<SENSOR ROLE NAME>/fix` | [sensor_msgs.NavSatFix](http://docs.ros.org/api/sensor_msgs/html/msg/NavSatFix.html) |
|
||||
| __Collision__ | `/carla/<ROLE NAME>/collision` | [carla_msgs.CarlaCollisionEvent](carla_msgs/msg/CarlaCollisionEvent.msg) |
|
||||
|__Lane invasion__ | `/carla/<ROLE NAME>/lane_invasion` | [carla_msgs.CarlaLaneInvasionEvent](carla_msgs/msg/CarlaLaneInvasionEvent.msg) |
|
||||
|
||||
!!! Note
|
||||
Radar data can be visualized on rviz using [ainstein_radar_rviz_plugins](https://wiki.ros.org/ainstein_radar_rviz_plugins).
|
||||
|
||||
|
||||
<h5> Object sensor </h5>
|
||||
|
||||
| Topic | Type | Description |
|
||||
| ---------------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
|
||||
| `/carla/<ROLE NAME>/objects` | [derived_object_msgs.ObjectArray](http://docs.ros.org/api/derived_object_msgs/html/msg/ObjectArray.html) | all vehicles and walkers, except the ego vehicle |
|
||||
|
||||
<h5> Control </h5>
|
||||
|
||||
| Topic | Type |
|
||||
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------ |
|
||||
| `/carla/<ROLE NAME>/vehicle_control_cmd` (subscriber) | [carla_msgs.CarlaEgoVehicleControl](carla_msgs/msg/CarlaEgoVehicleControl.msg) |
|
||||
| `/carla/<ROLE NAME>/vehicle_control_cmd_manual` (subscriber) | [carla_msgs.CarlaEgoVehicleControl](carla_msgs/msg/CarlaEgoVehicleControl.msg) |
|
||||
| `/carla/<ROLE NAME>/vehicle_control_manual_override` (subscriber) | [std_msgs.Bool](http://docs.ros.org/api/std_msgs/html/msg/Bool.html) |
|
||||
| `/carla/<ROLE NAME>/vehicle_status` | [carla_msgs.CarlaEgoVehicleStatus](carla_msgs/msg/CarlaEgoVehicleStatus.msg) |
|
||||
| `/carla/<ROLE NAME>/vehicle_info` | [carla_msgs.CarlaEgoVehicleInfo](carla_msgs/msg/CarlaEgoVehicleInfo.msg) |
|
||||
|
||||
There are two modes to control the vehicle.
|
||||
|
||||
1. Normal Mode (reading commands from `/carla/<ROLE NAME>/vehicle_control_cmd`)
|
||||
2. Manual Mode (reading commands from `/carla/<ROLE NAME>/vehicle_control_cmd_manual`)
|
||||
|
||||
This allows to manually override a Vehicle Control Commands published by a software stack. You can toggle between the two modes by publishing to `/carla/<ROLE NAME>/vehicle_control_manual_override`.
|
||||
|
||||
[carla_manual_control](carla_manual_control/) makes use of this feature.
|
||||
|
||||
For testing purposes, you can stear the ego vehicle from the commandline by publishing to the topic `/carla/<ROLE NAME>/vehicle_control_cmd`.
|
||||
|
||||
Examples for a ego vehicle with role_name 'ego_vehicle':
|
||||
|
||||
Max forward throttle:
|
||||
|
||||
rostopic pub /carla/ego_vehicle/vehicle_control_cmd carla_msgs/CarlaEgoVehicleControl "{throttle: 1.0, steer: 0.0}" -r 10
|
||||
|
||||
Max forward throttle with max steering to the right:
|
||||
|
||||
rostopic pub /carla/ego_vehicle/vehicle_control_cmd carla_msgs/CarlaEgoVehicleControl "{throttle: 1.0, steer: 1.0}" -r 10
|
||||
|
||||
The current status of the vehicle can be received via topic `/carla/<ROLE NAME>/vehicle_status`.
|
||||
Static information about the vehicle can be received via `/carla/<ROLE NAME>/vehicle_info`
|
||||
|
||||
<h6> Sensors </h6>
|
||||
|
||||
| Topic | Type |
|
||||
| ------------------------------------------- | -------------------------------------------------------------------------------- |
|
||||
| `/carla/<ROLE NAME>/twist_cmd` (subscriber) | [geometry_msgs.Twist](http://docs.ros.org/api/geometry_msgs/html/msg/Twist.html) |
|
||||
|
||||
CAUTION: This control method does not respect the vehicle constraints. It allows movements impossible in the real world, like flying or rotating.
|
||||
|
||||
You can also control the vehicle via publishing linear and angular velocity within a Twist datatype.
|
||||
|
||||
Currently this method applies the complete linear vector, but only the yaw from angular vector.
|
||||
|
||||
<h6> Ackermann control </h6>
|
||||
|
||||
In certain cases, the [Carla Control Command](carla_msgs/msg/CarlaEgoVehicleControl.msg) is not ideal to connect to an AD stack.
|
||||
Therefore a ROS-based node `carla_ackermann_control` is provided which reads [AckermannDrive](http://docs.ros.org/api/ackermann_msgs/html/msg/AckermannDrive.html) messages.
|
||||
You can find further documentation [here](carla_ackermann_control/README.md).
|
||||
|
||||
<h4> Other actors </h4>
|
||||
|
||||
| Topic | Type | Description |
|
||||
| ------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------- |
|
||||
| `/carla/objects` | [derived_object_msgs.ObjectArray](http://docs.ros.org/api/derived_object_msgs/html/msg/ObjectArray.html) | all vehicles and walkers |
|
||||
| `/carla/marker` | [visualization_msgs.Marker](http://docs.ros.org/api/visualization_msgs/html/msg/Marker.html) | visualization of vehicles and walkers |
|
||||
| `/carla/actor_list` | [carla_msgs.CarlaActorList](carla_msgs/msg/CarlaActorList.msg) | list of all carla actors |
|
||||
| `/carla/traffic_lights` | [carla_msgs.CarlaTrafficLightStatusList](carla_msgs/msg/CarlaTrafficLightStatusList.msg) | list of all traffic lights with their status |
|
||||
|
||||
<h4> Status of CARLA </h4>
|
||||
|
||||
| Topic | Type | Description |
|
||||
| ------------------- | -------------------------------------------------------------- | ------------------------------------------------------ |
|
||||
| `/carla/status` | [carla_msgs.CarlaStatus](carla_msgs/msg/CarlaStatus.msg) | |
|
||||
| `/carla/world_info` | [carla_msgs.CarlaWorldInfo](carla_msgs/msg/CarlaWorldInfo.msg) | Info about the CARLA world/level (e.g. OPEN Drive map) |
|
||||
|
||||
<h4> Walkers </h4>
|
||||
|
||||
| Topic | Type | Description |
|
||||
| ---------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------ |
|
||||
| `/carla/walker/<ID>/walker_control_cmd` (subscriber) | [carla_msgs.CarlaWalkerControl](carla_msgs/msg/CarlaWalkerControl.msg) | Control a walker |
|
||||
| `/carla/walker/<ID>/odometry` | [nav_msgs.Odometry](http://docs.ros.org/api/nav_msgs/html/msg/Odometry.html) | odometry of walker |
|
||||
|
||||
<h4> Other vehicles </h4>
|
||||
|
||||
| Topic | Type | Description |
|
||||
| ------------------------------ | ---------------------------------------------------------------------------- | ------------------- |
|
||||
| `/carla/vehicle/<ID>/odometry` | [nav_msgs.Odometry](http://docs.ros.org/api/nav_msgs/html/msg/Odometry.html) | odometry of vehicle |
|
||||
|
||||
<h4> Debug marker </h4>
|
||||
|
||||
It is possible to draw markers in CARLA.
|
||||
|
||||
Caution: Markers might affect the data published by sensors.
|
||||
|
||||
The following markers are supported in 'map'-frame:
|
||||
|
||||
- Arrow (specified by two points)
|
||||
- Points
|
||||
- Cube
|
||||
- Line Strip
|
||||
|
||||
| Topic | Type | Description |
|
||||
| ---------------------------------- | ------------------------------------------------------------------------------------------------------ | --------------------------- |
|
||||
| `/carla/debug_marker` (subscriber) | [visualization_msgs.MarkerArray](http://docs.ros.org/api/visualization_msgs/html/msg/MarkerArray.html) | draw markers in CARLA world |
|
Loading…
Reference in New Issue