Skip to content

Commit

Permalink
Hopefully last name reorganization bolt_robot -> odri_bolt_robot
Browse files Browse the repository at this point in the history
(There are too many bolt robots...)
  • Loading branch information
olivier-stasse committed Jan 13, 2024
1 parent f9637d2 commit 07c8132
Show file tree
Hide file tree
Showing 57 changed files with 29 additions and 34 deletions.
12 changes: 4 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
This repository has now been superseeded by https://github.com/stack-of-tasks/bolt_robot

# ROS2_CONTROL_BOLT
# ODRI Bolt Robot

## Introduction

`ros2_control_bolt` is a repository that enables controlling and simulating the Bolt robot through the [ros2_control](https://control.ros.org) infrastructure.
`odri_bolt_robot` is a repository that enables controlling and simulating the Bolt robot from the [Open Dynamics Robot Initiative] through the [ros2_control](https://control.ros.org) infrastructure.
It allows to have bolt displayed through rviz, provides the access to the [ros2_controllers](https://github.com/ros-controls/ros2_controllers).
The most notorious is `joint_state_broadcaster` which provides the topic `/joint_states` for free.
It is then possible the node `robot_state_publisher` to have the TF-2 tree of the Bolt robot and to display it on rviz.
Expand All @@ -19,13 +17,11 @@ The install procedure is described in details [here](doc/Start.md).

[doc](doc) - a set of tutorials to start, calibrate and launch Bolt.

[gazebo_ros2_control_bolt](gazebo_ros2_control_bolt) - a ROS2 package that allows to simulate Bolt robot on Gazebo and apply position, velocity, effort and gains commands to it.

[position_velocity_effort_gain_controller](position_velocity_effort_gain_controller) - a ROS2 package in which is implemented a simple controller that enables to send position, velocity, effort and gain commands to the robot, with the specific hardware interface.

[ros2_control_bolt_bringup](ros2_control_bolt_bringup) - contains files that enable to launch Bolt within its GUIs, and with it hardware interfaces and controllers.
[odri_bolt_bringup](odri_bolt_bringup) - contains files that enable to launch Bolt within its GUIs, and with it hardware interfaces and controllers.

[ros2_description_bolt](ros2_description_bolt) - contains files necessary to describe, create and visualize Bolt with Rviz and Gazebo. It stores URDF-description files, rviz configurations and meshes for the demo robots.
[odri_bolt_description](odri_bolt_description) - contains files necessary to describe, create and visualize Bolt with Rviz and Gazebo. It stores URDF-description files, rviz configurations and meshes for the demo robots.

This repository relies on the [ros2_hardware_interface_odri](https://github.com/stack-of-tasks/ros2_hardware_interface_odri) which is a ros2_control driver for the ODRI board.

Expand Down
8 changes: 4 additions & 4 deletions doc/Forward_Position_Bolt.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ To move Bolt as you wish, you can use a `controller`. For this you will just nee

- Move the robot to where you want it to go and press `Ctrl-C` to stop the file `demo_bolt_sensor_reading` running.

- Copy the last value in your Terminal and paste it in the file [bolt_forward_position_publisher.yaml](https://github.com/Benjamin-Amsellem/ros2_control_bolt/blob/master/ros2_control_bolt_bringup/config/bolt_forward_position_publisher.yaml), at `line 8`
- Copy the last value in your Terminal and paste it in the file [bolt_forward_position_publisher.yaml](https://github.com/Benjamin-Amsellem/ros2_control_bolt/blob/master/odri_bolt_bringup/config/bolt_forward_position_publisher.yaml), at `line 8`
`pos1`

- Repeat this as many times as you want , just pass the next position in the yaml file to pos2 etc...
Expand All @@ -41,7 +41,7 @@ When you have configured all the positions, you should run the new controller. :

- Run in this terminal the `bolt_system_position_only` file (if you don't know how, follow the previous tutorial) :

ros2 launch ros2_control_bolt_bringup bolt_system_position_only.launch.py
ros2 launch odri_bolt_bringup bolt_system_position_only.launch.py

- When it is running you have 2 ways to run the `bolt_forward_position_publisher` **controller** :

Expand All @@ -57,7 +57,7 @@ When you have configured all the positions, you should run the new controller. :

- You just have to launch the file :

ros2 launch ros2_control_bolt_bringup test_forward_position_controller.launch.py
ros2 launch odri_bolt_bringup test_forward_position_controller.launch.py

**Now you can see bolt going to every point you gave it.**

Expand Down Expand Up @@ -98,7 +98,7 @@ When you have configured all the positions, you should run the new controller. :

- Now that the controller is active, you can launch it :

ros2 launch ros2_control_bolt_bringup test_forward_position_controller.launch.py
ros2 launch odri_bolt_bringup test_forward_position_controller.launch.py

Now you can see the bolt go to each point you gave it.

Expand Down
12 changes: 6 additions & 6 deletions doc/Launch.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ After you've followed all previous tutorials, you have the required knowledge t

Launch files are code in python, we make them to creating `commands lines` and `launch some nodes`. They are really useful because when we run them we can run a lot of nodes and commands lines at the same time.

All the launch files can be found in the [ros2_control_bringup](https://github.com/Benjamin-Amsellem/ros2_control_bolt/tree/master/ros2_control_bolt_bringup), we can run them separately. For example, we will see the file [bolt_system_position_only.launch.py](https://github.com/Benjamin-Amsellem/ros2_control_bolt/blob/master/ros2_control_bolt_bringup/launch/bolt_system_position_only.launch.py):
All the launch files can be found in the [odri_bolt_bringup](https://github.com/stack-of-tasks/odri_bolt_robot/tree/master/odri_bolt_bringup), we can run them separately. For example, we will see the file [bolt_system_position_only.launch.py](https://github.com/stack-of-tasks/odri_bolt_robot/blob/master/odri_bolt_bringup/launch/bolt_system_position_only.launch.py):

When you start a launch file you need to `declare the description` of your launch and inside you declare every argument you need.
After having declared every argument, you `initialize` them with what you want to do.
At the end, you `launch your argument`, then you run another launch file call [bolt.launch.py](https://github.com/Benjamin-Amsellem/ros2_control_bolt/blob/master/ros2_control_bolt_bringup/launch/bolt.launch.py). And in this launch you’ll see the same structure and at the end you run 5 different `Nodes` and run some `commands`.
At the end, you `launch your argument`, then you run another launch file call [bolt.launch.py](https://github.com/stack-of-tasks/odri_bolt_robot/blob/master/odri_bolt_bringup/launch/bolt.launch.py). And in this launch you’ll see the same structure and at the end you run 5 different `Nodes` and run some `commands`.

If you need to launch a `real time node`, you must call them as a `Owner user` with the `sudo` command.

Expand All @@ -37,7 +37,7 @@ You may need to setup 2 things to run a launch file :

When you run a launch file with a node in sudo (in real time), the sudo user and your user can't talk to each other. To resolve this problem, you have to add a file inside your directory.

Don't panic, the file is already add in the bolt directory [FastRTPS.xml](https://github.com/Benjamin-Amsellem/ros2_control_bolt/blob/master/ros2_description_bolt/config/FastRTPS.xml). But you have to call him every time you run a launch file, for that add this command in your `bashrc` :
Don't panic, the file is already add in the bolt directory [FastRTPS.xml](https://github.com/stack-of-tasks/odri_bolt_robot/blob/master/ros2_description_bolt/config/FastRTPS.xml). But you have to call him every time you run a launch file, for that add this command in your `bashrc` :

export FASTRTPS_DEFAULT_PROFILES_FILE=<PATH_TO_THE_FILE>

Expand All @@ -64,7 +64,7 @@ Now you can really play with Bolt, if you have followed correctly each tutorial

sudo ls

ros2 launch ros2_control_bolt_bringup bolt_system_position_only.launch.py
ros2 launch odri_bolt_bringup bolt_system_position_only.launch.py

You have first do a `sudo ls` since you need to be in `sudo mode`.

Expand All @@ -82,13 +82,13 @@ Now you can really play with Bolt, if you have followed correctly each tutorial

you will see that list :

![Topic List](https://github.com/Benjamin-Amsellem/ros2_control_bolt/blob/master/ros2_control_bolt_tuto/pictures/Launch_Bolt_1-R.png?raw=true "Topic List")
![Topic List](https://github.com/stack-of-tasks/odri_bolt_robot/blob/master/ros2_control_bolt_tuto/pictures/Launch_Bolt_1-R.png?raw=true "Topic List")

- run the topic `/joint_states` :

ros2 topic echo /joint_states

![/join_states](https://github.com/Benjamin-Amsellem/ros2_control_bolt/blob/master/ros2_control_bolt_tuto/pictures/Launch_Bolt_2-R.png?raw=true "/join_states")
![/join_states](https://github.com/stack-of-tasks/odri_bolt_robot/blob/master/ros2_control_bolt_tuto/pictures/Launch_Bolt_2-R.png?raw=true "/join_states")

**You can see all the parameters of Bolt in real time !**

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.5)
project(ros2_control_bolt_bringup)
project(odri_bolt_bringup)

# Default to C++14
if(NOT CMAKE_CXX_STANDARD)
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def generate_launch_description():
declared_arguments.append(
DeclareLaunchArgument(
"runtime_config_package",
default_value="ros2_control_bolt_bringup",
default_value="bolt_bringup",
description='Package with the controller\'s configuration in "config" folder. \
Usually the argument is not set, it enables use of a custom setup.',
)
Expand All @@ -47,7 +47,7 @@ def generate_launch_description():
declared_arguments.append(
DeclareLaunchArgument(
"description_package",
default_value="ros2_description_bolt",
default_value="odri_bolt_description",
description="Description package with robot URDF/xacro files. Usually the argument \
is not set, it enables use of a custom description.",
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def generate_launch_description():

position_goals = PathJoinSubstitution(
[
FindPackageShare("ros2_control_bolt_bringup"),
FindPackageShare("odri_bolt_bringup"),
"config",
"bolt_joint_trajectory_publisher.yaml",
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
def generate_launch_description():

arg_world_filename = PathJoinSubstitution(
[FindPackageShare("ros2_control_bolt_bringup"), "world", "bolt_world.world"]
[FindPackageShare("odri_bolt_bringup"), "world", "bolt_world.world"]
)

gazebo = IncludeLaunchDescription(
Expand All @@ -31,7 +31,7 @@ def generate_launch_description():
" ",
PathJoinSubstitution(
[
FindPackageShare("ros2_description_bolt"),
FindPackageShare("odri_bolt_description"),
"urdf",
"system_bolt_description.urdf.xacro",
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def generate_launch_description():

position_goals = PathJoinSubstitution(
[
FindPackageShare("ros2_control_bolt_bringup"),
FindPackageShare("bolt_bringup"),
"config",
"bolt_forward_position_publisher.yaml",
]
Expand Down
2 changes: 1 addition & 1 deletion bolt_bringup/package.xml → odri_bolt_bringup/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>ros2_control_bolt_bringup</name>
<name>odri_bolt_bringup</name>
<version>0.0.0</version>
<description>Package with launch files and run-time configurations for Bolt in `ros2_control`.</description>

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.5)
project(ros2_description_bolt)
project(odri_bolt_description)

find_package(ament_cmake REQUIRED)

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>ros2_description_bolt</name>
<name>odri_bolt_description</name>
<version>0.0.0</version>
<description>Package with URDF and description files of Bolt.</description>

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
11 changes: 5 additions & 6 deletions bolt_robot/package.xml → odri_bolt_robot/package.xml
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
<?xml version="1.0"?>
<package format="3">
<name>ros2_control_bolt</name>
<name>odri_bolt_robot</name>
<version>0.0.0</version>
<description>Metapackage for `ros2_control` demos packages</description>

<author email="prouanet@laas.fr">Paul Rouanet</author>
<author email="olivier.stasse@laas.fr">Olivier Stasse</author>

<maintainer email="prouanet@laas.fr">Paul Rouanet</maintainer>
<maintainer email="olivier.stasse@laas.fr">Olivier Stasse</maintainer>

<license>Apache-2.0</license>

<buildtool_depend>ament_cmake</buildtool_depend>

<exec_depend>ros2_control_bolt_bringup</exec_depend>
<exec_depend>ros2_description_bolt</exec_depend>
<exec_depend>odri_bolt_bringup</exec_depend>
<exec_depend>odri_bolt_description</exec_depend>
<exec_depend>ros2_hardware_interface_odri</exec_depend>
<exec_depend>ros2_control_test_nodes</exec_depend>
<exec_depend>gazebo_ros2_control_bolt</exec_depend>
<export>
<build_type>ament_cmake</build_type>
</export>
Expand Down

0 comments on commit 07c8132

Please sign in to comment.