This tutorial describes how to install and run a Novint falcon in an Ubuntu virtual machine. This tutorial goes through how to do it from scratch.
Note: the libnifalcon repository is now forked here. Furthermore, the idealab_ros_tools repository now has the current working copy of the ros_falcon package in it. the original ros_falcon package has been forked and is now here
Go to the usb settings and add the falcon filter to virtualbox (‘Future Technology Devices International, Ltd FALCON HAPTIC [0400]’)
open up virtualbox and check to see if it is found
```bash
dmesg | grep FALCON
```
install libusb
```bash
sudo apt install -y libusb
```
clone repository
```bash
mkdir ~/drivers
cd ~/drivers
git clone https://github.com/idealabasu/libnifalcon
cd libnifalcon
```
follow instructions
```bash
cd ~/drivers/libnifalcon
mkdir build
cd build
cmake -G "Unix Makefiles" ..
make
sudo make install
```
add device udev file from within the idealab_ros_tools repository
```
#the default one doesn't seem to work
#sudo cp ~/drivers/libnifalcon/linux/40-novint-falcon-udev.rules /etc/udef/rules.d/
sudo cp ~/code/code_idealab_ros/src/ros_falcon/udev_rules/99-udev-novint.rules /etc/udev/rules.d/
sudo chmod 644 /etc/udev/rules.d/99-udev-novint.rules
sudo udevadm control --reload-rules && udevadm trigger
```
run findfalcons
several times until you see it
add joy package
```bash
sudo apt install -y ros-melodic-joy
```
clone the ros falcon repository (optional, it is now located in the code_idealab_ros repository now)
```bash
cd ~/
git clone https://github.com/idealabasu/ros_falcon.git
```
copy the folder into the src folder in your workspace (also unnecessary now, it is already there)
Run node and view results
in a new terminal:
```
roscore
```
run falcon node
```bash
roscd ros_falcon
# cd nodes
#chmod +x joy2cmd_vel.py
rosrun ros_falcon driver
```
in a second terminal:
```
rostopic echo /falconPos
```