Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 2 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,6 @@ The architecture consists of physical devices: the PC with ROS 2 high-level appl

# Compatibility

### Robot Controller compatibility

| Robot Controller | `b»controlled box` v3.5.8 | `b»controlled box` v3.5.9 |
| :--------------------------- | :-----------------------: | :-----------------------: |
| **KUKA** | | |
|    KRC4 (RSI) | 🔬 | ✅ |
|    KRC5 (RSI) | 🔬 | ✅ |
|    EKI | ❌ | 🚧 |
| **Universal Robots** | ✅ | 🔬 |
| **Yaskawa** | ❌ | 🚧 |

#### Legend:
* **✅ Tested:** Fully tested and supported in production.
* **🔬 Preliminary:** In development; basic functionality is confirmed in the lab.
Expand All @@ -54,8 +43,7 @@ The architecture consists of physical devices: the PC with ROS 2 high-level appl

| `b»controlled box` | ROS 2 Version | `CtrlX RT SDK` |
| :------------------------- | :--------------------: | :---------------------: |
| **3.5.9 (Latest)** | Jazzy | 3.2 |
| **3.5.8** | Jazzy | 3.2 |
| **3.5.5 (Latest)** | Jazzy | 3.6.3 |



Expand All @@ -68,6 +56,7 @@ The process is divided into three main parts:
2. setting up the robot itself - refer to **manufacturer-specific instruction**
* [**KUKA**](docs/supported_robots/KUKA.md)
* [**UR**](docs/supported_robots/UR.md)
* [**Kassow**](docs/supported_robots/KASSOW.md)
3. setting up [**b»Controlled Box commissioning environment**](docs/SETUP_COMMMISSIONING.md)

## How It Works: A Typical Data Flow
Expand Down
Binary file added docs/assets/kassow/kassow_1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/kassow/kassow_2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/kassow/kassow_3.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
103 changes: 103 additions & 0 deletions docs/supported_robots/KASSOW.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Kassow Robot Setup

To controller Kassow robot with b»controlled box, you will need install KORD CBun v3.0.1.
You can download it from the [KORD CBun release page here](https://gitlab.com/kassowrobots/kord-api/-/wikis/Master-CBun), copy it on an USB stick and plug it in the robot controller.
For details on installing CBun refer to the Kassow official documenation - nevertheless the process is also self explainatory - so you might just try by yourself 😃

The rest of the manual assumes that you have setup your ctrlX CORE to the [standard setup for running b»controlled box App explained here](https://github.com/b-robotized/b_ctrldbox_commissioning/blob/docs/kassow_port_guide/docs/SETUP_CTRLX.md).

Connect the Kassow Controller to the ctrlX CORE on the the X12 (CORE X7) or X51 (CORE X3) interface directly via ethernet cable.

## Kassow Controller Setup

Setup the IP address of the robot controller to be visible from the ctrlX CORE on the X12 (CORE X7) or X51 (CORE X3) interface.
Recommended IP address is *10.23.23.238*.
To change it do the following:

1. Choose `Workcell` in the left or right sidebar menu.
2. Choose `ethnet` under `INTERFACES` section and then `Options` in the sidebar menu.
3. Select `Static IP` and set parameters:
`IP ADDRESS`: `10.23.23.238`
`NETMASK`: `255.255.255.0`
4. And confirm by pressing `Re- Activate` button.

**Now you have to be able to ping the robot from the ctrlX CORE.**
(see Troubleshooting section for details)

## Activating CBun

1. Press the 3 dot icon in the upper right corner and then `CBuns`
<p align="center">
<img src="../assets/kassow/kassow_1.jpg" alt="Description of image" width="60%">
</p>

2. When in CBuns tab choose the **right** `+` symbol to add CBun to the `Workcell`.

<p align="center">
<img src="../assets/kassow/kassow_2.jpg" alt="Description of image" width="60%">
</p>

3. Now select the CBun with the name `KORD` in the `Workcell` and press options in the left or right sidebar menu to see the settings and activation display of KORD CBun.
**Make sure to set the port of the CBun to the correct value as defined by the URDF. Default value is *28283*.**

<p align="center">
<img src="../assets/kassow/kassow_3.jpg" alt="Description of image" width="60%">
</p>

4. Activate the KORD.

## Controlling the robot from your ROS 2 computer

Make sure that you set the IP addresses and ROS 2 variables on your host computer as described in the [Commissioning PC Setup](../SETUP_COMMMISSIONING.md).

**THE KASSOW ROBOT IS NOT YET INTEGRATED IN THE COMMISSIONING CONTAINER - YOU WILL HAVE TO SETUP THE ROS 2 WORKSPACE LOCALLY AS DESCRIBED IN THE [kassow_kord_driver repository](https://github.com/b-robotized/kassow_kord_driver).**

### Controling the robot using b»controlled box

1. Download the b»controlled box Application for ctrlX CORE x7 from [here](https://cloud.b-robotized.com/s/sXbakM34YBDFP8g) and install it.
2. In your local workspace list the ROS 2 topics using `ros2 topic list` and you should see multiple `/b_controlled_box_cm/*` topics.
3. In one terminal output the `activity` topic of the controller manager to observe the internal states of the system:
```
ros2 topic echo /b_controlled_box_cm/activity
```
4. In another terminal publish the description for single robot application:
```
ros2 launch kassow_kord_bringup kassow_kord_description.launch.xml use_mock_hardware:=false ip_address:=10.23.23.238 port:=28283
```
**Make sure that the port and IP address are set correctly!**
5. In third terminal load the controllers and active the whole system. For this enter the `scripts` folder of the `kassow_kord_bringup` package.
```
rosd kassow_kord_bringup && cd scripts # if you are using RTW this command works
./activate_kassow_robot.bash
```
*As compoentns are getting activated you will see new output on the `activity` topic.*
6. Start path planning framework MoveIt2 and visualization software `rviz2` using:
```
ros2 launch kassow_kord_bringup kassow_kord_moveit.launch.xml
```
** IMPORTANT: b»controlled box currently support control only of one Kassow robot, as controlling multiple robots might lead to instabilities of the startup system. **


## Troubleshooting

#### Connection issues when trying to set the robot to `inactive` state.
Make sure that the IP addresses are set correctly and you can ping the robot.
To ping it choose `Setting` » `Network Diagnostics` » `Ping` on the ctrlX CORE and enter the address of the robot controller in the `Address` filed.

#### *I changed the IP address of the CtrlX device, now I don't see ROS topics anymore on my commissioning PC/container*
Restart the ctrlX CORE.

#### *I can ping the CtrlX from my workspace and back, but I see no ROS topics.*
Ensure your IP address is `192.168.28.202` or `192.168.28.201`. These are the IPs the ROS network from b»controlled box sees.
Ensure you have exported `ROS_STATIC_PEERS="192.168.28.28` in you workspace terminal, to ensure the ROS network from your workspace sees the nodes from b»controlled box.
Ensure that you have the `ROS_DOMAIN_ID=0`.

Try restarting ROS 2 daemon with the following commands:
```
ros2 daemon stop
ros2 daemon start
ros2 topic list
```

**For other cases check the troubleshooting in [`kord_kassow_driver` repository](https://github.com/b-robotized/kassow_kord_driver?tab=readme-ov-file#troubleshooting).**