Ros Interface to Android Sensors!
Heavily Inspired by ros_android_sensors_driver during development.
Currently Supporting Android 6.0 (Marshmallow) API 23
Intended for Aiding Robot Navigation and Localization
List of Supported Sensors:
- GPS
- Gyroscope
- Accelerometer
- Magnetometer
- Barometer
- Camera
- Microphone
Other Tasks:
- Revise Covariance Matrices dynamically based on professed sensor accuracy
- Consider Odometry Visualization with onboard Kalman filter?
- Consider Serial Communication, or other modes of connection with the robot
Before you start, the below steps are recommended if you don't want to risk network disconnection.
-
Edit the network interfaces file:
sudo vim /etc/network/interfaces
-
Add the following lines:
allow-hotplug usb0 iface usb0 inet dhcp
-
Re-start networking:
sudo service networking restart
-
Configure USB Tethering on the Android Device:
Settings > Mobile Hotspot and Tethering > USB Tethering ON
Now you should be ready to go!
-
Start roscore on the host computer:
roscore
-
Poll the host computer's IP address:
ifconfig [usb0/wlan0]
Whether or not it is usb0/wlan0, etc. is dependent on how you configured the network settings.
-
Launch the app, and enter the IP address.
-
To test whether or not the topics are being published:
rostopic list rostopic echo /android_imu rostopic echo /android_gps