2 unstable releases

0.1.0 Mar 31, 2023
0.0.7 Dec 9, 2022

#196 in Robotics

Apache-2.0

205KB
5K SLoC

arci-ros2

crates.io docs docs

ROS2 implementation for arci.

Dependencies

Install

sudo apt install ros-foxy-nav2-msgs ros-foxy-geometry-msgs # for navigation
sudo apt install ros-foxy-ros2-control ros-foxy-ros2-controllers # for ros2_control
sudo apt install libclang-dev # for r2r

Build

Build openrr with the feature ros2

source /opt/ros/foxy/setup.bash
cargo build --features ros2

How to use (navigation2)

Install navigation2

Read here and install navigation2 and simulator.

Launch simulator

ros2 launch nav2_bringup tb3_simulation_launch.py

Run command line tools

Send navigation goal via command line

Don't forget to set the initial pose of the robot before sending the goal pose using the 2D Pose Estimate button of rviz.

./target/debug/openrr_apps_robot_command --config-path ./openrr-apps/config/turtlebot3_robot_client_config_ros2.toml send_navigation_goal -- -0.5 0.2 -1.5

GUI to send velocity

./target/debug/openrr_apps_velocity_sender --config-path ./openrr-apps/config/turtlebot3_robot_client_config_ros2.toml

How to use (ros2_control)

Install ros2_control_demos

Clone and build ros2_control_demos

  • if ROS2_DISTRO is foxy: checkout foxy branch, install it, and source install/setup.bash.
  • if ROS2_DISTRO is galactic: replace all "foxy" in the repository with "galactic", install it, and source install/setup.bash.

Launch rrbot example and controllers

Launch rrbot example

ros2 launch ros2_control_demo_bringup rrbot.launch.py

Stop existing controllers.

ros2 control set_controller_state joint_state_broadcaster stop
ros2 control set_controller_state forward_position_controller stop

Start position_trajectory_controller and joint_state_broadcaster.

ros2 control load_controller position_trajectory_controller --set-state start
ros2 control set_controller_state joint_state_broadcaster start

Run command line tools

Run ros2_control example of arci-ros2

cargo run --package arci-ros2 --example ros2_control --features ros2

License

Licensed under the Apache License, Version 2.0.

Dependencies

~13–24MB
~321K SLoC