Giter Club home page Giter Club logo

ewok's People

Contributors

peteflorence avatar vladyslavusenko 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  avatar  avatar

ewok's Issues

fatal error: mav_msgs/default_topics.h

i've installed all dependencies and the packages but when i run catkin_make
it appears like this

[ 83%] Building CXX object ewok/ewok_simulation/CMakeFiles/bspline_lee_position_controller_node.dir/src/bspline_lee_position_controller_node.cpp.o
/home/lgm/demo_ros/src/ewok/ewok_simulation/src/bspline_lee_position_controller_node.cpp:22:10: fatal error: mav_msgs/default_topics.h: don't have that file
22 | #include <mav_msgs/default_topics.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Different map size along different axes

While working with the EWOK repository I identified an opportunity to enhance its versatility and usability, particularly in scenarios involving wheeled robots. To achieve this, I have introduced a modification that allows for different map sizes along different axes.

In many practical environments, it is essential to accommodate varying map sizes to meet specific requirements. This adjustment makes the codebase more generic, adaptable, and suitable for a broader range of applications, including cases where the map size along the z-axis is notably smaller.

Having implemented this enhancement in my local branch, I believe that it could be a valuable addition to the EWOK project and of benefit to the entire community. It aligns with the principles of modularity and flexibility, enabling users to configure map sizes in a way that suits their specific needs.

If the community and maintainers find this feature promising and in line with the project's goals, I am eager to contribute it formally. Please let me know your thoughts on this proposal, and if deemed suitable, I am prepared to create a new pull request to facilitate its integration into the main project.

[firefly/bspline_lee_position_controller_node-4] process has died

Hi @vsu91
Thank you for your work to make it open source.
I am getting the following error while trying to run the package.

[ INFO] [1597325860.517856371]: path: /home/double/catkin_ewok/src/ewok/ewok_simulation/benchmarking/
[ INFO] [1597325860.537020784]: InitializeParams
[ INFO] [1597325860.550767455]: Finished BSplineLeePositionControllerNode constructor
[ INFO] [1597325860.566771333]: Started hovering example with parameters: start - -15.000000 15.000000 1.000000 -0.785398, middle - 5.000000 0.000000 1.000000 -0.785398, stop - -15.000000 -15.000000 1.000000 -0.785398
[ INFO] [1597325860.566796963]: dt: 0.500000, num_opt_points: 7
Trajectory times: 20.8333 20.8333
[ INFO] [1597325860.567721641]: Wait for 1 second before trying to unpause Gazebo again.
[ INFO] [1597325860.753415419]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1597325860.753885578]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[ INFO] [1597325860.768833402]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1597325860.769230398]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
SpawnModel script started
[INFO] [1597325860.942607, 0.000000]: Loading model XML from ros parameter
[INFO] [1597325860.947402, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
[INFO] [1597325861.551739, 0.000000]: Calling service /gazebo/spawn_urdf_model
[INFO] [1597325861.710047, 0.000000]: Spawn status: SpawnModel: Successfully spawned entity
[ INFO] [1597325861.710074699]: Unpaused the Gazebo simulation.
[ INFO] [1597325861.861922785]: Camera Plugin: Using the 'robotNamespace' param: '/firefly/'
[ INFO] [1597325861.864644260]: Camera Plugin (ns = /firefly/) <tf_prefix_>, set to "/firefly"
[firefly/spawn_firefly-3] process has finished cleanly
log file: /home/double/.ros/log/d9ed7e34-dd66-11ea-9c94-94c691bb0330/firefly-spawn_firefly-3*.log
[ INFO] [1597325861.991002440, 154.896000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1597325861.991768525, 154.896000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1597325862.069342955, 154.966000000]: Physics dynamic reconfigure ready.
[ INFO] [1597325862.074381926, 154.976000000]: Physics dynamic reconfigure ready.
[ INFO] [1597325862.260282563, 155.166000000]: LeePositionController got first odometry message.
[firefly/bspline_lee_position_controller_node-4] process has died [pid 14863, exit code -11, cmd /home/double/catkin_ewok/devel/lib/ewok_simulation/bspline_lee_position_controller_node odometry:=odometry_sensor1/odometry __name:=bspline_lee_position_controller_node __log:=/home/double/.ros/log/d9ed7e34-dd66-11ea-9c94-94c691bb0330/firefly-bspline_lee_position_controller_node-4.log].
log file: /home/double/.ros/log/d9ed7e34-dd66-11ea-9c94-94c691bb0330/firefly-bspline_lee_position_controller_node-4*.log
[ INFO] [1597325866.975614268, 159.876000000]: Publishing waypoint on namespace //firefly: [-15.000000, 15.000000, 1.000000, -0.785398].
[ INFO] [1597325871.978982062, 164.876000000]: Origin: -14.8778 14.964 0.258 idx -100 99 1

Sometimes the drone will fly disorderly, sometimes the drone will not start. I use the Ubuntu 16.4.
How can I fix it ?Thanks.

Would forest0.world file be open?

Hi @vsu91

I read your paper and played with your simulator, it is excellent!
Thank you for your work to make it open source.

Then when I try to launch trajectory_replanning_forest.launch, I found forest0.world file is missing.
Would it be open in the future?

Thx in advance.

Some packages are missing

Hello,
I just started from scratch and these packages are missing:

libgoogle-glog-dev
ros-melodic-mavros
ros-melodic-mavros-extras

...and obviously gazebo is not yet compatible with openCV4... I had to roll back

Thanks for sharing

Regards

what is the meaning of these parameters?

In code, there are some parameters such as num_opt_points, dt, distance_threshold and so on. I changed some of them. For example , dt, when I changed it, 0.5->1, or 0.5 ->0.25, the line became very weird, no smooth with many turning points. So, what's the meaning of them and how can i adjust them?

Where you run rrt* to generate global trajectory?

Hello everyone,

Recently I'm looking into this algorithm,
However I can't find where to run RRT* algorithm to generate global trajectory.

Can anyone give me some help?
Many thanks for your help in advance
With warm regards
Kangning

Circular Buffer vs Octomap benchmarking running not ok

Hi, I just follow your steps in readme running "Circular Buffer vs Octomap benchmarking", now the phenomenon is like: after I type "./benchmark.py", no message output,so I want to type in "ctrl+c" to terminate this program, now start log some output(debugging message), however, there is no message out.
why is that?

catkin_make error !

I have no idea what's the problem, I can not find the solution on the google. Please help me !
I guess it is about Eigen library. The detail errors is in the following, thank you so much.
....
[78%] [ 78%] Built target polynomial_optimization_example
Building CXX object ewok/ewok_optimization/CMakeFiles/spline_optimization_example.dir/src/spline_optimization_example.cpp.o
[ 78%] Building CXX object ewok/ewok_optimization/CMakeFiles/spline_optimization_example2.dir/src/spline_optimization_example2.cpp.o
In file included from /home/ahmad/haiwen/rotorS/src/ewok/ewok_ring_buffer/include/ewok/raycast_ring_buffer.h:28:0,
from /home/ahmad/haiwen/rotorS/src/ewok/ewok_ring_buffer/include/ewok/ed_ring_buffer.h:27,
from /home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/include/ewok/uniform_bspline_3d_optimization.h:29,
from /home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/src/spline_optimization_example.cpp:28:
/home/ahmad/haiwen/rotorS/src/ewok/ewok_ring_buffer/include/ewok/ring_buffer_base.h: In instantiation of ‘void ewok::RingBufferBase<_POW, _Datatype, _Scalar>::getIdx(const Vector3&, ewok::RingBufferBase<_POW, _Datatype, _Scalar>::Vector3i&) const [with int _POW = 6; _Datatype = float; _Scalar = float; ewok::RingBufferBase<_POW, _Datatype, _Scalar>::Vector3 = Eigen::Matrix<float, 3, 1>; ewok::RingBufferBase<_POW, _Datatype, _Scalar>::Vector3i = Eigen::Matrix<int, 3, 1>]’:
/home/ahmad/haiwen/rotorS/src/ewok/ewok_ring_buffer/include/ewok/ed_ring_buffer.h:121:5: required from ‘_Scalar ewok::EuclideanDistanceRingBuffer<_POW, _Datatype, _Scalar, _Flag>::getDistanceWithGrad(const Eigen::MatrixBase&, const Eigen::MatrixBase&) [with Derived = Eigen::Matrix<double, 3, 1>; int _POW = 6; _Datatype = short int; _Scalar = float; _Flag = unsigned char]’
/home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/include/ewok/uniform_bspline_3d_optimization.h:507:64: required from ‘double ewok::UniformBSpline3DOptimization<_N, _Scalar>::collisionError(const ewok::UniformBSpline3D<_N, _Scalar>&, double, std::vector&) const [with int _N = 6; _Scalar = double]’
/home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/include/ewok/uniform_bspline_3d_optimization.h:425:67: required from ‘double ewok::UniformBSpline3DOptimization<_N, _Scalar>::combinedError(const std::vector&, std::vector&) [with int _N = 6; _Scalar = double]’
/home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/include/ewok/uniform_bspline_3d_optimization.h:358:32: required from ‘static double ewok::UniformBSpline3DOptimization<_N, _Scalar>::wrap(const std::vector&, std::vector&, void*) [with int _N = 6; _Scalar = double]’
/home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/include/ewok/uniform_bspline_3d_optimization.h:155:5: required from ‘void ewok::UniformBSpline3DOptimization<_N, _Scalar>::setNumControlPointsOptimized(int) [with int _N = 6; Scalar = double]’
/home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/src/spline_optimization_example.cpp:59:53: required from here
/home/ahmad/haiwen/rotorS/src/ewok/ewok_ring_buffer/include/ewok/ring_buffer_base.h:70:11: error: ‘const class Eigen::ArrayWrapper<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_quotient1_op, const Eigen::Matrix<float, 3, 1> > >’ has no member named ‘floor’
idx = (point / resolution
).array().floor().template cast();
^
In file included from /home/ahmad/haiwen/rotorS/src/ewok/ewok_ring_buffer/include/ewok/raycast_ring_buffer.h:28:0,
from /home/ahmad/haiwen/rotorS/src/ewok/ewok_ring_buffer/include/ewok/ed_ring_buffer.h:27,
from /home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/include/ewok/uniform_bspline_3d_optimization.h:29,
from /home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/src/spline_optimization_example2.cpp:28:
/home/ahmad/haiwen/rotorS/src/ewok/ewok_ring_buffer/include/ewok/ring_buffer_base.h: In instantiation of ‘void ewok::RingBufferBase<_POW, _Datatype, _Scalar>::getIdx(const Vector3&, ewok::RingBufferBase<_POW, _Datatype, _Scalar>::Vector3i&) const [with int _POW = 6; _Datatype = float; _Scalar = float; ewok::RingBufferBase<_POW, _Datatype, _Scalar>::Vector3 = Eigen::Matrix<float, 3, 1>; ewok::RingBufferBase<_POW, _Datatype, _Scalar>::Vector3i = Eigen::Matrix<int, 3, 1>]’:
/home/ahmad/haiwen/rotorS/src/ewok/ewok_ring_buffer/include/ewok/ed_ring_buffer.h:121:5: required from ‘_Scalar ewok::EuclideanDistanceRingBuffer<_POW, _Datatype, _Scalar, _Flag>::getDistanceWithGrad(const Eigen::MatrixBase&, const Eigen::MatrixBase&) [with Derived = Eigen::Matrix<double, 3, 1>; int _POW = 6; _Datatype = short int; _Scalar = float; _Flag = unsigned char]’
/home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/include/ewok/uniform_bspline_3d_optimization.h:507:64: required from ‘double ewok::UniformBSpline3DOptimization<_N, _Scalar>::collisionError(const ewok::UniformBSpline3D<_N, _Scalar>&, double, std::vector&) const [with int _N = 6; _Scalar = double]’
/home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/include/ewok/uniform_bspline_3d_optimization.h:425:67: required from ‘double ewok::UniformBSpline3DOptimization<_N, _Scalar>::combinedError(const std::vector&, std::vector&) [with int _N = 6; _Scalar = double]’
/home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/include/ewok/uniform_bspline_3d_optimization.h:358:32: required from ‘static double ewok::UniformBSpline3DOptimization<_N, _Scalar>::wrap(const std::vector&, std::vector&, void*) [with int _N = 6; _Scalar = double]’
/home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/include/ewok/uniform_bspline_3d_optimization.h:155:5: required from ‘void ewok::UniformBSpline3DOptimization<_N, _Scalar>::setNumControlPointsOptimized(int) [with int _N = 6; Scalar = double]’
/home/ahmad/haiwen/rotorS/src/ewok/ewok_optimization/src/spline_optimization_example2.cpp:62:53: required from here
/home/ahmad/haiwen/rotorS/src/ewok/ewok_ring_buffer/include/ewok/ring_buffer_base.h:70:11: error: ‘const class Eigen::ArrayWrapper<const Eigen::CwiseUnaryOp<Eigen::internal::scalar_quotient1_op, const Eigen::Matrix<float, 3, 1> > >’ has no member named ‘floor’
idx = (point / resolution
).array().floor().template cast();
^
make[2]: *** [ewok/ewok_optimization/CMakeFiles/spline_optimization_example.dir/src/spline_optimization_example.cpp.o] Error 1
make[1]: *** [ewok/ewok_optimization/CMakeFiles/spline_optimization_example.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [ewok/ewok_optimization/CMakeFiles/spline_optimization_example2.dir/src/spline_optimization_example2.cpp.o] Error 1
make[1]: *** [ewok/ewok_optimization/CMakeFiles/spline_optimization_example2.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j2 -l2" failed

Simulation example failed on Ubuntu20.04

On ubuntu 20.04, Simulation example failed: the robot in gazebo cannot be in control.

Rviz terminal shows:
[ WARN] [1642574340.231446324]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame firefly/rotor_3 at time 247.976000 according to authority unknown_publisher
[ WARN] [1642574340.231461790]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame firefly/rotor_4 at time 247.976000 according to authority unknown_publisher
[ WARN] [1642574340.231479710]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame firefly/rotor_5 at time 247.976000 according to authority unknown_publisher
[ WARN] [1642574340.340303253]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame firefly/rotor_0 at time 248.076000 according to authority unknown_publisher
[ WARN] [1642574340.340439294]: TF_REPEATED_DATA ignoring data with redundant timestamp for frame firefly/rotor_1 at time 248.076000 according to authority unknown_publisher

gazebo terminal shows:
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame firefly/rotor_3 at time 255.476000 according to authority unknown_publisher
at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame firefly/rotor_4 at time 255.476000 according to authority unknown_publisher
at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame firefly/rotor_5 at time 255.476000 according to authority unknown_publisher
at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame firefly/rotor_0 at time 255.576000 according to authority unknown_publisher

Notes: On ubuntu18.04, it works.

ewok ring buffer fails to link when no optimization level is specified

Hello @vsu91,

I was trying to work on a more verbose debug build by changing the compiler options specified in the ewok_ring_buffer CMakeLists.txt from ... -g -O3 ... to ... -g -O0 ...

I'm getting the following error during linking when I don't specify an optimization level:

[ 94%] Linking CXX shared library /home/user/catkin_ws/devel/lib/librotors_gazebo_odometry_plugin.so
[ 96%] Built target rotors_gazebo_gps_plugin
CMakeFiles/ring_buffer_example.dir/src/ring_buffer_example.cpp.o: In function `ewok::RaycastRingBuffer<6, short, float, unsigned char>::RaycastRingBuffer(float const&)':
/home/user/catkin_ws/src/ewok/ewok_ring_buffer/include/ewok/raycast_ring_buffer.h:77: undefined reference to `ewok::RaycastRingBuffer<6, short, float, unsigned char>::updated_flag'
CMakeFiles/ring_buffer_example.dir/src/ring_buffer_example.cpp.o: In function `ewok::RingBufferBase<6, short, float>::insideVolume(Eigen::Matrix<int, 3, 1, 0, 3, 1> const&)':
/home/user/catkin_ws/src/ewok/ewok_ring_buffer/include/ewok/ring_buffer_base.h:144: undefined reference to `ewok::RingBufferBase<6, short, float>::_NEG_MASK'
/home/user/catkin_ws/src/ewok/ewok_ring_buffer/include/ewok/ring_buffer_base.h:144: undefined reference to `ewok::RingBufferBase<6, short, float>::_NEG_MASK'
/home/user/catkin_ws/src/ewok/ewok_ring_buffer/include/ewok/ring_buffer_base.h:144: undefined reference to `ewok::RingBufferBase<6, short, float>::_NEG_MASK'
collect2: error: ld returned 1 exit status
ewok/ewok_ring_buffer/CMakeFiles/ring_buffer_example.dir/build.make:156: recipe for target '/home/user/catkin_ws/devel/lib/ewok_ring_buffer/ring_buffer_example' failed
make[2]: *** [/home/user/catkin_ws/devel/lib/ewok_ring_buffer/ring_buffer_example] Error 1
CMakeFiles/Makefile2:3435: recipe for target 'ewok/ewok_ring_buffer/CMakeFiles/ring_buffer_example.dir/all' failed

I don't know why adding optimization flags removes this error. Do you have any ideas?

Thank you,

Curtis

[ewok_simulation/src/trajectory_replanning_example.cpp] Initialization of offset is wrong

Hi. I think there is a problem in line 145 of 'trajectory_replanning_example.cpp.'
As far as I understand, offset in Ring Buffer is the lower left corner of the map. However, it seems that you are setting the sensor origin as offset in initialization step(line 139-147). Well, in your simulation case there was no problem, but in the situation of me this caused the problem.

Eigen::Vector3i _OFF(_N_2, _N_2, _N_2);
edrb->setOffset(idx - _OFF);

It would be nice to change line145 this way.
Thanks.

How to locate the mav

During the experiment ,how you can know where the mav is ,use visual inertial odometry or RGBD slam

nlopt error while installing package with catkin_make

I am getting the following error while trying to install the package.

catkin_make_ewok_nlopt_error

(As I know) I have already installed nlopt successfully (because I used it before but not touched for a while). I would be happy if you could guide me to fix this issue and install the package. Thanks.

Quick question about ring buffer

Hi! I'm trying to plan a path using RRT with your ring buffer. But I'm not sure how to get the minimum and maximum voxel position to generate random location of the nodes. This is my code, am I doing it right? Thank you!

        Vector3 point_min, point_max, rand_point, center_point;
        Vector3i point_idx, center_idx;

        occupancy_buffer_.getVolumeMinMax(point_min, point_max);
        center_idx = occupancy_buffer_.getVolumeCenter();
        occupancy_buffer_.getPoint(center_idx, center_point);

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.