Only released in EOL distros:  

lse_arduino: ardusim

Package Summary

Ardusim (Arduino Sensor Interface Module) is a library for interfacing a wide range of sensors with ROS over the Arduino microcontroller.

Documentation

This package was design to work as a bridge between a wide range of sensors (analog, i2c, spi) and ROS using the arduino.

Supported Hardware

The following sensors are currently supported by ardusim:

  • Devantech SRF08 Ranger
  • Devantech TPA81 Thermal Array
  • LSE MOX Nose
  • LSE Thermistor Anemometer

ROS API

gp_node

gp_node or general purpose node, is a general implementation of the ardusim protocol. This node will ask the arduino which sensors are currently connected and start publishing all available sensors.

Published Topics

range (lse_sensor_msgs/Range)
  • Range data from the sonar(s).
nose (lse_sensor_msgs/Nostril)
  • Chemical data from the MOX sensor(s).
tpa (lse_sensor_msgs/TPA)
  • Temperature data from the TPA(s).
wind (lse_sensor_msgs/Anemometer)
  • Wind speed and direction.

Parameters

~port (string, default: /dev/ttyUSB1)
  • The port where the arduino can be found.
~sonar_frame_id (string, default: /base_sonar)
  • The frame in which ranger scans will be returned.
~nose_frame_id (string, default: /base_nose)
  • The frame in which nose readings will be returned.
~tpa_frame_id (string, default: /base_tpa)
  • The frame in which tpa readings will be returned.
~anemometer_frame_id (string, default: /base_anemometer)
  • The frame in which anemometer readings will be returned.

nose_node

The nose_node was designed for the LSE MOX nose equipped with the Figaro 2620 and 2600 MOX sensors. This is the setup used on the LSE Roomba.

Published Topics

nose (lse_sensor_msgs/Nostril)
  • Chemical data from the MOX sensors.

Parameters

~port (string, default: /dev/ttyUSB1)
  • The port where the arduino can be found.
~frame_id (string, default: /base_nose)
  • The frame in which nose readings will be returned.

roomba_sonar_node

The roomba_sonar_node was created for the LSE Roombas equipped with an array of 5 Devantech SRF08 rangers.

Published Topics

sonars (lse_sensor_msgs/Range)
  • Range data from the sonars.

Parameters

~port (string, default: /dev/ttyUSB1)
  • The port where the arduino can be found.
~frame_id (string, default: /base_sonar)
  • Base name for the frame in which sonar ranges will be returned.

thermistor_node

The thermistor_node was created for facilitating the thermistor based anemometer calibration.

Published Topics

thermistors (lse_sensor_msgs/Thermistor)
  • Raw data from the anemometer thermistors.

Parameters

~port (string, default: /dev/ttyUSB1)
  • The port where the arduino can be found.
~frame_id (string, default: /base_thermistor)
  • Base name for the frame in which thermistor values will be returned.

Custom Nodes

Ardusim is also available as a library on the ardusim package. This can be used to make custom nodes with any desired combination of sensors. To start your own node check the Code API page.

Arduino Source Code

The Ardusim source code for the arduino can be downloaded from the isr-uc-ros repository from the downloads section.

Communication Protocol Documentation

The Ardusim protocol is described in ardusim_protocol.pdf.

Wiki: ardusim (last edited 2010-12-06 13:51:29 by Gonçalo Cabrita)