ScoutSoftware

From ISRWiki
Jump to navigation Jump to search
Nomadic Scout platform

About

This page presents instructions and software for our customized versions of Nomadic Scouts. This customization was performed by IdMind and includes new electronics. These platforms include a nowadays obsolete Pentium III motherboard, and so it is only appropriate to run the ROS drivers for the hardware (motors and sensors). So the suggested architecture is to use an external laptop for the main software, connecting via a ethernet cable the platform motherboard. The driver nodes can be remotely launched using roslaunch.

Software

The source code can be found here: ros_scout-1.0.tgz. All platforms already include a scout directory at home with this software, whose packages are accessible via ROS_PACKAGE_PATH.

Usage

The robot is switched on/off using the two buttons. DO NOT switch-off the robot before performing a clean shutdown on the onboard computer. Whenever possible, connect it to the external power. This will not charge the batteries, but will not draw power from them.

The communication with the onboard computer should be done using an Ethernet cable (crossed) and ssh. The network configuration is the following:

  • IP = 192.168.1.2
  • Netmask = 255.255.255.0

(so you should use a different static IP in your computer)

And the shell access via ssh requires the following credentials:

  • Username = scout
  • Password = sistemasautonomos

Packages

  • scout_drivers -- contains the main drivers
  • scout_msgs -- defines the message types employed by the drivers
  • joy -- a copy of the joy package compatible with the Scout software

Nodes

  • motors -- interfaces the motor controllers: sends motor velocity commands and receives encoder readings
  • sensors -- interfaces the sonars (currently disabled) and the battery sensors
  • joydrive -- node to control the robot using a gamepad
  • keydrive -- node to control the robot using the keyboard

Subscribed topics

  • /scout/motion (ScoutMotionMsg) -- reference velocities for each wheel (velocity_left and velocity_right) in raw units and an enable flag

Published topics

  • /scout/battery (ScoutBatteryMsg) -- voltages (in V) of batteries (battery1) and external power supply (battery2)
  • /scout/sonars (ScoutSonarsMsg) -- (DISABLED BY DEFAULT) array of sonar readings
  • /scout/motors (ScoutMotorsMsg) -- encoder counter for each wheel (count_left and count_right) in raw units

Examples

An example of a launch file to launch all scout nodes (locally)

<launch>
	<node name="motors"   pkg="scout_driver"  type="motors"/>
	<node name="sensors"  pkg="scout_driver"  type="sensors"/>
	<node name="joy"      pkg="joy"           type="joy_node"/>
	<node name="joydrive" pkg="scout_driver"  type="joydrive"/>
</launch>

NOTE: you need to modify these file in order to launch the nodes remotely.