diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 72dbdaed..ed98d49e 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -46,11 +46,11 @@ jobs:
run: |
cd /home/ros2_ws/
. /opt/ros/foxy/local_setup.sh
- colcon build --packages-up-to ignition_ros2_control_demos
+ colcon build --packages-up-to ign_ros2_control_demos
- name: Run tests
id: test
run: |
cd /home/ros2_ws/
. /opt/ros/foxy/local_setup.sh
- colcon test --event-handlers console_direct+ --packages-select ignition_ros2_control ignition_ros2_control_demos
+ colcon test --event-handlers console_direct+ --packages-select ign_ros2_control ign_ros2_control_demos
colcon test-result
diff --git a/Dockerfile/Dockerfile b/Dockerfile/Dockerfile
index 8091470f..68bdf534 100644
--- a/Dockerfile/Dockerfile
+++ b/Dockerfile/Dockerfile
@@ -32,4 +32,4 @@ RUN cd /home/ros2_ws/ \
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
-CMD ros2 launch ignition_ros2_control_demos cart_example_position.launch.py
+CMD ros2 launch ign_ros2_control_demos cart_example_position.launch.py
diff --git a/README.md b/README.md
index 0cd8612d..36df8e15 100644
--- a/README.md
+++ b/README.md
@@ -44,7 +44,7 @@ colcon build
```bash
cd Dockerfile
-docker build -t ignition_ros2_control .
+docker build -t ign_ros2_control .
```
### To run the demo
@@ -54,7 +54,7 @@ docker build -t ignition_ros2_control .
Docker allows us to run the demo without the GUI if configured properly. The following command runs the demo without the GUI:
```bash
-docker run -it --rm --name ignition_ros2_control_demo --net host ignition_ros2_control ros2 launch ignition_ros2_control_demos cart_example_position.launch.py gui:=false
+docker run -it --rm --name ignition_ros2_control_demo --net host ign_ros2_control ros2 launch ign_ros2_control_demos cart_example_position.launch.py gui:=false
```
Then on your local machine, you can run the Gazebo client:
@@ -72,7 +72,7 @@ mounting file permissions. You can install this tool with the following [instruc
The following command will launch Ignition:
```bash
-rocker --x11 --nvidia --name ignition_ros2_control_demo ignition_ros2_control:latest
+rocker --x11 --nvidia --name ignition_ros2_control_demo ign_ros2_control:latest
```
The following commands allow the cart to be moved along the rail:
@@ -80,7 +80,7 @@ The following commands allow the cart to be moved along the rail:
```bash
docker exec -it ignition_ros2_control_demo bash
source /home/ros2_ws/install/setup.bash
-ros2 run ignition_ros2_control_demos example_position
+ros2 run ign_ros2_control_demos example_position
```
## Add ros2_control tag to a URDF
@@ -95,7 +95,7 @@ include:
```xml
- ignition_ros2_control/IgnitionSystem
+ ign_ros2_control/IgnitionSystem
@@ -109,31 +109,31 @@ include:
```
-## Add the ignition_ros2_control plugin
+## Add the ign_ros2_control plugin
In addition to the `ros2_control` tags, a Gazebo plugin needs to be added to your URDF that
actually parses the `ros2_control` tags and loads the appropriate hardware interfaces and
-controller manager. By default the `ignition_ros2_control` plugin is very simple, though it is also
+controller manager. By default the `ign_ros2_control` plugin is very simple, though it is also
extensible via an additional plugin architecture to allow power users to create their own custom
robot hardware interfaces between `ros2_control` and Gazebo.
```xml
-
+
robot_description
robot_state_publisher
- $(find ignition_ros2_control_demos)/config/cartpole_controller.yaml
+ $(find ign_ros2_control_demos)/config/cartpole_controller.yaml
```
-The `ignition_ros2_control` `` tag also has the following optional child elements:
+The `ign_ros2_control` `` tag also has the following optional child elements:
- ``: YAML file with the configuration of the controllers
-#### Default ignition_ros2_control Behavior
+#### Default ign_ros2_control Behavior
-By default, without a `` tag, `ignition_ros2_control` will attempt to get all of the information it needs to interface with a ros2_control-based controller out of the URDF. This is sufficient for most cases, and good for at least getting started.
+By default, without a `` tag, `ign_ros2_control` will attempt to get all of the information it needs to interface with a ros2_control-based controller out of the URDF. This is sufficient for most cases, and good for at least getting started.
The default behavior provides the following ros2_control interfaces:
@@ -141,11 +141,11 @@ The default behavior provides the following ros2_control interfaces:
- hardware_interface::EffortJointInterface
- hardware_interface::VelocityJointInterface
-#### Advanced: custom ignition_ros2_control Simulation Plugins
+#### Advanced: custom ign_ros2_control Simulation Plugins
-The `ignition_ros2_control` Gazebo plugin also provides a pluginlib-based interface to implement custom interfaces between Gazebo and `ros2_control` for simulating more complex mechanisms (nonlinear springs, linkages, etc).
+The `ign_ros2_control` Gazebo plugin also provides a pluginlib-based interface to implement custom interfaces between Gazebo and `ros2_control` for simulating more complex mechanisms (nonlinear springs, linkages, etc).
-These plugins must inherit the `ignition_ros2_control::IgnitionSystemInterface`, which implements a simulated `ros2_control`
+These plugins must inherit the `ign_ros2_control::IgnitionSystemInterface`, which implements a simulated `ros2_control`
`hardware_interface::SystemInterface`. SystemInterface provides API-level access to read and command joint properties.
The respective IgnitionSystemInterface sub-class is specified in a URDF model and is loaded when the
@@ -153,12 +153,12 @@ robot model is loaded. For example, the following XML will load the default plug
```xml
- ignition_ros2_control/IgnitionSystem
+ ign_ros2_control/IgnitionSystem
...
-
+
...
@@ -171,8 +171,8 @@ and use the tag `` to set the controller ma
```xml
-
- $(find ignition_ros2_control_demos)/config/cartpole_controller.yaml
+
+ $(find ign_ros2_control_demos)/config/cartpole_controller.yaml
controller_manager
@@ -201,14 +201,14 @@ cart_pole_controller:
```
#### Executing the examples
-There are some examples in the `ignition_ros2_control_demos` package. These examples allow to launch a cart in a 30 meter rail.
+There are some examples in the `ign_ros2_control_demos` package. These examples allow to launch a cart in a 30 meter rail.
You can run some of the example configurations by running the following commands:
```bash
-ros2 launch ignition_ros2_control_demos cart_example_position.launch.py
-ros2 launch ignition_ros2_control_demos cart_example_velocity.launch.py
-ros2 launch ignition_ros2_control_demos cart_example_effort.launch.py
+ros2 launch ign_ros2_control_demos cart_example_position.launch.py
+ros2 launch ign_ros2_control_demos cart_example_velocity.launch.py
+ros2 launch ign_ros2_control_demos cart_example_effort.launch.py
```
Send example commands:
@@ -216,7 +216,7 @@ Send example commands:
When the Gazebo world is launched, you can run some of the following commands to move the cart.
```bash
-ros2 run ignition_ros2_control_demos example_position
-ros2 run ignition_ros2_control_demos example_velocity
-ros2 run ignition_ros2_control_demos example_effort
+ros2 run ign_ros2_control_demos example_position
+ros2 run ign_ros2_control_demos example_velocity
+ros2 run ign_ros2_control_demos example_effort
```
diff --git a/ignition_ros2_control/CHANGELOG.rst b/ign_ros2_control/CHANGELOG.rst
similarity index 91%
rename from ignition_ros2_control/CHANGELOG.rst
rename to ign_ros2_control/CHANGELOG.rst
index 0f832f6e..b5f66632 100644
--- a/ignition_ros2_control/CHANGELOG.rst
+++ b/ign_ros2_control/CHANGELOG.rst
@@ -1,5 +1,5 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Changelog for package ignition_ros2_control
+Changelog for package ign_ros2_control
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0.1.0 (2022-05-01)
diff --git a/ignition_ros2_control/CMakeLists.txt b/ign_ros2_control/CMakeLists.txt
similarity index 84%
rename from ignition_ros2_control/CMakeLists.txt
rename to ign_ros2_control/CMakeLists.txt
index 965c3b9a..d227862e 100644
--- a/ignition_ros2_control/CMakeLists.txt
+++ b/ign_ros2_control/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.5)
-project(ignition_ros2_control)
+project(ign_ros2_control)
# Default to C11
if(NOT CMAKE_C_STANDARD)
@@ -52,7 +52,7 @@ set(IGN_PLUGIN_VER ${ignition-plugin1_VERSION_MAJOR})
include_directories(include)
add_library(${PROJECT_NAME}-system SHARED
- src/ignition_ros2_control_plugin.cpp
+ src/ign_ros2_control_plugin.cpp
)
target_link_libraries(${PROJECT_NAME}-system
@@ -71,20 +71,20 @@ ament_target_dependencies(${PROJECT_NAME}-system
#########
-add_library(ignition_hardware_plugins SHARED
- src/ignition_system.cpp
+add_library(ign_hardware_plugins SHARED
+ src/ign_system.cpp
)
-ament_target_dependencies(ignition_hardware_plugins
+ament_target_dependencies(ign_hardware_plugins
hardware_interface
rclcpp
)
-target_link_libraries(ignition_hardware_plugins
+target_link_libraries(ign_hardware_plugins
ignition-gazebo${IGN_GAZEBO_VER}::core
)
## Install
install(TARGETS
- ignition_hardware_plugins
+ ign_hardware_plugins
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
@@ -97,14 +97,14 @@ if(BUILD_TESTING)
endif()
ament_export_include_directories(include)
-ament_export_libraries(${PROJECT_NAME} ignition_hardware_plugins)
+ament_export_libraries(${PROJECT_NAME} ign_hardware_plugins)
# Install directories
install(TARGETS ${PROJECT_NAME}-system
DESTINATION lib
)
-pluginlib_export_plugin_description_file(ignition_ros2_control ignition_hardware_plugins.xml)
+pluginlib_export_plugin_description_file(ign_ros2_control ign_hardware_plugins.xml)
# Setup the project
ament_package()
diff --git a/ignition_ros2_control/LICENSE b/ign_ros2_control/LICENSE
similarity index 100%
rename from ignition_ros2_control/LICENSE
rename to ign_ros2_control/LICENSE
diff --git a/ign_ros2_control/ign_hardware_plugins.xml b/ign_ros2_control/ign_hardware_plugins.xml
new file mode 100644
index 00000000..3d245541
--- /dev/null
+++ b/ign_ros2_control/ign_hardware_plugins.xml
@@ -0,0 +1,10 @@
+
+
+
+ GazeboPositionJoint
+
+
+
diff --git a/ignition_ros2_control/include/ignition_ros2_control/ignition_ros2_control_plugin.hpp b/ign_ros2_control/include/ign_ros2_control/ign_ros2_control_plugin.hpp
similarity index 86%
rename from ignition_ros2_control/include/ignition_ros2_control/ignition_ros2_control_plugin.hpp
rename to ign_ros2_control/include/ign_ros2_control/ign_ros2_control_plugin.hpp
index 3b23bfbf..20ff52e1 100644
--- a/ignition_ros2_control/include/ignition_ros2_control/ignition_ros2_control_plugin.hpp
+++ b/ign_ros2_control/include/ign_ros2_control/ign_ros2_control_plugin.hpp
@@ -12,14 +12,14 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#ifndef IGNITION_ROS2_CONTROL__IGNITION_ROS2_CONTROL_PLUGIN_HPP_
-#define IGNITION_ROS2_CONTROL__IGNITION_ROS2_CONTROL_PLUGIN_HPP_
+#ifndef IGN_ROS2_CONTROL__IGN_ROS2_CONTROL_PLUGIN_HPP_
+#define IGN_ROS2_CONTROL__IGN_ROS2_CONTROL_PLUGIN_HPP_
#include
#include
-namespace ignition_ros2_control
+namespace ign_ros2_control
{
// Forward declarations.
class IgnitionROS2ControlPluginPrivate;
@@ -57,6 +57,6 @@ class IgnitionROS2ControlPlugin
/// \brief Private data pointer.
std::unique_ptr dataPtr;
};
-} // namespace ignition_ros2_control
+} // namespace ign_ros2_control
-#endif // IGNITION_ROS2_CONTROL__IGNITION_ROS2_CONTROL_PLUGIN_HPP_
+#endif // IGN_ROS2_CONTROL__IGN_ROS2_CONTROL_PLUGIN_HPP_
diff --git a/ignition_ros2_control/include/ignition_ros2_control/ignition_system.hpp b/ign_ros2_control/include/ign_ros2_control/ign_system.hpp
similarity index 84%
rename from ignition_ros2_control/include/ignition_ros2_control/ignition_system.hpp
rename to ign_ros2_control/include/ign_ros2_control/ign_system.hpp
index f1876a4f..0a120913 100644
--- a/ignition_ros2_control/include/ignition_ros2_control/ignition_system.hpp
+++ b/ign_ros2_control/include/ign_ros2_control/ign_system.hpp
@@ -13,22 +13,22 @@
// limitations under the License.
-#ifndef IGNITION_ROS2_CONTROL__IGNITION_SYSTEM_HPP_
-#define IGNITION_ROS2_CONTROL__IGNITION_SYSTEM_HPP_
+#ifndef IGN_ROS2_CONTROL__IGN_SYSTEM_HPP_
+#define IGN_ROS2_CONTROL__IGN_SYSTEM_HPP_
#include