Skip to main content

Panther - outdoor AMR

This is a manual. Would you need a quick start guide instead?

Overview

Block diagramBlock diagram

Autonomous, mobile robot (AMR) platform dedicated for outdoor environment. Compliant with IP54 or IP66 rate of protection. Depending on the use-case it can be equipped with a robot arm, LIDAR, RGB-D camera, GPS, UWB and other additional equipment. It can be used in various areas of application such as agriculture, construction, inspection and many more.

This is a manual. Would you need a quick start guide instead?

danger

Before the first use

We know that you would really like to Quick start with Panther now, but your safety is the most important thing.

A brief safety information

  1. Please read the Safety instructions first.
  2. If you are not sure how something works, please read the manual.
  3. Please remember that the Emergency buttons are available on the robot (a mechanical one) and in the WebUI (on the screen) but in some cases you may not be able to use them quickly enough to stop the robot before causing damage.
  4. The detailed description of the safety features are available in the Safety section.

Hardware guide

Specification

Basic parameters (with WH01 wheels option and a single battery)

NameValueNameValue
length805 mmwidth840 mm
platform height290 mmweight55 kg
overall height365 mmprotection indexIP54 / IP66
wheelbase440 mmoperating temperature-20°C to 50°C
track of wheels695 mmstorage temperature-20°C to 50°C
maximum ground clearance155 mmcharging temperature0°C to 45°C
minimum ground clearance139 mmbattery typeLi-Ion 36V

Traction parameters (with WH01 wheels)

NameValueNameValue
max speed2 m/smaximum carrying capacity80 kg
hill climb grade96% (44°)nominal shaft torque34.5 Nm
climb grade with 50kg cargo90% (42°)maximum shaft torque60 Nm
climb grade with 80kg cargo60% (31°)nominal total traction force725 N
hill grade traversal80% (39°)maximum total traction force1511 N

Great traction, large ramp angles and high stability are ensured by the low center of gravity, located very close to the center of the robot. Details can be found in the attached files:

Panther v1.0 - v1.06 Origin point and center of mass

[Panther v1.2 Origin point and center of mass - Soon...]

You can find more information about mass distribution and moments of inertia in the URDF simulation repository (https://github.com/husarion/panther_description).

International Protection Rating

The platform is offered in two variants of the protection class. The basic variant is dedicated for moderate indoor and outdoor conditions with a rating of IP54. The upgraded variant is dedicated for extremely demanding work environment with a rating of IP66. Sales details such as price, lead time and other conditions are available in the store. More details also in Panther options document.

Specification of given ratings:

ClassSolidFluid
IP54dust protectedprotection against splashes of water from any direction
IP66dust-tightprotection against strong water jets (100 l / min) poured on the housing from any side

Components

ComponentQuantityDescription
Built-in Computer1Raspberry Pi 4B with Broadcom BCM2711 processor, quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz and 4GB LPDDR4 RAM. Used to manage all the basic functions of a mobile platform.
User Computer*1Intel NUC10i7FNKN or Lenovo ThinkStation P360 Tiny with Nvidia T1000 graphics card. See Computer options for details.
Router1Teltonika RUTX11 - Dual-band (2.4 GHz/5 GHz), Access Point / Client Mode, 4G LTE CAT 6, Bluetooth 4.0 LE, GNSS (GPS, GLONASS, BeiDou, Galileo and QZSS) - This multifunctional device ensures reliable external wireless communication and Ethernet link between internal components of the robot system. More details.
Antenna2Dual-band (2.4 GHz/5 GHz) placed on the rear of the robot. See all Panther options.
IMU (Inertial Measurement Unit)1PhidgetSpatial 3/3/3 Basic (3-axis compass, a 3-axis gyroscope, and a 3-axis accelerometer) More details.
Front and rear lights2Signal lighting made of 46 pcs. APA102C LED chips built into an aluminum profile on the robot's bumpers.
Brushless Motor with planetary gearbox480PMB800K.80RBL-100 - Drive implemented on 4 durable motors 473 watts of power (900 W instantaneous power) each and planetary gears with a maximum torque of 60Nm allows the robot to move at a speed of 2 m/s even uphill with a slope of 40% with a load of 50 kg.
Additional kits**Together with the robot, you can get an integrated lidar, depth camera, manipulator and more. See all Panther options
note

*By default, there is only up to one User Computer in the robot. For detailed information please check System installation and read more about Panther options.

note

**Most of external modules are attached to the profiles on the top of the platform. More details.

Communication

available as standard

  • Ethernet
  • USB
  • Wi-Fi (2.4GHz & 5GHz)

possible to extend

  • LTE
  • GPS
  • CAN
  • RS232
  • RS485

See all at Panther options.

Block diagram

Graphic representation of Panther components and connections between them. A full, more detailed version of the block diagram can be found in Docs and links chapter.

Rear panel description

On the Rear Panel of the robot there are:

  • Power controls for the robot - two-position Battery Switch and Power Button,
  • USB connection dedicated to the Gamepad,
  • Emergency Button,
  • And the robot's charging socket.
Rear Panel OverviewRear Panel Overview

Battery Switch

The Battery Switch is used to cut off the battery voltage from the robot electrical circuits. Use this switch for the long-time storage and for shipping. In case of the robot malfunction, setting the Battery Switch to the OFF position will turn off the robot immediately, without waiting for the operating system shutdown.

Battery Switch positionKnob positionPower state
OFFleftBattery disconnected
ONrightBattery connected
caution

Cutting off the computer's power using the Battery Switch may cause data loss.

danger

Cutting off power by putting Battery Switch to the OFF position is NOT the same as taking out the battery. When it is necessary to interfere with the internal components of the robot, it is important to remove the battery from the robot first!

Power button and Status LED

Power Button action is triggered with press and hold the button for 1 second.

Battery Switch positionRobot statusPower Button action
OFFPowered OFFNo action
ONPowered OFFPower ON
ONPowered ONInitialize shutdown

The Power Button is equipped with a LED which indicates the robot status:

LED stateStatus of the robot
ONPowered on
BlinkingShutting down
OFFPowered off

Emergency button

The Emergency Button is connected directly to the Emergency Management Unit and it is one of the inputs triggering E-stop signal. Pushing it runs several actions on the robot. There is a possibility to program the behavior of the platform in emergency situations, however the default actions are:

  • activate E-stop signal and latch it,

  • actively brake the robot using motors,

  • toggle a SPDT relay (external E-stop output).

    You can read more about E-stop in chapter Safety.

USB for Gamepad

There is an EDAC 690-W04-260-014 connector, which provide a direct USB connection to the Built-in Computer. It is dedicated to connecting the Logitech F710 Pad with a modified waterproof USB receiver, but the port can be used to connect any USB 2.0 device to the computer. Information on how to use the Gamepad with the robot can be found in the chapter Controlling Panther robot.

Charging Socket

There is a Weipu SP2112/S7 connector on the surface of the robot mounted with a waterproof cap. The necessary details on charging can be found in the chapter Charging.

Battery & charging

Battery

The Panther power supply comes in a couple of options of easy-swapable battery packs. While purhasing the platform you can choose the basic 720Wh battery (BAT01) or the doubled version of 1440Wh (BAT02). Read more about Panther's options.

The battery packs are made of Lithium-Ion cells, with a rated voltage of 36V and 20Ah or 40Ah capacity, which gives the Panther enough energy to move around in demanding terrain and perform calculations for about 3.5 hours in standard version and 7 hours in doubled version. Moving the robot in a friendly terrain allows for a significant extension of the robot's working time up to 8 hours (standby time up to 40 hours) for the basic variant. You can check more specific information about Panther power consumption calculated for basic version of the battery.

When the battery level is low, the bumper light displays this status through two distinct animations that are shown periodically. If the battery level drops below 40% (36 volts), the bumper light displays an animation of two orange stripes moving towards the center. If the battery level drops below 10% (33 volts), an animation consisting of two red stripes moving towards the center is displayed.

For more information about the bumper lights and signal lights, please see the Panther LEDs and Bumpers and signal lights sections respectively.

Battery parameterValue for BAT01Value for BAT02
Battery capacity720 Wh1440 Wh
Runtime3.5 h - 8 h7 h - 16 h
Standby time40 h80 h
Total output power1.0 kW2.0 kW
Maximum peak power1.8 kW3.2 kW

Battery swap

To remove, insert or replace the batteries, you require access to the User Compartment. You will learn how to do it in the chapter User Compartment

The battery is attached to the inner walls of the robot with DIN 912 M5x12 bolts (4 mm Allen key). After removing the bolts (2 pcs for BAT01 and 4 pcs for BAT02) holding the Battery in place, slide the Battery out of the electrical connector by sliding the package towards the front of the robot by approximately 10 mm. After that, the battery can be lifted by the handle located on its upper surface.

There are retaining pins sticking out of the Battery, be careful not to damage the seal on the surface of the robot. A heavy battery can also damage electronics and wires placed on the User Shelf if not lowered carefully. After lowering (1) the battery to the bottom of the User Compartment, slide it towards the right side (2) of the robot and then along this wall to the rear (3) of the robot. The locating pins should finally position the battery, which will slide smoothly into the power socket. The bolts holding the batteries in place should be tightened to a torque of 4Nm. The steps described above are marked in the figure below.

Charging Panther

In the set with the robot, we provide a dedicated charger, which can charge the robot to 80% in 4 hours, and to 100% in 7 hours. Dedicated charger can be connected directly to the robot's charging connector on its housing. There are two types of chargers available. For BAT01 (single battery) and BAT02 (double battery) options. On the top of the chargers there are LED indicators. If all of them are green that means the battery is fully charged or not connected. When at least one LED is red that means the battery is charging.

Parameter nameSingle charger (for BAT01)Dual charger (for BAT02)
Input voltage range100-240 V AC100-240 V AC
Input voltage frequency50 - 60 Hz50 - 60 Hz
Max input current2.5A5A
Max output voltage42V42V at two channels
Max output current5A2x 5A
Charging robot with BAT01 optionyesyes
Charging robot with BAT02 optionnoyes
caution

It is highly recommended not to use the robot during the charging process! When the charger is connected to the robot, the robot should be turned off.

caution

Please do not leave charger connected to the robot after the charging process is completed (green LED(s)).

Mounting rails

Sensors, constructions and payload can be attached to the profiles on top of the robot. The profiles used are aluminum V-slot 2020 profiles. The best way to attach the elements to them is to use mounting elements dedicated to this type of profiles, such as T-nuts, fittings and angles.

Rails on top of the RobotRails on top of the Robot

These profiles are fixed to the robot with four ISO 7379 M6x30 shoulder screws with DIN 986 M6 nyloc nuts.

Top rails fixingTop rails fixing

To enable access to user space, top rails can be pivoted by removing 2x shoulder screw M6x30 and 2x DIN 986 M6 nyloc nut in either to the front or back. Maximum opening angle is 160 degrees with built-in stop.

Top rails openTop rails open

For more useful information in the field of mechanics, please see the document Panther Overall Dimensions and chapter CAD models.

note

The presence of railings has no effect on the water and dust resistance of the robot.

Bumpers and signal lights

The robot's bumpers are made of a profile with the same cross-section as the railings. They are 0.5 meters wide and, in addition to buffer shock and reducing potential damage when the robot collides with an obstacle at high speed, additional sensors can be mounted on them. By default, the signaling lighting is mounted on each bumper in the form of an aluminum profiles with 46 programmable RGB LEDs.

These lights may be widely used - to indicate the status of the robot, the direction of movement or the intention to change direction, warn about low battery or other detected errors, signal the status of the charging process or even for illuminate the area in front of the robot. More details regarding lights and their control is available in Panther LEDs section.

User Compartment

The robot's volume has been divided into five parts. The central space, called User Compartment, is dedicated to the user's components and electronics. The user's computer (for example Intel NUC in PC02 option), RUTX11 router, as well as the robot's battery are located here.

Access to the User Compartment

To access the User Compartment, pivot the top rails by removing 2x ISO 7379 M6x30 shoulder screws with DIN 986 M6 nyloc nuts. Then unscrew Cover fastened with 8x (IP54) or 18x (IP66) bolts DIN912 M5x12.

Cover fixingCover fixing
caution

To ensure the tightness of the robot, make sure that there are no foreign objects on the seal when assembling the skin element and tighten the bolts with a torque of 4 - 5 Nm.

User Shelf

Volume of this space is approximately 13.6 liters (3.6 US gallons) with BAT01 option or 10.0 liters (2.6 US gallons) with BAT02 option. This part of the robot has the same water and dust tightness class as the robot. At the bottom of this volume there is an easily removable User Shelf to which devices located in this space are attached, excluding the battery.

User's spaceUser's space

The usable space above the shelf is 150 mm high. Top surface of the BAT01 battery module is 72.5 mm above the shelf. The usable space above this battery is 77.5 mm high. There is no usable space above the battery when the BAT02 is mounted.

To remove the User Shelf, loosen the DIN912 M5x12 bolts located around its perimeter and move the Shelf towards the back of the robot, then lift it up. When planning to place components on the shelf, keep clearance around heads of the mounting bolts to allow the shelf to be pushed back into place later. Usually 4 out of 6 bolts are enough to fix the Shelf properly.

On the front and rear wall of this compartment, above the User Shelf, there are connectors that provide power and allow to communicate with the robot.

User Power Panel

The front panel distributing electric power for user applications:

User Compartment Front Wall - Power SupplyUser Compartment Front Wall - Power Supply

To meet the user's needs, the robot is equipped with 10 high-current electrical connectors that are able to provide up to 780W of electrical power to the user's devices. The supply voltages available on the User Power Panel are:

  • 5V limited to 15A (3x female XT60),
  • 12V limited to 25A (3x female XT60),
  • 19V limited to 10A (3x female XT60).
  • Aux Power which is battery voltage (32-42V) rated at 10A max. This output is disabled by default. Aux Power can be enabled and disabled separately from Built-in Computer via ROS (Service /panther/hardware/aux_power_enable). See Panther ROS section for more details.
note
  • The total power from 5V, 12V and 19V outputs is limited to 320W of power.
  • One 19V output is used by an optional user computer and one 12V output is used by a router.
note

These coaxial antenna cables are only present with the ANT01 option. In the ANT02 option, these wires are absent. Read more about Panther's options.

Communication Panel

On the rear panel there are sockets for connecting the battery and communication with the robot - as standard it is an Ethernet and USB connector for the internal SBC and the User Safety Interface (USI) connected to the Emergency Management Unit:

User Compartment Rear Wall - Communication PortsUser Compartment Rear Wall - Communication Ports

Service spaces

The four remaining spaces around the User Compartment are intended for the internal components of the robot and some elements of the additional option sets. In this case, the relevant information can be found in the description of the given option.

note

For these spaces it is usually not needed to access by the user. Opening these spaces is mainly used for service work.

Access to the front and rear service spaces

The front and rear spaces are occupied by motors and built-in electronics.

To access the components in service space, pivot the top rails by removing 2x ISO 7379 M6x30 shoulder screws with DIN 986 M6 nyloc nuts. Then unscrew Front (with the Husarion logo) or Rear (with buttons) Deck. Each is fastened with 15x DIN912 M5x12.

Deck fixingDeck fixing

Under the Front Deck you will find things like standard power converters (5V, 12V, 19V), distribution of higher voltages for the user, high voltage converter (24V / 48V) connection, front motor controller, fan connection. Under the Rear Deck you will find things like battery connector, Built-in Computer with its microSD card, LED panels driver, Power Board, Charging Socket line and Rear Panel buttons connections, rear motor driver, antennas connection.

Deck fixingDeck fixing

Access to the side service spaces

The structural elements located on the sides of the robot - Stringers - also contain subassemblies.

To access these spaces, it is necessary to remove the wheels on the relevant side. Read more about removing wheels in side article Wheel swap. Than you need to remove Side cover which is fastened with 12x bolts DIN912 M5x16.

By default, the Right Stringer has a fan used for forced air circulation inside the robot. There are also cable harnesses in both Stringers. For some Panther's options, additional equipment may be installed in these spaces. In such cases, the necessary information can be found in the description of the option in the article Panther's options.

caution

To ensure the tightness of the robot, make sure that there are no foreign objects on the seal when assembling the skin element and tighten the bolts with a torque of 4 - 5 Nm.

CAD models

To facilitate the work with the project based on Panther platform, we have prepared CAD models for download in three extension formats:

Pth v1.2
STEPzip
IGESzip
STLzip

Software guide

Panther robot is equipped with the Raspberry Pi 4 SBC with custom OS based on Ubuntu 20.04 and contains all components needed to start working with ROS immediately. The microSD card with OS for the Raspberry Pi is included with each Panther robot. The OS contains software drivers for all components and has been modified to make the file system insensitive to sudden power cuts.

ROS API

Panther ROS

Below you can find a description of the nodes that enable the robot to work:

  • battery_node (adc_node.py) - publishes battery state read from ADC unit,
  • imu_manager (phidgets_imu) - driver for the Phidgets Spatial 3/3/3 IMU sensor. The driver publishes linear acceleration, angular velocities and magnetic field,
  • lights_controller_node (controller_node.py) - node responsible for processing animations and publishing frames to be displayed on Panther robot LED panels,
  • lights_driver_node (driver_node.py) - node responsible for displaying frames on Panther robot LED panels,
  • lights_scheduler_node (scheduler_node.py) - node responsible for scheduling animations displayed on LED panels based on the Husarion Panther robot's system state.
  • manager_node (manager_node.py) - node responsible for managing the Husarion Panther robots, controls built-in fan and software shutdown of components,
  • panther_driver (driver_node.py) - node responsible for communication with motor controllers and computing inverse and forward kinematics of a robot,
  • power_control (power_board_node.py) - node responsible for management of the safety board and the power board,
  • system_status_node (system_status_node.py) - publishes status of the built-in computer. Stats include CPU utilization and temperature, as well as disc and RAM usage.

Below are topics and services available in Panther:

TopicMessage typeNodeDescription
/cmd_velgeometry_msgs/Twistpanther_driverRobot desired control velocity.
/joint_statessensor_msgs/JointStatepanther_driverRobot joints states.
/panther/batterysensor_msgs/BatteryStatebattery_nodeAverage values of both batteries if panther has two batteries. In case of single battery values only for the single one.
/panther/battery_1sensor_msgs/BatteryStatebattery_nodeFirst battery state. Published if second battery detected.
/panther/battery_2sensor_msgs/BatteryStatebattery_nodeSecond battery state. Published if second battery detected.
/panther/driver/motor_controllers_statepanther_msgs/DriverStatepanther_driverMotor controllers current, voltage, fault flags, script flags and runtime error flags.
/panther/hardware/io_statepanther_msgs/IOStatepower_controlPublishes state of Panther's built-in computer IO pins
/panther/hardware/e_stopstd_msgs/Boolpower_controlThe current state of the emergency stop.
/panther/hardware/fan_enabledstd_msgs/Boolpower_controlFeedback if fan is currently turned on.
/panther/imu/datasensor_msgs/Imuimu_managerPublishes imu data.
/panther/imu/maggeometry_msgs/Vector3Stampedimu_managerThe magnetic orientation vector.
/panther/lights/controller/queuepanther_msgs/LEDAnimationQueuelights_controller_nodeList with names of animations that are being processed by lights interface
/panther/lights/driver/front_panel_framesensor_msgs/Imagelights_driver_nodeAn animation frame to be displayed on robot front LED panel
/panther/lights/driver/rear_panel_framesensor_msgs/Imagelights_driver_nodeAn animation frame to be displayed on robot rear LED panel
/panther/odom/wheelnav_msgs/Odometrypanther_driverRobot odometry calculated from wheels.
/panther/posegeometry_msgs/Posepanther_driverRobot position.
/panther/system_statuspanther_msgs/SystemStatussystem_status_nodeInformation about Built-in Computer CPU temperature, utilization and disc and RAM usage.
/tftf2_msgs/TFMessagepanther_driverTransform between odom_frame and base_link_frame.
ServiceService typeNodeDescription
/panther/hardware/aux_power_enablestd_srvs/SetBoolpower_controlEnable or disable auxiliary power output, e.g. supply to robotic arms.
/panther/hardware/charger_enablestd_srvs/SetBoolpower_controlEnable or disable charger.
/panther/hardware/digital_power_enablestd_srvs/SetBoolpower_controlEnable or disable the internal digital power used to power on, e.g. NUC, Router, etc.
/panther/hardware/e_stop_resetstd_srvs/Triggerpower_controlReset emergency stop.
/panther/hardware/e_stop_triggerstd_srvs/Triggerpower_controlTrigger emergency stop.
/panther/hardware/fan_enablestd_srvs/SetBoolpower_controlEnable or disable internal fan.
/panther/hardware/motors_enablestd_srvs/SetBoolpower_controlEnable or disable motor drivers.
/panther/lights/controller/set/animationpanther_msgs/SetLEDAnimationlights_controller_nodeAllows setting animation on LED panel based on animation ID.
/panther/lights/controller/set/image_animationpanther_msgs/SetLEDImageAnimationlights_controller_nodeAllows setting animation based on provided images, available in testing mode.
/panther/lights/controller/update_animationsstd_srvs/Triggerlights_controller_nodeAllows updating user defined animations based on ~user_animations parameter.
/panther/lights/driver/set/brightnesspanther_msgs/SetLEDBrightnesslights_driver_nodeAllows setting global LED brightness, value ranges from 0 to 1.

Below graph represents Panther ROS structure. Some topics and services have been excluded from the graph for the sake of clarity.

GPS API

GPS data in NMEA format is forwarded to RPi IP address at port 5000, typically it is 10.15.20.2:5000. You can make sure the address is correct by typing http://10.15.20.1 into your browser (Username: admin, Password: Husarion1). Navigate to Services -> GPS -> NMEA -> NMEA forwarding -> Hostname and Port. Remember that you must be connected to the robot's WIFi network. If changes were needed, finish the configuration by pressing save & apply at the bottom of the screen.

Data frequency is 1Hz and can be interacted ether with GPSD daemon (gpsd -N udp://10.15.20.2:5000) or directly with ROS package redirecting signal to ROS topic.

It is recommended to use docker image using compose.yaml file:

services:

nmea-gps:
image: husarion/nmea-gps:noetic
container_name: nmea-gps
network_mode: host
environment:
- ROS_MASTER_URI=http://10.15.20.2:11311
command: >
rosrun nmea_navsat_driver nmea_socket_driver
__ns:=panther
_port:=5000
_local_ip:=10.15.20.2

To start the container type:

git clone https://github.com/husarion/nmea-gps-docker.git
cd nmea-gps-docker
docker compose up

You should be able to see data on /panther/fix topic (rostopic echo /panther/fix).

Panther LEDs

Panther lights interface was designed to provide informations about robot system state in form of simple animations displayed on LED panels. Animations are placed in the queue and processed in respect with their priority as described below:

  • 1 - intterupts and removes from the queue animation with priorites 2 and 3.
  • 2 - interrupts animations with priority 3.
  • 3 - add adnimation to the end of the queue.

Animations

Default animations supplied by Husarion are listed in the table below.

IDNAMEPRIORITYDESCRIPTION
0E_STOP3red expanding from the center to the edges
1READY3green expanding from center to the edges
2ERROR1red, whole panel blinking twice
3MANUAL_ACTION3blue expanding from the center to the edges
4AUTONOMOUS_ACTION3orange expanding from center to the edges
5GOAL_ACHIEVED2purple, whole panel blinking three times
6LOW_BATTERY2two orange stripes moving towards the center, repeats twice
7CRITICAL_BATTERY2two red stripes moving towards the center, repeats twice
8BATTERY_STATE3two stripes moving towards the edges stopping at a point representing battery percentage and filling back to the center, color changes from red to green
9CHARGING_BATTERY3whole panel blinking with a duty cycle proportional to the battery percentage. Short blinking means low battery, no blinking means full battery. Color changes from red to green

Default LED behavior

Table below outlines the animations and states of Panther robot that each of them represents.

ANIMATIONROBOT STATE
E_STOProbot E-stop triggered, not ready to operate
READYrobot E-stop released, ready to operate
LOW_BATTERYrobot battery level below 40%, animation displayed periodically
CRITICAL_BATTERYrobot battery level below 10%, animation displayed periodically
BATTERY_STATErobot current battery level, displayed periodically
CHARGING_BATTERYcharger is connected and the robot is charging

Customize LED animations

You can easily customize Panther LED panels by defining new animations based on images. They can be created with simple YAML snippet, such as the one shown below:

# user_animations.yaml
user_animations:
# animation with default image and custom color
- id: 21
name: 'ANIMATION_1'
priority: 2
animation:
both:
type: image_animation
image: $(find panther_lights)/animations/strip01_red.png
duration: 2
repeat: 2
color: 0xffff00

You also have the option to create code-based animations. Detailed information on how to make use of these features, as well as a detailed description of default behavior and customization options for Panther LED panels, can be found in panther_lights documentation.

Display LED animation

To display one of predefined animations use /panther/lights/controller/set/animation service of type panther_msgs/SetAnimation. Example:

rosservice call /panther/lights/controller/set/animation "animation:
id: 1
param: 0.0
repeating: false"

Controlling ROS nodes with Docker

The Panther robot uses Docker to launch ROS nodes on the main computer. By default, three Docker containers are launched:

  • ros_master - starts the ROS master node
  • panther_ros - starts default Panther nodes
  • webui-ros-joystick - starts the WebUI

Docker containers can be controlled (eg. stopped, restarted) and configured (eg. modify restart policy) by logging into the main computer (default ssh husrion@10.15.20.2 pass:husarion) and using standard Docker commands and parameters. For more information on how to control Docker containers refer to Using Docker images.

Controlling Panther robot

By default, the robot can be controlled using /cmd_vel topic. Panther will process all messages sent to the topic and provide output velocity to wheels unless E-stop is triggered. Below described are some tools allowing to control Panther robot but any software publishing to /cmd_vel topic will be valid.

note

To control Panther robot with /cmd_vel topic E-stop state have to be reset. It can be done using ROS service or the WebUI.

caution

For safety reasons if some messages are being published to /cmd_vel while e-stop is triggered it is impossible to reset it.

WebUI

WebUI is a default tool launched when Panther robot starts. It is a simple browser-based interface that can be accessed under 10.15.20.2:8000. It allows handling the Panther robot E-stop and controlling its movement. E-stop state can be changed using the button in the top right corner of the app. When resetting E-stop a pop-up window will ask for confirmation. The RED/GREEN ring around the joystick indicates if the robot is ready to move. Use a joystick to move the robot around. For more information see webui-ros-joystick GitHub page.

note

To use the Web interface your device have to be connected to Panther's hotspot, see Connecting to Panther's hotspot

Gamepad with Joy2Twist

The ROS Joy2Twist node allows controlling the Panther robot with a gamepad. By default, it can be used with the F710 gamepad, but the node can be configured to work with any gamepad controller. Joy2Twist can be easily applied using Docker. To control Panther with the gamepad hold the LB button and use the right stick to drive forward/reverse (and left/right when using mecanum wheels) and the left stick to turn the robot. For more information on how to run and use it see the Joy2Twist GitHub page.

teleop_twist_keyboard

A teleop_twist_keyboard ROS package is one of the basic ROS tools that allows to control a robot. It converts keyboard input to velocity commands published to the /cmd_vel topic. It can be easily installed and applied on any device with ROS. For more information on how to run and use it see teleop_twist_keyboard.

caution

Do not try controlling the robot from different sources at once. It may cause unpredictable behavior.

Operating System image reinstallation

In some cases you will need to restore Panther's system to its default settings:

  • in case of accidental damage of the system,
  • to update the OS,
  • to clear all user changes and restore factory settings.

Find the full instruction here

Network

Overview

Panther is equipped with a RUTX11 router running open-source firmware OpenWRT, which provide following interfaces:

Ethernet

  • 1 x WAN 10/100/1000 Mbps (by default configured as a LAN port)
  • 3 x LAN 10/100/1000 Mbps
  • 3 ports are available for user equipment

Wireless

  • Two radios (2.4 GHz and 5 GHz)
  • Support for 802.11ac (Wi-Fi 5) with link rate up to 867Mbps, fast roaming with 802.11r
  • Works as access point (AP) and/or as a client/station (STA)
  • External antennas with 2dBi gain (standard equipment of 'Pth10')

Cellular

  • Dual-Sim with fail-over
  • LTE (4G) Cat 6
  • Two external antennas with 3dBi gain (equipped as an option 'Ant01')

GNSS

  • Support for GPS, GLONASS, Galileo and BeiDou
  • Integrated into ROS
  • 1 Hz refresh rate
  • CEP-50 of 2.5m
  • External antenna (equipped as an option 'Ant02')

Each form of connectivity can be part of automatic WAN fail-over in order to provide continuous connection to external services. More information is available on manufacturer site. Some RUTX11 configuration scripts are available on our GitHub repository.

Connecting to Panther's hotspot

Panther provides hotspot with default SSID Panther_XXXX and Panther_5G_XXXX for 2.4 GHz and 5 GHz band respectively with password husarion, where XXXX is unique S/N of your Panther.

Connecting Panther to a Wi-Fi

Panther can be connected Wi-Fi on 2.4GHz or 5GHz band. It will be used as WAN source and be prioritized over cellular connection. Single radio can act simultaneously as AP (access point) and STA (client).

note

We advise using 2.4GHz radio as an up-link.

By default, Panther scans for available networks and connect to first one provided in configuration file. In case of low signal level or lost of signal, next one on list will chosen (if available). This behavior can be modified by user.

You can find a step-by-step tutorial how to connect your Panther to Wi-Fi in Panther - quick start.

Due to limitation of Wi-Fi chipset, it is not possible to scan for available networks, while providing AP on 5 GHz interface. It's advised to use 2.4 GHz for WAN uplink. For more information, go to documentation on our GitHub repository

Remote access

You can access your Panther over the Internet, from any place in the world. You can use the preinstalled Husarnet VPN service. To access your robot follow steps from here.

Using a cellular connection

If your Panther is equipped with ANT02 option it is possible to use cellular connection with failover to second SIM and priority of WLAN connection over cellular.

Installing a SIM card(s)

First open Cover following instruction, then you can access Teltonika RUTX11 SIM slots, more detail here.

Configuration of SIM slots

In default configuration, each SIM slot is enabled with automatic APN and priority of WLAN connection over cellular. If you need to change settings such as: PIN code, custom APN, CHAP/PAP authentication go to our GitHub repository for more information.

Access to router WebUI

Further configuration can be done through WebUI, which is available under 10.15.20.1 address. Login with username admin and password Husarion1. Consult Teltonika RUTX11 manual for more information.

note

It is advised to change default password.

Resetting router to default settings

In case of misconfiguration it is possible to reset router to working default settings (as shipped to you). To do it press and hold reset button on powered on RUTX11 for at least six seconds. Signal strength LEDs indicate elapsed time. After all five LEDs are lit up, reset button can be released. After automatic restart router is ready to be used again.

Safety

The robot has been equipped with solutions for the safe use of the equipment, both in the software and hardware layer.

danger

Please take this chapter seriously. Inadequate and irresponsible using of the robot may cause damage to the device, the workplace and people in the vicinity.

The robot is equipped with an Emergency Management Unit (EMU). It is a system that takes control of the robot's components as well as its power in crisis situations. The EMU can stop the robot's movement, turn off the power of the user's device, or even turn off the entire robot, if so configured. It also provides dedicated electrical User Safety Interface (USI) led out to the User Space.

Due to the appearance of any trigger, such as CPU crash or Emergency button press, the EMU call and latch E-stop signal. This means that in such situations, for the further work of the robot, the problem should be resolved and then the E-stop latch should be reset.

tip

This chapter describes only the basic default EMU configuration, however the system is configurable. To learn more about the possibilities and how to configure it, visit a separate article - EMU configuration

safety board logic

Hardware

Emergency button

On the rear side of the robot there is a red Emergency push button. Pushing the Emergency button causes:

  • activate E-stop signal and latch it,
  • actively brake the robot using motors,
  • toggle a SPDT relay (external E-stop output).
tip

These actions are default EMU configuration. To learn more about the possibilities and how to configure it, visit a separate article - EMU configuration

User Safety Interface (USI)

USI is an electrical hardware interface for EMU designed to integrate Panther with the user's equipment. This thread is covered in details in the Emergency Management Unit article in chapter User Safety Interface.

All helpful documents and links in one place: