Repository Summary
Checkout URI | https://github.com/robotont/robotont_driver.git |
VCS Type | git |
VCS Version | humble-devel |
Last Updated | 2024-09-16 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
robotont_driver | 0.1.4 |
README
robotont_driver
ROS driver package for robotont.
This package handles low-level communication between ROS and robotont hardware.
1. Installing and starting the driver from ROS distro
1. Ensure Your System’s Distribution is Supported. ROS 2 Humble supports Ubuntu 22.04 (Jammy)
2. Install ROS 2 Humble Installing ROS2 Humble
3. Install robotont driver
sudo apt install ros-humble-robotont-driver
4. Source install files and start the driver using the launch configuration
source /opt/ros/humble/setup.bash
ros2 launch robotont_driver driver_launch.py
Launch parameters are defined in 3 different places. With the following hierarchy (lower number overwrites higher number):
- 1: The parameters defined in the parameters file
- 2: The parameters specified via command line, when using the launch file
- 3: The parameters hardcoded in the driver code
To change the launch parameters once, they can also be specified via the command line:
ros2 launch robotont_driver driver_launch.py device_name:='/dev/ttyACM0'
2. Installing and starting the driver using source code
1. Ensure Your System’s Distribution is Supported. ROS 2 Humble supports Ubuntu 22.04 (Jammy)
2. Install ROS 2 Humble and create a workspace Creating a workspace
3. Pull driver repo and install ROS dependencies
Navigate to workspace root folder
sudo rosdep init
rosdep update
rosdep install --from-paths src -y --ignore-src
The driver also relies on the following packages:
- 1: io-context
- 2: serial-driver
- 3: asio-cmake-module
sudo apt install ros-humble-io-context ros-humble-serial-driver ros-humble-asio-cmake-module
4. Build the driver
Ensure you are in your workspace root folder and enter the following commands to install them:
colcon build
5. Source install files and start the driver using the launch configuration
source install/local_setup.bash
ros2 launch robotont_driver driver_launch.py
Launch parameters are defined in 3 different places. With the following hierarchy (lower number overwrites higher number):
- 1: The parameters defined in the parameters file
- 2: The parameters specified via command line, when using the launch file
- 3: The parameters hardcoded in the driver code
To change the launch parameters once, they can also be specified via the command line:
ros2 launch robotont_driver driver_launch.py device_name:='/dev/ttyACM0'
3. Moving the robot
The drivers for the simulated and the real robot both subscribe to a cmd_vel
topic. To move the robot, we have to publish velocity messages to this exact topic.
Here we use the teleop_twist_keyboard node, which translates command line keypresses to velocity messages and published these by default on cmd_vel
topic.
Run the node
ros2 run teleop_twist_keyboard teleop_twist_keyboard
- Follow the printout in the console to learn how to control the robot. Enjoy the ride!
4. Available plugins
plugin_odom
This plugin receives the ODOM packet from the robot and publishes the data on /odom (<nav_msgs::Odometry>) topic. This plugin also broadcasts an odom frame via TF.
plugin_motor
This plugin subscribes to cmd_vel topic and relays the velocities to robotont’s motors