Skip to content

Instantly share code, notes, and snippets.

View robosam2003's full-sized avatar
๐Ÿš€
Robots. Rockets.

Samuel Scott robosam2003

๐Ÿš€
Robots. Rockets.
View GitHub Profile
@robosam2003
robosam2003 / readme.md
Created August 27, 2024 16:01
QT Ui in ROS2 implementation - Multithreaded implementation

QT + ROS2

It's handy to have GUIs for your ROS applications, but QT applications run a bit differently with ROS. They must be run in a multithreaded execution to work properly.

The following example shows my workflow for using a QT gui (with an external ui file) in a ROS node:

# An example interface node for the gui

import rclpy
from rclpy.node import Node
@robosam2003
robosam2003 / DDSConfig.md
Last active October 12, 2024 07:04
Configuring Cyclone DDS for Wifi + Ethernet connection on an Enterprise Network (for ROS2)

Configuring Cyclone DDS for Wifi + Ethernet connection on an Enterprise Network (for ROS2)

For communication between wifi and ethernet devices, the DDS layer in ROS2 relies on the multicast ability of a given network.

This is often disabled on enterprise networks (at university or work etc) for (I think) security reasons .

To get around this, you have to configure CycloneDDS to comunicate in a unicast manner, and you must specify the local IPs of all the participants you want to communicate.

_I am using CycloneDDS instead of the default (for ROS2 humble at least) FastDDS, because I ran into lots of issues trying to get topic

# run this to determine which firmware the kernal is looking for
modinfo iwlwifi | grep iwlwifi-cc
# example output:
# firmware: iwlwifi-cc-a0-50.ucode
# go https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/ and download the firmware
# copy file to /lib/firmware
sudo cp ~/Download/iwlwifi-cc-a0-50.ucode /lib/firmware
@veproza
veproza / AGPS.md
Last active October 15, 2024 13:53
Getting u-blox MAX-7C GPS to work with Assisted A-GPS

Getting u-blox MAX-7C GPS to work with Assisted A-GPS

So you got your u-blox GPS and wired it up only to look at it struggling to get a valid fix? Under less than ideal conditions, it can take a better part of half an hour. That's because unlike your smartphone GPS, it doesn't have the luxury of having downloaded all the auxiliary navigation data (almanacs and the lot) out-of-band, via fast mobile connection. Instead it relies on the satellite's signal itself, which is being transmitted to you at meager 50 bits per second (I'm not missing "kilo" there, it's three orders of magnitude slower than your 2G GPRS connection).

Luckily, the u-blox receivers are fitted with what the company calls "AssistNow" capability and it does exactly the same thing your iPhone does - feeds the GPS with pre-downloaded almanacs, speeding up the acquisition process to mere seconds.

In principle, the process looks easy enough - we just need to download the data, and then push them to the receiver. Sadly, the AssistNow documentat