robotont_driver package from robotont_driver repo

robotont_driver

Package Summary

Tags No category tags.
Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robotont/robotont_driver.git
VCS Type git
VCS Version humble-devel
Last Updated 2024-02-20
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Hardware driver for the Robotont robot

Additional Links

No additional links.

Maintainers

  • Veiko Vunder

Authors

  • Sven-Ervin Paap

robotont_driver

ROS driver package for robotont.

This package handles low-level communication between ROS and robotont hardware.

CI License

1. Installing and starting the driver

1. Install Ubuntu 22.04

2. Install ROS 2 Rolling 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 lower number): * 1: The parameters specified via command line, when using the launch file * 2: The parameters defined in 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. 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!

3. Available plugins

plugin_odom

This plugin receives the ODOM packet from the robot and publishes the data on /odom (<: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

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotont_driver at Robotics Stack Exchange

No version for distro iron. Known supported distros are highlighted in the buttons above.

robotont_driver package from robotont_driver repo

robotont_driver

Package Summary

Tags No category tags.
Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robotont/robotont_driver.git
VCS Type git
VCS Version rolling-devel
Last Updated 2023-11-27
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Hardware driver for the Robotont robot

Additional Links

No additional links.

Maintainers

  • Veiko Vunder

Authors

  • Sven-Ervin Paap

robotont_driver

ROS driver package for robotont.

This package handles low-level communication between ROS and robotont hardware.

CI License

1. Installing and starting the driver

1. Install Ubuntu 22.04

2. Install ROS 2 Rolling 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 lower number): * 1: The parameters specified via command line, when using the launch file * 2: The parameters defined in 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. 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!

3. Available plugins

plugin_odom

This plugin receives the ODOM packet from the robot and publishes the data on /odom (<: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

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotont_driver at Robotics Stack Exchange

robotont_driver package from robotont_driver repo

robotont_driver

Package Summary

Tags No category tags.
Version 0.0.1
License Apache 2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robotont/robotont_driver.git
VCS Type git
VCS Version noetic-devel
Last Updated 2023-05-03
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The robotont_driver package

Additional Links

Maintainers

  • Veiko Vunder
  • Karl Kruusamäe

Authors

  • Raid Vellerind
  • Martin Maidla
  • Madis Kaspar Nigol
  • Veiko Vunder

robotont_driver

ROS driver package for robotont.

This package handles low-level communication between ROS and robotont hardware.

CI License

1. Starting the driver

Real robot

On a real robot, the driver is started automatically via a system service. You can perform several checks to verify that the driver is running properly.

To check the status of the service:

systemctl status robotont.service

If the driver node is running you should also see '/driver_node' in the output of:

rosnode list

In case any of the above checks should fail try restarting the service (see the robotont_support package) or launch the driver node manually:

roslaunch robotont_driver driver_basic.launch

Fake driver

In case you don't have a real robot nearby, you can run this simple dummy node that subscribes to velocity commands and publishes odometry. This driver does not know anything about physics and performs a simple integration. To start the fake driver with RViz visualization:

roslaunch robotont_driver fake_driver.launch

Gazebo simulation

For a more physics-based experience, the real robot can be replaced with a Gazebo simulation. Please see the robotont_gazebo package for further information.

2. Moving the robot using a keyboard

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

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

  • If teleop twist keyboard is not installed:
sudo apt-get install ros-noetic-teleop-twist-keyboard

  • Follow the printout in the console to learn how to control the robot. Enjoy the ride!

3. Moving the robot using an Android device

  • Find out your computer's IP address:
ifconfig

  • From your Android device, go to Google Play Store and install the ROS Control app.
  • Open the ROS Control app on your phone.
  • Add a new robot using the plus sign in the top right corner and give it a desired name.
  • Insert your computer's IP address into the Master URI field by entering the following:
http://IP_address:11311

  • Click on "Show advanced options" in the prompted window and fill in "Joystick" and "Odometry" topic names with "/robotont/cmd_vel" and "/robotont/odom", respectively.
  • Click OK to add the robot.
  • Now you can select the robot from the list and teleoperate it using the touch joystick button.

4. About the driver architecture

Communication protocol

PACKET_ID:ARG1:ARG2:...:ARGN\r\n

Available plugins

plugin_motors

This plugin subscribes to cmd_vel (<:twist>) topic and sends the RS (Robot Speed) packet with lin_vel_x, lin_vel_y, and ang_vel_z arguments to the robot.

plugin_odom

This plugin receives the ODOM packet from the robot and publishes the data on /odom (<:odometry>) topic. This plugin also broadcasts an odom frame via TF.

plugin_power_supply

This plugin is responsible for publishing information about battery levels, current consumption, and other hardware status indicators. The messages are published on /robotont/power_supply (<:powersupply>) topic.

plugin_range

A plugin for ToF range sensor addon. Publishes messages on /robotont/range (<:range>) topic.

plugin_led

A plugin for controlling the led strip addon. The plugin subscribes to /robotont/led_pixel (<:ledmodulepixel>) and /robotont/led_segment (<:ledmodulesegment>) topics, which can be used to set the color of an individual pixel or a segment of pixels.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotont_driver at Robotics Stack Exchange

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.

robotont_driver package from robotont_driver repo

robotont_driver

Package Summary

Tags No category tags.
Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robotont/robotont_driver.git
VCS Type git
VCS Version ros2-foxy-devel
Last Updated 2023-05-10
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Hardware driver for the Robotont robot

Additional Links

No additional links.

Maintainers

  • Veiko Vunder

Authors

  • Sven-Ervin Paap

robotont_driver

ROS driver package for robotont.

This package handles low-level communication between ROS and robotont hardware.

CI License

1. Installing and starting the driver

1. Install Ubuntu 22.04

2. Install ROS 2 Rolling 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

4. Build the driver

colcon build

5. Source install files and start the driver

source install/local_setup.bash
ros2 run robotont_driver driver_node

2. Available plugins

plugin_odom

This plugin receives the ODOM packet from the robot and publishes the data on /odom (<:odometry>) topic. This plugin also broadcasts an odom frame via TF.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotont_driver at Robotics Stack Exchange

No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.

robotont_driver package from robotont_driver repo

robotont_driver

Package Summary

Tags No category tags.
Version 0.0.1
License Apache 2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/robotont/robotont_driver.git
VCS Type git
VCS Version melodic-devel
Last Updated 2021-02-17
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The robotont_driver package

Additional Links

Maintainers

  • Veiko Vunder
  • Karl Kruusamäe

Authors

  • Raid Vellerind
  • Martin Maidla
  • Madis Kaspar Nigol
  • Veiko Vunder

robotont_driver

ROS driver package for robotont.

This package handles low-level communication between ROS and robotont hardware.

Build Status License

1. Starting the driver

Real robot

On a real robot, the driver is started automatically via a system service. You can perform several checks to verify that the driver is running properly.

To check the status of the service:

systemctl status clearbot.service

If the driver node is running you should also see '/driver_node' in the output of:

rosnode list

In case any of the above checks should fail try restarting the service (see the robotont_support package) or launch the driver node manually:

roslaunch robotont_driver driver_basic.launch

Fake driver

In case you don't have a real robot nearby, you can run this simple dummy node that subscribes to velocity commands and publishes odometry. This driver does not know anything about physics and performs a simple integration. To start the fake driver with RViz visualization:

roslaunch robotont_driver fake_driver.launch

Gazebo simulation

For a more physics-based experience, the real robot can be replaced with a Gazebo simulation. Please see the robotont_gazebo package for further information.

2. Moving the robot using a keyboard

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

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

  • If teleop twist keyboard is not installed:
sudo apt-get install ros-melodic-teleop-twist-keyboard

  • Follow the printout in the console to learn how to control the robot. Enjoy the ride!

3. Moving the robot using an Android device

  • Find out your computer's IP address:
ifconfig

  • From your Android device, go to Google Play Store and install the ROS Control app.
  • Open the ROS Control app on your phone.
  • Add a new robot using the plus sign in the top right corner and give it a desired name.
  • Insert your computer's IP address into the Master URI field by entering the following:
http://IP_address:11311

  • Click on "Show advanced options" in the prompted window and fill in "Joystick" and "Odometry" topic names with "/robotont/cmd_vel" and "/robotont/odom", respectively.
  • Click OK to add the robot.
  • Now you can select the robot from the list and teleoperate it using the touch joystick button.

4. About the driver architecture

Communication protocol

PACKET_ID:ARG1:ARG2:...:ARGN\r\n

Available plugins

plugin_motors

This plugin subscribes to cmd_vel (<:twist>) topic and sends the RS (Robot Speed) packet with lin_vel_x, lin_vel_y, and ang_vel_z arguments to the robot.

plugin_odom

This plugin receives the ODOM packet from the robot and publishes the data on /odom (<:odometry>) topic. This plugin also broadcasts an odom frame via TF.

plugin_power_supply

This plugin is responsible for publishing information about battery levels, current consumption, and other hardware status indicators. The messages are published on /robotont/power_supply (<:powersupply>) topic.

plugin_range

A plugin for ToF range sensor addon. Publishes messages on /robotont/range (<:range>) topic.

plugin_led

A plugin for controlling the led strip addon. The plugin subscribes to /robotont/led_pixel (<:ledmodulepixel>) and /robotont/led_segment (<:ledmodulesegment>) topics, which can be used to set the color of an individual pixel or a segment of pixels.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged robotont_driver at Robotics Stack Exchange