Giter Site home page Giter Site logo

Comments (12)

ahcorde avatar ahcorde commented on May 27, 2024

Hi @farbod-new,

there are some packages that are not currently available in rosdep for foxy or rolling. ros2_control is under heavy development, you may need to install these packages from sources.

from gazebo_ros2_control.

farbod-new avatar farbod-new commented on May 27, 2024

Hi @farbod-new,

there are some packages that are not currently available in rosdep for foxy or rolling. ros2_control is under heavy development, you may need to install these packages from sources.

Thanks for the reply.

As I understand it joint_limits_interface is part of ros2_control (or even ros_control) package and is not an independent package. In other words, how can one install joint_limits_interface from source separately when its source is already included in the ros2_control package?

In the line:
cp -r ros2_control_ddengster/joint_limits_interface ros2_control_ddengster/transmission_interface ros2_control

joint_limits_interface and transmission_interface are copied from another source to ros2_control (ros2_control already includes those folders). While building the package transmission_interface is built with no problem, but joint_limits_interface fails. Why is that?

Thanks,
Farbod

from gazebo_ros2_control.

farbod-new avatar farbod-new commented on May 27, 2024

Hi @farbod-new,
there are some packages that are not currently available in rosdep for foxy or rolling. ros2_control is under heavy development, you may need to install these packages from sources.

Thanks for the reply.

As I understand it joint_limits_interface is part of ros2_control (or even ros_control) package and is not an independent package. In other words, how can one install joint_limits_interface from source separately when its source is already included in the ros2_control package?

In the line:
cp -r ros2_control_ddengster/joint_limits_interface ros2_control_ddengster/transmission_interface ros2_control

joint_limits_interface and transmission_interface are copied from another source to ros2_control (ros2_control already includes those folders). While building the package transmission_interface is built with no problem, but joint_limits_interface fails. Why is that?

Thanks,
Farbod

Hi everyone,

I am still having trouble with the joint_limits_interface dependency, although the code is included in the ros2_control package. Do I need a ROS1-Bridge to solve this dependency? Or do I have to compile those dependencies from source with ros2? How do I make this compilation work? Do I need ROS1-Bridge?

Any help is appreciated.

Thanks,
Farbod

from gazebo_ros2_control.

ahcorde avatar ahcorde commented on May 27, 2024

I checked the ros2_control repository. It seems that right now joint_limit_interface it's not available https://github.com/ros-controls/ros2_control/tree/master/joint_limits_interface. It has a COLCON_IGNORE inside the folder which means this package will not compile.

I will have a look as soon as possible

from gazebo_ros2_control.

farbod-new avatar farbod-new commented on May 27, 2024

I checked the ros2_control repository. It seems that right now joint_limit_interface it's not available https://github.com/ros-controls/ros2_control/tree/master/joint_limits_interface. It has a COLCON_IGNORE inside the folder which means this package will not compile.

I will have a look as soon as possible

Thank you so much!

An extra information that might help is that I successfully built the following repository (with no errors):

https://github.com/ros-controls/ros2_control

farbod@SavantzDev:~/ros2_control_ws$ colcon build
Starting >>> control_msgs
Starting >>> controller_manager_msgs
Starting >>> realtime_tools
Starting >>> angles
Finished <<< angles [0.18s]
Finished <<< realtime_tools [0.29s]
Finished <<< controller_manager_msgs [0.81s]
Starting >>> ros2controlcli
Finished <<< control_msgs [1.04s]
Starting >>> hardware_interface
Finished <<< hardware_interface [0.28s]
Starting >>> controller_interface
Starting >>> test_robot_hardware
Starting >>> transmission_interface
Finished <<< ros2controlcli [0.54s]
Finished <<< test_robot_hardware [0.23s]
Finished <<< controller_interface [0.25s]
Starting >>> controller_manager
Finished <<< transmission_interface [0.30s]
Finished <<< controller_manager [0.37s]
Starting >>> forward_command_controller
Starting >>> joint_state_controller
Starting >>> joint_trajectory_controller
Starting >>> ros2_control
Finished <<< ros2_control [0.17s]
Finished <<< joint_state_controller [0.30s]
Finished <<< forward_command_controller [0.34s]
Finished <<< joint_trajectory_controller [0.35s]

Summary: 14 packages finished [2.48s]

from gazebo_ros2_control.

farbod-new avatar farbod-new commented on May 27, 2024

Finally, I was able to build "joint_limits_interface". But now, a new error comes up in "default_robot_hw_sim.hpp"

[fatal error: hardware_interface/joint_state_handle.hpp: No such file or directory]

Please see below. Was there any corrections to this file, or the missing ".hpp"?

Thanks,
Farbod

farbod@SavantzDev:~/ros2_ws$ colcon build
Starting >>> hardware_interface
Starting >>> controller_manager_msgs
Finished <<< hardware_interface [0.34s]
Starting >>> controller_interface
Starting >>> joint_limits_interface
Starting >>> transmission_interface
Starting >>> test_robot_hardware
Finished <<< joint_limits_interface [0.19s]
Finished <<< controller_interface [0.20s]
Finished <<< test_robot_hardware [0.29s]
Finished <<< controller_manager_msgs [0.94s]
Starting >>> controller_manager
Starting >>> ros2controlcli
Finished <<< controller_manager [0.37s]
Starting >>> joint_state_controller
Starting >>> joint_trajectory_controller
Starting >>> forward_command_controller
Finished <<< ros2controlcli [0.54s]
Starting >>> ros2_control
Finished <<< joint_state_controller [0.28s]
Finished <<< forward_command_controller [0.28s]
Finished <<< joint_trajectory_controller [0.31s]
Finished <<< ros2_control [0.19s]
Finished <<< transmission_interface [6.02s]
Starting >>> gazebo_ros2_control
--- stderr: gazebo_ros2_control
In file included from /home/farbod/ros2_ws/src/gazebo_ros2_control/gazebo_ros2_control/include/gazebo_ros2_control/default_robot_hw_sim.hpp:46,
from /home/farbod/ros2_ws/src/gazebo_ros2_control/gazebo_ros2_control/src/default_robot_hw_sim.cpp:39:
/home/farbod/ros2_ws/install/joint_limits_interface/include/joint_limits_interface/joint_limits_interface.hpp:41:10: fatal error: hardware_interface/joint_state_handle.hpp: No such file or directory
41 | #include <hardware_interface/joint_state_handle.hpp>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/default_robot_hw_sim.dir/build.make:63: CMakeFiles/default_robot_hw_sim.dir/src/default_robot_hw_sim.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:80: CMakeFiles/default_robot_hw_sim.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
In file included from /home/farbod/ros2_ws/src/gazebo_ros2_control/gazebo_ros2_control/include/gazebo_ros2_control/gazebo_ros2_control_plugin.hpp:53,
from /home/farbod/ros2_ws/src/gazebo_ros2_control/gazebo_ros2_control/src/gazebo_ros2_control_plugin.cpp:41:
/home/farbod/ros2_ws/src/gazebo_ros2_control/gazebo_ros2_control/include/gazebo_ros2_control/robot_hw_sim.hpp:42:10: fatal error: hardware_interface/robot_hardware.hpp: No such file or directory
42 | #include "hardware_interface/robot_hardware.hpp"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/gazebo_ros2_control.dir/build.make:63: CMakeFiles/gazebo_ros2_control.dir/src/gazebo_ros2_control_plugin.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:107: CMakeFiles/gazebo_ros2_control.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

Failed <<< gazebo_ros2_control [3.75s, exited with code 2]

Summary: 12 packages finished [10.3s]
1 package failed: gazebo_ros2_control
1 package had stderr output: gazebo_ros2_control
1 package not processed

from gazebo_ros2_control.

farbod-new avatar farbod-new commented on May 27, 2024

Also, I want to mention that I used the original folder for "ros2_control_transmission_interface" from the original ros2_control repository, rather than "ros2_control_ddengster/transmission_interface" The latter did not build.

But I did use "ros2_control_ddengster/joint_limits_interface" rather than "ros2_control/joint_limits_interface".

I hope this makes sense.

from gazebo_ros2_control.

i-khokhlov avatar i-khokhlov commented on May 27, 2024

Hi @farbod-new,

Do you manage to build it?

from gazebo_ros2_control.

ahcorde avatar ahcorde commented on May 27, 2024

Hi @ar0usel ,

Right now, there are some changes that make imposible to compile the code. In particular this issue ros-controls/ros2_control#279. There is some effort trying to revive this code ros-controls/ros2_control#271

I will update the code when this issue is resolved.

from gazebo_ros2_control.

farbod-new avatar farbod-new commented on May 27, 2024

Thanks for letting us know. I thought I was doing something wrong.

Hi @ar0usel ,

Right now, there are some changes that make imposible to compile the code. In particular this issue ros-controls/ros2_control#279. There is some effort trying to revive this code ros-controls/ros2_control#271

I will update the code when this issue is resolved.

from gazebo_ros2_control.

ahcorde avatar ahcorde commented on May 27, 2024

I have created this new PR #44. This should fix the issues.

from gazebo_ros2_control.

ahcorde avatar ahcorde commented on May 27, 2024

Building this package with the Foxy deb packages should be fine.

from gazebo_ros2_control.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.