瀏覽代碼

add simtf , append for single test lidar.

yuchuli 2 周之前
父節點
當前提交
f3435d1630
共有 3 個文件被更改,包括 216 次插入0 次删除
  1. 73 0
      src/apollo/code/simtf/.gitignore
  2. 70 0
      src/apollo/code/simtf/main.cpp
  3. 73 0
      src/apollo/code/simtf/simtf.pro

+ 73 - 0
src/apollo/code/simtf/.gitignore

@@ -0,0 +1,73 @@
+# This file is used to ignore files which are generated
+# ----------------------------------------------------------------------------
+
+*~
+*.autosave
+*.a
+*.core
+*.moc
+*.o
+*.obj
+*.orig
+*.rej
+*.so
+*.so.*
+*_pch.h.cpp
+*_resource.rc
+*.qm
+.#*
+*.*#
+core
+!core/
+tags
+.DS_Store
+.directory
+*.debug
+Makefile*
+*.prl
+*.app
+moc_*.cpp
+ui_*.h
+qrc_*.cpp
+Thumbs.db
+*.res
+*.rc
+/.qmake.cache
+/.qmake.stash
+
+# qtcreator generated files
+*.pro.user*
+
+# xemacs temporary files
+*.flc
+
+# Vim temporary files
+.*.swp
+
+# Visual Studio generated files
+*.ib_pdb_index
+*.idb
+*.ilk
+*.pdb
+*.sln
+*.suo
+*.vcproj
+*vcproj.*.*.user
+*.ncb
+*.sdf
+*.opensdf
+*.vcxproj
+*vcxproj.*
+
+# MinGW generated files
+*.Debug
+*.Release
+
+# Python byte code
+*.pyc
+
+# Binaries
+# --------
+*.dll
+*.exe
+

+ 70 - 0
src/apollo/code/simtf/main.cpp

@@ -0,0 +1,70 @@
+#include <QCoreApplication>
+
+#include <thread>
+
+#include "cyber/cyber.h"
+#include "cyber/time/rate.h"
+#include "cyber/time/time.h"
+
+#include "modules/common/math/quaternion.h"
+
+#include "modules/common/util/message_util.h"
+
+#include "modules/transform/transform_broadcaster.h"
+
+apollo::transform::TransformBroadcaster * mtf_broadcaster_;
+using apollo::transform::TransformStamped;
+bool gbrun = true;
+
+void broadcast(const double x,const double y,const double z,const double yaw)
+{
+  TransformStamped rawtransform;
+  TransformStamped * transform = &rawtransform;
+  double cur_theta = yaw;
+  Eigen::Quaternion<double> cur_orientation = apollo::common::math::HeadingToQuaternion<double>(cur_theta);
+  double timestamp = ::apollo::cyber::Clock::NowInSeconds();
+  transform->mutable_header()->set_timestamp_sec(timestamp);
+  transform->mutable_header()->set_frame_id("world");
+  transform->set_child_frame_id("novatel");
+  auto translation = transform->mutable_transform()->mutable_translation();
+  translation->set_x(x);
+  translation->set_y(y);
+  translation->set_z(z);
+  auto rotation = transform->mutable_transform()->mutable_rotation();
+  rotation->set_qx(cur_orientation.x());
+  rotation->set_qy(cur_orientation.y());
+  rotation->set_qz(cur_orientation.z());
+  rotation->set_qw(cur_orientation.w());
+
+  mtf_broadcaster_->SendTransform(rawtransform);
+}
+
+void threadtf()
+{
+  while(gbrun)
+  {
+    std::this_thread::sleep_for(std::chrono::milliseconds(10));
+    broadcast(0,0,0,0);
+  }
+}
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication a(argc, argv);
+
+    apollo::cyber::Init("simtf");
+    std::shared_ptr<apollo::cyber::Node> pilot_node  = apollo::cyber::CreateNode("simtf");
+
+    mtf_broadcaster_ = new apollo::transform::TransformBroadcaster(pilot_node);
+
+    std::thread * ptfthread = new std::thread(threadtf);
+
+    apollo::cyber::WaitForShutdown();
+
+    gbrun = false;
+    ptfthread->join();
+
+    delete mtf_broadcaster_;
+
+    return 0;
+}

+ 73 - 0
src/apollo/code/simtf/simtf.pro

@@ -0,0 +1,73 @@
+#sudo apt install libgoogle-glog-dev
+#qmake apollodriver_hcp2.pro  
+#make
+
+QT -= gui
+
+CONFIG += c++11 console
+CONFIG -= app_bundle
+
+# The following define makes your compiler emit warnings if you use
+# any Qt feature that has been marked deprecated (the exact warnings
+# depend on your compiler). Please consult the documentation of the
+# deprecated API in order to know how to port your code away from it.
+DEFINES += QT_DEPRECATED_WARNINGS
+
+# You can also make your code fail to compile if it uses deprecated APIs.
+# In order to do so, uncomment the following line.
+# You can also select to disable deprecated APIs only up to a certain version of Qt.
+#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
+
+SOURCES += \
+        main.cpp \
+        /apollo_workspace/bazel-bin/external/apollo_src/modules/common_msgs/basic_msgs/header.pb.cc  \
+        /apollo_workspace/bazel-bin/external/apollo_src/modules/common_msgs/basic_msgs/pnc_point.pb.cc  \ 
+        /apollo_workspace/bazel-bin/external/apollo_src/modules/common_msgs/basic_msgs/geometry.pb.cc  \
+        /apollo_workspace/bazel-bin/external/apollo_src/modules/common_msgs/basic_msgs/error_code.pb.cc  \
+        /apollo_workspace/bazel-bin/external/apollo_src/modules/common_msgs/transform_msgs/transform.pb.cc
+
+# Default rules for deployment.
+qnx: target.path = /tmp/$${TARGET}/bin
+else: unix:!android: target.path = /opt/$${TARGET}/bin
+!isEmpty(target.path): INSTALLS += target
+
+INCLUDEPATH += /usr/include/eigen-3.4.0
+INCLUDEPATH += /opt/apollo/neo/include
+INCLUDEPATH += /apollo_workspace/bazel-bin/external/apollo_src
+
+LIBS += -L/opt/apollo/neo/lib/cyber -lcyber -lcyber_binary -lcyber_state
+
+LIBS += /opt/apollo/neo/lib/cyber/component/*.so
+LIBS += /opt/apollo/neo/lib/cyber/context/*.so
+LIBS += /opt/apollo/neo/lib/cyber/io/*.so
+LIBS += /opt/apollo/neo/lib/cyber/logger/*.so
+LIBS += /opt/apollo/neo/lib/cyber/parameter/*.so
+LIBS += /opt/apollo/neo/lib/cyber/plugin_manager/*.so
+LIBS += /opt/apollo/neo/lib/cyber/node/*.so
+LIBS += /opt/apollo/neo/lib/cyber/blocker/*.so
+LIBS += /opt/apollo/neo/lib/cyber/class_loader/*.so
+LIBS += /opt/apollo/neo/lib/cyber/profiler/*.so
+LIBS += /opt/apollo/neo/lib/cyber/scheduler/*.so
+LIBS += /opt/apollo/neo/lib/cyber/service/*.so
+LIBS += /opt/apollo/neo/lib/cyber/statistics/*.so
+LIBS += /opt/apollo/neo/lib/cyber/task/*.so
+LIBS += /opt/apollo/neo/lib/cyber/common/*.so
+LIBS += /opt/apollo/neo/lib/cyber/service_discovery/*.so
+LIBS += /opt/apollo/neo/lib/cyber/transport/*.so
+LIBS += /opt/apollo/neo/lib/cyber/message/*.so
+LIBS += /opt/apollo/neo/lib/cyber/proto/*.so
+LIBS += /opt/apollo/neo/lib/cyber/croutine/*.so
+LIBS += /opt/apollo/neo/lib/cyber/event/*.so
+LIBS += /opt/apollo/neo/lib/cyber/time/*.so
+
+LIBS += /opt/apollo/neo/lib/modules/transform/*.so
+
+LIBS += -L/opt/apollo/neo/lib/3rd-fastdds-wrap -lfastrtps
+
+LIBS += -L/lib/aarch64-linux-gnu -lgflags -lglog
+
+LIBS += -L/usr/local/lib/ -lbvar
+
+LIBS += -L/opt/apollo/neo/lib/3rd-protobuf -lprotobuf
+
+