ros-controls / gz_ros2_control Goto Github PK
View Code? Open in Web Editor NEWConnect the latest version of Gazebo with ros2_control.
Home Page: https://gazebosim.org
License: Apache License 2.0
Connect the latest version of Gazebo with ros2_control.
Home Page: https://gazebosim.org
License: Apache License 2.0
I'm pretty new to ROS and may not understand something basic, but I have following problem:
I have a simulated arm, which has limits on every joint and I'm using ForwardCommandController to control it. Unfortunately when I command some joint to move to its limit or near it, there are chances that it will get stuck there. Then I can still control other joints and sometimes this dead joint comes to live again - probably because it gets a little bit farther from its limit due to other movements.
Is this behavior expected or I'm doing something wrong?
How to allow controlling joints which are near they limits?
I don't have experience with real robots and I'm not sure whether it's gz_ros2_control
or ros2_control
issue.
I've been working on Launching multiple create3 robots in simulation with ignition edifice and ROS2. This feature is not supported out of the box with the create3_sim package and so I had to do some modifications to enable it. However I ran into a segfault error
[INFO] [1650890806.787380428] [create3_0.controller_manager]: Loading controller 'joint_state_broadcaster'
Stack trace (most recent call last):
#31 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f93af66adaa, in
#30 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f93af65e025, in
#29 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f93af5bc1be, in
#28 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f93af4fc5d2, in rb_protect
#27 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f93af6759f0, in rb_yield
#26 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f93af66886f, in rb_vm_exec
#25 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f93af662130, in
#24 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f93af651405, in
#23 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f93af66adaa, in
#22 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f93af65e025, in
#21 Object "/usr/lib/x86_64-linux-gnu/ruby/2.7.0/fiddle.so", at 0x7f93ab4fe714, in
#20 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f93af62f6d9, in rb_nogvl
#19 Object "/usr/lib/x86_64-linux-gnu/ruby/2.7.0/fiddle.so", at 0x7f93ab4fe8fb, in
#18 Object "/lib/x86_64-linux-gnu/libffi.so.7", at 0x7f93ab4ad409, in
#17 Object "/lib/x86_64-linux-gnu/libffi.so.7", at 0x7f93ab4adff4, in
#16 Object "/usr/lib/x86_64-linux-gnu/libignition-gazebo5-ign.so.5.4.0", at 0x7f93aaa4a74e, in runServer
#15 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f93aa5d041b, in ignition::gazebo::v5::Server::Run(bool, unsigned long, bool)
#14 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f93aa5da793, in
#13 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f93aa5e815a, in ignition::gazebo::v5::SimulationRunner::Run(unsigned long)
#12 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f93aa5e794a, in ignition::gazebo::v5::SimulationRunner::Step(ignition::gazebo::v5::UpdateInfo const&)
#11 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f93aa5e0561, in ignition::gazebo::v5::SimulationRunner::UpdateSystems()
#10 Object "/usr/lib/x86_64-linux-gnu/ign-gazebo-5/plugins/libignition-gazebo-user-commands-system.so", at 0x7f9385749178, in ignition::gazebo::v5::systems::UserCommands::PreUpdate(ignition::gazebo::v5::UpdateInfo const&, ignition::gazebo::v5::EntityComponentManager&)
#9 Object "/usr/lib/x86_64-linux-gnu/ign-gazebo-5/plugins/libignition-gazebo-user-commands-system.so", at 0x7f938574b7bd, in ignition::gazebo::v5::systems::CreateCommand::Execute()
#8 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f93aa59bc90, in ignition::gazebo::v5::SdfEntityCreator::CreateEntities(sdf::v11::Model const*)
#7 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f93aa5c5fb6, in void ignition::gazebo::v5::EventManager::Emit<ignition::common::EventT<void (unsigned long, std::shared_ptr<sdf::v11::Element>), ignition::gazebo::v5::events::LoadPluginsTag>, unsigned long const&, std::shared_ptr<sdf::v11::Element> const&>(unsigned long const&, std::shared_ptr<sdf::v11::Element> const&)
#6 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f93aa5e3b86, in ignition::gazebo::v5::SimulationRunner::LoadPlugins(unsigned long, std::shared_ptr<sdf::v11::Element> const&)
#5 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f93aa5e36b4, in ignition::gazebo::v5::SimulationRunner::LoadPlugin(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<sdf::v11::Element> const&)
#4 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f93aa5e1038, in ignition::gazebo::v5::SimulationRunner::AddSystem(ignition::plugin::TemplatePluginPtr<ignition::plugin::SpecializedPlugin<ignition::gazebo::v5::System, ignition::gazebo::v5::ISystemConfigure, ignition::gazebo::v5::ISystemPreUpdate, ignition::gazebo::v5::ISystemUpdate, ignition::gazebo::v5::ISystemPostUpdate> > const&, std::optional<unsigned long>, std::optional<std::shared_ptr<sdf::v11::Element const> >)
#3 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f93aa5e0c1a, in ignition::gazebo::v5::SimulationRunner::AddSystemImpl(ignition::gazebo::v5::SystemInternal, std::optional<unsigned long>, std::optional<std::shared_ptr<sdf::v11::Element const> >)
#2 Object "/home/Workspace/shroom/simulation_ws/install/ign_ros2_control/lib/libign_ros2_control-system.so", at 0x7f9384ce3cfb, in ign_ros2_control::IgnitionROS2ControlPlugin::Configure(unsigned long const&, std::shared_ptr<sdf::v11::Element const> const&, ignition::gazebo::v5::EntityComponentManager&, ignition::gazebo::v5::EventManager&)
#1 Object "/opt/ros/galactic/lib/librclcpp.so", at 0x7f938496b247, in rclcpp::Executor::add_node(std::shared_ptr<rclcpp::Node>, bool)
#0 Object "/opt/ros/galactic/lib/librclcpp.so", at 0x7f93849920e4, in rclcpp::Node::get_node_base_interface()
This error seems to be related to ign_ros2_control_plugin.cpp.
It does not appear when spawning one robot.
To recreate this error run this after building this repo :
ros2 launch irobot_create_ignition_bringup create3_multi.launch.py
Any help or lead will be much appreciated.
Thank you!
Operating System:
ROS2 Version:
description
I've been trying to download the binaries of ign-ros2-control
, but am unable to download it using apt install ros-humble-ign-ros2-control
.
I checked on index.ros.org, and it shows binaries are already released.
Can someone have a look at this and help me?
Directory is ros_ign in the beginning and at the end becomes ros2_ign
Very minor thing...
mkdir -p ~/ros_ign/src
cd ~/ros_ign/src
git clone https://github.com/ros-controls/gz_ros2_control
rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
cd ~/ros2_ign
colcon build
Hi,
TLDR: A sensor only <ros2_control> leads to an error as there is a check on the number of joints in the hardware description (here: https://github.com/ros-controls/gz_ros2_control/blob/humble/ign_ros2_control/src/ign_system.cpp#L189-L192)
There is a little non-desired behavior with the ign_system (at least for me :) ). I only want to have an imu sensor in my <ros2_control> :
<ros2_control name="IgnitionSystem" type="system">
<hardware>
<plugin>ign_ros2_control/IgnitionSystem</plugin>
</hardware>
<sensor name="$(arg prefix)_imu_sensor">
<state_interface name="orientation.x"/>
<state_interface name="orientation.y"/>
<state_interface name="orientation.z"/>
<state_interface name="orientation.w"/>
<state_interface name="angular_velocity.x"/>
<state_interface name="angular_velocity.y"/>
<state_interface name="angular_velocity.z"/>
<state_interface name="linear_acceleration.x"/>
<state_interface name="linear_acceleration.y"/>
<state_interface name="linear_acceleration.z"/>
</sensor>
</ros2_control>
This lead to this error:
[ERROR 1693407470.872112341] [gz_ros2_control]: There is no joint available (initSim() at ./src/ign_system.cpp:190)
[FATAL 1693407470.872120292] [gz_ros2_control]: Could not initialize robot simulation interface (Configure() at ./src/ign_ros2_control_plugin.cpp:401)
And to this part of the plugin:
https://github.com/ros-controls/gz_ros2_control/blob/humble/ign_ros2_control/src/ign_system.cpp#L189-L192
Maybe I'm the first one using only an imu and no joints in my <ros2_control> but the condition in the source code seems not to be correct.
Can this condition be deleted without affecting the rest of the code, or is it really useful for the joint management?
Hello,
When launching the examples ros2 launch gz_ros2_control_demos diff_drive_example.launch.py
+ ros2 run gz_ros2_control_demos example_diff_drive
as well as ros2 launch gz_ros2_control_demos tricycle_drive_example.launch.py
+ ros2 run gz_ros2_control_demos example_tricycle_drive
Nothing moves, it seems that the controller are not listenning to the _/diff_drive_base_controller/cmd_vel_unstamped topic even though they are loaded :
ros2 control list_controllers
joint_state_broadcaster[joint_state_broadcaster/JointStateBroadcaster] active
diff_drive_base_controller[diff_drive_controller/DiffDriveController] active
I can't find any specific error messages in logs.
The 3 other example are working fine
ros2 launch gz_ros2_control_demos cart_example_position.launch.py 👍
ros2 launch gz_ros2_control_demos cart_example_velocity.launch.py 👍
ros2 launch gz_ros2_control_demos cart_example_effort.launch.py 👍
I tried humble-desktop-full and rolling-desktop-full docker images with Gazebo Garden installed.
I tried with compiling the latest code of ros_gz (branch ros2 ) and gz_ros2_control (on both branches master and rename/ign_to_gz ) in my overlay.
I provide the docker images for reference.
Dockerfile.zip
Ignition Gazebo dies with this message output right after adding ign_ros2_control plugin:
[ign gazebo-2] [INFO] [1626422322.280627645] [ignition_ros2_control]: [ignition_ros2_control] Fixed joint [world_joint] (Entity=32)] is skipped
[ign gazebo-2] [INFO] [1626422322.333866151] [ignition_ros2_control]: connected to service!! robot_state_publisher asking for robot_description
[ign gazebo-2] [INFO] [1626422322.336242138] [ignition_ros2_control]: Received URDF from param server
[ign gazebo-2] /usr/lib/ruby/ignition/cmdgazebo5.rb:431: [BUG] Segmentation fault at 0x000000000000002b
[ign gazebo-2] ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
[ign gazebo-2]
[ign gazebo-2] -- Control frame information -----------------------------------------------
[ign gazebo-2] c:0007 p:---- s:0076 e:000075 CFUNC :call
[ign gazebo-2] c:0006 p:0016 s:0054 e:000053 METHOD /usr/lib/ruby/ignition/cmdgazebo5.rb:431
[ign gazebo-2] c:0005 p:0146 s:0048 e:000047 BLOCK /usr/lib/ruby/ignition/cmdgazebo5.rb:460 [FINISH]
[ign gazebo-2] c:0004 p:---- s:0045 e:000044 CFUNC :fork
[ign gazebo-2] c:0003 p:0659 s:0041 e:000040 METHOD /usr/lib/ruby/ignition/cmdgazebo5.rb:456
[ign gazebo-2] c:0002 p:0683 s:0020 E:0003b0 EVAL /usr/bin/ign:275 [FINISH]
[ign gazebo-2] c:0001 p:0000 s:0003 E:000a40 (none) [FINISH]
[ign gazebo-2]
[ign gazebo-2] -- Ruby level backtrace information ----------------------------------------
[ign gazebo-2] /usr/bin/ign:275:in `<main>'
[ign gazebo-2] /usr/lib/ruby/ignition/cmdgazebo5.rb:456:in `execute'
[ign gazebo-2] /usr/lib/ruby/ignition/cmdgazebo5.rb:456:in `fork'
[ign gazebo-2] /usr/lib/ruby/ignition/cmdgazebo5.rb:460:in `block in execute'
[ign gazebo-2] /usr/lib/ruby/ignition/cmdgazebo5.rb:431:in `runServer'
[ign gazebo-2] /usr/lib/ruby/ignition/cmdgazebo5.rb:431:in `call'
[ign gazebo-2]
[ign gazebo-2] -- Machine register context ------------------------------------------------
[ign gazebo-2] RIP: 0x00007fe33396aa98 RBP: 0x0000000000000003 RSP: 0x00007ffec9384a90
[ign gazebo-2] RAX: 0x0000000000000000 RBX: 0x00007ffec9384bf0 RCX: 0x000055710ba4601c
[ign gazebo-2] RDX: 0x000000000000006f RDI: 0x00007ffec9384bf0 RSI: 0x000055710e6f2830
[ign gazebo-2] R8: 0x000055710e804810 R9: 0x0000000000000000 R10: 0xfffffffffffffdce
[ign gazebo-2] R11: 0x00007fe33396aa60 R12: 0x00007ffec9384bf0 R13: 0x00007ffec9387220
[ign gazebo-2] R14: 0x0000000000000000 R15: 0x0000000000000003 EFL: 0x0000000000010293
[ign gazebo-2]
[ign gazebo-2] -- C level backtrace information -------------------------------------------
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337f0b0a9) [0x7fe337f0b0a9]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337f0b2dc) [0x7fe337f0b2dc]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337d8524b) [0x7fe337d8524b]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337e886bd) [0x7fe337e886bd]
[ign gazebo-2] /lib/x86_64-linux-gnu/libc.so.6(0x7fe337b34210) [0x7fe337b34210]
[ign gazebo-2] /lib/x86_64-linux-gnu/libignition-gazebo5.so.5(_ZNSt10filesystem7__cxx114path14_M_split_cmptsEv+0x38) [0x7fe33396aa98]
[ign gazebo-2] /home/pkvk/ows/owr_ros2/install/ignition_ros2_control/lib/libignition_ros2_control-system.so(_ZNSt10filesystem7__cxx114pathC2INSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES1_EERKT_NS1_6formatE+0xa4) [0x7fe30ccdadfe]
[ign gazebo-2] /home/pkvk/ows/owr_ros2/install/ignition_ros2_control/lib/libignition_ros2_control-system.so(_ZN9pluginlib11ClassLoaderIN21ignition_ros2_control23IgnitionSystemInterfaceEE31getPackageFromPluginXMLFilePathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x61) [0x7fe30ccd8f6b]
[ign gazebo-2] /home/pkvk/ows/owr_ros2/install/ignition_ros2_control/lib/libignition_ros2_control-system.so(_ZN9pluginlib11ClassLoaderIN21ignition_ros2_control23IgnitionSystemInterfaceEE26processSingleXMLPluginFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt3mapIS9_NS_9ClassDescESt4lessIS9_ESaISt4pairISA_SD_EEE+0x553) [0x7fe30cccc6af]
[ign gazebo-2] /home/pkvk/ows/owr_ros2/install/ignition_ros2_control/lib/libignition_ros2_control-system.so(_ZN9pluginlib11ClassLoaderIN21ignition_ros2_control23IgnitionSystemInterfaceEE25determineAvailableClassesERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaISA_EE+0x1c5) [0x7fe30ccc36c1]
[ign gazebo-2] /home/pkvk/ows/owr_ros2/install/ignition_ros2_control/lib/libignition_ros2_control-system.so(_ZN9pluginlib11ClassLoaderIN21ignition_ros2_control23IgnitionSystemInterfaceEEC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_S9_St6vectorIS9_SaIS9_EE+0x2fc) [0x7fe30ccbb91e]
[ign gazebo-2] /home/pkvk/ows/owr_ros2/install/ignition_ros2_control/lib/libignition_ros2_control-system.so(_ZN21ignition_ros2_control25IgnitionROS2ControlPlugin9ConfigureERKmRKSt10shared_ptrIKN3sdf3v117ElementEERN8ignition6gazebo2v522EntityComponentManagerERNSD_12EventManagerE+0x1707) [0x7fe30ccae681]
[ign gazebo-2] /lib/x86_64-linux-gnu/libignition-gazebo5.so.5(_ZN8ignition6gazebo2v516SimulationRunner10LoadPluginEmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_RKSt10shared_ptrIN3sdf3v117ElementEE+0x131) [0x7fe333932551]
[ign gazebo-2] /lib/x86_64-linux-gnu/libignition-gazebo5.so.5(_ZN8ignition6gazebo2v516SimulationRunner11LoadPluginsEmRKSt10shared_ptrIN3sdf3v117ElementEE+0x30a) [0x7fe33393325a]
[ign gazebo-2] /lib/x86_64-linux-gnu/libignition-gazebo5.so.5(_ZN8ignition6gazebo2v512EventManager4EmitINS_6common6EventTIFvmSt10shared_ptrIN3sdf3v117ElementEEENS1_6events14LoadPluginsTagEEEJRKmRKSA_EEEvDpOT0_+0x121) [0x7fe333909721]
[ign gazebo-2] /lib/x86_64-linux-gnu/libignition-gazebo5.so.5(_ZN8ignition6gazebo2v516SdfEntityCreator14CreateEntitiesEPKN3sdf3v115ModelE+0x42) [0x7fe3338f8722]
[ign gazebo-2] /usr/lib/x86_64-linux-gnu/ign-gazebo-5/plugins/libignition-gazebo-user-commands-system.so(_ZN8ignition6gazebo2v57systems13CreateCommand7ExecuteEv+0xdfa) [0x7fe30e99710a]
[ign gazebo-2] /usr/lib/x86_64-linux-gnu/ign-gazebo-5/plugins/libignition-gazebo-user-commands-system.so(_ZN8ignition6gazebo2v57systems12UserCommands9PreUpdateERKNS1_10UpdateInfoERNS1_22EntityComponentManagerE+0x15a) [0x7fe30e99538a]
[ign gazebo-2] /lib/x86_64-linux-gnu/libignition-gazebo5.so.5(_ZN8ignition6gazebo2v516SimulationRunner13UpdateSystemsEv+0x42) [0x7fe333931232]
[ign gazebo-2] /lib/x86_64-linux-gnu/libignition-gazebo5.so.5(_ZN8ignition6gazebo2v516SimulationRunner4StepERKNS1_10UpdateInfoE+0x5b) [0x7fe333936e8b]
[ign gazebo-2] /lib/x86_64-linux-gnu/libignition-gazebo5.so.5(_ZN8ignition6gazebo2v516SimulationRunner3RunEm+0x67b) [0x7fe3339375cb]
[ign gazebo-2] /lib/x86_64-linux-gnu/libignition-gazebo5.so.5(0x7fe33392c0c6) [0x7fe33392c0c6]
[ign gazebo-2] /lib/x86_64-linux-gnu/libignition-gazebo5.so.5(_ZN8ignition6gazebo2v56Server3RunEbmb+0xc9) [0x7fe333924769]
[ign gazebo-2] /usr/lib/x86_64-linux-gnu/libignition-gazebo5-ign.so.5.1.0(runServer+0x5e1) [0x7fe333d6ba01]
[ign gazebo-2] /lib/x86_64-linux-gnu/libffi.so.7(0x7fe333d3aff5) [0x7fe333d3aff5]
[ign gazebo-2] /lib/x86_64-linux-gnu/libffi.so.7(0x7fe333d3a40a) [0x7fe333d3a40a]
[ign gazebo-2] /usr/lib/x86_64-linux-gnu/ruby/2.7.0/fiddle.so(0x7fe333d918fc) [0x7fe333d918fc]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(rb_nogvl+0x8a) [0x7fe337ebf6da]
[ign gazebo-2] /usr/lib/x86_64-linux-gnu/ruby/2.7.0/fiddle.so(0x7fe333d91715) [0x7fe333d91715]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337eee026) [0x7fe337eee026]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337efadab) [0x7fe337efadab]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337ee1406) [0x7fe337ee1406]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337ef2131) [0x7fe337ef2131]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(rb_vm_exec+0x1d0) [0x7fe337ef8870]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(rb_yield+0x271) [0x7fe337f059f1]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(rb_protect+0x163) [0x7fe337d8c5d3]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337e4c1bf) [0x7fe337e4c1bf]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337eee026) [0x7fe337eee026]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337efadab) [0x7fe337efadab]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337ee1406) [0x7fe337ee1406]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337ef2131) [0x7fe337ef2131]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(rb_vm_exec+0x1d0) [0x7fe337ef8870]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(0x7fe337d89491) [0x7fe337d89491]
[ign gazebo-2] /lib/x86_64-linux-gnu/libruby-2.7.so.2.7(ruby_run_node+0x4e) [0x7fe337d8e2ee]
[ign gazebo-2] ign gazebo server(0x557109ac817f) [0x557109ac817f]
[ign gazebo-2] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7fe337b150b3] ../csu/libc-start.c:308
[ign gazebo-2] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main) (null):0
[ign gazebo-2] ign gazebo server(_start+0x2e) [0x557109ac81ce]
[ign gazebo-2]
Sorry for the long issue message, did not know what was not important.
I am looking to leverage this package with ROS2 Humble on Ubuntu 22.04. Currently I am encountering failures in building this package when using the main branch.
Hi,
I'm creating a custom ign_ros2_control plugin for a simulation in ROS Humble. According to the instructions, the plugin must inherit the ign_ros2_control::IgnitionSystemInterface
class, which implements a simulated ros2_control hardware_interface::SystemInterface
, but the package ign_ros2_control
does not export its directory and this makes it impossible to use the class inside my plugin.
I would like to know why the humble
branch the install is not done as it was done with the master
branch #127
[ign gazebo-1] Error [BoxedLcpConstraintSolver.cpp:291] [BoxedLcpConstraintSolver] The solution of LCP includes NAN values: nan nan. We're setting it zero for safety. Consider using more robust solver such as PGS as a secondary solver. If this happens even with PGS solver, please report this as a bug.
export IGN_GAZEBO_RESOURCE_PATH=/opt/ros/foxy/share/
Log included in the zip file
If the following is removed then no physics error happen but the robot doesn't have any joint control.
<gazebo>
<plugin filename="ignition_ros2_control-system" name="ignition_ros2_control::IgnitionROS2ControlPlugin">
<robot_param>robot_description</robot_param>
<robot_param_node>robot_state_publisher</robot_param_node>
<parameters>/workspaces/Ignition/ubb/ignitiondev/install/share/simple_arm/config/panda_ros_controllers.yaml</parameters>
</plugin>
</gazebo>
when i colcon build,it throw the error following:
error: ‘__gnu_cxx::_alloc_traits<std::allocator<hardware_interface::HardwareInfo>, hardware_interface::HardwareInfo>::value_type’ {aka ‘struct hardware_interface::HardwareInfo’} has no member named ‘hardware_plugin_name’
404 | d::string robot_hw_sim_type_str = control_hardware_info[i].hardware_plugin_name;
solution:change control_hardware_info[i].hardware_plugin_name to control_hardware_info[i].name;
Hi, I'm getting an error when spawning my robot with ign_ros2_control. I don't quite understand how to solve this error.
[ign gazebo-7] [ignition::plugin::Loader::LookupPlugin] Failed to get info for [ign_ros2_control]. Could not find a plugin with that name or alias.
[ign gazebo-7] [Err] [SystemLoader.cc:93] Failed to load system plugin [ign_ros2_control] : could not instantiate from library [libign_ros2_control-system.so] from path [/home/bill-finger/ros2_ws/install/ign_ros2_control/lib/libign_ros2_control-system.so].
this error does not occur when i run any example.
Could this be an error in my robot configurations? I doubt
Maybe I'm wrong, but it seems to me that the error is not in the prescribed paths of the ignition environment. Because he writes the correct path to the file. I tried to repeat as much as possible what is written in the README and, moreover, relying on the examples presented
Thank you in advance
gazebo: gazebo citadel
ros distro: foxy
installed binaries: ros-foxy-ign-ros2-control
and ros-foxy-ign-ros2-control-demos
I was trying to setup the <ros2_control>
tag for my robot to use with the ign_ros2_control/IgnitionSystem
plugin, however when I try to spawn the robot into empty gazebo world, I get the following error message in the gazebo terminal
lukas@DESKTOP-QRS1BRB:~$ ign gazebo empty.sdf
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-lukas'
[Err] [SystemLoader.cc:66] Failed to load system plugin [ign_ros2_control-system]: couldn't find shared library.
here is the <ros2_control>
tag
<ros2_control name="IgnitionSystem" type="system">
<hardware>
<plugin>ign_ros2_control/IgnitionSystem</plugin>
</hardware>
<joint name="link_1_joint">
<command_interface name="position">
<param name="min">-15</param>
<param name="max">15</param>
</command_interface>
<state_interface name="position"/>
<state_interface name="velocity"/>
<state_interface name="effort"/>
</joint>
</ros2_control>
<gazebo>
<!-- Joint state publisher -->
<plugin filename="libign_ros2_control-system.so" name="ign_ros2_control">
<robot_param>robot_description</robot_param>
<robot_param_node>robot_state_publisher</robot_param_node>
<parameters>$(find inobot_config)/config/ros_controllers.yaml</parameters>
</plugin>
</gazebo>
None of the demos work neither, when I try to launch the cart position demo I get the following output with no working system
Let me know if this is not the right place to post this issue as I am unsure if this is issue with gazebo or gz_ros2_control
Hello,
the gz_ros2_control is returning 0 values for the joint state efforts. I saw that the gz_ros2_control has commented out these lines in https://github.com/ros-controls/gz_ros2_control/blob/cf5c6a4135d6b46c95e0e135ffd0400fb4db7731/ign_ros2_control/src/ign_system.cpp#L499](ign_system.cpp
Will the effort values be available at some point in time in the future?
Best,
Haider
- interface_names:
- position
- velocity
- effort
values:
- 1.3656909652303677e-10
- 5.423202756300551e-10
- 0.0
Is the parameter controller_manager_prefix_node_name
in the urdf is still in use?
It looks like not.
https://github.com/ros-controls/gz_ros2_control/blob/master/gz_ros2_control/src/gz_ros2_control_plugin.cpp#L298
Is there any another way to do it?
I am using ROS Humble and Ignition Fortress on Ubuntu 22.04. Although the README says that the binaries of packages are hosted at https://packages.ros.org/, it seems that the "gz_ros2_control" package cannot be found and installed by APT command:
sudo apt install ros-humble-gz-ros2-control
.
Error: Hello Ignition developers. I'm trying to spawn a robot inside Ignition Fortress using Ros2 (Foxy) but I'm facing some issues, especially when using libign_ros2_control-system.so plugin inside .urdf model.
The spawn it's working successfully when commenting the following line:
<gazebo>
<plugin filename="libign_ros2_control-system.so" name="ign_ros2_control">
<robot_param>robot_description</robot_param>
<robot_param_node>robot_state_publisher</robot_param_node>
<parameters>$(find ntu_gazebo)/models/teste_bot_v2/config/teste_bot_v2_controller.yaml</parameters>
</plugin>
</gazebo>
When I uncomment this line, the following error appears:
[INFO] [launch]: All log files can be found below /home/gilmar/.ros/log/2022-03-03-13-04-06-073938-DESKTOP-IMF8MFM-1028
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ign gazebo-1]: process started with pid [1030]
[INFO] [robot_state_publisher-2]: process started with pid [1033]
[INFO] [create-3]: process started with pid [1035]
[robot_state_publisher-2] Parsing robot urdf xml string.
[robot_state_publisher-2] The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF.
[robot_state_publisher-2] Link caster_wheel had 0 children
[robot_state_publisher-2] Link left_wheel had 0 children
[robot_state_publisher-2] Link right_wheel had 0 children
[robot_state_publisher-2] [INFO] [1646323446.189875200] [robot_state_publisher]: got segment base_link
[robot_state_publisher-2] [INFO] [1646323446.189956700] [robot_state_publisher]: got segment caster_wheel
[robot_state_publisher-2] [INFO] [1646323446.189970000] [robot_state_publisher]: got segment left_wheel
[robot_state_publisher-2] [INFO] [1646323446.189977000] [robot_state_publisher]: got segment right_wheel
[create-3] [INFO] [1646323446.207324400] [ros_ign_gazebo]: Requesting list of world names.
[create-3] [INFO] [1646323446.689882800] [ros_ign_gazebo]: Requested creation of entity.
[create-3] [INFO] [1646323446.689951300] [ros_ign_gazebo]: OK creation of entity.
[INFO] [create-3]: process has finished cleanly [pid 1035]
[INFO] [ros2-4]: process started with pid [1138]
[ign gazebo-1] [libprotobuf ERROR google/protobuf/descriptor_database.cc:58] File already exists in database: ignition/msgs/actor.proto
[ign gazebo-1] [libprotobuf FATAL google/protobuf/descriptor.cc:1358] CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size):
[ign gazebo-1] terminate called after throwing an instance of 'google::protobuf::FatalException'
[ign gazebo-1] what(): CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size):
[ign gazebo-1] Stack trace (most recent call last):
[ign gazebo-1] #31 Object "/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/libignition-gazebo-user-commands-system.so", at 0x7f3310fa674a, in ignition::gazebo::v6::systems::CreateCommand::Execute()
[ign gazebo-1] #30 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7f3335f55c00, in ignition::gazebo::v6::SdfEntityCreator::CreateEntities(sdf::v12::Model const*)
[ign gazebo-1] #29 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7f3335f6e336, in void ignition::gazebo::v6::EventManager::Emit<ignition::common::EventT<void (unsigned long, std::shared_ptr<sdf::v12::Element>), ignition::gazebo::v6::events::LoadPluginsTag>, unsigned long const&, std::shared_ptr<sdf::v12::Element> const&>(unsigned long const&, std::shared_ptr<sdf::v12::Element> const&)
[ign gazebo-1] #28 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7f3335f9bb86, in ignition::gazebo::v6::SimulationRunner::LoadPlugins(unsigned long, std::shared_ptr<sdf::v12::Element> const&)
[ign gazebo-1] #27 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7f3335f9a17e, in ignition::gazebo::v6::SimulationRunner::LoadPlugin(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<sdf::v12::Element> const&)
[ign gazebo-1] #26 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7f3335fbba18, in ignition::gazebo::v6::SystemLoader::LoadPlugin(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<sdf::v12::Element> const&)
[ign gazebo-1] #25 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7f3335fbc2c5, in
[ign gazebo-1] #24 Object "/lib/x86_64-linux-gnu/libignition-plugin1-loader.so.1", at 0x7f3333530670, in ignition::plugin::Loader::LoadLib(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[ign gazebo-1] #23 Object "/lib/x86_64-linux-gnu/libignition-plugin1-loader.so.1", at 0x7f333352fa7d, in ignition::plugin::Loader::Implementation::LoadLib(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[ign gazebo-1] #22 Object "/lib/x86_64-linux-gnu/libdl.so.2", at 0x7f333a8973d9, in dlopen
[ign gazebo-1] #21 Object "/lib/x86_64-linux-gnu/libdl.so.2", at 0x7f333a897b58, in
[ign gazebo-1] #20 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f333aaaf902, in _dl_catch_error
[ign gazebo-1] #19 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f333aaaf837, in _dl_catch_exception
[ign gazebo-1] #18 Object "/lib/x86_64-linux-gnu/libdl.so.2", at 0x7f333a89734b, in
[ign gazebo-1] #17 Object "/lib64/ld-linux-x86-64.so.2", at 0x7f333aef05f9, in
[ign gazebo-1] #16 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f333aaaf837, in _dl_catch_exception
[ign gazebo-1] #15 Object "/lib64/ld-linux-x86-64.so.2", at 0x7f333aef10be, in
[ign gazebo-1] #14 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f333aaaf894, in _dl_catch_exception
[ign gazebo-1] #13 Object "/lib64/ld-linux-x86-64.so.2", at 0x7f333aeecc90, in
[ign gazebo-1] #12 Object "/lib64/ld-linux-x86-64.so.2", at 0x7f333aeecb89, in
[ign gazebo-1] #11 Object "/lib/x86_64-linux-gnu/libignition-msgs5.so.5", at 0x7f330afd1768, in void std::call_once<void (&)()>(std::once_flag&, void (&)())
[ign gazebo-1] #10 Object "/lib/x86_64-linux-gnu/libpthread.so.0", at 0x7f333a93d47e, in
[ign gazebo-1] #9 Object "/lib/x86_64-linux-gnu/libignition-msgs5.so.5", at 0x7f330afcc3ed, in protobuf_ignition_2fmsgs_2factor_2eproto::AddDescriptorsImpl()
[ign gazebo-1] #8 Object "/lib/x86_64-linux-gnu/libprotobuf.so.17", at 0x7f33352a487d, in
[ign gazebo-1] #7 Object "/lib/x86_64-linux-gnu/libgcc_s.so.1", at 0x7f3336be05a9, in _Unwind_Resume
[ign gazebo-1] #6 Object "/lib/x86_64-linux-gnu/libgcc_s.so.1", at 0x7f3336bdfbee, in
[ign gazebo-1] #5 Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f3336c93d20, in __gxx_personality_v0
[ign gazebo-1] #4 Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f3336c93368, in
[ign gazebo-1] #3 Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f3336c9438b, in
[ign gazebo-1] #2 Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f3336c88910, in
[ign gazebo-1] #1 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f333a971858, in abort
[ign gazebo-1] #0 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f333a99203b, in gsignal
[ign gazebo-1] Aborted (Signal sent by tkill() 1063 1000)
[ign gazebo-1] Stack trace (most recent call last):
[ign gazebo-1] #31 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333abea490, in
[ign gazebo-1] #30 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333ad5986f, in rb_vm_exec
[ign gazebo-1] #29 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333ad53130, in
[ign gazebo-1] #28 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333ad42405, in
[ign gazebo-1] #27 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333ad5bdaa, in
[ign gazebo-1] #26 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333ad4f025, in
[ign gazebo-1] #25 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333acad1be, in
[ign gazebo-1] #24 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333abed5d2, in rb_protect
[ign gazebo-1] #23 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333ad669f0, in rb_yield
[ign gazebo-1] #22 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333ad5986f, in rb_vm_exec
[ign gazebo-1] #21 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333ad53130, in
[ign gazebo-1] #20 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333ad42405, in
[ign gazebo-1] #19 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333ad5bdaa, in
[ign gazebo-1] #18 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333ad4f025, in
[ign gazebo-1] #17 Object "/usr/lib/x86_64-linux-gnu/ruby/2.7.0/fiddle.so", at 0x7f3336e67714, in
[ign gazebo-1] #16 Object "/lib/x86_64-linux-gnu/libruby-2.7.so.2.7", at 0x7f333ad206d9, in rb_nogvl
[ign gazebo-1] #15 Object "/usr/lib/x86_64-linux-gnu/ruby/2.7.0/fiddle.so", at 0x7f3336e678fb, in
[ign gazebo-1] #14 Object "/lib/x86_64-linux-gnu/libffi.so.7", at 0x7f3336e5c409, in
[ign gazebo-1] #13 Object "/lib/x86_64-linux-gnu/libffi.so.7", at 0x7f3336e5cff4, in
[ign gazebo-1] #12 Object "/usr/lib/x86_64-linux-gnu/libignition-gazebo6-ign.so.6.6.0", at 0x7f3336368780, in runGui
[ign gazebo-1] #11 Object "/lib/x86_64-linux-gnu/libignition-gazebo6-gui.so.6", at 0x7f333615c3d8, in ignition::gazebo::v6::gui::runGui(int&, char**, char const*, char const*)
[ign gazebo-1] #10 Object "/lib/x86_64-linux-gnu/libignition-gui6.so.6", at 0x7f3334bcaadc, in ignition::gui::Application::~Application()
[ign gazebo-1] #9 Object "/lib/x86_64-linux-gnu/libignition-gui6.so.6", at 0x7f3334bca836, in ignition::gui::Application::~Application()
[ign gazebo-1] #8 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f333466049d, in QApplication::~QApplication()
[ign gazebo-1] #7 Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f3334ebe97d, in QCoreApplication::~QCoreApplication()
[ign gazebo-1] #6 Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f3334ef04be, in QObject::~QObject()
[ign gazebo-1] #5 Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f3334ee5eed, in QObjectPrivate::deleteChildren()
[ign gazebo-1] #4 Object "/lib/x86_64-linux-gnu/libignition-gazebo6-gui.so.6", at 0x7f333616630c, in ignition::gazebo::v6::GuiRunner::~GuiRunner()
[ign gazebo-1] #3 Object "/lib/x86_64-linux-gnu/libignition-gazebo6-gui.so.6", at 0x7f33361662f1, in ignition::gazebo::v6::GuiRunner::~GuiRunner()
[ign gazebo-1] #2 Object "/lib/x86_64-linux-gnu/libignition-gazebo6-gui.so.6", at 0x7f33361b8391, in void ignition::utils::detail::DefaultDelete<ignition::gazebo::v6::GuiRunner::Implementation>(ignition::gazebo::v6::GuiRunner::Implementation*)
[ign gazebo-1] #1 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7f3335ebcf2d, in ignition::gazebo::v6::EntityComponentManager::~EntityComponentManager()
[ign gazebo-1] #0 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7f3335ecb0c0, in std::_Hashtable<std::vector<unsigned long, std::allocator<unsigned long> >, std::pair<std::vector<unsigned long, std::allocator<unsigned long> > const, std::pair<std::unique_ptr<ignition::gazebo::v6::detail::BaseView, std::default_delete<ignition::gazebo::v6::detail::BaseView> >, std::unique_ptr<std::mutex, std::default_delete<std::mutex> > > >, std::allocator<std::pair<std::vector<unsigned long, std::allocator<unsigned long> > const, std::pair<std::unique_ptr<ignition::gazebo::v6::detail::BaseView, std::default_delete<ignition::gazebo::v6::detail::BaseView> >, std::unique_ptr<std::mutex, std::default_delete<std::mutex> > > > >, std::__detail::_Select1st, std::equal_to<std::vector<unsigned long, std::allocator<unsigned long> > >, ignition::gazebo::v6::detail::ComponentTypeHasher, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::clear()
[ign gazebo-1] Segmentation fault (Address not mapped to object [0x7f32c03f6048])
[INFO] [ign gazebo-1]: process has finished cleanly [pid 1030]
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[robot_state_publisher-2] [INFO] [1646323449.385163000] [rclcpp]: signal_handler(signal_value=2)
[INFO] [robot_state_publisher-2]: process has finished cleanly [pid 1033]
[ERROR] [ros2-4]: process has died [pid 1138, exit code 2, cmd 'ros2 control load_controller --set-state start joint_state_broadcaster'].
Could someone help me to solve this issue? I've just started learning how to use ros2_control, but it's quite confusing (If someone has any kind of book or course to recommend to me, I will be thankful).
Currently, the ROS 2 control plugin provisioned by this package starts a ROS2 Control controller manager
as part of the plugin, and also does not seem to expose the plugin in the usual ROS 2 Control manner.
This means that if a user were to instantiate a controller manager independently outside of the one started by this plugin:
For example, on trying to instantiate another controller manager:
[robot_controller_server-5] [INFO] [1661983405.401989605] [resource_manager]: Loading hardware 'GazeboABBMultiInterfaceHardware'
[robot_controller_server-5] [ERROR] [1661983405.405588059] []: Caught exception in callback for transition 10
[robot_controller_server-5] [ERROR] [1661983405.405603913] []: Original error: According to the loaded plugin descriptions the class ign_ros2_control/IgnitionSystem with base class type hardware_interface::SystemInterface does not exist. Declared types are abb_hardware_interface/ABBSystemPositionOnlyHardware fake_components/GenericSystem mock_components/GenericSystem ros2_control_demo_hardware/DiffBotSystemHardware test_hardware_components/TestSystemCommandModes test_hardware_components/TestTwoJointSystem test_system
[robot_controller_server-5] [WARN] [1661983405.405692816] []: Error occurred while doing error handling.
It would be great if:
For (2), I'm not sure whether using the URDF/SDF tag or ROS parameter approach is more desirable
[ign gazebo-1] [libprotobuf ERROR google/protobuf/descriptor_database.cc:58] File already exists in database: ignition/msgs/actor.proto
[ign gazebo-1] [libprotobuf FATAL google/protobuf/descriptor.cc:1358] CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size):
[ign gazebo-1] terminate called after throwing an instance of 'google::protobuf::FatalException'
[ign gazebo-1] what(): CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size):
[ign gazebo-1] Stack trace (most recent call last):
[ign gazebo-1] #31 Object "/usr/lib/x86_64-linux-gnu/ign-gazebo-5/plugins/libignition-gazebo-user-commands-system.so", at 0x7f10e0e023e9, in ignition::gazebo::v5::systems::CreateCommand::Execute()
[ign gazebo-1] #30 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f110dc17fb1, in ignition::gazebo::v5::SdfEntityCreator::CreateEntities(sdf::v11::Model const*)
[ign gazebo-1] #29 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f110dc28c80, in void ignition::gazebo::v5::EventManager::Emit<ignition::common::EventT<void (unsigned long, std::shared_ptr<sdf::v11::Element>), ignition::gazebo::v5::events::LoadPluginsTag>, unsigned long const&, std::shared_ptr<sdf::v11::Element> const&>(unsigned long const&, std::shared_ptr<sdf::v11::Element> const&)
[ign gazebo-1] #28 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f110dc537a9, in ignition::gazebo::v5::SimulationRunner::LoadPlugins(unsigned long, std::shared_ptr<sdf::v11::Element> const&)
[ign gazebo-1] #27 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f110dc526fb, in ignition::gazebo::v5::SimulationRunner::LoadPlugin(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<sdf::v11::Element> const&)
[ign gazebo-1] #26 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f110dc636a8, in ignition::gazebo::v5::SystemLoader::LoadPlugin(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<sdf::v11::Element> const&)
[ign gazebo-1] #25 Object "/lib/x86_64-linux-gnu/libignition-gazebo5.so.5", at 0x7f110dc63fbc, in
[ign gazebo-1] #24 Object "/lib/x86_64-linux-gnu/libignition-plugin1-loader.so.1", at 0x7f110b2d7670, in ignition::plugin::Loader::LoadLib(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[ign gazebo-1] #23 Object "/lib/x86_64-linux-gnu/libignition-plugin1-loader.so.1", at 0x7f110b2d6a7d, in ignition::plugin::Loader::Implementation::LoadLib(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[ign gazebo-1] #22 Object "/lib/x86_64-linux-gnu/libdl.so.2", at 0x7f1112a9c3d9, in dlopen
[ign gazebo-1] #21 Object "/lib/x86_64-linux-gnu/libdl.so.2", at 0x7f1112a9cb58, in
[ign gazebo-1] #20 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1112cb6982, in _dl_catch_error
[ign gazebo-1] #19 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1112cb68b7, in _dl_catch_exception
[ign gazebo-1] #18 Object "/lib/x86_64-linux-gnu/libdl.so.2", at 0x7f1112a9c34b, in
[ign gazebo-1] #17 Object "/lib64/ld-linux-x86-64.so.2", at 0x7f11131055f9, in
[ign gazebo-1] #16 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1112cb68b7, in _dl_catch_exception
[ign gazebo-1] #15 Object "/lib64/ld-linux-x86-64.so.2", at 0x7f11131060be, in
[ign gazebo-1] #14 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1112cb6914, in _dl_catch_exception
[ign gazebo-1] #13 Object "/lib64/ld-linux-x86-64.so.2", at 0x7f1113101c90, in
[ign gazebo-1] #12 Object "/lib64/ld-linux-x86-64.so.2", at 0x7f1113101b89, in
[ign gazebo-1] #11 Object "/lib/x86_64-linux-gnu/libignition-msgs5.so.5", at 0x7f10deddf768, in void std::call_once<void (&)()>(std::once_flag&, void (&)())
[ign gazebo-1] #10 Object "/lib/x86_64-linux-gnu/libpthread.so.0", at 0x7f1112b4247e, in
[ign gazebo-1] #9 Object "/lib/x86_64-linux-gnu/libignition-msgs5.so.5", at 0x7f10dedda3ed, in protobuf_ignition_2fmsgs_2factor_2eproto::AddDescriptorsImpl()
[ign gazebo-1] #8 Object "/lib/x86_64-linux-gnu/libprotobuf.so.17", at 0x7f110d03087d, in
[ign gazebo-1] #7 Object "/lib/x86_64-linux-gnu/libgcc_s.so.1", at 0x7f110e8c35a9, in _Unwind_Resume
[ign gazebo-1] #6 Object "/lib/x86_64-linux-gnu/libgcc_s.so.1", at 0x7f110e8c2bee, in
[ign gazebo-1] #5 Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f110e976d20, in __gxx_personality_v0
[ign gazebo-1] #4 Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f110e976368, in
[ign gazebo-1] #3 Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f110e97738b, in
[ign gazebo-1] #2 Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7f110e96b910, in
[ign gazebo-1] #1 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1112b78858, in abort
[ign gazebo-1] #0 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7f1112b9918b, in gsignal
[ign gazebo-1] Aborted (Signal sent by tkill() 440718 1000)
debugging-ignition
branch on ros2_control_demos repositorymain
branch on ign_ros2_controlHello. I wanted to try the new version of gz_ros2_control
on Ubuntu Jammy with humble
/rolling
, but I ran into the following issue with controllers. The issue occurs both when trying robotic arms (panda_ign_moveit2) and demos from ign_ros2_control_demos
. Both of these worked previously using d653017 on focal
with galactic
(and rolling
at some point :D). I still have the working setup on my focal
machine if any more info is required.
[ign gazebo-1] [ERROR] [1654181056.506945303] [joint_state_broadcaster]: None of requested interfaces exist. Controller will not run.
[ign gazebo-1] [ERROR] [1654181057.407352076] [controller_manager]: Can't activate controller 'joint_trajectory_controller': Command interface with 'slider_to_cart/position' does not exist
[ros2-5] Sucessfully loaded controller joint_trajectory_controller into state active ##Not sure why this says "successful"##
...
## <Manually sent goal> ##
[ign gazebo-1] [INFO] [1654181407.856324391] [joint_trajectory_controller]: Received new action goal
[ign gazebo-1] [ERROR] [1654181407.856371822] [joint_trajectory_controller]: Can't accept new action goals. Controller is not running.
Note: Only tested with Docker, so I hope that is not the origin of the issue...
jammy
)humble
and rolling
gz_ros2_control
-> sourcerolling
is easy and completely effortless.ign_ros2_control
cannot be controlled because controllers are not loaded properly.docker build . -t ${USER}/gz_ros2_control:rolling
)# Both `rolling` and `humble` have the same issue
ARG ROS_DISTRO=rolling
FROM ros:${ROS_DISTRO}-ros-base
ENV TERM xterm
### Install Gazebo
ARG IGNITION_VERSION=fortress
ENV IGNITION_VERSION=${IGNITION_VERSION}
RUN apt-get update && \
apt-get install -yq --no-install-recommends \
ignition-${IGNITION_VERSION} && \
rm -rf /var/lib/apt/lists/*
### Clone gz_ros2_control
WORKDIR /root/ws/src
RUN git clone https://github.com/gazebosim/gz_ros2_control.git -b main
### Build gz_ros2_control
WORKDIR /root/ws
RUN . /opt/ros/${ROS_DISTRO}/setup.sh && \
rosdep update && \
apt-get update && \
rosdep install -r --from-paths src -yi --rosdistro ${ROS_DISTRO} && \
rm -rf /var/lib/apt/lists/* && \
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF --ament-cmake-args -DCMAKE_BUILD_TYPE=Release
### Update /ros_entrypoint.sh
RUN sed -i "s#/opt/ros/\$ROS_DISTRO/setup.bash#/root/ws/install/setup.sh#g" /ros_entrypoint.sh
docker run ${FANCY_DOCKER_ARGS} ${USER}/gz_ros2_control:rolling
)ros2 launch ign_ros2_control_demos cart_example_position.launch.py
)Note: Use ogre
render engine if ogre2
does not provide rendering for 3D view (gz-sim#1492)
Full output log:
~/ws# ros2 launch ign_ros2_control_demos cart_example_position.launch.py
[INFO] [launch]: All log files can be found below /root/.ros/log/2022-06-02-16-44-15-034148-pp1929-47
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ign gazebo-1]: process started with pid [48]
[INFO] [robot_state_publisher-2]: process started with pid [50]
[INFO] [create-3]: process started with pid [53]
[robot_state_publisher-2] Link slideBar had 1 children
[robot_state_publisher-2] Link cart had 0 children
[robot_state_publisher-2] [INFO] [1654181055.151467124] [robot_state_publisher]: got segment cart
[robot_state_publisher-2] [INFO] [1654181055.151526069] [robot_state_publisher]: got segment slideBar
[robot_state_publisher-2] [INFO] [1654181055.151531999] [robot_state_publisher]: got segment world
[create-3] [INFO] [1654181055.162256825] [ros_ign_gazebo]: Requesting list of world names.
[ign gazebo-1] QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] qrc:/qml/StyleDialog.qml:112:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] qrc:/qml/StyleDialog.qml:105:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] qrc:/qml/StyleDialog.qml:98:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] qrc:qml/Main.qml:102:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] qrc:/qml/PluginMenu.qml:61:11: QML Image: Error decoding: qrc:/qml/images/search.svg: Unsupported image format
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] qrc:/qml/PluginMenu.qml:27:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/Gazebo/GazeboDrawer.qml:241:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/Gazebo/GazeboDrawer.qml:147:3: QML Dialog: Binding loop detected for property "implicitHeight"
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/Gazebo/GazeboDrawer.qml:147:3: QML Dialog: Binding loop detected for property "implicitHeight"
[create-3] [INFO] [1654181055.633441615] [ros_ign_gazebo]: Requested creation of entity.
[create-3] [INFO] [1654181055.633496932] [ros_ign_gazebo]: OK creation of entity.
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:57:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[INFO] [create-3]: process has finished cleanly [pid 53]
[INFO] [ros2-4]: process started with pid [133]
[ign gazebo-1] [Msg] Ignition Gazebo GUI v6.9.0
[ign gazebo-1] [Dbg] [Application.cc:90] Initializing application.
[ign gazebo-1] [GUI] [Dbg] [Application.cc:511] Create main window
[ign gazebo-1] [GUI] [Dbg] [PathManager.cc:66] Requesting resource paths through [/gazebo/resource_paths/get]
[ign gazebo-1] [GUI] [Dbg] [Gui.cc:156] GUI requesting list of world names. The server may be busy downloading resources. Please be patient.
[ign gazebo-1] [GUI] [Dbg] [PathManager.cc:55] Received resource paths.
[ign gazebo-1] [GUI] [Dbg] [Gui.cc:215] Requesting GUI from [/world/empty/gui/info]...
[ign gazebo-1] [GUI] [Dbg] [GuiRunner.cc:145] Requesting initial state from [/world/empty/state]...
[ign gazebo-1] [GUI] [Msg] Copied installed config [/usr/share/ignition/ignition-gazebo6/gui/gui.config] to default config [/root/.ignition/gazebo/6/gui.config].
[ign gazebo-1] [GUI] [Msg] Loading config [/root/.ignition/gazebo/6/gui.config]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [MinimalScene]
[ign gazebo-1] [GUI] [Msg] Added plugin [3D View] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [MinimalScene] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libMinimalScene.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [EntityContextMenuPlugin]
[ign gazebo-1] [GUI] [Msg] Added plugin [Entity Context Menu] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [EntityContextMenuPlugin] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libEntityContextMenuPlugin.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [GzSceneManager]
[ign gazebo-1] [GUI] [Msg] Added plugin [Scene Manager] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [GzSceneManager] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libGzSceneManager.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [InteractiveViewControl]
[ign gazebo-1] [GUI] [Msg] Camera view controller topic advertised on [/gui/camera/view_control]
[ign gazebo-1] [GUI] [Msg] Added plugin [] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [InteractiveViewControl] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libInteractiveViewControl.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [CameraTracking]
[ign gazebo-1] [GUI] [Msg] Added plugin [Camera tracking] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [CameraTracking] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libCameraTracking.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [MarkerManager]
[ign gazebo-1] [GUI] [Msg] Listening to stats on [/world/empty/stats]
[ign gazebo-1] [GUI] [Msg] Added plugin [Marker Manager] to main window
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/Spawn/Spawn.qml:32:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/WorldControl/WorldControl.qml:30:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Msg] Loaded plugin [MarkerManager] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libMarkerManager.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [SelectEntities]
[ign gazebo-1] [GUI] [Msg] Added plugin [Select entities] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [SelectEntities] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libSelectEntities.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [Spawn]
[ign gazebo-1] [GUI] [Msg] Added plugin [Spawn] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [Spawn] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libSpawn.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [VisualizationCapabilities]
[ign gazebo-1] [GUI] [Msg] View as transparent service on [/gui/view/transparent]
[ign gazebo-1] [GUI] [Msg] View as wireframes service on [/gui/view/wireframes]
[ign gazebo-1] [GUI] [Msg] View center of mass service on [/gui/view/com]
[ign gazebo-1] [GUI] [Msg] View inertia service on [/gui/view/inertia]
[ign gazebo-1] [GUI] [Msg] View collisions service on [/gui/view/collisions]
[ign gazebo-1] [GUI] [Msg] View joints service on [/gui/view/joints]
[ign gazebo-1] [GUI] [Msg] View frames service on [/gui/view/frames]
[ign gazebo-1] [GUI] [Msg] Added plugin [Visualization capabilities] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [VisualizationCapabilities] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libVisualizationCapabilities.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [WorldControl]
[ign gazebo-1] [GUI] [Msg] Using world control service [/world/empty/control]
[ign gazebo-1] [GUI] [Msg] Listening to stats on [/world/empty/stats]
[ign gazebo-1] [GUI] [Dbg] [WorldControl.cc:246] Using an event to share WorldControl msgs with the server
[ign gazebo-1] [GUI] [Msg] Added plugin [World control] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [WorldControl] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libWorldControl.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [WorldStats]
[ign gazebo-1] [GUI] [Msg] Listening to stats on [/world/empty/stats]
[ign gazebo-1] [GUI] [Msg] Added plugin [World stats] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [WorldStats] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libWorldStats.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [Shapes]
[ign gazebo-1] [GUI] [Msg] Added plugin [Shapes] to main window
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/TransformControl/TransformControl.qml:104:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/TransformControl/TransformControl.qml:99:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/TransformControl/TransformControl.qml:94:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/TransformControl/TransformControl.qml:89:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/Screenshot/Screenshot.qml:33:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/ComponentInspector/ComponentInspector.qml:183:22: QML Image: Error decoding: qrc:/Gazebo/images/unlock.svg: Unsupported image format
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityTree/EntityTree.qml:148:7: QML ToolButton: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/Gazebo/GazeboDrawer.qml:147:3: QML Dialog: Binding loop detected for property "implicitHeight"
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/WorldStats/WorldStats.qml:53:3: QML RowLayout: Binding loop detected for property "x"
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[ign gazebo-1] [GUI] [Msg] [Msg] Ignition Gazebo Server v6.9.0
[ign gazebo-1] [Msg] Loading SDF world file[/usr/share/ignition/ignition-gazebo6/worlds/empty.sdf].
[ign gazebo-1] [Dbg] [Physics.cc:801] Loaded [ignition::physics::dartsim::Plugin] from library [/usr/lib/x86_64-linux-gnu/ign-physics-5/engine-plugins/libignition-physics-dartsim-plugin.so]
[ign gazebo-1] [Dbg] [SystemManager.cc:49] Loaded system [ignition::gazebo::systems::Physics] for entity [1]
[ign gazebo-1] [Msg] Create service on [/world/empty/create]
[ign gazebo-1] [Msg] Remove service on [/world/empty/remove]
[ign gazebo-1] [Msg] Pose service on [/world/empty/set_pose]
[ign gazebo-1] [Msg] Pose service on [/world/empty/set_pose_vector]
[ign gazebo-1] [Msg] Light configuration service on [/world/empty/light_config]
[ign gazebo-1] [Msg] Physics service on [/world/empty/set_physics]
[ign gazebo-1] [Msg] SphericalCoordinates service on [/world/empty/set_spherical_coordinates]
[ign gazebo-1] [Msg] Enable collision service on [/world/empty/enable_collision]
[ign gazebo-1] [Msg] Disable collision service on [/world/empty/disable_collision]
[ign gazebo-1] [Msg] Material service on [/world/empty/visual_config]
[ign gazebo-1] [Msg] Material service on [/world/empty/wheel_slip]
[ign gazebo-1] [Dbg] [SystemManager.cc:49] Loaded system [ignition::gazebo::systems::UserCommands] for entity [1]
[ign gazebo-1] [Dbg] [SystemManager.cc:49] Loaded system [ignition::gazebo::systems::SceneBroadcaster] for entity [1]
[ign gazebo-1] [Dbg] [SystemManager.cc:49] Loaded system [ignition::gazebo::systems::Contact] for entity [1]
[ign gazebo-1] [Msg] Loaded level [3]
[ign gazebo-1] [Msg] Serving world controls on [/world/empty/control], [/world/empty/control/state] and [/world/empty/playback/control]
[ign gazebo-1] [Msg] Serving GUI information on [/world/empty/gui/info]
[ign gazebo-1] [Msg] World [empty] initialized with [1ms] physics profile.
[ign gazebo-1] [Msg] Serving world SDF generation service on [/world/empty/generate_world_sdf]
[ign gazebo-1] [Msg] Serving world names on [/gazebo/worlds]
[ign gazebo-1] [Msg] Resource path add service on [/gazebo/resource_paths/add].
[ign gazebo-1] [Msg] Resource path get service on [/gazebo/resource_paths/get].
[ign gazebo-1] [Msg] Resource paths published on [/gazebo/resource_paths].
[ign gazebo-1] [Msg] Server control service on [/server_control].
[ign gazebo-1] [Msg] Found no publishers on /stats, adding root stats topic
[ign gazebo-1] [Msg] Found no publishers on /clock, adding root clock topic
[ign gazebo-1] [Dbg] [SimulationRunner.cc:491] Creating PostUpdate worker threads: 3
[ign gazebo-1] [INFO] [1654181056.324552803] [ignition_ros_control]: [ign_ros2_control] Fixed joint [world_to_base] (Entity=14)] is skipped
[ign gazebo-1] [INFO] [1654181056.327931756] [ignition_ros_control]: connected to service!! robot_state_publisher asking for robot_description
[ign gazebo-1] [INFO] [1654181056.328213018] [ignition_ros_control]: Received URDF from param server
[ign gazebo-1] [INFO] [1654181056.330923568] [ignition_ros_control]: Loading joint: slider_to_cart
[ign gazebo-1] [INFO] [1654181056.330944119] [ignition_ros_control]: State:
[ign gazebo-1] [INFO] [1654181056.330950076] [ignition_ros_control]: position
[ign gazebo-1] [INFO] [1654181056.330958123] [ignition_ros_control]: found initial value: -5.000000
[ign gazebo-1] [INFO] [1654181056.330965808] [ignition_ros_control]: velocity
[ign gazebo-1] [INFO] [1654181056.330970391] [ignition_ros_control]: effort
[ign gazebo-1] [INFO] [1654181056.330976035] [ignition_ros_control]: Command:
[ign gazebo-1] [INFO] [1654181056.330980159] [ignition_ros_control]: position
[ign gazebo-1] [INFO] [1654181056.331011520] [resource_manager]: Initialize hardware 'IgnitionSystem'
[ign gazebo-1] [WARN] [1654181056.331017717] [ignition_ros_control]: On init...
[ign gazebo-1] [INFO] [1654181056.331043776] [resource_manager]: Successful initialization of hardware 'IgnitionSystem'
[ign gazebo-1] [INFO] [1654181056.331056118] [ignition_ros_control]: Loading controller_manager
[ign gazebo-1] [Wrn] [Component.hh:144] Trying to serialize component with data type [N3sdf3v125WorldE], which doesn't have `operator<<`. Component will not be serialized.
[ign gazebo-1] [WARN] [1654181056.352353557] [ignition_ros_control]: Desired controller update period (0.01 s) is slower than the gazebo simulation period (0.001 s).
[ign gazebo-1] [GUI] [Wrn] [Component.hh:189] Trying to deserialize component with data type [N3sdf3v125WorldE], which doesn't have `operator>>`. Component will not be deserialized.
[ign gazebo-1] [INFO] [1654181056.488169388] [controller_manager]: Loading controller 'joint_state_broadcaster'
[ign gazebo-1] [INFO] [1654181056.498048630] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ign gazebo-1] [INFO] [1654181056.498177356] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[ign gazebo-1] [ERROR] [1654181056.506945303] [joint_state_broadcaster]: None of requested interfaces exist. Controller will not run.
[ign gazebo-1] [WARN] [1654181056.506973398] []: Error occurred while doing error handling.
[ign gazebo-1] [ERROR] [1654181056.506989445] [controller_manager]: After activating, controller 'joint_state_broadcaster' is in state 'unconfigured', expected Active
[ros2-4] Sucessfully loaded controller joint_state_broadcaster into state active
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/ComponentInspector/Vector3d.qml:83:5: QML Image: Error decoding: file::/ComponentInspector/plottable_icon.svg: Unsupported image format
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/ComponentInspector/Vector3d.qml:83:5: QML Image: Error decoding: file::/ComponentInspector/plottable_icon.svg: Unsupported image format
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/ComponentInspector/Vector3d.qml:83:5: QML Image: Error decoding: file::/ComponentInspector/plottable_icon.svg: Unsupported image format
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/ComponentInspector/Vector3d.qml:83:5: QML Image: Error decoding: file::/ComponentInspector/plottable_icon.svg: Unsupported image format
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/ComponentInspector/Vector3d.qml:83:5: QML Image: Error decoding: file::/ComponentInspector/plottable_icon.svg: Unsupported image format
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/ComponentInspector/Vector3d.qml:83:5: QML Image: Error decoding: file::/ComponentInspector/plottable_icon.svg: Unsupported image format
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/ComponentInspector/Physics.qml:89:5: QML Image: Error decoding: file::/ComponentInspector/plottable_icon.svg: Unsupported image format
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/ComponentInspector/Physics.qml:89:5: QML Image: Error decoding: file::/ComponentInspector/plottable_icon.svg: Unsupported image format
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityTree/EntityTree.qml:328:9: QML Image: Error decoding: qrc:/Gazebo/images/chevron-right.svg: Unsupported image format
[ign gazebo-1] libEGL warning: DRI2: failed to create dri screen
[ign gazebo-1] libEGL warning: DRI2: failed to create dri screen
[ign gazebo-1] [GUI] [Wrn] [Application.cc:753] [QT] file::/EntityTree/EntityTree.qml:328:9: QML Image: Error decoding: qrc:/Gazebo/images/chevron-right.svg: Unsupported image format
[INFO] [ros2-4]: process has finished cleanly [pid 133]
[INFO] [ros2-5]: process started with pid [365]
[ign gazebo-1] [GUI] [Wrn] [Ogre2RenderTarget.cc:575] Anti-aliasing level of '8' is not supported; valid FSAA levels are: [ 0 ]. Setting to 0
[ign gazebo-1] [Dbg] [SimulationRunner.cc:502] Creating postupdate worker thread (0)Loaded plugin [Shapes] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libShapes.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [Lights]
[ign gazebo-1] [GUI] [Msg] Added plugin [Lights] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [Lights] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libLights.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [TransformControl]
[ign gazebo-1] [GUI] [Dbg] [TransformControl.cc:219] Legacy mode is disabled; this plugin must be used with MinimalScene.
[ign gazebo-1] [GUI] [Msg] Added plugin [Transform control] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [TransformControl] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libTransformControl.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [Screenshot]
[ign gazebo-1] [GUI] [Msg] Screenshot service on [/gui/screenshot]
[ign gazebo-1] [GUI] [Msg] Added plugin [Screenshot] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [Screenshot] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libScreenshot.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [CopyPaste]
[ign gazebo-1] [GUI] [Msg] Added plugin [Copy/Paste] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [CopyPaste] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libCopyPaste.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [ComponentInspector]
[ign gazebo-1] [GUI] [Msg] Added plugin [Component inspector] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [ComponentInspector] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libComponentInspector.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:388] Loading plugin [EntityTree]
[ign gazebo-1] [GUI] [Msg] Added plugin [Entity tree] to main window
[ign gazebo-1] [GUI] [Msg] Loaded plugin [EntityTree] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libEntityTree.so]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:264] Loading window config
[ign gazebo-1] [GUI] [Msg] Using server control service [/server_control]
[ign gazebo-1] [GUI] [Dbg] [Application.cc:525] Applying config
[ign gazebo-1] [GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[ign gazebo-1] [GUI] [Dbg] [MinimalScene.cc:534] Create scene [scene]
[ign gazebo-1] [GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[ign gazebo-1] [GUI] [Dbg] [TransformControl.cc:528] TransformControl plugin is using camera [scene::Camera(65527)]
[ign gazebo-1] [GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[ign gazebo-1] [INFO] [1654181057.360232564] [controller_manager]: Loading controller 'joint_trajectory_controller'
[ign gazebo-1] [INFO] [1654181057.382854186] [controller_manager]: Configuring controller 'joint_trajectory_controller'
[ign gazebo-1] [INFO] [1654181057.382994650] [joint_trajectory_controller]: Command interfaces are [position] and and state interfaces are [position velocity].
[ign gazebo-1] [INFO] [1654181057.383803117] [joint_trajectory_controller]: Controller state will be published at 50.00 Hz.
[ign gazebo-1] [INFO] [1654181057.384459316] [joint_trajectory_controller]: Action status changes will be monitored at 20.00 Hz.
[ign gazebo-1] [ERROR] [1654181057.407352076] [controller_manager]: Can't activate controller 'joint_trajectory_controller': Command interface with 'slider_to_cart/position' does not exist
[ros2-5] Sucessfully loaded controller joint_trajectory_controller into state active
[INFO] [ros2-5]: process has finished cleanly [pid 365]
## <Manually sent goal> ##
[ign gazebo-1] [INFO] [1654181407.856324391] [joint_trajectory_controller]: Received new action goal
[ign gazebo-1] [ERROR] [1654181407.856371822] [joint_trajectory_controller]: Can't accept new action goals. Controller is not running.
I modified the slider_to_cart
joint in the test_cart_velocity.xacro.urdf
file by setting the initial value of the joint to 1.0:
<joint name="slider_to_cart">
<command_interface name="velocity">
<param name="min">-15</param>
<param name="max">15</param>
</command_interface>
<state_interface name="position">
<param name="initial_value">1.0</param>
</state_interface>
<state_interface name="velocity"/>
<state_interface name="effort"/>
</joint>
When launching the "cart_example_velocity" demo, I receive a log indicating that the value was properly set:
[ruby $(which gz) sim-1] [INFO] [1689450594.524306874] [gz_ros_control]: Loading joint: slider_to_cart
[ruby $(which gz) sim-1] [INFO] [1689450594.524356266] [gz_ros_control]: State:
[ruby $(which gz) sim-1] [INFO] [1689450594.524367407] [gz_ros_control]: position
[ruby $(which gz) sim-1] [INFO] [1689450594.524465351] [gz_ros_control]: found initial value: 1.000000
[ruby $(which gz) sim-1] [INFO] [1689450594.524477202] [gz_ros_control]: velocity
[ruby $(which gz) sim-1] [INFO] [1689450594.524515364] [gz_ros_control]: effort
[ruby $(which gz) sim-1] [INFO] [1689450594.524534715] [gz_ros_control]: Command:
[ruby $(which gz) sim-1] [INFO] [1689450594.524541825] [gz_ros_control]: velocity
Additional logs indicate that the velocity_controller
was successfully configured and activated. The issue that I am observing, however, is that the initial position is not reflected in Gazebo. This is confirmed when checking the /joint_states
topic:
header:
stamp:
sec: 12
nanosec: 628000000
frame_id: ''
name:
- slider_to_cart
position:
- 0.0
velocity:
- 0.0
effort:
- 0.0
I would expect that the initial_value
parameter setting for the state interfaces should persist regardless of the controller loaded. Is this the expected behavior?
I am running the examples in Docker using Ubuntu 22.04 with ROS Rolling and Gazebo Garden. I am using the latest version of the master branch. I have confirmed that I am able to run the other examples (e.g., the cart_example_position demo). I have not tried changing the initial_value
param in the other examples. Furthermore, I have not tried running this natively (I prefer to avoid installing ROS natively if I can help it)
galactic
I've adapted this package to my URDF and so far, publishing /cmd_vel
and feedback from /joint_states
and /tf
is working. On the other hand, for some reason, /odom
is not being published by ros2 control even though the same config for a diff_drive_controller is working on a real hardware.
To ensure that, the problem is not related only to my configuration, I checked examples and the same thing happens in diff_drive_example.launch.py while running inside docker also from examples. Basically, publishing odometry does not work, no matter if the URDF from examples is or isn't modified. I am confused since from what I understand, if joint_state_broadcaster has data to publish diff_drive_controller should as well.
Hi,
I'm trying to port a gazebo 'standard' plugin to ign (Currently working on galactic so with fortress built from sources).
I'm facing some difficulties for sure but most is working fine and seems promising.
My main question is, how do my custom plugin implementing a ros2 controller gazebo plugin must inherit the ign_ros2_control::IgnitionSystemInterface ? Do you have a specific tutorial for that (or example) ?
As includes files from "ign_ros2_control" are not exported, they cannot be included in my plugin specific package (moslty looking for "ign_ros2_control/ign_system_interface.hpp"). Are there some install steps missing from your CMakeLists.txt files missing or am I missing something ?
Thanks
OS Version: Ubuntu 20.04
Source or binary build? Binary ignition-edifice
ignition-edificeGenerally, mention all circumstances that might affect rendering capabilities:
Rendering system info:
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:191b] (rev 06)
:0
direct rendering: Yes
Preferred profile: core (0x1)
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 530 (SKL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.0.3
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.6 (Compatibility Profile) Mesa 21.0.3
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
bwuk 965 1.5 0.6 1090784 50744 tty2 Sl+ Jul22 689:53 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
bwuk 869792 0.0 0.0 18384 808 pts/13 S+ 19:57 0:00 grep --color=auto Xorg
X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
Build Operating System: linux Ubuntu
Current Operating System: Linux robots 5.8.0-59-generic #66~20.04.1-Ubuntu SMP Thu Jun 17 11:14:10 UTC 2021 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.8.0-59-generic root=UUID=e5b0707a-0f04-425c-91af-b430e5c42a61 ro quiet splash vt.handoff=7
Build Date: 06 July 2021 10:17:51AM
xorg-server 2:1.20.11-1ubuntu1~20.04.2 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.38.4
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Tried to do tutorials on ign using Foxy. This is the result after source install/setup.bnash
(source /opt/ros/foxy/setup.bash)
The video uploaded above
Hello together,
I programmed a custom controller 'pseudo_bike' with ros2_control. With classic gazebo, it does run and I can move the robot with teleop_keyboard by changing the /cmd_vel value.
I tried to do the same thing with Fortress Gazebo. It loads the controller nicely with gz_ros2_control (Compiled from Source with Fortress and Ros2 Humble). But strangely by changing the /cmd_vel value, it does not move.
[ruby $(which ign) gazebo-5] [INFO] [1669391816.505566917] [controller_manager]: Loading controller 'pseudo_bike'
[ruby $(which ign) gazebo-5] [INFO] [1669391816.527176421] [controller_manager]: Setting use_sim_time=True for pseudo_bike to match controller manager (see ros2_control#325 for details)
[ruby $(which ign) gazebo-5] [INFO] [1669391816.537294163] [controller_manager]: Configuring controller 'pseudo_bike'
[ruby $(which ign) gazebo-5] [INFO] [1669391816.560380717] [pseudo_bike]: On activate: Initialize Joints
[ruby $(which ign) gazebo-5] [INFO] [1669391816.560452567] [pseudo_bike]: Get Wheel Joint Instance
[ruby $(which ign) gazebo-5] [INFO] [1669391816.560736187] [pseudo_bike]: Get Wheel Joint Instance
[ruby $(which ign) gazebo-5] [INFO] [1669391816.560771817] [pseudo_bike]: Get Steering Joint Instance
[ruby $(which ign) gazebo-5] [INFO] [1669391816.560890867] [pseudo_bike]: Get Steering Joint Instance
[ros2-7] Sucessfully loaded controller pseudo_bike into state active
[INFO] [ros2-7]: process has finished cleanly [pid 1367284]
Do I have to use something special in order to use gz_ros2_control package for fortress?
Edit:
In the meantime I've tried all the examples added in gz_ros2_control. I could manage to move the block through the effort, velocity and position controller.
The tricycle and diffdrive controller has the same problem as my custom controller.
And Thanks for the help
Hi, currently neither the humble or the master branches work on humble.
I think if the humble branch does not work because of this #68.
The master branch instead is broken on humble since #108 .
However b296ff2 seems to work fine on humble, I think bringing the humble branch up to it would solve the issue.
Thank you to the developers/maintainers of this library, and I appreciate the good foundation to build upon.
In #29, the position control was modified from using a JointPositionReset
to using a JointVelocityCmd
, with the description:
Position control was not working from Citadel, instead of using JointPositionReset I used a velocity controller.
I'm wondering what the "was not working" part means, because reverting the changes, I see the joint positions updating more in a way I expect. Does the "not working" refer to physics not taking place becauser the JointPositions "jump" when resetting?
The current implementation seems like a simple proportional position controller, where:
velocity = error * dt
where
error
= expected - currentdt
= update ratebut the PID-behaviours of the motor are hardcoded and cannot be tuned to reflect what the actual motor would act like.
I've got three alternative suggestions:
JointPositionReset
- JointPosition controllers are intended to be used when the physical actuator (eg. motor) can deal with joint position commands. This is useful if the specific controllers in the joints are unknown, but it is still possible to move the joints of the robot to where you're asking it to move to.ignition::gazebo::systems::JointPositionController
and ignition::gazebo::systems::JointController
to their sdf/urdf files, and simply publish messages for those plugins to pick up and act on appropriately.My preference is 3.
@ahcorde What are your thoughts?
ROS distro: Rolling
OS version: Ubuntu 22.04 (Jammy)
gazebo_ros2_control version: 0.5.0-1
Link to failing build: https://build.ros2.org/view/Rbin_uJ64/job/Rbin_uJ64__ign_ros2_control__ubuntu_jammy_amd64__binary/52/
Blocked packages
Build log excerpt:
00:06:29.205 /usr/lib/ccache/c++ -DDEFAULT_RMW_IMPLEMENTATION=rmw_fastrtps_cpp -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DRCUTILS_ENABLE_FAULT_INJECTION -Dign_ros2_control_system_EXPORTS -I/tmp/binarydeb/ros-rolling-ign-ros2-control-0.5.0/include -I/opt/ros/rolling/include -I/opt/ros/rolling/include/rclcpp_action -isystem /opt/ros/rolling/include/ament_index_cpp -isystem /opt/ros/rolling/include/pluginlib -isystem /opt/ros/rolling/include/rclcpp -isystem /opt/ros/rolling/include/rclcpp_lifecycle -isystem /opt/ros/rolling/include/control_msgs -isystem /opt/ros/rolling/include/lifecycle_msgs -isystem /opt/ros/rolling/include/rcpputils -isystem /opt/ros/rolling/include/rcutils -isystem /opt/ros/rolling/include/sensor_msgs -isystem /opt/ros/rolling/include/controller_manager_msgs -isystem /opt/ros/rolling/include/diagnostic_msgs -isystem /opt/ros/rolling/include/std_msgs -isystem /usr/include/ignition/gazebo6 -isystem /usr/include/ignition/math6 -isystem /usr/include/ignition/plugin1 -isystem /usr/include/ignition/cmake2 -isystem /usr/include/ignition/common4 -isystem /usr/include/uuid -isystem /usr/include/ignition/fuel_tools7 -isystem /usr/include/ignition/msgs8 -isystem /usr/include/ignition/gui6 -isystem /usr/include/ignition/utils1 -isystem /usr/include/eigen3 -isystem /usr/include/ignition/transport11 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt5/QtQml -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtQuick -isystem /usr/include/x86_64-linux-gnu/qt5/QtQmlModels -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtQuickControls2 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/ignition/sdformat12 -isystem /.. -isystem /opt/ros/rolling/include/class_loader -isystem /opt/ros/rolling/include/libstatistics_collector -isystem /opt/ros/rolling/include/builtin_interfaces -isystem /opt/ros/rolling/include/rosidl_runtime_c -isystem /opt/ros/rolling/include/rosidl_typesupport_interface -isystem /opt/ros/rolling/include/fastcdr -isystem /opt/ros/rolling/include/rosidl_runtime_cpp -isystem /opt/ros/rolling/include/rosidl_typesupport_fastrtps_cpp -isystem /opt/ros/rolling/include/rmw -isystem /opt/ros/rolling/include/rosidl_typesupport_fastrtps_c -isystem /opt/ros/rolling/include/rosidl_typesupport_introspection_c -isystem /opt/ros/rolling/include/rosidl_typesupport_introspection_cpp -isystem /opt/ros/rolling/include/rcl -isystem /opt/ros/rolling/include/rcl_interfaces -isystem /opt/ros/rolling/include/rcl_logging_interface -isystem /opt/ros/rolling/include/rcl_yaml_param_parser -isystem /opt/ros/rolling/include/libyaml_vendor -isystem /opt/ros/rolling/include/tracetools -isystem /opt/ros/rolling/include/statistics_msgs -isystem /opt/ros/rolling/include/rosgraph_msgs -isystem /opt/ros/rolling/include/rosidl_typesupport_cpp -isystem /opt/ros/rolling/include/rosidl_typesupport_c -isystem /opt/ros/rolling/include/rcl_lifecycle -isystem /opt/ros/rolling/include/rcl_action -isystem /opt/ros/rolling/include/action_msgs -isystem /opt/ros/rolling/include/unique_identifier_msgs -isystem /opt/ros/rolling/include/geometry_msgs -isystem /opt/ros/rolling/include/trajectory_msgs -g -O2 -ffile-prefix-map=/tmp/binarydeb/ros-rolling-ign-ros2-control-0.5.0=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Wall -Wextra -Wpedantic -I/usr/include/uuid -I/usr/include/x86_64-linux-gnu -fPIC -MD -MT CMakeFiles/ign_ros2_control-system.dir/src/ign_ros2_control_plugin.cpp.o -MF CMakeFiles/ign_ros2_control-system.dir/src/ign_ros2_control_plugin.cpp.o.d -o CMakeFiles/ign_ros2_control-system.dir/src/ign_ros2_control_plugin.cpp.o -c /tmp/binarydeb/ros-rolling-ign-ros2-control-0.5.0/src/ign_ros2_control_plugin.cpp
00:06:29.205 /tmp/binarydeb/ros-rolling-ign-ros2-control-0.5.0/src/ign_ros2_control_plugin.cpp: In member function ‘virtual void ign_ros2_control::IgnitionROS2ControlPlugin::Configure(const Entity&, const std::shared_ptr<const sdf::v12::Element>&, ignition::gazebo::v6::EntityComponentManager&, ignition::gazebo::v6::EventManager&)’:
00:06:45.373 /tmp/binarydeb/ros-rolling-ign-ros2-control-0.5.0/src/ign_ros2_control_plugin.cpp:385:67: error: ‘__gnu_cxx::__alloc_traits<std::allocator<hardware_interface::HardwareInfo>, hardware_interface::HardwareInfo>::value_type’ {aka ‘struct hardware_interface::HardwareInfo’} has no member named ‘hardware_class_type’
00:06:45.373 385 | std::string robot_hw_sim_type_str_ = control_hardware_info[i].hardware_class_type;
00:06:45.373 | ^~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~
Hi,
In the diff_drive_example.launch.py, how to remap "/diff_drive_base_controller/cmd_vel_unstamped" to "/cmd_vel"?
I am using navigation 2 which publishes commands to /cmd_vel.
Thanks!
Starting >>> ign_ros2_control
--- stderr: ign_ros2_control
/home/josh/ign_ws/src/ign_ros2_control/ign_ros2_control/src/ign_system.cpp: In lambda function:
/home/josh/ign_ws/src/ign_ros2_control/ign_ros2_control/src/ign_system.cpp:200:29: error: ‘const struct hardware_interface::InterfaceInfo’ has no member named ‘initial_value’
200 | if (!interface_info.initial_value.empty()) {
| ^~~~~~~~~~~~~
/home/josh/ign_ws/src/ign_ros2_control/ign_ros2_control/src/ign_system.cpp:201:51: error: ‘const struct hardware_interface::InterfaceInfo’ has no member named ‘initial_value’
201 | double value = std::stod(interface_info.initial_value);
| ^~~~~~~~~~~~~
/home/josh/ign_ws/src/ign_ros2_control/ign_ros2_control/src/ign_system.cpp:207:7: warning: control reaches end of non-void function [-Wreturn-type]
207 | };
| ^
make[2]: *** [CMakeFiles/ign_hardware_plugins.dir/build.make:63: CMakeFiles/ign_hardware_plugins.dir/src/ign_system.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:80: CMakeFiles/ign_hardware_plugins.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
---
Failed <<< ign_ros2_control [4.85s, exited with code 2]
gazebo : gazebo fortress
ros distro : humble
installed binaries: libigngazebo6
HI All,
I am working on implementing our mars rover project, and are getting the following error when all of the controllers are configured and active within ignition gazebo/gazebo.
[ruby $(which ign) gazebo-1] [Err] [JointFeatures.cc:157] Invalid joint velocity value [inf] commanded on joint [1_drive_joint DOF 0]. The command will be ignored
This is happening for all joints (1-6).
Is there something that I misconfigured, or missing within the URDF or config file?
Could this be a problem with the fortress control implementation as I have only gotten this error on the fortress gazebo platform?
The URDF control features that I am using, along with the plugins
<xacro:macro name="drive_control_interface" params="wheel_num">
<joint name="${wheel_num}_drive_joint">
<command_interface name="velocity">
<param name="min">-120</param>
<param name="max">120</param>
<param name="initial_value">0.0</param>
</command_interface>
<state_interface name="velocity"/>
<!-- <state_interface name="position"/> -->
</joint>
</xacro:macro>
<xacro:macro name="gazebo_control">
<ros2_control name="IgitionSystem" type="system">
<hardware>
<plugin>ign_ros2_control/IgnitionSystem</plugin>
</hardware>
<xacro:drive_control_interface wheel_num="1"/>
<xacro:drive_control_interface wheel_num="2"/>
<xacro:drive_control_interface wheel_num="3"/>
<xacro:drive_control_interface wheel_num="4"/>
<xacro:drive_control_interface wheel_num="5"/>
<xacro:drive_control_interface wheel_num="6"/>
</ros2_control>
<gazebo>
<plugin filename="ign_ros2_control-system" name="ign_ros2_control::IgnitionROS2ControlPlugin">
<parameters>$(find rover_description)/config/rover_controller.yaml</parameters>
<robot_param>robot_description</robot_param>
<robot_param_node>robot_state_publisher</robot_param_node>
</plugin>
<gazebo>
</xacro:macro>
and the joint definitins is as follows
<joint name="${prefix}_drive_joint" type="continuous">
<origin xyz="0.0 0.0 -0.07543" rpy="1.5707 0.0 0.0"/>
<parent link="${prefix}_wheel_mount"/>
<child link="${prefix}_wheel"/>
<xacro:if value="${side == 'R'}">
<axis xyz="0.0 0.0 1.0"/>
</xacro:if>
<xacro:if value="${side == 'L'}">
<axis xyz="0.0 0.0 -1.0"/>
</xacro:if>
<limit effort="20.0" velocity="5.0"/>
</joint>
Also the config file for the system
differential_controller:
ros__parameters:
left_wheel_names: ["2_drive_joint"]
right_wheel_names: ["1_drive_joint"]
wheel_separation_multiplier: 1.0
left_wheel_radius_multiplier: 1.0
right_wheel_radius_multiplier: 1.0
publish_rate: 50.0
odom_frame_id: odom
base_frame_id: rover_base_link
pose_covariance_diagonal : [0.001, 0.001, 0.0, 0.0, 0.0, 0.01]
twist_covariance_diagonal: [0.001, 0.0, 0.0, 0.0, 0.0, 0.01]
open_loop: false
enable_odom_tf: true
cmd_vel_timeout: 0.5
use_stamped_vel: false
linear.x.has_velocity_limits: true
linear.x.has_acceleration_limits: true
linear.x.has_jerk_limits: false
linear.x.max_velocity: 1.0
linear.x.min_velocity: -1.0
linear.x.max_acceleration: 1.0
linear.x.max_jerk: 1.0
linear.x.min_jerk: -1.0
angular.z.has_velocity_limits: true
angular.z.has_acceleration_limits: true
angular.z.has_jerk_limits: false
angular.z.max_velocity: 5.0
angular.z.min_velocity: -5.0
angular.z.max_acceleration: 1.0
angular.z.min_acceleration: -1.0
angular.z.max_jerk: 1.0
angular.z.min_jerk: -1.0
dockerfile for reference
FROM osrf/ros:humble-desktop-full-jammy
ENV NVIDIA_VISIBLE_DEVICES \
${NVIDIA_VISIBLE_DEVICES:-all}
ENV NVIDIA_DRIVER_CAPABILITIES \
${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics
RUN apt-get update && apt-get -y upgrade
RUN apt-get update && apt-get -y install ros-${ROS_DISTRO}-ros2-control \
ros-${ROS_DISTRO}-ros2-controllers \
ros-${ROS_DISTRO}-ros-ign-gazebo \
libignition-gazebo6-dev \
ros-${ROS_DISTRO}-xacro
RUN mkdir -p /int_pkgs/src
RUN chown -R 1000:1000 /int_pkgs
COPY ./ros_entrypoint.sh /
RUN chmod +x /ros_entrypoint.sh
ENV IGNITION_VERSION=fortress
ENV GZ_VERSION=fortress
RUN mkdir -p /comp_pkg/src
WORKDIR /comp_pkg/src
RUN git clone https://github.com/gazebosim/ros_gz.git -b ${ROS_DISTRO}
RUN git clone https://github.com/ros-controls/gz_ros2_control.git
WORKDIR /comp_pkg
RUN . /opt/ros/${ROS_DISTRO}/setup.sh && colcon build
Line of segmentation fault:
I am getting a segmentation fault when the logger is being accessed on this line, I believe it is because dataPtr->node_ is not initialized untiil line 342 of this file.
Currentry mimic joint impelemtation causes following error:
[move_group-3] [ERROR] [1669079269.679936655] [moveit_robot_model.robot_model]: Joint 'crane_x7_gripper_finger_b_joint_mimic' not found in model 'crane_x7'
[move_group-3] [ERROR] [1669079269.685043176] [moveit_robot_model.robot_model]: Joint 'crane_x7_gripper_finger_b_joint_mimic' not found in model 'crane_x7'
[move_group-3] [ERROR] [1669079269.690190959] [moveit_robot_model.robot_model]: Joint 'crane_x7_gripper_finger_b_joint_mimic' not found in model 'crane_x7'
[move_group-3] [ERROR] [1669079269.695329495] [moveit_robot_model.robot_model]: Joint 'crane_x7_gripper_finger_b_joint_mimic' not found in model 'crane_x7'
...
Actual the joint name in my URDF is crane_x7_gripper_finger_b_joint
yet the controller outputs states of the crane_x7_gripper_finger_b_joint_mimic
joint.
Maybe the reason why this happend is here:
Could you remove the _mimic
suffix?
Hello,
I am trying to get moveit2 configured arm working in ignition.
I am using humble with docker
set the following:
export IGN_GAZEBO_SYSTEM_PLUGIN_PATH="/root/ws_moveit/install/ign_ros2_control/lib"
export XDG_RUNTIME_DIR=/run/user/1000
export IGN_FILE_PATH="/root/ws_moveit/src"
export RUNLEVEL=3
Have added the flowing to the URDF file:
<ros2_control name="courgette_arm_system" type="system"> <hardware> <plugin>ign_ros2_control/IgnitionSystem</plugin> </hardware> ... </ros2_control>
<gazebo> <plugin name="ign_ros2_control" filename="libign_ros2_control-system.so"> <parameters>/root/ws_moveit/install/courgette_moveit_config_new/share/courgette_moveit_config_new/config/ros2_controllers.yaml</parameters> <controller_manager_prefix_node_name>controller_manager</controller_manager_prefix_node_name> </plugin> </gazebo>
I am getting the following error
[ign gazebo-1] [ignition::plugin::Loader::LookupPlugin] Failed to get info for [ign_ros2_control]. Could not find a plugin with that name or alias. [ign gazebo-1] [Err] [SystemLoader.cc:91] Failed to load system plugin [ign_ros2_control] : could not instantiate from library [libign_ros2_control-system.so] from path [/root/ws_moveit/install/ign_ros2_control/lib/libign_ros2_control-system.so].
Any help would be appreciated
Hi,
I have the following error when launching ros2 launch gz_ros2_control_demos diff_drive_example.launch.py
:
[ign gazebo-1] Library [/colcon_ws/install/gz_ros2_control/lib/libgz_ros2_control-system.so] does not export any plugins. The symbol [IgnitionPluginHook] is missing, or it is not externally visible.
[ign gazebo-1] [Err] [SystemLoader.cc:87] Failed to load system plugin [gz_ros2_control-system] : couldn't load library on path [/colcon_ws/install/gz_ros2_control/lib/libgz_ros2_control-system.so].
OS Version: WSL with Ubuntu 22.4
Using Docker image : Ubuntu 22.04 + ROS2 Humble + Gazebo Garden (installed from debs)
Behavior :
Gazebo (ex Ignition) launches successfully but with that error message. As such, many controllers and topics are missing and I can't control the robot.
I am also suprised that in the roslaunch console, the node is still called "ign gazebo".
Steps to reproduce :
I've tried to change different plugin_names and file_names in the urdf but without success. Any idea ? I see that the branch ign_to_gz has been updated a few hours ago but with the same behavior.
Thanks !
I attach the Dockerfile for reproduction
Dockerfile.humble-full-gz.txt
At the moment I need to add FT sensor measurement, can I do it like IMU sensor? As I noticed there is no corresponding protobuf message like IMU, is it enough for me to use Wrench? At the moment I'm just exploring the possibilities
Something like this:
class FTData
{
public:
std::string name{};
std::string topicName{};
ignition::gazebo::Entity sim_ft_sensors_ = ignition::gazebo::kNullEntity;
std::array<double, 6> ft_sensor_data_;
void OnFT(const ignition::msgs::Wrench & msg);
};
void FTData::OnFT(const ignition::msgs::Wrench & _msg)
{
this->ft_sensor_data_[0] = _msg.torque().x();
this->ft_sensor_data_[1] = _msg.torque().y();
this->ft_sensor_data_[2] = _msg.torque().z();
this->ft_sensor_data_[3] = _msg.force().x();
this->ft_sensor_data_[4] = _msg.force().y();
this->ft_sensor_data_[5] = _msg.force().z();
}
My setup:
gz_ros2_control
from humble
branch building from sourceOn this line, Rclcpp init is called with a bunch of arguments: https://github.com/ros-controls/gz_ros2_control/blob/master/gz_ros2_control/src/gz_ros2_control_plugin.cpp#L338
This makes it hard to write other plugins for Gazebo that want to connect to ROS without being very specific in their load order. If I write another plugin and it calls Rclcpp init first, Gz Ros2 Control will not be able to initialize correctly.
I would like to refactor this method to set these parameters manually on the node instead of using rclcpp init to do it automatically. Is there any issues anyone sees with this approach?
A recent commit updated the default ignition version in package.xml
when no IGNITION_VERSION is specified.
2d31077
However, the same default is also present in CMakeLists.txt
but it has not been updated accordingly https://github.com/ignitionrobotics/ign_ros2_control/blob/main/ign_ros2_control/CMakeLists.txt#L43-L47
Hi, I am trying to add gazebo fortress to https://github.com/lbr-stack/lbr_fri_ros2_stack for humble
Therefore I have installed ros-humble-ign-ros2-control
binaries.
I added the following sections to the urdf
<gazebo>
<plugin filename="ign_ros2_control-system" name="ign_ros2_control::IgnitionROS2ControlPlugin">
...
</plugin>
</gazebo>
<ros2_control name="lbr_hardware_interface" type="system">
<hardware>
<plugin>ign_ros2_control/IgnitionSystem</plugin>
</hardware>
</ros2_control>
The simulation starts and the controllers get activated. However, when sending commands to the action server, the robot just won't move and I don't know what to do. The joint state broadcaster works fine.
The demos in this repository work fine.
What is something that I could be looking for? Thank you for the help!
Hi, I'm loading differential drive and joints control plugins in a Gazebo Ignition simulation.
I'm using ROS 2 Rolling with this repo installed from debian packages.
Gazebo ignition crashes during startup with the following backtrace
[ign gazebo-1] #31 Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ff8514a0317, in
[ign gazebo-1] #30 Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ff85163530c, in rb_vm_exec
[ign gazebo-1] #29 Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ff85162fc96, in
[ign gazebo-1] #28 Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ff85162cfc5, in
[ign gazebo-1] #27 Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ff85162ac34, in
[ign gazebo-1] #26 Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ff851576a1e, in
[ign gazebo-1] #25 Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ff8514a19ac, in rb_protect
[ign gazebo-1] #24 Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ff851639c61, in rb_yield
[ign gazebo-1] #23 Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ff85163530c, in rb_vm_exec
[ign gazebo-1] #22 Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ff85162fc96, in
[ign gazebo-1] #21 Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ff85162cfc5, in
[ign gazebo-1] #20 Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ff85162ac34, in
[ign gazebo-1] #19 Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7ff84d9ee44b, in
[ign gazebo-1] #18 Object "/lib/x86_64-linux-gnu/libruby-3.0.so.3.0", at 0x7ff8515f8088, in rb_nogvl
[ign gazebo-1] #17 Object "/usr/lib/x86_64-linux-gnu/ruby/3.0.0/fiddle.so", at 0x7ff84d9edd6b, in
[ign gazebo-1] #16 Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7ff84d998492, in
[ign gazebo-1] #15 Object "/lib/x86_64-linux-gnu/libffi.so.8", at 0x7ff84d99be2d, in
[ign gazebo-1] #14 Object "/usr/lib/x86_64-linux-gnu/libignition-gazebo6-ign.so.6.13.0", at 0x7ff84cefda53, in runServer
[ign gazebo-1] #13 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7ff84cbca635, in
[ign gazebo-1] #12 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7ff84cbd891a, in ignition::gazebo::v6::SimulationRunner::Run(unsigned long)
[ign gazebo-1] #11 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7ff84cbd7fdd, in ignition::gazebo::v6::SimulationRunner::Step(ignition::gazebo::v6::UpdateInfo const&)
[ign gazebo-1] #10 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7ff84cbd3ef1, in ignition::gazebo::v6::SimulationRunner::UpdateSystems()
[ign gazebo-1] #9 Object "/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/libignition-gazebo-user-commands-system.so", at 0x7ff820dade80, in ignition::gazebo::v6::systems::UserCommands::PreUpdate(ignition::gazebo::v6::UpdateInfo const&, ignition::gazebo::v6::EntityComponentManager&)
[ign gazebo-1] #8 Object "/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/libignition-gazebo-user-commands-system.so", at 0x7ff820db1a79, in ignition::gazebo::v6::systems::CreateCommand::Execute()
[ign gazebo-1] #7 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7ff84cbac4cf, in ignition::gazebo::v6::SdfEntityCreator::CreateEntities(sdf::v12::Model const*)
[ign gazebo-1] #6 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7ff84cb89e43, in
[ign gazebo-1] #5 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7ff84cbdba38, in ignition::gazebo::v6::SimulationRunner::LoadPlugins(unsigned long, std::vector<sdf::v12::Plugin, std::allocator<sdf::v12::Plugin> > const&)
[ign gazebo-1] #4 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7ff84cbe8828, in ignition::gazebo::v6::SystemManager::LoadPlugin(unsigned long, sdf::v12::Plugin const&)
[ign gazebo-1] #3 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7ff84cbe83fa, in ignition::gazebo::v6::SystemManager::AddSystem(ignition::plugin::TemplatePluginPtr<ignition::plugin::SpecializedPlugin<ignition::gazebo::v6::System, ignition::gazebo::v6::ISystemConfigure, ignition::gazebo::v6::ISystemPreUpdate, ignition::gazebo::v6::ISystemUpdate, ignition::gazebo::v6::ISystemPostUpdate> > const&, unsigned long, std::shared_ptr<sdf::v12::Element const>)
[ign gazebo-1] #2 Object "/lib/x86_64-linux-gnu/libignition-gazebo6.so.6", at 0x7ff84cbe7f68, in ignition::gazebo::v6::SystemManager::AddSystemImpl(ignition::gazebo::v6::SystemInternal, std::shared_ptr<sdf::v12::Element const>)
[ign gazebo-1] #1 Object "/opt/ros/rolling/lib/libign_ros2_control-system.so", at 0x7ff8204afc5a, in ign_ros2_control::IgnitionROS2ControlPlugin::Configure(unsigned long const&, std::shared_ptr<sdf::v12::Element const> const&, ignition::gazebo::v6::EntityComponentManager&, ignition::gazebo::v6::EventManager&)
[ign gazebo-1] #0 Object "/opt/ros/rolling/lib/libign_hardware_plugins.so", at 0x7ff814e866a3, in ign_ros2_control::IgnitionSystem::initSim(std::shared_ptr<rclcpp::Node>&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > >&, hardware_interface::HardwareInfo const&, ignition::gazebo::v6::EntityComponentManager&, int&)
[ign gazebo-1] Segmentation fault (Address not mapped to object [(nil)])
Note that this problem seems to be fixed if I build from sources the master
branch
Hi There,
I get these errors when i'm trying to run the cart_example_position.launch.py
and couldn't find the fix for it so far:
[ruby $(which ign) gazebo-1] [INFO] [1675263006.927604309] [resource_manager]: Successful initialization of hardware 'IgnitionSystem'
[ruby $(which ign) gazebo-1] [INFO] [1675263006.927643097] [ignition_ros_control]: Loading controller_manager
[ruby $(which ign) gazebo-1] [WARN] [1675263006.939326106] [ignition_ros_control]: Desired controller update period (0.01 s) is slower than the gazebo simulation period (0.001 s).
[ruby $(which ign) gazebo-1] [INFO] [1675263007.076156142] [controller_manager]: Loading controller 'joint_state_broadcaster'
[ruby $(which ign) gazebo-1] [INFO] [1675263007.089760367] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ruby $(which ign) gazebo-1] [INFO] [1675263007.089878783] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[ruby $(which ign) gazebo-1] [ERROR] [1675263007.104400708] [joint_state_broadcaster]: None of requested interfaces exist. Controller will not run.
[ruby $(which ign) gazebo-1] [WARN] [1675263007.104440229] []: Error occurred while doing error handling.
[ruby $(which ign) gazebo-1] [ERROR] [1675263007.104457272] [controller_manager]: After activating, controller 'joint_state_broadcaster' is in state 'unconfigured', expected Active
[ros2-4] Sucessfully loaded controller joint_state_broadcaster into state active
[INFO] [ros2-4]: process has finished cleanly [pid 1155134]
[INFO] [ros2-5]: process started with pid [1155171]
[ruby $(which ign) gazebo-1] [INFO] [1675263008.025939674] [controller_manager]: Loading controller 'joint_trajectory_controller'
[ruby $(which ign) gazebo-1] [INFO] [1675263008.030003948] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE.
[ruby $(which ign) gazebo-1] [INFO] [1675263008.039644914] [controller_manager]: Configuring controller 'joint_trajectory_controller'
[ruby $(which ign) gazebo-1] [INFO] [1675263008.039716655] [joint_trajectory_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter.
[ruby $(which ign) gazebo-1] [INFO] [1675263008.039736852] [joint_trajectory_controller]: Command interfaces are [position] and state interfaces are [position velocity].
[ruby $(which ign) gazebo-1] [INFO] [1675263008.039749101] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE.
[ruby $(which ign) gazebo-1] [INFO] [1675263008.039751886] [joint_trajectory_controller]: Using 'splines' interpolation method.
[ruby $(which ign) gazebo-1] [INFO] [1675263008.040439275] [joint_trajectory_controller]: Controller state will be published at 50.00 Hz.
[ruby $(which ign) gazebo-1] [INFO] [1675263008.041057879] [joint_trajectory_controller]: Action status changes will be monitored at 20.00 Hz.
[ruby $(which ign) gazebo-1] [ERROR] [1675263008.053879538] [controller_manager]: Can't activate controller 'joint_trajectory_controller': Command interface with 'slider_to_cart/position' does not exist
[ros2-5] Sucessfully loaded controller joint_trajectory_controller into state active
$ ros2 launch ign_ros2_control_demos cart_example_position.launch.py [INFO] [launch]: All log files can be found below /home/azazdeaz/.ros/log/2023-02-01-15-49-57-389591-moveit2-humble.azazdeaz-Laptop-1155052 [INFO] [launch]: Default logging verbosity is set to INFO ign_args is deprecated, migrate to gz_args! [INFO] [ruby $(which ign) gazebo-1]: process started with pid [1155053] [INFO] [robot_state_publisher-2]: process started with pid [1155055] [INFO] [create-3]: process started with pid [1155058] [robot_state_publisher-2] [INFO] [1675262997.828304377] [robot_state_publisher]: got segment cart [robot_state_publisher-2] [INFO] [1675262997.828357569] [robot_state_publisher]: got segment slideBar [robot_state_publisher-2] [INFO] [1675262997.828362748] [robot_state_publisher]: got segment world [create-3] [INFO] [1675263005.856669348] [ros_gz_sim]: Requesting list of world names. [ruby $(which ign) gazebo-1] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. [ruby $(which ign) gazebo-1] [Dbg] [ign.cc:161] Subscribing to [/gazebo/starting_world]. [ruby $(which ign) gazebo-1] [Dbg] [ign.cc:163] Waiting for a world to be set from the GUI... [ruby $(which ign) gazebo-1] [Msg] Received world [empty.sdf] from the GUI. [ruby $(which ign) gazebo-1] [Dbg] [ign.cc:167] Unsubscribing from [/gazebo/starting_world]. [ruby $(which ign) gazebo-1] [Msg] Ignition Gazebo Server v6.14.0 [ruby $(which ign) gazebo-1] [Msg] Loading SDF world file[/usr/share/ignition/ignition-gazebo6/worlds/empty.sdf]. [ruby $(which ign) gazebo-1] [Msg] Serving entity system service on [/entity/system/add] [ruby $(which ign) gazebo-1] [Dbg] [Physics.cc:803] Loaded [ignition::physics::dartsim::Plugin] from library [/usr/lib/x86_64-linux-gnu/ign-physics-5/engine-plugins/libignition-physics-dartsim-plugin.so] [ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::Physics] for entity [1] [ruby $(which ign) gazebo-1] [Msg] Create service on [/world/empty/create] [ruby $(which ign) gazebo-1] [Msg] Remove service on [/world/empty/remove] [ruby $(which ign) gazebo-1] [Msg] Pose service on [/world/empty/set_pose] [ruby $(which ign) gazebo-1] [Msg] Pose service on [/world/empty/set_pose_vector] [ruby $(which ign) gazebo-1] [Msg] Light configuration service on [/world/empty/light_config] [ruby $(which ign) gazebo-1] [Msg] Physics service on [/world/empty/set_physics] [ruby $(which ign) gazebo-1] [Msg] SphericalCoordinates service on [/world/empty/set_spherical_coordinates] [ruby $(which ign) gazebo-1] [Msg] Enable collision service on [/world/empty/enable_collision] [ruby $(which ign) gazebo-1] [Msg] Disable collision service on [/world/empty/disable_collision] [ruby $(which ign) gazebo-1] [Msg] Material service on [/world/empty/visual_config] [ruby $(which ign) gazebo-1] [Msg] Material service on [/world/empty/wheel_slip] [ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::UserCommands] for entity [1] [ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::SceneBroadcaster] for entity [1] [ruby $(which ign) gazebo-1] [Dbg] [SystemManager.cc:70] Loaded system [ignition::gazebo::systems::Contact] for entity [1] [ruby $(which ign) gazebo-1] [Msg] Loaded level [3] [ruby $(which ign) gazebo-1] [Msg] Serving world controls on [/world/empty/control], [/world/empty/control/state] and [/world/empty/playback/control] [ruby $(which ign) gazebo-1] [Msg] Serving GUI information on [/world/empty/gui/info] [ruby $(which ign) gazebo-1] [Msg] World [empty] initialized with [1ms] physics profile. [ruby $(which ign) gazebo-1] [Msg] Serving world SDF generation service on [/world/empty/generate_world_sdf] [ruby $(which ign) gazebo-1] [Msg] Serving world names on [/gazebo/worlds] [ruby $(which ign) gazebo-1] [Msg] Resource path add service on [/gazebo/resource_paths/add]. [ruby $(which ign) gazebo-1] [Msg] Resource path get service on [/gazebo/resource_paths/get]. [create-3] [INFO] [1675263006.217760012] [ros_gz_sim]: Requested creation of entity. [create-3] [INFO] [1675263006.217812114] [ros_gz_sim]: OK creation of entity. [INFO] [create-3]: process has finished cleanly [pid 1155058] [INFO] [ros2-4]: process started with pid [1155134] [ruby $(which ign) gazebo-1] [INFO] [1675263006.920307121] [ignition_ros_control]: [ign_ros2_control] Fixed joint [world_to_base] (Entity=15)] is skipped [ruby $(which ign) gazebo-1] [INFO] [1675263006.921807654] [ignition_ros_control]: connected to service!! robot_state_publisher asking for robot_description [ruby $(which ign) gazebo-1] [INFO] [1675263006.922246452] [ignition_ros_control]: Received URDF from param server [ruby $(which ign) gazebo-1] [INFO] [1675263006.926828816] [ignition_ros_control]: Loading joint: slider_to_cart [ruby $(which ign) gazebo-1] [INFO] [1675263006.926848257] [ignition_ros_control]: State: [ruby $(which ign) gazebo-1] [INFO] [1675263006.926858005] [ignition_ros_control]: position [ruby $(which ign) gazebo-1] [INFO] [1675263006.926905496] [ignition_ros_control]: found initial value: -5.000000 [ruby $(which ign) gazebo-1] [INFO] [1675263006.926913277] [ignition_ros_control]: velocity [ruby $(which ign) gazebo-1] [INFO] [1675263006.926933040] [ignition_ros_control]: effort [ruby $(which ign) gazebo-1] [INFO] [1675263006.926942928] [ignition_ros_control]: Command: [ruby $(which ign) gazebo-1] [INFO] [1675263006.926947060] [ignition_ros_control]: position [ruby $(which ign) gazebo-1] [INFO] [1675263006.927433539] [resource_manager]: Initialize hardware 'IgnitionSystem' [ruby $(which ign) gazebo-1] [WARN] [1675263006.927442964] [ignition_ros_control]: On init... [ruby $(which ign) gazebo-1] [INFO] [1675263006.927604309] [resource_manager]: Successful initialization of hardware 'IgnitionSystem' [ruby $(which ign) gazebo-1] [INFO] [1675263006.927643097] [ignition_ros_control]: Loading controller_manager [ruby $(which ign) gazebo-1] [WARN] [1675263006.939326106] [ignition_ros_control]: Desired controller update period (0.01 s) is slower than the gazebo simulation period (0.001 s). [ruby $(which ign) gazebo-1] [INFO] [1675263007.076156142] [controller_manager]: Loading controller 'joint_state_broadcaster' [ruby $(which ign) gazebo-1] [INFO] [1675263007.089760367] [controller_manager]: Configuring controller 'joint_state_broadcaster' [ruby $(which ign) gazebo-1] [INFO] [1675263007.089878783] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published [ruby $(which ign) gazebo-1] [ERROR] [1675263007.104400708] [joint_state_broadcaster]: None of requested interfaces exist. Controller will not run. [ruby $(which ign) gazebo-1] [WARN] [1675263007.104440229] []: Error occurred while doing error handling. [ruby $(which ign) gazebo-1] [ERROR] [1675263007.104457272] [controller_manager]: After activating, controller 'joint_state_broadcaster' is in state 'unconfigured', expected Active [ros2-4] Sucessfully loaded controller joint_state_broadcaster into state active [INFO] [ros2-4]: process has finished cleanly [pid 1155134] [INFO] [ros2-5]: process started with pid [1155171] [ruby $(which ign) gazebo-1] [INFO] [1675263008.025939674] [controller_manager]: Loading controller 'joint_trajectory_controller' [ruby $(which ign) gazebo-1] [INFO] [1675263008.030003948] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE. [ruby $(which ign) gazebo-1] [INFO] [1675263008.039644914] [controller_manager]: Configuring controller 'joint_trajectory_controller' [ruby $(which ign) gazebo-1] [INFO] [1675263008.039716655] [joint_trajectory_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter. [ruby $(which ign) gazebo-1] [INFO] [1675263008.039736852] [joint_trajectory_controller]: Command interfaces are [position] and state interfaces are [position velocity]. [ruby $(which ign) gazebo-1] [INFO] [1675263008.039749101] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE. [ruby $(which ign) gazebo-1] [INFO] [1675263008.039751886] [joint_trajectory_controller]: Using 'splines' interpolation method. [ruby $(which ign) gazebo-1] [INFO] [1675263008.040439275] [joint_trajectory_controller]: Controller state will be published at 50.00 Hz. [ruby $(which ign) gazebo-1] [INFO] [1675263008.041057879] [joint_trajectory_controller]: Action status changes will be monitored at 20.00 Hz. [ruby $(which ign) gazebo-1] [ERROR] [1675263008.053879538] [controller_manager]: Can't activate controller 'joint_trajectory_controller': Command interface with 'slider_to_cart/position' does not exist [ros2-5] Sucessfully loaded controller joint_trajectory_controller into state active [ruby $(which ign) gazebo-1] _IceTransSocketUNIXConnect: Cannot connect to non-local host azazdeaz-Laptop [INFO] [ros2-5]: process has finished cleanly [pid 1155171] [ruby $(which ign) gazebo-1] _IceTransSocketUNIXConnect: Cannot connect to non-local host azazdeaz-Laptop [ruby $(which ign) gazebo-1] Qt: Session management error: Could not open network socket [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:/qml/StyleDialog.qml:112:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:/qml/StyleDialog.qml:105:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:/qml/StyleDialog.qml:98:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:qml/Main.qml:102:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] qrc:/qml/PluginMenu.qml:27:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Gazebo/GazeboDrawer.qml:241:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Gazebo/GazeboDrawer.qml:147:3: QML Dialog: Binding loop detected for property "implicitHeight" [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Gazebo/GazeboDrawer.qml:147:3: QML Dialog: Binding loop detected for property "implicitHeight" [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:57:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [Wrn] [Component.hh:144] Trying to serialize component with data type [N3sdf3v125WorldE], which doesn't have `operator<<`. Component will not be serialized. [ruby $(which ign) gazebo-1] [Msg] Resource path resolve service on [/gazebo[Msg] Ignition Gazebo GUI v6.14.0 [ruby $(which ign) gazebo-1] [Dbg] [Gui.cc:253] Waiting for subscribers to [/gazebo/starting_world]... [ruby $(which ign) gazebo-1] [Dbg] [Application.cc:92] Initializing application. [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:555] Create main window [ruby $(which ign) gazebo-1] [GUI] [Dbg] [PathManager.cc:66] Requesting resource paths through [/gazebo/resource_paths/get] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Gui.cc:333] GUI requesting list of world names. The server may be busy downloading resources. Please be patient. [ruby $(which ign) gazebo-1] [GUI] [Dbg] [PathManager.cc:55] Received resource paths. [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Gui.cc:391] Requesting GUI from [/world/empty/gui/info]... [ruby $(which ign) gazebo-1] [GUI] [Dbg] [GuiRunner.cc:145] Requesting initial state from [/world/empty/state]... [ruby $(which ign) gazebo-1] [GUI] [Msg] Loading config [/home/azazdeaz/.ignition/gazebo/6/gui.config] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [MinimalScene] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [3D View] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [MinimalScene] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libMinimalScene.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [EntityContextMenuPlugin] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Entity Context Menu] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [EntityContextMenuPlugin] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libEntityContextMenuPlugin.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [GzSceneManager] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Scene Manager] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [GzSceneManager] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libGzSceneManager.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [InteractiveViewControl] [ruby $(which ign) gazebo-1] [GUI] [Msg] Camera view controller topic advertised on [/gui/camera/view_control] [ruby $(which ign) gazebo-1] [GUI] [Msg] Camera reference visual topic advertised on [/gui/camera/view_control/reference_visual] [ruby $(which ign) gazebo-1] [GUI] [Msg] Camera view control sensitivity advertised on [/gui/camera/view_control/sensitivity] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Interactive view control] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [InteractiveViewControl] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libInteractiveViewControl.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [CameraTracking] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Camera tracking] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [CameraTracking] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libCameraTracking.so] [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Spawn/Spawn.qml:32:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/WorldControl/WorldControl.qml:30:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [MarkerManager] [ruby $(which ign) gazebo-1] [GUI] [Msg] Listening to stats on [/world/empty/stats] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Marker Manager] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [MarkerManager] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libMarkerManager.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [SelectEntities] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Select entities] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [SelectEntities] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libSelectEntities.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [Spawn] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Spawn] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [Spawn] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libSpawn.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [VisualizationCapabilities] [ruby $(which ign) gazebo-1] [GUI] [Msg] View as transparent service on [/gui/view/transparent] [ruby $(which ign) gazebo-1] [GUI] [Msg] View as wireframes service on [/gui/view/wireframes] [ruby $(which ign) gazebo-1] [GUI] [Msg] View center of mass service on [/gui/view/com] [ruby $(which ign) gazebo-1] [GUI] [Msg] View inertia service on [/gui/view/inertia] [ruby $(which ign) gazebo-1] [GUI] [Msg] View collisions service on [/gui/view/collisions] [ruby $(which ign) gazebo-1] [GUI] [Msg] View joints service on [/gui/view/joints] [ruby $(which ign) gazebo-1] [GUI] [Msg] View frames service on [/gui/view/frames] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Visualization capabilities] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [VisualizationCapabilities] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libVisualizationCapabilities.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [WorldControl] [ruby $(which ign) gazebo-1] [GUI] [Msg] Using world control service [/world/empty/control] [ruby $(which ign) gazebo-1] [GUI] [Msg] Listening to stats on [/world/empty/stats] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [WorldControl.cc:246] Using an event to share WorldControl msgs with the server [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [World control] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [WorldControl] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libWorldControl.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [WorldStats] [ruby $(which ign) gazebo-1] [GUI] [Msg] Listening to stats on [/world/empty/stats] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [World stats] to main window [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:104:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:99:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:94:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:89:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityTree/EntityTree.qml:148:7: QML ToolButton: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Component.hh:189] Trying to deserialize component with data type [N3sdf3v125WorldE], which doesn't have `operator>>`. Component will not be deserialized. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/WorldStats/WorldStats.qml:53:3: QML RowLayout: Binding loop detected for property "x" [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:52:3: QML RenderWindowOverlay: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/EntityContextMenuPlugin/EntityContextMenuPlugin.qml:67:3: QML EntityContextMenu: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. [ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Gazebo/GazeboDrawer.qml:147:3: QML Dialog: Binding loop detected for property "implicitHeight" [ruby $(which ign) gazebo-1] ../src/intel/isl/isl.c:2220: FINISHME: ../src/intel/isl/isl.c:isl_surf_supports_ccs: CCS for 3D textures is disabled, but a workaround is available. [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [WorldStats] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libWorldStats.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [Shapes] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Shapes] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [Shapes] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libShapes.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [Lights] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Lights] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [Lights] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libLights.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [TransformControl] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [TransformControl.cc:219] Legacy mode is disabled; this plugin must be used with MinimalScene. [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Transform control] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [TransformControl] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libTransformControl.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [Screenshot] [ruby $(which ign) gazebo-1] [GUI] [Msg] Screenshot service on [/gui/screenshot] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Screenshot] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [Screenshot] from path [/usr/lib/x86_64-linux-gnu/ign-gui-6/plugins/libScreenshot.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [CopyPaste] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Copy/Paste] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [CopyPaste] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libCopyPaste.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [ComponentInspector] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Component inspector] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [ComponentInspector] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libComponentInspector.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:426] Loading plugin [EntityTree] [ruby $(which ign) gazebo-1] [GUI] [Msg] Added plugin [Entity tree] to main window [ruby $(which ign) gazebo-1] [GUI] [Msg] Loaded plugin [EntityTree] from path [/usr/lib/x86_64-linux-gnu/ign-gazebo-6/plugins/gui/libEntityTree.so] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:296] Loading window config [ruby $(which ign) gazebo-1] [GUI] [Msg] Using server control service [/server_control] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [Application.cc:569] Applying config [ruby $(which ign) gazebo-1] [GUI] [Msg] Loading plugin [ignition-rendering-ogre2] [ruby $(which ign) gazebo-1] [GUI] [Dbg] [MinimalScene.cc:602] Create scene [scene] [ruby $(which ign) gazebo-1] [GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
$ ros2 run ign_ros2_control_demos example_position
node created
Created action server
Goal rejected
[ERROR] [1675264257.441733831] [trajectory_test_node]: send goal call ok :)
[ERROR] [1675264257.441800805] [trajectory_test_node]: Goal was rejected by server
cannot publish data, at ./src/rmw_publish.cpp:62 during '__function__'
[ERROR] [1675264257.544083616] [trajectory_test_node.rclcpp]: Error in destruction of rcl subscription handle: Failed to delete datareader, at ./src/subscription.cpp:52, at ./src/rcl/subscription.c:183
cannot publish data, at ./src/rmw_publish.cpp:62 during '__function__'
Fail in delete datareader, at ./src/rmw_service.cpp:104 during '__function__'
[ros2run]: Segmentation fault
osrf/ros:humble-desktop
Docker image running in Distroboxhttps://github.com/ros-controls/gz_ros2_control
humble
branch b0c29c2ros2 control
outputs:$ ros2 control list_controllers
joint_state_broadcaster[joint_state_broadcaster/JointStateBroadcaster] unconfigured
joint_trajectory_controller[joint_trajectory_controller/JointTrajectoryController] inactive
$ ros2 control list_controller_types
controller_manager/test_controller controller_interface::ControllerInterface
controller_manager/test_controller_failed_init controller_interface::ControllerInterface
controller_manager/test_controller_with_interfaces controller_interface::ControllerInterface
diff_drive_controller/DiffDriveController controller_interface::ControllerInterface
effort_controllers/GripperActionController controller_interface::ControllerInterface
effort_controllers/JointGroupEffortController controller_interface::ControllerInterface
forward_command_controller/ForwardCommandController controller_interface::ControllerInterface
forward_command_controller/MultiInterfaceForwardCommandController controller_interface::ControllerInterface
imu_sensor_broadcaster/IMUSensorBroadcaster controller_interface::ControllerInterface
joint_state_broadcaster/JointStateBroadcaster controller_interface::ControllerInterface
joint_trajectory_controller/JointTrajectoryController controller_interface::ControllerInterface
position_controllers/GripperActionController controller_interface::ControllerInterface
tricycle_controller/TricycleController controller_interface::ControllerInterface
velocity_controllers/JointGroupVelocityController controller_interface::ControllerInterface
controller_manager/test_chainable_controller controller_interface::ChainableControllerInterface
$ IGNITION_VERSION=fortress colcon build --symlink-install Starting >>> ign_ros2_control [0.220s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/azazdeaz/repos/temp/gz-ros2-controls-ws/install/ign_ros2_control' in the environment variable AMENT_PREFIX_PATH doesn't exist [0.220s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/azazdeaz/repos/temp/gz-ros2-controls-ws/install/ign_ros2_control_demos' in the environment variable AMENT_PREFIX_PATH doesn't exist [0.221s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/azazdeaz/repos/temp/gz-ros2-controls-ws/install/ign_ros2_control' in the environment variable CMAKE_PREFIX_PATH doesn't exist [0.221s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/azazdeaz/repos/temp/gz-ros2-controls-ws/install/ign_ros2_control_demos' in the environment variable CMAKE_PREFIX_PATH doesn't exist --- stderr: ign_ros2_control /home/azazdeaz/repos/temp/gz-ros2-controls-ws/src/gz_ros2_control/ign_ros2_control/src/ign_system.cpp: In member function ‘virtual hardware_interface::return_type ign_ros2_control::IgnitionSystem::read(const rclcpp::Time&, const rclcpp::Duration&)’: /home/azazdeaz/repos/temp/gz-ros2-controls-ws/src/gz_ros2_control/ign_ros2_control/src/ign_system.cpp:407:24: warning: unused parameter ‘time’ [-Wunused-parameter] 407 | const rclcpp::Time & time, | ~~~~~~~~~~~~~~~~~~~~~^~~~ /home/azazdeaz/repos/temp/gz-ros2-controls-ws/src/gz_ros2_control/ign_ros2_control/src/ign_system.cpp:408:28: warning: unused parameter ‘period’ [-Wunused-parameter] 408 | const rclcpp::Duration & period) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ /home/azazdeaz/repos/temp/gz-ros2-controls-ws/src/gz_ros2_control/ign_ros2_control/src/ign_system.cpp: In member function ‘virtual hardware_interface::return_type ign_ros2_control::IgnitionSystem::write(const rclcpp::Time&, const rclcpp::Duration&)’: /home/azazdeaz/repos/temp/gz-ros2-controls-ws/src/gz_ros2_control/ign_ros2_control/src/ign_system.cpp:452:24: warning: unused parameter ‘time’ [-Wunused-parameter] 452 | const rclcpp::Time & time, | ~~~~~~~~~~~~~~~~~~~~~^~~~ /home/azazdeaz/repos/temp/gz-ros2-controls-ws/src/gz_ros2_control/ign_ros2_control/src/ign_system.cpp:453:28: warning: unused parameter ‘period’ [-Wunused-parameter] 453 | const rclcpp::Duration & period) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ --- Finished <<< ign_ros2_control [11.1s] Starting >>> ign_ros2_control_demos Finished <<< ign_ros2_control_demos [4.89s]Summary: 2 packages finished [16.1s]
1 package had stderr output: ign_ros2_control
[INFO] [launch]: Default logging verbosity is set to INFO
ign_args is deprecated, migrate to gz_args!
[INFO] [ruby $(which ign) gazebo-1]: process started with pid [967136]
[INFO] [robot_state_publisher-2]: process started with pid [967139]
[INFO] [create-3]: process started with pid [967141]
[create-3] [ros_ign_gazebo] is deprecated! Redirecting to use [ros_gz_sim] instead!
[create-3]
[create-3] sh: 1: Syntax error: redirection unexpected
[INFO] [create-3]: process has finished cleanly [pid 967141]
ros_ign_gazebo
with ros_gz_sim
in the launch file.[ros2-5] ros2 control load_controller: error: argument --set-state: invalid choice: 'start' (choose from 'configured', 'active')
start
with active
in the ros2 control load_controller --set-state start
callsThanks in advance for any help!
I'm trying to run two different robots simultaneously in Fortress (ROS2 Humble) using ign_ros2_control
. Each robot is namespaced and launches its own instance of the ign_ros2_control
plugin, and both a Diff Drive controller and Joint State Broadcaster. Each robot has its own namespaced parameter file for the controllers. The nodes and topics are all being namespaced correctly, but the issue I am seeing is that when I spawn the second robot, the controller manager seems to be loading the parameter file of the first robot.
Each robot defines the plugin like so:
<gazebo>
<plugin filename="libign_ros2_control-system.so" name="ign_ros2_control::IgnitionROS2ControlPlugin">
<parameters>/path/to/robot/param.yaml</parameters>
<ros>
<remapping>~/odom:=platform/odom</remapping>
<remapping>~/cmd_vel_unstamped:=platform/cmd_vel_unstamped</remapping>
<remapping>/tf:=tf</remapping>
<remapping>/tf_static:=tf_static</remapping>
<remapping>/diagnostics:=diagnostics</remapping>
<remapping>joint_states:=platform/joint_states</remapping>
<namespace>robot_namespace</namespace>
</ros>
</plugin>
</gazebo>
The parameter file path and namespace is unique to each robot.
If I add the parameters of both robots to the parameter file of the first, then everything loads and runs well. Similarly, if I use the /**
wildcard for the namespace in the parameter file, then both robots will load the first robots parameters.
Is there a workaround to this issue?
Add IMU as a separate plugin of ros2_control
hardware interface
Hi everyone, I tried to build the foxy branch, i'm using Ignition Citadel, and did not receive any kind of error.
However when starting the demo with the launch command
ros2 launch ign_ros2_control_demos cart_example_position.launch.py
The cart is displayed on the ignition screen and to confirm that everything seems to be working I ran the following commands:
ros2 control list_hardware_interfaces
command interfaces
slider_to_cart/position [claimed].
state interfaces
slider_to_cart/effort
slider_to_cart/position
slider_to_cart/velocity
ros2 control list_controllers
joint_state_broadcaster[joint_state_broadcaster/JointStateBroadcaster] active
joint_trajectory_controller[joint_trajectory_controller/JointTrajectoryController] active
Trying to execute the position control, however, the following errors appear and the cart does not perform any movement:
ros2 run ign_ros2_control_demos example_position
node created
Created action server
Goal accepted
[ERROR] [1686303415.769124122] [trajectory_test_node]: send goal call ok :)
[ERROR] [1686303415.769323340] [trajectory_test_node]: Goal was accepted by server
[INFO] [1686303415.769373139] [trajectory_test_node]: Waiting for result
feedback->desired.positions :0
feedback->desired.velocities :-1
and indefinitely the terminal shows
feedback->desired.positions :0
feedback->desired.velocities :-1
feedback->desired.positions :0
feedback->desired.velocities :-1
feedback->desired.positions :0
feedback->desired.velocities :-1
feedback->desired.positions :0
feedback->desired.velocities :-1
until the code stops, which displays this error:
^C[INFO] [1686303422.765100019] [rclcpp]: signal_handler(signal_value=2)
[ERROR] [1686303422.766838302] [trajectory_test_node]: get result call failed :(
Any suggestions for making the position control work?
Off Topic question: how can I manually send commands to the controller to test that controller works properly?
Hi,
When launching the gz_ros2_control_demos (all of them), I get the following error :
[ruby $(which gz) sim-1] Library [/patch_ws/install/gz_ros2_control/lib/libgz_ros2_control-system.so] does not export any plugins. The symbol [GzPluginHook] is missing, or it is not externally visible. [ruby $(which gz) sim-1] [Err] [SystemLoader.cc:140] Failed to load system plugin: (Reason: No plugins detected in library) [ruby $(which gz) sim-1] - Requested plugin name: [gz_ros2_control::GazeboSimROS2ControlPlugin] [ruby $(which gz) sim-1] - Requested library name: [gz_ros2_control-system] [ruby $(which gz) sim-1] - Resolved library path: [/patch_ws/install/gz_ros2_control/lib/libgz_ros2_control-system.so] [ruby $(which gz) sim-1] [Wrn] [Component.hh:144] Trying to serialize component with data type [N3sdf3v135WorldE], which doesn't have
operator<<. Component will not be serialized. [ruby $(which gz) sim-1] [GUI] [Wrn] [Component.hh:189] Trying to deserialize component with data type [N3sdf3v135WorldE], which doesn't have
operator>>. Component will not be deserialized. [ros2-4] Could not contact service /controller_manager/load_controller [ERROR] [ros2-4]: process has died [pid 104763, exit code 1, cmd 'ros2 control load_controller --set-state active joint_state_broadcaster']. [INFO] [ros2-5]: process started with pid [104882]
I am using ROS2 Rolling and GZ Sim Garden in a docker in Ubuntu 22.04. I can't explained why the issue came on from one-to another week.
I've tried rebuilding the docker with latest rolling image and rebuilt gz_ros2_control (master) following the readme instructions.
Any idea where this default come from ?
(I'm using the directory "patch_ws" to build the latest version of ros_gz and gz_ros2_control and "ros2_ws" for my own packages. Of course, I source both directory's install/setup.bash when using the roslaunches.
As a consequence, the controller_manager won't load.
`
Up until yesterday I quietly built the package without any errors. This morning I updated some packages via ubuntu software updater and the error came out.
Starting >>> ignition_ros2_control
--- stderr: ignition_ros2_control
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libignition-common4-profiler.so.4.2.0', needed by 'libignition_hardware_plugins.so'. Stop.
make[1]: *** [CMakeFiles/Makefile2:80: CMakeFiles/ignition_hardware_plugins.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libignition-common4-profiler.so.4.2.0', needed by 'libignition_ros2_control-system.so'. Stop.
make[1]: *** [CMakeFiles/Makefile2:107: CMakeFiles/ignition_ros2_control-system.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
---
Failed <<< ignition_ros2_control [0.25s, exited with code 2]
Check this out:
if (this->dataPtr->joints_[i].joint_control_method & VELOCITY) {
...
*jointVelCmd = ignition::gazebo::components::JointVelocityCmd(
{this->dataPtr->joints_[i].joint_velocity_cmd});
}
}
if (this->dataPtr->joints_[i].joint_control_method & POSITION) {
...
vel->Data()[0] = targetVel;
}
}
if (this->dataPtr->joints_[i].joint_control_method & EFFORT) {
...
*jointEffortCmd = ignition::gazebo::components::JointForceCmd(
{this->dataPtr->joints_[i].joint_effort_cmd});
}
}
}
There are some issues:
Related to #87
I simply ran the docker file in this repo with docker build .
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
ign_ros2_control_demos: No definition of [ament_lint_common] for OS version [focal]
ign_ros2_control: No definition of [ament_lint_common] for OS version [focal]
The command '/bin/sh -c mkdir -p /home/ros2_ws/src && cd /home/ros2_ws/src && git clone https://github.com/ros-controls/gz_ros2_control/ && rosdep init && rosdep update && rosdep install --from-paths ./ -i -y --rosdistro rolling' returned a non-zero code: 1
OS Version: Ubuntu 20.04
Foxy
Ign Citadel
[ign gazebo-1] [GUI] [Msg] Added plugin [Component inspector] to main window
[ign gazebo-1] [GUI] [Wrn] [Application.cc:669] [QT] file::/ComponentInspector/Physics.qml:89:5: QML Image: Cannot open: file::/ComponentInspector/plottable_icon.svg
[ign gazebo-1] [GUI] [Wrn] [Application.cc:669] [QT] file::/ComponentInspector/Physics.qml:89:5: QML Image: Cannot open: file::/ComponentInspector/plottable_icon.svg
[ign gazebo-1] [GUI] [Wrn] [Application.cc:669] [QT] file::/Gazebo/GazeboDrawer.qml:178:3: QML Dialog: Binding loop detected for property "implicitHeight"
[ros2-4] Could not contact service /controller_manager/load_controller
[ERROR] [ros2-4]: process has died [pid 230029, exit code 1, cmd 'ros2 control load_controller --set-state start joint_state_broadcaster'].
[INFO] [ros2-5]: process started with pid [235762]
[ros2-5] Could not contact service /controller_manager/load_controller
[ERROR] [ros2-5]: process has died [pid 235762, exit code 1, cmd 'ros2 control load_controller --set-state start joint_trajectory_controller'].
When I run ros2 launch ignition_ros2_control_demos cart_example_position.launch.py
I get the result where the controller manager isn't load.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.