arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

Operate MR-Buggy 3 using NavQPlus and FMURT6

07/2023

hashtag
Introduction

This tutorial describes how to operate MR-Buggy 3arrow-up-right with Logitech Joystickarrow-up-right using NavQPlusarrow-up-right and FMURT6arrow-up-right.

The synapsearrow-up-right packages from CogniPilotarrow-up-right are built on NavQPlus which will read input from the Joystick and send the appropriate commands to FMURT6 over ethernet.

The application in running on FMURT6 takes commands from NavQPlus and sends operation signals to MR-Buggy 3 servo and motor controller.

hashtag
Items Needed

S. No.
NAME
QUANTITY

hashtag
Hardware Procedure

hashtag
Power Supply Setup

  1. Press "Power" Button.

  2. Press "Output On/Off" Button.

  3. Select "Voltage" from "Voltage/Current" Button.

hashtag
FMURT6 Software Procedure (on host machine)

hashtag
Prerequisites

  1. Unrestricted network connection

  2. on native machine

  3. Setup ssh keys

hashtag
Software Setup

circle-info

Type "y" + "enter" when required.

hashtag
Building and Flashing

circle-info

Download and install Jlink from:

circle-exclamation

If you get an error with "west flash," make sure J-Link EDU Mini is directly connected to your machine. If that doesn't work then unplug and re-plug the FMURT6 board.

hashtag
NavQPlus Software Procedure (on navq+ board)

hashtag
Prerequisites

  1. Unrestricted network connection

  2. Setup ssh keys

circle-info

NavQ+ requires internet connection for the following setup. If an ethernet connection is not available, connect the board to the native ubuntu machine via ethernet and .

hashtag
Accessing Shell

circle-info

username=user

password=user

hashtag
Software Setup

circle-exclamation

Comment out both the interfaces listed in ~/CycloneDDSConfig.xml;

hashtag
Network Setup

hashtag
Running and Demonstration

hashtag
Execution on NavQPlus

circle-info

Since, ros2 commands block the shell, we will need two shells for the following.

circle-exclamation

If the TCP connection fails, reset FMURT6.

hashtag
Operation from Joystick

  1. Set the Joystick to X-Input Mode (from the switch behind the controller).

  2. Press the mode button such that the green light next to it is turned on.

  3. Press green button A (0) to select manual mode.

1

5

4

6

1

7

1

8

1

9

1

10

1

11

1

12

1

13

USB-UART serial debugger

1

14

1

15

(Female to Female)

1

16

(Female to Female)

1

Set the Voltage to 7.4 V from the "Tuning Nob."
  • Connect the output wires to XT60 M1 on buggy.

  • Press start button (7) to arm in the selected mode.
  • Use vertical d-pad axis (1) for acceleration/reverse.

  • Use horizontal right-stick axis (3) for steering.

  • All controls: joy axes 1 is throttle, joy axes 3 is yaw/steering, button 7 is arm, button 6 is disarm, button 1 is mode manual, button 1 is mode auto, button 2 is mode cmd_vel.

  • 1

    RDDRONE-FMURT6arrow-up-right

    1

    2

    Pixhawk Debug Adapterarrow-up-right

    1

    3

    J-Link EDU Miniarrow-up-right

    1

    mrbuggyarrow-up-right
    CogniPilot/cerebriarrow-up-right
    Ubuntu 22.04arrow-up-right
    https://www.segger.com/downloads/jlink/arrow-up-right
    Ubuntu 22.04.3 Humble Imagearrow-up-right
    create a network bridge from wifi to ethernet on your machinearrow-up-right
    Block Diagram of the Complete Hardware Setup
    RDDRONE-FMURT6
    NavQPlus
    USB-UART Serial Debugger
    Pixhawk Debug Adaptor and J-Link EDU Mini
    E3648A 100W Dual Output Power Supply
    Logitech Joystick G F310 Button Mapping

    4

    sudo apt update
    sudo apt upgrade
    
    sudo apt install git
    mkdir -p ~/git/cognipilot/
    cd ~/git/cognipilot/
    git clone git@github.com:CogniPilot/helmet.git
    cd helmet
    ./scripts/install.sh -f dream/mrbuggy3.yaml
    source ~/.bashrc
    source ~/.profile
    cd ~/git/cognipilot/ws/cerebri/app/mrbuggy3
    west build -b mimxrt1062_fmurt6 -p
    west flash
    minicom -D /dev/<device_name> -b 115200
    sudo apt update
    sudo apt upgrade
    sudo apt install ros-humble-actuator-msgs
    
    mkdir -p ~/git/cognipilot/src
    cd ~/git/cognipilot/src
    git clone git@github.com:CogniPilot/synapse_ros.git
    git clone git@github.com:CogniPilot/synapse_msgs.git
    git clone git@github.com:CogniPilot/synapse_protobuf.git
    git clone git@github.com:CogniPilot/synapse_tinyframe.git
    
    cd ~/git/cognipilot
    colcon build --symlink-install
    sudo vi ~/.net.sh
    
    ``` (Add the following lines in ~/.net.sh)
    #!/bin/bash
    sudo ethtool -s eth0 master-slave forced-slave
    sudo ifconfig eth0 192.0.2.2 netmask 255.255.255.0
    ```
    echo "bash /home/$USER/.net.sh" >> ~/.bashrc
    source ~/.bashrc
    ros2 run joy joy_node --ros-args -r /joy:=/cerebri/in/joy
    
    cd ~/git/cognipilot/install
    source setup.bash
    ros2 launch synapse_ros synapse_ros.launch.py
    JST SH 10-Pin Cablearrow-up-right
    USB-C (Male) to USB-A (Male) Cablearrow-up-right
    Micro-USB (Male) to USB-A (Male) Cablearrow-up-right
    .05" 10-Pin Ribbon Cablearrow-up-right
    MR-Buggy 3 Kitarrow-up-right
    Logitech G F310arrow-up-right
    USB-A (Female) to USB-C (Male) Adaptorarrow-up-right
    NavQPlusarrow-up-right
    Cat6a (Male) ix Industrial to RJ45 (Male) Ethernet Cablearrow-up-right
    E3648A 100W Dual Output Power Supplyarrow-up-right
    JST GH 1.25mm Pitch 2 Pin Cablearrow-up-right
    JST GH 1.25mm Pitch 6 Pin Cablearrow-up-right