An educational AI robot based on NVIDIA Jetson Nano.

Related tags

Deep Learningjetbot
Overview

JetBot

Looking for a quick way to get started with JetBot? Many third party kits are now available!

JetBot is an open-source robot based on NVIDIA Jetson Nano that is

  • Affordable - Less than $150 add-on to Jetson Nano
  • Educational - Tutorials from basic motion to AI based collision avoidance
  • Fun! - Interactively programmed from your web browser

Building and using JetBot gives the hands on experience needed to create entirely new AI projects.

To get started, read the JetBot documentation.

Get involved

We really appreciate any feedback related to JetBot, and also just enjoy seeing what you're working on! There is a growing community of Jetson Nano and JetBot users. It's easy to get involved involved...

Comments
  • How to combine Road Following and Collision avoidance?

    How to combine Road Following and Collision avoidance?

    Hi All. I have recently got a Jetbot and am running a demo. Road Following and Collision avoidance can be operated separately.

    I want to make a combination that stops when there is an object during Road Following. It doesn't work even if the two codes are combined, so I would like to know how you can do it.

    I'm not good at English. I'm sorry if it's hard to understand.

    opened by sakae-og 44
  • i2c Remote I/O error

    i2c Remote I/O error

    Hi!

    I have finished my jetbot now and trying to run the Basic Motion notebook. I have successfully imported Robot class:

    from jetbot import Robot
    

    but when I run

    robot = Robot()
    

    I got the following error:

    ---------------------------------------------------------------------------
    OSError                                   Traceback (most recent call last)
    <ipython-input-6-b418ad9f6ab3> in <module>
    ----> 1 robot = Robot()
    
    /usr/local/lib/python3.6/dist-packages/jetbot-0.3.0-py3.6.egg/jetbot/robot.py in __init__(self, *args, **kwargs)
         20     def __init__(self, *args, **kwargs):
         21         super(Robot, self).__init__(*args, **kwargs)
    ---> 22         self.motor_driver = Adafruit_MotorHAT(i2c_bus=self.i2c_bus)
         23         self.left_motor = Motor(self.motor_driver, channel=self.left_motor_channel, alpha=self.left_motor_alpha)
         24         self.right_motor = Motor(self.motor_driver, channel=self.right_motor_channel, alpha=self.right_motor_alpha)
    
    /usr/local/lib/python3.6/dist-packages/Adafruit_MotorHAT-1.4.0-py3.6.egg/Adafruit_MotorHAT/Adafruit_MotorHAT_Motors.py in __init__(self, addr, freq, i2c, i2c_bus)
        229         self.motors = [ Adafruit_DCMotor(self, m) for m in range(4) ]
        230         self.steppers = [ Adafruit_StepperMotor(self, 1), Adafruit_StepperMotor(self, 2) ]
    --> 231         self._pwm = PWM(addr, debug=False, i2c=i2c, i2c_bus=i2c_bus)
        232         self._pwm.setPWMFreq(self._frequency)
        233 
    
    /usr/local/lib/python3.6/dist-packages/Adafruit_MotorHAT-1.4.0-py3.6.egg/Adafruit_MotorHAT/Adafruit_PWM_Servo_Driver.py in __init__(self, address, debug, i2c, i2c_bus)
         57         self.i2c = get_i2c_device(address, i2c, i2c_bus)
         58         logger.debug("Reseting PCA9685 MODE1 (without SLEEP) and MODE2")
    ---> 59         self.setAllPWM(0, 0)
         60         self.i2c.write8(self.__MODE2, self.__OUTDRV)
         61         self.i2c.write8(self.__MODE1, self.__ALLCALL)
    
    /usr/local/lib/python3.6/dist-packages/Adafruit_MotorHAT-1.4.0-py3.6.egg/Adafruit_MotorHAT/Adafruit_PWM_Servo_Driver.py in setAllPWM(self, on, off)
         93     def setAllPWM(self, on, off):
         94         "Sets a all PWM channels"
    ---> 95         self.i2c.write8(self.__ALL_LED_ON_L, on & 0xFF)
         96         self.i2c.write8(self.__ALL_LED_ON_H, on >> 8)
         97         self.i2c.write8(self.__ALL_LED_OFF_L, off & 0xFF)
    
    /usr/local/lib/python3.6/dist-packages/Adafruit_GPIO-1.0.3-py3.6.egg/Adafruit_GPIO/I2C.py in write8(self, register, value)
        114         """Write an 8-bit value to the specified register."""
        115         value = value & 0xFF
    --> 116         self._bus.write_byte_data(self._address, register, value)
        117         self._logger.debug("Wrote 0x%02X to register 0x%02X",
        118                      value, register)
    
    /usr/local/lib/python3.6/dist-packages/Adafruit_PureIO-0.2.3-py3.6.egg/Adafruit_PureIO/smbus.py in write_byte_data(self, addr, cmd, val)
        254         # Send the data to the device.
        255         self._select_device(addr)
    --> 256         self._device.write(data)
        257 
        258     def write_word_data(self, addr, cmd, val):
    
    OSError: [Errno 121] Remote I/O error
    

    Could you please help? Thanks!

    opened by diefimov 28
  • Jetson Nano doesn't boot with new image

    Jetson Nano doesn't boot with new image

    Hello, I flashed new release of pre-built JetBot SD card image for Jetson Nano 4GB (jetbot-043_nano-4gb-jp45.zip) and it doesn't boot. I read issue #385 and tried to boot with original nvidia image but it doesn't boot again and I have no Nvidia logo displayed. After that none of my different versions images don't boot . Before this incident my Jetson Nano had worked correctly. How to back my Jetson Nano to work?

    opened by w1ngedshadow 24
  • 4wheel drive

    4wheel drive

    Hi is it possible to make a Jetbot 4whel drive?

    I have tared down my old robot project and tried to make it a Jetbot. now it runs with only 2wheels.

    If its possible, where do I find necessary information to rewrite the program?

    20201117_065037 20201117_065047

    opened by Cnys 21
  • Raspberry camera module V1.3 compatibility?

    Raspberry camera module V1.3 compatibility?

    Hi,

    I'm trying to get a camera module V1.3 working and struggling a little bit right now. The camera isn't showing up as '/dev/video0'. I'm using the default Jetson image (not the one specific to the jetbot project). I was wondering, are there specific packages I should install to make this work? Does the Jetson only work with the camera module V2?

    opened by maximecb 21
  • JetBot 零件清单中国区购买链接汇总

    JetBot 零件清单中国区购买链接汇总

    This issue is meant to help Chinese devs to buy the materials of JetBot in China. I'll keep updating it, any help is welcome.

    Its appreciate leaving the issue open for a while, thanks.

    中国区购买 JetBot 的零件比较麻烦,所以整理了一个可以在国内购买的列表,欢迎一起更新汇总。

    https://github.com/unbug/NVIDIA-JetBot-Diy/wiki

    opened by unbug 19
  • [SOLUTION] Road Following not working properly Problem Solution

    [SOLUTION] Road Following not working properly Problem Solution

    Hi guys. It is my first time talking to people on githubs. As I have got lots of help from github, I would like to share my case how I made it to work.

    When I followed the instructions in Road following of Jetbot curriculum ,it couldn't get information as fast as the robot goes. I found out that the process of robot is little bit slow. Then I tried to go slooooowly and another problem has occurred. The motor provided was not strong enough to go slowly. (not enough Toque problem)

    And we tried to go and stop to manage the speed. (if there were imu in it, we could control the robot with the pid or other feedback control but ,,, no) And here below is the code for the 'go and stop' .

    Anyone who wants to check if the data collected works fine or not, you can try to move the robot really slow with this code, and check for the deep-learning trained model.

    angle = 0.0
    angle_last = 0.0
    count_motor = 0
    def execute(change):
        global angle, angle_last, count_motor
        image = change['new']
        xy = model(preprocess(image)).detach().float().cpu().numpy().flatten()
        x = xy[0]
        y = (0.5 - xy[1]) / 2.0
        
        x_slider.value = x
        y_slider.value = y
        
        speed_slider.value = speed_gain_slider.value
        
        angle = np.arctan2(x, y)
        pid = angle * steering_gain_slider.value + (angle - angle_last) * steering_dgain_slider.value
        angle_last = angle
        
        steering_slider.value = pid + steering_bias_slider.value
       
        if count_motor >2:
            robot.left_motor.value = max(min(speed_slider.value + steering_slider.value, 1.0)*0.95, 0.0)
            robot.right_motor.value = max(min(speed_slider.value - steering_slider.value, 1.0), 0.0)
            count_motor = 0
        else :
            robot.left_motor.value = 0
            robot.right_motor.value = 0
            count_motor = count_motor + 1
    
            
    execute({'new': camera.value})
    

    Gain value :

    
    speed_gain_slider = ipywidgets.FloatSlider(min=0.25, max=1.0, step=0.01, description='speed gain')
    steering_gain_slider = ipywidgets.FloatSlider(min=0.0, max=1.0, step=0.01, value=0.05, description='steering gain')
    steering_dgain_slider = ipywidgets.FloatSlider(min=0.0, max=0.5, step=0.001, value=0.0, description='steering kd')
    steering_bias_slider = ipywidgets.FloatSlider(min=-0.3, max=0.3, step=0.01, value=0.0, description='steering bias')
    
    opened by jeffkimkorea-git 18
  • Suggestion on improving JetBot/Jetson Nano performance

    Suggestion on improving JetBot/Jetson Nano performance

    Hi All,

    I have recently got a JetBot kit and was able to get assembled and software installed. The examples run fine, but just seem a bit too sluggish compared to the videos linked in the Github Examples page.

    For reference, I followed the instruction from https://github.com/NVIDIA-AI-IOT/jetbot/wiki/software-setup and setup everything using the jetbot_image_v0p4p0.zip.

    However, I am not sure if it is the Jupyter Lab/Notebook which are slow or my routers or something with the JetBot, it just seems like there is significant delay (~1 second) in the camera video stream and also the control responsiveness of the JetBot.

    Consequently, it is unable to avoid obstacles reliably, nor track an object reliably. For obstacle avoidance, it often bumps into the obstacles first, then react 1-2 seconds later and starts turning left. For object tracking, the gain had to be tuned to be much lower in order to avoid overshoot.

    Therefore, I was wondering if there is anything I can try to help improve the performance of the JetBot / Jetson Nano. Any advice or suggestions is appreciated.

    opened by stevenlee090 18
  • AttributeError: 'Motor' object has no attribute '_motor'

    AttributeError: 'Motor' object has no attribute '_motor'

    Hi Im suddenly getting this error when running robot.stop():

    Error in atexit._run_exitfuncs:
    Traceback (most recent call last):
     File "/usr/local/lib/python3.6/dist-packages/jetbot-0.3.0-py3.6.egg/jetbot/motor.py", line 60, in _release
       self._motor.disable()
    AttributeError: 'Motor' object has no attribute '_motor'
    

    Any suggestions on how to fix?

    opened by VegardIversen 16
  • Can't Create gamepad controller

    Can't Create gamepad controller

    In Teleoperation, first to create gamepad controller, when I execute first cell code, there is no Controller is shown, I tried several times, always failed !!! Gamepad is connected and the index is '1'

    ` import ipywidgets.widgets as widgets

    controller = widgets.Controller(index=1) # replace with index of your controller

    display(controller) `

    opened by dennis08 15
  • Jupyter fails to initialize camera...most of the times

    Jupyter fails to initialize camera...most of the times

    I have assembled my jetbot with all the recommended hardware, including a Raspberry Pi Camera V2. The jetbot works and I have been able to follow the examples provided. Unfortunately, most of the times the camera is needed, the notebook fails to activate it. The instruction that creates trouble is "camera = Camera.instance()". When I try to run this cell, jupyter enters Busy mode and never proceeds. This is true most of the times. Sometimes the instance is created successfully and I am able to proceed. This is also true after a fresh reboot. Any suggestions as to what might be wrong?

    opened by fciampoli 15
  • Some of the links to buy the parts to build it are down or invalid (For amazon)

    Some of the links to buy the parts to build it are down or invalid (For amazon)

    Hey sorry this is probably not the right place to ask this question and its stupid, but I couldn't find anywhere else to find the products or substitutes. I am very late to finding out about this, but it's cool and I was hoping to build it once I can find substitutes for part links are updated. Thanks!

    opened by s3th06 1
  • Jetpack 4.3 vs Newer Jetpack

    Jetpack 4.3 vs Newer Jetpack

    Why package in jetpack 4.3 is same in jupyterlab but newer jetpack doesn't same? What should I do to make package in newer jetpack is same in jupyter?

    opened by PhotloJ 0
  • Locked Out of Jetbot

    Locked Out of Jetbot

    The first time I opened the jetbot I was prompted to set up a password, which I did not do. Then the device went into sleep mode and when I try to open it again it is locked and requires a password. I tried some default passwords I found online such as "ubuntu", "nvidia" and "jetbot" but non of them worked.

    Any ideas on how to solve it?

    opened by dimitrischatz 0
  • Failed to import jetbot ....

    Failed to import jetbot ....

    ➜  ~ python
    Python 3.6.9 (default, Jun 29 2022, 11:45:57) 
    [GCC 8.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import jetbot
    [1]    8661 illegal hardware instruction (core dumped)  python
    ➜  ~
    
    opened by jiapei100 0
  • An error occurred when using Docker to start

    An error occurred when using Docker to start

    Hello, engineer, I'm following the official operation manual【 https://jetbot.org/master/reference/docker_tips.html 】

    When running to step 5 `cd docker

    ./enable.sh`

    How can I solve the following errors [email protected]:~/下载/jetbot$ ./docker/enable.sh ./docker/enable.sh: 行 1: configure.sh: No such file or directory ./docker/enable.sh: 行 11: ./display/enable.sh: No such file or directory ./docker/enable.sh: 行 12: ./jupyter/enable.sh: No such file or directory

    We look forward to your reply

    opened by kkive 0
  • Failed to build jetbot via CMake - error: looser throw specifier for ‘virtual int FlattenConcat::getNbOutputs() const’      int getNbOutputs() const override

    Failed to build jetbot via CMake - error: looser throw specifier for ‘virtual int FlattenConcat::getNbOutputs() const’ int getNbOutputs() const override

    [ 50%] Building CXX object jetbot/ssd_tensorrt/CMakeFiles/ssd_tensorrt.dir/FlattenConcat.cpp.o
    cd....../build/jetbot/ssd_tensorrt && /usr/bin/c++  -Dssd_tensorrt_EXPORTS -I/usr/local/cuda/include  -O3 -DNDEBUG -fPIC   -o CMakeFiles/ssd_tensorrt.dir/FlattenConcat.cpp.o -c....../jetbot/ssd_tensorrt/FlattenConcat.cpp
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:63:9: error: looser throw specifier for ‘virtual int FlattenConcat::getNbOutputs() const’
         int getNbOutputs() const override
             ^~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:469:21: error:   overriding ‘virtual int32_t nvinfer1::IPluginV2::getNbOutputs() const noexcept’
         virtual int32_t getNbOutputs() const noexcept = 0;
                         ^~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:69:10: error: looser throw specifier for ‘virtual nvinfer1::Dims FlattenConcat::getOutputDimensions(int, const Dims*, int)’
         Dims getOutputDimensions(int index, const Dims* inputs, int nbInputDims) override
              ^~~~~~~~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:486:18: error:   overriding ‘virtual nvinfer1::Dims nvinfer1::IPluginV2::getOutputDimensions(int32_t, const Dims*, int32_t) noexcept’
         virtual Dims getOutputDimensions(int32_t index, Dims const* inputs, int32_t nbInputDims) noexcept = 0;
                      ^~~~~~~~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:92:9: error: looser throw specifier for ‘virtual int FlattenConcat::initialize()’
         int initialize() override
             ^~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:558:21: error:   overriding ‘virtual int32_t nvinfer1::IPluginV2::initialize() noexcept’
         virtual int32_t initialize() noexcept = 0;
                         ^~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:100:10: error: looser throw specifier for ‘virtual void FlattenConcat::terminate()’
         void terminate() override
              ^~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:572:18: error:   overriding ‘virtual void nvinfer1::IPluginV2::terminate() noexcept’
         virtual void terminate() noexcept = 0;
                      ^~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:107:12: error: looser throw specifier for ‘virtual size_t FlattenConcat::getWorkspaceSize(int) const’
         size_t getWorkspaceSize(int maxBatchSize) const override
                ^~~~~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:588:20: error:   overriding ‘virtual size_t nvinfer1::IPluginV2::getWorkspaceSize(int32_t) const noexcept’
         virtual size_t getWorkspaceSize(int32_t maxBatchSize) const noexcept = 0;
                        ^~~~~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:113:9: error: ‘int FlattenConcat::enqueue(int, const void* const*, void**, void*, cudaStream_t)’ marked ‘override’, but does not override
         int enqueue(int batchSize, const void* const* inputs, void** outputs, void*, cudaStream_t stream) override
             ^~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:135:12: error: looser throw specifier for ‘virtual size_t FlattenConcat::getSerializationSize() const’
         size_t getSerializationSize() const override
                ^~~~~~~~~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:620:20: error:   overriding ‘virtual size_t nvinfer1::IPluginV2::getSerializationSize() const noexcept’
         virtual size_t getSerializationSize() const noexcept = 0;
                        ^~~~~~~~~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:144:10: error: looser throw specifier for ‘virtual void FlattenConcat::serialize(void*) const’
         void serialize(void* buffer) const override
              ^~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:635:18: error:   overriding ‘virtual void nvinfer1::IPluginV2::serialize(void*) const noexcept’
         virtual void serialize(void* buffer) const noexcept = 0;
                      ^~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:168:10: error: looser throw specifier for ‘virtual void FlattenConcat::configureWithFormat(const Dims*, int, const Dims*, int, nvinfer1::DataType, nvinfer1::PluginFormat, int)’
         void configureWithFormat(const Dims* inputs, int nbInputs, const Dims* outputDims, int nbOutputs, nvinfer1::DataType type, nvinfer1::PluginFormat format, int maxBatchSize) override
              ^~~~~~~~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:543:18: error:   overriding ‘virtual void nvinfer1::IPluginV2::configureWithFormat(const Dims*, int32_t, const Dims*, int32_t, nvinfer1::DataType, nvinfer1::PluginFormat, int32_t) noexcept’
         virtual void configureWithFormat(Dims const* inputDims, int32_t nbInputs, Dims const* outputDims, int32_t nbOutputs,
                      ^~~~~~~~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:198:10: error: looser throw specifier for ‘virtual bool FlattenConcat::supportsFormat(nvinfer1::DataType, nvinfer1::PluginFormat) const’
         bool supportsFormat(DataType type, PluginFormat format) const override
              ^~~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:510:18: error:   overriding ‘virtual bool nvinfer1::IPluginV2::supportsFormat(nvinfer1::DataType, nvinfer1::PluginFormat) const noexcept’
         virtual bool supportsFormat(DataType type, PluginFormat format) const noexcept = 0;
                      ^~~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:203:17: error: looser throw specifier for ‘virtual const char* FlattenConcat::getPluginType() const’
         const char* getPluginType() const override { return FLATTENCONCAT_PLUGIN_NAME; }
                     ^~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:440:30: error:   overriding ‘virtual const AsciiChar* nvinfer1::IPluginV2::getPluginType() const noexcept’
         virtual AsciiChar const* getPluginType() const noexcept = 0;
                                  ^~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:205:17: error: looser throw specifier for ‘virtual const char* FlattenConcat::getPluginVersion() const’
         const char* getPluginVersion() const override { return FLATTENCONCAT_PLUGIN_VERSION; }
                     ^~~~~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:454:30: error:   overriding ‘virtual const AsciiChar* nvinfer1::IPluginV2::getPluginVersion() const noexcept’
         virtual AsciiChar const* getPluginVersion() const noexcept = 0;
                                  ^~~~~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:207:10: error: looser throw specifier for ‘virtual void FlattenConcat::destroy()’
         void destroy() override {}
              ^~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:645:18: error:   overriding ‘virtual void nvinfer1::IPluginV2::destroy() noexcept’
         virtual void destroy() noexcept = 0;
                      ^~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:209:16: error: looser throw specifier for ‘virtual nvinfer1::IPluginV2* FlattenConcat::clone() const’
         IPluginV2* clone() const override
                    ^~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:661:24: error:   overriding ‘virtual nvinfer1::IPluginV2* nvinfer1::IPluginV2::clone() const noexcept’
         virtual IPluginV2* clone() const noexcept = 0;
                            ^~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:214:10: error: looser throw specifier for ‘virtual void FlattenConcat::setPluginNamespace(const char*)’
         void setPluginNamespace(const char* pluginNamespace) override
              ^~~~~~~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:677:18: error:   overriding ‘virtual void nvinfer1::IPluginV2::setPluginNamespace(const AsciiChar*) noexcept’
         virtual void setPluginNamespace(AsciiChar const* pluginNamespace) noexcept = 0;
                      ^~~~~~~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:219:17: error: looser throw specifier for ‘virtual const char* FlattenConcat::getPluginNamespace() const’
         const char* getPluginNamespace() const override
                     ^~~~~~~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:687:30: error:   overriding ‘virtual const AsciiChar* nvinfer1::IPluginV2::getPluginNamespace() const noexcept’
         virtual AsciiChar const* getPluginNamespace() const noexcept = 0;
                                  ^~~~~~~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp: In member function ‘virtual nvinfer1::Dims FlattenConcat::getOutputDimensions(int, const Dims*, int)’:
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:89:16: error: ‘DimsCHW’ was not declared in this scope
             return DimsCHW(flattenedOutputSize, 1, 1);
                    ^~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp: In member function ‘virtual bool FlattenConcat::supportsFormat(nvinfer1::DataType, nvinfer1::PluginFormat) const’:
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:200:69: error: ‘kNCHW’ is not a member of ‘nvinfer1::PluginFormat {aka nvinfer1::TensorFormat}’
             return (type == DataType::kFLOAT && format == PluginFormat::kNCHW);
                                                                         ^~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp: In member function ‘virtual nvinfer1::IPluginV2* FlattenConcat::clone() const’:
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:211:110: error: invalid new-expression of abstract class type ‘FlattenConcat’
             return new FlattenConcat(mFlattenedInputSize.data(), mFlattenedInputSize.size(), mFlattenedOutputSize);
                                                                                                                  ^
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:33:7: note:   because the following virtual functions are pure within ‘FlattenConcat’:
     class FlattenConcat : public IPluginV2
           ^~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:606:21: note: 	virtual int32_t nvinfer1::IPluginV2::enqueue(int32_t, const void* const*, void* const*, void*, cudaStream_t)
         virtual int32_t enqueue(int32_t batchSize, void const* const* inputs, void* const* outputs, void* workspace,
                         ^~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp: At global scope:
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:263:17: error: looser throw specifier for ‘virtual const char* FlattenConcatPluginCreator::getPluginName() const’
         const char* getPluginName() const override { return FLATTENCONCAT_PLUGIN_NAME; }
                     ^~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:1134:30: error:   overriding ‘virtual const AsciiChar* nvinfer1::IPluginCreator::getPluginName() const noexcept’
         virtual AsciiChar const* getPluginName() const noexcept = 0;
                                  ^~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:265:17: error: looser throw specifier for ‘virtual const char* FlattenConcatPluginCreator::getPluginVersion() const’
         const char* getPluginVersion() const override { return FLATTENCONCAT_PLUGIN_VERSION; }
                     ^~~~~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:1148:30: error:   overriding ‘virtual const AsciiChar* nvinfer1::IPluginCreator::getPluginVersion() const noexcept’
         virtual AsciiChar const* getPluginVersion() const noexcept = 0;
                                  ^~~~~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:267:34: error: looser throw specifier for ‘virtual const nvinfer1::PluginFieldCollection* FlattenConcatPluginCreator::getFieldNames()’
         const PluginFieldCollection* getFieldNames() override { return &mFC; }
                                      ^~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:1160:42: error:   overriding ‘virtual const nvinfer1::PluginFieldCollection* nvinfer1::IPluginCreator::getFieldNames() noexcept’
         virtual PluginFieldCollection const* getFieldNames() noexcept = 0;
                                              ^~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:269:16: error: looser throw specifier for ‘virtual nvinfer1::IPluginV2* FlattenConcatPluginCreator::createPlugin(const char*, const nvinfer1::PluginFieldCollection*)’
         IPluginV2* createPlugin(const char* name, const PluginFieldCollection* fc) override
                    ^~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:1171:24: error:   overriding ‘virtual nvinfer1::IPluginV2* nvinfer1::IPluginCreator::createPlugin(const AsciiChar*, const nvinfer1::PluginFieldCollection*) noexcept’
         virtual IPluginV2* createPlugin(AsciiChar const* name, PluginFieldCollection const* fc) noexcept = 0;
                            ^~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:274:16: error: looser throw specifier for ‘virtual nvinfer1::IPluginV2* FlattenConcatPluginCreator::deserializePlugin(const char*, const void*, size_t)’
         IPluginV2* deserializePlugin(const char* name, const void* serialData, size_t serialLength) override
                    ^~~~~~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:1182:24: error:   overriding ‘virtual nvinfer1::IPluginV2* nvinfer1::IPluginCreator::deserializePlugin(const AsciiChar*, const void*, size_t) noexcept’
         virtual IPluginV2* deserializePlugin(AsciiChar const* name, void const* serialData, size_t serialLength) noexcept
                            ^~~~~~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:280:10: error: looser throw specifier for ‘virtual void FlattenConcatPluginCreator::setPluginNamespace(const char*)’
         void setPluginNamespace(const char* pluginNamespace) override
              ^~~~~~~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:1197:18: error:   overriding ‘virtual void nvinfer1::IPluginCreator::setPluginNamespace(const AsciiChar*) noexcept’
         virtual void setPluginNamespace(AsciiChar const* pluginNamespace) noexcept = 0;
                      ^~~~~~~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:285:17: error: looser throw specifier for ‘virtual const char* FlattenConcatPluginCreator::getPluginNamespace() const’
         const char* getPluginNamespace() const override
                     ^~~~~~~~~~~~~~~~~~
    In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
                     from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
                     from /usr/include/aarch64-linux-gnu/NvInferPlugin.h:53,
                     from....../jetbot/ssd_tensorrt/FlattenConcat.cpp:9:
    /usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:1211:30: error:   overriding ‘virtual const AsciiChar* nvinfer1::IPluginCreator::getPluginNamespace() const noexcept’
         virtual AsciiChar const* getPluginNamespace() const noexcept = 0;
                                  ^~~~~~~~~~~~~~~~~~
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp: In member function ‘virtual nvinfer1::IPluginV2* FlattenConcatPluginCreator::createPlugin(const char*, const nvinfer1::PluginFieldCollection*)’:
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:271:34: error: invalid new-expression of abstract class type ‘FlattenConcat’
             return new FlattenConcat();
                                      ^
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp: In member function ‘virtual nvinfer1::IPluginV2* FlattenConcatPluginCreator::deserializePlugin(const char*, const void*, size_t)’:
    ....../jetbot/ssd_tensorrt/FlattenConcat.cpp:277:58: error: invalid new-expression of abstract class type ‘FlattenConcat’
             return new FlattenConcat(serialData, serialLength);
                                                              ^
    jetbot/ssd_tensorrt/CMakeFiles/ssd_tensorrt.dir/build.make:65: recipe for target 'jetbot/ssd_tensorrt/CMakeFiles/ssd_tensorrt.dir/FlattenConcat.cpp.o' failed
    make[2]: *** [jetbot/ssd_tensorrt/CMakeFiles/ssd_tensorrt.dir/FlattenConcat.cpp.o] Error 1
    make[2]: Leaving directory '....../build'
    CMakeFiles/Makefile2:106: recipe for target 'jetbot/ssd_tensorrt/CMakeFiles/ssd_tensorrt.dir/all' failed
    make[1]: *** [jetbot/ssd_tensorrt/CMakeFiles/ssd_tensorrt.dir/all] Error 2
    make[1]: Leaving directory '....../build'
    Makefile:86: recipe for target 'all' failed
    make: *** [all] Error 2
    ➜  build git:(master) ✗ 
    
    
    opened by jiapei100 0
Releases(v0.4.3)
  • v0.4.3(Feb 2, 2021)

    | Platform | JetPack Version | JetBot Version | Download | MD5 Checksum | |--------|-----------------|----------------|--------|----| | Jetson Nano 2GB | 4.5 | 0.4.3 | jetbot-043_nano-2gb-jp45.zip | e6dda4d13b1b1b31f648402b9b742152 | | Jetson Nano (4GB) | 4.5 | 0.4.3 | jetbot-043_nano-4gb-jp45.zip | 760b1885646bfad8590633acca014289 |

    Changes

    Added

    Added LocalController class which allows users to directly connect controller to JetBot
    
    Source code(tar.gz)
    Source code(zip)
  • v0.4.2(Jan 25, 2021)

  • v0.4.1(Jan 25, 2021)

  • v0.4.0(Jan 16, 2020)

    JetBot SD card image based on JetPack 4.3 (required for B01 revision of Jetson Nano Developer Kit ):

    https://drive.google.com/open?id=1G5nw0o3Q6E08xZM99ZfzQAe7-qAXxzHN

    Object Detection Engine:

    https://drive.google.com/open?id=1KjlDMRD8uhgQmQK-nC2CZGHFTbq4qQQH

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(Mar 10, 2019)

    SD Card image

    Found here: jetbot_image_v0p3p0.zip

    • PyTorch 1.0 pre-installed
    • TensorFlow 1.13 pre-installed
    • 4GB swap enabled
    • default power model 5W
    • Jupyter Lab service installed
    • Status display service installed

    Python package

    • Heartbeat class to determine disconnects from browser
    • Camera class to generate eventful camera frames
    • Robot class for controlling robot locomotion
    • Motor class for event based motor control
    • ObjectDetector class for detecting objects using the subpackage jetbot.ssd_tensorrt
    • TRTModel class for abstracting TensorRT model execution on numpy arrays

    Notebooks

    Robot

    • basic motion teaches programmatic robot control
    • teleoperation demonstrates video streaming and gamepad control
    • collision avoidance
      • data collection to collect free and blocked labels
      • live demo to demonstrate simple wander / avoid obstacles
    • object following
      • live demo to demonstrate multi network COCO object following and simultaneous collision avoidance

    Host

    • collision avoidance
      • training to demonstrate training image classification network with PyTorch
    Source code(tar.gz)
    Source code(zip)
Owner
NVIDIA AI IOT
NVIDIA AI IOT
A U-Net combined with a variational auto-encoder that is able to learn conditional distributions over semantic segmentations.

Probabilistic U-Net + **Update** + An improved Model (the Hierarchical Probabilistic U-Net) + LIDC crops is now available. See below. Re-implementatio

Simon Kohl 498 Dec 26, 2022
Open source annotation tool for machine learning practitioners.

doccano doccano is an open source text annotation tool for humans. It provides annotation features for text classification, sequence labeling and sequ

7.1k Jan 01, 2023
Repo for 2021 SDD assessment task 2, by Felix, Anna, and James.

SoftwareTask2 Repo for 2021 SDD assessment task 2, by Felix, Anna, and James. File/folder structure: helloworld.py - demonstrates various map backgrou

3 Dec 13, 2022
Mind the Trade-off: Debiasing NLU Models without Degrading the In-distribution Performance

Models for natural language understanding (NLU) tasks often rely on the idiosyncratic biases of the dataset, which make them brittle against test cases outside the training distribution.

Ubiquitous Knowledge Processing Lab 22 Jan 02, 2023
AutoML library for deep learning

Official Website: autokeras.com AutoKeras: An AutoML system based on Keras. It is developed by DATA Lab at Texas A&M University. The goal of AutoKeras

Keras 8.7k Jan 08, 2023
Paper list of log-based anomaly detection

Paper list of log-based anomaly detection

Weibin Meng 411 Dec 05, 2022
Expressive Power of Invariant and Equivaraint Graph Neural Networks (ICLR 2021)

Expressive Power of Invariant and Equivaraint Graph Neural Networks In this repository, we show how to use powerful GNN (2-FGNN) to solve a graph alig

Marc Lelarge 36 Dec 12, 2022
Election Exit Poll Prediction and U.S.A Presidential Speech Analysis using Machine Learning

Machine_Learning Election Exit Poll Prediction and U.S.A Presidential Speech Analysis using Machine Learning This project is based on 2 case-studies:

Avnika Mehta 1 Jan 27, 2022
Deep universal probabilistic programming with Python and PyTorch

Getting Started | Documentation | Community | Contributing Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch. Notab

7.7k Dec 30, 2022
A collection of Reinforcement Learning algorithms from Sutton and Barto's book and other research papers implemented in Python.

Reinforcement-Learning-Notebooks A collection of Reinforcement Learning algorithms from Sutton and Barto's book and other research papers implemented

Pulkit Khandelwal 1k Dec 28, 2022
Implementation of parameterized soft-exponential activation function.

Soft-Exponential-Activation-Function: Implementation of parameterized soft-exponential activation function. In this implementation, the parameters are

Shuvrajeet Das 1 Feb 23, 2022
Generating Radiology Reports via Memory-driven Transformer

R2Gen This is the implementation of Generating Radiology Reports via Memory-driven Transformer at EMNLP-2020. Citations If you use or extend our work,

CUHK-SZ NLP Group 101 Dec 13, 2022
Speech Emotion Recognition with Fusion of Acoustic- and Linguistic-Feature-Based Decisions

APSIPA-SER-with-A-and-T This code is the implementation of Speech Emotion Recognition (SER) with acoustic and linguistic features. The network model i

kenro515 3 Jan 04, 2023
This GitHub repo consists of Code and Some results of project- Diabetes Treatment using Gold nanoparticles. These Consist of ML Models used for prediction Diabetes and further the basic theory and working of Gold nanoparticles.

GoldNanoparticles This GitHub repo consists of Code and Some results of project- Diabetes Treatment using Gold nanoparticles. These Consist of ML Mode

1 Jan 30, 2022
An architecture that makes any doodle realistic, in any specified style, using VQGAN, CLIP and some basic embedding arithmetics.

Sketch Simulator An architecture that makes any doodle realistic, in any specified style, using VQGAN, CLIP and some basic embedding arithmetics. See

12 Dec 18, 2022
La source de mon module 'pyfade' disponible sur Pypi.

Version: 1.2 Introduction Pyfade est un module permettant de créer des dégradés colorés. Il vous permettra de changer chaque ligne de votre texte par

Billy 20 Sep 12, 2021
code for "Self-supervised edge features for improved Graph Neural Network training",

Self-supervised edge features for improved Graph Neural Network training Data availability: Here is a link to the raw data for the organoids dataset.

Neal Ravindra 23 Dec 02, 2022
Source code for paper "Document-Level Relation Extraction with Adaptive Thresholding and Localized Context Pooling", AAAI 2021

ATLOP Code for AAAI 2021 paper Document-Level Relation Extraction with Adaptive Thresholding and Localized Context Pooling. If you make use of this co

Wenxuan Zhou 146 Nov 29, 2022
Reinforcement Learning via Supervised Learning

Reinforcement Learning via Supervised Learning Installation Run pip install -e . in an environment with Python = 3.7.0, 3.9. The code depends on MuJ

Scott Emmons 49 Nov 28, 2022
A collection of SOTA Image Classification Models in PyTorch

A collection of SOTA Image Classification Models in PyTorch

sithu3 85 Dec 30, 2022