31 const std::string &host,
33 size_t worker_threads = 0u);
67 std::vector<std::string>
GetRequiredFiles(
const std::string &folder =
"",
const bool download =
true)
const {
68 return _simulator->GetRequiredFiles(folder, download);
87 bool reset_settings =
true,
90 return World{
_simulator->LoadEpisode(std::move(map_name), reset_settings, map_layers)};
96 bool reset_settings =
true,
100 std::string current_map_name = current_map->GetName();
101 std::string map_name_prefix =
"Carla/Maps/";
102 std::string map_name_without_prefix = map_name;
103 std::string map_name_with_prefix = map_name_prefix + map_name;
105 if(!(map_name_without_prefix == current_map_name) && !(map_name_with_prefix == current_map_name)){
115 std::string opendrive,
117 bool reset_settings =
true)
const {
119 std::move(opendrive), params, reset_settings)};
140 return _simulator->StartRecorder(name, additional_data);
152 return _simulator->ShowRecorderFileInfo(name, show_all);
163 return _simulator->ShowRecorderCollisions(name, type1, type2);
169 return _simulator->ShowRecorderActorsBlocked(name, min_time, min_distance);
173 std::string
ReplayFile(std::string name,
double start,
double duration,
174 uint32_t follow_id,
bool replay_sensors) {
175 return _simulator->ReplayFile(name, start, duration, follow_id, replay_sensors);
186 _simulator->SetReplayerTimeFactor(time_factor);
191 _simulator->SetReplayerIgnoreHero(ignore_hero);
196 _simulator->SetReplayerIgnoreSpectator(ignore_spectator);
201 std::vector<rpc::Command> commands,
202 bool do_tick_cue =
false)
const {
203 _simulator->ApplyBatch(std::move(commands), do_tick_cue);
209 std::vector<rpc::Command> commands,
210 bool do_tick_cue =
false)
const {
211 auto responses =
_simulator->ApplyBatchSync(std::move(commands),
false);
226 const std::string &host,
228 size_t worker_threads)
230 new detail::Simulator(host, port, worker_threads),
void RequestFile(const std::string &name) const
请求指定名称的文件,模拟器会处理文件的加载或下载。
std::string GetServerVersion() const
获取当前连接的模拟器版本字符串。
World LoadWorld(std::string map_name, bool reset_settings=true, rpc::MapLayer map_layers=rpc::MapLayer::All) const
加载指定名称的场景地图。
time_duration GetTimeout()
std::string ShowRecorderActorsBlocked(std::string name, double min_time, double min_distance)
bool SetFilesBaseFolder(const std::string &path)
设置文件系统的基路径(文件夹)。 用于设置模拟器读取文件的路径。 返回操作是否成功。
carla::client::detail::EpisodeProxy GetCurrentEpisode() const
获取当前模拟器中的活动场景实例。
Client(const std::string &host, uint16_t port, size_t worker_threads=0u)
构建一个 carla 客户端。
void SetReplayerIgnoreSpectator(bool ignore_spectator)
World GetWorld() const
获取当前模拟器中的活跃世界实例。
std::shared_ptr< detail::Simulator > _simulator
std::vector< std::string > GetAvailableMaps() const
获取当前服务中心提供的所有可用地图名称。
void LoadWorldIfDifferent(std::string map_name, bool reset_settings=true, rpc::MapLayer map_layers=rpc::MapLayer::All) const
如果当前地图与请求地图不同,则加载新地图。
void SetReplayerTimeFactor(double time_factor)
std::string ReplayFile(std::string name, double start, double duration, uint32_t follow_id, bool replay_sensors)
World GenerateOpenDriveWorld(std::string opendrive, const rpc::OpendriveGenerationParameters ¶ms, bool reset_settings=true) const
通过 OpenDrive 文件生成一个新的世界。
World ReloadWorld(bool reset_settings=true) const
重新加载世界环境。 通过调用 _simulator->ReloadEpisode 来实现,是否重置设置由参数决定。 返回重载后的世界对象。
std::string StartRecorder(std::string name, bool additional_data=false)
void ApplyBatch(std::vector< rpc::Command > commands, bool do_tick_cue=false) const
void SetReplayerIgnoreHero(bool ignore_hero)
void StopReplayer(bool keep_actors)
std::vector< std::string > GetRequiredFiles(const std::string &folder="", const bool download=true) const
获取指定文件夹中的所需文件列表,默认情况下会下载所需文件。 如果文件夹路径为空,则使用默认路径。
std::string GetClientVersion() const
返回此客户端 API 版本的字符串。
void SetTimeout(time_duration timeout)
设置网络操作的超时时间。超时将抛出 rpc::timeout 异常
std::string ShowRecorderCollisions(std::string name, char type1, char type2)
std::string ShowRecorderFileInfo(std::string name, bool show_all)
TrafficManager GetInstanceTM(uint16_t port=TM_DEFAULT_PORT) const
获取当前模拟器中的 TrafficManager 实例。
std::vector< rpc::CommandResponse > ApplyBatchSync(std::vector< rpc::Command > commands, bool do_tick_cue=false) const
SharedPtr< Map > GetMap() const
返回描述这个世界的地图。 返回的是一个智能指针指向的Map对象,该Map对象包含了模拟世界中的地理信息、道路布局等地图相关的数据结构, 供外部调用者进一步查询和操作地图相关的功能。
Positive time duration up to milliseconds resolution.
该类通过使用消息传递机制,将交通管理器的各个阶段恰当地整合在一起
boost::shared_ptr< T > SharedPtr
使用这个SharedPtr(boost::shared_ptr)以保持与boost::python的兼容性, 但未来如果可能的话,我们希望能为std::shared_ptr制作一个Python适配器。
Seting for map generation from opendrive without additional geometry