diff --git a/source/_static/images/software/software-ros2-logo.webp b/source/_static/images/software/software-ros2-logo.webp new file mode 100644 index 0000000..d9e873b Binary files /dev/null and b/source/_static/images/software/software-ros2-logo.webp differ diff --git a/source/_static/images/software/software-ros2-menu01.webp b/source/_static/images/software/software-ros2-menu01.webp new file mode 100644 index 0000000..6e51019 Binary files /dev/null and b/source/_static/images/software/software-ros2-menu01.webp differ diff --git a/source/_static/images/software/software-ros2-menu02.webp b/source/_static/images/software/software-ros2-menu02.webp new file mode 100644 index 0000000..2226b16 Binary files /dev/null and b/source/_static/images/software/software-ros2-menu02.webp differ diff --git a/source/index.rst b/source/index.rst index c39be53..1298dd5 100644 --- a/source/index.rst +++ b/source/index.rst @@ -49,6 +49,14 @@ applications including IoT, AI and multimedia processing. Vaaman SBC Axon SBC +.. toctree:: + :titlesonly: + :caption: Software + :maxdepth: 5 + + Rockchip + Qualcomm + .. toctree:: :glob: :titlesonly: diff --git a/source/vicharak_sbcs/axon/axon-video/video-input/mipi.rst b/source/vicharak_sbcs/axon/axon-video/video-input/mipi.rst index be9a4bb..6fcd7fc 100644 --- a/source/vicharak_sbcs/axon/axon-video/video-input/mipi.rst +++ b/source/vicharak_sbcs/axon/axon-video/video-input/mipi.rst @@ -79,62 +79,6 @@ How to Attach Camera to Axon .. image:: /_static/images/rk3588-axon/axon-camera-6.gif :width: 40% -Camera Interface PCBs ---------------------- - -2 Lane Alpha PCB ( Rpi compatible ) -==================================== - -.. image:: /_static/images/rk3588-axon/axon-camera-alpha.webp - :width: 30% - -Verify Camera Connection and Detection: ---------------------------------------- - -1. Open a terminal by clicking ctrl+alt+t - -2. Install v4l2 tools - -.. code-block:: bash - - sudo apt install v4l-utils - -3. Check if the camera device is detected: - -.. code-block:: bash - - v4l2-ctl --list-devices - -4. You should see output listing all the camera devices and sensors (look for rkisp_mainpath): - -.. code-block:: text - - rkisp_mainpath (platform:rkisp0-vir0): - /dev/video22 - /dev/video23 - /dev/video24 - /dev/video25 - /dev/video26 - /dev/video27 - /dev/video28 - /dev/media2 - - rkisp_mainpath (platform:rkisp1-vir0): - /dev/video31 - /dev/video32 - /dev/video33 - /dev/video34 - /dev/video35 - /dev/video36 - /dev/video37 - /dev/media3 - -.. note:: - - Here, the first device below rkisp_mainpath that is /dev/video22 and /dev/video31 are your camera devices. Similarly, your cameras will be listed here, note down the device name like video22 and video31. - -5. If you got the device name and number then it confirms that axon has detected the Camera. If it is not visible, check the connection and pins again. - Enable Overlays In Axon ------------------------ @@ -216,6 +160,61 @@ Enable Overlays In Axon .. danger:: Make sure that whenever you are going to connect Camera, Device should be power off. +Camera Interface PCBs +--------------------- + +2 Lane Alpha PCB ( Rpi compatible ) +==================================== + +.. image:: /_static/images/rk3588-axon/axon-camera-alpha.webp + :width: 30% + +Verify Camera Connection and Detection: +--------------------------------------- + +1. Open a terminal by clicking ctrl+alt+t + +2. Install v4l2 tools + +.. code-block:: bash + + sudo apt install v4l-utils + +3. Check if the camera device is detected: + +.. code-block:: bash + + v4l2-ctl --list-devices + +4. You should see output listing all the camera devices and sensors (look for rkisp_mainpath): + +.. code-block:: text + + rkisp_mainpath (platform:rkisp0-vir0): + /dev/video22 + /dev/video23 + /dev/video24 + /dev/video25 + /dev/video26 + /dev/video27 + /dev/video28 + /dev/media2 + + rkisp_mainpath (platform:rkisp1-vir0): + /dev/video31 + /dev/video32 + /dev/video33 + /dev/video34 + /dev/video35 + /dev/video36 + /dev/video37 + /dev/media3 + +.. note:: + + Here, the first device below rkisp_mainpath that is /dev/video22 and /dev/video31 are your camera devices. Similarly, your cameras will be listed here, note down the device name like video22 and video31. + +5. If you got the device name and number then it confirms that axon has detected the Camera. If it is not visible, check the connection and pins again. To use the camera(s): ----------------------------------------------------------------------- diff --git a/source/vicharak_sbcs/software/qualcomm/qualcomm-home.rst b/source/vicharak_sbcs/software/qualcomm/qualcomm-home.rst new file mode 100644 index 0000000..72d848b --- /dev/null +++ b/source/vicharak_sbcs/software/qualcomm/qualcomm-home.rst @@ -0,0 +1,7 @@ +#################################### +Qualcomm +#################################### + +.. note:: + + Coming soon! This documentation is under development. diff --git a/source/vicharak_sbcs/software/rockchip/axon/axon-home.rst b/source/vicharak_sbcs/software/rockchip/axon/axon-home.rst new file mode 100644 index 0000000..7ed95c8 --- /dev/null +++ b/source/vicharak_sbcs/software/rockchip/axon/axon-home.rst @@ -0,0 +1,12 @@ +#################################### +Axon +#################################### + +Comprehensive documentation of Software for Axon-based development and deployment. + +.. toctree:: + :maxdepth: 1 + + ROS + Vicharak DAO + Tailscale diff --git a/source/vicharak_sbcs/software/rockchip/axon/ros.rst b/source/vicharak_sbcs/software/rockchip/axon/ros.rst new file mode 100644 index 0000000..8d48118 --- /dev/null +++ b/source/vicharak_sbcs/software/rockchip/axon/ros.rst @@ -0,0 +1,164 @@ +ROS2 (Robot Operating System) +============================= + +The Robot Operating System (`ROS `_) is a set of powerful open-source software libraries and tools that help developers build robotic applications. It provides device drivers, state-of-the-art algorithms, distributed communication, and developer tools that simplify robotics software development. + +.. image:: /_static/images/software/software-ros2-logo.webp + :width: 80% + +ROS2 Support at Vicharak +------------------------ + +Vicharak provides **native and wrapped ROS2 support** across multiple environments through a unified tool called: **vicharak-ros2** + +``vicharak-ros2`` is a universal installation and management layer tool designed to: + +- Run ROS2 in **any environment** +- Simplify dependency handling +- Provide reproducible setups +- Support multiple ROS2 distributions +- Work across Linux distros and SBCs + +The objective is simple: + +``Run ROS2 anywhere, without setup friction.`` + +.. note:: + + **Ubuntu users:** ROS2 can be installed natively following official documentation on your systems. However, **vicharak-ros2** is recommended for other distros or if you don't want to manage dependency yourself, want simplified management, consistent and quick setup. + +Why ROS2 on Vicharak SBCs? +-------------------------- + +ROS2 applications often require reliable compute performance, stable Linux environments, and predictable dependency handling — all of which are core strengths of Vicharak boards. + +Vicharak SBCs are designed to be: + +- Powerful enough for robotics workloads suitable for real-time ROS2 nodes +- Optimized for Linux development +- Hardware-friendly ideal for robotics integrations +- Efficient and portable + + +Vicharak-Ros2 +-------------- + +Currently Available Options +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**vicharak-ros2** enables you to install any combination of these distributions and packages: + +.. list-table:: + :widths: 25 25 25 25 + :header-rows: 1 + + * - Distribution + - **ros-core** + - **ros-base** + - **Other** + * - **Humble** + - ✓ + - ✓ + - Manual Installation + * - **Jazzy** + - ✓ + - ✓ + - Manual Installation + +.. tip:: + + **ros-base** is recommended for most users as it includes essential tools and development support. You can install additional packages manually after setup. + + +Getting Started +---------------- + +Install using .deb Package +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. Download the package + + +2. Install the package + + .. code-block:: bash + + sudo apt install ./vicharak-ros2.deb + +3. Run the installer + + .. code-block:: bash + + sudo vicharak-ros2-install + +.. note:: + + **Installation taking too long?** If the installation process seems stalled, you can safely interrupt it with **Ctrl+C** and rerun: **sudo vicharak-ros2-install** + +4. Select your preferred ROS2 distribution and package profile: + + .. image:: /_static/images/software/software-ros2-menu01.webp + :width: 70% + + .. image:: /_static/images/software/software-ros2-menu02.webp + :width: 70% + +5. Launch ROS2 Environment + + .. code-block:: bash + + sudo ros2-shell + + This opens the configured ROS2 environment. + +6. Exit the ros2-shell + + .. code-block:: bash + + exit + +Uninstall +~~~~~~~~~ + +Remove Vicharak-Ros2 + +.. code-block:: bash + + sudo apt remove vicharak-ros2 + +Let's try some examples +----------------------- + +Talker and Listener +~~~~~~~~~~~~~~~~~~~ + +If you installed **ros-base**, you can test ROS2 with built-in demo nodes. + +**Terminal 1 - Run the talker (C++):** + +.. code-block:: bash + + sudo apt install ros-humble-demo-nodes-cpp + +.. code-block:: bash + + ros2 run demo_nodes_cpp talker + +**Terminal 2 - Run the listener (Python):** + +.. code-block:: bash + + sudo apt install ros-humble-demo-nodes-py + +.. code-block:: bash + + ros2 run demo_nodes_py listener + +**Expected Output:** + +You should see the talker publishing messages and the listener receiving them. This verifies both C++ and Python ROS2 APIs are working correctly. + +.. tip:: + + This basic example confirms your ROS2 installation is set up correctly. You can now explore more complex examples like running the talker in one in one board and listener in other board. + diff --git a/source/vicharak_sbcs/software/rockchip/axon/tailscale-support.rst b/source/vicharak_sbcs/software/rockchip/axon/tailscale-support.rst new file mode 120000 index 0000000..72650a0 --- /dev/null +++ b/source/vicharak_sbcs/software/rockchip/axon/tailscale-support.rst @@ -0,0 +1 @@ +../../../axon/axon-os-configuration/tailscale-support.rst \ No newline at end of file diff --git a/source/vicharak_sbcs/software/rockchip/axon/vicharak-dao b/source/vicharak_sbcs/software/rockchip/axon/vicharak-dao new file mode 120000 index 0000000..68484a9 --- /dev/null +++ b/source/vicharak_sbcs/software/rockchip/axon/vicharak-dao @@ -0,0 +1 @@ +../../../axon/axon-os-configuration/vicharak-dao \ No newline at end of file diff --git a/source/vicharak_sbcs/software/rockchip/rockchip-home.rst b/source/vicharak_sbcs/software/rockchip/rockchip-home.rst new file mode 100644 index 0000000..bb33f82 --- /dev/null +++ b/source/vicharak_sbcs/software/rockchip/rockchip-home.rst @@ -0,0 +1,54 @@ +#################################### +Rockchip +#################################### + +Vicharak supports a two Rockchip-based boards. + +.. grid:: 1 1 2 2 + :gutter: 2 + + .. grid-item-card:: Axon + + Developer-focused software documentation for building and deploying on Axon. + + .. grid:: 1 2 2 2 + :gutter: 1 + + .. grid-item-card:: ROS2 + :link: axon/ros + :link-type: doc + + Robot Operating System support + + .. grid-item-card:: Vicharak DAO + :link: axon/vicharak-dao/index + :link-type: doc + + DAO tools and docs + + .. grid-item-card:: Tailscale + :link: axon/tailscale-support + :link-type: doc + + + VPN and networking + + .. grid-item-card:: Vaaman + + Comprehensive software documentation for Vaaman-based development. + + .. grid:: 1 + :gutter: 1 + + .. grid-item-card:: Periplex + :link: vaaman/periplex/index + :link-type: doc + + Periplex platform docs + +.. toctree:: + :hidden: + :maxdepth: 2 + + axon/axon-home + vaaman/vaaman-home \ No newline at end of file diff --git a/source/vicharak_sbcs/software/rockchip/vaaman/periplex b/source/vicharak_sbcs/software/rockchip/vaaman/periplex new file mode 120000 index 0000000..965ee5f --- /dev/null +++ b/source/vicharak_sbcs/software/rockchip/vaaman/periplex @@ -0,0 +1 @@ +../../../vaaman/vaaman-periplex \ No newline at end of file diff --git a/source/vicharak_sbcs/software/rockchip/vaaman/vaaman-home.rst b/source/vicharak_sbcs/software/rockchip/vaaman/vaaman-home.rst new file mode 100644 index 0000000..0d054e9 --- /dev/null +++ b/source/vicharak_sbcs/software/rockchip/vaaman/vaaman-home.rst @@ -0,0 +1,10 @@ +#################################### +Vaaman +#################################### + +Comprehensive documentation for Vaaman-based development and deployment. + +.. toctree:: + :maxdepth: 1 + + Periplex diff --git a/source/vicharak_sbcs/vaaman/vaaman-periplex/index.rst b/source/vicharak_sbcs/vaaman/vaaman-periplex/index.rst index 9b2a2f5..7d7bf6b 100644 --- a/source/vicharak_sbcs/vaaman/vaaman-periplex/index.rst +++ b/source/vicharak_sbcs/vaaman/vaaman-periplex/index.rst @@ -10,7 +10,7 @@ Periplex is a 360-degree solution—it integrates fundamental Linux drivers, FPG Without Periplex, even FPGA developers would struggle for months to build a solution like this. Periplex reduces that effort to seconds. And the best part? It does the same for non-FPGA developers as well. -.. image:: ../../../_static/images/rk3399-vaaman/periplex_flowchart.webp +.. image:: /_static/images/rk3399-vaaman/periplex_flowchart.webp :width: 100% :align: center