Skip to content

Commit

Permalink
添加科学上网步骤
Browse files Browse the repository at this point in the history
  • Loading branch information
nongfugengxia committed Aug 26, 2024
1 parent 3d28398 commit d7b4c8c
Show file tree
Hide file tree
Showing 13 changed files with 62 additions and 45 deletions.
8 changes: 7 additions & 1 deletion docs/adv_cesium.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,13 @@ carla_unreal\unreal\Engine\Plugins\Editor\BlueprintMaterialTextureNodes\Binaries
!!! 注意
[链接](https://pan.baidu.com/s/1n2fJvWff4pbtMe97GOqtvQ?pwd=hutb) 中的`map`文件夹内下载`中电软件园_cesium_model.zip`并解压。这里测试用的是本地路径,也可以用静态资源服务。

6.模型在CarlaUE中的场景效果
6.将Trees.umap中放到本地文件夹下,菜单中点击`窗口->关卡`,从`内容浏览器`中将`Trees.umap`拖进导弹出界面,然后右键`Trees`关卡,选择`修改流送方法->固定加载`

7.在`世界大纲视图`中选中`Cesium3DTileset`,将`Cesium`中的`Mobility`修改为`可移动`

8.添加光源`DirectionalLight``ExponentialHeightFog``SkyAtmosphere``SkyLight`

9.模型在CarlaUE中的场景效果

![](img/cesium/scene_effect.png)

Expand Down
4 changes: 2 additions & 2 deletions docs/adv_traffic_manager.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
- [停止交通管理器](#stopping-a-traffic-manager)
- [__确定性模式__](#deterministic-mode)
- [__混合物理模式__](#hybrid-physics-mode)
- [__运行多个流量管理器__](#running-multiple-traffic-managers)
- [流量管理器服务端和客户端](#traffic-manager-servers-and-clients)
- [__运行多个交通管理器__](#running-multiple-traffic-managers)
- [交通管理器服务端和客户端](#traffic-manager-servers-and-clients)
- [多客户端仿真](#multi-client-simulations)
- [多交通管理器仿真](#multi-tm-simulations)
- [多重仿真](#multi-simulation)
Expand Down
32 changes: 32 additions & 0 deletions docs/build_carla.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,38 @@

* [__常见问题__](build_faq.md)


### 科学上网 <span id="internet"></span>

参考其中的一个链接进行科学上网的订阅和环境配置:[链接1](https://www.starlinkcloud.cc/#/register?code=Ob4iMh8u)[链接2](https://portal.shadowsocks.au/)[链接3](https://mk.mikadonet.xyz/#/login)[链接4](https://711jsq.club/#/login)

#### Ubuntu 下的配置

Linux 科学上网配置[教程](https://opclash.com/article/302.html) 。下载[clash](https://github.com/zhongfly/Clash-premium-backup/releases/download/2023-09-05-gdcc8d87/clash-linux-amd64-n2023-09-05-gdcc8d87.gz)

首次启动`clash`,会新建文件`~/.config/clash/config.yaml`
```shell
cd $HOME/.config/clash/
```
![ImageDepth](img/build/agent_config.jpg)
将Clash中的订阅地址写入`config.yaml`文件。

打开 Ubuntu 的“设置”管理,在“网络”内将“网络代理”的“自动”改为“手动”,根据以下内容进行填写 HTTP、HTTPS 和 Socks 地址
```shell
# HTTP 代理
127.0.0.1:7890

# HTTPS 代理
127.0.0.1:7890

# Socks 主机
127.0.0.1:7891
```

#### TortoiseGit 网络代理配置
如果使用TortoiseGit作为git的


## 其他

* [虚幻引擎commandlet](./ue_commandlet.md)
Expand Down
21 changes: 0 additions & 21 deletions docs/build_linux_ue5.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,27 +130,6 @@ sudo apt-get install clang
还是找不到!!!
### 科学上网
科学上网配置[教程](https://opclash.com/article/302.html) 。下载[clash](https://github.com/zhongfly/Clash-premium-backup/releases/download/2023-09-05-gdcc8d87/clash-linux-amd64-n2023-09-05-gdcc8d87.gz) 。
首次启动`clash`
```shell
cd $HOME/.config/clash/
```
将订阅地址写入`config.yaml`文件。
打开 Ubuntu 的“设置”管理,在“网络”内将“网络代理”的“自动”改为“手动”,根据以下内容进行填写 HTTP、HTTPS 和 Socks 地址
```shell
# HTTP 代理
127.0.0.1:7890
# HTTPS 代理
127.0.0.1:7890
# Socks 主机
127.0.0.1:7891
```
### Carla
Expand Down
Binary file added docs/img/build/agent_config.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/large_map_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ python3 config.py --tile-stream-distance 2000

大地图功能向 Carla 引入了休眠参与者的概念。休眠参与者仅存在于大地图的上下文中。休眠参与者是仿真中位于自主车辆的 __参与者活动距离__ 之外的非自主车辆参与者,例如,远离自主车辆的车辆。参与者活动距离可以等于或小于流距离。

如果参与者发现自己在自主车辆的参与者活动距离之外,它将进入休眠状态。参与者仍然存在,但不会被渲染。尽管仍然可以[设置](python_api.md#carla.Actor.set_location)位置和[变换](python_api.md#carla.Actor.set_transform),但不会计算物理量(除非通过流量管理器以混合模式运行) 。一旦休眠的参与者再次进入自主车辆的参与者活动距离内,它将醒来,并且其渲染和物理将恢复正常。
如果参与者发现自己在自主车辆的参与者活动距离之外,它将进入休眠状态。参与者仍然存在,但不会被渲染。尽管仍然可以[设置](python_api.md#carla.Actor.set_location)位置和[变换](python_api.md#carla.Actor.set_transform),但不会计算物理量(除非通过交通管理器以混合模式运行) 。一旦休眠的参与者再次进入自主车辆的参与者活动距离内,它将醒来,并且其渲染和物理将恢复正常。

由交通管理器控制的参与者具有不同的行为,可以在大地图中操作时进行配置。请阅读[交通管理器](adv_traffic_manager.md#traffic-manager-in-large-maps)文档以了解其工作原理。

Expand Down
18 changes: 9 additions & 9 deletions docs/python_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -1662,7 +1662,7 @@ Z 轴上从原点到点的距离。
- `xodr_content` (_str_) - 字符串格式的 .xodr 内容。
- **返回:** _list([carla.Transform](#carla.Transform))_
- <a name="carla.Map.cook_in_memory_map"></a>**<font color="#7fb800">cook_in_memory_map</font>**(<font color="#00a6ed">**self**</font>, <font color="#00a6ed">**path**</font>)
从 Carla 映射生成一个二进制文件,其中包含流量管理器使用的信息。此方法仅在地图导入过程中使用。
从 Carla 映射生成一个二进制文件,其中包含交通管理器使用的信息。此方法仅在地图导入过程中使用。
- **参数:**
- `path` (_str_) - 存储的二进制映射文件的预期位置的路径。
- <a name="carla.Map.generate_waypoints"></a>**<font color="#7fb800">generate_waypoints</font>**(<font color="#00a6ed">**self**</font>, <font color="#00a6ed">**distance**</font>)
Expand Down Expand Up @@ -2553,7 +2553,7 @@ _</font>
---

## carla.TrafficManager<a name="carla.TrafficManager"></a>
流量管理器是一个用 C++ 构建在 CARLA API 之上的模块。它可以处理设置为自动驾驶模式的任何车辆组,以现实的城市交通状况填充仿真,并为用户提供定制某些行为的机会。交通管理器的架构分为五个不同的面向目标的阶段和一个 PID 控制器,信息在其中流动,直到最终将 [carla.VehicleControl](#carla.VehicleControl) 应用于在交通管理器中注册的每辆车辆。要了解更多信息,请访问有关此模块的 [文档](adv_traffic_manager.md)
交通管理器是一个用 C++ 构建在 CARLA API 之上的模块。它可以处理设置为自动驾驶模式的任何车辆组,以现实的城市交通状况填充仿真,并为用户提供定制某些行为的机会。交通管理器的架构分为五个不同的面向目标的阶段和一个 PID 控制器,信息在其中流动,直到最终将 [carla.VehicleControl](#carla.VehicleControl) 应用于在交通管理器中注册的每辆车辆。要了解更多信息,请访问有关此模块的 [文档](adv_traffic_manager.md)


### 方法
Expand Down Expand Up @@ -2651,7 +2651,7 @@ _</font>
- `actor` (_[carla.Actor](#carla.Actor)_) - 您要查询的参与者。
- **返回:** _两个元素的列表 - [道路选项(字符串,例如“左”、“右”、“直”)、下一个路径点 ([carla.Waypoint](#carla.Waypoint))]_
- <a name="carla.TrafficManager.get_port"></a>**<font color="#7fb800">get_port</font>**(<font color="#00a6ed">**self**</font>)
返回流量管理器连接的端口。如果该对象是 TM-Client,它将返回其TM-Server的端口。阅读 [文档](#adv_traffic_manager.md#multiclient-and-multitm-management) 以了解其中的差异。
返回交通管理器连接的端口。如果该对象是 TM-Client,它将返回其TM-Server的端口。阅读 [文档](#adv_traffic_manager.md#multiclient-and-multitm-management) 以了解其中的差异。
- **返回:** _uint16_

##### 设置器
Expand Down Expand Up @@ -2684,16 +2684,16 @@ _</font>
- **参数:**
- `mode_switch` (_bool_) - 如果 __True__ ,则启用 OSM 模式。
- <a name="carla.TrafficManager.set_path"></a>**<font color="#7fb800">set_path</font>**(<font color="#00a6ed">**self**</font>, <font color="#00a6ed">**actor**</font>, <font color="#00a6ed">**path**</font>)
设置车辆在受流量管理器控制时要遵循的位置列表
设置车辆在受交通管理器控制时要遵循的位置列表
- **参数:**
- `actor` (_[carla.Actor](#carla.Actor)_) - 必须遵循给定路径的参与者。
- `path` (_list_) - [carla.Locations](#carla.Locations) 的列表,供参与者跟随。
- **警告:** <font color="#ED2F2F">_确保道路拓扑不会妨碍给定路径。
_</font>
- <a name="carla.TrafficManager.set_random_device_seed"></a>**<font color="#7fb800">set_random_device_seed</font>**(<font color="#00a6ed">**self**</font>, <font color="#00a6ed">**value**</font>)
为流量管理器设置特定的随机种子,从而将其设置为确定性的。
为交通管理器设置特定的随机种子,从而将其设置为确定性的。
- **参数:**
- `value` (_int_) - 流量管理器随机数生成的种子值
- `value` (_int_) - 交通管理器随机数生成的种子值
- <a name="carla.TrafficManager.set_respawn_dormant_vehicles"></a>**<font color="#7fb800">set_respawn_dormant_vehicles</font>**(<font color="#00a6ed">**self**</font>, <font color="#00a6ed">**mode_switch**=False</font>)
如果为 __True__ ,大地图中的车辆在休眠时会在英雄车辆附近重生。否则,它们将保持休眠状态,直到 `actor_active_distance` 再次进入英雄车辆。
- **参数:**
Expand All @@ -2706,7 +2706,7 @@ _</font>
- **警告:** <font color="#ED2F2F">_确保车道拓扑不会妨碍给定路线。
_</font>
- <a name="carla.TrafficManager.set_synchronous_mode"></a>**<font color="#7fb800">set_synchronous_mode</font>**(<font color="#00a6ed">**self**</font>, <font color="#00a6ed">**mode_switch**=True</font>)
将流量管理器设置为 [同步模式](adv_traffic_manager.md#synchronous-mode) 。在 [多客户端情况](adv_traffic_manager.md#multiclient) 下,只有 TM-Server 可以运行。类似地,在多TM 情况下,只有一个TM-Server 必须勾选。在进行世界勾选的客户端中使用此方法,并在将世界设置为同步模式后立即设置同步时哪个 TM 将成为主服务器。
将交通管理器设置为 [同步模式](adv_traffic_manager.md#synchronous-mode) 。在 [多客户端情况](adv_traffic_manager.md#multiclient) 下,只有 TM-Server 可以运行。类似地,在多TM 情况下,只有一个TM-Server 必须勾选。在进行世界勾选的客户端中使用此方法,并在将世界设置为同步模式后立即设置同步时哪个 TM 将成为主服务器。
- **参数:**
- `mode_switch` (_bool_) - 如果为 __True__ ,则启用交通管理器同步模式。
- **警告:** <font color="#ED2F2F">_如果服务器设置为同步模式,则执行标记的同一客户端中的 TM 也 <b>必须</b> 设置为同步模式。
Expand Down Expand Up @@ -3009,7 +3009,7 @@ _</font>

##### 设置器
- <a name="carla.Vehicle.set_autopilot"></a>**<font color="#7fb800">set_autopilot</font>**(<font color="#00a6ed">**self**</font>, <font color="#00a6ed">**enabled**=True</font>, <font color="#00a6ed">**port**=8000</font>)
在流量管理器的列表中注册或删除车辆。当 __True__ 时,作为参数传递的流量管理器将移动车辆。自动驾驶仪发生在客户端。
在交通管理器的列表中注册或删除车辆。当 __True__ 时,作为参数传递的交通管理器将移动车辆。自动驾驶仪发生在客户端。
- **参数:**
- `enabled` (_bool_)
- `port` (_uint16_) - 车辆要在其中注册或不列出的 TM-Server 端口。如果传递 __None__ ,它将考虑默认 8000 端口上的交通管理器。
Expand Down Expand Up @@ -3613,7 +3613,7 @@ _</font>
- **参数:**
- `world_settings` (_[carla.WorldSettings](#carla.WorldSettings)_)
- **返回:** _int_
- **警告:** <font color="#ED2F2F">_如果启用了同步模式,并且正在运行流量管理器,则也必须将其设置为同步模式。阅读 [本文](adv_traffic_manager.md#synchronous-mode) 以了解如何操作。
- **警告:** <font color="#ED2F2F">_如果启用了同步模式,并且正在运行交通管理器,则也必须将其设置为同步模式。阅读 [本文](adv_traffic_manager.md#synchronous-mode) 以了解如何操作。
_</font>
- <a name="carla.World.apply_textures_to_object"></a>**<font color="#7fb800">apply_textures_to_object</font>**(<font color="#00a6ed">**self**</font>, <font color="#00a6ed">**object_name**</font>, <font color="#00a6ed">**diffuse_texture**</font>, <font color="#00a6ed">**emissive_texture**</font>, <font color="#00a6ed">**normal_texture**</font>, <font color="#00a6ed">**ao_roughness_metallic_emissive_texture**</font>)
[carla.MaterialParameter](#carla.MaterialParameter)中的所有纹理字段应用到对象`object_name`。这里不会应用空纹理。
Expand Down
2 changes: 1 addition & 1 deletion docs/ros_installation_ros2.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
- 安装 ROS:
- [__ROS 2 Foxy__](https://docs.ros.org/en/foxy/Installation.html) — 针对 Ubuntu 20.04 (Focal)
-根据您的需要,可能需要额外的 ROS 包。强烈建议是用 [rviz](https://wiki.ros.org/rviz) 将ROS数据可视化。
- CARLA 0.9.11或更高版本——以前的版本与ROS桥不兼容。遵循[快速启动安装](https://carla.readthedocs.io/en/latest/start_quickstart/) 或者为[Linux]构建(https://carla.readthedocs.io/en/latest/build_linux/) 。建议尽可能将ROS桥接版本与CARLA版本相匹配。
- CARLA 0.9.11或更高版本——以前的版本与ROS桥不兼容。遵循[快速启动安装](https://carla.readthedocs.io/en/latest/start_quickstart/) 或者为 [Linux构建](https://carla.readthedocs.io/en/latest/build_linux/) 。建议尽可能将ROS桥接版本与CARLA版本相匹配。

---

Expand Down
13 changes: 6 additions & 7 deletions docs/run_ros.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ROS 桥包

`carla_ros_bridge` 包是运行基本 ROS 桥接功能所需的主包。在本节中,您将学习如何准备 ROS 环境、运行 ROS 桥、如何配置设置、同步模式的使用、控制自主车辆以及可用的订阅、出版物和服务的摘要
`carla_ros_bridge` 包是运行基本 ROS 桥接功能所需的主包。在本节中,您将学习如何准备 ROS 环境、运行 ROS 桥、如何配置设置、同步模式的使用、控制自主车辆以及可用的订阅、发布和服务的摘要

- [__设置 ROS 环境__](#setting-the-ros-environment)
- [准备 ROS 1 环境](#prepare-ros-1-environment)
Expand Down Expand Up @@ -126,14 +126,13 @@ ros2 launch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch.py
__2.__ 在另一个终端中,发布到主题 `/carla/<ROLE NAME>/vehicle_control_cmd`

```sh
# 最大向前油门,最大向右转向
# 最大向前油门,最大向右转向

# for ros1
rostopic pub /carla/ego_vehicle/vehicle_control_cmd carla_msgs/CarlaEgoVehicleControl "{throttle: 1.0, steer: 1.0}" -r 10

# for ros2
ros2 topic pub /carla/ego_vehicle/vehicle_control_cmd carla_msgs/CarlaEgoVehicleControl "{throttle: 1.0, steer: 1.0}" -r 10
# 对于 ros1
rostopic pub /carla/ego_vehicle/vehicle_control_cmd carla_msgs/CarlaEgoVehicleControl "{throttle: 1.0, steer: 1.0}" -r 10

# 对于 ros2
ros2 topic pub /carla/ego_vehicle/vehicle_control_cmd carla_msgs/CarlaEgoVehicleControl "{throttle: 1.0, steer: 1.0}" -r 10
```

当前车辆的状态可以通过主题 `/carla/<ROLE NAME>/vehicle_status` 获得。有关车辆的静态信息可以通过`/carla/<ROLE NAME>/vehicle_info`接收.
Expand Down
2 changes: 1 addition & 1 deletion docs/ts_traffic_simulation_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

## 交通管理器 <span id="traffic-manager"></span>

交通管理器是 Carla 中的一个模块,用于从客户端控制仿真中的某些车辆。[`carla.Vehicle.set_autopilot`](https://carla.readthedocs.io/en/latest/python_api/#carla.Vehicle.set_autopilot) 车辆通过方法或注册到流量管理器command.SetAutopilot。每辆车的控制是通过 [不同阶段](adv_traffic_manager.md#stages) 的循环来管理的,每个阶段都在不同的线程上运行。
交通管理器是 Carla 中的一个模块,用于从客户端控制仿真中的某些车辆。[`carla.Vehicle.set_autopilot`](https://carla.readthedocs.io/en/latest/python_api/#carla.Vehicle.set_autopilot) 车辆通过方法或注册到交通管理器command.SetAutopilot。每辆车的控制是通过 [不同阶段](adv_traffic_manager.md#stages) 的循环来管理的,每个阶段都在不同的线程上运行。

__用于:__

Expand Down
2 changes: 1 addition & 1 deletion docs/tuto_G_openstreetmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ python3 config.py --osm-path=/path/to/OSM/file

<br>
!!! 警告
生成的道路在地图的边界处突然结束。当车辆无法找到下一个路径点时,这将导致交通管理器崩溃。为了避免这种情况,流量管理器中的 OSM 模式默认设置为True ( [`set_osm_mode()`](python_api.md#carlatrafficmanager) )。这将在必要时显示警告并销毁车辆。
生成的道路在地图的边界处突然结束。当车辆无法找到下一个路径点时,这将导致交通管理器崩溃。为了避免这种情况,交通管理器中的 OSM 模式默认设置为True ( [`set_osm_mode()`](python_api.md#carlatrafficmanager) )。这将在必要时显示警告并销毁车辆。

---

Expand Down
2 changes: 1 addition & 1 deletion docs/tuto_first_steps.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ for vehicle in world.get_actors().filter('*vehicle*'):
vehicle.set_autopilot(True)
```

现在您的仿真正在运行,有许多车辆在地图上行驶,并且摄像机记录其中一辆车辆的数据。然后,该数据可用于提供机器学习算法来训练自动驾驶代理。流量管理器具有许多用于自定义流量行为的功能,请在 [__此处__](tuto_G_traffic_manager.md) 了解更多信息。
现在您的仿真正在运行,有许多车辆在地图上行驶,并且摄像机记录其中一辆车辆的数据。然后,该数据可用于提供机器学习算法来训练自动驾驶代理。交通管理器具有许多用于自定义流量行为的功能,请在 [__此处__](tuto_G_traffic_manager.md) 了解更多信息。

这是仿真的最基本可能设置,现在您可以更深入地了解有关可用于生成数据的许多额外传感器的文档,以及 Carla 的许多其他功能,这些功能可以使您的仿真更加详细和更多实际的。

Expand Down
1 change: 1 addition & 0 deletions src/game/manual_control.py
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,7 @@ def __init__(self, world, start_in_autopilot):
self._lights = carla.VehicleLightState.NONE
world.player.set_autopilot(self._autopilot_enabled)
world.player.set_light_state(self._lights)
# 按照预期速度运行
elif isinstance(world.player, carla.Walker):
self._control = carla.WalkerControl()
self._autopilot_enabled = False
Expand Down

0 comments on commit d7b4c8c

Please sign in to comment.