ISAAC
0.2.11
Flight software for the ISAAC project, adding functionality to the Astrobee robot, operating inside the International Space Station.
|
This package provides the driver for publishing wifi strength info. I is based on the library available in https://github.com/bmegli/wifi-scan, adapted to ROS for this project.
Because the function that scans all the networks needs network admin rights, there are 2 modes in which this driver can run. The modes can be set as:
roslaunch astrobee astrobee.launch wifi:=node
There are three options: none: no wifi reader is active (default) station: has the 'scan station' activated; all: has the 'scan all' activated
For the 'all' option, one needs to give the rights to the node executable, as:
setcap cap_net_admin+ep /path/to/wifi/node
(as a default, the node executable is in the build folder in devel/lib/wifi/wifi_tool)
All the parameters are in astrobee/config/hw/wifi.config General Parameters:
interface_name: to find ou the interface name, one can find out the interface name by running ifconfig in the cmd line.
Publishes information to the topic hw/wifi/station. It only includes signal strength of the wifi network to which the robot is currently connected to. Scan Station Parameters:
time_scan_station: update rate of the station scan, can be set upt to 50ms.
Publishes information to the topic hw/wifi/all. Scan All Parameters:
time_scan_station: update rate of the station scan, can be set up to 50ms. time_scan_all: time in between scans, note that even if the time is set to a low limit, information acquisition rate is limited. max_networks: maximum number of networks that will be acquired during 'all' scan.
All data is published as messages on ROS topics using the prefix hw/wifi.
This package is needed in hardware/wifi node, such that we can scan the wifi networks. If you are missing this package, and have sudo rights, do:
sudo apt-get install libmnl-dev
Otherwise, it can be installed from source as follows:
mkdir $HOME/projects cd $HOME/projects wget https://www.netfilter.org/projects/libmnl/files/libmnl-1.0.4.tar.bz2 tar xjfv libmnl-1.0.4.tar.bz2 cd libmnl-1.0.4 ./configure --prefix=$(pwd)/install make -j 10 make install export PKG_CONFIG_PATH=$HOME/projects/libmnl-1.0.4/install/lib/pkgconfig
The last line above will tell catkin where to look for this library.