- Install system dependencies
sudo apt-get install libncurses5-dev libncursesw5-dev # ncurses
sudo apt-get install freeglut3 # freeglut
sudo apt install build-essential # build-essential
sudo apt install freeglut3-dev libncurses5-dev zlib1g-dev # Needed by `openhaptics_3.4-0-developer-edition-amd64/install` script
sudo apt install libncurses5
-
Install the driver (see 'Driver installation guide' on the webpage below) Webpage: https://support.3dsystems.com/s/article/OpenHaptics-for-Linux-Developer-Edition-v34?language=en_US
-
Install library (see 'openhaptics_3.4-0-developer-edition-amd64/README_INSTALL')
-
Calibrate device. Run
/home/hamed/Downloads/TouchDriver2022_04_04/bin/Touch_Diagnostic
- Install unity.
Run editor: /home/hermes/UnrealEngine-4.27/Engine/Binaries/Linux/UE4Editor ~/AirSim/Unreal/Environments/Blocks/Blocks.uproject
/home/hermes/UnrealEngine-4.27/GenerateProjectFiles.sh ~/AirSim/Unreal/Environments/Blocks/Blocks.uproject -game
cd ~/AirSim/Unreal/Environments/Blocks/
make Blocks
Cannot open Blocks.uproject: microsoft/AirSim#4535
The crazyswarm api used to control the drones. Documentation is here: https://crazyswarm.readthedocs.io/en/latest/api.html
Initial crazyflie setup
Run the following to setup a new drone. chooser.py
reads from /home/hamed/crazyswarm/ros_ws/src/crazyswarm/launch/allCrazyflies.yaml
and let's users choose which of the drones in that file to activate. If there is a timeout error when starting up, it's probably because this file has selected drones that are not in the workspace. A good first step is to make sure you can read the battery from each drone in the chooser menu.
cfclient
python3 /home/hamed/crazyswarm/ros_ws/src/crazyswarm/scripts/chooser.py
Note: You need to run chooser.py
after updating the position value in allCrazyflies.yaml
. Inside the chooser.py gui, select and unselect the drone that's starting position was changed.
Running the system
roslaunch crazyswarm hover_swarm.launch # terminal 1
python3 crazyflie_interface.py # terminal 2
make && ./main; # terminal 3