... | ... | @@ -16,7 +16,7 @@ This guide was updated last on 2023-02-23. |
|
|
- [Using the controller](#using-the-controller)
|
|
|
- [Orientation reference](#orientation-reference)
|
|
|
- [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 basics](#network-basics)
|
|
|
- [Internet access](#internet-access)
|
... | ... | @@ -30,7 +30,7 @@ This guide was updated last on 2023-02-23. |
|
|
- [Default topics](#default-topics)
|
|
|
- [Motion topics](#motion-topics)
|
|
|
- [Odometry topics](#odometry-topics)
|
|
|
- [Diagnostic topics](#diagnostic-topics)
|
|
|
- [Diagnostics topics](#diagnostics-topics)
|
|
|
- [Custom workspace](#custom-workspace)
|
|
|
- [ROS Husky packages](#ros-husky-packages)
|
|
|
- [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 |
|
|
</thead>
|
|
|
<tbody>
|
|
|
<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>
|
|
|
</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>
|
|
|
</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>
|
|
|
</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>
|
|
|
</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>
|
|
|
</tr>
|
|
|
</tbody>
|
... | ... | @@ -97,7 +97,7 @@ The `STOP` status light will be red if the Stop button is pressed. If the Stop b |
|
|
|
|
|
### 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
|
... | ... | @@ -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 |
|
|
|
| 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 |
|
|
|
|
|
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.
|
|
|
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 |
|
|
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`.
|
|
|
|
|
|
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
|
|
|
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.
|
|
|
You can use the command `sudo nmtui` from the terminal to connect. If it does not work, try rebooting as this offen helps.
|
|
|
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 often helps.
|
|
|
|
|
|
If using the University network (`uawifi`) with your personal account,
|
|
|
you must first update the file `/etc/NetworkManager/system-connections/uawifi`
|
... | ... | @@ -270,13 +270,13 @@ You can use `rosnode list` to see all the nodes running by default on a Husky co |
|
|
### Default topics
|
|
|
You can view all topics that are active using `rostopic list`. The most important topics are summarized in table below.
|
|
|
|
|
|
| Topic | Message type | Description |
|
|
|
|-----------------------|------------------------|-------------------------------------------------------------------------------------------------------------------------------|
|
|
|
| `/bluetooth_teleop/joy` | `sensor_msgs/Joy` | Receives joystick commands, echo this topic to verify your controller is publishing |
|
|
|
| Topic | Message type | Description |
|
|
|
|-------------------------|--------------------------|------------------------------------------------------------------------------------------------------------------------------------|
|
|
|
| `/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 |
|
|
|
| `/status` | `husky_msgs/HuskyStatus` | Displays system status information |
|
|
|
| `/estop` | `std_msgs/Bool` | Displays the estop status |
|
|
|
| `/odometry/filtered` | `nav_msgs/Odometry` | The odometry estimate of the robot from `/ekf_localization` |
|
|
|
| `/status` | `husky_msgs/HuskyStatus` | Displays system status information |
|
|
|
| `/estop` | `std_msgs/Bool` | Displays the estop status |
|
|
|
| `/odometry/filtered` | `nav_msgs/Odometry` | The odometry estimate of the robot from `/ekf_localization` |
|
|
|
|
|
|
### Motion topics
|
|
|
The `/twist_mux` node is responsible for taking in velocity commands from multiple sources and prioritizing them.
|
... | ... | @@ -285,19 +285,19 @@ See the table below for the default motion topics used by twist mux and their pr |
|
|
You can add custom motion topics and configure the priorities in the `/opt/ros/kinetic/share/husky_control/config/twist_mux.yaml` file on the Husky.
|
|
|
it also takes into account the `/estop` topic listed in the table above as absolute priority.
|
|
|
|
|
|
| Motion Topics | twist_mux Priority | Description |
|
|
|
|------------------------------------|--------------------|------------------------------------------------------------------|
|
|
|
| `/joy_teleop/cmd_vel` | 10 | Joystick 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 |
|
|
|
| `/cmd_vel` | 1 | Miscellaneous external input |
|
|
|
| Motion Topics | twist_mux Priority | Description |
|
|
|
|--------------------------------|--------------------|--------------------------------------------------------------|
|
|
|
| `/joy_teleop/cmd_vel` | 10 | Joystick 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 |
|
|
|
| `/cmd_vel` | 1 | Miscellaneous external input |
|
|
|
|
|
|
|
|
|
### Odometry topics
|
|
|
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` |
|
|
|
| `imu/data` | `imu_filter_madgwick` |
|
|
|
| `odometry/filtered` | `ekf_localization_node` |
|
... | ... | @@ -317,7 +317,7 @@ catkin_make --cmake-args -DCMAKE_BUILD_TYPE=Release |
|
|
```
|
|
|
|
|
|
### 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:
|
|
|
```bash
|
|
|
sudo apt-get install ros-kinetic-husky-desktop
|
... | ... | @@ -329,7 +329,7 @@ roslaunch husky_viz view_robot.launch |
|
|
|
|
|
### 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.
|
|
|
- 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.
|
... | ... | |