diff --git a/CNAME b/CNAME deleted file mode 100644 index 82251061..00000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -roboticsknowledgebase.com \ No newline at end of file diff --git a/_config.yml b/_config.yml index e3bd234a..58024ede 100644 --- a/_config.yml +++ b/_config.yml @@ -12,7 +12,7 @@ title_separator : "-" remote_theme : "mmistakes/minimal-mistakes@4.19.1" name : #"Your Name" description : "The Wiki for Robot Builders." -url : https://roboticsknowledgebase.com # the base hostname & protocol for your site e.g. "https://mmistakes.github.io" +url : https://roboticsknowledgebase.github.io # the base hostname & protocol for your site baseurl : # the subpath of your site, e.g. "/blog" repository : "roboticsknowledgebase/roboticsknowledgebase.github.io" # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes" teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png" diff --git a/about.md b/about.md index fe50b409..9ecc333b 100644 --- a/about.md +++ b/about.md @@ -20,7 +20,7 @@ This wiki is meant for people in various stages of their career, including absol For simple edits, you can use the [editor on GitHub](https://github.com/RoboticsKnowledgebase/roboticsknowledgebase.github.io/blob/master/README.md) to maintain and preview the content for your website in Markdown files. -Please see the [Contribute page](https://roboticsknowledgebase.com/docs) for more details. +Please see the [Contribute page](/docs) for more details. Whenever you commit to this repository, GitHub Pages will run [Jekyll](https://jekyllrb.com/) to rebuild the pages in your site, from the content in your Markdown files. diff --git a/index.md b/index.md index 67840390..0be255a0 100644 --- a/index.md +++ b/index.md @@ -8,7 +8,7 @@ header: overlay_filter: "0.5" overlay_image: /assets/images/ricardo-gomez-angel-162935.jpg cta_label: "Start Learning" - cta_url: "https://roboticsknowledgebase.com/wiki/" + cta_url: "/wiki/" excerpt: "The Robotics Knowledgebase exists to advance knowledge in the robotics discipline." --- {% include nav_list nav=page.sidebar.nav %} diff --git a/wiki/actuation/selecting-the-right-motor.md b/wiki/actuation/selecting-the-right-motor.md index 5601c187..e9acdc75 100644 --- a/wiki/actuation/selecting-the-right-motor.md +++ b/wiki/actuation/selecting-the-right-motor.md @@ -106,8 +106,8 @@ BLDC and servo motors often require active or passive cooling in high-performanc To summarize; selecting the right motor for a project involves balancing priorities and understanding the trade-offs between precision, control complexity, maintenance, torque, and cost. For applications requiring high precision, stepper or servo motors are ideal, whereas geared motors or high-torque BLDCs are suited for power-intensive tasks. Simple projects can use brushed motors for their ease of use, while advanced designs may justify the cost and control demands of brushless or servo motors. Brushless and AC motors are better for long-term use due to low maintenance, making them worthwhile investments. To amplify torque, gearboxes are effective, though they can reduce speed and introduce backlash. Finally, while cost-effective motors like brushed or stepper options work for non-critical components, critical applications demand higher-performing, costlier solutions. ## See Also: -- [Motor Controller with Feedback](https://roboticsknowledgebase.com/wiki/actuation/motor-controller-feedback/) -- [Linear Actuator Resources and Quick Reference](https://roboticsknowledgebase.com/wiki/actuation/linear-actuator-resources/) +- [Motor Controller with Feedback](/wiki/actuation/motor-controller-feedback/) +- [Linear Actuator Resources and Quick Reference](/wiki/actuation/linear-actuator-resources/) ## Further Reading - [Back-EMF in BLDC Motors : A Complete Guide](https://mechtex.com/blog/back-emf-in-bldc-motors-a-complete-guide#:~:text=Effects%20of%20Back%2DEMF%20on%20BLDC%20Motor%20Performance,and%20back%2DEMF%20which%20results%20in%20speed%20regulation) diff --git a/wiki/common-platforms/dji-drone-breakdown-for-technical-projects.md b/wiki/common-platforms/dji-drone-breakdown-for-technical-projects.md index 2f4734f8..7ab0248d 100644 --- a/wiki/common-platforms/dji-drone-breakdown-for-technical-projects.md +++ b/wiki/common-platforms/dji-drone-breakdown-for-technical-projects.md @@ -86,4 +86,4 @@ Here are some quadcopter safety precautions to keep in mind: If you are thinking of using DJI drones for your project, either be sure to stick with their GPS, implement your own EKF and Controller, or augment their drone with a PX4 controller to take advantage of the DJI hardware. Be sure to know the three flight control modes well, and follow general and safety tips for a successful project. ## See Also: -- [DJI SDK Introduction](https://roboticsknowledgebase.com/wiki/common-platforms/dji-sdk/) +- [DJI SDK Introduction](/wiki/common-platforms/dji-sdk/) diff --git a/wiki/common-platforms/ros/ros-arduino-interface.md b/wiki/common-platforms/ros/ros-arduino-interface.md index ddf5f82a..ee837e08 100644 --- a/wiki/common-platforms/ros/ros-arduino-interface.md +++ b/wiki/common-platforms/ros/ros-arduino-interface.md @@ -204,4 +204,4 @@ sudo chmod a+rw /dev/ttyUSB0 if the above command doesn’t work. ## See Also: -- [ROS Introduction](https://roboticsknowledgebase.com/wiki/common-platforms/ros/ros-intro/) +- [ROS Introduction](/wiki/common-platforms/ros/ros-intro/) diff --git a/wiki/common-platforms/ros/ros-unsupported-os.md b/wiki/common-platforms/ros/ros-unsupported-os.md index d27d41d1..3ba2e6e5 100644 --- a/wiki/common-platforms/ros/ros-unsupported-os.md +++ b/wiki/common-platforms/ros/ros-unsupported-os.md @@ -32,7 +32,7 @@ Each ROS distribution supports only a select number of platforms, and for all su ### 1. Running ROS2 Humble via a docker container on Ubuntu 20.04 #### Installing Docker -Follow instructions given here to install docker - https://roboticsknowledgebase.com/wiki/tools/docker/ +Follow instructions given here to install docker - /wiki/tools/docker/ #### Running ROS2 Humble docker container Running the command below will pull the latest ROS2 Humble Docker Image, start a container and attach a shell to it ```sh @@ -179,7 +179,7 @@ ros2 run demo_nodes_py listener In this article, we discussed how to run a ROS distribution on an unsupported OS. Specifically we looked at the process of running ROS2 Humble on Ubuntu 20.04. However, the methods presented in the article can be easily adapted to accommodate other scenarios. ## Further Reading -- [Introduction to Docker](https://roboticsknowledgebase.com/wiki/tools/docker/) +- [Introduction to Docker](/wiki/tools/docker/) - [Docker Reference (docker run)](https://docs.docker.com/engine/reference/run/) ## References diff --git a/wiki/common-platforms/ros2-navigation-for-clearpath-husky.md b/wiki/common-platforms/ros2-navigation-for-clearpath-husky.md index 0a805802..eb3a388c 100644 --- a/wiki/common-platforms/ros2-navigation-for-clearpath-husky.md +++ b/wiki/common-platforms/ros2-navigation-for-clearpath-husky.md @@ -10,7 +10,7 @@ For instance, in the [Husky](https://github.com/husky/husky/tree/humble-devel) r This tutorial aims to guide you through the process of setting up the ROS 1 navigation stack on the Clearpath Husky and seamlessly connecting it to ROS 2. It assumes a foundational understanding of both ROS 1 and ROS 2. ## ROS 1 - ROS 2 Bridge -To configure the Clearpath Husky hardware, we will be using the [husky_robot](https://github.com/husky/husky_robot) repository. This repository contains the ROS 1 packages for the Husky, including the navigation stack. To connect the ROS 1 packages to ROS 2, we will be using the [ros1_bridge](https://github.com/ros2/ros1_bridge) package. Detailed instruction on how to setup this is provided in [this tutorial](https://roboticsknowledgebase.com/wiki/interfacing/ros1-ros2-bridge/) on the Robotics Knowledgebase. Once the bridge is established, we can proceed to configure the Husky using the following steps. +To configure the Clearpath Husky hardware, we will be using the [husky_robot](https://github.com/husky/husky_robot) repository. This repository contains the ROS 1 packages for the Husky, including the navigation stack. To connect the ROS 1 packages to ROS 2, we will be using the [ros1_bridge](https://github.com/ros2/ros1_bridge) package. Detailed instruction on how to setup this is provided in [this tutorial](/wiki/interfacing/ros1-ros2-bridge/) on the Robotics Knowledgebase. Once the bridge is established, we can proceed to configure the Husky using the following steps. ``` # Install Husky Packages apt-get update && apt install ros-noetic-husky* -y @@ -393,7 +393,7 @@ This tutorial provides a step-by-step guide to configure the Clearpath Husky for It is recommended to read the [Nav2 documentation](https://navigation.ros.org/index.html) to understand the Nav2 stack in detail. The [Nav2 tutorials](https://navigation.ros.org/getting_started/index.html) are also a good place to start. ## See Also: -- [ROS1 - ROS2 Bridge](https://roboticsknowledgebase.com/wiki/interfacing/ros1-ros2-bridge/) +- [ROS1 - ROS2 Bridge](/wiki/interfacing/ros1-ros2-bridge/) ## Further Readings: - [Nav2 First Time Setup](https://navigation.ros.org/setup_guides/index.html) diff --git a/wiki/computing/setup-gpus-for-computer-vision.md b/wiki/computing/setup-gpus-for-computer-vision.md index 2e52ac01..3a2c66cf 100644 --- a/wiki/computing/setup-gpus-for-computer-vision.md +++ b/wiki/computing/setup-gpus-for-computer-vision.md @@ -6,19 +6,19 @@ title: Setup your GPU Enabled System for Computer Vision and Deep Learning This tutorial will help you setup your Ubuntu (16/17/18) system with a NVIDIA GPU including installing the Drivers, CUDA, cuDNN, and TensorRT libraries. Tutorial also covers on how to build OpenCV from source and installing Deep Learning Frameworks such as TensorFlow (Source Build), PyTorch, Darknet for YOLO, Theano, and Keras. The setup has been tested on Ubuntu x86 platform and should also hold good for other Debian based (x86/ARM64) platforms. ## Contents -1. [Install Prerequisites](https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/#1-install-prerequisites) -2. [Setup NVIDIA Driver for your GPU](https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/#2-install-nvidia-driver-for-your-gpu) -3. [Install CUDA](https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/#3-install-cuda) -4. [Install cuDNN](https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/#4-install-cudnn) -5. [Install TensorRT](https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/#5-install-tensorrt) -6. [Python and Other Dependencies](https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/#6-python-and-other-dependencies) -7. [OpenCV and Contrib Modules](https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/#7-install-opencv-and-contrib-modules) -8. [Deep Learning Frameworks](https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/#8-install-deep-learning-frameworks) - - [PyTorch](https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/#pytorch) - - [TensorFlow](https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/#tensorflow) - - [Keras](https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/#keras) - - [Theano](https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/#theano) - - [Darknet for YOLO](https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/#darknet-for-yolo) +1. [Install Prerequisites](/wiki/computing/setup-gpus-for-computer-vision/#1-install-prerequisites) +2. [Setup NVIDIA Driver for your GPU](/wiki/computing/setup-gpus-for-computer-vision/#2-install-nvidia-driver-for-your-gpu) +3. [Install CUDA](/wiki/computing/setup-gpus-for-computer-vision/#3-install-cuda) +4. [Install cuDNN](/wiki/computing/setup-gpus-for-computer-vision/#4-install-cudnn) +5. [Install TensorRT](/wiki/computing/setup-gpus-for-computer-vision/#5-install-tensorrt) +6. [Python and Other Dependencies](/wiki/computing/setup-gpus-for-computer-vision/#6-python-and-other-dependencies) +7. [OpenCV and Contrib Modules](/wiki/computing/setup-gpus-for-computer-vision/#7-install-opencv-and-contrib-modules) +8. [Deep Learning Frameworks](/wiki/computing/setup-gpus-for-computer-vision/#8-install-deep-learning-frameworks) + - [PyTorch](/wiki/computing/setup-gpus-for-computer-vision/#pytorch) + - [TensorFlow](/wiki/computing/setup-gpus-for-computer-vision/#tensorflow) + - [Keras](/wiki/computing/setup-gpus-for-computer-vision/#keras) + - [Theano](/wiki/computing/setup-gpus-for-computer-vision/#theano) + - [Darknet for YOLO](/wiki/computing/setup-gpus-for-computer-vision/#darknet-for-yolo) ## 1. Install Prerequisites Before installing anything, let us first update the information about the packages stored on the computer and upgrade the already installed packages to their latest versions. diff --git a/wiki/computing/troubleshooting-ubuntu-dual-boot.md b/wiki/computing/troubleshooting-ubuntu-dual-boot.md index 2291f99f..4cd47788 100644 --- a/wiki/computing/troubleshooting-ubuntu-dual-boot.md +++ b/wiki/computing/troubleshooting-ubuntu-dual-boot.md @@ -57,8 +57,8 @@ In either case, however, usage will require essential packages like build-essent There are a few ways Ubuntu installation can go wrong or be delayed but this page hopefully will help a few people avoid major mistakes that held the writers of this page back a few weeks. After this guide the computer should be ready for installing browsers (such as Firefox), IDEs (such as VSCode or PyCharm), and libraries (such as mujoco or realsense-ros) as desired. ## See Also: -- [Ubuntu 14.04 on Chromebook](https://roboticsknowledgebase.com/wiki/computing/ubuntu-chromebook) -- [Upgrading Ubuntu Kernels](https://roboticsknowledgebase.com/wiki/computing/upgrading-ubuntu-kenel) +- [Ubuntu 14.04 on Chromebook](/wiki/computing/ubuntu-chromebook) +- [Upgrading Ubuntu Kernels](/wiki/computing/upgrading-ubuntu-kernel/) ## Further Reading - [Git repositories for drivers for different types of RealTek cards](https://www.github.com/lwfinger) diff --git a/wiki/interfacing/microros-for-ros2-on-microcontrollers.md b/wiki/interfacing/microros-for-ros2-on-microcontrollers.md index 4cae7061..5bfdafa6 100644 --- a/wiki/interfacing/microros-for-ros2-on-microcontrollers.md +++ b/wiki/interfacing/microros-for-ros2-on-microcontrollers.md @@ -476,6 +476,6 @@ void loop() ## See Also: -- [Docker](https://roboticsknowledgebase.com/wiki/tools/docker/) -- [ROS Arduino Interface](https://roboticsknowledgebase.com/wiki/common-platforms/ros/ros-arduino-interface/) (If using ROS1 as opposed to ROS2) -- [udev Rules](https://roboticsknowledgebase.com/wiki/tools/udev-rules/) +- [Docker](/wiki/tools/docker/) +- [ROS Arduino Interface](/wiki/common-platforms/ros/ros-arduino-interface/) (If using ROS1 as opposed to ROS2) +- [udev Rules](/wiki/tools/udev-rules/) diff --git a/wiki/machine-learning/ros-yolo-gpu.md b/wiki/machine-learning/ros-yolo-gpu.md index d50ede4c..5a777aff 100644 --- a/wiki/machine-learning/ros-yolo-gpu.md +++ b/wiki/machine-learning/ros-yolo-gpu.md @@ -196,8 +196,8 @@ In this tutorial, we went through the procedures for integrating YOLO with ROS b We also demonstrated how to setup CUDA and cuDNN to run YOLO in real-time. By following our step-by-step instructions, YOLO can run with realtime performance. ## See Also -- [realsense_camera](https://roboticsknowledgebase.com/wiki/sensing/realsense/) -- [ROS](https://roboticsknowledgebase.com/wiki/common-platforms/ros/ros-intro/) +- [realsense_camera](/wiki/sensing/realsense/) +- [ROS](/wiki/common-platforms/ros/ros-intro/) ## Further Reading - [CUDA_tutorial](https://medium.com/@exesse/cuda-10-1-installation-on-ubuntu-18-04-lts-d04f89287130) diff --git a/wiki/planning/coverage-planning-implementation-guide.md b/wiki/planning/coverage-planning-implementation-guide.md index f817e352..0a7462de 100644 --- a/wiki/planning/coverage-planning-implementation-guide.md +++ b/wiki/planning/coverage-planning-implementation-guide.md @@ -97,7 +97,7 @@ This wiki details how to implement a basic coverage planner, which can be used f Overall, coverage planning is useful for tasks that require scanning of an area by a robot. We have seen how we can generate such paths over complicated areas by first splitting the region into simpler trapezoidal cells, planning a traversal across those cells, and then using a simple back-and-forth lawnmower pattern to cover each trapezoid. With such an algorithm, we can have our robots plan paths to cover arbitrarily complex polygonal regions. ## See Also: -- [Planning Overview](https://roboticsknowledgebase.com/wiki/planning/planning-overview/) +- [Planning Overview](/wiki/planning/planning-overview/) ## Further Reading - [A Survey on Coverage Path Planning for Robotics](https://core.ac.uk/download/pdf/132555826.pdf) diff --git a/wiki/project-management/jira.md b/wiki/project-management/jira.md index 9aefb7c6..0d99126f 100644 --- a/wiki/project-management/jira.md +++ b/wiki/project-management/jira.md @@ -129,7 +129,7 @@ In summary, Jira is a powerful tool for agile development. There are numerous fe ## See Also: -- To learn more about project management see [Product Development in Complex System Design](https://roboticsknowledgebase.com/wiki/project-management/product-development-complex-systems/) +- To learn more about project management see [Product Development in Complex System Design](/wiki/project-management/product-development-complex-systems/) ## Further Reading diff --git a/wiki/project-management/using-notion-for-project-management.md b/wiki/project-management/using-notion-for-project-management.md index 920b8676..36d1e41b 100644 --- a/wiki/project-management/using-notion-for-project-management.md +++ b/wiki/project-management/using-notion-for-project-management.md @@ -188,8 +188,8 @@ In summary, Notion is a powerful tool for project management. Its intuitive feat ## See Also: -- [Risk Management](https://roboticsknowledgebase.com/wiki/project-management/risk-management/) -- [Using Jira for Project Management](https://roboticsknowledgebase.com/wiki/project-management/jira/) +- [Risk Management](/wiki/project-management/risk-management/) +- [Using Jira for Project Management](/wiki/project-management/jira/) ## Further Reading diff --git a/wiki/sensing/thermal-perception.md b/wiki/sensing/thermal-perception.md index 8ae68098..799f4f9c 100644 --- a/wiki/sensing/thermal-perception.md +++ b/wiki/sensing/thermal-perception.md @@ -251,5 +251,5 @@ facing depth recovery in non-traditional modalities, foundation models are a com ## See Also -- The [Thermal Cameras wiki page](https://roboticsknowledgebase.com/wiki/sensing/thermal-cameras/) goes into more depth +- The [Thermal Cameras wiki page](/wiki/sensing/thermal-cameras/) goes into more depth about how thermal cameras function. diff --git a/wiki/state-estimation/optitrack-mocap.md b/wiki/state-estimation/optitrack-mocap.md index e36037cd..757252de 100644 --- a/wiki/state-estimation/optitrack-mocap.md +++ b/wiki/state-estimation/optitrack-mocap.md @@ -80,7 +80,7 @@ Adhering to best practices, such as proper marker placement and frame alignment, ## See Also - [Setting up ROS Workspaces](https://wiki.ros.org/ROS/Tutorials) -- [Motion Capture for Robotics](https://roboticsknowledgebase.com/mocap) +- [Motion Capture for Robotics](/wiki/state-estimation/optitrack-motion-capture/) ## Further Reading - [OptiTrack Official Documentation](https://optitrack.com/documentation/) diff --git a/wiki/tools/clion.md b/wiki/tools/clion.md index c7e8d1d1..6b44b409 100644 --- a/wiki/tools/clion.md +++ b/wiki/tools/clion.md @@ -103,7 +103,7 @@ One of the important part of transitioning to professional life is using tools t ## See Also: - [Pycharm IDE for Python](https://www.jetbrains.com/pycharm/) -- [VIM](https://roboticsknowledgebase.com/wiki/tools/vim/) +- [VIM](/wiki/tools/vim/) - [Sublime-Text](https://www.sublimetext.com/) - [Sublime-Merge](https://www.sublimemerge.com/) diff --git a/wiki/tools/code-editors-introduction-to-vs-code-and-vim.md b/wiki/tools/code-editors-introduction-to-vs-code-and-vim.md index 04a7d5f6..ac622171 100644 --- a/wiki/tools/code-editors-introduction-to-vs-code-and-vim.md +++ b/wiki/tools/code-editors-introduction-to-vs-code-and-vim.md @@ -176,7 +176,7 @@ Just to name a few. The list is still super long. Vim plugins are powerful. Howe There of course is not a single best code editor that one should use. People have different preferences and situations. In fact, the debate about which code editor is the best has been around for decades. People still strive to speak for their favorite editors while once a person is stuck with an editor, it is often really hard for them to make up their mind to change. However, VS Code and Vim are certainly two of the most used code editors nowadays. I hope the above context could help you decide the one you would like to try it out. Good luck coding! ## See Also: -- Vim Text Editor: +- Vim Text Editor: ## Further Reading - [Transitioning from VS Code to Vim](https://medium.com/@kalebzeray/transitioning-from-vscode-to-vim-dc3b23e35c58) diff --git a/wiki/tools/docker-for-pytorch.md b/wiki/tools/docker-for-pytorch.md index c72e6dda..1167de4d 100644 --- a/wiki/tools/docker-for-pytorch.md +++ b/wiki/tools/docker-for-pytorch.md @@ -130,9 +130,9 @@ Breakdown of the command: With this we come to the end of our article. If you were able to successfully follow the above commands and were able to run the container, you now have a docker environment for training your PyTorch model. Hope this makes your life easier. ## See Also -- Docker https://roboticsknowledgebase.com/wiki/tools/docker/ -- Setup GPU https://roboticsknowledgebase.com/wiki/computing/setup-gpus-for-computer-vision/ -- Python construct https://roboticsknowledgebase.com/wiki/programming/python-construct/ +- Docker /wiki/tools/docker/ +- Setup GPU /wiki/computing/setup-gpus-for-computer-vision/ +- Python construct /wiki/programming/python-construct/ ## Further Reading - PyTorch https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch diff --git a/wiki/tools/gazebo-simulation.md b/wiki/tools/gazebo-simulation.md index 3092f667..24742ef2 100644 --- a/wiki/tools/gazebo-simulation.md +++ b/wiki/tools/gazebo-simulation.md @@ -130,7 +130,7 @@ To update the parameters such as topic to publish, rate, and depth limits, you c We have covered several aspects in Gazebo, including importing and customizing a model into a Gazebo world, and to implement plugins for the sensors as well as define the URDF files so that messages would be published accordingly. These two components are crucial when we want to start a ROS simulation using Gazebo. ## See Also: -* [Visualization and Simulation](https://roboticsknowledgebase.com/wiki/tools/visualization-simulation/) +* [Visualization and Simulation](/wiki/tools/visualization-simulation/) ## Further Reading * Gazebo ROS tutorial: diff --git a/wiki/tools/roslibjs.md b/wiki/tools/roslibjs.md index 61a782e2..245e50c4 100644 --- a/wiki/tools/roslibjs.md +++ b/wiki/tools/roslibjs.md @@ -140,7 +140,7 @@ You can view the message data on your web console. You can access all your ROS m ## Some More ROS JavaScript Interface for Developing GUIs -You can do more advanced stuff such as subscribing to images, Rviz visualizations (see [this tutorial for more information](https://roboticsknowledgebase.com/wiki/tools/stream-rviz)), and monitor diagnostics from your nodes. +You can do more advanced stuff such as subscribing to images, Rviz visualizations (see [this tutorial for more information](/wiki/tools/stream-rviz)), and monitor diagnostics from your nodes. To visualize and update an image stream live within your web app, first you need a placeholder in HTML for your image. Define it as follows within the `body` tag with an unique ID to update it later via JavaScript. @@ -148,7 +148,7 @@ To visualize and update an image stream live within your web app, first you need ``` -Now, you can create a topic handler and subscribe to your image from ROS. Note that, if you want to integrate image streams with `roslibjs`, the ROS socket bridge expects images in compressed format. See this section [here](https://roboticsknowledgebase.com/wiki/tools/stream-rviz/compressing-image-streams) for more details on setting up image compression for your topics. +Now, you can create a topic handler and subscribe to your image from ROS. Note that, if you want to integrate image streams with `roslibjs`, the ROS socket bridge expects images in compressed format. See this section [here](/wiki/tools/stream-rviz/#compressing-image-streams) for more details on setting up image compression for your topics. ``` var image_topic = new ROSLIB.Topic({ @@ -171,7 +171,7 @@ Here is an example of a dashboard (DeltaViz) for Delta Autonomy developed by [me ![](/assets/images/tools/deltaviz.jpg) ## See Also -- A [tutorial](https://roboticsknowledgebase.com/wiki/tools/stream-rviz) on setting up virtual cameras and lighting in Rviz and stream these images which can be used in your GUI or for other applications within ROS. +- A [tutorial](/wiki/tools/stream-rviz) on setting up virtual cameras and lighting in Rviz and stream these images which can be used in your GUI or for other applications within ROS. ## Further Reading - There is a lot more you can do with `roslibjs`. Check out the official wiki [here](http://wiki.ros.org/roslibjs/Tutorials/BasicRosFunctionality) for more advanced tutorials. diff --git a/wiki/tools/stream-rviz.md b/wiki/tools/stream-rviz.md index b8bb4aa7..3db9d083 100644 --- a/wiki/tools/stream-rviz.md +++ b/wiki/tools/stream-rviz.md @@ -6,9 +6,9 @@ title: Stream Rviz Visualizations as Images This tutorial will help you stream live Rviz visualizations as `Image` topics in ROS. The tutorial will cover how one can setup multiple virtual cameras and virtual lighting within the Rviz environment. Streaming Rviz visualizations has several applications such as, one can record multiple views simultaneously for off-line analysis or these image streams can be incorporated into Python or web-based GUIs. ## Contents -1. [Setting up Virtual Cameras in Rviz](https://roboticsknowledgebase.com/wiki/tools/stream-rviz/setting-up-virtual-cameras-in-rviz) -2. [Setting up Virtual Lighting in Rviz](https://roboticsknowledgebase.com/wiki/tools/stream-rviz/setting-up-virtual-lighting-in-rviz) -3. [Compressing Image Streams](https://roboticsknowledgebase.com/wiki/tools/stream-rviz/compressing-image-streams) +1. [Setting up Virtual Cameras in Rviz](#setting-up-virtual-cameras-in-rviz) +2. [Setting up Virtual Lighting in Rviz](#setting-up-virtual-lighting-in-rviz) +3. [Compressing Image Streams](#compressing-image-streams) ## Setting up Virtual Cameras in Rviz @@ -87,7 +87,7 @@ catkin_make The image streams published from the camera publisher plug-in is in raw format, or in other words, these are bitmap images streams, which consume more memory. This section covers how to compress these image streams to reduce memory usage and make streaming more efficient. This is an optional step and usually this maybe beneficial only if you have multiple camera publishers from Rviz. -If you want to integrate these image stream with `roslibjs`, the ROS socket bridge expects images in compressed format and this step would be mandatory (refer [See Also](https://roboticsknowledgebase.com/wiki/tools/stream-rviz/see-also)). +If you want to integrate these image stream with `roslibjs`, the ROS socket bridge expects images in compressed format and this step would be mandatory (refer [See Also](#see-also)). To compress images, just add the following block into your launch file. @@ -105,7 +105,7 @@ To compress images, just add the following block into your launch file. You can now subscribed to the compressed image topic in your ROS nodes. Note that the message type will now be [`sensor_msgs/CompressedImage`](http://docs.ros.org/melodic/api/sensor_msgs/html/msg/CompressedImage.html). ## See Also -- A [tutorial](https://roboticsknowledgebase.com/wiki/tools/roslibjs) on ROS JavaScript library used to develop web-based GUIs which integrates image streams from Rviz. +- A [tutorial](/wiki/tools/roslibjs) on ROS JavaScript library used to develop web-based GUIs which integrates image streams from Rviz. ## Further Reading - Refer to the [`delta_viz`](https://github.com/deltaautonomy/delta_viz) repository developed by Delta Autonomy, which is a web-based dashboard GUI that implements all of what's covered in this tutorial.