... | @@ -16,7 +16,7 @@ This guide was updated last on 2023-02-23. |
... | @@ -16,7 +16,7 @@ This guide was updated last on 2023-02-23. |
|
- [Using the controller](#using-the-controller)
|
|
- [Using the controller](#using-the-controller)
|
|
- [Orientation reference](#orientation-reference)
|
|
- [Orientation reference](#orientation-reference)
|
|
- [Specifications](#specifications)
|
|
- [Specifications](#specifications)
|
|
- [Safety: Emergency-stop and lockout](#safety-emergency-stop-and-lockout)
|
|
- [Safety emergency-stop and lockout](#safety-emergency-stop-and-lockout)
|
|
- [Network Setup](#network-setup)
|
|
- [Network Setup](#network-setup)
|
|
- [Network basics](#network-basics)
|
|
- [Network basics](#network-basics)
|
|
- [Internet access](#internet-access)
|
|
- [Internet access](#internet-access)
|
... | @@ -30,7 +30,7 @@ This guide was updated last on 2023-02-23. |
... | @@ -30,7 +30,7 @@ This guide was updated last on 2023-02-23. |
|
- [Default topics](#default-topics)
|
|
- [Default topics](#default-topics)
|
|
- [Motion topics](#motion-topics)
|
|
- [Motion topics](#motion-topics)
|
|
- [Odometry topics](#odometry-topics)
|
|
- [Odometry topics](#odometry-topics)
|
|
- [Diagnostic topics](#diagnostic-topics)
|
|
- [Diagnostics topics](#diagnostics-topics)
|
|
- [Custom workspace](#custom-workspace)
|
|
- [Custom workspace](#custom-workspace)
|
|
- [ROS Husky packages](#ros-husky-packages)
|
|
- [ROS Husky packages](#ros-husky-packages)
|
|
- [Navigation with ROS](#navigation-with-ros)
|
|
- [Navigation with ROS](#navigation-with-ros)
|
... | @@ -64,23 +64,23 @@ The status panel is a display of LED indicators located on the rear of the chass |
... | @@ -64,23 +64,23 @@ The status panel is a display of LED indicators located on the rear of the chass |
|
</thead>
|
|
</thead>
|
|
<tbody>
|
|
<tbody>
|
|
<tr>
|
|
<tr>
|
|
<td ><img src="https://cosysgit.uantwerpen.be/wjansen/husky-usage-guide/-/raw/main/status_battery.png"/></td>
|
|
<td ><img src="https://cosysgit.uantwerpen.be/wjansen/husky-usage-guide/-/raw/main/status_battery.png" alt=""/></td>
|
|
<td >Battery Status The four LED segments provide an approximate indication of the relative lifetime remaining in the battery.</td>
|
|
<td >Battery Status The four LED segments provide an approximate indication of the relative lifetime remaining in the battery.</td>
|
|
</tr>
|
|
</tr>
|
|
<tr>
|
|
<tr>
|
|
<td ><img src="https://cosysgit.uantwerpen.be/wjansen/husky-usage-guide/-/raw/main/status_communication.png"/></td>
|
|
<td ><img src="https://cosysgit.uantwerpen.be/wjansen/husky-usage-guide/-/raw/main/status_communication.png" alt=""/></td>
|
|
<td >Communication Status When green, Husky is receiving a stream of correctly-formatted motion commands, and is ready to drive. When yellow, Husky is receiving commands, but will not drive due to emergency stop or another error. When red, serial communications are currently timed-out.</td>
|
|
<td >Communication Status When green, Husky is receiving a stream of correctly-formatted motion commands, and is ready to drive. When yellow, Husky is receiving commands, but will not drive due to emergency stop or another error. When red, serial communications are currently timed-out.</td>
|
|
</tr>
|
|
</tr>
|
|
<tr>
|
|
<tr>
|
|
<td ><img src="https://cosysgit.uantwerpen.be/wjansen/husky-usage-guide/-/raw/main/status_general_error.png"/></td>
|
|
<td ><img src="https://cosysgit.uantwerpen.be/wjansen/husky-usage-guide/-/raw/main/status_general_error.png" alt=""/></td>
|
|
<td >General Error Status Illuminates red when Husky will not drive due to an error state. Such states include emergency stop, insufficient battery power, or an unspecified software error.</td>
|
|
<td >General Error Status Illuminates red when Husky will not drive due to an error state. Such states include emergency stop, insufficient battery power, or an unspecified software error.</td>
|
|
</tr>
|
|
</tr>
|
|
<tr>
|
|
<tr>
|
|
<td ><img src="https://cosysgit.uantwerpen.be/wjansen/husky-usage-guide/-/raw/main/status_emergency.png"/></td>
|
|
<td ><img src="https://cosysgit.uantwerpen.be/wjansen/husky-usage-guide/-/raw/main/status_emergency.png" alt=""/></td>
|
|
<td >Emergency Stop Status Illuminates red when Husky will not drive due to the emergency stop being activated, either onboard or wireless (if available).</td>
|
|
<td >Emergency Stop Status Illuminates red when Husky will not drive due to the emergency stop being activated, either onboard or wireless (if available).</td>
|
|
</tr>
|
|
</tr>
|
|
<tr>
|
|
<tr>
|
|
<td ><img src="https://cosysgit.uantwerpen.be/wjansen/husky-usage-guide/-/raw/main/status_charge.png"/></td>
|
|
<td ><img src="https://cosysgit.uantwerpen.be/wjansen/husky-usage-guide/-/raw/main/status_charge.png" alt=""/></td>
|
|
<td >Charge Indicator Illuminates red when Husky user power is being supplied externally.</td>
|
|
<td >Charge Indicator Illuminates red when Husky user power is being supplied externally.</td>
|
|
</tr>
|
|
</tr>
|
|
</tbody>
|
|
</tbody>
|
... | @@ -97,7 +97,7 @@ The `STOP` status light will be red if the Stop button is pressed. If the Stop b |
... | @@ -97,7 +97,7 @@ The `STOP` status light will be red if the Stop button is pressed. If the Stop b |
|
|
|
|
|
### Using the controller
|
|
### Using the controller
|
|
|
|
|
|
To teleoperate Husky, first release the motion stop. Then, referring to the following image of the Logitech Controller, press the enable button (either slow or fast mode) and use the left thumbstick to drive Husky.
|
|
To teleoperate Husky, first release the motion stop. Then, referring to the following image of the Logitech Controller, press one of the buttons (either slow or fast mode) and use the left thumbstick to drive Husky.
|
|
|
|
|
|

|
|

|
|
### Orientation reference
|
|
### Orientation reference
|
... | @@ -136,7 +136,7 @@ The reference frame used by all Clearpath Robotics ground robots is based on ISO |
... | @@ -136,7 +136,7 @@ The reference frame used by all Clearpath Robotics ground robots is based on ISO |
|
| Internal Sensing | Battery Status, Wheel Odometry, Motor Currents |
|
|
| Internal Sensing | Battery Status, Wheel Odometry, Motor Currents |
|
|
| Environmental | note waterproof |
|
|
| Environmental | note waterproof |
|
|
|
|
|
|
### Safety: Emergency-stop and lockout
|
|
### Safety emergency-stop and lockout
|
|
|
|
|
|

|
|

|
|
|
|
|
... | @@ -150,7 +150,7 @@ This "Stop" function can be asserted by pressing the red stop actuator present a |
... | @@ -150,7 +150,7 @@ This "Stop" function can be asserted by pressing the red stop actuator present a |
|
|
|
|
|
The battery shipped with Husky A200 may be charged outside the robot or while still inside of Husky. If charging while installed, you will need to open the access door to the battery area, and disconnect the battery from the MCU board. From there:
|
|
The battery shipped with Husky A200 may be charged outside the robot or while still inside of Husky. If charging while installed, you will need to open the access door to the battery area, and disconnect the battery from the MCU board. From there:
|
|
|
|
|
|
**Be carefull with the blue cable!! It is very fragile and can be easily damaged. Pull and push on it from the blue plastic connector, not from the cable!**
|
|
**Be careful with the blue cable!! It is very fragile and can be easily damaged. Pull and push on it from the blue plastic connector, not from the cable!**
|
|
|
|
|
|
1. Connect the DC output cable from the charger to the battery terminal connector. Does not matter which side, just connect black to black and red to red.
|
|
1. Connect the DC output cable from the charger to the battery terminal connector. Does not matter which side, just connect black to black and red to red.
|
|
2. Plug the charger power cord into the charger and then into a wall receptacle.
|
|
2. Plug the charger power cord into the charger and then into a wall receptacle.
|
... | @@ -177,13 +177,13 @@ The Husky A200 is shipped with a pre-configured network interface. It is hosting |
... | @@ -177,13 +177,13 @@ The Husky A200 is shipped with a pre-configured network interface. It is hosting |
|
It uses the `192.168.131.x/24` subnet and the Husky itself is available on `192.168.131.1`. The username is `administrator` and the password is `clearpath`.
|
|
It uses the `192.168.131.x/24` subnet and the Husky itself is available on `192.168.131.1`. The username is `administrator` and the password is `clearpath`.
|
|
The Wi-Fi SSID is `HuskyLAN` and has password `Husky123`.
|
|
The Wi-Fi SSID is `HuskyLAN` and has password `Husky123`.
|
|
|
|
|
|
To connect to the Husky's network you can either connect to the Wi-Fi access point or connect an Ethernet cable to available ethernet switch in the hatch.
|
|
To connect to the Husky's network you can either connect to the Wi-Fi access point or connect an Ethernet cable to the available ethernet switch in the hatch.
|
|
|
|
|
|

|
|

|
|
|
|
|
|
### Internet access
|
|
### Internet access
|
|
By default the Husky has no internet access. On the USB-hub a secondary Wi-Fi adapter is plugged in. You can connect this one to a internet-able network.
|
|
By default, the Husky has no internet access. On the USB-hub a secondary Wi-Fi adapter is plugged in. You can connect this one to an internet-able network.
|
|
You can use the command `sudo nmtui` from the terminal to connect. If it does not work, try rebooting as this offen helps.
|
|
You can use the command `sudo nmtui` from the terminal to connect. If it does not work, try rebooting as this often helps.
|
|
|
|
|
|
If using the University network (`uawifi`) with your personal account,
|
|
If using the University network (`uawifi`) with your personal account,
|
|
you must first update the file `/etc/NetworkManager/system-connections/uawifi`
|
|
you must first update the file `/etc/NetworkManager/system-connections/uawifi`
|
... | @@ -271,7 +271,7 @@ You can use `rosnode list` to see all the nodes running by default on a Husky co |
... | @@ -271,7 +271,7 @@ You can use `rosnode list` to see all the nodes running by default on a Husky co |
|
You can view all topics that are active using `rostopic list`. The most important topics are summarized in table below.
|
|
You can view all topics that are active using `rostopic list`. The most important topics are summarized in table below.
|
|
|
|
|
|
| Topic | Message type | Description |
|
|
| Topic | Message type | Description |
|
|
|-----------------------|------------------------|-------------------------------------------------------------------------------------------------------------------------------|
|
|
|-------------------------|--------------------------|------------------------------------------------------------------------------------------------------------------------------------|
|
|
| `/bluetooth_teleop/joy` | `sensor_msgs/Joy` | Receives joystick commands, echo this topic to verify your controller is publishing |
|
|
| `/bluetooth_teleop/joy` | `sensor_msgs/Joy` | Receives joystick commands, echo this topic to verify your controller is publishing |
|
|
| `/tf` | `tf2_msgs/TFMessage` | Transforms between coordinate frames, this should always be publishing, and hence a good topic to echo to test your ROS connection |
|
|
| `/tf` | `tf2_msgs/TFMessage` | Transforms between coordinate frames, this should always be publishing, and hence a good topic to echo to test your ROS connection |
|
|
| `/status` | `husky_msgs/HuskyStatus` | Displays system status information |
|
|
| `/status` | `husky_msgs/HuskyStatus` | Displays system status information |
|
... | @@ -286,7 +286,7 @@ You can add custom motion topics and configure the priorities in the `/opt/ros/k |
... | @@ -286,7 +286,7 @@ You can add custom motion topics and configure the priorities in the `/opt/ros/k |
|
it also takes into account the `/estop` topic listed in the table above as absolute priority.
|
|
it also takes into account the `/estop` topic listed in the table above as absolute priority.
|
|
|
|
|
|
| Motion Topics | twist_mux Priority | Description |
|
|
| Motion Topics | twist_mux Priority | Description |
|
|
|------------------------------------|--------------------|------------------------------------------------------------------|
|
|
|--------------------------------|--------------------|--------------------------------------------------------------|
|
|
| `/joy_teleop/cmd_vel` | 10 | Joystick teleop input |
|
|
| `/joy_teleop/cmd_vel` | 10 | Joystick teleop input |
|
|
| `/twist_marker_server/cmd_vel` | 8 | Interactive marker teleop input |
|
|
| `/twist_marker_server/cmd_vel` | 8 | Interactive marker teleop input |
|
|
| `/move_base/cmd_vel` | 2 | Autonomous movement input, for the Husky navigation packages |
|
|
| `/move_base/cmd_vel` | 2 | Autonomous movement input, for the Husky navigation packages |
|
... | @@ -297,7 +297,7 @@ it also takes into account the `/estop` topic listed in the table above as absol |
... | @@ -297,7 +297,7 @@ it also takes into account the `/estop` topic listed in the table above as absol |
|
Husky publishes odometry information on the `odometry/filtered` topic, as `nav_msgs/Odometry` messages. These are generated by `ekf_localization_node`, which processes data from several sensor sources using an Extended Kalman filter (EKF). This includes data from the wheel encoders.
|
|
Husky publishes odometry information on the `odometry/filtered` topic, as `nav_msgs/Odometry` messages. These are generated by `ekf_localization_node`, which processes data from several sensor sources using an Extended Kalman filter (EKF). This includes data from the wheel encoders.
|
|
|
|
|
|
| Topic | Sources |
|
|
| Topic | Sources |
|
|
|--------------------------------|-----------------------|
|
|
|----------------------------------|-------------------------|
|
|
| `husky_velocity_controller/odom` | `husky_node` |
|
|
| `husky_velocity_controller/odom` | `husky_node` |
|
|
| `imu/data` | `imu_filter_madgwick` |
|
|
| `imu/data` | `imu_filter_madgwick` |
|
|
| `odometry/filtered` | `ekf_localization_node` |
|
|
| `odometry/filtered` | `ekf_localization_node` |
|
... | @@ -317,7 +317,7 @@ catkin_make --cmake-args -DCMAKE_BUILD_TYPE=Release |
... | @@ -317,7 +317,7 @@ catkin_make --cmake-args -DCMAKE_BUILD_TYPE=Release |
|
```
|
|
```
|
|
|
|
|
|
### ROS Husky packages
|
|
### ROS Husky packages
|
|
If you want to use ROS on your own computer and have the Husky packages available so you can interact better with the husky,
|
|
If you want to use ROS on your own computer and have the Husky packages available, so you can interact better with the husky,
|
|
you can install them with:
|
|
you can install them with:
|
|
```bash
|
|
```bash
|
|
sudo apt-get install ros-kinetic-husky-desktop
|
|
sudo apt-get install ros-kinetic-husky-desktop
|
... | @@ -329,7 +329,7 @@ roslaunch husky_viz view_robot.launch |
... | @@ -329,7 +329,7 @@ roslaunch husky_viz view_robot.launch |
|
|
|
|
|
### Navigation with ROS
|
|
### Navigation with ROS
|
|
|
|
|
|
There are two ways to navigate the Husky with ROS outside of using the controller.
|
|
There are two ways to navigate the Husky with ROS outside using the controller.
|
|
|
|
|
|
- Using an RViz instance (like started with `roslaunch husky_viz view_robot.launch`). If you select the Interact option in the top toolbar, an interactive marker will appear around the Husky and can be used to control speed.
|
|
- Using an RViz instance (like started with `roslaunch husky_viz view_robot.launch`). If you select the Interact option in the top toolbar, an interactive marker will appear around the Husky and can be used to control speed.
|
|
- The [`rqt_robot_steering`](http://wiki.ros.org/rqt_robot_steering) plugin. Run the `rqt` command, and select `Plugins→Robot Tools→Robot Steering` from the top menu.
|
|
- The [`rqt_robot_steering`](http://wiki.ros.org/rqt_robot_steering) plugin. Run the `rqt` command, and select `Plugins→Robot Tools→Robot Steering` from the top menu.
|
... | | ... | |