-

robotont_driver package from robotont_driver repo

robotont_driver

Package Summary

Tags No category tags.
Version 0.1.4
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-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)

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 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

CHANGELOG

Changelog for package robotont_driver

0.1.4 (2024-05-19)

  • Changes to parameter handling
  • Contributors: Zhven

0.1.2 (2024-03-18)

0.1.1 (2024-03-18)

  • Solved build warnings
  • Odom fix
  • fixed timeout
  • added timeout to the fake_driver and descriprion launch to the launch file
  • Merge pull request #16 from robotont/humble-devel-raimo Humble devel raimo
  • removed redundant dependency
  • resolving minor merge conflict from led plugin
  • Add license file
  • generic commenting
  • commented out some code
  • Added ledmodule code
  • Smalle changes to README
  • Reworked logging and odom namespace
  • Foundation for led and range plugins
  • First implementation of fake_driver
  • Added plugin launch arguments
  • Launch file + parameters
  • Tested and validated current functionality. Added some comments.
  • Working odom + cmd_vel
  • Functional Odom and TF messages
  • Merge branch 'ros2-foxy-devel' into devel-ros2-rolling
  • Groundwork for odom plugin layed out
  • first attempt at plugins
  • Create README.md
  • Ubuntu 22 + Ros2 rolling
  • First rolling commit
  • reverted async_receive_handler; added watchdog timer for serial port monitoring
  • Serial reading working without correct error handling.
  • End of file error
  • Attempted serial echo
  • New beginnings; compiling code with working reading from serial
  • Changes to packet polling
  • Serial data packet passing between nodes is functional
  • Serial read improvements
  • Merge branch 'ros2-foxy-devel' of https://github.com/robotont/robotont_driver into ros2-foxy-devel
  • Incomplete mess
  • template with async read working, moved to robotont namespace
  • passing node shared pointer to the hardware class, still have to resolve a weak ptr exception due to shared_from_this() being called from constructor
  • Subscriber not working
  • Reading from serial working
  • First working compile
  • First successful compile
  • First commit. Include errors.
  • Initial ROS2 commit
  • Merge pull request #13 from robotont/melodic-devel-maarika stopping mechanism
  • velocities to 0
  • stop
  • Merge pull request #12 from robotont/melodic-devel-ns-slash Melodic devel ns slash
  • improved comment layout
  • ns with slash
  • Merge pull request #11 from robotont/melodic-devel-ns Namespaced
  • removed instructions about remapping
  • Merge branch 'melodic-devel' into melodic-devel-ns
  • Merge pull request #9 from robotont/melodic-devel-veiko Travis fix
  • turning debug off again
  • converted run_depend tags for package format 2
  • travis:enable debugging
  • removed cmake_modules dependency, package.xml format 2
  • changed arg name
  • ns
  • ns
  • driver_basic ns
  • ns
  • Merge pull request #6 from robotont/melodic-devel-veiko Melodic devel veiko
  • travis from .org to .com
  • renaming RobotontHW->Hardware and RobotontDriver->Driver
  • Merge branch 'melodic-devel' into melodic-devel-veiko
  • Merge pull request #5 from robotont/melodic-devel-maarika removed gazebo_driver and gazebo_odom
  • removed gazebo_driver and gazebo_odom
  • changed loglevel of loading messages and removed text formatting dependency from launch file
  • control a single led or the whole segment with a same keyword
  • Merge pull request #3 from robotont/melodic-devel-veiko cleaned up deprecated stuff
  • improvements based on Karl's review
  • frame changed to base_link
  • namespaces for android app instructions in README
  • minor improvements to README
  • specifying rosinstall file in .travis.yml
  • moved travis upstream workspace packages to a separate .rosinstall file
  • added robotont_msgs to travis script
  • added install tags to CmakeLists and removed old .rviz file
  • Namespace explanations to readme, added travis
  • put fake driver under robotont ns, reusing launch files from robotont_description
  • added dependency to robotont_description, fixed a typo in authors name
  • restructuring the main README.md, merged stuff from src/README.md and removed it
  • Updated authors, maintainers, and other meta info
  • Need to specify namespace when running keyboard teleop node with rosrun.
  • cleaned up deprecated stuff
  • removed deprecated fake_odom.launch
  • Merge remote-tracking branch 'origin/melodic-devel-maarika' into melodic-devel-veiko
  • Merge remote-tracking branch 'origin/melodic-devel-ranno' and 'origin/melodic-devel-rvalner into melodic-devel-veiko
  • removed typo from readme
  • removed typo from readme
  • modified readme
  • changed fake_odom_publisher.ccp -> fake_driver_node.cpp and added fake_driver.launch
  • C++ 11 standard added
  • Added power supply status plugin
  • led module plugin, range plugin
  • fixed duplicate iterator increase bug in writePacket function
  • modular plugin based architecture - a complete rewrite
  • implementation template for RangeSensor
  • sensors node
  • Merge pull request #2 from robotont/melodic-devel-veiko removed deprecated notification from readme
  • removed deprecated notification from readme
  • Merge pull request #1 from robotont/ihar fake odom added
  • joy is removed
  • fake_odom_publisher created
  • copy from the old repository
  • Initial commit
  • Contributors: Ihar Suvorau, M, RValner, Raimo Köidam, Veiko, Veiko Vunder, Veix123, Zhven, kasutaja, kruusamae, m, patsyuk03, peko, rannomspp, sven-ervin.paap

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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