husky-grass.png

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.

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.

Basic Configuration

Component

ROS package/stack

Robot-specific Messages

clearpath_base

Hardware Drivers

Component

ROS package/stack

Actuator Drivers

clearpath_base

Sensor Drivers

clearpath_sensors

Simulation and Support

URDF & Gazebo models

husky_description

Dead Reckoning

husky_bringup

rviz Interactive Markers

husky_interactive_markers

High-Level Capabilities

Component

ROS package/stack

Teleop

clearpath_teleop

Basic Localization

husky_localization

Mapping, Localization, Navigation

husky_navigation

Media

Husky (ROS Groovy)

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.

If you are using Fuerte you should follow the instructions here

To install the software on your control computer, first ensure that you have Groovy installed. Then grab the Husky stacks using package management:

sudo apt-get install ros-groovy-clearpath-husky-robot

Starting the Nodes

Ensure that the robot is powered on, and the USB->Serial adaptor is connected. Then run:

roslaunch clearpath_base example.launch port:=/dev/ttyUSB0

Now plug in a joystick, and in another terminal, run:

roslaunch clearpath_teleop example.launch

Hold button 1 (the deadman switch) and you should be driving.

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.

Basic Configuration

Component

ROS package/stack

Robot-specific Messages

clearpath_base

Hardware Drivers

Component

ROS package/stack

Actuator Drivers

clearpath_base

Sensor Drivers

clearpath_sensors

Simulation and Support

URDF models

husky_description

Dead Reckoning

husky_bringup

rviz Interactive Markers

husky_interactive_markers

Gazebo Plugins and Examples

husky_simulator

High-Level Capabilities

Component

ROS package/stack

Teleop

clearpath_teleop

Basic Localization

husky_localization

Mapping, Localization, Navigation

husky_navigation

Media

Husky (ROS Hydro)

ROS Software Maintainer: Clearpath Robotics

Husky is a rugged, outdoor-ready unmanned ground vehicle (UGV), suitable for research and rapid prototyping applications. Husky fully supports ROS—all of the packages are available in the Husky github org.

To install the software on your control computer, first ensure that you are using Ubuntu 12.0.4 LTS, and have ROS Hydro installed. Then grab the Husky robot packages:

sudo apt-get install ros-hydro-husky-robot

If you'd like the simulation and visualization components, please also grab the desktop packages:

sudo apt-get install ros-hydro-husky-desktop

If you are using a previous version of ROS, please see the ROS Groovy or ROS Fuerte version of this page.

Simulation

If you're not working on a real-life Husky, please see the husky_simulator page to get started simulating Husky in Gazebo.

Using Husky

Ensure that the robot is powered on, and the USB->Serial adaptor is connected. Then run:

roslaunch husky_base base.launch port:=/dev/ttyUSB0

Now plug in a joystick, and in another terminal, run:

roslaunch husky_teleop teleop.launch

Hold button 1 (the deadman switch) and you should be driving.

Upstart Installation

If the PC you are setting up will be used exclusively with Husky, we provide a script which creates an upstart job called husky-core to launch the basic Husky software upon system startup. Set it up like so:

rosrun husky_bringup install

The husky-core job comes up with the eth0 network device by default. Our suggested configuration is to set that device to a static IP and use it as your robot's network service port. You can stop, start, and restart the job like any other upstart job:

sudo service husky-core restart

To add more launch files to the job, copy them into the /etc/ros/hydro/husky-core.d folder. Next time the job comes up, your software will launch along with it. For details, please see the robot_upstart package.

If the computer you are setting up is one purchased from Clearpath Robotics with a factory sensor suite, the install script may be able to automatically detect some of your devices and add appropriate launchers files to the husky-core job.

For more information or to receive a quote, please visit us online.

Supporting Packages

Please click through to any of these for specific usage examples.

Husky

ROS Software Maintainer: Clearpath Robotics

Husky is a rugged, outdoor-ready unmanned ground vehicle (UGV), suitable for research and rapid prototyping applications. Husky fully supports ROS—all of the packages are available in the Husky github org.

For more information or to receive a quote, please visit us online.

Installation

These tutorials assume that you are comfortable with ROS and the catkin build system. Please familiarize yourself using the ROS and catkin tutorials.

These tutorials will guide you on setting up a Husky robot PC with ROS Indigo. If you are upgrading from an earlier ROS distribution, please make sure to do a thorough backup of your system.

  1. Backing Up Husky Configuration

    Backing Up the Husky robot PC to preserve existing/factory configuration.

  2. Install and Configure Husky Software

    Setting up the Husky robot PC from scratch using an installer image.

  3. Customize Husky Configuration

    Adding customizations to the base Husky robot configuration.

Usage

Husky can be used in both real and simulated environments. If you are using a physical Husky, please make sure all your peripherals are plugged in, turn on the robot, and skip directly to step 2.

  1. Simulating Husky

    How to bring up a simulated Husky robot using the Gazebo simulator.

  2. Interfacing with Husky

    How to visualize, control, and communicate with a real or simulated Husky robot from your desktop.

Demo Applications

A simulated Husky can run several sample demonstrations out of the box. These may require additional tuning and/or configuration prior to running on a physical Husky robot.

Navigation

  1. Husky Move Base Demo

    Running Husky with a basic move_base setup, with no mapping or localization.

  2. Husky AMCL Demo

    Running Husky with a move_base setup, using amcl for localization.

  3. Husky Gmapping Demo

    Running Husky with a move_base setup, using gmapping for mapping and localization (SLAM).

  4. Husky Frontier Exploration Demo

    Running Husky with a move_base setup, using frontier_exploration for exploration planning, and gmapping for mapping and localization (SLAM).

Manipulation

  1. Husky UR5 Mobile Manipulation Demo (Simulation)

    Running a Husky UR5 with mobile manipulation capabilities.

Package Components

Please click through to any of the below packages for component information.

Media

Wiki: Robots/Husky (last edited 2015-11-02 20:34:35 by ChrisBogdon)