In windows you can use virtualization tools like VirtualBox to setup ROS 2 environement and use Olive products. Windows natively supports RNDIS (Remote Network Driver Interface Specification) but not ECM (Ethernet Control Model), which is commonly used in Linux or macOS environments for USB networking via the USB CDC class. We have switched to ECM to have a better support on MAC and Linux and in Windows you can direct connect your device to VirtualBox and have the topics. We have a feature to switch between RNDIS or ECM from paramters in Olive Components.
If you are using USB version of Olive Components, please make sure the usb_protocol from manager is set to RNDIS. If you are using Linux or MacOS change this back to ECM.
You change this via ROS 2 params in manager or using RQT and Plugins -> Dynamic Reconfigure.
VirtualBox is a powerful, open-source, cross-platform virtualization software developed by Oracle Corporation. It enables users to create and run multiple virtual machines (VMs) on a single physical computer, effectively mimicking the functionality of multiple separate computers running different operating systems. This allows users to test and develop software, run legacy applications, or experiment with new operating systems without the need for additional hardware. VirtualBox is widely used by developers, IT professionals, and enthusiasts for its ease of use, flexibility, and extensive feature set, making it a valuable tool for managing and deploying diverse computing environments.
You can download a preconfigured Virtual Box image from here:
The username and password for this instance is "olive" and "one".
ping 192.168.7.1
Pinging 192.168.7.1 with 32 bytes of data:
Reply from 192.168.7.1: bytes=32 time=1ms TTL=64
Reply from 192.168.7.1: bytes=32 time<1ms TTL=64
Reply from 192.168.7.1: bytes=32 time<1ms TTL=64





ping 192.168.7.1
PING 192.168.7.1 (192.168.7.1) 56(84) bytes of data.
64 bytes from 192.168.7.1: icmp_seq=1 ttl=64 time=1.53 ms
64 bytes from 192.168.7.1: icmp_seq=2 ttl=64 time=0.869 ms
--- 192.168.7.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.869/1.198/1.528/0.329 ms
ros2 topic list
/olive/actuator/pan/goal/position
/olive/actuator/pan/joint
/olive/actuator/pan/joint/voltage
/olive/actuator/pan/led
/olive/actuator/pan/magnet/angle
/olive/actuator/pan/magnet/auto_gain
/olive/actuator/pan/magnet/diagnostic
/olive/actuator/pan/magnet/magnitude
/olive/actuator/pan/magnet/moving_average
/olive/actuator/pan/status
/olive/actuator/pan/switch
/parameter_events
/rosout
Parallels Desktop is a powerful virtualization software that allows users to run Windows, Linux, and other operating systems seamlessly alongside macOS on a Mac computer. It's particularly popular among professionals and developers who need access to multiple platforms without rebooting. With features like Coherence Mode, users can run Windows applications as if they were native Mac apps, making the workflow smoother and more integrated. Parallels also supports features like drag-and-drop between systems, shared folders, and hardware acceleration, ensuring high performance and ease of use. Whether you're testing software, running legacy applications, or gaming, Parallels Desktop offers a flexible and efficient solution for cross-platform computing.
First make sure using a normal Linux computer you have disabled the usb_watchdog_service from parameters. You can get more infromation regarding ROS 2 params and RQT here:
When you connect Olive Component, select the guest operating system. Here select the virtual Linux (Ubuntu 22.04).
Make sure the computer has the default staic ip address (192.168.7.200).
You can also open the GUI and see the dashboard or use the terminal to see the topics
Ubuntu 22.04 with ROS 2 Humble and Ubuntu 24.04 with ROS 2 Jazzy are both fully supported by Olive Robotics components, ensuring smooth integration and optimal performance across both LTS platforms. Whether using IMUs, AI-powered camera sensors, or EdgeROS drivers, all Olive Robotics hardware and software modules operate flawlessly on these distributions. The ROS 2 native design of the components guarantees plug-and-play compatibility, and key features such as real-time data streaming, sensor fusion, and neural network inference are thoroughly tested and stable on both setups. This flexibility allows developers and roboticists to choose the distribution that best fits their project timeline or ecosystem without compromising on reliability or performance.
ROS 2 Humble is preinstalled and working in all Olive Components as default, but if you need to activate ROS 2 Jazzy and use Ubuntu 24.04 please follow this steps:
Follow these steps to install and activate the Jazzy ROS 2 distro on your Olive Component:
a. Make sure you are using the latest software patch (Patch > 1787)
https://olive-robotics.com/docs2/patch-update/
b. Download the prebuilt Jazzy package from the Olive Robotics website:
wget https://olive-robotics.com/uploads/patch/jazzy.zip
Transfer the file to your Olive Component over SCP:
scp jazzy.zip olive@192.168.7.100:
Access your device via SSH (password is one):
ssh olive@192.168.7.100
Unzip and move the Jazzy distribution to the ROS 2 directory:
unzip jazzy.zip
sudo mv jazzy /opt/ros2/
rm jazzy.zip
Reboot or restart the Olive Component to apply changes:
sudo reboot
The device will reboot once again to finalize the switch. After reboot, the IMU will start publishing using the native Jazzy distro.