Husarion Panther is a heavy-duty robot designed for a variety of outdoor use cases across agriculture, logistics, mining, and other industries, so we do everything to ensure that its performance is stable and resilient even in the most demanding conditions. This requires not only robust construction, well-designed electronics, and sufficient IP protection rate, but also reliable and efficient software.
That’s why we are pleased to announce the release of Panther v1.0.0 ROS driver - an updated version of Panther software stack, optimized for safety, performance and enhanced user experience, both when working with the physical robot and with its simulation.
In this article, we will dig into the new features of Panther introduced in this release, including:
- new LED animation system that enables you to signal complex Panther behavior easily and efficiently
- a revised version of the URDF model of Panther
- changes for optimized safety and performance.
Let’s get started!
Customizable LED animations 💡
We know how helpful it is to monitor the state of the robot during its operation without the need to read console logs. Whether you're developing a new solution, debugging, or using Panther in a real-life outdoor use case, using lights is an efficient way to easily signal the state and behavior of the robot. That's why we added a new LED animation system which allows you to use several predefined animations as well as easily manage, modify, and create new custom animations.
First of all, we've added more default animations for states such as robot ready to operate, manual/autonomous action, animations indicating the level of battery, and more. Below you can see a list of all available predefined animations.
E_STOP - robot E-stop triggered, not ready to operate
READY - robot E-stop released, ready to operate
LOW_BATTERY - robot battery level below 40%
CRITICAL_BATTERY - robot battery level below 10%
BATTERY_STATE - robot current battery level
CHARGING_BATTERY - the robot is charging
ERROR - a predefined animation for use in custom use cases
AUTONOMOUS_ACTION - custom use cases
MANUAL_ACTION - custom use cases
If you think that the default animations aren't sufficient for your complex use case, don't worry! From now on, animations can be dynamically defined based on Python 3 functions or simple images - all you need to do is draw what you want your robot to show and specify animation duration. So whenever you feel you need a new animation to reflect the complex behavior of your robot, you can add it immediately, even at runtime when your robot is at full swing - check out how to do it here. The icing on the cake - you can test animations in RViz, without the need to deploy a physical robot every time.
Accurate testing in simulation
Aside from the new LED animation system, the Panther v1.0.0 ROS driver release also comes with a revised URDF model of Panther that simplifies the process of developing and testing new solutions.
Some of the key benefits of this revised URDF model are optimized visual meshes and simplified collision mesh, which enable lower resource consumption and make the process of testing the robot in simulation at the same time easier and more visually satisfying. We’ve also added several features that simplify customizing the robot in simulation, including predefined user-space transforms which make it easier to attach additional components to the robot in simulation without the need to calculate their location in space.
Most importantly, the revised URDF model is tightly integrated with the Gazebo Classic simulation environment to ensure best performance and accuracy. All these changes contribute to an enhanced user experience when testing Panther in simulation, providing you with greater flexibility, performance, and ease of use when developing solutions.
Improved safety and performance
Big and important improvements are great, but we know when it comes to developing robotic solutions, the devil is in the details. That’s why with this release, we’ve introduced a bunch of smaller improvements to make sure your experience with Panther is smooth, safe and hassle-free.
The graph below illustrates in a simplified manner the most important changes introduced with regard to safety, performance and a more streamlined debugging process.
In addition to the changes visible above, we have optimized network usage by reducing the number of messages sent via ROS topics, increased the speed of processing data from drivers, and ensured that all launch files and global robot configurations are stored conveniently in a single package.
The new Panther ROS driver provides you with more opportunities, including:
- the possibility to use more custom LED animations and easily add new animations based on Python 3 functions or images
- optimized visual meshes and simplified collision mesh for lower resource consumption and good appearance
- easier customization of the robot in simulation with the predefined user-space transforms. At the same time the new software version optimizes performance, enhances safety and allows for more accurate testing and simplifies the debugging process.
We’re excited to announce that from now on, all our Panthers will be shipped with preinstalled Panther v1.0.0 ROS driver to provide our clients with the best possible experience. And if you have an older version of Panther software - don’t worry, soon we will publish an easy step-by-step guide on updating Panther software using Docker. The software is compatible with all Panther versions and automatically detects the hardware revisions to launch the correct software stack. This means that no matter what Panther version you have, you will be able to enjoy all the features of the new release.
We hope you can’t wait to test the updated Panther software - we certainly can’t wait to receive your feedback!
And if you have any comments or questions, you can easily reach us at our Community Portal, by e-mail at email@example.com or through GitHub's Issues and Pull Requests.