[WIP] Documentation #124
Conversation
Add brief note on using MkDocs to read documentation.
There was a problem hiding this comment.
This is awesome documentation @hello-vinitha, thank you!
Maybe adding a link to these docs in the README would be useful. People forget to check the docs sometimes.
There's a TODO in the docs we should update, and the repo has merge conflicts, otherwise looks good. I know it's a WIP PR, but i think there's plenty here to merge, and incrementally add more if you'd like. Thanks!
|
|
||
| ## Setup & Installation | ||
|
|
||
| The interface is compatible with the Stretch RE1, RE2 and SE3. It currently only supports Ubuntu 22.04 and ROS2 Humble. All Stretch SE3's arrive with the interface pre-installed. For Stretch RE1 and RE2, upgrade your operating system if necessary ([instructions](https://docs.hello-robot.com/0.3/installation/robot_install/)) and create/update the Stretch ROS2 Humble workspace ([instructions](https://docs.hello-robot.com/0.3/installation/ros_workspace/)). This will install all package dependencies and install the web teleop interface. |
There was a problem hiding this comment.
I recommend changing "It currently only supports Ubuntu 22.04 and ROS2 Humble" to only mentioning "ROS2 is required to run this package." so that we don't have to come back and update this doc for future ROS2 and Ubuntu upgrades, thanks!
|
|
||
| This file wraps the logic for receiving and transmitting commands, sensor streams, etc. over the WebRTC channels in a nice API for the operator browser. You can think of `RemoteRobot` as the bridge between the operator browser and the robot. The interface creates a single instance of `RemoteRobot` and uses it for the duration of the session that it is connected to the robot. On the other end, the robot browser is listening for commands from / transmitting data to `RemoteRobot`. The robot-side logic can be found in `src/pages/robot/tsx/index.tsx`, which is described [at this section](#indextsx). | ||
|
|
||
| Adding new capabilities to the web interface will involve adding functionality to the `RemoteRobot` class. Let's take homing the robot for example. We add a method to the class like so: |
There was a problem hiding this comment.
Beautiful architecture 💚
|
|
||
| #### `audiostreams.tsx` and `videostreams.tsx` | ||
|
|
||
| These files are not needed to add homing functionality. TODO: document these files elsewhere and link to it. |
There was a problem hiding this comment.
Remove the TODO here. Replacement suggestion:
audiostreams.tsx handles creating a browser MediaStream object to play audio in the browser.
videostreams.tsx handles updating an HTML canvas from a ROSCompressedImage object with draw rate handled by requestAnimationFrame
|
Hello! Please consider merging these PR's into this branch before merging into master, thank you! |
…uded results from real tests (#132) * Added a document explaining how to measure WebTeleop Latency and results from my tests * Moved the images out of the markdown file so that github can display them online * Changed the webteleop_video_components.jpg to have less text in the image * Linting pass
added file extension
Description
Added mkdocs that compiles documentation from various sources. The goal is for the documentation is contain all the necessary information to launch, use and develop stretch web teleop.
To Do
How to Run
cd stretch-web-teleop-docsmkdocs serve(if on local machine) ormkdocs serve -a 0.0.0.0:8000(if on remote machine)http://127.0.0.1:8000/in browser to view docsBefore opening a pull request
From the top-level of this repository, run:
pre-commit run --all-filesTo merge
Squash & Merge