Home

Awesome

RysRos2

A ROS2 software stack for MiniRyś robots.


<!-- MarkdownTOC --> <!-- /MarkdownTOC -->

Prerequisites

Remote management interface (optional)

orocos_kdl workspace with working python_orocos_kdl, e.g. build from this source

See step 2. in compilation.

Compilation

  1. Clone this repo - it can be either a self-contained workspace or a sub-workspace of a bigger one. E.g. git clone https://github.com/GroupOfRobots/RysROS2.git ~/rys-ros2
  2. Source your ROS2 installation, e.g. source /opt/ros/r2b3/install/setup.bash or source ~/ros2/install/setup.zsh (mind the extension!)
  3. (OPTIONAL) Compile the patched orocos_kdl workspace and source its setup file, e.g. source ~/ros2_pykdl/install/setup.zsh
  4. Get inside your workspace (cd ~/rys-ros2) and compile the code (ament build)

Running

First you have to source the project's setup file. It will automatically source 'parent' setups, like main ROS2 one or patched orocos_kdl one.

source ~/rys-ros2/install/setup.zsh

All executables of this project are run via ros2 run <package_name> <entrypoint_name> command.

Robot

Note: this WILL NOT work without modifications on anything other than MiniRys v3.1 robot.

For running robot-side software you can either run all the nodes separately or use the rys_launch package which runs them all from a single entry point.

For all-in-one operation:

ros2 run rys_launch main
# There is also a multi-threaded equivalent:
ros2 run rys_launch multithread

For running nodes separately:

ros2 run rys_motors_controller main
ros2 run rys_sensor_battery main
ros2 run rys_sensor_imu main
ros2 run rys_sensor_ranges main
ros2 run rys_sensor_temperature main

Remote

This requires the patched orocos_kdl package, see requirements section.

ros2 run rys_remote main