Skip to content
Merged
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
4 changes: 4 additions & 0 deletions website/docs/api-reference/can/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"label": "CAN",
"position": 4,
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: CAN Library
sidebar_position: 4
sidebar_position: 1
---

import TOCInline from '@theme/TOCInline';
Expand All @@ -13,7 +13,7 @@ The [OpenArm CAN](https://github.com/enactic/openarm_can/) Library serves as the
It abstracts CAN bus communication via utilizing Linux's SocketCAN interface, providing an API for motor control and state monitoring. The library allows extensibility for various CAN devices beyond motors.

SocketCAN is Linux's implementation of the CAN (Controller Area Network) protocol stack, providing a socket-based interface for CAN communication.
For detailed setup instructions including CAN interface configuration, library build, and verification steps, see [Setup Guide](./setup/index.md).
For detailed setup instructions including CAN interface configuration, library build, and verification steps, see [Setup Guide](../setup/index.md).

## Table of Contents

Expand Down Expand Up @@ -87,7 +87,8 @@ The demo (`openarm_can/examples/demo.cpp`) demonstrates the complete OpenArm API

The first step involves creating the OpenArm instance and registering all motor devices with their corresponding CAN IDs and types.

:::warning Vector Length Consistency
:::warning
Vector Length Consistency
Ensure that `motor_types`, `send_can_ids`, and `recv_can_ids` vectors have the same length. Each motor requires exactly one entry in each vector at the corresponding index. Mismatched vector lengths can result in initialization errors or undefined behavior.
:::

Expand All @@ -113,7 +114,8 @@ This section demonstrates how to enable motors and query their internal paramete
Switch callback mode properly to parse the received frames.


:::warning Timeout Values
:::warning
Timeout Values
Use longer timeout values (1000-2000 microseconds) for slow operations like motor enabling and parameter queries. Fast control operations may use shorter timeouts (300-500 microseconds). Insufficient timeout values can result in missed responses and communication failures.
:::

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: OpenArm CAN CLI
sidebar_position: 4
sidebar_position: 2
---

# OpenArm CAN CLI Tool
Expand Down
2 changes: 1 addition & 1 deletion website/docs/api-reference/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ A C++ library for communicating with OpenArm motors through Linux's SocketCAN in
</TabItem>
<TabItem value="cli" label="CLI">

**[Learn more under CAN CLI →](cli)**
**[Learn more under CAN CLI →](can/cli)**

A command-line tool for configuring and monitoring DaMiao motors over CAN/CAN-FD interfaces. Supports motor discovery, parameter read/write, enable/disable, live telemetry, baudrate changes, and ID assignment.

Expand Down
9 changes: 6 additions & 3 deletions website/docs/api-reference/ros2/control.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ colcon build
source ~/ros2_ws/install/setup.bash
```

:::danger ⚠️ SAFETY REQUIREMENTS FOR HARDWARE OPERATION
:::danger
⚠️ SAFETY REQUIREMENTS FOR HARDWARE OPERATION

Before operating with real hardware, you MUST:

Expand All @@ -59,7 +60,8 @@ The [openarm_bringup](https://github.com/enactic/openarm_ros2/tree/main/openarm_

The bringup package supports both mock hardware (for simulation/testing) and real hardware through a hardware plugin. When using real hardware, you'll need to first install the `openarm_can` library by following the [CAN setup guide](../can).

:::warning Hardware Bridge Status
:::warning
Hardware Bridge Status
The hardware bridging components are currently being updated and may be unstable. The gripper bridging logic is particularly under active development.
:::

Expand Down Expand Up @@ -204,6 +206,7 @@ The default gain is set to a relatively low value for safety. As a result, the a
- Edit `assets/robot/openarm_v1.0/config/arm/control_gains.yaml`
- Rebuild by `colcon build`

:::danger ⚠️ GAIN TUNING SAFETY
:::danger
⚠️ GAIN TUNING SAFETY
Please adjust the gain with great care. **Start with a lower gain and verify the behavior first, then increase it gradually.** If you execute an action with a large position difference while using a high gain, some controllers may generate dangerously high velocities.
:::
2 changes: 1 addition & 1 deletion website/docs/api-reference/ros2/install.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ ROS 2 (Robot Operating System 2) is a modern, open-source framework for building

### Prerequisites

- Ubuntu ([Install Ubuntu →](../ubuntu/))
- Ubuntu

### Choose your ROS 2

Expand Down
2 changes: 1 addition & 1 deletion website/docs/api-reference/setup/2-can-setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ openarm-can-configure-socketcan-4-arms
openarm-can-configure-socketcan-4-arms -fd -b 1000000 -d 5000000
```

Alternatively, use `openarm-can-cli` to configure individual interfaces. For detailed usage, see [CAN CLI Reference ](../cli#can_configure--configure-can-interface).
Alternatively, use `openarm-can-cli` to configure individual interfaces. For detailed usage, see [CAN CLI Reference ](../can/cli#can_configure--configure-can-interface).

```bash
# CAN FD at 5Mbps (recommended)
Expand Down
4 changes: 2 additions & 2 deletions website/docs/api-reference/setup/4-motor-config.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Before changing the baudrate, make sure the CAN interface is configured to match
:::


For detailed usage, see [CAN CLI Reference change_baud](../cli#change_baud--change-motor-baudrate).
For detailed usage, see [CAN CLI Reference change_baud](../can/cli#change_baud--change-motor-baudrate).

```bash
# Set temporarily
Expand Down Expand Up @@ -112,7 +112,7 @@ openarm-can-cli -i can0 monitor --id 1,2,3

The output should display the motor's position, velocity, torque, and temperature in real-time.

For detailed usage, see [CAN CLI Reference monitor](../cli#monitor--live-telemetry-dashboard).
For detailed usage, see [CAN CLI Reference monitor](../can/cli#monitor--live-telemetry-dashboard).

:::warning
It is important to get the motor communication working before running the demo.
Expand Down
5 changes: 3 additions & 2 deletions website/docs/api-reference/setup/5-run-demo.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ Now that your basic communication is working, let's run the full OpenArm demo pr
More details for control can be found [here](../can).


:::danger ⚠️ READ BEFORE RUNNING DEMO ⚠️
:::danger
⚠️ READ BEFORE RUNNING DEMO ⚠️

- **ZERO POSITION**: Ensure you have set safe zero positions for all motors
- **EMERGENCY STOP**: Keep emergency stop button within immediate reach at ALL times
Expand Down Expand Up @@ -83,7 +84,7 @@ Gripper Motor: 8 position: 0.789

Before proceeding, ensure you have the required system:

- Linux with SocketCAN support ([Install Ubuntu →](../ubuntu/))
- Linux with SocketCAN support
- CMake 3.22+
- C++17 compiler

Expand Down
2 changes: 1 addition & 1 deletion website/docs/api-reference/setup/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ Make sure you have motors and communication devices at your hands.

- For motor control and further setup
- SocketCAN-compatible interface device
- Computer running Ubuntu 22.04/24.04 or other linux with SocketCAN support ([Install Ubuntu →](../ubuntu/))
- Computer running Ubuntu 22.04/24.04 or other linux with SocketCAN support
4 changes: 0 additions & 4 deletions website/docs/api-reference/ubuntu/_category_.json

This file was deleted.

152 changes: 0 additions & 152 deletions website/docs/api-reference/ubuntu/docker.mdx

This file was deleted.

50 changes: 0 additions & 50 deletions website/docs/api-reference/ubuntu/dual-boot.mdx

This file was deleted.

Loading