Operate MR-Buggy 3 using NavQPlus and FMURT6
07/2023
Introduction
This tutorial describes how to operate MR-Buggy 3 with Logitech Joystick using NavQPlus and FMURT6.
The synapse packages from CogniPilot are built on NavQPlus which will read input from the Joystick and send the appropriate commands to FMURT6 over ethernet.
The mrbuggy application in CogniPilot/cerebri running on FMURT6 takes commands from NavQPlus and sends operation signals to MR-Buggy 3 servo and motor controller.
Items Needed
13
USB-UART serial debugger
1
Hardware Procedure




Power Supply Setup
Press "Power" Button.
Press "Output On/Off" Button.
Select "Voltage" from "Voltage/Current" Button.
Set the Voltage to 7.4 V from the "Tuning Nob."
Connect the output wires to XT60 M1 on buggy.

FMURT6 Software Procedure (on host machine)
Prerequisites
Unrestricted network connection
Ubuntu 22.04 on native machine
Setup ssh keys
sudo apt update
sudo apt upgrade
sudo apt install git
Software Setup
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
Building and Flashing
cd ~/git/cognipilot/ws/cerebri/app/mrbuggy3
west build -b mimxrt1062_fmurt6 -p
west flash
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.
NavQPlus Software Procedure (on navq+ board)
Prerequisites
Unrestricted network connection
Setup ssh keys
Accessing Shell
minicom -D /dev/<device_name> -b 115200
Software Setup
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
Comment out both the interfaces listed in ~/CycloneDDSConfig.xml;
Network Setup
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
Running and Demonstration
Execution on NavQPlus
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
If the TCP connection fails, reset FMURT6.
Operation from Joystick

Set the Joystick to X-Input Mode (from the switch behind the controller).
Press the mode button such that the green light next to it is turned on.
Press green button A (0) to select manual mode.
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.
Last updated
Was this helpful?