Husky (ROS Fuerte)
ROS Software Maintainer: Clearpath Robotics
Husky A200 is a rugged, outdoor-ready unmanned ground vehicle (UGV), suitable for research and rapid prototyping applications. All of Husky's basic capabilities are exposed through the clearpath_husky stack.
To install the software on your control computer, first ensure that you have Fuerte installed. Then grab the Husky stacks using package management:
sudo apt-get install ros-fuerte-husky-robot
If you would like to use an overlay instead, you can prep one by running:
rosinstall OVERLAY_NAME https://raw.github.com/clearpathrobotics/clearpath_husky/master/husky_fuerte.rosinstall
Depending how you want to use Husky, there are two recommended approaches for using the Husky stack.
Contents
Ad-hoc
For computers which are only sometimes used for Husky, it makes sense to start everything you want, when you want it. Ensure that the robot is powered on, and the USB->Serial adaptor is connected. Then run:
roslaunch husky_bringup base.launch port:=/dev/ttyUSB0
Now plug in a joystick, and in another terminal, run:
roslaunch husky_bringup teleop.launch
Hold button 1 (the deadman switch) and you should be driving.
Installed
When you're setting up a computer to be embedded in Husky, you probably want the base nodes to come up automatically on startup. When you buy a computer from Clearpath with your Husky, it will come configured like this, but to do it yourself, follow these steps:
roscd husky_bringup/upstart sudo ./install.bash
By default, this will launch on the IP of the eth0 interface, as user "administrator", and using the launch files in husky_bringup/launch/core. To change any of these elements, edit the install.bash script. If you wish to launch additional software on startup (for example, sensor drivers or a teleop script), copy the launch files into that directory and re-run the install script.
Now you can start the service and run teleop:
sudo service husky-core start roslaunch husky_teleop teleop.launch
The husky-core service is now installed and will now start automatically when the eth0 interface comes up (on boot, if you assign it a static IP or plug it into an onboard router).
Beyond
When you're ready to mount more sensors and equipment, the onboard 5V, 12V, and 24V power supplies will provide the necessary juice to your payloads.
For more information or to receive a quote, please visit us online.
Library Overview
clearpath_base: Provides a kinematic driver node which consumes geometry_msgs/Twist messages on the cmd_vel topic and interprets them as serial movement commands (in m/s) to Husky. This node provides over ROS topics voltage and current status, estop status, battery state, and encoder information.
husky_bringup: Provides launcher with recommended configuration for Husky as well as a diagnostics node, dead-reckoning odometry, and some standard payload launchers.
husky_localization: Provides an example of using robot_pose_ekf to improve the Husky's localization estimate.
husky_navigation: Example launchfiles for the navigation stack as well as gmapping-based mapping and amcl-based localization.
1. Basic Configuration
Component |
ROS package/stack |
Robot-specific Messages |
2. Hardware Drivers
Component |
ROS package/stack |
Actuator Drivers |
|
Sensor Drivers |
3. Simulation and Support
URDF & Gazebo models |
|
Dead Reckoning |
|
rviz Interactive Markers |
4. High-Level Capabilities
Component |
ROS package/stack |
Teleop |
|
Basic Localization |
|
Mapping, Localization, Navigation |