From 351cafd4d6b67cf293a94b694252861c34085ba1 Mon Sep 17 00:00:00 2001 From: Naomi Pentrel <5212232+npentrel@users.noreply.github.com> Date: Tue, 7 Jan 2025 21:41:38 +0100 Subject: [PATCH] Readd try viam --- docs/dev/reference/try-viam/_index.md | 58 +++ .../dev/reference/try-viam/reserve-a-rover.md | 142 ++++++ .../try-viam/rover-resources/_index.md | 51 ++ .../rover-resources/rover-tutorial-1.md | 296 ++++++++++++ .../rover-tutorial-fragments.md | 213 +++++++++ .../rover-resources/rover-tutorial/_index.md | 434 ++++++++++++++++++ .../rover-tutorial/jetson-rover-setup.md | 168 +++++++ .../reference/try-viam/try-viam-tutorial.md | 234 ++++++++++ .../operate/reference/services/slam/_index.md | 2 +- docs/tutorials/configure/configure-rover.md | 2 +- docs/tutorials/control/drive-rover.md | 4 +- .../projects/integrating-viam-with-openai.md | 2 +- .../services/color-detection-scuttle.md | 4 +- 13 files changed, 1603 insertions(+), 7 deletions(-) create mode 100644 docs/dev/reference/try-viam/_index.md create mode 100644 docs/dev/reference/try-viam/reserve-a-rover.md create mode 100644 docs/dev/reference/try-viam/rover-resources/_index.md create mode 100644 docs/dev/reference/try-viam/rover-resources/rover-tutorial-1.md create mode 100644 docs/dev/reference/try-viam/rover-resources/rover-tutorial-fragments.md create mode 100644 docs/dev/reference/try-viam/rover-resources/rover-tutorial/_index.md create mode 100644 docs/dev/reference/try-viam/rover-resources/rover-tutorial/jetson-rover-setup.md create mode 100644 docs/dev/reference/try-viam/try-viam-tutorial.md diff --git a/docs/dev/reference/try-viam/_index.md b/docs/dev/reference/try-viam/_index.md new file mode 100644 index 0000000000..9730ed417f --- /dev/null +++ b/docs/dev/reference/try-viam/_index.md @@ -0,0 +1,58 @@ +--- +title: "Try Viam" +linkTitle: "Try Viam" +childTitleEndOverwrite: "Try Viam" +weight: 85 +type: "docs" +description: "Try Viam by taking over a Viam Rover in our robotics lab." +videos: ["/appendix/try-viam/rover.webm", "/appendix/try-viam/rover.mp4"] +videoAlt: "Rover reservation management page" +images: ["/appendix/try-viam/rover.gif"] +no_list: true +aliases: + - "/getting-started/try-viam/" + - "/tutorials/viam-rover/" + - /get-started/try-viam/tutorials/ + - "/appendix/try-viam/tutorials/" + - "/try-viam/" + - "/get-started/try-viam/" + - "/appendix/try-viam-faq/" + - "/try-viam/faq/" + - "get-started/try-viam/faq/" + - /appendix/try-viam/ +date: "2022-01-01" +# updated: "" # When the content was last entirely checked +--- + +Viam is a general {{< glossary_tooltip term_id="smart-machine" text="smart machine">}} platform that can run on any hardware. +The easiest way to try Viam is to [rent and remotely configure and control a Viam Rover](https://app.viam.com/try) located on-site at Viam in New York: + + + + + + + + + + + +
{{}} + 1. Click on TRY in Viam +

Log into the Viam app and go to the TRY tab. Don’t have a Viam account? Follow the instructions to sign up for an account.

+
{{}} + 2. Reserve your slot +

If no one’s using a Viam Rover, you’ll take over immediately. +Otherwise, you’ll see an estimated time for the next slot, and we’ll send you an email when it’s your turn. +See detailed instructions.

+
{{}} + 3. Get started with Viam +

Try a Viam Rover in our robotics lab. Drive or program the rover to see how you can build a machine with Viam.

+
+ +## Next steps + +{{< cards >}} +{{% card link="/tutorials/control/drive-rover/" %}} +{{% card link="/dev/reference/try-viam/rover-resources/" %}} +{{< /cards >}} diff --git a/docs/dev/reference/try-viam/reserve-a-rover.md b/docs/dev/reference/try-viam/reserve-a-rover.md new file mode 100644 index 0000000000..18aa993ca7 --- /dev/null +++ b/docs/dev/reference/try-viam/reserve-a-rover.md @@ -0,0 +1,142 @@ +--- +title: "Reserve a Viam Rover" +linkTitle: "Reserve a Viam Rover" +weight: 10 +type: "docs" +description: "Reserve a Viam Rover located on-site at Viam in NYC." +images: ["/appendix/try-viam/try-viam-reserve-preview.png"] +imageAlt: "Rover reservation page" +tags: ["try viam", "app"] +aliases: + - "/try-viam/reserve-a-rover/" + - "/get-started/try-viam/reserve-a-rover/" +toc_hide: true +date: "2022-01-01" +# updated: "" # When the content was last entirely checked +--- + +_Try Viam_ is a way to try out the Viam platform without setting up any hardware yourself. +You can take over a Viam Rover in our robotics lab to play around! + +Watch this tutorial video for a walkthrough of Try Viam, including [how to reserve a Viam Rover](#using-the-reservation-system), [navigate the Viam platform](/fleet/), and [drive the rover](/components/base/wheeled/#test-the-base): + +{{}} + +## Using the reservation system + +### Create a reservation + +{{< readfile "/static/include/try-viam/create-a-reservation.md" >}} + +### Access your rover rental + +Once your reservation starts and the system has configured your rover, click **TRY MY ROVER** from the [**TRY VIAM** page](https://app.viam.com/try) or, if you were queuing, click **Take Me to My Rover** in the confirmation email. + +{{}} + +{{}} + +### Limitations + +When using a rented Viam rover, adding [modules](/registry/) is disabled for security purposes. + +### Extend your reservation + +{{< readfile "/static/include/try-viam/extend-a-reservation.md" >}} + +### Cancel my reservation + +{{< readfile "/static/include/try-viam/cancel-a-reservation.md" >}} + +## Next steps + +{{< cards >}} +{{% card link="/tutorials/control/drive-rover/" %}} +{{< /cards >}} + +## FAQ + +Try Viam allows you to try the Viam platform without setting up any hardware yourself. +You can take over and play around with a Viam Rover in our robotics lab from anywhere in the world! + +### How do I make a reservation to take over a Viam Rover? + +{{< readfile "/static/include/try-viam/create-a-reservation.md" >}} + +### My machine had an error, a system crash, or is physically stuck + +1. Please notify Viam support on [our Community Discord](https://discord.gg/viam). +2. Use the **Add Viam Support** button on your machine's Location page to give Viam Support access to your _location_. + Refer to [Managing Locations and sub-locations](/cloud/locations/). + +### Can I extend my time? + +Sure! + +{{< readfile "/static/include/try-viam/extend-a-reservation.md" >}} + +### Can I cancel my reservation/session? + +Yes. + +{{< readfile "/static/include/try-viam/cancel-a-reservation.md" >}} + +### How can I reuse my borrowed rover? + +After using Try Viam, your machine config stays in your Viam account. +You can access your machine page, write code to control it, and modify its config after your reservation time ends. + +When you next borrow a rover you can choose to configure it with a previous rover configuration from your account or create a new rover with the standard starting config. + +{{< alert title="Tip" color="tip" >}} +You can also reuse your code for the rover for other machines that you configure with Viam in the future. +{{< /alert >}} + +### What happens to my borrowed rover after the rental session? + +1. On session expiration, Viam removes the "live" status from the machine. +2. Viam then removes your config from the physical machine in preparation for its next rental. +3. The Rover Rental Location and the final config of all previous rental rovers remain visible to your organization. + You can continue modifying the configurations as desired. + +### I accidentally deleted my machine + +Unfortunately, there is no recovery path for a deleted machine. +If you delete your machine and have a current reservation, click **Cancel Reservation** and then request a new reservation. + +### Can I rename my machine or change the location? + +You can rename your machine or change the location. +If you change the location, you must refresh the page. + +### Which organization does this machine e belong to? + +Your machine belongs to the [organization](/cloud/organizations/) you were in when you made the request. + +### Can I share this Location with a friend to work on the machine together? + +Sure, you can [invite other users to your organization](/cloud/locations/) to collaborate on your machine. +As members of your organization, those users have full control of your machine. +Another collaboration option is to use screen sharing in a Zoom or Webex session. + +### How many active rentals can I have? + +You can only borrow one rover at a time. +You cannot join the queue for another reservation while you have an active rental session. +If you would like to, you can [extend your reservation](/appendix/try-viam/reserve-a-rover/#can-i-extend-my-time). + +### I loved my experience - can I play around more? + +Yes! You can borrow the rover as many times as you’d like. +Here are some tutorials which you can follow: + +- [Drive with the Viam SDK](/tutorials/control/drive-rover/) + +If you want to get your own Viam Rover, [you can](https://viam.com/resources/rover). + +### Why can't I use the rover's microphone? + +For security reasons, Viam has disabled the microphone on rover rentals. +The microphone on [Viam Rovers shipped to you](/dev/reference/try-viam/rover-resources/) functions normally. + +{{< snippet "social.md" >}} diff --git a/docs/dev/reference/try-viam/rover-resources/_index.md b/docs/dev/reference/try-viam/rover-resources/_index.md new file mode 100644 index 0000000000..5b7c6b1404 --- /dev/null +++ b/docs/dev/reference/try-viam/rover-resources/_index.md @@ -0,0 +1,51 @@ +--- +title: "Your own Viam Rover" +linkTitle: "Your own Viam Rover" +weight: 80 +simple_list: true +type: docs +tags: ["rover", "viam rover"] +images: ["/appendix/try-viam/rover-resources/viam-rover/box-contents.jpg"] +imageAlt: "A Viam Rover in a box" +aliases: + - "/viam-rover-resources/" + - "/rover-resources/" + - "/try-viam/rover-resources/" + - "/get-started/try-viam/rover-resources/" + - /appendix/try-viam/rover-resources/ +description: If you want a convenient mobile base for robotics projects, order a Viam rover and set it up. +date: "2022-01-01" +# updated: "" # When the content was last entirely checked +--- + +{{< alert title="Tip" color="tip" >}} +If you want a convenient mobile {{% glossary_tooltip term_id="base" text="base"%}} for a variety of robotics projects, you can now [order your own Viam rover](https://www.viam.com/resources/rover). +{{< /alert >}} + +
+
+ +
+

+ The Viam Rover 2 arrives preassembled with two encoded motors with suspension, a webcam with a microphone unit, a 6 axis IMU, power management and more. + It is primarily designed for use with a Raspberry Pi 4. + Featuring an anodized aluminum chassis with expandable mounting features, the rover can comfortably navigate indoor environments with a 20 lb payload. + You can customize your rover by mounting sensors, LiDAR, and arms. +

+
+
+
+ +{{< alert title="Important" color="note" >}} +You must purchase the following hardware separately: + +- A Raspberry Pi 4 +- Four 18650 batteries or RC-type battery (with charger) +- A MicroSD card and an adapter/reader + +{{< /alert >}} + +### Next steps diff --git a/docs/dev/reference/try-viam/rover-resources/rover-tutorial-1.md b/docs/dev/reference/try-viam/rover-resources/rover-tutorial-1.md new file mode 100644 index 0000000000..2d4a96f2db --- /dev/null +++ b/docs/dev/reference/try-viam/rover-resources/rover-tutorial-1.md @@ -0,0 +1,296 @@ +--- +title: "Unbox and Set Up your Viam Rover 1" +linkTitle: "Unbox and Set Up your Viam Rover 1" +weight: 15 +type: "docs" +tags: ["rover", "tutorial"] +images: ["/appendix/try-viam/rover-resources/viam-rover/box-contents.jpg"] +imageAlt: "A Viam Rover 1 in a box" +description: "A list of the contents of the Viam Rover 1 kit, instructions for wiring your rover, and links for additional hardware." +aliases: + - "/rover-resources/rover-tutorial/" + - "/try-viam/rover-resources/rover-tutorial/" + - "/get-started/try-viam/rover-resources/rover-tutorial/" + - /appendix/try-viam/rover-resources/rover-tutorial-1/ +date: "2022-01-01" +# updated: "" # When the content was last entirely checked +--- + +{{% alert title="Tip" color="tip" %}} +A new version of the Viam Rover is now available, the [Viam Rover 2](https://www.viam.com/resources/rover). +If you have purchased a Viam Rover 2, follow [these instructions](/dev/reference/try-viam/rover-resources/rover-tutorial/) instead. +{{% /alert %}} + +The [Viam Rover 1](https://www.viam.com/resources/rover) arrives preassembled with two encoded motors with suspension, a webcam with a microphone unit, and a 3D accelerometer module. + +{{< alert title="Important" color="note" >}} +You must purchase the following hardware separately: + +- A Raspberry Pi 4 +- Four 18650 batteries (with charger) +- A MicroSD card and an adapter/reader + {{< /alert >}} + +{{}} + +This guide covers what's inside the kit, describes each component, provides instructions for wiring your rover, and includes links for additional hardware. + +## What's inside the kit + +1. One assembled Viam Rover 1. + + {{}} + +1. Four M2.5 screws for mounting your Raspberry Pi. + + {{}} + +1. Two spare stiffer suspension springs. + You can swap them out with the springs that come with the rover if you need stiffer suspension for higher payload applications. + + {{}} + +1. Three different Allen wrenches (1.5 mm, 2 mm, and 2.5 mm) to unscrew the top and mount the Raspberry Pi. + + {{}} + +1. Ten female-to-female jumper wires. + All of the wires' colors correspond to the included wiring diagram. + Six are for the motor controller and four are for the accelerometer. + + {{}} + +All together, your kit looks like this: + +{{}} + +## Rover components + +### Dual drive motors with suspension and integrated motor encoders + +{{}} + +The motors come with integrated encoders. +For information on encoders, see [Encoder Component](/components/encoder/). +For more information on encoded DC motors, see [Encoded Motors](/components/motor/encoded-motor/). + +The kit also includes stiffer suspension springs that you can substitute for the ones on the rover. +Generally, a stiff suspension helps with precise steering control. +In contrast, a soft suspension allows the wheels to move up and down to absorb small bumps on the rover's path. + +### Motor driver + +{{}} + +The kit comes with an L298N driver dual H-Bridge DC motor driver. +L298 is a high voltage and high current motor drive chip, and H-Bridge is typically used to control the rotating direction and speed of DC motors. + +### 720p webcam, with integrated microphone + +{{}} + +The webcam that comes with the kit is a standard USB camera device and the rover has a custom camera mount for it. +For more information, see [Camera Component](/components/camera/). + +### 3D accelerometer + +{{}} + +The [ADXL345](https://github.com/viam-modules/analog-devices/) sensor manufactured by Analog Devices is a digital 3-axis accelerometer that can read acceleration up to ±16g for high-resolution (13-bit) measurements. +You can access it with a SPI (3-wire or 4-wire) or I2C digital interface. + +In Viam, you can configure it as a [movement sensor component](/components/movement-sensor/). + +### Buck converter + +{{}} + +A buck converter is a DC-to-DC power converter and you use it to step down voltage from its input to its output. +The 5A mini560 step-down module has high conversion efficiency and low heat generation. + +### Toggle switch + +{{}} + +The toggle switch comes wired to the rover and you use it to turn the power on and off. + +### Battery pack + +{{}} + +The rover comes with a battery holder. +You must purchase four 18650 batteries (and a charger) separately. +The battery holder also has a female jack for an external DC power supply. + +#### Four 18650 batteries with a charger + +An 18650 battery is a lithium-ion rechargeable battery. +We recommend the button-top type, though either button or flat top can work. +We have used batteries approximately 67.5mm in length, but the battery housing includes a spring to accommodate most batteries of that approximate length. +Any brand is suitable as long as you comply with the battery safety requirements. + +Check the [safety](#safety) section for more information. + +## Safety + +Read all instructions fully before using this product. + +This product is not a toy and is not suitable for children under 12. + +Switch the rover off when not in use. + +{{< alert title="Warning" color="warning" >}} +Lithium-ion batteries may pose a flammable hazard. +This product requires four 18650 lithium-ion batteries. +Refer to the battery manufacturer’s operating instructions to ensure safe operation of the Viam Rover 1. +Dispose of lithium-ion batteries per manufacturer instructions. +{{< /alert >}} + +{{< alert title="Caution" color="caution" >}} +Damage may occur to the Raspberry Pi and/or Viam Rover 1 if wired incorrectly. +Refer to the manufacturer’s instructions for correct wiring. +{{< /alert >}} + +Disclaimer: This product is preliminary and experimental in nature, and is provided "AS IS" without any representation or warranty of any kind. +Viam does not make any promise or warranty that the product will meet your requirements or be error free. +Some states do not allow the exclusion or disclaimer of implied warranties, so the above exclusions may not apply to you. + +## Setup + +This is the recommended order to assemble your rover: + +1. [Install Raspberry Pi OS on the microSD card.](#install-raspberry-pi-os) +2. [Unscrew the top of the rover and screw the Pi to the base.](#attach-the-raspberry-pi-to-the-rover) +3. [Connect the components.](#connect-the-wires) +4. [Screw the top of the rover back on and turn the rover on.](#turn-the-rover-on) +5. [Install `viam-server` and connect to the Viam app.](#connect-to-the-viam-app) + +### Install Raspberry Pi OS + +Install a 64-bit Raspberry Pi OS onto your Pi following our [Raspberry Pi installation guide](/installation/prepare/rpi-setup/). Follow all steps as listed, including the final step, [Enable communication protocols](/installation/prepare/rpi-setup/#enable-communication-protocols), which is required to enable the accelerometer on your rover. + +### Attach the Raspberry Pi to the Rover + +Once you have installed Raspberry Pi OS and `viam-server`, put your SD card in the slot on your Pi. +To be able to attach the Raspberry Pi, unscrew the top of the rover with the biggest Allen key. +Then use the smallest Allen key and the provided M2.5 screws to attach the Raspberry Pi to your rover in the designated spots. +The following image shows the four mounting holes for the Pi, circled in red: + +{{}} + +{{< alert title="Tip" color="tip" >}} +The rover's design allows you to reach the SD card slot at all times, so you can remove or reinsert the SD card without removing the top of the rover. +{{< /alert >}} + +### Connect the wires + +{{< alert title="Tip" color="tip" >}} +To make it easier for you to see which pin is which, you can print out this [Raspberry Pi Leaf](/appendix/try-viam/viam-raspberry-leaf-8.5x11.pdf) which has labels for the pins and carefully push it onto the pins or fold or cut it so you can hold it up to the Raspberry Pi pins. +If you use A4 paper, use this [Raspberry Pi Leaf](/appendix/try-viam/viam-raspberry-leaf-A4.pdf) instead. + +If you are having trouble punching the pins through, you can pre-punch the pin holes with a pen. +Only attach the paper when the Pi is unplugged. +To make attaching the paper easier, use a credit card or a small screwdriver. +{{< /alert >}} + +Wire your Pi to the buck converter, the acceleration tilt module, and the DC motor driver: + +![Closeup of the wiring diagram, showcasing the Pi, motor driver, accelerometer, and buck converter, wired according to the table below.](/appendix/try-viam/rover-resources/viam-rover/rover-wiring-diagram.png) + +The following pinout corresponds to the diagram: + + +| Component | Component Pin | Raspberry Pi Pin | Wire Color | +| --------- | --- | ---------------- | ---------- | +| Buck Converter | GND | 39 | black | +| Buck Converter | 5V | 4 | red | +| Acceleration Tilt Module | GND | 34 | black | +| Acceleration Tilt Module | 3.3V power | 17 | red | +| Acceleration Tilt Module | SDA | 3 | maroon | +| Acceleration Tilt Module | SCL | 5 | pink | +| DC Motor Driver | En B | 22 | gray | +| DC Motor Driver | In 4 | 18 | yellow | +| DC Motor Driver | In 3 | 16 | white | +| DC Motor Driver | In 2 | 13 | green | +| DC Motor Driver | In 1 | 11 | blue | +| DC Motor Driver | En A | 15 | purple | +| DC Motor Driver | GND | 6 | black | +| DC Motor Driver | Encoder Left | 35 | yellow | +| DC Motor Driver | 3.3V power | 1 | red | +| DC Motor Driver | Encoder Right | 37 | white | + +{{< alert title="Tip" color="tip" >}} +En A and En B pins have little plastic jumpers that you need to remove before wiring. + +The motor driver on the Viam Rover 1 has 8 pins and 6 wires. +You must wire it with the outside row pins: + +{{}} +{{< /alert >}} + +Then connect the camera's USB cable to the Pi. + +![Wiring diagram showcasing the Pi, motors, driver, camera, and all other rover components.](/appendix/try-viam/rover-resources/viam-rover/rover-wiring-diagram-full.png) + +![the Pi, motors, driver, and all other rover components](/appendix/try-viam/rover-resources/viam-rover/rover-with-pi.jpg) + +### Turn the rover on + +Once you have wired up all the components, reattach the top of the rover and fasten the screws. +Insert the batteries and turn the rover on. +If the Pi has power, the lights on the Raspberry Pi will light up. + +### Connect to the Viam app + +While the Pi boots, go to the [Viam app](https://app.viam.com/robots) and add a new machine. +Navigate to the **CONFIGURE** tab and find your machine's card. +An alert will be present directing you to **Set up your machine part**. +Click **View setup instructions** to open the setup instructions. +Follow the instructions to install `viam-server` on **Linux / Aarch64**. + +{{< glossary_tooltip term_id="RDK" text="RDK" >}} type. +`ssh` into your Pi and follow the setup instructions to install and run `viam-server` on the machine. + +To configure your rover so you can start driving it, [add the Viam Fragment to your Machine](/dev/reference/try-viam/rover-resources/rover-tutorial-fragments/). + +## Next steps + +Before you can use your Viam rover with the Viam platform you need to configure your rover: + +{{< cards >}} +{{% card link="/dev/reference/try-viam/rover-resources/rover-tutorial-fragments/" %}} +{{< /cards >}} + +After you have configured your rover, follow one of these tutorials: + +{{< cards >}} +{{% card link="/tutorials/control/drive-rover/" %}} +{{% card link="/tutorials/services/navigate-with-rover-base/" %}} +{{< /cards >}} + +### Rover build + +If you want to learn more about the rover, you can find the CAD files and bill-of-materials (BOM) on [GitHub](https://github.com/viamrobotics/Rover-VR1). + +### Extensibility + +Due to the aluminum chassis and its expandable mounting features, you can extend the Viam Rover 1. +With it, you can customize your rover by mounting additional sensors, lidar, robot arms, or other components. +The following are just a few ideas, but you can expand or modify the rover kit with any components you want: + +- For GPS navigation, we support NMEA (using serial and I2C) and RTK. + Make and model don't make a difference as long as you use these protocols. + See [Movement Sensor Component](/components/movement-sensor/) for more information. +- For [LiDAR laser range scanning](/services/slam/cartographer/), we recommend RPlidar (including A1, which is a sub-$100 LIDAR). +- For robot arms, we tried the [Yahboom DOFBOT robotics arm](https://category.yahboom.net/products/dofbot-jetson_nano) with success. + +### Mount an RPlidar to the rover + +If you are mounting an RPlidar to your rover, be sure to position the RPlidar so that it faces forward in the direction of travel, facing in the same direction as the included webcam. +For example, if you are using the [RPlidar A1](https://www.slamtec.com/en/Lidar/A1) model, mount it to the Rover so that the pointed end of the RPlidar mount housing points in the direction of the front of the Rover. +This ensures that the generated {{< glossary_tooltip term_id="slam" text="SLAM" >}} map is oriented in the expected direction relative to the Rover, with the top of the generated map corresponding to the direction the RPlidar is facing when you initiate mapping. + +If you need a mount plate for your RPlidar A1 or A3 model, you can 3D print an adapter plate using the following: + +- [RPlidar A1 adapter STL](https://github.com/viamrobotics/Rover-VR1/blob/master/CAD/RPIidarA1_adapter.STL) +- [RPlidar A3 adapter STL](https://github.com/viamrobotics/Rover-VR1/blob/master/CAD/RPIidarA3_adapter.STL) diff --git a/docs/dev/reference/try-viam/rover-resources/rover-tutorial-fragments.md b/docs/dev/reference/try-viam/rover-resources/rover-tutorial-fragments.md new file mode 100644 index 0000000000..88ba86d5cb --- /dev/null +++ b/docs/dev/reference/try-viam/rover-resources/rover-tutorial-fragments.md @@ -0,0 +1,213 @@ +--- +title: "Configure your Viam Rover with a Fragment" +linkTitle: "Configure your Viam Rover" +weight: 20 +type: "docs" +tags: ["rover", "tutorial"] +description: "Configure your rover by adding the Viam-provided configuration fragment to your rover." +aliases: + - "/try-viam/rover-resources/rover-tutorial-fragments/" + - "/get-started/try-viam/rover-resources/rover-tutorial-fragments/" + - /appendix/try-viam/rover-resources/rover-tutorial-fragments/ +date: "2022-01-01" +# updated: "" # When the content was last entirely checked +--- + +To be able to drive your rover, you need to configure it. +Viam provides reusable {{% glossary_tooltip term_id="fragment" text="*fragments*" %}} for [Viam rovers](https://www.viam.com/resources/rover). + +## Prerequisites + +- An assembled Viam Rover. + For assembly instructions, see [Unbox and Set Up your Viam Rover](../rover-tutorial/) +- The board is connected to the [Viam app](https://app.viam.com). + To add your Pi to the Viam app, refer to [the rover setup guide](/dev/reference/try-viam/rover-resources/rover-tutorial/#control-your-rover-on-the-viam-app). + +## Add the fragment + +Follow the appropriate instructions for the model of rover and board you have: + +{{< tabs >}} +{{% tab name="Viam Rover 2 (RPi 5)" %}} + +Navigate to your machine in the [Viam app](https://app.viam.com/robots). +In the left-hand menu of the **CONFIGURE** tab, click the **+** (Create) icon next to the machine {{< glossary_tooltip term_id="part" text="part" >}} you want to add the fragment to. + +Select **Insert fragment**. +Now, you can see the available fragments to add. +Select [`ViamRover2-2024-rpi5`](https://app.viam.com/fragment/11d1059b-eaed-4ad8-9fd8-d60ad7386aa2/json) and click **Insert fragment** again to add the fragment to your machine configuration: + +{{}} + +Click **Save** in the upper right corner of the page to save your new configuration. + +The fragment adds the following components to your machine's JSON configuration: + +- A [board component](/components/board/) named `local` representing the Raspberry Pi. +- Two [motors](/components/motor/gpio/) (`right` and `left`) + - The configured pin numbers correspond to where the motor drivers are connected to the board. +- Two [encoders](/components/encoder/single/), one for each motor +- A wheeled [base](/components/base/), an abstraction that coordinates the movement of the right and left motors + - Width between the wheel centers: 356 mm + - Wheel circumference: 381 mm + - Spin slip factor: 1 +- A webcam [camera](/components/camera/webcam/) +- An [accelerometer](https://github.com/viam-modules/tdk-invensense/) +- A [power sensor](https://github.com/viam-modules/texas-instruments/) + +For information about how to configure components yourself when you are not using the fragment, click the links on each component above. +To see the configured pin numbers and other values specific to this fragment, [view it in the app](https://app.viam.com/fragment?id=7c413f24-691d-4ae6-a759-df3654cfe4c8). + +{{% /tab %}} +{{% tab name="Viam Rover 2 (RPi 4)" %}} + +Navigate to your machine in the [Viam app](https://app.viam.com/robots). +In the left-hand menu of the **CONFIGURE** tab, click the **+** (Create) icon next to the machine {{< glossary_tooltip term_id="part" text="part" >}} you want to add the fragment to. + +Select **Insert fragment**. +Now, you can see the available fragments to add. +Select [`ViamRover2-2024-rpi4-a`](https://app.viam.com/fragment/7c413f24-691d-4ae6-a759-df3654cfe4c8/json) and click **Insert fragment** again to add the fragment to your machine configuration: + +{{}} + +Click **Save** in the upper right corner of the page to save your new configuration. + +The fragment adds the following components to your machine's JSON configuration: + +- A [board component](/components/board/) named `local` representing the Raspberry Pi. +- Two [motors](/components/motor/gpio/) (`right` and `left`) + - The configured pin numbers correspond to where the motor drivers are connected to the board. +- Two [encoders](/components/encoder/single/), one for each motor +- A wheeled [base](/components/base/), an abstraction that coordinates the movement of the right and left motors + - Width between the wheel centers: 356 mm + - Wheel circumference: 381 mm + - Spin slip factor: 1 +- A webcam [camera](/components/camera/webcam/) +- An [accelerometer](https://github.com/viam-modules/tdk-invensense/) +- A [power sensor](https://github.com/viam-modules/texas-instruments/) + +For information about how to configure components yourself when you are not using the fragment, click the links on each component above. +To see the configured pin numbers and other values specific to this fragment, [view it in the app](https://app.viam.com/fragment?id=7c413f24-691d-4ae6-a759-df3654cfe4c8). + +{{% /tab %}} +{{% tab name="Viam Rover 1 (RPi 4)" %}} + +Navigate to your machine in the [Viam app](https://app.viam.com/robots). +In the left-hand menu of the **CONFIGURE** tab, click the **+** (Create) icon next to the machine {{< glossary_tooltip term_id="part" text="part" >}} you want to add the fragment to. + +Select **Insert fragment**. +Now, you can see the available fragments to add. +Select [`ViamRover202210b`](https://app.viam.com/fragment/3e8e0e1c-f515-4eac-8307-b6c9de7cfb84/json) and click **Insert fragment** again to add the fragment to your machine configuration: + +{{}} + +Click **Save** in the upper right corner of the page to save your configuration. + +The fragment adds the following components to your machine's JSON configuration: + +- A [board component](/components/board/) named `local` representing the Raspberry Pi + - An I2C bus for connection to the accelerometer. +- Two [motors](/components/motor/gpio/) (`right` and `left`) + - The configured pin numbers correspond to where the motor drivers are connected to the board. +- Two [encoders](/components/encoder/single/), one for each motor +- A wheeled [base](/components/base/), an abstraction that coordinates the movement of the right and left motors + - Width between the wheel centers: 260 mm + - Wheel circumference: 217 mm + - Spin slip factor: 1 +- A webcam [camera](/components/camera/webcam/) +- An [accelerometer](https://github.com/viam-modules/analog-devices/) + +{{% alert title="Info" color="info" %}} + +This particular motor driver has pins labeled "ENA" and "ENB." +Typically, this would suggest that they should be configured as enable pins, but on this specific driver these function as PWM pins, so we configure them as such. + +{{% /alert %}} + +For information about how you would configure a component yourself if you weren't using the fragment, click the links on each component above. +To see the configured pin numbers and other values specific to this fragment, [view it in the app](https://app.viam.com/fragment?id=3e8e0e1c-f515-4eac-8307-b6c9de7cfb84). + +{{% /tab %}} +{{% tab name="Viam Rover 2 (Jetson Nano)" %}} + +Navigate to your machine in the [Viam app](https://app.viam.com/robots). +In the left-hand menu of the **CONFIGURE** tab, click the **+** (Create) icon next to the machine {{< glossary_tooltip term_id="part" text="part" >}} you want to add the fragment to. + +Select **Insert fragment**. +Now, you can see the available fragments to add. +Select [`ViamRover2-2024-jetson-nano-a`](https://app.viam.com/fragment/747e1f43-309b-4311-b1d9-1dfca45bd097/json) and click **Insert fragment** again to add the fragment to your machine configuration. + +{{}} + +Click **Save** in the upper right corner of the page to save your new configuration. + +The fragment adds the following components to your machine's JSON configuration: + +- A [board component](/components/board/) named `local` representing the Jetson. +- Two [motors](/components/motor/gpio/) (`right` and `left`) + - The configured pin numbers correspond to where the motor drivers are connected to the board. +- Two [encoders](/components/encoder/single/), one for each motor +- A wheeled [base](/components/base/), an abstraction that coordinates the movement of the right and left motors + - Width between the wheel centers: 356 mm + - Wheel circumference: 381 mm + - Spin slip factor: 1 +- A webcam [camera](/components/camera/webcam/) +- An [accelerometer](https://github.com/viam-modules/tdk-invensense/) +- A [power sensor](https://github.com/viam-modules/texas-instruments/) + +For information about how to configure components yourself when you are not using the fragment, click the links on each component above. +To see the configured pin numbers and other values specific to this fragment, [view it in the app](https://app.viam.com/fragment?id=747e1f43-309b-4311-b1d9-1dfca45bd097). + +{{% /tab %}} +{{% tab name="Viam Rover 2 (Jetson Orin Nano)" %}} + +Navigate to your machine in the [Viam app](https://app.viam.com/robots). +In the left-hand menu of the **CONFIGURE** tab, click the **+** (Create) icon next to the machine {{< glossary_tooltip term_id="part" text="part" >}} you want to add the fragment to. + +Select **Insert fragment**. +Now, you can see the available fragments to add. +Select [`ViamRover2-2024-nano-orin-a`](https://app.viam.com/fragment/6208e890-8400-4197-bf0f-e8ddeca4e157/json) and click **Insert fragment** again to add the fragment to your machine configuration: + +{{}} + +Click **Save** in the upper right corner of the page to save your new configuration. + +The fragment adds the following components to your machine's JSON configuration: + +- A [board component](/components/board/) named `local` representing the Jetson. +- Two [motors](/components/motor/gpio/) (`right` and `left`) + - The configured pin numbers correspond to where the motor drivers are connected to the board. +- Two [encoders](/components/encoder/single/), one for each motor +- A wheeled [base](/components/base/), an abstraction that coordinates the movement of the right and left motors + - Width between the wheel centers: 356 mm + - Wheel circumference: 381 mm + - Spin slip factor: 1 +- A webcam [camera](/components/camera/webcam/) +- An [accelerometer](https://github.com/viam-modules/tdk-invensense/) +- A [power sensor](https://github.com/viam-modules/texas-instruments/) + +For information about how to configure components yourself when you are not using the fragment, click the links on each component above. +To see the configured pin numbers and other values specific to this fragment, [view it in the app](https://app.viam.com/fragment?id=6208e890-8400-4197-bf0f-e8ddeca4e157). + +{{% /tab %}} +{{< /tabs >}} + +## See the components on the configuration page + +Adding a fragment to your machine adds the configuration to your machine. +The components and services included in the fragment will now appear as cards on the **CONFIGURE** tab, along with a card for your fragment: + +{{}} + +## Modify the config + +The fragment you added is read-only, but if you need to modify your rover's config you can [overwrite sections of the fragment](/how-tos/one-to-many/#modify-a-fragment). + +## Next steps + +After you have configured your rover, follow one of these tutorials: + +{{< cards >}} +{{% card link="/tutorials/control/drive-rover/" %}} +{{% card link="/tutorials/services/navigate-with-rover-base/" %}} +{{< /cards >}} diff --git a/docs/dev/reference/try-viam/rover-resources/rover-tutorial/_index.md b/docs/dev/reference/try-viam/rover-resources/rover-tutorial/_index.md new file mode 100644 index 0000000000..40d2470935 --- /dev/null +++ b/docs/dev/reference/try-viam/rover-resources/rover-tutorial/_index.md @@ -0,0 +1,434 @@ +--- +title: "Unbox and Set Up your Viam Rover 2" +linkTitle: "Unbox and Set Up your Viam Rover 2" +weight: 10 +type: "docs" +tags: ["rover", "tutorial"] +images: ["/appendix/try-viam/rover-resources/viam-rover-2/box-contents.png"] +imageAlt: "A Viam Rover 2 in a box" +description: "A list of the contents of the Viam Rover 2 kit, instructions for wiring your rover, and links for additional hardware." +no_list: true +aliases: + - "/get-started/try-viam/rover-resources/rover-tutorial" + - /appendix/try-viam/rover-resources/rover-tutorial/ +date: "2022-01-01" +# updated: "" # When the content was last entirely checked +--- + +{{% alert title="Tip" color="tip" %}} +Another version of the Viam Rover was sold until January 2024. +If you have purchased a Viam Rover 1, follow [these instructions](/dev/reference/try-viam/rover-resources/rover-tutorial-1/) instead. +{{% /alert %}} + +The [Viam Rover 2](https://www.viam.com/resources/rover) arrives preassembled with two encoded motors with suspension, a webcam with a microphone unit, a 6 axis IMU, power management and more. +It is primarily designed for use with a Raspberry Pi 4. +You can use it with [other types of boards](#motherboard) with some additional setup. + +{{< alert title="Important" color="note" >}} +You must purchase the following hardware separately: + +- A Raspberry Pi 4 +- Four 18650 batteries (with charger) or a RC type battery with dimensions no greater than 142mm x 47mm x 60mm (LxWxH) (with charger) +- A MicroSD card and an adapter/reader + {{< /alert >}} + +This guide covers what's inside the kit and provides instructions for [setting up your rover](#setup). + +{{< alert title="Note" color="note" >}} +The design for this rover is open source. +Find the details on [GitHub](https://github.com/viamrobotics/Viam-Rover-2). +{{< /alert >}} + +## What's inside the kit + +1. One assembled Viam Rover. + + {{}} + +1. Four M2.5 screws for mounting your Raspberry Pi. + + {{}} + +1. Two spare stiffer suspension springs. + You can swap them out with the springs that come with the rover if you need stiffer suspension for higher payload applications. + + {{}} + +1. Three different Allen wrenches (1.5 mm, 2 mm, and 2.5 mm) to unscrew the top and mount the Raspberry Pi. + + {{}} + +1. Four extenders to increase the height of the rover to house larger internal single-board computers (such as a Jetson Orin Nano). + + {{}} + +1. Ribbon cable for connecting the Raspberry Pi 4 to the Viam Rover 2 printed circuit board. + + {{}} + +All together, your kit looks like this: + +{{}} + +## Rover components + +### Dual drive motors with suspension and integrated motor encoders + +{{}} + +The motors come with integrated encoders. +For information on encoders, see [Encoder Component](/components/encoder/). +For more information on encoded DC motors, see [Encoded Motors](/components/motor/encoded-motor/). + +The kit also includes stiffer suspension springs that you can substitute for the ones on the rover. +Generally, a stiff suspension helps with precise steering control. +In contrast, a soft suspension allows the wheels to move up and down to absorb small bumps on the rover's path. + +### Motor driver + +{{}} + +The kit comes with an L298N driver dual H-Bridge DC motor driver. +L298 is a high voltage and high current motor drive chip, and H-Bridge is typically used to control the rotating direction and speed of DC motors. + +### 720p webcam with integrated microphone + +{{}} + +The webcam that comes with the kit is a standard USB camera device and the rover has a custom camera mount for it. +For more information, see [Camera Component](/components/camera/). + +### Motherboard + +{{}} + +The Viam Rover 2 uses a motherboard to which all ancillary components (buck converter, motor driver, IMU, INA219) are mounted. +This board includes an auxiliary Raspberry Pi 4 pinout that dupont connectors can be connected to, an auxiliary power input terminal, 5V, 3.3V and Ground pins. + +The motherboard also incorporates hole patterns for the following alternative single-board computers: + +- Jetson Nano and Orin Nano +- Rock Pi S +- Raspberry Pi Zero 2W +- Raspberry Pi 5 +- Orange Pi Zero 2 + +See [Alternative Board Configurations](#alternative-board-configurations) for a diagram of this. +Note that these boards require additional parts to be purchased and will not work out of the box with the Viam Rover 2. + +### 6DOF IMU + +{{}} + +The MPU6050 sensor is a digital 6-axis accelerometer or gyroscope that can read acceleration and angular velocity. +You can access it through the I2C digital interface. +You configure it with Viam on your machine as a [movement sensor](https://github.com/viam-modules/tdk-invensense/). + +### INA219 power monitoring unit + +{{}} + +The INA219 unit measures the voltage and current from the power supply. +You can use it to measure battery life status and power consumption. +It connects to the Raspberry Pi 4 through the I2C bus. +You configure it with Viam on your machine as a [power sensor](https://github.com/viam-modules/texas-instruments/). + +### DC-DC 5V converter + +{{}} + +The DC-to-DC power converter, or, buck converter, steps down voltage from its input to its output. +The OKY3502-4 has a USB output that can provide an additional 5V supply to auxiliary components. + +### Switch and low voltage cutoff circuit + +{{}} + +A slide switch is connected to the rover. +Use it to turn the power on and off. + +{{}} + +Mounted above the switch is a low voltage cutoff circuit that can be set to turn off power to the rover when the input voltage drops below a pre-set threshold. +This can be helpful for preventing batteries fully discharging which can damage lithium ion batteries. + +### Battery holders + +The Viam Rover 2 comes with two battery holder options. +The rover nominally operates with four 18650 batteries, but a higher capacity RC-type battery can be mounted into the rear of the rover. + +{{% alert title="Note" color="note" %}} +With either battery option, you must purchase a charger separately. +{{% /alert %}} + +#### 18650 battery pack + +{{}} + +18650 batteries are the nominal power supply recommended for use with the Viam Rover 2. +An 18650 battery is a lithium-ion rechargeable battery. +We recommend the button-top type, though either button or flat top can work. +Any brand is suitable as long as you comply with the battery safety requirements. + +#### Mount for RC-type battery + +{{}} + +You can mount a larger capacity RC-type battery into the rover. +You must wire the appropriate connector into the switch circuit. + +RC-batteries are lithium-ion rechargeable batteries. +Caution should always be taken when using such batteries, always comply with the battery safety requirements. +Check the [safety](#safety) section for more information. + +## Safety + +Read all instructions fully before using this product. + +This product is not a toy and is not suitable for children under 12. + +Switch the rover off when not in use. + +{{< alert title="Warning" color="warning" >}} +Lithium-ion batteries may pose a flammable hazard. +This product requires four 18650 lithium-ion batteries OR an RC-type battery. +DO NOT connect multiple power sources simultaneously. +Refer to the battery manufacturer’s operating instructions to ensure safe operation of the Viam Rover. +Dispose of lithium-ion batteries per manufacturer instructions. +{{< /alert >}} + +{{< alert title="Caution" color="caution" >}} +Damage may occur to the Raspberry Pi and/or Viam Rover if wired incorrectly. +Refer to the manufacturer’s instructions for correct wiring. +{{< /alert >}} + +Disclaimer: This product is preliminary and experimental in nature, and is provided "AS IS" without any representation or warranty of any kind. +Viam does not make any promise or warranty that the product will meet your requirements or be error free. +Some states do not allow the exclusion or disclaimer of implied warranties, so the above exclusions may not apply to you. + +## Setup + +{{% alert title="Important" color="tip" %}} +If you wish to use a Jetson Nano or Jetson Orin Nano, follow [this guide](./jetson-rover-setup/) instead. +{{% /alert %}} + +### Install Raspberry Pi OS + +{{% alert title="Tip" color="tip" %}} +If you are using another board, you can skip this step. +{{% /alert %}} + +Install a 64-bit Raspberry Pi OS onto your Pi following our [Raspberry Pi installation guide](/installation/prepare/rpi-setup/). +Follow all steps as listed, including the final step, [Enable communication protocols](/installation/prepare/rpi-setup/#enable-communication-protocols), which is required to enable [the accelerometer](#6dof-imu) on your rover. +Once you have installed Raspberry Pi OS and `viam-server`, put your SD card in the slot on your Pi. + +### Add the power supply + +You can power the Viam Rover 2 using 18650 batteries or RC-type batteries. +18650 batteries are the nominal power supply recommended for use with the rover, but RC-type batteries are higher capacity. + +{{< tabs >}} +{{% tab name="18650 Batteries" %}} + +{{}} + +The Viam Rover 2 arrives with the 18650 battery pack wired into the power input terminal block. +The battery pack works with batteries 67.5 mm in length, but the battery housing includes a spring to accommodate most batteries of that approximate length. + +- Turn the rover over so that you can see the battery housing. +- Place four 18650 batteries (taking care to ensure correct polarity orientation) inside the battery pack to provide power to the rover, which can be turned on and off through the power switch. + +{{% alert title="Tip" color="tip" %}} +Ensure that the batteries are making contact with the terminals inside the battery pack. +Some shorter batteries might need to be pushed along to ensure that contact is being made. +{{% /alert %}} + +{{% /tab %}} +{{% tab name="RC-Type Battery" %}} + +{{}} + +For users who prefer a higher capacity battery option, the Viam Rover 2 can house RC-type batteries that do not exceed the following dimensions:- 142mm x 47mm x 60mm (LxWxH). +Using a RC-type battery requires some re-wiring of the Viam Rover 2 which should only be undertaken by users who are comfortable handling electrical assemblies. +Improper configuration of the power supply could result in damage to the battery and poses a fire hazard. +A 4-S RC-type battery is recommended (14.8V). +We make no recommendations regarding specific RC battery brands. + +To change the rover's power supply configuration for a RC-battery: + +1. Ensure the 18650 battery holder contains no batteries +2. Unscrew the 18650 battery leads from the power input terminal. + Move these wires out of the way. +3. Screw in a power lead that matches that of the selected battery. + Common options include: EC-type connectors, XT-connectors or T-plugs. + Ensure lead is long enough to reach the battery. +4. Ensure that the polarity is correct (the polarity is marked on the PCB). + **Failure to do so may result in permanent damage to your Viam Rover 2 when powered on.** +5. Ensure that there is no short between the terminals (for example, due to a stray strand of wire). Use a multimeter to check continuity across the terminal to verify this. + Failure to do so may result in damage to the battery and may pose a fire hazard. +6. Place the battery in the receptacle between the two caster wheels: + {{}} + Connect the battery to the lead that is wired into the power input terminal. + Although not necessary, slots in the bottom plate of the rover allow a velcro strap to be placed around the battery to secure it. + +{{% /tab %}} +{{< /tabs >}} + +{{% alert title="Caution" color="caution" %}} +DO NOT connect both power supplies at the same time. +These suggestions are alternative configurations. +Connecting multiple batteries together may result in damage to the batteries and rover, it may also pose a fire hazard. +{{% /alert %}} + +### Configure the low voltage cutoff circuit + +Now that you have connected your power supply to your rover, you need to configure the [low voltage cutoff circuit](#switch-and-low-voltage-cutoff-circuit). +You must configure two settings: + +1. The low voltage cutoff +2. The reconnect voltage + +The reconnect voltage is the voltage increment above the cutoff point that is needed for the power to reconnect. +For both 18650 and RC-type battery inputs, the nominal voltage is 14.8V, so you should set the low voltage threshold to 14.7. +You can adjust this value if using a battery that has an alternative nominal voltage. + +To set the low voltage cutoff and reconnect voltage: + +1. Turn on the circuit using the switch. + The LED indicator should indicate a current voltage level of 14.8-16V depending on the battery charge status: + + {{}} + +2. Hold down the left button until the LED display starts flashing with the low cutoff value. + The factory default low cutoff value is 12V. +3. Use the left (+) and right (-) buttons to set the voltage to 14.7V (or whatever you want the cutoff to be). +4. Wait for the indicator to stop flashing. +5. Hold down the right button until the LED display starts flashing with the reconnect voltage value. The factory default reconnect voltage is 2.0V. +6. Use the left (+) and right (-) buttons to set the reconnect voltage to 0.2V. +7. Wait for the indicator to stop flashing. + +Your voltage cutoff circuit is now configured. +When the voltage drops below 14.8V (or reaches the cutoff point you chose), a relay will disconnect the motherboard. +A minimum voltage of 14.9V will be needed to reconnect the power (that is, after charging the batteries). + +### Connect the ribbon cable, Pi, and camera + +{{% alert title="Tip" color="tip" %}} +If you are using another board, follow the instructions in [Alternative board configurations](#alternative-board-configurations) in place of this step. +{{% /alert %}} + +To be able to attach the Raspberry Pi, unscrew the top of the rover with the biggest Allen key. +Then use the smallest Allen key and the provided M2.5 screws to attach the Raspberry Pi to your rover through the standoffs on the motherboard. +The Raspberry Pi 4 should be mounted such that the USB ports are to the right, as viewed from above. + +Use the ribbon cable to connect the Raspberry Pi 4 to the motherboard. +The ribbon cable comes connected to the motherboard out of the box, wrap it over the top of the Raspberry Pi 4 and connect with the GPIO pins as shown: + +{{}} +
+{{}} + +Also, connect the webcam's USB lead to any USB port on your Pi. + +Assuming you are using a Raspberry Pi 4, you can skip the following section and move to [Screw the top plate back on and switch the rover on](#screw-the-top-plate-back-on-and-switch-the-rover-on). + +### Alternative board configurations + +This guide assumes you are using a Raspberry Pi 4, but you can use [different boards](#motherboard) with your Viam Rover 2 with some modifications while attaching the boards. + +{{% alert title="Tip" color="tip" %}} +If you are using a Jetson board, you should be following [this guide](./jetson-rover-setup/). +{{% /alert %}} + +Reference the appropriate alternative hole pattern provided on the motherboard: + +{{}} + +Detach the motherboard, unscrew the standoffs, and move them to the correct holes. +Then, use the smallest Allen key and the provided M2.5 screws to attach your board to your rover through these standoffs. + +{{< expand "Raspberry Pi Zero 2W" >}} +If you are using a Raspberry Pi Zero 2W, you should be able to connect your ribbon cable straight to the board. +If not, you will have to take off the ribbon cable and use [dupont connectors](https://www.amazon.com/IWISS-1550PCS-Connector-Headers-Balancer/dp/B08X6C7PZM/) to wire a connection from the motherboard to the single-board computer's GPIO pins. +{{< /expand >}} + +{{< expand "Raspberry Pi 5" >}} +If you are using a Raspberry Pi 5, use the same screw placements as for the Raspberry Pi 4. +The hardware setup is the same. +The only difference is in the [configuration](/dev/reference/try-viam/rover-resources/rover-tutorial-fragments/). +{{< /expand >}} + +Then connect the webcam's USB lead to any USB port on your board. + +If you need to increase the height of your rover to accommodate your board being larger than a Raspberry Pi 4, place the [height extender standoffs](#whats-inside-the-kit) now. + +### Screw the top plate back on and switch the rover on + +Screw the top plate back on with the biggest Allen key and use the power switch to turn the rover on. +Wait a second for the low voltage cutoff relay to trip and provide power to the rover motherboard. +If the Pi has power, the lights on the Raspberry Pi will light up. + +### Enable I2C on your Pi + +Enable the I2C protocol on your Pi to get readings from the power sensor when controlling your rover. + +1. SSH into your Pi. + Launch the configuration tool by running the following command: + + ```sh {class="command-line" data-prompt="$"} + sudo raspi-config + ``` + +2. Use your keyboard to select **Interface Options**, and press return. + Select **I2C** enabled. + +3. Then, to apply the changes, restart your Raspberry Pi if it hasn't already prompted you to do so. + + ```sh {class="command-line" data-prompt="$"} + sudo reboot + ``` + +### Control your rover on the Viam app + +If you followed the instructions in the [Pi installation guide](/installation/prepare/rpi-setup/), you should have already made an account on the [Viam app](https://app.viam.com), installed `viam-server` on the board, and added a new machine. + +If not, add a new machine in the [Viam app](https://app.viam.com) and follow the {{< glossary_tooltip term_id="setup" text="setup instructions" >}} until your machine is connected. + +To configure your rover so you can start driving it, [add a Viam Rover 2 Fragment to your machine](/dev/reference/try-viam/rover-resources/rover-tutorial-fragments/). + +## Next steps + +Before you can use your Viam rover with the Viam platform you need to configure your rover: + +{{< cards >}} +{{% card link="/dev/reference/try-viam/rover-resources/rover-tutorial-fragments/" %}} +{{< /cards >}} + +After you have configured your rover, follow one of these tutorials: + +{{< cards >}} +{{% card link="/tutorials/control/drive-rover/" %}} +{{% card link="/tutorials/services/navigate-with-rover-base/" %}} +{{< /cards >}} + +### Extensibility + +Due to the aluminum chassis and its expandable mounting features, you can extend the Viam Rover. +With it, you can customize your rover by mounting additional sensors, lidar, robot arms, or other components. +The following are just a few ideas, but you can expand or modify the rover kit with any components you want: + +- For GPS navigation, we support NMEA (using serial and I2C) and RTK. + Make and model don't make a difference as long as you use these protocols. + See [Movement Sensor Component](/components/movement-sensor/) for more information. +- For [LiDAR laser range scanning](/services/slam/cartographer/), we recommend RPlidar (including A1, which is a sub-$100 LIDAR). +- For robot arms, we tried the [Yahboom DOFBOT robotics arm](https://category.yahboom.net/products/dofbot-jetson_nano) with success. + +### Mount an RPlidar to the rover + +If you are mounting an RPlidar to your rover, be sure to position the RPlidar so that it faces forward in the direction of travel, facing in the same direction as the included webcam. +For example, if you are using the [RPlidar A1](https://www.slamtec.com/en/Lidar/A1) model, mount it to the Rover so that the pointed end of the RPlidar mount housing points in the direction of the front of the Rover. +This ensures that the generated {{< glossary_tooltip term_id="slam" text="SLAM" >}} map is oriented in the expected direction relative to the Rover, with the top of the generated map corresponding to the direction the RPlidar is facing when you initiate mapping. + +If you need a mount plate for your RPlidar A1 model, you can 3D print an adapter plate using the following: + +- [RPlidar A1 adapter STL](https://github.com/viamrobotics/Viam-Rover-2/blob/main/CAD/RPIidar_adapter_v2.STL) diff --git a/docs/dev/reference/try-viam/rover-resources/rover-tutorial/jetson-rover-setup.md b/docs/dev/reference/try-viam/rover-resources/rover-tutorial/jetson-rover-setup.md new file mode 100644 index 0000000000..89330e5d3d --- /dev/null +++ b/docs/dev/reference/try-viam/rover-resources/rover-tutorial/jetson-rover-setup.md @@ -0,0 +1,168 @@ +--- +title: "Set up your Rover 2 with a Jetson" +linkTitle: "Set Up your Rover 2 with a Jetson" +weight: 10 +type: "docs" +tags: ["rover", "tutorial"] +images: ["/appendix/try-viam/rover-resources/viam-rover-2/box-contents.png"] +imageAlt: "A Viam Rover 2 in a box" +description: "Instructions for setting up a Viam Rover 2 with a Jetson Nano or Jetson Orin Nano." +aliases: + - /get-started/try-viam/rover-resources/rover-tutorial/jetson-rover-setup/ + - /appendix/try-viam/rover-resources/rover-tutorial/jetson-rover-setup/ +date: "2022-01-01" +# updated: "" # When the content was last entirely checked +--- + +The [Viam Rover 2](https://www.viam.com/resources/rover) arrives preassembled with two encoded motors with suspension, a webcam with a microphone unit, a 6 axis IMU, power management and more. +It is primarily designed for use with a Raspberry Pi 4, but you can use it with a larger Jetson board with some additional setup. + +This guide provides supplemental instructions for setting up your rover with a Jetson Nano. + +{{< tabs >}} +{{% tab name="Jetson Nano" %}} + +{{% alert title="Important" color="tip" %}} +You must purchase the following hardware separately: + +- Four 18650 batteries (with charger) or a RC type battery with dimensions no greater than 142mm x 47mm x 60mm (LxWxH) (with charger) +- A MicroSD card and an adapter/reader +- A longer 40 pin ribbon cable: female-female +- 4 25 mm female-female standoffs +- WiFi board: either [a board that directly interfaces with the Nano](https://www.amazon.com/Wireless-AC8265-Wireless-Developer-Support-Bluetooth/dp/B07V9B5C6M/) or [a USB based device](https://www.amazon.com/wireless-USB-WiFi-Adapter-PC/dp/B07P5PRK7J/) +- Electrical tape + +The ribbon cable you purchase must meet these requirements: + +- Female-female +- 2.54 mm spacing +- Both connectors facing the same direction +- Pin continuity order to be 12-12 +- Recommended length ~200 mm + {{% /alert %}} + +## Safety + +Read all instructions fully before using this product. + +This product is not a toy and is not suitable for children under 12. + +Switch the rover off when not in use. + +{{< alert title="Warning" color="warning" >}} +Lithium-ion batteries may pose a flammable hazard. +This product requires four 18650 lithium-ion batteries OR an RC-type battery. +DO NOT connect multiple power sources simultaneously. +Refer to the battery manufacturer’s operating instructions to ensure safe operation of the Viam Rover. +Dispose of lithium-ion batteries per manufacturer instructions. +{{< /alert >}} + +{{< alert title="Caution" color="caution" >}} +Damage may occur to the board and/or Viam Rover if wired incorrectly. +Refer to the manufacturer’s instructions for correct wiring. +{{< /alert >}} + +Disclaimer: This product is preliminary and experimental in nature, and is provided "AS IS" without any representation or warranty of any kind. +Viam does not make any promise or warranty that the product will meet your requirements or be error free. +Some states do not allow the exclusion or disclaimer of implied warranties, so the above exclusions may not apply to you. + +## Setup + +1. Install the WiFi board/device on the Nano. Follow the manufacturer's instructions to do so. +2. Power the Jetson Nano with a power supply and [prepare the device and install `viam-server`](/installation/prepare/jetson-nano-setup/). +3. Switch back to the main guide and complete these two steps: + [Add the power supply](/dev/reference/try-viam/rover-resources/rover-tutorial/#add-the-power-supply) and [Configure the low-voltage cutoff circuit](/dev/reference/try-viam/rover-resources/rover-tutorial/#configure-the-low-voltage-cutoff-circuit). +4. Unscrew the top of the rover with the biggest Allen key. +5. Take the [height extenders](/dev/reference/try-viam/rover-resources/rover-tutorial/#whats-inside-the-kit) provided in your kit. + Apply them to the rover chassis posts. +6. Unscrew the standoffs in the motherboard and relocate them to the Jetson board hole pattern: {{}} +7. Connect the ribbon cable to the motherboard and Jetson Nano. + The ribbon cable needs to be routed towards the front of the rover and flip back to the pins on the Jetson Nano, as pictured: {{}} +8. Use the smallest Allen key and the provided M2.5 screws to attach your board to your rover through these standoffs. The USB ports should be facing the left-hand side of the rover, when viewed from above: {{}} +9. Connect the webcam's USB lead to any USB port on your board. +10. Flip the power switch to turn your rover on. + +{{% /tab %}} +{{% tab name="Jetson Orin Nano" %}} + +{{% alert title="Important" color="tip" %}} +You must purchase the following hardware separately: + +- A 4S RC type battery with dimensions no greater than 142mm x 47mm x 60mm (LxWxH) (with charger) +- A MicroSD card and an adapter/reader +- A longer ribbon cable: female-female (ensure that the contacts are correct) +- 4 25 mm female-female standoffs +- WiFi board: either [a board that directly interfaces with the Nano](https://www.amazon.com/Wireless-AC8265-Wireless-Developer-Support-Bluetooth/dp/B07V9B5C6M/) or [a USB based device](https://www.amazon.com/wireless-USB-WiFi-Adapter-PC/dp/B07P5PRK7J/) +- A wired DC jack connector with the same polarity as the Jetson Orin Nano power input +- Electrical tape + +The ribbon cable you purchase must meet these requirements: + +- Female-female +- 2.54 mm spacing +- Both connectors facing the same direction +- Pin continuity order to be 12-12 +- Recommended length ~200 mm + {{% /alert %}} + +## Safety + +Read all instructions fully before using this product. + +This product is not a toy and is not suitable for children under 12. + +Switch the rover off when not in use. + +{{< alert title="Warning" color="warning" >}} +Lithium-ion batteries may pose a flammable hazard. +This product requires four 18650 lithium-ion batteries OR an RC-type battery. +DO NOT connect multiple power sources simultaneously. +Refer to the battery manufacturer’s operating instructions to ensure safe operation of the Viam Rover. +Dispose of lithium-ion batteries per manufacturer instructions. +{{< /alert >}} + +{{< alert title="Caution" color="caution" >}} +Damage may occur to the Jetson Orin Nano and/or Viam Rover if wired incorrectly. +Refer to the manufacturer’s instructions for correct wiring. +{{< /alert >}} + +Disclaimer: This product is preliminary and experimental in nature, and is provided "AS IS" without any representation or warranty of any kind. +Viam does not make any promise or warranty that the product will meet your requirements or be error free. +Some states do not allow the exclusion or disclaimer of implied warranties, so the above exclusions may not apply to you. + +## Setup + +1. Power the Jetson Orin Nano with a power supply and [prepare the device and install `viam-server`](/installation/prepare/jetson-nano-setup/). +2. Switch back to the main guide and complete these two steps: + [Add the power supply](/dev/reference/try-viam/rover-resources/rover-tutorial/#add-the-power-supply) and [Configure the low-voltage cutoff circuit](/dev/reference/try-viam/rover-resources/rover-tutorial/#configure-the-low-voltage-cutoff-circuit). +3. Unscrew the top of the rover with the biggest Allen key. +4. Take the [height extenders](/dev/reference/try-viam/rover-resources/rover-tutorial/#whats-inside-the-kit) provided in your kit. + Apply them to the rover chassis posts. +5. Unscrew the standoffs in the motherboard and relocate them to the Jetson board hole pattern: {{}} +6. **IMPORTANT:** Disconnect the 5V buck converter. Unlike other boards, the Jetson Orin Nano requires a 7-20V input, which means that the board must be powered directly from the battery. + **Before commencing, ensure that everything is powered off.** + It is recommended that you clip the buck converter wires completely and place electrical tape over the exposed contacts, as pictured: + {{}} + {{}} +7. Connect the ribbon cable to the motherboard and Jetson Orin Nano. +8. Use the smallest Allen key and the provided M2.5 screws to attach your board to your rover through these standoffs. The USB ports should be facing the left-hand side of the rover, when viewed from above: {{}} +9. Connect a WiFi adapter or a board that directly interfaces to the underside of the Jetson Orin Nano. +10. Connect the webcam's USB lead to any USB port on your board. +11. Flip the power switch to turn your rover on. + +{{% /tab %}} +{{< /tabs >}} + +### Control your rover on the Viam app + +If you followed the instructions in the [Jetson installation guide](/installation/prepare/jetson-nano-setup/), you should have already made an account on the [Viam app](https://app.viam.com), installed `viam-server` on the board, and added a new machine. + +To configure your rover so you can start driving it, [add a Viam Rover 2 Fragment to your machine](/dev/reference/try-viam/rover-resources/rover-tutorial-fragments/). + +## Next steps + +After adding the appropriate fragment, follow one of these tutorials with your borrowed or owned rover: + +{{< cards >}} +{{% card link="/tutorials/control/drive-rover/" %}} +{{< /cards >}} diff --git a/docs/dev/reference/try-viam/try-viam-tutorial.md b/docs/dev/reference/try-viam/try-viam-tutorial.md new file mode 100644 index 0000000000..5aad38c6d8 --- /dev/null +++ b/docs/dev/reference/try-viam/try-viam-tutorial.md @@ -0,0 +1,234 @@ +--- +title: "Control A Rented Viam Rover" +linkTitle: "Control A Rented Viam Rover" +weight: 39 +type: "docs" +description: "Remotely control a Viam Rover located on-site at Viam in New York." +images: ["/appendix/try-viam/rover-resources/viam-rover/rover-front.jpg"] +imageAlt: "The front of the assembled Viam Rover" +tags: ["try viam", "app"] +no_list: true +draft: true +aliases: + - "/try-viam/try-viam-tutorial/" + - "/get-started/try-viam/try-viam-tutorial/" +date: "2022-01-01" +# updated: "" # When the content was last entirely checked +--- + +_Try Viam_ is a way to try out the Viam platform without setting up any hardware yourself. +You can take over a Viam Rover in our robotics lab to play around! + +The rental rover is made up of a chassis with a Raspberry Pi 4B single-board computer, two motors, encoders, and a camera. +The Try Viam area also has an overhead camera to provide a view of the rental rover, allowing you to view its movements in real time. + +Watch this tutorial video for a walkthrough of Try Viam, including [how to reserve a Viam Rover](/appendix/try-viam/reserve-a-rover/#using-the-reservation-system), [navigate the Viam platform](/fleet/), and [drive the rover](#control-tab): + +{{}} + +## **CONTROL** tab + +Click on the rover name at the top to go to the rental rover's **CONTROL** tab where you can drive the machine and interact with each of the machine's components. + +At the top of the page you can see the randomly assigned name of the rover, the host, and the IP address. + +![The top banner of a Try Viam rover machine page. The randomly generated name for this rover is 'silent-forest'](appendix/try-viam/try-viam/bannerinfo.png) + +The **CONTROL** tab contains panels for each of the rover's components: + +- the base, +- the left and right motors, +- the web game pad, +- the board, and +- two cameras. + +The order of these components may vary. + +{{}} + +### Base control + +The [base component](/components/base/) is the platform that the other parts of a mobile machine attach to. + +Click the `viam_base` component to expand the base control pane to reveal the camera feed and driving interfaces. + +![The viam_base component panel on the CONTROL tab. The Keyboard Disabled toggle is grey and not yet enabled.](appendix/try-viam/try-viam/initial-base-control.png) + +#### Camera views + +In the `viam_base` component panel, select the `cam` for the front-facing camera and the `overhead-cam:overheadcam` for an overhead view of your rover. +We recommend enabling both cameras so you can have a better sense of what's happening in the space. + +![The viam_base component panel showing both the 'cam' and 'overheadcam' camera feeds enabled.](appendix/try-viam/try-viam/enable-both-cameras.png) + +You can also view and control the camera streams from the individual camera components on the [**CONTROL** page](/cloud/machines/#control). + +#### Movement control + +To move your rover, click on **viam_base**. +You can use the **W**, **A**, **S**, and **D** buttons to move forward, turn left, move backwards, and turn right. + +If you enable the keyboard toggle, you can also control the rover's movement with the **W**, **A**, **S**, and **D** keys and the arrow keys on your keyboard. + +{{% alert title="Tip" color="tip" %}} + +Each time you show or hide a camera, **Keyboard Enabled** automatically toggles to **Keyboard Disabled**. + +If you change your camera configurations, you must re-enable your keyboard control to control your rover again. +This behavior is for safety purposes. + +{{% /alert %}} + +##### Discrete movement control + +If you go from the from **Keyboard** to the **Discrete** tab, you can choose between: + +- Different movement modes: `Straight` or `Spin` +- Different movement types: `Continuous` or `Discrete` + + In _continuous_ movement mode you can set a speed at which the rover will move indefinitely in the specified direction. + In _discrete_ movement mode you can set a speed at which to move and a distance to cover before stopping. + +- Directions: `Forwards` and `Backwards`. + +![The DISCRETE tab of the viam_base component panel. Movement mode, movement type, and direction mode toggles are shown as well as a speed (mm/sec) field and a distance field (the latter of which is greyed out because the movement type toggle is set to continuous instead of discrete movement).](appendix/try-viam/try-viam/discrete.png) + +### Camera control + +While you can view the camera streams [from the base component panel](#camera-views), you can access more features on each individual [camera component](/components/camera/) panel. In these panels, you can: + +- Set the refresh frequency +- Export screenshots +- View point cloud data (for machines with depth cameras) + +**cam Stream**: + +![The front-facing camera panel (for the component named 'cam').](appendix/try-viam/try-viam/cam-panel.png) + +**overhead-cam:overheadcam Stream**: + +![The overhead camera panel (for the component named 'overhead-cam').](appendix/try-viam/try-viam/overhead-cam-panel.png) + +### Motor control + +The [motor components](/components/motor/) enable you to move the base. +The motors are named `left` and `right`, corresponding to their location on the rover base. +Their initial state is **Idle**. +You can click on each motor panel and make the motor **RUN** or **STOP**. + +![The left and right motor panels on the CONTROL tab.](appendix/try-viam/try-viam/left-right-panels.png) + +Run each motor at a different power level to go faster or slower, and toggle rotation directions to go forwards or backwards. +You can also see their current positions (based on encoder readings) in real time: + +![The left motor running at 20% power and forwards and right motor running at 80% power and backwards.](appendix/try-viam/try-viam/motors-running.png) + +{{}} + +#### Board control + +The [board component](/components/board/) is the signal wire hub of a machine which allows you to control the states of individual GPIO pins on the board. + +For the Viam Rover, the board component is named `local` and controls a Raspberry Pi on the Viam Rover. +With it, you can control the states of individual GPIO pins on the board. + +![The board panel in the CONTROL tab, including fields to get and set GPIO pin states.](appendix/try-viam/try-viam/board-panel.png) + +#### Web gamepad control + +The [web gamepad component](/components/input-controller/webgamepad/) is disabled by default, but if you have a compatible gamepad, you can enable the **Enabled** toggle. + +## Learn about machine configuration + +On the Viam app, navigate to the **Components** subtab, under **CONFIGURE**. +There you can view the configuration for each component in the machine: attributes, component dependencies, pin assignments, and more. + +![The CONFIG tab in Builder mode (as opposed to Raw JSON). The board component panel and right motor panel are visible.](appendix/try-viam/try-viam/config-builder.png) + +### Board configuration + +The [board component](/components/board/) is the signal wire hub of a machine. +Configuring a board component allows you to control the states of individual GPIO pins to command the electrical signals sent through and received by the board. +For the Viam Rover, the board component is a Raspberry Pi with **Name** `local`, **Type** `board`, and **Model** `viam:raspberry-pi:rpi`. + +### Encoder configuration + +An [encoder](/components/encoder/) is a device that is used to sense angular position, direction and/or speed of rotation. +In this case, the encoders on the left and right motors are `Lenc` and `Renc` and configure the pins to `le` and `re`. + +{{< alert title="Important" color="note" >}} +When configuring encoded motors for your own robot, you must configure the encoders before the motors because the motors depend on the encoders. +{{< /alert >}} + +![The right encoder config panel with the board attribute set to 'local' and the pins struct containing 'i' set to 're'.](appendix/try-viam/try-viam/right-encoder.png) + +### Motor configuration + +Both [motors](/components/motor/) on this rover use the model `gpio` which is the model for basic DC motors that are connected to and controlled by the configured board. + +The attributes section lists the board the motor is wired to, and since the rover's motors are encoded the user interface also shows the encoded motor attributes: the encoder name, motor ramp rate limit, encoder ticks per rotation, and max RPM limit. + +You can click **{}** (Switch to Advanced) on the top right of the component's card to view the attributes field in raw JSON format. +The attributes pane contains the current JSON configuration for this component. +Click **Switch to Builder** to return to the default graphical user interface. + +### Base configuration + +The [base component](/components/base/) is the platform that the other parts of a mobile robot attach to. +By configuring a base component, the individual components are organized to produce coordinated movement and you gain an interface to control the movement of the whole physical base of the robot without needing to send separate commands to individual motors. +The base's type is `base` and its model is `wheeled` which configures a robot with wheels on its base, like the Viam Rover. +The **left** and **right** attributes configure the motors on the left and right side of the rover, which are named `left` and `right`, respectively. + +The **Wheel Circumference** (in millimeters) is 217. +The **Width** is the distance between wheel centerlines, 260mm in this case. +The **Spin Slip Factor** of 1.76 is used in steering calculations to account for slippage of the wheels against the ground while turning. + +![The base configuration panel, showing right and left motors, wheel circumference set to 217, width set to 260mm, and spin slip factor set to 1.76.](appendix/try-viam/try-viam/base-config.png) + +### Camera configuration + +The [camera component](/components/camera/) configures the webcam that is plugged into the Raspberry Pi of the rover. +The camera component has the **Type** `camera`, the **Model** `webcam`, and the **Video Path** is `video0`. + +For more information on choosing the correct video path, refer to our [webcam documentation](/components/camera/webcam/). + +![The video path in the webcam configuration panel is set to 'video0'.](appendix/try-viam/try-viam/camera-config.png) + +### Gamepad configuration + +The [web gamepad](/components/input-controller/webgamepad/) component has the **Type** `input_controller` and the **Model** `webgamepad`. + +![The gamepad configuration panel. No attributes are configured.](appendix/try-viam/try-viam/gamepad-config.png) + +If you connect a generic gamepad controller to your computer, you can use it to control your machine. + +If you are configuring your own machine, be aware that using the gamepad requires a service. +To see how the service is configured, navigate to the **Services** section under the **CONFIGURE** tab. +The **Services** subtab contains the "Base Remote Control" service which uses three attributes: + +- **base**: `viam_base` +- **control_mode**: `joystickControl` +- **input_controller**: `WebGamepad` + +The names for **base** and **input_controller** correspond to the naming scheme from the **Components** tab. + +![The base remote control service named 'base_rc' on the Services subtab of the CONFIG tab.](appendix/try-viam/try-viam/base-rc.png) + +### Raw JSON + +The 'Builder' configuration mode provides a user-friendly, guided experience for you. +In the background, the Viam app translates the Viam machine configuration into JSON. +You can view the complete JSON for your rover by clicking on **Raw JSON** at the top left of the **CONFIGURE** tab. + +![The CONFIG tab with the mode toggled to Raw JSON. A section of the full raw JSON config is displayed but one would have to scroll to see all of it.](appendix/try-viam/try-viam/raw-json.png) + +You can [copy this `JSON` config between rental rovers](/appendix/try-viam/reserve-a-rover/#how-can-i-reuse-my-borrowed-rover). + +## Next steps + +If you have questions, check out our [FAQ](/appendix/try-viam/reserve-a-rover/) or join our [Discord Community](https://discord.gg/viam), where you can ask questions and meet other people working on robots. + +{{< cards >}} +{{% card link="/tutorials/control/drive-rover/" %}} +{{% card link="/dev/reference/try-viam/rover-resources/" %}} +{{< /cards >}} diff --git a/docs/operate/reference/services/slam/_index.md b/docs/operate/reference/services/slam/_index.md index 7a2c578fdd..26a37d2fcc 100644 --- a/docs/operate/reference/services/slam/_index.md +++ b/docs/operate/reference/services/slam/_index.md @@ -70,6 +70,6 @@ While in a slam session, you should: - use a machine that can go smoothly over bumps and transitions between flooring areas - drive at a moderate speed - when using a wheeled base, try to include an [odometry movement sensor](/operate/reference/components/movement-sensor/wheeled-odometry/). This helps the SLAM algorithm keep track of where the machine is moving. -- it is important to note that the [adxl345 accelerometer](https://github.com/viam-modules/analog-devices/) on the [Viam Rover 1](/appendix/try-viam/rover-resources/rover-tutorial-1/) **will not** satisfy the movement sensor requirement. +- it is important to note that the [adxl345 accelerometer](https://github.com/viam-modules/analog-devices/) on the [Viam Rover 1](/dev/reference/try-viam/rover-resources/rover-tutorial-1/) **will not** satisfy the movement sensor requirement. You can find additional assistance in the [Troubleshooting section](/manage/troubleshoot/troubleshoot/). diff --git a/docs/tutorials/configure/configure-rover.md b/docs/tutorials/configure/configure-rover.md index 76d98060d1..46f9bb579f 100644 --- a/docs/tutorials/configure/configure-rover.md +++ b/docs/tutorials/configure/configure-rover.md @@ -28,7 +28,7 @@ This tutorial will guide you through configuring a rover. If you are using a SCUTTLE, a Yahboom rover, or a different rover, this tutorial covers instructions for your rover model. {{< alert title="Viam Rover" color="note" >}} -If you are using a Viam Rover, use the [Viam Rover tutorial fragment](/appendix/try-viam/rover-resources/rover-tutorial-fragments/) instead. +If you are using a Viam Rover, use the [Viam Rover tutorial fragment](/dev/reference/try-viam/rover-resources/rover-tutorial-fragments/) instead. {{< /alert >}} ## Requirements diff --git a/docs/tutorials/control/drive-rover.md b/docs/tutorials/control/drive-rover.md index 11dd01ff72..c1b99b4880 100644 --- a/docs/tutorials/control/drive-rover.md +++ b/docs/tutorials/control/drive-rover.md @@ -50,7 +50,7 @@ You don't need to buy or own any hardware to complete this tutorial. You only need the following: - A Linux, macOS or Windows computer that can run SDK code. -- A [borrowed Viam Rover](https://app.viam.com/try), [your own Viam Rover](/appendix/try-viam/rover-resources/), or [another mobile robot](/tutorials/configure/configure-rover/). +- A [borrowed Viam Rover](https://app.viam.com/try), [your own Viam Rover](/dev/reference/try-viam/rover-resources/), or [another mobile robot](/tutorials/configure/configure-rover/). You can use [Try Viam](https://app.viam.com/try) to borrow a rover online at no cost which is already configured with all the components you need. If you have your own rover on hand, whether it's a [Viam rover](https://www.viam.com/resources/rover) or not, these instructions work for any wheeled robot that can be configured as a [base component](/operate/reference/components/base/wheeled/). @@ -66,7 +66,7 @@ Go to [Try Viam](https://app.viam.com/try) and borrow a rover. If a rover is available, the rover will take up to 30 seconds to be configured for you. {{< alert title="Tip" color="tip" >}} -If you are running out of time during your session, you can [extend your rover session](/appendix/try-viam/reserve-a-rover/#extend-your-reservation) as long as there are no other reservations. +If you are running out of time during your session, you can [extend your rover session](/dev/reference/try-viam/reserve-a-rover/#extend-your-reservation) as long as there are no other reservations. {{< /alert >}} {{< /expand >}} diff --git a/docs/tutorials/projects/integrating-viam-with-openai.md b/docs/tutorials/projects/integrating-viam-with-openai.md index 9c53cfe47c..c01453bda7 100644 --- a/docs/tutorials/projects/integrating-viam-with-openai.md +++ b/docs/tutorials/projects/integrating-viam-with-openai.md @@ -77,7 +77,7 @@ This tutorial will show you how to use the Viam platform to create an AI-integra ## Rover setup This tutorial assumes that you have already set up your Viam Rover. -If not, first follow the Viam Rover [setup instructions](/appendix/try-viam/rover-resources/rover-tutorial/). +If not, first follow the Viam Rover [setup instructions](/dev/reference/try-viam/rover-resources/rover-tutorial/). If you are not using a Viam Rover, add a new machine in the [Viam app](https://app.viam.com). Then follow the {{< glossary_tooltip term_id="setup" text="setup instructions" >}} to install `viam-server` on the computer you're using for your project and connect to the Viam app. diff --git a/docs/tutorials/services/color-detection-scuttle.md b/docs/tutorials/services/color-detection-scuttle.md index d4978222e1..80c62b6fd0 100644 --- a/docs/tutorials/services/color-detection-scuttle.md +++ b/docs/tutorials/services/color-detection-scuttle.md @@ -30,7 +30,7 @@ toc_hide: true After following this tutorial, you will understand how the ML model service and the Vision service work together and you will be able to use both alongside the base and camera components to make a machine respond to the world around it. --> In this tutorial, you'll learn how to use the [vision service](/data-ai/reference/vision/) to make a rover follow a colored object. -We're using a [SCUTTLE rover](https://www.scuttlerobot.org/) for this tutorial but you can use any rover, including the [Viam rover](/appendix/try-viam/rover-resources/). +We're using a [SCUTTLE rover](https://www.scuttlerobot.org/) for this tutorial but you can use any rover, including the [Viam rover](/dev/reference/try-viam/rover-resources/). {{< alert title="You will learn" color="tip" >}} @@ -52,7 +52,7 @@ You don't need to buy or own any hardware to complete this tutorial. You will need the following hardware to complete this tutorial: - A wheeled rover, configured with a base component. - If you have your own Viam rover [follow the Viam Rover configuration instructions](/appendix/try-viam/rover-resources/). + If you have your own Viam rover [follow the Viam Rover configuration instructions](/dev/reference/try-viam/rover-resources/). If you own another mobile robot [follow the general configuration instructions](/tutorials/configure/configure-rover/). This tutorial uses a [SCUTTLE rover](https://www.scuttlerobot.org/shop/) as an example but you can complete this tutorial using a [Yahboom 4WD Smart Robot](https://category.yahboom.net/collections/robotics/products/4wdrobot) or any other wheeled robot that can be configured as a [base component](/operate/reference/components/base/wheeled/).