提交 5b4a1f24 编写于 作者: J Jiangtao Hu 提交者: Liangliang Zhang

planning: add navigation dummy node to publish test navigation info.

上级 695fa504
......@@ -101,7 +101,7 @@ using LocalizationMsfSinsPvaAdapter =
using LocalizationMsfStatusAdapter =
Adapter<apollo::localization::LocalizationStatus>;
using RelativeMapAdapter = Adapter<apollo::relative_map::MapMsg>;
using NavigationAdapter = Adapter<apollo::relative_map::NavigationPath>;
using NavigationAdapter = Adapter<apollo::relative_map::NavigationInfo>;
} // namespace adapter
} // namespace common
......
load("//tools:cpplint.bzl", "cpplint")
package(default_visibility = ["//visibility:public"])
cc_binary(
name = "navigation_dummy",
srcs = ["navigation_dummy.cc"],
deps = [
"//modules/map/relative_map:relative_map_lib",
"//modules/common",
"@ros//:ros_common",
],
)
cpplint()
/******************************************************************************
* Copyright 2018 The Apollo Authors. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*****************************************************************************/
#include <chrono>
#include <thread>
#include "gflags/gflags.h"
#include "ros/ros.h"
#include "modules/common/adapters/adapter_manager.h"
#include "modules/common/adapters/proto/adapter_config.pb.h"
#include "modules/common/log.h"
#include "modules/map/relative_map/proto/navigation.pb.h"
DEFINE_string(navigation_dummy_file,
"modules/map/testdata/navigation_dummy/navigation_info.pb.txt",
"Used for sending navigation result to relative_map node.");
int main(int argc, char** argv) {
using std::this_thread::sleep_for;
using apollo::common::adapter::AdapterManager;
using apollo::common::adapter::AdapterManagerConfig;
using apollo::common::adapter::AdapterConfig;
google::InitGoogleLogging(argv[0]);
google::ParseCommandLineFlags(&argc, &argv, true);
ros::init(argc, argv, "relative_map_tester");
FLAGS_alsologtostderr = true;
AdapterManagerConfig config;
config.set_is_ros(true);
auto* sub_config = config.add_config();
sub_config->set_mode(AdapterConfig::PUBLISH_ONLY);
sub_config->set_type(AdapterConfig::NAVIGATION);
AdapterManager::Init(config);
AINFO << "AdapterManager is initialized.";
apollo::relative_map::NavigationInfo navigation_info;
if (!apollo::common::util::GetProtoFromFile(FLAGS_navigation_dummy_file,
&navigation_info)) {
AERROR << "failed to load file: " << FLAGS_navigation_dummy_file;
return -1;
}
ros::Rate loop_rate(0.3); // frequency
while (ros::ok()) {
AdapterManager::FillNavigationHeader("navigation_dummy", &navigation_info);
AdapterManager::PublishNavigation(navigation_info);
AINFO << "Sending navigation info:" << navigation_info.DebugString();
ros::spinOnce(); // yield
loop_rate.sleep();
}
return 0;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册