This is the stack of the DFRobot miniQ robot hacked by the guys at the Embedded Systems Lab, ISR University of Coimbra for mobile robot olfaction.
- Author: Maintained by Gonçalo Cabrita
- License: BSD
- Source: svn http://isr-uc-ros-pkg.googlecode.com/svn/stacks/lse_miniq_robot/trunk
The LSE miniQ Robot
The LSE miniQ robot was developed at the ISR for swarm olfactory research. The motivation behind this robot was to build a cheap unit to allow the purchase of large swarms.
Based on the 2WD miniQ from DFRobot, the LSE miniQ contains an e2v MiCS 5524 gas sensor to allow the detection of volatile organic compounds. Two LEDs (one blue and one red) placed on the top of the robot are used for tracking. This is to help deal with the poor odometry inherent to cheap platforms. Finally the 4 AA batteries were changed for a single 18650 cell (like the ones they use in the Tesla!).
The ISR University of Coimbra is not connected to DFRobot in any way, this robot was chosen for this hack due to its low cost thus the possibility of creating large swarms on a small budget.
How does it work?
The LSE miniQ robot is based on the popular Arduino, so it is unable to run ROS. Instead the LSE miniQ communicates with a host computer using XBee. The host computer then runs the ROS nodes in charge of controlling the robot. A single computer can run a swarm of LSE miniQs, and to the ROS ecosystem each LSE miniQ appears as any other robot would, meaning the LSE miniQ ROS node will publish odometry and subscribe to velocity commands.
Due to the low resolution encoders the LSE miniQs have a very, very bad odometry! To cope with this issue the LSE miniQs can be tracked using a camera. Right now we are using swistrack to do this.
Where can I get the Arduino source code?
The simple_navigation stack was developed having the LSE miniQs in mind. In theory however you should be able to use the ROS navigation stack with the miniQs, keeping in mind that the miniQs do not have obstacle avoidance sensors (although this has never been tested!).
Download and Install
Create a folder called lse_miniq_workspace under your home folder.
cd mkdir lse_miniq_workspace
Download the lse_miniq_robot.rosinstall file into the lse_miniq_workspace folder. Now run the following line:
rosinstall ~/lse_miniq_workspace lse_miniq_robot.rosinstall /opt/ros/fuerte
To add the newly downloaded stacks to you ROS_PACKAGE_PATH just run the following:
echo "source ~/lse_miniq_workspace/setup.bash" >> ~/.bashrc . ~/.bashrc
Now you just need to compile everything:
And that's it! If you ever need to update you LSE miniQ software you just need to:
cd cd lse_miniq_workspace rosinstall . rosmake lse_miniq_robot
- Convert a miniQ into a LSE miniQ
This tutorial shows you how to convert a standard DFRobot miniQ robot into a LSE miniQ, covering every step from hacking the robot to uploading the Arduino software.
- Load settings to the LSE miniQ EEPROM
This tutorial will guide you through the process of loading settings on to the LSE miniQ EEPROM. This is particularly important if you are loading the default settings for the first time after programming a robot.
- Calibrate the PID velocity controllers
This tutorial will guide you through the process of calibrating the PID velocity controllers on the LSE miniQ.
- Use a single LSE miniQ
This tutorial will show you how to run a single LSE miniQ robot in ROS including the simple navigation.
- Use multiple LSE miniQs
This tutorial will show you how to run multiple LSE miniQs with ROS including the simple navigation for multiple robots.