Git Product home page Git Product logo

zju-fast-lab / fast-racing Goto Github PK

View Code? Open in Web Editor NEW
199.0 11.0 46.0 129.18 MB

An Open-source Strong Baseline for SE(3) Planning in Autonomous Drone Racing

License: GNU General Public License v3.0

Shell 0.02% CMake 3.14% C++ 79.22% Python 8.22% Cuda 2.04% EmberScript 0.32% C 0.35% Makefile 0.11% Common Lisp 6.02% CSS 0.48% HTML 0.02% Fortran 0.05%
drone-racing se3 motion-planning trajectory optimization minco

fast-racing's People

Contributors

han-sin avatar petertheprocess avatar zhepeiwang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fast-racing's Issues

RVIZ has blank display

Hi,

I followed your instruction and tested with the Zhangjiajie environment. It work - at least with the AirSim environment (finished all the gates successfully. However, Rviz has one issues. it is blank (no map is displayed)

and I get this warning:
[ WARN] [1630074867.684464842]: Invalid argument "/world_enu" passed to canTransform argument source_frame in tf2 frame_ids cannot start with a '/' like:

Could you please check if tf2 frames is setup correctly?

Best regards,

Rviz will crash after i use 3d Nav Goal.

rviZ will crash, after i use 3D Nav Goal.

[ INFO] [1651493818.239098900]: Begin to optimize the traj~
rviz: /usr/local/include/eigen3/Eigen/src/SVD/SVDBase.h:101: const MatrixVType& Eigen::SVDBase::matrixV() const [with Derived = Eigen::JacobiSVD<Eigen::Matrix<double, 2, 3, 0, 2, 3>, 2>; Eigen::SVDBase::MatrixVType = Eigen::Matrix<double, 3, 3>; typename Eigen::internal::traits::MatrixType::Scalar = double]: Assertion `m_isInitialized && "SVD is not initialized."' failed.
[rviz-1] process has died [pid 5130, exit code -6, cmd /home/cheng/catkin_ws/devel/lib/rviz/rviz -d /home/cheng/Fast_catkin_ws/src/Fast-Racing/src/plan_manage/launch/map_se3.rviz __name:=rviz __log:=/home/cheng/.ros/log/9fd63378-ca11-11ec-a66e-502f9bcf7948/rviz-1.log].
log file: /home/cheng/.ros/log/9fd63378-ca11-11ec-a66e-502f9bcf7948/rviz-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done

Although planning is still working, and simulator is working too.But I can also not see the trajectory in my Rviz, and Rviz just crashes.
I work on ubuntu18.04, melodic, unreal4.25, eigen3.3.0, gcc-8.4.0.
How can I solve this problem? Thank you!

CMake Error at utils/uav_simulator/Utils/uav_utils

When compiling the repo, I encounter an error, such as

CMake Error at utils/uav_simulator/Utils/uav_utils/CMakeLists.txt:31 (find_package):
By not providing "FindEigen.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Eigen", but
CMake did not find one.

Could not find a package configuration file provided by "Eigen" with any of
the following names:

EigenConfig.cmake
eigen-config.cmake

But I type sudo gedit /usr/include/eigen3/Eigen/src/Core/util/Macros.h in the terminal, and find the version is 3.3.4.

Meanwhile, I find the ego-planner repo also has a file uav_utils/CMakeLists.txt same to Fast-Racing, and I can successfully compile ego-planner, but Fast-Racing not.
I need help. Thanks!

The Drone Loses Control

The Drone Loses Control

Hello, thanks for sharing your great work!

Currently, I encountered the same problem as #11, but I can not solve by his way.

Platform

Ubuntu 20, ROS Noetic.

Screenshots

Screenshot from 2023-05-05 14-41-31

Screenshot from 2023-05-05 14-42-34

Sorry to bother you.

How can I run this project in the other scenes of UE4?

How can I run this code in the default “Blocks” scene of airsim?
"[ WARN] [1646829103.736563994]: Nothing to publish, octree is empty" and "rpclib: client error C0002: Function 'simGetImages' was called with an invalid number of arguments. will appear", when I run the command roslaunch plan_manage zhangjiajie.launch.
Do I need to modify the source code of the airsim plug-in?

How to tune the PID parameter?

How to adjust the PID parameter of the multirotor? I only get the drone's trajectory but can't control it smoothly. BTW, could you mind pointing me how to determine the value of the map/x_size of MAP?

Error about the simulator

When I run ./run.sh -windowed, even if the simulation can be turned on normally, but there are errors:
[2021.11.06-03.01.44:335][ 0]LogActor: Warning: BP_CameraDirector_C /Game/ZhangJiajieMountain/Maps/Demonstration.Demonstration:PersistentLevel.CameraDirector has natively added scene component(s), but none of them were set as the actor's RootComponent - picking one arbitrarily [2021.11.06-03.01.44:436][ 0]LogStreaming: Error: Couldn't find file for package /AirSim/Weather/WeatherFX/WeatherActor requested by async loading code. NameToLoad: /AirSim/Weather/WeatherFX/WeatherActor [2021.11.06-03.01.44:436][ 0]LogStreaming: Error: Found 0 dependent packages... [2021.11.06-03.01.44:437][ 0]LogTemp: Warning: Warning, WeatherAPI got invalid weather actor class! [2021.11.06-03.01.44:437][ 0]LogStreaming: Error: Couldn't find file for package /AirSim/Weather/UI/MenuActor requested by async loading code. NameToLoad: /AirSim/Weather/UI/MenuActor [2021.11.06-03.01.44:437][ 0]LogStreaming: Error: Found 0 dependent packages... [2021.11.06-03.01.44:437][ 0]LogTemp: Warning: Warning, WeatherAPI got invalid menu actor class!

And when I run./zhangjiajie.sh, rviz can be opened and the planning is nice, but the simulator can't go on. And there are errors:

Exception raised by the API:
rpclib: function 'simGetGroundTruthEnvironment' (called with 1 arg(s)) threw an exception. The exception is not derived from std::exception. No further information available.

How can I deal? Thanks!

failed to compile package "plan_manage"

Hi there! I got into some trouble when compiling the code.

My env

  • ROS noetic with Ubuntu 20.04
  • gcc and g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
  • clang version 10.0.0-4ubuntu1

Problem

I followed the instructions and everything went fine until I tried to compile the source code in step 3.
When I ran catkin build, 20 of 21 packages succeeded but the package plan_manage failed.
Some of the error messages are presented below:

In file included from /home/chen/ros_ws/Fast-Racing/src/thirdparty/external/rpclib/rpclib-2.2.1/include/rpc/msgpack/object_fwd.hpp:17,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/external/rpclib/rpclib-2.2.1/include/rpc/msgpack/v1/adaptor/adaptor_base_decl.hpp:14,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/external/rpclib/rpclib-2.2.1/include/rpc/msgpack/adaptor/adaptor_base_decl.hpp:13,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/external/rpclib/rpclib-2.2.1/include/rpc/msgpack/adaptor/adaptor_base.hpp:13,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/external/rpclib/rpclib-2.2.1/include/rpc/msgpack/v1/object_decl.hpp:16,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/external/rpclib/rpclib-2.2.1/include/rpc/msgpack/object_decl.hpp:14,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/external/rpclib/rpclib-2.2.1/include/rpc/msgpack/object.hpp:13,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/external/rpclib/rpclib-2.2.1/include/rpc/msgpack.hpp:23,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/external/rpclib/rpclib-2.2.1/include/rpc/detail/server_session.h:11,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/external/rpclib/rpclib-2.2.1/lib/rpc/detail/server_session.cc:1:
/home/chen/ros_ws/Fast-Racing/src/thirdparty/external/rpclib/rpclib-2.2.1/include/rpc/msgpack/v2/object_fwd.hpp:23:8: note: ‘struct clmdep_msgpack::v2::object’ declared here
   23 | struct object : v1::object {
      |        ^~~~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/AirLib/src/common/common_utils/FileSystem.cpp: In static member function ‘static std::string common_utils::FileSystem::getExecutableFolder()’:
/home/chen/ros_ws/Fast-Racing/src/thirdparty/AirLib/src/common/common_utils/FileSystem.cpp:128:13: warning: ignoring return value of ‘ssize_t readlink(const char*, char*, size_t)’, declared with attribute warn_unused_result [-Wunused-result]
  128 |     readlink("/proc/self/exe", szPath, sizeof(szPath));
      |     ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/Commands.cpp:15:22: error: ‘filesystem’ is not a namespace-name
   15 | using namespace std::filesystem;
      |                      ^~~~~~~~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/Commands.cpp: In member function ‘virtual void DumpLogCommandsCommand::Execute(std::shared_ptr<mavlinkcom::MavLinkVehicle>)’:
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/Commands.cpp:462:5: error: ‘path’ was not declared in this scope
  462 |     path dirPath(log_folder_);
      |     ^~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/Commands.cpp:464:10: error: ‘directory_iterator’ was not declared in this scope
  464 |     for (directory_iterator next(dirPath), end; next != end; ++next) {
      |          ^~~~~~~~~~~~~~~~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/Commands.cpp:464:49: error: ‘next’ was not declared in this scope; did you mean ‘std::next’?
  464 |     for (directory_iterator next(dirPath), end; next != end; ++next) {
      |                                                 ^~~~
      |                                                 std::next
In file included from /usr/include/c++/9/bits/stl_algobase.h:66,
                 from /usr/include/c++/9/memory:62,
                 from /home/chen/ros_ws/Fast-Racing/src/plan_manage/../thirdparty/MavLinkCom/include/MavLinkNode.hpp:7,
                 from /home/chen/ros_ws/Fast-Racing/src/plan_manage/../thirdparty/MavLinkCom/include/MavLinkVehicle.hpp:7,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/Commands.h:7,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/Commands.cpp:4:
/usr/include/c++/9/bits/stl_iterator_base_funcs.h:213:5: note: ‘std::next’ declared here
  213 |     next(_InputIterator __x, typename
      |     ^~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/Commands.cpp:464:57: error: ‘end’ was not declared in this scope; did you mean ‘std::end’?
  464 |     for (directory_iterator next(dirPath), end; next != end; ++next) {
      |                                                         ^~~
      |                                                         std::end
In file included from /home/chen/ros_ws/Fast-Racing/src/plan_manage/../thirdparty/MavLinkCom/common_utils/type_utils.hpp:8,
                 from /home/chen/ros_ws/Fast-Racing/src/plan_manage/../thirdparty/MavLinkCom/common_utils/Utils.hpp:24,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/Commands.h:11,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/Commands.cpp:4:
/usr/include/c++/9/valarray:1244:5: note: ‘std::end’ declared here
 1244 |     end(const valarray<_Tp>& __va)
      |     ^~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:26:22: error: ‘filesystem’ is not a namespace-name
   26 | using namespace std::filesystem;
      |                      ^~~~~~~~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp: In function ‘void ConvertLogFileToJson(std::string)’:
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:163:9: error: ‘path’ was not declared in this scope
  163 |         path jsonPath(logFile);
      |         ^~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:164:9: error: ‘jsonPath’ was not declared in this scope
  164 |         jsonPath.replace_extension(".json");
      |         ^~~~~~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp: In function ‘void ConvertLogFileToCsv(std::string, int)’:
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:229:9: error: ‘path’ was not declared in this scope
  229 |         path jsonPath(logFile);
      |         ^~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:230:9: error: ‘jsonPath’ was not declared in this scope
  230 |         jsonPath.replace_extension(".csv");
      |         ^~~~~~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp: In function ‘void ConvertLogFilesToJson(std::string)’:
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:343:5: error: ‘path’ was not declared in this scope
  343 |     path dirPath(fullPath);
      |     ^~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:345:10: error: ‘directory_iterator’ was not declared in this scope
  345 |     for (directory_iterator next(dirPath), end; next != end; ++next) {
      |          ^~~~~~~~~~~~~~~~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:345:49: error: ‘next’ was not declared in this scope; did you mean ‘std::next’?
  345 |     for (directory_iterator next(dirPath), end; next != end; ++next) {
      |                                                 ^~~~
      |                                                 std::next
In file included from /usr/include/c++/9/bits/stl_algobase.h:66,
                 from /usr/include/c++/9/memory:62,
                 from /usr/include/c++/9/thread:39,
                 from /home/chen/ros_ws/Fast-Racing/src/plan_manage/../thirdparty/MavLinkCom/common_utils/Utils.hpp:9,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:6:
/usr/include/c++/9/bits/stl_iterator_base_funcs.h:213:5: note: ‘std::next’ declared here
  213 |     next(_InputIterator __x, typename
      |     ^~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:345:57: error: ‘end’ was not declared in this scope; did you mean ‘std::end’?
  345 |     for (directory_iterator next(dirPath), end; next != end; ++next) {
      |                                                         ^~~
      |                                                         std::end
In file included from /home/chen/ros_ws/Fast-Racing/src/plan_manage/../thirdparty/MavLinkCom/common_utils/type_utils.hpp:8,
                 from /home/chen/ros_ws/Fast-Racing/src/plan_manage/../thirdparty/MavLinkCom/common_utils/Utils.hpp:24,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:6:
/usr/include/c++/9/valarray:1244:5: note: ‘std::end’ declared here
 1244 |     end(const valarray<_Tp>& __va)
      |     ^~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp: In function ‘void ConvertLogFilesToCsv(std::string)’:
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:373:5: error: ‘path’ was not declared in this scope
  373 |     path dirPath(fullPath);
      |     ^~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:375:10: error: ‘directory_iterator’ was not declared in this scope
  375 |     for (directory_iterator next(dirPath), end; next != end; ++next) {
      |          ^~~~~~~~~~~~~~~~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:375:49: error: ‘next’ was not declared in this scope; did you mean ‘std::next’?
  375 |     for (directory_iterator next(dirPath), end; next != end; ++next) {
      |                                                 ^~~~
      |                                                 std::next
In file included from /usr/include/c++/9/bits/stl_algobase.h:66,
                 from /usr/include/c++/9/memory:62,
                 from /usr/include/c++/9/thread:39,
                 from /home/chen/ros_ws/Fast-Racing/src/plan_manage/../thirdparty/MavLinkCom/common_utils/Utils.hpp:9,
                 from /home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:6:
/usr/include/c++/9/bits/stl_iterator_base_funcs.h:213:5: note: ‘std::next’ declared here
  213 |     next(_InputIterator __x, typename
      |     ^~~~
/home/chen/ros_ws/Fast-Racing/src/thirdparty/MavLinkCom/MavLinkTest/main.cpp:375:57: error: ‘end’ was not declared in this scope; did you mean ‘std::end’?
  375 |     for (directory_iterator next(dirPath), end; next != end; ++next) {
      |                                                         ^~~
      |                                                         std::end

Sincerely appreciate any possible help!

Some questions about controller

  1. What's the difference between using desired roll,pitch and using desired body rate to control FCU?
  2. Are there any tips for helping tune PID?
  3. In Airsim, it's simple flight mode without FCU SITL and just using pv controller. Do you want to use real FCU in SITL or HITL for se3 controller in the future?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.