Comments (5)
The two dependencies which are not included are VICON and Phasespace SDKs; both are excluded for legal reasons. Phasespace is not built by default, so you won't need that repository. For Vicon follow the instruction on github or http://crazyswarm.readthedocs.io/en/latest/installation.html.
I am not sure about your problem with the missing object_tracker. The installation instructions on readthedocs were recently created on a freshly installed machine.
We don't use vicon_bridge because it doesn't provide low-level access. Our solution gets the raw marker point cloud and does the tracking using ICP.
from crazyswarm.
I am either missing something or something is not right. The build script cd's into each subfolder within crazyswarm and attempts to recursively clone the submodules. If the phasesdk
is not required, why did you include it as part of the installation script? The script prompts for authentication credentials when it gets to the instructions for phase_sdk
and since the repo is either not public or non-existent, users' credentials do not suffice in cloning the repo.
Aside from that, I did set up the vicon libraries and include files as you described here but still catkin_make fails in finding ExecuteTrajectoryAction.h
. I did a quick search on your repo and this header is not included so I am assuming it is a message_generation file or something.
Here are the relevant portions of the trace:
home/hivemind/crazyswarm/ros_ws/src/crazyflie_ros/externalDependencies/libmotioncapture/src/vicon.cpp:4:30: fatal error: vicon_sdk/Client.h: No such file or directory
compilation terminated.
crazyflie_ros/externalDependencies/libmotioncapture/CMakeFiles/libmotioncapture.dir/build.make:86: recipe for target 'crazyflie_ros/externalDependencies/libmotioncapture/CMakeFiles/libmotioncapture.dir/src/vicon.cpp.o' failed
make[2]: *** [crazyflie_ros/externalDependencies/libmotioncapture/CMakeFiles/libmotioncapture.dir/src/vicon.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
My Client.h
is in vicon_sdk/include/vicon_sdk
.
Also,
[ 5%] Building CXX object crazyflie_ros/crazyflie_controller/CMakeFiles/crazyflie_controller.dir/src/controller.cpp.o
CMakeFiles/Makefile2:1049: recipe for target 'crazyflie_ros/externalDependencies/libmotioncapture/CMakeFiles/libmotioncapture.dir/all' failed
make[1]: *** [crazyflie_ros/externalDependencies/libmotioncapture/CMakeFiles/libmotioncapture.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/home/hivemind/crazyswarm/ros_ws/src/crazyflie_ros/crazyflie_controller/src/controller.cpp:9:58: fatal error: crazyflie_controller/ExecuteTrajectoryAction.h: No such file or directory
compilation terminated.
crazyflie_ros/crazyflie_controller/CMakeFiles/crazyflie_controller.dir/build.make:62: recipe for target 'crazyflie_ros/crazyflie_controller/CMakeFiles/crazyflie_controller.dir/src/controller.cpp.o' failed
make[2]: *** [crazyflie_ros/crazyflie_controller/CMakeFiles/crazyflie_controller.dir/src/controller.cpp.o] Error 1
CMakeFiles/Makefile2:4619: recipe for target 'crazyflie_ros/crazyflie_controller/CMakeFiles/crazyflie_controller.dir/all' failed
make[1]: *** [crazyflie_ros/crazyflie_controller/CMakeFiles/crazyflie_controller.dir/all] Error 2
I am on ROS Kinetic, Ubuntu 16.04. Did you test the code on similar machines?
from crazyswarm.
-
It seems it is looking for vicon_sdk in
ros_ws/src/crazyflie_ros/externalDependencies/libmotioncapture/externalDependencies/
. In your documentation, you had specified that the vicon_sdk files be placed inros_ws/src/crazyflie_ros/externalDependencies/vicon_sdk
but this is incorrect actually as the calling code looks for the Client.h file in the former directory. Placing the vicon_sdk folder inexternalDependencies/libmotioncapture/externalDependencies/
seems to fix theClient.h
issue. -
One other thing that I think should be addressed is that the vicon datastream sdk folder does not have
Client.h
but rather a file namedDataStreamClient.h
. Renaming this header to Client.h seems a good enough fix for now. -
I had problems getting
manager.cpp
withincrazyflie_manager
locatingcrazyflie_driver
. I noticed thatcrazyflie_driver
is listed as a crazyflie_managercatkin_DEPENDS
and is also listed in the package manifest list but it is not find_packaged. I find_packagedcrazyflie_driver
withincrazyflie_manager
'sCMakeLists.txt
before the compilation could proceed. -
Lastly,
manager.cpp
incrazyflie_manager
depends oncrazyflie_driver
, yet it is not specified as acatkin_exported_targets
dependency in thecrazyflie_manager
package. This meant header files compilable from srv/msg files were not found withcatkin_make
during the process of compilation (since catkin_make is a parallel compilation tool). To allow message generation targets to be built before any programs that depend on them, I declared an explicit dependencies incrazyflie_driver
's CMakeLists.txt. Something of the sort:
add_dependencies(crazyflie_add ${${PROJECT_NAME}}_EXPORTED_TARGETS ${catkin_EXPORTED_TARGETS})
following the catkin 0.6.1
direction available here i.e.,
every target that directly or indirectly uses one of your message headers must declare an explicit dependency.
In my opinion, catkin_make is too much trouble for packages that generate headers used by other packages and I generally go with the catkin build
tool available here.
If you would like to merge the changes to your documentation and code, I can send a PR.
Thanks though!
from crazyswarm.
Hi,
Thank you for your detailed analysis! If you already made the changes, a PR would be very helpful for issues 3 and 4.
Regarding 1 and 2: Which SDK are you using? We tested with 1.6, and things might have changed slightly with the newer version.
Thanks,
Wolfgang
from crazyswarm.
a PR would be very helpful for issues 3 and 4.
Yes, I will be sending the PRs to the submodules that 3 and 4 affect. Thanks!
Regarding 1 and 2: Which SDK are you using? We tested with 1.6, and things might have changed slightly with the newer version.
I downloaded the most recent sdk from the vicon website: vicon_sdk 1.7. Perhaps this was the cause of the error and it is perhaps worth adding a caveat in the documentation about this.
from crazyswarm.
Related Issues (20)
- cmdVel()
- cmdVel() can not use HOT 2
- Crazyswarm 1.0 compatibility with ROS2 Humble? HOT 2
- Latency issues for offboard control using cf.setParam("motorPowerSet/m{i}", motor_power[i]) HOT 6
- Drone state estimation drifting significantly for static drone HOT 5
- Error with collisionavoidance and vispy
- Cant send the crazyflies commands after running another script with ROS HOT 1
- What is the best way to get angular state feedback? HOT 1
- issue with testing hello_world.py and hover_swarm.launch HOT 5
- the libmotioncapture submodule on the master not point(update) to the self main HOT 1
- Uploading more than one trajectory HOT 2
- Crazyflie flips over and crashes immediately HOT 8
- ESTKALMAN: State out of bounds, resetting,TF error
- build.sh issue
- "Motion Capture did not receive data" issue HOT 1
- controller?
- ESTKALMAN: State out of bounds, resetting
- Crazyflie wont show in Rviz
- a question about cmdPosition HOT 1
- Cannot give cmdVel command to all agent...
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from crazyswarm.