Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

ROS2 Controlをためす その1:環境構築

ROS2でハードウェアを抽象化して制御則の見通しをよくするのに使います。

実際のところ

前提条件

導入

cd ~/dev_ws/

これをvcstoolという楽しいコマンドで

$ vcs import --input https://raw.githubusercontent.com/ros-controls/control.ros.org/master/ros_controls.$ROS_DISTRO.repos src
.........
=== src/ros-controls/control_msgs (git) ===
Cloning into '.'...
=== src/ros-controls/control_toolbox (git) ===
Cloning into '.'...
=== src/ros-controls/gazebo_ros2_control (git) ===
Cloning into '.'...
=== src/ros-controls/gz_ros2_control (git) ===
Cloning into '.'...
=== src/ros-controls/kinematics_interface (git) ===
Cloning into '.'...
=== src/ros-controls/realtime_tools (git) ===
Cloning into '.'...
=== src/ros-controls/ros2_control (git) ===
Cloning into '.'...
=== src/ros-controls/ros2_control_demos (git) ===
Cloning into '.'...
=== src/ros-controls/ros2_controllers (git) ===
Cloning into '.'...||<
>||
rosdep update --rosdistro=$ROS_DISTRO
sudo apt-get update
rosdep install --from-paths src --ignore-src -r -y

この状態で、rosdep。
知らなかったンですが、更新対象のrosdistroの指定って出来たんですね……

$ ~/dev_ws/
$ rosdep update --rosdistro=$ROS_DISTRO
$ rosdep install --from-paths src --ignore-src -r -y

導入への反映

$ ~/dev_ws/
$ source /opt/ros/${ROS_DISTRO}/setup.sh
$ colcon build --symlink-install
$ source install/setup.bash

動作確認

とりあえず導入できたか、確認。
ros2 contolはros2 cliのサブコマンドとして登録されています。
コントロールマネージャに問い合わせを行うコマンドを叩きますが、当然なんも無いので反応なし。

$ ros2 control list_controllers
Could not contact service /controller_manager/list_controllers