diff --git a/source/index.rst b/source/index.rst index f85f4b7..2e0d525 100644 --- a/source/index.rst +++ b/source/index.rst @@ -33,6 +33,13 @@ This website provides instructions and tutorials on the setup and software devel ------------------------------------------------ +.. toctree:: + :maxdepth: 2 + + /wr_dev_kit/wr_dev_kit + +------------------------------------------------ + .. toctree:: :maxdepth: 2 diff --git a/source/periph_user_guide/periph_user_guide.rst b/source/periph_user_guide/periph_user_guide.rst index 57bca6c..ae77a5b 100644 --- a/source/periph_user_guide/periph_user_guide.rst +++ b/source/periph_user_guide/periph_user_guide.rst @@ -15,4 +15,5 @@ Here you can find user guides giving detailed information about a specific perip /periph_user_guide/westonrobot/uwb_iot_v2 /periph_user_guide/westonrobot/roger_robot_hand /periph_user_guide/westonrobot/xnergy_wireless_charger + /periph_user_guide/westonrobot/onboard_computers diff --git a/source/periph_user_guide/westonrobot/onboard_computers.rst b/source/periph_user_guide/westonrobot/onboard_computers.rst new file mode 100644 index 0000000..1ef934c --- /dev/null +++ b/source/periph_user_guide/westonrobot/onboard_computers.rst @@ -0,0 +1,17 @@ +***************** +Onboard Computers +***************** + +We provide a few options for onboard computers. The following pages introduce the key specifications and software configurations of each option. + +CM4-based Onboard Computer +========================== + +To be added. + +:ref:`NanoPC-based Onboard Computer ` +=================================== + +.. image:: /wr_dev_kit/ugv_dev_kit/figures/nanopc.jpg + :width: 450 px + diff --git a/source/periph_user_guide/westonrobot/onboard_computers/cm4_based_onboard_computer.rst b/source/periph_user_guide/westonrobot/onboard_computers/cm4_based_onboard_computer.rst new file mode 100644 index 0000000..ccced04 --- /dev/null +++ b/source/periph_user_guide/westonrobot/onboard_computers/cm4_based_onboard_computer.rst @@ -0,0 +1,3 @@ +************************** +CM4-based Onboard Computer +************************** \ No newline at end of file diff --git a/source/periph_user_guide/westonrobot/onboard_computers/nanopc_based_onboard_computer.rst b/source/periph_user_guide/westonrobot/onboard_computers/nanopc_based_onboard_computer.rst new file mode 100644 index 0000000..5a5b401 --- /dev/null +++ b/source/periph_user_guide/westonrobot/onboard_computers/nanopc_based_onboard_computer.rst @@ -0,0 +1,99 @@ +.. _ref_nanopc_based_onboard_computer: + +***************************** +NanoPC-based Onboard Computer +***************************** + +Revision History +================ + ++----------+-------------------+-------------+------------------------------------------------------+ +| Revision | Date (DD/MM/YYYY) | Author | Changes | ++==========+===================+=============+======================================================+ +| 1 | 18/4/2024 | Ruixiang Du | Initial release | ++----------+-------------------+-------------+------------------------------------------------------+ + +NanoPC-based Onboard Computer +============================= + +This onboard computer is based on NanoPC-T6. We extended the board with industrial ports for easy and reliable interfacing with commonly used sensors and robot bases. Drivers to the ports are pre-configured under Ubuntu 22.04. + +.. image:: /wr_dev_kit/ugv_dev_kit/figures/nanopc.jpg + :width: 450 px + +Key Specifications +------------------ + +* **SoC: Rockchip RK3588** +* **RAM: 64-bit 8GB/16GB LPDDR4X at 2133MHz** +* **Flash: 128GB/256GB eMMC** +* **MicroSD**: support up to SDR104 mode (microSD card not included) +* **Ethernet**: 2x PCIe 2.5G Ethernet +* **USB-A**: 1x USB 3.0 Type-A +* **USB-C**: 1x Full function USB Type‑C port, support DP display up to 4Kp60, USB 3.0 +* **Video**: 1x Standard HDMI input port, up to 4Kp60, 2x Standard HDMI output ports +* **Audio** 1x 3.5mm jack for stereo headphone output, 1x 2.0mm PH-2A connector for analog microphone input +* **Industrial ports** + * 3x CAN interfaces (with transceivers) + * 2x RS485 interfaces + * 2x RS232 interfaces +* **Active Cooling**: 1x 5V Fan +* **Power supply**: 5.5*2.1mm DC Jack, 5V~20V, 12V is recommended. +* **Ambient Operating Temperature**: 0℃ to 70℃ +* **OS**: Ubuntu 22.04 (Linux kernel 5.10) + +You can find more information about the NanoPC-T6 base board (not including the extensions made by Weston Robot) from its official `wiki page `_. + +Industrial Ports +---------------- + +.. image:: /wr_dev_kit/ugv_dev_kit/figures/nanopc_industrial_ports.png + :width: 450 px + +You can follow the silk screen on the board to connect your devices to the industrial ports. + +The RS232 and RS485 ports can be access at: + +* RS232-1: ``/dev/ttyS0`` +* RS232-2: ``/dev/ttyS7`` +* RS485-1: ``/dev/ttyS6`` +* RS485-2: ``/dev/ttyS4`` + +You need to bring up the CAN interfaces before you can access them. Here is an example to bring up the CAN0 interface (you may adjust the bitrate according to your CAN devices): + +.. code-block:: bash + + $ sudo ip link set can0 up type can bitrate 500000 + $ sudo ip link set can0 txqueuelen 1000 + +You can also add the following configuration to ``/etc/network/interfaces`` to make the CAN interface persistent: + +.. code-block:: bash + + auto can0 + iface can0 inet manual + pre-up /sbin/ip link set can0 type can bitrate 500000 + up /sbin/ifconfig can0 up + post-up /sbin/ip link set can0 txqueuelen 10000 + down /sbin/ifconfig can0 down + + auto can1 + iface can1 inet manual + pre-up /sbin/ip link set can1 type can bitrate 500000 + up /sbin/ifconfig can1 up + post-up /sbin/ip link set can1 txqueuelen 10000 + down /sbin/ifconfig can1 down + + auto can2 + iface can2 inet manual + pre-up /sbin/ip link set can2 type can bitrate 500000 + up /sbin/ifconfig can2 up + post-up /sbin/ip link set can2 txqueuelen 10000 + down /sbin/ifconfig can2 down + +.. note:: + You may toggle the dip switches to enable the termination resistors for the CAN and RS485 interfaces. The termination resistors are disabled by default. + +.. warning:: + Please note that the 5V output is limited by a resettable fuse rated at **300mA**. So please make sure the total current consumption of all devices connected to the 5V outputs does not exceed 300mA. + diff --git a/source/robot_user_guide/robot_user_guide.rst b/source/robot_user_guide/robot_user_guide.rst index 51b3c3b..3240653 100644 --- a/source/robot_user_guide/robot_user_guide.rst +++ b/source/robot_user_guide/robot_user_guide.rst @@ -14,7 +14,6 @@ Here you can find user guides giving detailed information about a specific robot /robot_user_guide/ugv /robot_user_guide/quadruped /robot_user_guide/manipulators - /robot_user_guide/wr_dev_kit diff --git a/source/robot_user_guide/wr_dev_kit.rst b/source/robot_user_guide/wr_dev_kit.rst deleted file mode 100644 index 2d6a365..0000000 --- a/source/robot_user_guide/wr_dev_kit.rst +++ /dev/null @@ -1,10 +0,0 @@ -****************** -WR Development Kit -****************** - -.. toctree:: - :maxdepth: 1 - - /robot_user_guide/westonrobot/dev_kit_base - /robot_user_guide/westonrobot/dev_kit_mid360 -.. /robot_user_guide/westonrobot/dev_kit_ultrasonic \ No newline at end of file diff --git a/source/robot_user_guide/westonrobot/dev_kit_base.rst b/source/wr_dev_kit/ugv_dev_kit/dev_kit_base.rst similarity index 100% rename from source/robot_user_guide/westonrobot/dev_kit_base.rst rename to source/wr_dev_kit/ugv_dev_kit/dev_kit_base.rst diff --git a/source/robot_user_guide/westonrobot/dev_kit_mid360.rst b/source/wr_dev_kit/ugv_dev_kit/dev_kit_mid360.rst similarity index 100% rename from source/robot_user_guide/westonrobot/dev_kit_mid360.rst rename to source/wr_dev_kit/ugv_dev_kit/dev_kit_mid360.rst diff --git a/source/robot_user_guide/westonrobot/dev_kit_ultrasonic.rst b/source/wr_dev_kit/ugv_dev_kit/dev_kit_ultrasonic.rst similarity index 100% rename from source/robot_user_guide/westonrobot/dev_kit_ultrasonic.rst rename to source/wr_dev_kit/ugv_dev_kit/dev_kit_ultrasonic.rst diff --git a/source/wr_dev_kit/ugv_dev_kit/figures/nanopc.jpg b/source/wr_dev_kit/ugv_dev_kit/figures/nanopc.jpg new file mode 100644 index 0000000..a41b813 Binary files /dev/null and b/source/wr_dev_kit/ugv_dev_kit/figures/nanopc.jpg differ diff --git a/source/wr_dev_kit/ugv_dev_kit/figures/nanopc_industrial_ports.png b/source/wr_dev_kit/ugv_dev_kit/figures/nanopc_industrial_ports.png new file mode 100644 index 0000000..4379d05 Binary files /dev/null and b/source/wr_dev_kit/ugv_dev_kit/figures/nanopc_industrial_ports.png differ diff --git a/source/wr_dev_kit/ugv_dev_kit/figures/ugv_dev_kit_overview.jpg b/source/wr_dev_kit/ugv_dev_kit/figures/ugv_dev_kit_overview.jpg new file mode 100644 index 0000000..74ee616 Binary files /dev/null and b/source/wr_dev_kit/ugv_dev_kit/figures/ugv_dev_kit_overview.jpg differ diff --git a/source/wr_dev_kit/ugv_dev_kit_v1.rst b/source/wr_dev_kit/ugv_dev_kit_v1.rst new file mode 100644 index 0000000..88b79df --- /dev/null +++ b/source/wr_dev_kit/ugv_dev_kit_v1.rst @@ -0,0 +1,69 @@ +************************ +UGV Development Kit V1.0 +************************ + +Revision History +================ + ++----------+-------------------+-------------+------------------------+ +| Revision | Date (DD/MM/YYYY) | Author | Changes | ++==========+===================+=============+========================+ +| 1 | 18/04/2024 | WR Dev Team | Initial release | ++----------+-------------------+-------------+------------------------+ + +1. Overview +=========== + +The UGV development kit, together with a robot base, provide a powerful yet flexible mobile robot hardware platform for research and fast prototyping. The kit is designed to be compatible with a wide range of robot bases. Additional components can be easily added on top of the base frame according to application-specific requirements. The platform can be used to implement a wide range of applications, such as autonomous navigation, mapping, and object detection. + +.. image:: ugv_dev_kit/figures/ugv_dev_kit_overview.jpg + :width: 650 px + +This **base configuration** of the development kit consists of the following pre-configured components: + +* :ref:`NanoPC-based Onboard Computer ` +* :doc:`Weston Robot Power Regulator V2.X ` +* Industrial 5G Router + +The following **extension modules** are available to be added to the base configuration: + +* Livox Mid-360 Lidar + IMU + +2. Software Configuration +========================= + +Network +------- + +The router is pre-configured to use the IP range 10.10.0.0/24. + +The IP addresses are assigned as follows: + ++---------------------+----------------------------+ +| Device Type | IP Range | ++=====================+============================+ +| onboard computers | 10.10.0.10-10.10.0.20/24 | ++---------------------+----------------------------+ +| navigation sensors | 10.10.0.30-10.10.0.40/24 | ++---------------------+----------------------------+ +| application sensors | 10.10.0.100-10.10.0.120/24 | ++---------------------+----------------------------+ + +It's recommended but not mandatory to follow the above IP assignment rules. You can change the IP addresses according to your requirements. We follow this convention to configure the development kit by default. Please refer to the delivery note for the actual IP assignment on your robot. + +Software Setup +-------------- + +The UGV development kit is pre-installed with the following software stacks: + +* ROS2 driver for the robot base and sensors +* `LIO-SAM 3D Mapping Sample Setup `_ +* `ROS2 Navigation Sample Setup `_ + +.. note:: + 1. The ROS drivers are only for components that are part of the base configuration or extension modules supported by Weston Robot. + 2. The open-source mapping and navigation stacks are pre-installed **for demonstration purposes and are provided as is**. You can modify the software stack according to your requirements. + +3. Hardware Configuration +========================== + diff --git a/source/wr_dev_kit/wr_dev_kit.rst b/source/wr_dev_kit/wr_dev_kit.rst new file mode 100644 index 0000000..e75e44b --- /dev/null +++ b/source/wr_dev_kit/wr_dev_kit.rst @@ -0,0 +1,10 @@ +****************** +WR Development Kit +****************** + +Weston Robot provides a series of development platforms that are designed to help users to quickly build their own robot applications. The development kits are designed to be easy to use and flexible to adapt to different applications. + +.. toctree:: + :maxdepth: 1 + + /wr_dev_kit/ugv_dev_kit_v1 \ No newline at end of file