Skip to content

Commit

Permalink
Address comments, split each sentence into its own line
Browse files Browse the repository at this point in the history
  • Loading branch information
jimmy-mcelwain committed Jan 27, 2025
1 parent 7dafa82 commit 0b38638
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 12 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ The following sections document how to download, install, configure, use and tro
- [Example INFORM jobs](#example-inform-jobs)
- [Understanding the micro-ROS Agent](#understanding-the-micro-ros-agent)
- [Configuration](#configuration)
- [Network Configuration](#network-configuration)
- [Network Configuration](doc/network-configuration.md)
- [Configuration File](#configuration-file)
- [Verifying YAML correctness](#verifying-yaml-correctness)
- [Updating the configuration](#updating-the-configuration)
Expand Down
20 changes: 13 additions & 7 deletions doc/network_configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ SPDX-License-Identifier: CC-BY-SA-4.0

# Network Configuration

You will need to use a LAN cable to allow the robot controller to communicate with the PC running the [micro-ROS Agent](../README.md#the-micro-ros-agent).
You will need to use a LAN cable to allow the robot controller to communicate with the PC running the [micro-ROS Agent](../README.md#understanding-the-micro-ros-agent).

- On DX200 and YRC1000micro, this will connect to the `LAN` port.
- On the YRC1000, you may choose to connect this to either the `LAN2` port or the `LAN3` port
Expand All @@ -23,7 +23,8 @@ More complicated configurations are common, but is recommended to have a direct
1. upgrade to *MANAGEMENT* security level by touching `[System Info]``[Security]` (default password is all `9`'s)
1. touch `[System Info]``[Setup]` and select `OPTION FUNCTION`
1. move to `LAN INTERFACE SETTING`
1. make sure `IP ADDRESS SETTING(LAN[X])` for the port you are using is set to `MANUAL SETTING`. If it not, make sure that `DNS SETTING` and `SNTP SETTING` are not set to `DHCP SETTING` for the NIC you are using (change them if you need to), and then set `IP ADDRESS SETTING` to `MANUAL SETTING`
1. make sure `IP ADDRESS SETTING(LAN[X])` for the port you are using is set to `MANUAL SETTING`.
If it is not, make sure that `DNS SETTING` and `SNTP SETTING` are not set to `DHCP SETTING` for the NIC you are using (change them if you need to), and then set `IP ADDRESS SETTING` to `MANUAL SETTING`
1. hit `{ENTER}` on the pendant keypad and touch `[OK]`

### DX200
Expand All @@ -32,15 +33,19 @@ More complicated configurations are common, but is recommended to have a direct
1. upgrade to *MANAGEMENT* security level by touching `[System Info]``[Security]` (default password is all `9`'s)
1. touch `[System Info]``[Setup]` and select `OPTION FUNCTION`
1. move to `NETWORK SETTING` and then to `HOST SETUP`
1. make sure that `IP ADDRESS SETTING` is set to `MANUAL SETTING`. If it is not, make sure that `DNS SETTING` and `SNTP SETTING` are not set to `DHCP SETTING` (change them if you need to), and then set `IP ADDRESS SETTING` to `MANUAL SETTING`
1. make sure that `IP ADDRESS SETTING` is set to `MANUAL SETTING`.
If it is not, make sure that `DNS SETTING` and `SNTP SETTING` are not set to `DHCP SETTING` (change them if you need to), and then set `IP ADDRESS SETTING` to `MANUAL SETTING`
1. hit `{ENTER}` on the pendant keypad and touch `[OK]`

## Get controller and PC on same subnet

If the controller and PC are not on the same subnet, choose one of the following options:

- Modify the `agent_ip_address` key in the `motoros2_config.yaml` file and specify an IP address that is on the robot's subnet. See [here](../README.md#configuration-file) for informationa about the config file. Then [propagate the changes to the Yaskawa controller](../README.md#updating-the-configuration). You will need to ensure that the PC running the micro-ROS agent application uses this static IP address on the network port connected to the robot controller.
- Modify the robot controller's IP and subnet mask so it is on the subnet of the PC running the micro-ROS agent.
- Modify the `agent_ip_address` key in the `motoros2_config.yaml` file and specify an IP address that is on the robot's subnet.
See [here](../README.md#configuration-file) for information about the config file.
Then [propagate the changes to the Yaskawa controller](../README.md#updating-the-configuration).
You will need to ensure that the PC running the micro-ROS agent application uses this static IP address on the network port connected to the robot controller.
-Modify the robot controller's IP and subnet mask so it is on the subnet of the PC running the micro-ROS agent.
- Modify the robot controller's network settings to add a gateway which can reach the IP address of the subnet of the PC running the micro-ROS agent.

## Network issues
Expand All @@ -49,7 +54,7 @@ If you are unable to connect the PC running the micro-ROS agent application and
Network problems can sometimes be the root of seemingly unrelated problems, such as rcl/rclc errors.

To troubleshoot network issues, first ensure that the robot controller's IP address is `MANUAL SETTING`.
It is important that it is [not using DHCP](#network-configuration).
It is important that it is not using DHCP.

If that is not the problem, check that the `agent_ip_address` in the yaml configuration matches the IP address of the PC.
Also make sure that the [robot controller IP address is on the same subnet as the PC](#get-controller-and-pc-on-same-subnet).
Expand Down Expand Up @@ -98,7 +103,8 @@ There are many ways to fix the issue if it is a firewall.
You could create firewall rules that specifically permit the connection with higher priority than the rules that deny communication.
For example, if the rules from the following set of commands are given high priority, they will allow for UDP connection for host PC IP address `192.168.1.15` and controller IP address `192.168.1.31` on port `8888` for ROS2 communication and on port `21789` for debug communication.

Note that this an extremely narrow set of rules that would permit communication. Much more concise rules could be applied.
Note that this an extremely narrow set of rules that would permit communication.
Much more concise rules could be applied.

```shell
sudo ufw allow out from 192.168.1.15 to 192.168.1.31 proto udp
Expand Down
13 changes: 9 additions & 4 deletions doc/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -515,7 +515,8 @@ ALARM 8011
*Solution:*
The `agent_ip_address` key in the `motoros2_config.yaml` configuration file is an address that is not reachable by the robot controller.

Ensure that the robot controller's IP address is not assigned using DHCP and that the controller and the PC are on the same subnet. [See here](network_configuration.md#network-configuration).
Ensure that the robot controller's IP address is not assigned using DHCP and that the controller and the PC are on the same subnet.
[See here](network_configuration.md#network-configuration).

### Alarm: 8011[19]

Expand Down Expand Up @@ -678,7 +679,8 @@ Where `x` is either `1` or `2`.
*Solution:*
This problem is often caused by the `agent_ip_address` key in the `motoros2_config.yaml` configuration file set to an address that is not reachable by the robot controller.

Ensure that the robot controller's IP address is not assigned using DHCP and that the controller and the PC are on the same subnet. [See here](network_configuration.md#network-configuration).
Ensure that the robot controller's IP address is not assigned using DHCP and that the controller and the PC are on the same subnet.
[See here](network_configuration.md#network-configuration).

### Alarm: 8011[60 - 62]

Expand Down Expand Up @@ -965,7 +967,9 @@ If the alarm is raised again, and if auto-detection is not needed or desired, ma

On YRC1000, set it to either `USER_LAN1` or `USER_LAN2`, depending on which LAN port is used to connect the controller to the PC running the micro-ROS Agent application.

If auto-detection is to be used, verify `agent_ip_address` is set to an IP that can be reached by MotoROS2 over the LAN port which is connected to the PC running the micro-ROS Agent application (either directly, or via a default gateway configured on the controller). Also, make sure that on the robot controller, the `IP ADDRESS SETTING(LAN[X])` for the LAN port being used is set to `MANUAL SETTING`. [See here](../README.md#checking-network-configuration).
If auto-detection is to be used, verify `agent_ip_address` is set to an IP that can be reached by MotoROS2 over the LAN port which is connected to the PC running the micro-ROS Agent application (either directly, or via a default gateway configured on the controller).
Also, make sure that on the robot controller, the `IP ADDRESS SETTING(LAN[X])` for the LAN port being used is set to `MANUAL SETTING`.
[See here](../README.md#checking-network-configuration).

After correcting the configuration, the [changes will need to be propagated to the Yaskawa controller](../README.md#updating-the-configuration).

Expand Down Expand Up @@ -1189,7 +1193,8 @@ The actual `rcl` return value is given in the text of the alarm (represented by
Info about the return value indicating an error can be found [here](https://docs.ros2.org/latest/api/rcl/types_8h_source.html).
Some problems are user-serviceable based on the diagnoses, and others are indicative of an error within MotoROS2.
Please reference the troubleshooting steps of the secondary alarm code for more information.
If the the secondary alarm code is not helpful, then consider checking for faults in the [network connection](network_configuration.md#network-issues) between the PC and the robot controller. If the connection is not stable, `rcl` and `rclc` may return an error.
If the the secondary alarm code is not helpful, then consider checking for faults in the [network connection](network_configuration.md#network-issues) between the PC and the robot controller.
If the connection is not stable, `rcl` and `rclc` may return an error.

If the behavior persists, save a copy of the output of the [debug-listener script](#debug-log-client) and the `PANELBOX.LOG` from the robot's teach pendant.
Open a new issue on the [Issue tracker](https://github.com/yaskawa-global/motoros2/issues).
Expand Down

0 comments on commit 0b38638

Please sign in to comment.