Skip to main content

Installation

Prerequisites​

System Requirements​

ComponentVersion
HardwareStudica Robotics VMX
OSUbuntu 22.04 (Jammy)
ROS2Humble Hawksbill
info

The VMX HAL library comes pre-installed on the official VMX OS image. No separate installation required.

ROS2 Dependencies​

sudo apt update
sudo apt install -y \
ros-humble-rclcpp \
ros-humble-rclcpp-components \
ros-humble-sensor-msgs \
ros-humble-geometry-msgs \
ros-humble-std-msgs \
ros-humble-rmw-cyclonedds-cpp \
ros-humble-joy

Installing the Driver​

1. Clone the Repository​

git clone https://github.com/Studica-Robotics/ROS2.git ~/studica_ws
cd ~/studica_ws

2. Build and Install the Driver Library​

cd ~/studica_ws/drivers
make
sudo make install
cd ~/studica_ws

3. Configure the Shell Environment​

Run this once to configure your shell:

echo -e '\nsource /opt/ros/humble/setup.bash\n[ -f ~/studica_ws/install/setup.bash ] && source ~/studica_ws/install/setup.bash\nexport RMW_IMPLEMENTATION=rmw_cyclonedds_cpp' >> ~/.bashrc
source ~/.bashrc
tip

Driver nodes run as root for hardware access, making shared memory unavailable to non-root tools. CycloneDDS handles the DDS transport in this configuration.

4. Build the Package​

cd ~/studica_ws
colcon build --packages-select studica_control
source ~/.bashrc

5. Grant Hardware Permissions​

Run once to grant the required hardware access:

./scripts/setup_permissions.sh

Running the Driver​

Launch with the default configuration:

ros2 launch studica_control studica_launch.py

Launch with a custom config file:

ros2 launch studica_control studica_launch.py params_file:=/path/to/params.yaml

With Gamepad Support​

The gamepad node requires the joy node running in a separate terminal:

# Terminal 1
ros2 launch studica_control studica_launch.py

# Terminal 2
ros2 run joy joy_node

Verify Sensor Output​

ros2 topic list
ros2 topic echo /imu
ros2 topic echo /drive/m_0/encoder
ros2 topic echo /drive/m_0/rpm
ros2 topic echo /front_sonar/range