Installation
Prerequisites​
System Requirements​
| Component | Version |
|---|---|
| Hardware | Studica Robotics VMX |
| OS | Ubuntu 22.04 (Jammy) |
| ROS2 | Humble 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