Project information

  • Category: Simulation
  • Goal: Simulate the Husky robot navigation as described in the ROS tutorial.
  • Project date: 2021- 2021
  • Project URL: http://wiki.ros.org/Robots/Husky

PROJECT HUSKY

Husky is a mid-sized robot development platform. Its large payload capacity and power systems accommodate a wide variety of payloads, customized to meet research needs. Stereo cameras, LIDAR, GPS, IMUs, manipulators and more can be added to the UGV by our integration experts. The Husky's rugged construction and high-torque power train can take your research where no other robot can go. Husky is fully ROS compatible with community driven open source code and examples.

MOVE BASE

After all the configuration and installation of the Husky packages found in the repository href=https://github.com/husky/husky, the move-base node was executed in which a command will be sent to the Husky robot that will try to reach the sent position by deviating from the obstacles and if it enters a position where it is locked, it performs recovery behaviors to continue the path sent.

To execute the move-base node, three commands are needed: the first starts the simulation environment the gazebo, the second the rviz viewer and the third the move-base demo.

With all the movement commands already configured and the rviz and gazebo windows already open, the movement is done by the mouse, and you can also use the keyboard by the teleop-twist-keyboard command or by remote control.

AMCL

The Husky amcl Tutorial shows how the move-base is used so amcl gets a laser based map that needs to be activated in the robot description found in the repository itself after activation the laser scans and transforms into messages that generate position estimates.

It is possible to see that, unlike the base move, the Husky can have a much greater viewing range, the all formed by the map and the laiser highlights those that are closer.

GMAPPING

After executing the slam-gmapping node it will be taken to the topic sensor-msgs/LaserScan messages and build a map from the laser data and positions collected by the husky.

The difference from Gmapping is the SLAM that locates and maps the environment simultaneously, as can be seen when the Husky is locating to walk on the map, it also builds the map.

FRONTIER-EXPLORATION

The Frontier-exploration package provides a costmap-2d that provides an implementation of a 2D cost map that takes in world sensor data, builds a 2D or 3D occupancy grid from the data, and client actionlib that provides a standardized interface with tasks.

As the robot moves, you should see the gray static map grow. Occasionally, the gmapping algorithm will relocate the robot, causing a discrete map jump. When the exploration goal is complete, you will see a message written DONE in the terminal window.