- 由于git clone拉取的项目可能在短期内出现重要更新内容,需要对更新内容进行重新拉取,可在项目根目录下输入下述指令实现:
git pull
- 由于Carla资产需要lfs支持才能成功载入,需要提前准备一下步骤:
cd carla_root_path
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
# 通过下列命令验证lfs是否正确安装
git lfs --version
# 执行下列命令下载dev版本对应的Carla资产
git lfs clone https://bitbucket.org/carla-simulator/carla-content Unreal/CarlaUE4/Content/Carla
# 若下载中断或资产有更新,可使用下列命令
git lfs pull
- Carla 0.9.13-224-ge8a2bd3c7-dirty版本Python示例脚本运行问题:
cd /carla-root-path/PythonAPI/examples
python automatic_control.py
报错信息如下:
解决方案:
# in function game_loop(args):
# traffic_manager = client.get_trafficmanager()
# default port = 8000, change another port here.
traffic_manager = client.get_trafficmanager(other_port)
其他报错:
python manual_control.py
报错信息如下:
解决方案:
# in function KeyboardControl(object):
class KeyboardControl(object):
def __init__(self, world, start_in_autopilot):
self._autopilot_enabled = start_in_autopilot
self._ackermann_enabled = False
self._ackermann_reverse = 1
if isinstance(world.player, carla.Vehicle):
self._control = carla.VehicleControl()
self._ackermann_control = carla.VehicleAckermannControl()
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
self._rotation = world.player.get_transform().rotation
else:
raise NotImplementedError("Actor type not supported")
self._steer_cache = 0.0
world.hud.notification("Press 'H' or '?' for help.", seconds=4.0)
def parse_events(self, client, world, clock, sync_mode):
...
- 导入第三方库错误
以pynmea2为例,报错信息如下:
ModuleNotFoundError: No module named 'pynmea2'.
报错原因是在python的sys_path中没有找到包,可能使用pip安装到了系统其他路径下。
解决方案:
import sys
# 打印python导入包的系统路径列表,找到目标路径,将pip下载的包加入目标路径下即可
print(sys.path)