JetRacer ROS AI Kit
| ||
Overview
Introduction
This is a high-performance AI intelligent robot car specially made for students who learn and develop ROS systems. It adopts the ROS robot system and adopts dual controllers. The sub-controller adopts the Raspberry Pi RP2040 microcontroller, and the host controller adopts JETSON-NANO-DEV- KIT-A AI controller. The module integrates the OLED, servo motor drive circuit, battery protection circuit, an audio output circuit, etc., which saves you the trouble of soldering the circuit, supports unloading and charging and does not need to repeatedly remove the battery. Built-in IMU attitude sensor, DC encoder motor controls the speed through PID, and can output wheel odometer. The software is compatible with the NVIDIA Jetbot open-source project program, and supports AI deep learning, SLAM mapping and navigation, OpenCV visual processing, intelligent voice interaction, and other functions.
Features
- Support 3 x 2600mah 18650 batteries (not included), up to 12.6V voltage output, stronger motor power.
- Onboard S-8254AA + AO4407A lithium battery protection circuit, with anti-overcharge, anti-over-discharge, anti-over-current and short-circuit protection functions.
- The onboard INA219 chip is for real-time monitoring of battery voltage and charging current.
- Onboard 0.91-inch 128×32 resolution OLED, real-time display of car IP address, memory, battery power, etc.
- The onboard MPU9250 IMU attitude sensor can accurately determine the direction of the car.
- Adopt coded DC gear motor, support PID debugging, and output wheel odometer.
- Adopt Raspberry Pi RP2040 dual-core microcontroller, with better real-time performance and higher control accuracy.
- Using ROS robot system development, a large number of visual software tools, and more ways to develop powerful functions.
- Support IIC slave mode control, no need to transplant, fully compatible with NVIDIA Jetbot open-source project program, easy to achieve AI functions such as obstacle avoidance and autonomous line inspection.
Interface Introduction
- Highly-integrated Module
Usage Notice
- When the micro-control program of the module starts, the LED is on and the IMU is in the calibration state. After the calibration is completed, the LED flashes. If the LED does not flash, the program is not running normally, try pressing RESET to restart, or re-burn the firmware program.
- The robot needs to be in a horizontal stationary state when the IMU is in calibration. Otherwise, the IMU data will be inaccurate, and the coordinates of the car will be in a state of constant rotation. Put the flat and still, and press RESET to restart.
- The expansion board is connected to Jetson Nano through USB and I2C. After a normal connection, it will recognize the two serial devices /dev/ttyACM0 and /dev/ttyACM1, and will recognize the I2C address 0x60 device at the same time.
- The volume adjustment is too large, which will cause the sound of insufficient current to be stuck. Long-term high volume may damage the speaker. Please reduce the volume to an appropriate position.
- If there is an error in starting the chassis-related nodes, you can try to press RESET to restart the program and then run it. If the LED does not enter the blinking state after restarting, you can download the firmware program again.
- Connect the Type C interface of the expansion board to the computer, press and hold the BOOT button, and then press the RESET button to release, the RP2040 chip will enter the download state, the computer will recognize the USB flash drive, drag the firmware program to the U disk to download program.
Notes
Note 1: Before assembling, you need to turn the power switch to "OFF". Please disconnect the power supply at first. Otherwise, it can easily lead to short circuits and burn out the device, and the product may be damaged.
Note 2: When assembling, install the jetson nano first and then install the battery. When disassembling, remove the battery first and then remove the jetson nano. Otherwise, it is easy to cause a short circuit in the process of disassembly and assembly.
Note 3: Do not tighten the four studs when installing the jetson nano, tighten the four studs by half. Please adjust the position of the board to align with the pogo pins, and then press the board and then tighten it. Direct tightening will also cause the pogo pins to contact poorly.
Note 4: When the battery is connected for the first time, there may be no power output. It needs to be charged to activate the battery protection chip to output. The power switch needs to be turned to "ON".
Note 5: If the positive insulating pad of the battery is damaged, it is recommended not to continue to use it, which may cause a short circuit and fire. When removing the battery, do not use a screwdriver to pry the positive electrode of the battery, which may cause a short circuit. Please pry the negative electrode of the battery.
Precautions for the Lithium Batteries
- Li-ion and Li-po batteries are quite unstable. They may cause fire, personal injury, or property damage if they're not properly recharged or used.
- Do not reversely connect the polarities when recharging or discharging the battery. Do not use an inferior charger/charging panel to recharge the battery.
- Do not mix old batteries with new ones when using, or use batteries with different brands.
- When buying a Lithium battery, you should make sure the battery is compatible with the expansion board. Choose batteries from the formal manufacturer, and ensure the batteries will work stably and safely by aging test.
- Lithium batteries have a cycle life, please replace the old battery with a new one when it reaches its service life or when it has been used for two years (whichever comes first).
- Please place the battery carefully and properly, keep it away from inflammable and explosive articles, away from children, and avoid any safety accident caused by careless storage.
JetRacer ROS Kit User Guide
- JetRacer ROS Kit Tutorial I: How to assemble the JetRacer
- JetRacer ROS Kit Tutorial II: How to Install the Jetson Nano Image
- JetRacer ROS Kit Tutorial III: How to install Ubuntu Virtual Image
- JetRacer ROS Kit Tutorial IV: How to congifure multi-machine communication
- JetRacer ROS Kit Tutorial V: Robot Movement Control
- JetRacer ROS Kit Tutorial VI: View Node Topics With ROS
- JetRacer ROS Kit Tutorial VII: Robot Odometer Calibration
- JetRacer ROS Kit Tutorial VIII: Start the Camera Node
- JetRacer ROS Kit Tutorial IX: Enable the Lidar Node
- JetRacer Main Page
JetRacer ROS AI Kit Advanced Tutorial
- JetRacer ROS AI Kit Advanced Tutorial I: SLAM Lidar Mapping
- JetRacer ROS AI Kit Advanced Tutorial II: Autonomous Navigation
- JetRacer ROS AI Kit Advanced Tutorial III: ROS OpenCV
- JetRacer ROS AI Kit Advanced Tutorial IV: ROS Intelligent Voice
- JetRacer ROS AI Kit Advanced Tutorial V: Install ROS System on Jetson Nano & Environment Cofiguration
- JetRacer ROS AI Kit Advanced Tutorial VI: Install ROS System in Ubuntu Virtual Machine & Environment Configuration
- JetRacer ROS AI Kit Advanced Tutorial VII: ROS Voice Environment Configuration
- [to be continued...]
JetRacer Tutorial Directory
JetRacer is an open-source project for autonomous AI racing using NVIDIA Jetson Nano.
JetRacer project library: https://github.com/NVIDIA-AI-IOT/jetracer
- JetRacer AI Kit Tutorial I: Basic Motion
- JetRacer AI Kit Tutorial II: Teleoperation
- JetRacer AI Kit Tutorial III: Interactive-regression
- JetRacer AI Kit Tutorial IV: Road-following
DonkeyCar for JetRacer ROS Tutorial
Donkeycar is an advanced automatic driving library written in Python, which realizes automatic driving by collecting images to train neural network models. For detailed tutorial materials, please refer to the official documentation of donkeycar.
- donkeyCar project library: https://github.com/autorope/donkeycar
- donkeyCar official documentation: https://docs.donkeycar.com/
- DonkeyCar for JetRacer ROS Tutorial I: Install Jetson Nano
- DonkeyCar for JetRacer ROS Tutorial II: Setup Linux PC
- DonkeyCar for JetRacer ROS Tutorial III: Web Control
- DonkeyCar for JetRacer ROS Tutorial IV: Joystick Control
- DonkeyCar for JetRacer ROS Tutorial V: Collect Data
- DonkeyCar for JetRacer ROS Tutorial VI: Training Data
- DonkeyCar for JetRacer ROS Tutorial VII: Autonomous Driving
Resource
Program
Schematic Dragram
Learning Material
- ROS Official Website
- Jetson Nano Developer Kit User Guide
- GoogleNet
- Facenet-120.zip
- Ssd mobilenet v2 coco (new)
Jetson Official Resources
- Jetson Nano Get Start
- Jetson Nano Developer Kit User Guide
- Jetson Nano Forum
- Jetson Github
- NVIDIA Official Free AI Tutorial (based on Jetson nano)
- Jetson Nano 3D Drawing
- Jetson Nano Deverloper Kit 3D Drawing
- NVIDA futher study
- NVIDIA Multimedia Description
Development Document
FAQ
Support three 18650 batteries (not included), that is, the diameter is 18mm and the length is 65mm. The standard voltage of a single cell is generally 3.7V, and the fully charged voltage is generally 4.2V.
{{{5}}}
When the motor rotates in the wrong direction, check whether the motor wires are reversed. You can open the receive topic node to see if the posted sports topic has a positive or negative value.
{{{5}}}
The 12.6V power supply cannot directly supply power to the Jetson Nano. It is used to plug into the 12.6V port on the expansion board, charge the battery, and then power the Jetson Nano from the battery. Please do not directly connect to Jetson Nano. If you need to buy a Jetson nano power supply, you can click here to get it.
{{{5}}}
The charging indicator is on the charger, the green light is full, and the red light is charging.
{{{5}}}
The account password of the JetRacer ROS AI Kit system is jetson.
{{{5}}}
The Linux system does not print the input content when entering the password, that is, touch typing is required. Type "jetson" directly on the keyboard and press Enter.
{{{5}}}
If you are installing the battery for the first time, or have disassembled the battery, please note that you need to connect the distributed power supply to charge the car for a few seconds, and then turn on the protection circuit before it can be used normally.
{{{5}}}
Due to the partition problem, the TF card with the image of the Jetson Nano programmed cannot recognize the drive letter normally on Windows computers. If you need to reformat it, search for disk management in the search bar of Windows and open the disk management interface. Find the removable disk where the TF card is located (be careful not to mistake it for another disk), right-click and select Delete Volume, then create a new volume and format it by default. After the default format, the drive letter of TF will be recognized again. At this time, the space and memory of the TF card are incorrect. Note that you need to use the formatting software to quickly format the new drive letter again. After formatting, if the memory space of the TF card is normal, the new image can be re-programmed normally.
{{{5}}}
The general reason is that the motor wire is loose, the interface is in poor contact, or the motor wire is entangled, and the Hall encoder is disturbed; please re-check whether the motor wire is plugged in tightly, and check whether the motor cable is entangled; you can also check the virtual machine terminal. Check the motor waveform to determine whether the output waveform is normal.
{{{5}}}
The reason is that these topics may conflict with other topics that have already been started. The solution is to check the running process, close it, and restart it; the most convenient method is to exit the node, long press the reset button, and then run it again.
{{{5}}}
The camera needs a large bandwidth and network speed to send back video and map updates. If the computer and the car are far away or the car is at a corner, the signal will be greatly attenuated, resulting in a stuck phenomenon. The recommended solution is that you can use the mobile phone to open the hotspot, connect the computer and the car to the hotspot at the same time to ensure normal communication and place the mobile phone at the corner as a signal relay point. 【At this time, your data traffic is not used, and the mobile phone is only used as a signal transmission relay.】
{{{5}}}
The system default is to disable the graphical interface, if you need to enable the graphical desktop, you can use the terminal, enter the following command, and reboot to take effect.
sudo systemctl set-default graphical.target
{{{5}}}
This expansion method is for situations where the space on the SD card or USB drive is sufficient, but after programming the image, the allocated space is smaller than the actual storage device's capacity. This issue arises because the provided Jetbot image file is based on a configuration for small-capacity SD cards, leading to fixed partition sizes and capacity. You can expand the file system to the full storage space using a resizing script. Open the terminal and enter the following commands:
cd /usr/lib/nvidia/resizefs/ sudo chmod 777 nvresizefs.sh sudo ./nvresizefs.sh sudo reboot
{{{5}}}
Add 'cv2' in the interactive-regression.ipynb file.
{{{5}}}
To enable the SD card and boot from it you need to modify the dts and flash the jetpack4.5.1 os to the board.
You can follow this guide.
https://www.waveshare.com/wiki/JETSON-NANO-DEV-KIT#Boot_TF_Card
{{{5}}}
Due to the partition problem, the TF card burned with the image of Jetson Nano can not recognize the disk drive normally on Windows computer, if you need to reformat it, search for Disk Management in the search bar of Widnows and open the Disk Management interface. Find the removable disk where the TF card is located (be careful not to recognize it as other disks), right-click and select Delete Volume, then create a new volume and format it by default. After the default format, the TF drive letter will be recognized again. At this time, the TF card space memory is not correct, note that you need to use the formatting software to re-format the new disk to do a quick format. After formatting, if the TF card memory space is normal, you can normally re-burn the new image.
{{{5}}}
Support
Technical Support
If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)