See the Franka Control Interface (FCI) documentation for more information.
All packages of franka_ros2
are licensed under the Apache 2.0 license.
ROS 2 integration for Franka research robots
Home Page: https://frankaemika.github.io/docs/franka_ros2.html
License: Apache License 2.0
See the Franka Control Interface (FCI) documentation for more information.
All packages of franka_ros2
are licensed under the Apache 2.0 license.
Hello,
Ive had it a few times now that my colcon build task fails with a segmentation fault upon building franka_example_controllers. I'm not quite sure if this is the correct point in stack to log this error, if not, please let me know where would be more suitable.
Relevant colcon build
output:
--- stderr: franka_example_controllers
In file included from /usr/include/eigen3/Eigen/Core:281,
from /usr/include/eigen3/Eigen/Dense:1,
from /usr/include/eigen3/Eigen/Eigen:1,
from /fog_ws/src/miti-ros/src/franka_ros2/franka_example_controllers/include/franka_example_controllers/joint_impedance_example_controller.hpp:19,
from /fog_ws/src/miti-ros/src/franka_ros2/franka_example_controllers/src/joint_impedance_example_controller.cpp:15:
/usr/include/c++/9/functional: In instantiation of 'std::_Bind<_Functor(_Bound_args ...)>::_Bind(std::_Bind<_Functor(_Bound_args ...)>&&) [with _Functor = std::function<void(long unsigned int)>; _Bound_args = {std::_Placeholder<1>}]':
/usr/include/c++/9/bits/std_function.h:252:39: required from 'static void std::_Function_base::_Base_manager<_Functor>::_M_init_functor(std::_Any_data&, _Functor&&, std::false_type) [with _Functor = std::_Bind<std::function<void(long unsigned int)>(std::_Placeholder<1>)>; std::false_type = std::integral_constant<bool, false>]'
/usr/include/c++/9/bits/std_function.h:223:19: required from 'static void std::_Function_base::_Base_manager<_Functor>::_M_init_functor(std::_Any_data&, _Functor&&) [with _Functor = std::_Bind<std::function<void(long unsigned int)>(std::_Placeholder<1>)>]'
/usr/include/c++/9/bits/std_function.h:675:34: required from 'std::function<_Res(_ArgTypes ...)>::function(_Functor) [with _Functor = std::_Bind<std::function<void(long unsigned int)>(std::_Placeholder<1>)>; <template-parameter-2-2> = void; <template-parameter-2-3> = void; _Res = void; _ArgTypes = {long unsigned int, int}]'
/opt/ros/humble/rclcpp/include/rclcpp/rclcpp/publisher_base.hpp:298:94: required from here
/usr/include/c++/9/functional:474:9: internal compiler error: Segmentation fault
474 | { }
| ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-9/README.Bugs> for instructions.
make[2]: *** [CMakeFiles/franka_example_controllers.dir/build.make:90: CMakeFiles/franka_example_controllers.dir/src/joint_impedance_example_controller.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/franka_example_controllers.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
---
Failed <<< franka_example_controllers [1min 7s, exited with code 2]
Hi, I'm not able to run the default joint_position_example_controller
with ubuntu realtime kernel, but it's working when I'm using a non-realtime one. I'm not sure whether it will reproduce the error but here's the settings on my side:
ros2 launch franka_bringup joint_position_example_controller.launch.py robot_ip:=172.16.0.2
ROS
version: humblefranka_ros2
version: https://github.com/frankaemika/franka_ros2/tree/846faec5b13d051311169f6c14543cd4a805ce1dlibfranka
version: https://github.com/frankaemika/libfranka/tree/64b0314518ba28110e5559669a6bb310087ddc0cHere's the error log:
[ros2_control_node-3] terminate called after throwing an instance of 'franka::ControlException'
[ros2_control_node-3] what(): libfranka: Move command aborted: motion aborted by reflex! ["joint_motion_generator_velocity_discontinuity", "joint_motion_generator_acceleration_discontinuity"]
[ros2_control_node-3] Stack trace (most recent call last) in thread 13897:
[ros2_control_node-3] #18 Object "", at 0xffffffffffffffff, in
[ros2_control_node-3] #17 Source "../sysdeps/unix/sysv/linux/x86_64/clone3.S", line 81, in __clone3 [0x7f4eec90384f]
[ros2_control_node-3] #16 Source "./nptl/pthread_create.c", line 442, in start_thread [0x7f4eec871ac2]
[ros2_control_node-3] #15 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f4eecb02252, in
[ros2_control_node-3] #14 Object "/opt/ros/humble/lib/controller_manager/ros2_control_node", at 0x562a936b2800, in
[ros2_control_node-3] #13 Object "/opt/ros/humble/lib/libcontroller_manager.so", at 0x7f4eecf0b6f4, in controller_manager::ControllerManager::read(rclcpp::Time const&, rclcpp::Duration const&)
[ros2_control_node-3] #12 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0x7f4eec71069c, in hardware_interface::ResourceManager::read(rclcpp::Time const&, rclcpp::Duration const&)
[ros2_control_node-3] #11 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0x7f4eec72de8f, in hardware_interface::System::read(rclcpp::Time const&, rclcpp::Duration const&)
[ros2_control_node-3] #10 Object "/workspace/codes/cc_control_ws/build/franka_hardware/libfranka_hardware.so", at 0x7f4ee57cb521, in franka_hardware::FrankaHardwareInterface::read(rclcpp::Time const&, rclcpp::Duration const&)
[ros2_control_node-3] #9 Object "/workspace/codes/cc_control_ws/build/franka_hardware/libfranka_hardware.so", at 0x7f4ee57ddc42, in franka_hardware::Robot::readOnce()
[ros2_control_node-3] #8 Object "/usr/lib/libfranka.so.0.13.3", at 0x7f4ee57234d7, in franka::ActiveControl::readOnce()
[ros2_control_node-3] #7 Object "/usr/lib/libfranka.so.0.13.3", at 0x7f4ee5721d98, in franka::Robot::Impl::throwOnMotionError(franka::RobotState const&, unsigned int) [clone .cold]
[ros2_control_node-3] #6 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f4eecad44d7, in __cxa_throw
[ros2_control_node-3] #5 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f4eecad4276, in std::terminate()
[ros2_control_node-3] #4 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f4eecad420b, in
[ros2_control_node-3] #3 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f4eecac8b9d, in
[ros2_control_node-3] #2 Source "./stdlib/abort.c", line 79, in abort [0x7f4eec8057f2]
[ros2_control_node-3] #1 Source "../sysdeps/posix/raise.c", line 26, in raise [0x7f4eec81f475]
[ros2_control_node-3] #0 | Source "./nptl/pthread_kill.c", line 89, in __pthread_kill_internal
[ros2_control_node-3] | Source "./nptl/pthread_kill.c", line 78, in __pthread_kill_implementation
[ros2_control_node-3] Source "./nptl/pthread_kill.c", line 44, in __pthread_kill [0x7f4eec8739fc]
[ros2_control_node-3] Aborted (Signal sent by tkill() 13840 1001)
[INFO] [spawner-5]: process has finished cleanly [pid 13844]
I've make sure that all the build are in release mode, so should have the best performance.
Is there any plan for support of the Franka Emika Robot for ROS 2 humble,and it's compatible libfranka v0.9.2 ?
To implement a joint position controller (which accepts a topic input), we need to be able to read the current state of the robot. To do this, I added the "/position" interface to the configure_state_interfaces
method, as shown here. When I do so, I get the following error.
If we cannot read and write to the same hardware interfaces, I think we can add one extra topic input to the controller which accepts the published robot state. Still, I think the optimal solution is reading the state directly from the hardware interface. Is this supported?
$ ros2 launch franka_bringup joint_position_example_controller.launch.py robot_ip:=${IP}
[spawner-5] [INFO] [1711125035.965050119] [spawner_franka_robot_state_broadcaster]: Configured and activated franka_robot_state_broadcaster
[spawner-7] [INFO] [1711125035.969229936] [spawner_joint_position_example_controller]: Configured and activated joint_position_example_controller
[spawner-4] [INFO] [1711125035.971297980] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster
[ros2_control_node-3] terminate called after throwing an instance of 'franka::ControlException'
[ros2_control_node-3] what(): libfranka: Move command aborted: motion aborted by reflex! ["joint_motion_generator_acceleration_discontinuity"]
[ros2_control_node-3] Stack trace (most recent call last) in thread 845:
[ros2_control_node-3] #19 Object "", at 0xffffffffffffffff, in
[ros2_control_node-3] #18 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7ff0ad13f84f, in
[ros2_control_node-3] #17 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7ff0ad0adac2, in
[ros2_control_node-3] #16 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7ff0ad33e252, in
[ros2_control_node-3] #15 Object "/opt/ros/humble/lib/controller_manager/ros2_control_node", at 0x55c0f40f7800, in
[ros2_control_node-3] #14 Object "/opt/ros/humble/lib/libcontroller_manager.so", at 0x7ff0ad74a2d4, in controller_manager::ControllerManager::read(rclcpp::Time const&, rclcpp::Duration const&)
[ros2_control_node-3] #13 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0x7ff0acf4e69c, in hardware_interface::ResourceManager::read(rclcpp::Time const&, rclcpp::Duration const&)
[ros2_control_node-3] #12 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0x7ff0acf6be8f, in hardware_interface::System::read(rclcpp::Time const&, rclcpp::Duration const&)
[ros2_control_node-3] #11 Object "/workspaces/bdai/_build/build/franka_hardware/libfranka_hardware.so", at 0x7ff092f27cb8, in franka_hardware::FrankaHardwareInterface::read(rclcpp::Time const&, rclcpp::Duration const&)
[ros2_control_node-3] #10 Object "/workspaces/bdai/_build/build/franka_hardware/libfranka_hardware.so", at 0x7ff092f441a4, in franka_hardware::Robot::readOnce()
[ros2_control_node-3] #9 Object "/workspaces/bdai/_build/build/franka_hardware/libfranka_hardware.so", at 0x7ff092f4557f, in franka_hardware::Robot::readOnceActiveControl()
[ros2_control_node-3] #8 Object "/usr/lib/libfranka.so.0.13.2", at 0x7ff092c91527, in franka::ActiveControl::readOnce()
[ros2_control_node-3] #7 Object "/usr/lib/libfranka.so.0.13.2", at 0x7ff092c8fde2, in franka::Robot::Impl::throwOnMotionError(franka::RobotState const&, unsigned int) [clone .cold]
[ros2_control_node-3] #6 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7ff0ad3104d7, in __cxa_throw
[ros2_control_node-3] #5 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7ff0ad310276, in std::terminate()
[ros2_control_node-3] #4 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7ff0ad31020b, in
[ros2_control_node-3] #3 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7ff0ad304b9d, in
[ros2_control_node-3] #2 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7ff0ad0417f2, in abort
[ros2_control_node-3] #1 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7ff0ad05b475, in raise
[ros2_control_node-3] #0 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7ff0ad0af9fc, in pthread_kill
[ros2_control_node-3] Aborted (Signal sent by tkill() 750 770001474)
How to solve the problem? I tried to modify urdf, but could you solve the problem due to joint limitations
Hello, I got some problem with setup and test the test in Moveit RViz.
In RViz, I cannot see any model, and the terminal shows lots of warn and Error. Such like:
[rviz2-1] [ERROR] [1714078878.830273830] [moveit_background_processing.background_processing]: Exception caught while processing action 'loadRobotModel': parameter 'panda_arm.kinematics_solver_timeout' has invalid type: Wrong parameter type, parameter {panda_arm.kinematics_solver_timeout} is of type {double}, setting it to {string} is not allowed.
[rviz2-1] [WARN] [1714078875.051494350] [moveit_robot_model.robot_model]: Link panda_leftfinger has visual geometry but no collision geometry. Collision geometry will be left empty. Fix your URDF file by explicitly specifying collision geometry.
I will past the picture under. Since I do follow the tutorial to setup, is there any change I should do in the code? Hope you could help me to figure out.
The package.xml file is missing the line
<depend>control_toolbox</depend>
for the joint_effot_trajectory_controller package.
On a side note, is this package still relevant?
BTW: I am building ros2 galactic from source (foxy vs. galactic should not matter in this issue context).
Is there a technical reason why so little of the franka_ros1 functionality has been ported over to ros2? Why are only the effort controllers available?
Thanks and apologies if this is obvious/described elsewhere.
HI, I try to use franka_ros2 on Ubuntu 22.04, which only support ROS2 Humble. However, I encounter errors when I try to build this repo and it seems that currently ROS2 Humble is not supported. Are there any plan to support ROS2 Humble? Thank you! (I have to use Ubuntu 22.04 because my new computer hardware only supports Ubuntu 22.04, which is sad...)
The franka_ros
documentation specifies an ErrorRecoveryAction
which can be used to restart controller nodes after an error or reflex. Is there a similar mechanism in franka_ros2
? I do not see any mention of error recovery in the ROS2 documentation.
Morning,
I'm a robotics engineer who starts to work on ROS2. I would like to setup a simulation of the Franka Robot by using ignition gazebo.
I was wondering when it will be available a franka hw sim also on franka ros2, and not only on franka ros.
Thank you very much for the support.
Best regards,
Stefano
We have tried to use the position command interface, but found strange motion generation exceptions. We posted to #52, and learned about the libfranka
bug which requires reading from initial_joint_position
. After applying that fix, we still have been unable to use the position command interface, and I believe we now have a repeatable demo which shows this issue. Commanding any change in (initial) position with a magnitude of 1e-5
radians or larger results in motion generation and control exceptions. This sensitivity is preventing us from using the position interface at all, unfortunately. This change in position, 0.00001 rad, seems to be well within the acceleration limits specified in the libfranka
documentation.
I have forked humble
, and changed the relevant line in joint_position_example_controller.cpp
to highlight this issue. If you run that example, with my modification applied, you should immediately see a Franka control exception without any arm motion.
It would be nice to have an official release per libfranka version.
Also was sorry to hear the news about Franka Emika, hoping the the company will pull through into a strong future ❤️🤖.
Hi,
I am running the Franka ROS1 packages and using a bridge to get the messages in ROS2.
If I would like to write a ROS2 python node that subscribes to the topic /franka_state_controller/franka_states
of type FrankaState
, what would be the best way to import this message definition and dependency? I'm trying to do the following right now:
from franka_msgs.msg import FrankaState
Thank you,
Oliver
Hello,
Because of circunstances I have ros Iron installed and I tried to install franka_ros2 even if humble is the recommended one. So, I followed the steps in the tutorial adapting the steps to iron:
https://support.franka.de/docs/franka_ros2.html
sudo apt install -y libpoco-dev libeigen3-dev
git clone https://github.com/frankaemika/libfranka.git --recursive
cd libfranka
git switch 0.11.0
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF ..
cmake --build . -j$(nproc)
cpack -G DEB
sudo dpkg -i libfranka-0.9.2-x86_64.deb
sudo apt install -y ros-iron-hardware-interface ros-iron-generate-parameter-library ros-iron-ros2-control-test-assets ros-iron-controller-manager ros-iron-control-msgs ros-iron-xacro ros-iron-angles ros-iron-ros2-control ros-iron-realtime-tools ros-iron-control-toolbox ros-iron-moveit ros-iron-ros2-controllers ros-iron-joint-state-publisher ros-iron-joint-state-publisher-gui ros-iron-ament-cmake ros-iron-ament-cmake-clang-format python3-colcon-common-extensions
mkdir -p ~/franka_ros2_ws/src
source /opt/ros/iron/setup.bash
cd ~/franka_ros2_ws
git clone https://github.com/frankaemika/franka_ros2.git src/franka_ros2
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
source install/setup.sh
But somehow fails in joint_trayectory_controller and aborts franka_msgs. Can someone help me with this issue?
`colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
source install/setup.sh
Cloning into 'src/franka_ros2'...
remote: Enumerating objects: 2149, done.
remote: Counting objects: 100% (692/692), done.
remote: Compressing objects: 100% (161/161), done.
remote: Total 2149 (delta 583), reused 585 (delta 525), pack-reused 1457
Receiving objects: 100% (2149/2149), 4.06 MiB | 2.01 MiB/s, done.
Resolving deltas: 100% (1262/1262), done.
[1.518s] WARNING:colcon.colcon_core.package_selection:Some selected packages are already built in one or more underlay workspaces:
'joint_trajectory_controller' is in: /opt/ros/iron
If a package in a merged underlay workspace is overridden and it installs headers, then all packages in the overlay must sort their include directories by workspace order. Failure to do so may result in build failures or undefined behavior at run time.
If the overridden package is used by another package in any underlay, then the overriding package in the overlay must be API and ABI compatible or undefined behavior at run time may occur.
If you understand the risks and want to override a package anyways, add the following to the command line:
--allow-overriding joint_trajectory_controller
This may be promoted to an error in a future release of colcon-override-check.
Starting >>> franka_msgs
Starting >>> franka_description
Starting >>> integration_launch_testing
Starting >>> joint_trajectory_controller
Finished <<< integration_launch_testing [0.91s]
Finished <<< franka_description [1.18s]
--- stderr: joint_trajectory_controller
In file included from /home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp:37:
/opt/ros/iron/include/rclcpp/rclcpp/qos_event.hpp:18:2: warning: #warning This header is obsolete, please include rclcpp/event_handler.hpp instead [-Wcpp]
18 | #warning This header is obsolete, please include rclcpp/event_handler.hpp instead
| ^~~~~~~
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp: In member function ‘virtual controller_interface::CallbackReturn joint_trajectory_controller::JointTrajectoryController::on_configure(const rclcpp_lifecycle::State&)’:
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp:685:26: error: ‘struct control_msgs::msg::JointTrajectoryControllerState_<std::allocator<void> >’ has no member named ‘desired’
685 | state_publisher_->msg_.desired.positions.resize(dof_);
| ^~~~~~~
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp:686:26: error: ‘struct control_msgs::msg::JointTrajectoryControllerState_<std::allocator<void> >’ has no member named ‘desired’
686 | state_publisher_->msg_.desired.velocities.resize(dof_);
| ^~~~~~~
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp:687:26: error: ‘struct control_msgs::msg::JointTrajectoryControllerState_<std::allocator<void> >’ has no member named ‘desired’
687 | state_publisher_->msg_.desired.accelerations.resize(dof_);
| ^~~~~~~
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp:688:26: error: ‘struct control_msgs::msg::JointTrajectoryControllerState_<std::allocator<void> >’ has no member named ‘actual’
688 | state_publisher_->msg_.actual.positions.resize(dof_);
| ^~~~~~
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp:692:28: error: ‘struct control_msgs::msg::JointTrajectoryControllerState_<std::allocator<void> >’ has no member named ‘actual’
692 | state_publisher_->msg_.actual.velocities.resize(dof_);
| ^~~~~~
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp:697:28: error: ‘struct control_msgs::msg::JointTrajectoryControllerState_<std::allocator<void> >’ has no member named ‘actual’
697 | state_publisher_->msg_.actual.accelerations.resize(dof_);
| ^~~~~~
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp: In member function ‘void joint_trajectory_controller::JointTrajectoryController::publish_state(const JointTrajectoryPoint&, const JointTrajectoryPoint&, const JointTrajectoryPoint&)’:
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp:912:28: error: ‘struct control_msgs::msg::JointTrajectoryControllerState_<std::allocator<void> >’ has no member named ‘desired’
912 | state_publisher_->msg_.desired.positions = desired_state.positions;
| ^~~~~~~
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp:913:28: error: ‘struct control_msgs::msg::JointTrajectoryControllerState_<std::allocator<void> >’ has no member named ‘desired’
913 | state_publisher_->msg_.desired.velocities = desired_state.velocities;
| ^~~~~~~
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp:914:28: error: ‘struct control_msgs::msg::JointTrajectoryControllerState_<std::allocator<void> >’ has no member named ‘desired’
914 | state_publisher_->msg_.desired.accelerations = desired_state.accelerations;
| ^~~~~~~
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp:915:28: error: ‘struct control_msgs::msg::JointTrajectoryControllerState_<std::allocator<void> >’ has no member named ‘actual’
915 | state_publisher_->msg_.actual.positions = current_state.positions;
| ^~~~~~
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp:919:30: error: ‘struct control_msgs::msg::JointTrajectoryControllerState_<std::allocator<void> >’ has no member named ‘actual’
919 | state_publisher_->msg_.actual.velocities = current_state.velocities;
| ^~~~~~
/home/mikel/franka_ros2_ws/src/franka_ros2/joint_trajectory_controller/src/joint_trajectory_controller.cpp:924:30: error: ‘struct control_msgs::msg::JointTrajectoryControllerState_<std::allocator<void> >’ has no member named ‘actual’
924 | state_publisher_->msg_.actual.accelerations = current_state.accelerations;
| ^~~~~~
gmake[2]: *** [CMakeFiles/joint_trajectory_controller.dir/build.make:76: CMakeFiles/joint_trajectory_controller.dir/src/joint_trajectory_controller.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:208: CMakeFiles/joint_trajectory_controller.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake: *** [Makefile:146: all] Error 2
---
Failed <<< joint_trajectory_controller [10.5s, exited with code 2]
Aborted <<< franka_msgs [15.0s]
Summary: 2 packages finished [16.3s]
1 package failed: joint_trajectory_controller
1 package aborted: franka_msgs
1 package had stderr output: joint_trajectory_controller
7 packages not processed
not found: "/home/mikel/franka_ros2_ws/install/joint_trajectory_controller/share/joint_trajectory_controller/local_setup.sh"
`
Today, the FrankaRobotModel
class provides users forward kinematics utility functions which operate at the hardware level. This works when used in ROS 2 controllers which accept true Franka hardware, but does not work for simulated Franka arms. Is there some way to compute Franka kinematics using user-provided positions? I would be interested in helping to contribute this, if not.
Hello, I wanted to know if the ros2 humble branch is up to date and can be used. The documentation states that franks ros 2 is a beta software and the installation is provided for ros2 foxy.
Right now, the franka_bringup
package has launch files which load a static controllers.yaml
file, which has all of the *_example_controller
controllers. I think it would be helpful to have a parameter that defaults to the controllers.yaml
file in the franka_bringup
package. This way, users could benefit from using franka_bringup
, while still loading their own controllers.
If this capability isn't added, I think users have to execute ros2 param set
commands as shell processes, either in launch files or manually in a terminal.
@BarisYazici do you agree that a controller_manager_parameters
parameter, which defaults to controllers.yaml
, is acceptable? If so, I can submit a PR with this change.
Hello! I would like to report the issue that I met when running the Clone repo and build packages process. I guess the error may happen due to the missing of backward_ros during ros2 installation.
<img width="1135" alt="屏幕截图 2023-08-04 104154" (the screen shot ) src="https://github.com/frankaemika/franka_ros2/assets/128056227/bd216bcb-0d6d-4c66-9421-58108a3684b9">
The error meassage is shown as following:
`:~/franka_ros2_ws$ colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
[1.669s] WARNING:colcon.colcon_core.package_selection:Some selected packages are already built in one or more underlay workspaces:
'joint_trajectory_controller' is in: /opt/ros/foxy
If a package in a merged underlay workspace is overridden and it installs headers, then all packages in the overlay must sort their include directories by workspace order. Failure to do so may resu in build failures or undefined behavior at run time.
If the overridden package is used by another package in any underlay, then the overriding package in the overlay must be API and ABI compatible or undefined behavior at run time may occur.
If you understand the risks and want to override a package anyways, add the following to the command line:
--allow-overriding joint_trajectory_controller
This may be promoted to an error in a future release of colcon-override-check.
Starting >>> franka_msgs
Starting >>> franka_description
Starting >>> integration_launch_testing
Starting >>> joint_trajectory_controller
Finished <<< integration_launch_testing [0.71s]
Finished <<< franka_description [0.79s]
--- stderr: joint_trajectory_controller
CMake Error at CMakeLists.txt:29 (find_package):
By not providing "Findbackward_ros.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"backward_ros", but CMake did not find one.
Could not find a package configuration file provided by "backward_ros" with
any of the following names:
backward_rosConfig.cmake
backward_ros-config.cmake
Add the installation prefix of "backward_ros" to CMAKE_PREFIX_PATH or set
"backward_ros_DIR" to a directory containing one of the above files. If
"backward_ros" provides a separate development package or SDK, be sure it
has been installed.
Failed <<< joint_trajectory_controller [1.18s, exited with code 1]
Aborted <<< franka_msgs [2.11s]
Summary: 2 packages finished [2.93s]
1 package failed: joint_trajectory_controller
1 package aborted: franka_msgs
1 package had stderr output: joint_trajectory_controller
7 packages not processed
`
Hi,
This might be a noob question.
The libfranka
interface allows one to generate their own motions and then speak to the Robot control using the motion_generator
interface and a default option of either the internal joint Impedance controller or the internal cartesian Impedance controller.
Is there a way of utilising the internal controllers through ROS2 api as well?
Tested within the dev container by following the instructions here and launching moveit with fake controllers (i.e. not a real robot):
Is there a way to access (or disable) Franka's gravity compensation controller running on the FR3? We are planning on swapping out the end-effector and would like that to be accurately reflected by the gravity compensation controller. We noticed that when removing the default FR3 gripper completely and trying to track a trajectory, the robot has massive overshooting, which suggests that the gravity compensation does not detect changes in the end-effector automatically. It would be useful to know how to pass this information to it.
The collision geometry defined in the XACRO is not visualised in RViz.
ros2 launch franka_moveit_config moveit.launch.py robot_ip:=dont-care use_fake_hardware:=true
PlanningScene
-> Scene Robot
-> Show Robot Collision
and untick Show Robot Visual
You should see the collision geometry, such as <cylinder radius="${0.06+safety_distance}" length="0.03" />
for link "${arm_id}_link0"
in RViz.
No collision geometry is shown.
MoveIt seems to respect the collision geometry as it prevents collision states, but they are not shown in RViz.
I am looking to ensure that the gripper is accessible from the MoveIt API. Currently I have access to the gripper via an action server that is made available by spinning the node defined in franka_gripper
.
In order to leverage the gripper via the MoveIt API, I have created an update URDF which contains ros2_control tags for the panda gripper based on the following file where I add a condition for the FrankaHardwareInterface.
I also define controller settings as followings:
moveit_controllers
ros2_controllers
Despite these updated settings I am unable to interact with the gripper. When I check the controller it remains in an inactive state. Any advice on this would be appreciated.
Also note I used ROS 2 and not ROS2 :).
Update: I am also facing errors from the updates I made to the URDF with the FrankaHardwareInterface plugin:
[FrankaHardwareInterface]: Got 9 joints. Expected 7.
It looks like it doesn't expect joints for the gripper to be exposed to this interface. At this point I am guessing the action client is the only way to interact with the gripper (I intend to look into the code a bit more also).
After loading the joint_state_broadcaster
and panda_arm_controller
via ros2 run controller_manager spawner.py
into the controller manager, I am unable to unload panda_arm_controller
again.
An attempt to unload via:
ros2 run controller_manager unspawner.py panda_arm_controller
or simply stop via:
ros2 service call /controller_manager/switch_controller controller_manager_msgs/srv/SwitchController "{stop_controllers: ['panda_arm_controller'], strictness: 1}"
crashes the controller manager:
[ERROR] [ros2_control_node-6]: process has died [pid 3810693, exit code -11, cmd '/opt/ros/foxy/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_a2hvyo1e --params-file [...]/install/franka_moveit_config/share/franka_moveit_config/config/panda_ros_controllers.yaml -r joint_states:=franka/joint_states'].
[INFO] [launch]: process[ros2_control_node-6] was required: shutting down launched system
Hi,
I was trying to use the example controllers using fake_hardware but I get no movement on Rviz, changed the command interface on config\controllers.yaml to match the type of controller but still get no results.
Command exmaple:
ros2 launch franka_bringup joint_position_example_controller.launch.py robot_ip:=dont-care use_fake_hardware:=true use_rviz:=true
Hello,
I am working with franka research 3. I tried building franka_ros2 repo with libfranka tag (0.10.0).
I followed the official instructions for building franka_ros2 and for building and installing libfranka tag 0.10.0 I followed the instructions here
When I typed the command below with my robot's IP:
ros2 launch franka_moveit_config moveit.launch.py robot_ip:=<fci-ip>
I had some errors including errors related to stack smashing:
ros2 launch franka_moveit_config moveit.launch.py robot_ip:=192.168.88.250
[INFO] [launch]: All log files can be found below /home/zal2mu/.ros/log/2023-06-20-14-24-58-695950-MCWWCN8157-78698
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [rviz2-1]: process started with pid [78706]
[INFO] [robot_state_publisher-2]: process started with pid [78708]
[INFO] [move_group-3]: process started with pid [78710]
[INFO] [ros2_control_node-4]: process started with pid [78712]
[INFO] [joint_state_publisher-5]: process started with pid [78714]
[INFO] [franka_gripper_node-6]: process started with pid [78716]
[INFO] [ros2 run controller_manager spawner.py panda_arm_controller-7]: process started with pid [78718]
[INFO] [ros2 run controller_manager spawner.py joint_state_broadcaster-8]: process started with pid [78721]
[franka_gripper_node-6] [INFO] [1687263899.320906254] [panda_gripper]: Trying to establish a connection with the gripper
[franka_gripper_node-6] [INFO] [1687263899.321560369] [panda_gripper]: Connected to gripper
[ros2_control_node-4] [INFO] [1687263899.325027572] [FrankaHardwareInterface]: Connecting to robot at "192.168.88.250" ...
[robot_state_publisher-2] Parsing robot urdf xml string.
[robot_state_publisher-2] Link panda_link1 had 1 children
[robot_state_publisher-2] Link panda_link2 had 1 children
[robot_state_publisher-2] Link panda_link3 had 1 children
[robot_state_publisher-2] Link panda_link4 had 1 children
[robot_state_publisher-2] Link panda_link5 had 1 children
[robot_state_publisher-2] Link panda_link6 had 1 children
[robot_state_publisher-2] Link panda_link7 had 1 children
[robot_state_publisher-2] Link panda_link8 had 1 children
[robot_state_publisher-2] Link panda_hand had 3 children
[robot_state_publisher-2] Link panda_leftfinger had 0 children
[robot_state_publisher-2] Link panda_rightfinger had 0 children
[robot_state_publisher-2] Link panda_hand_tcp had 0 children
[robot_state_publisher-2] [INFO] [1687263899.326142223] [robot_state_publisher]: got segment panda_hand
[robot_state_publisher-2] [INFO] [1687263899.326191971] [robot_state_publisher]: got segment panda_hand_tcp
[robot_state_publisher-2] [INFO] [1687263899.326197962] [robot_state_publisher]: got segment panda_leftfinger
[robot_state_publisher-2] [INFO] [1687263899.326202258] [robot_state_publisher]: got segment panda_link0
[robot_state_publisher-2] [INFO] [1687263899.326206177] [robot_state_publisher]: got segment panda_link1
[robot_state_publisher-2] [INFO] [1687263899.326210044] [robot_state_publisher]: got segment panda_link2
[robot_state_publisher-2] [INFO] [1687263899.326213761] [robot_state_publisher]: got segment panda_link3
[robot_state_publisher-2] [INFO] [1687263899.326217476] [robot_state_publisher]: got segment panda_link4
[robot_state_publisher-2] [INFO] [1687263899.326221496] [robot_state_publisher]: got segment panda_link5
[robot_state_publisher-2] [INFO] [1687263899.326225256] [robot_state_publisher]: got segment panda_link6
[robot_state_publisher-2] [INFO] [1687263899.326229054] [robot_state_publisher]: got segment panda_link7
[robot_state_publisher-2] [INFO] [1687263899.326232738] [robot_state_publisher]: got segment panda_link8
[robot_state_publisher-2] [INFO] [1687263899.326236460] [robot_state_publisher]: got segment panda_rightfinger
[ros2_control_node-4] [INFO] [1687263899.330742547] [FrankaHardwareInterface]: Successfully connected to robot
[ros2_control_node-4] [INFO] [1687263899.330913043] [FrankaHardwareInterface]: Started
[ros2_control_node-4] *** stack smashing detected ***: terminated
[move_group-3] [WARN] [1687263899.347884343] [move_group.move_group]: MoveGroup launched without ~default_planning_pipeline specifying the namespace for the default planning pipeline configuration
[move_group-3] [WARN] [1687263899.347939356] [move_group.move_group]: Falling back to using the the move_group node namespace (deprecated behavior).
[move_group-3] Parsing robot urdf xml string.
[move_group-3] [INFO] [1687263899.350524591] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.00107411 seconds
[move_group-3] [INFO] [1687263899.350566474] [moveit_robot_model.robot_model]: Loading robot model 'panda'...
[move_group-3] [WARN] [1687263899.350684876] [moveit_robot_model.robot_model]: Link panda_leftfinger has visual geometry but no collision geometry. Collision geometry will be left empty. Fix your URDF file by explicitly specifying collision geometry.
[move_group-3] [WARN] [1687263899.350694378] [moveit_robot_model.robot_model]: Link panda_rightfinger has visual geometry but no collision geometry. Collision geometry will be left empty. Fix your URDF file by explicitly specifying collision geometry.
[move_group-3] Link panda_link1 had 1 children
[move_group-3] Link panda_link2 had 1 children
[move_group-3] Link panda_link3 had 1 children
[move_group-3] Link panda_link4 had 1 children
[move_group-3] Link panda_link5 had 1 children
[move_group-3] Link panda_link6 had 1 children
[move_group-3] Link panda_link7 had 1 children
[move_group-3] Link panda_link8 had 1 children
[move_group-3] Link panda_hand had 3 children
[move_group-3] Link panda_leftfinger had 0 children
[move_group-3] Link panda_rightfinger had 0 children
[move_group-3] Link panda_hand_tcp had 0 children
[move_group-3] [INFO] [1687263899.359032318] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Publishing maintained planning scene on 'monitored_planning_scene'
[move_group-3] [INFO] [1687263899.359280270] [moveit.ros_planning_interface.moveit_cpp]: Listening to 'joint_states' for joint states
[move_group-3] [INFO] [1687263899.359681038] [moveit_ros.current_state_monitor]: Listening to joint states on topic 'joint_states'
[move_group-3] [INFO] [1687263899.359952838] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to '/attached_collision_object' for attached collision objects
[move_group-3] [INFO] [1687263899.359965933] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Starting planning scene monitor
[move_group-3] [INFO] [1687263899.360110771] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to '/planning_scene'
[move_group-3] [INFO] [1687263899.360120297] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Starting world geometry update monitor for collision objects, attached objects, octomap updates.
[move_group-3] [INFO] [1687263899.360296714] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to 'collision_object'
[move_group-3] [INFO] [1687263899.360614594] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to 'planning_scene_world' for planning scene world geometry
[move_group-3] [WARN] [1687263899.360647388] [moveit.ros.occupancy_map_monitor]: Resolution not specified for Octomap. Assuming resolution = 0.1 instead
[move_group-3] [ERROR] [1687263899.360668757] [moveit.ros.occupancy_map_monitor]: No 3D sensor plugin(s) defined for octomap updates
[move_group-3] [INFO] [1687263899.361041416] [moveit.ros_planning_interface.moveit_cpp]: Loading planning pipeline 'move_group'
[move_group-3] [INFO] [1687263899.379534831] [moveit.ros_planning.planning_pipeline]: Using planning interface 'OMPL'
[move_group-3] [INFO] [1687263899.381456895] [moveit_ros.add_time_optimal_parameterization]: Param 'move_group.path_tolerance' was not set. Using default value: 0.100000
[move_group-3] [INFO] [1687263899.381473644] [moveit_ros.add_time_optimal_parameterization]: Param 'move_group.resample_dt' was not set. Using default value: 0.100000
[move_group-3] [INFO] [1687263899.381477395] [moveit_ros.add_time_optimal_parameterization]: Param 'move_group.min_angle_change' was not set. Using default value: 0.001000
[move_group-3] [INFO] [1687263899.381491806] [moveit_ros.fix_workspace_bounds]: Param 'move_group.default_workspace_bounds' was not set. Using default value: 10.000000
[move_group-3] [INFO] [1687263899.381503779] [moveit_ros.fix_start_state_bounds]: Param 'move_group.start_state_max_bounds_error' was set to 0.050000
[move_group-3] [INFO] [1687263899.381507943] [moveit_ros.fix_start_state_bounds]: Param 'move_group.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-3] [INFO] [1687263899.381515514] [moveit_ros.fix_start_state_collision]: Param 'move_group.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-3] [INFO] [1687263899.381519334] [moveit_ros.fix_start_state_collision]: Param 'move_group.jiggle_fraction' was not set. Using default value: 0.020000
[move_group-3] [INFO] [1687263899.381526278] [moveit_ros.fix_start_state_collision]: Param 'move_group.max_sampling_attempts' was not set. Using default value: 100
[move_group-3] [INFO] [1687263899.381534548] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Add Time Optimal Parameterization'
[move_group-3] [INFO] [1687263899.381560237] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Resolve constraint frames to robot links'
[move_group-3] [INFO] [1687263899.381563148] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Workspace Bounds'
[move_group-3] [INFO] [1687263899.381565602] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Bounds'
[move_group-3] [INFO] [1687263899.381567877] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State In Collision'
[move_group-3] [INFO] [1687263899.381570154] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Path Constraints'
[rviz2-1] [INFO] [1687263899.584552584] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-1] [INFO] [1687263899.584708149] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-1] [INFO] [1687263899.605644592] [rviz2]: Stereo is NOT SUPPORTED
[ros2 run controller_manager spawner.py panda_arm_controller-7] [INFO] [1687263899.636606811] [spawner_panda_arm_controller]: Waiting for /controller_manager services
[ros2 run controller_manager spawner.py joint_state_broadcaster-8] [INFO] [1687263899.645879119] [spawner_joint_state_broadcaster]: Waiting for /controller_manager services
[joint_state_publisher-5] [INFO] [1687263899.690138342] [joint_state_publisher]: Waiting for robot_description to be published on the robot_description topic...
[rviz2-1] Warning: class_loader.impl: SEVERE WARNING!!! A namespace collision has occurred with plugin factory for class rviz_default_plugins::displays::InteractiveMarkerDisplay. New factory will OVERWRITE existing one. This situation occurs when libraries containing plugins are directly linked against an executable (the one running right now generating this message). Please separate plugins out into their own library or just don't link against the library and use either class_loader::ClassLoader/MultiLibraryClassLoader to open.
[rviz2-1] at line 253 in /opt/ros/foxy/include/class_loader/class_loader_core.hpp
[ERROR] [ros2_control_node-4]: process has died [pid 78712, exit code -6, cmd '/opt/ros/foxy/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_8f_hiklk --params-file /home/zal2mu/race_franka_ws/install/franka_moveit_config/share/franka_moveit_config/config/panda_ros_controllers.yaml -r joint_states:=franka/joint_states'].
[INFO] [launch]: process[ros2_control_node-4] was required: shutting down launched system
[INFO] [ros2 run controller_manager spawner.py joint_state_broadcaster-8]: sending signal 'SIGINT' to process[ros2 run controller_manager spawner.py joint_state_broadcaster-8]
[INFO] [ros2 run controller_manager spawner.py panda_arm_controller-7]: sending signal 'SIGINT' to process[ros2 run controller_manager spawner.py panda_arm_controller-7]
[INFO] [franka_gripper_node-6]: sending signal 'SIGINT' to process[franka_gripper_node-6]
[INFO] [joint_state_publisher-5]: sending signal 'SIGINT' to process[joint_state_publisher-5]
[INFO] [move_group-3]: sending signal 'SIGINT' to process[move_group-3]
[INFO] [robot_state_publisher-2]: sending signal 'SIGINT' to process[robot_state_publisher-2]
[INFO] [rviz2-1]: sending signal 'SIGINT' to process[rviz2-1]
[franka_gripper_node-6] [INFO] [1687263900.489750108] [rclcpp]: signal_handler(signal_value=2)
[move_group-3] [INFO] [1687263900.490757135] [rclcpp]: signal_handler(signal_value=2)
[move_group-3] [WARN] [1687263900.491086623] [moveit.simple_controller_manager.follow_joint_trajectory_controller_handle]: Waiting for panda_arm_controller/follow_joint_trajectory to come up
[move_group-3] [ERROR] [1687263900.491112082] [moveit.simple_controller_manager.follow_joint_trajectory_controller_handle]: Action client not connected: panda_arm_controller/follow_joint_trajectory
[robot_state_publisher-2] [INFO] [1687263900.491294643] [rclcpp]: signal_handler(signal_value=2)
[rviz2-1] [INFO] [1687263900.491871198] [rclcpp]: signal_handler(signal_value=2)
[rviz2-1] [ERROR] [1687263900.491989766] [moveit_ros_visualization.motion_planning_frame]: Action server: /recognize_objects not available
[move_group-3] [ERROR] [1687263900.493595294] [moveit_simple_controller_manager.rclcpp_action]: Error in destruction of rcl action client handle: action client implementation is invalid, at /tmp/binarydeb/ros-foxy-rcl-action-1.1.14/src/rcl_action/action_client.c:470
[move_group-3] [ERROR] [1687263900.493633561] [moveit.plugins.moveit_simple_controller_manager]: Caught unknown exception while parsing controller information
[move_group-3] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
[move_group-3] what(): Failed to create interrupt guard condition in Executor constructor: the given context is not valid, either rcl_init() was not called or rcl_shutdown() was called., at /tmp/binarydeb/ros-foxy-rcl-1.1.14/src/rcl/guard_condition.c:67
[rviz2-1]
[rviz2-1] >>> [rcutils|error_handling.c:108] rcutils_set_error_state()
[rviz2-1] This error state is being overwritten:
[rviz2-1]
[rviz2-1] 'rcl node's context is invalid, at /tmp/binarydeb/ros-foxy-rcl-1.1.14/src/rcl/node.c:441'
[rviz2-1]
[rviz2-1] with this new error message:
[rviz2-1]
[rviz2-1] 'the given context is not valid, either rcl_init() was not called or rcl_shutdown() was called., at /tmp/binarydeb/ros-foxy-rcl-1.1.14/src/rcl/guard_condition.c:67'
[rviz2-1]
[rviz2-1] rcutils_reset_error() should be called after error handling to avoid this.
[rviz2-1] <<<
[rviz2-1] [ERROR] [1687263900.496388524] [rviz2]: Could not load display config: failed to create interrupt guard condition: the given context is not valid, either rcl_init() was not called or rcl_shutdown() was called., at /tmp/binarydeb/ros-foxy-rcl-1.1.14/src/rcl/guard_condition.c:67
[INFO] [robot_state_publisher-2]: process has finished cleanly [pid 78708]
[INFO] [franka_gripper_node-6]: process has finished cleanly [pid 78716]
[INFO] [joint_state_publisher-5]: process has finished cleanly [pid 78714]
[ros2 run controller_manager spawner.py panda_arm_controller-7] [INFO] [1687263901.654779916] [spawner_panda_arm_controller]: Waiting for /controller_manager services
[ERROR] [move_group-3]: process has died [pid 78710, exit code -6, cmd '/opt/ros/foxy/lib/moveit_ros_move_group/move_group --ros-args --params-file /tmp/launch_params_w4xf71hn --params-file /tmp/launch_params_y8xocb33 --params-file /tmp/launch_params_6k30ed9p --params-file /tmp/launch_params_lzsh87ix --params-file /tmp/launch_params_gbuy8ybk --params-file /tmp/launch_params_5uc0ww9y --params-file /tmp/launch_params_2o3rn4c1'].
[ros2 run controller_manager spawner.py joint_state_broadcaster-8] [INFO] [1687263901.663186013] [spawner_joint_state_broadcaster]: Waiting for /controller_manager services
[ERROR] [rviz2-1]: process has died [pid 78706, exit code -11, cmd '/opt/ros/foxy/lib/rviz2/rviz2 -d /home/zal2mu/race_franka_ws/install/franka_moveit_config/share/franka_moveit_config/rviz/moveit.rviz --ros-args -r __node:=rviz2 --params-file /tmp/launch_params_jtq09j2c --params-file /tmp/launch_params_j5iauie7 --params-file /tmp/launch_params_82ub_iri --params-file /tmp/launch_params_ehbhttvu'].
[ros2 run controller_manager spawner.py panda_arm_controller-7] [INFO] [1687263903.675492452] [spawner_panda_arm_controller]: Waiting for /controller_manager services
[ros2 run controller_manager spawner.py joint_state_broadcaster-8] [INFO] [1687263903.683411307] [spawner_joint_state_broadcaster]: Waiting for /controller_manager services
[ERROR] [ros2 run controller_manager spawner.py joint_state_broadcaster-8]: process[ros2 run controller_manager spawner.py joint_state_broadcaster-8] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[ERROR] [ros2 run controller_manager spawner.py panda_arm_controller-7]: process[ros2 run controller_manager spawner.py panda_arm_controller-7] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[INFO] [ros2 run controller_manager spawner.py joint_state_broadcaster-8]: sending signal 'SIGTERM' to process[ros2 run controller_manager spawner.py joint_state_broadcaster-8]
[INFO] [ros2 run controller_manager spawner.py panda_arm_controller-7]: sending signal 'SIGTERM' to process[ros2 run controller_manager spawner.py panda_arm_controller-7]
[ERROR] [ros2 run controller_manager spawner.py panda_arm_controller-7]: process has died [pid 78718, exit code -15, cmd 'ros2 run controller_manager spawner.py panda_arm_controller'].
[ERROR] [ros2 run controller_manager spawner.py joint_state_broadcaster-8]: process has died [pid 78721, exit code -15, cmd 'ros2 run controller_manager spawner.py joint_state_broadcaster'].
Sorry for poor English ;(
this ROS2 source is only for panda. So i edited all xacro and file and name 'panda' to 'fr3'.
Do you have any plan to make ROS2 source for FR3??
or
Am i right editting all panda to fr3??
Hi,
I was wondering if there was someone already working on porting the cartesian impedance controller to ROS2. If not, could I give it a shot?
Thanks in advance
Relates https://www.franka-community.de/t/panda-dynamic-model/4573/3
In docs
, I see the following for ROS 1 flavor:
https://github.com/frankaemika/docs/blame/12fb63aa406b3e33dfc57a97ad5a5362e1ad8aad/source/franka_ros.rst#L36-L39
However, I don't see anything similar for ROS 2, at least upon examining this source tree and/or the docs
https://github.com/frankaemika/docs/blob/12fb63aa406b3e33dfc57a97ad5a5362e1ad8aad/source/franka_ros2.rst
Is there a reason why ROS 2 seems to lag / be different? If so, can it be documented?
Alternatively, is it possible to add this option?
Hello,
The franka_ros2 documentation mentions that position/velocity interfaces are 'coming soon' to bring feature parity with the ROS1 version. Is there a TFA for this ? Also given that currently > v0.1.0 doesn't work on Panda (due to libfranka > 9.0 not being supported), is there any plan on backporting this ?
I understand that Franka Emika has declared EOL for Panda and will not be supporting it beyond the EOY. Any information on the internal development plans would be helpful.
Thanks!
Hi,
I followed the instructions on this page to install everything correctly on ROS2 Humble. However, when I do:
sudo rosdep install --from-paths . --ignore-src -r -y --rosdistro=humble --skip-keys libfranka
I get the error: Unable to locate package ros-humble-warehouse-ros-mongo
I couldn't find any help online for this or any alternative way to install this package. Kindly help. Any guidance would be appreciated.
Hi franka scientist,
I was running cartesian_pose_example_controller in franka_example_controllers (just ros2 launch franka_bringup cartesian_pose_example_controller.launch.py robot_ip:=, without changing any code), but got the error:
libfranka: Move command aborted: motion aborted by reflex! ["cartesian_motion_generator_velocity_discontinuity", "cartesian_motion_generator_acceleration_discontinuity", "cartesian_motion_generator_joint_acceleration_discontinuity"]
os: Ubuntu 22.04
ROS2 humble
franka_ros2 branch: humble, tag: v0.1.13
libfranka branch: fr3-develop, tag: 0.13.3
I was also trying to reduce the radius of motion, but no matter how much I reduced, the same error still show up, unless I set the radius - 0. besides, I tried to set cartesian_pose_command_rate_limit_active_ = true, does not help either.
Please advise.
Thanks,
I'm using the joint_trajectory_follower
with its action server. I send a single waypoint to the trajectory controller and pretty often I get the following error and it kills the controller node. I've checked libfranka website but couldn't find anything. Below, you can see how I contrsuct the action goal and stack traceback of the error. I'm on the humble branch and using Ubuntu 22.04 with RT kernel 5.15.0-1045-realtime
.
def send_trajectory(self, q: Union[Sequence[float], npt.NDArray], time_from_start: float = 2.5) -> None:
goal_msg = FollowJointTrajectory.Goal()
goal_msg.trajectory.joint_names = self.joint_names
traj_point = JointTrajectoryPoint()
traj_point.positions = []
for qi in q:
traj_point.positions.append(qi)
traj_point.velocities = [0.0] * 7
traj_point.accelerations = [0.0] * 7
traj_point.time_from_start = rclpy.duration.Duration(seconds=time_from_start).to_msg()
goal_msg.trajectory.points.append(traj_point)
self.arm_trajectory_cli.send_goal(goal_msg)
[ros2_control_node-3] what(): libfranka: Move command aborted: motion aborted by reflex! ["max_path_pose_deviation_violation"]
[ros2_control_node-3] Stack trace (most recent call last) in thread 444761:
[ros2_control_node-3] #18 Object "", at 0xffffffffffffffff, in
[ros2_control_node-3] #17 Source "../sysdeps/unix/sysv/linux/x86_64/clone3.S", line 81, in __clone3 [0x7f82f04179ff]
[ros2_control_node-3] #16 Source "./nptl/pthread_create.c", line 442, in start_thread [0x7f82f0385b42]
[ros2_control_node-3] #15 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f82f0615252, in
[ros2_control_node-3] #14 Source "./src/ros2_control_node.cpp", line 80, in operator() [0x556281439800]
[ros2_control_node-3] #13 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0x7f82f0221a81, in hardware_interface::ResourceManager::read(rclcpp::Time const&, rclcpp::Duration const&)
[ros2_control_node-3] #12 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0x7f82f0242994, in hardware_interface::System::read(rclcpp::Time const&, rclcpp::Duration const&)
[ros2_control_node-3] #11 Object "/home/tkelestemur/franka_ws/install/franka_hardware/lib/libfranka_hardware.so", at 0x7f82e9105498, in franka_hardware::FrankaHardwareInterface::read(rclcpp::Time const&, rclcpp::Duration const&)
[ros2_control_node-3] #10 Object "/home/tkelestemur/franka_ws/install/franka_hardware/lib/libfranka_hardware.so", at 0x7f82e9116278, in franka_hardware::Robot::readOnce()
[ros2_control_node-3] #9 Object "/home/tkelestemur/franka_ws/install/franka_hardware/lib/libfranka_hardware.so", at 0x7f82e9114f8e, in franka_hardware::Robot::readOnceActiveControl()
[ros2_control_node-3] #8 Object "/usr/lib/libfranka.so.0.11.0", at 0x7f82e904433d, in franka::ActiveControl::readOnce()
[ros2_control_node-3] #7 Object "/usr/lib/libfranka.so.0.11.0", at 0x7f82e90429c3, in franka::Robot::Impl::throwOnMotionError(franka::RobotState const&, unsigned int) [clone .cold]
[ros2_control_node-3] #6 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f82f05e74d7, in __cxa_throw
[ros2_control_node-3] #5 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f82f05e7276, in std::terminate()
[ros2_control_node-3] #4 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f82f05e720b, in
[ros2_control_node-3] #3 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f82f05dbb9d, in
[ros2_control_node-3] #2 Source "./stdlib/abort.c", line 79, in abort [0x7f82f03197f2]
[ros2_control_node-3] #1 Source "../sysdeps/posix/raise.c", line 26, in raise [0x7f82f0333475]
[ros2_control_node-3] #0 | Source "./nptl/pthread_kill.c", line 89, in __pthread_kill_internal
[ros2_control_node-3] | Source "./nptl/pthread_kill.c", line 78, in __pthread_kill_implementation
[ros2_control_node-3] Source "./nptl/pthread_kill.c", line 44, in __pthread_kill [0x7f82f0387a7c]
[ros2_control_node-3] Aborted (Signal sent by tkill() 444628 770001229)
[ERROR] [ros2_control_node-3]: process has died [pid 444628, exit code -6, cmd '/opt/ros/humble/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_i_dofwnd --params-file /home/tkelestemur/franka_ws/install/franka_bringup/share/franka_bringup/config/controllers.yaml -r joint_states:=franka/joint_states'].
[INFO] [launch]: process[ros2_control_node-3] was required: shutting down launched system
[INFO] [franka_gripper_node-6]: sending signal 'SIGINT' to process[franka_gripper_node-6]
[INFO] [joint_state_publisher-2]: sending signal 'SIGINT' to process[joint_state_publisher-2]
[INFO] [robot_state_publisher-1]: sending signal 'SIGINT' to process[robot_state_publisher-1]
[franka_gripper_node-6] [INFO] [1694108198.096681998] [rclcpp]: signal_handler(signum=2)
[robot_state_publisher-1] [INFO] [1694108198.097610885] [rclcpp]: signal_handler(signum=2)
[INFO] [joint_state_publisher-2]: process has finished cleanly [pid 444626]
[INFO] [franka_gripper_node-6]: process has finished cleanly [pid 444634]
[ERROR] [robot_state_publisher-1]: process has died [pid 444624, exit code -11, cmd '/opt/ros/humble/lib/robot_state_publisher/robot_state_publisher --ros-args -r __node:=robot_state_publisher --params-file /tmp/launch_params_3qs92vck'].
Can we get this and libfranka released to the humble
repos?
I got this error when executing a move command through moveit.
Looking at some existing discussion like this and this, it seems that ros2_control does not yet respect joint limits, so moveit2 has to do it, and the best way is by defining it in the URDF. It seems like these definitions are indeed already defined here, but when I look at the params, I do not see these values populated as expected:
ros2 param dump /move_group | grep limit
robot_description:
type="revolute"> <safety_controller k_position="100.0" k_velocity="40.0" soft_lower_limit="-2.8973"
soft_upper_limit="2.8973"/> <origin rpy="0 0 0" xyz="0 0 0.333"/> <parent link="panda_link0"/>
<child link="panda_link1"/> <axis xyz="0 0 1"/> <limit effort="87" lower="-2.8973"
type="revolute"> <safety_controller k_position="100.0" k_velocity="40.0" soft_lower_limit="-1.7628"
soft_upper_limit="1.7628"/> <origin rpy="-1.5707963267948966 0 0" xyz="0 0 0"/>
<limit effort="87" lower="-1.7628" upper="1.7628" velocity="2.1750"/> </joint>
type="revolute"> <safety_controller k_position="100.0" k_velocity="40.0" soft_lower_limit="-2.8973"
soft_upper_limit="2.8973"/> <origin rpy="1.5707963267948966 0 0" xyz="0 -0.316
1"/> <limit effort="87" lower="-2.8973" upper="2.8973" velocity="2.1750"/> </joint>
type="revolute"> <safety_controller k_position="100.0" k_velocity="40.0" soft_lower_limit="-3.0718"
soft_upper_limit="-0.0698"/> <origin rpy="1.5707963267948966 0 0" xyz="0.0825
0 1"/> <limit effort="87" lower="-3.0718" upper="-0.0698" velocity="2.1750"/>
k_velocity="40.0" soft_lower_limit="-2.8973" soft_upper_limit="2.8973"/> <origin
<child link="panda_link5"/> <axis xyz="0 0 1"/> <limit effort="12" lower="-2.8973"
type="revolute"> <safety_controller k_position="100.0" k_velocity="40.0" soft_lower_limit="-0.0175"
soft_upper_limit="3.7525"/> <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
<limit effort="12" lower="-0.0175" upper="3.7525" velocity="2.6100"/> </joint>
type="revolute"> <safety_controller k_position="100.0" k_velocity="40.0" soft_lower_limit="-2.8973"
soft_upper_limit="2.8973"/> <origin rpy="1.5707963267948966 0 0" xyz="0.088
0 1"/> <limit effort="12" lower="-2.8973" upper="2.8973" velocity="2.6100"/>
0 0" xyz="0 0 0.0584"/> <axis xyz="0 1 0"/> <limit effort="20" lower="0.0" upper="0.04"
0 0" xyz="0 0 0.0584"/> <axis xyz="0 -1 0"/> <limit effort="20" lower="0.0"
robot_description_planning:
joint_limits:
has_acceleration_limits: null
has_jerk_limits: null
has_velocity_limits: null
has_acceleration_limits: null
has_jerk_limits: null
has_velocity_limits: null
...
This is noted when launching the franka moveit launch
The following document only outlines version compatibility for franka_ros.
I have updated my FER to 4.2.2 and wished to check what the recommended libfranka and associated submodule versions were for interfacing with the robot using franka_ros2.
Error Message
moveit_1 | [ros2_control_node-4] [FATAL] [1674486353.275366943] [FrankaHardwareInterface]: libfranka: Incompatible library version (server version: 5, library version: 4). Please check https://frankaemika.github.io for Panda system updates or use a different version of libfranka.
Environment
ROS Version: Foxy
libfranka: 0.9.0 - 0.10.0 (tested against multiple releases)
Note: I am recursively cloning libfranka so have also cloned associated libfranka-common repository.
Thanks in advance for any clarity you can provide. My workspace is built as a Docker image so I am happy to share further technical details where required.
@andrejpan does this fall under no ROS2 support as mentioned here?
FYI @Kzernobog.
I am encountering an error from the hardware interface with the latest version for franka_ros2
, the error arises when activating controllers for a gripper (robotiq) and the panda arm under the one controller manager node.
Adding this error for reference in case others also encounter this issue, I will post my resolution below. I started by trying to run separate control_manager nodes for the arm and gripper but I think I also found an issue with this given the current ros2_control implementation on Humble.
Update: namespacing with ROS 2 control works well and avoids this issue.
root@franka-control:~/panda_ws# ros2 launch panda_control_demos control_server_debug.launch.py robot_ip:=192.168.106.99 use_fake_hardware:=false
[INFO] [launch]: All log files can be found below /root/.ros/log/2024-04-03-17-17-40-409065-franka-control-35799
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [joint_state_publisher-1]: process started with pid [35800]
[INFO] [robot_state_publisher-2]: process started with pid [35802]
[INFO] [ros2_control_node-3]: process started with pid [35804]
[INFO] [ros2 run controller_manager spawner panda_jtc_controller-4]: process started with pid [35806]
[INFO] [ros2 run controller_manager spawner panda_state_broadcaster-5]: process started with pid [35808]
[INFO] [ros2 run controller_manager spawner robotiq_state_broadcaster-6]: process started with pid [35810]
[INFO] [ros2 run controller_manager spawner robotiq_gripper_controller-7]: process started with pid [35812]
[robot_state_publisher-2] [INFO] [1712164660.608402668] [panda_state_publisher]: got segment panda_link0
[robot_state_publisher-2] [INFO] [1712164660.608460540] [panda_state_publisher]: got segment panda_link1
[robot_state_publisher-2] [INFO] [1712164660.608466522] [panda_state_publisher]: got segment panda_link2
[robot_state_publisher-2] [INFO] [1712164660.608469562] [panda_state_publisher]: got segment panda_link3
[robot_state_publisher-2] [INFO] [1712164660.608472392] [panda_state_publisher]: got segment panda_link4
[robot_state_publisher-2] [INFO] [1712164660.608475100] [panda_state_publisher]: got segment panda_link5
[robot_state_publisher-2] [INFO] [1712164660.608477667] [panda_state_publisher]: got segment panda_link6
[robot_state_publisher-2] [INFO] [1712164660.608480275] [panda_state_publisher]: got segment panda_link7
[robot_state_publisher-2] [INFO] [1712164660.608483043] [panda_state_publisher]: got segment panda_link8
[robot_state_publisher-2] [INFO] [1712164660.608485668] [panda_state_publisher]: got segment robotiq_85_base_link
[robot_state_publisher-2] [INFO] [1712164660.608488616] [panda_state_publisher]: got segment robotiq_85_left_finger_link
[robot_state_publisher-2] [INFO] [1712164660.608491366] [panda_state_publisher]: got segment robotiq_85_left_finger_tip_link
[robot_state_publisher-2] [INFO] [1712164660.608494288] [panda_state_publisher]: got segment robotiq_85_left_inner_knuckle_link
[robot_state_publisher-2] [INFO] [1712164660.608497094] [panda_state_publisher]: got segment robotiq_85_left_knuckle_link
[robot_state_publisher-2] [INFO] [1712164660.608499798] [panda_state_publisher]: got segment robotiq_85_right_finger_link
[robot_state_publisher-2] [INFO] [1712164660.608503095] [panda_state_publisher]: got segment robotiq_85_right_finger_tip_link
[robot_state_publisher-2] [INFO] [1712164660.608507831] [panda_state_publisher]: got segment robotiq_85_right_inner_knuckle_link
[robot_state_publisher-2] [INFO] [1712164660.608513546] [panda_state_publisher]: got segment robotiq_85_right_knuckle_link
[ros2_control_node-3] [WARN] [1712164660.624893052] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead.
[ros2_control_node-3] [INFO] [1712164660.625457791] [resource_manager]: Loading hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.626245168] [resource_manager]: Initialize hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.626360955] [DefaultDriverFactory]: Reading slave_address...
[ros2_control_node-3] [INFO] [1712164660.626367766] [DefaultDriverFactory]: slave_address: 9
[ros2_control_node-3] [INFO] [1712164660.626369915] [DefaultDriverFactory]: Reading gripper_speed_multiplier...
[ros2_control_node-3] [INFO] [1712164660.626375080] [DefaultDriverFactory]: gripper_speed_multiplier: 1.000000s
[ros2_control_node-3] [INFO] [1712164660.626379117] [DefaultDriverFactory]: Reading gripper_force_multiplier...
[ros2_control_node-3] [INFO] [1712164660.626381252] [DefaultDriverFactory]: gripper_force_multiplier: 0.500000s
[ros2_control_node-3] [INFO] [1712164660.626385329] [DefaultSerialFactory]: Reading COM_port...
[ros2_control_node-3] [INFO] [1712164660.626388065] [DefaultSerialFactory]: COM_port: /dev/ttyUSB0
[ros2_control_node-3] [INFO] [1712164660.626389579] [DefaultSerialFactory]: Reading baudrate...
[ros2_control_node-3] [INFO] [1712164660.626391030] [DefaultSerialFactory]: baudrate: 115200bps
[ros2_control_node-3] [INFO] [1712164660.626392457] [DefaultSerialFactory]: Reading timeout...
[ros2_control_node-3] [INFO] [1712164660.626393926] [DefaultSerialFactory]: timeout: 0.500000s
[ros2_control_node-3] [INFO] [1712164660.626498494] [resource_manager]: Successful initialization of hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.626700162] [resource_manager]: Loading hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.630059985] [resource_manager]: Initialize hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.630212531] [FrankaHardwareInterface]: Connecting to robot at "192.168.106.99" ...
[ros2_control_node-3] [INFO] [1712164660.641552319] [FrankaHardwareInterface]: Successfully connected to robot
[ros2_control_node-3] [INFO] [1712164660.648836041] [service_server]: Service started
[ros2_control_node-3] [INFO] [1712164660.749267975] [resource_manager]: Successful initialization of hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.750133393] [resource_manager]: 'configure' hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.750163984] [resource_manager]: Successful 'configure' of hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.750247339] [resource_manager]: 'activate' hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.750535262] [FrankaHardwareInterface]: Started
[ros2_control_node-3] [INFO] [1712164660.750546509] [resource_manager]: Successful 'activate' of hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.750566727] [resource_manager]: 'configure' hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.751150111] [resource_manager]: Successful 'configure' of hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.751175182] [resource_manager]: 'activate' hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.751183960] [DefaultDriver]: Deactivate...
[ros2_control_node-3] [INFO] [1712164660.764802259] [DefaultDriver]: Activate...
[joint_state_publisher-1] [INFO] [1712164660.769479224] [joint_state_publisher]: Waiting for robot_description to be published on the robot_description topic...
[ros2_control_node-3] [INFO] [1712164662.813675508] [RobotiqGripperHardwareInterface]: Robotiq Gripper successfully activated!
[ros2_control_node-3] [INFO] [1712164662.813702521] [resource_manager]: Successful 'activate' of hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164662.817418470] [controller_manager]: update rate is 500 Hz
[ros2_control_node-3] [INFO] [1712164662.824936177] [controller_manager]: Loading controller 'panda_state_broadcaster'
[ros2_control_node-3] [INFO] [1712164662.830809499] [controller_manager]: Loading controller 'panda_jtc_controller'
[ros2 run controller_manager spawner panda_state_broadcaster-5] [INFO] [1712164662.831143190] [spawner_panda_state_broadcaster]: Loaded panda_state_broadcaster
[ros2_control_node-3] [WARN] [1712164662.840721283] [panda_jtc_controller]: [Deprecated]: "allow_nonzero_velocity_at_trajectory_end" is set to true. The default behavior will change to false.
[ros2_control_node-3] [INFO] [1712164662.843069014] [controller_manager]: Configuring controller 'panda_state_broadcaster'
[ros2 run controller_manager spawner panda_jtc_controller-4] [INFO] [1712164662.843093477] [spawner_panda_jtc_controller]: Loaded panda_jtc_controller
[ros2_control_node-3] [INFO] [1712164662.843167933] [panda_state_broadcaster]: Publishing state interfaces defined in 'joints' and 'interfaces' parameters.
[ros2_control_node-3] [WARN] [1712164662.843215249] [panda_state_broadcaster]: Mapping from 'position' to interface 'position' will not be done, because 'position' is defined in 'interface' parameter.
[ros2_control_node-3] [WARN] [1712164662.843222882] [panda_state_broadcaster]: Mapping from 'velocity' to interface 'velocity' will not be done, because 'velocity' is defined in 'interface' parameter.
[ros2_control_node-3] [WARN] [1712164662.843250527] [panda_state_broadcaster]: Mapping from 'effort' to interface 'effort' will not be done, because 'effort' is defined in 'interface' parameter.
[ros2_control_node-3] [INFO] [1712164662.846703706] [controller_manager]: Loading controller 'robotiq_state_broadcaster'
[ros2_control_node-3] [INFO] [1712164662.850643101] [controller_manager]: Configuring controller 'panda_jtc_controller'
[ros2 run controller_manager spawner robotiq_state_broadcaster-6] [INFO] [1712164662.851000237] [spawner_robotiq_state_broadcaster]: Loaded robotiq_state_broadcaster
[ros2_control_node-3] [INFO] [1712164662.851205383] [panda_jtc_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter.
[ros2_control_node-3] [WARN] [1712164662.851574086] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [WARN] [1712164662.851767147] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [WARN] [1712164662.851883758] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [WARN] [1712164662.851986646] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [WARN] [1712164662.852091575] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [WARN] [1712164662.852188067] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [WARN] [1712164662.852289260] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [INFO] [1712164662.852544336] [panda_jtc_controller]: Command interfaces are [effort] and state interfaces are [position velocity].
[ros2_control_node-3] [INFO] [1712164662.852574192] [panda_jtc_controller]: Using 'splines' interpolation method.
[ros2_control_node-3] [INFO] [1712164662.854284689] [panda_jtc_controller]: Controller state will be published at 50.00 Hz.
[ros2_control_node-3] [INFO] [1712164662.856152021] [panda_jtc_controller]: Action status changes will be monitored at 20.00 Hz.
[ros2_control_node-3] [INFO] [1712164662.860786047] [controller_manager]: Configuring controller 'robotiq_state_broadcaster'
[ros2_control_node-3] [INFO] [1712164662.860843073] [robotiq_state_broadcaster]: Publishing state interfaces defined in 'joints' and 'interfaces' parameters.
[ros2_control_node-3] [WARN] [1712164662.860870905] [robotiq_state_broadcaster]: Mapping from 'position' to interface 'position' will not be done, because 'position' is defined in 'interface' parameter.
[ros2_control_node-3] [WARN] [1712164662.860879527] [robotiq_state_broadcaster]: Mapping from 'velocity' to interface 'velocity' will not be done, because 'velocity' is defined in 'interface' parameter.
[ros2 run controller_manager spawner panda_state_broadcaster-5] [INFO] [1712164662.867305831] [spawner_panda_state_broadcaster]: Configured and activated panda_state_broadcaster
[ros2 run controller_manager spawner panda_jtc_controller-4] [INFO] [1712164662.918119995] [spawner_panda_jtc_controller]: Configured and activated panda_jtc_controller
[ros2_control_node-3] [INFO] [1712164662.919843507] [controller_manager]: Loading controller 'robotiq_gripper_controller'
[ros2 run controller_manager spawner robotiq_state_broadcaster-6] [INFO] [1712164662.920103455] [spawner_robotiq_state_broadcaster]: Configured and activated robotiq_state_broadcaster
[ros2 run controller_manager spawner robotiq_gripper_controller-7] [INFO] [1712164662.924939357] [spawner_robotiq_gripper_controller]: Loaded robotiq_gripper_controller
[ros2_control_node-3] [INFO] [1712164662.925491189] [controller_manager]: Configuring controller 'robotiq_gripper_controller'
[ros2_control_node-3] [INFO] [1712164662.925572228] [robotiq_gripper_controller]: Action status changes will be monitored at 20Hz.
[ros2_control_node-3] [FATAL] [1712164662.927536989] [FrankaHardwareInterface]: Invalid number of position interfaces to start. Expected 7, given 1
[ros2_control_node-3] terminate called after throwing an instance of 'std::invalid_argument'
[ros2_control_node-3] what(): Invalid number of position interfaces to start. Expected 7, given 1
[ros2_control_node-3] Stack trace (most recent call last) in thread 35982:
[ros2_control_node-3] #31 Object "", at 0xffffffffffffffff, in
[ros2_control_node-3] #30 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7fc02c45a84f, in
[ros2_control_node-3] #29 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7fc02c3c8ac2, in
[ros2_control_node-3] #28 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fc02c65b252, in
[ros2_control_node-3] #27 Object "/opt/ros/humble/lib/librclcpp.so", at 0x7fc02c89a279, in rclcpp::executors::MultiThreadedExecutor::run(unsigned long)
[ros2_control_node-3] #26 Object "/opt/ros/humble/lib/librclcpp.so", at 0x7fc02c892ff5, in rclcpp::Executor::execute_any_executable(rclcpp::AnyExecutable&)
[ros2_control_node-3] #25 Object "/opt/ros/humble/lib/librclcpp.so", at 0x7fc02c892c89, in rclcpp::Executor::execute_service(std::shared_ptr<rclcpp::ServiceBase>)
[ros2_control_node-3] #24 Object "/opt/ros/humble/lib/librclcpp.so", at 0x7fc02c8952a5, in
[ros2_control_node-3] #23 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d176972, in rclcpp::Service<controller_manager_msgs::srv::SwitchController>::handle_request(std::shared_ptr<rmw_request_id_s>, std::shared_ptr<void>)
[ros2_control_node-3] #22 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d17e413, in rclcpp::AnyServiceCallback<controller_manager_msgs::srv::SwitchController>::dispatch(std::shared_ptr<rclcpp::Service<controller_manager_msgs::srv::SwitchController> > const&, std::shared_ptr<rmw_request_id_s> const&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >)
[ros2_control_node-3] #21 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d188ae4, in std::function<void (std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >)>::operator()(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >) const
[ros2_control_node-3] #20 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d0e1ea8, in std::_Function_handler<void (std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >), std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >)> >::_M_invoke(std::_Any_data const&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >&&)
[ros2_control_node-3] #19 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d0f2ded, in std::enable_if<is_invocable_r_v<void, std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >)>&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > > >, void>::type std::__invoke_r<void, std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >)>&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > > >(std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >)>&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >&&)
[ros2_control_node-3] #18 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d10263c, in void std::__invoke_impl<void, std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >)>&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > > >(std::__invoke_other, std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >)>&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >&&)
[ros2_control_node-3] #17 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d10dbb8, in void std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >)>::operator()<std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >, void>(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >&&)
[ros2_control_node-3] #16 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d118730, in void std::_Bind<void (controller_manager::ControllerManager::*(controller_manager::ControllerManager*, std::_Placeholder<1>, std::_Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >)>::__call<void, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >&&, 0ul, 1ul, 2ul>(std::tuple<std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >&&>&&, std::_Index_tuple<0ul, 1ul, 2ul>)
[ros2_control_node-3] #15 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d123246, in std::__invoke_result<void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > > >::type std::__invoke<void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > > >(void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >&&)
[ros2_control_node-3] #14 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d130fd6, in void std::__invoke_impl<void, void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > > >(std::__invoke_memfun_deref, void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >&&)
[ros2_control_node-3] #13 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d047c1a, in controller_manager::ControllerManager::switch_controller_service_cb(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator<void> > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator<void> > >)
[ros2_control_node-3] #12 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d03ef93, in controller_manager::ControllerManager::switch_controller(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, int, bool, rclcpp::Duration const&)
[ros2_control_node-3] #11 Object "/root/panda_ws/install/hardware_interface/lib/libhardware_interface.so", at 0x7fc02c1ed7fd, in hardware_interface::ResourceManager::prepare_command_mode_switch(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)
[ros2_control_node-3] #10 Object "/root/panda_ws/install/hardware_interface/lib/libhardware_interface.so", at 0x7fc02c1ecf69, in auto hardware_interface::ResourceManager::prepare_command_mode_switch(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)::{lambda(auto:1&)#4}::operator()<std::vector<hardware_interface::System, std::allocator<hardware_interface::System> > >(std::vector<hardware_interface::System, std::allocator<hardware_interface::System> >&) const
[ros2_control_node-3] #9 Object "/root/panda_ws/install/hardware_interface/lib/libhardware_interface.so", at 0x7fc02c2338e8, in hardware_interface::System::prepare_command_mode_switch(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)
[ros2_control_node-3] #8 Object "/root/panda_ws/install/franka_hardware/lib/libfranka_hardware.so", at 0x7fc019f28da5, in franka_hardware::FrankaHardwareInterface::prepare_command_mode_switch(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)
[ros2_control_node-3] #7 Object "/root/panda_ws/install/franka_hardware/lib/libfranka_hardware.so", at 0x7fc019f28a99, in franka_hardware::FrankaHardwareInterface::prepare_command_mode_switch(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)::{lambda(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&, unsigned long, unsigned long)#2}::operator()(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&, unsigned long, unsigned long) const
[ros2_control_node-3] #6 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fc02c62d4d7, in __cxa_throw
[ros2_control_node-3] #5 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fc02c62d276, in std::terminate()
[ros2_control_node-3] #4 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fc02c62d20b, in
[ros2_control_node-3] #3 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fc02c621b9d, in
[ros2_control_node-3] #2 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7fc02c35c7f2, in abort
[ros2_control_node-3] #1 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7fc02c376475, in raise
[ros2_control_node-3] #0 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7fc02c3ca9fc, in pthread_kill
[ros2_control_node-3] Aborted (Signal sent by tkill() 35804 0)
[ERROR] [ros2_control_node-3]: process has died [pid 35804, exit code -6, cmd '/root/panda_ws/install/controller_manager/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_oad8yatj --params-file /root/panda_ws/install/franka_robotiq_moveit_config/share/franka_robotiq_moveit_config/config/ros2_controllers.yaml'].
[INFO] [ros2 run controller_manager spawner panda_state_broadcaster-5]: process has finished cleanly [pid 35808]
[INFO] [ros2 run controller_manager spawner robotiq_state_broadcaster-6]: process has finished cleanly [pid 35810]
[INFO] [ros2 run controller_manager spawner panda_jtc_controller-4]: process has finished cleanly [pid 35806]
root@franka-control:/panda_ws# ros2 launch panda_control_demos control_server_debug.launch.py robot_ip:=192.168.106.99 use_fake_hardware:=false/robot_description' topic from 'robot_state_publisher' instead.
[INFO] [launch]: All log files can be found below /root/.ros/log/2024-04-03-17-17-40-409065-franka-control-35799
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [joint_state_publisher-1]: process started with pid [35800]
[INFO] [robot_state_publisher-2]: process started with pid [35802]
[INFO] [ros2_control_node-3]: process started with pid [35804]
[INFO] [ros2 run controller_manager spawner panda_jtc_controller-4]: process started with pid [35806]
[INFO] [ros2 run controller_manager spawner panda_state_broadcaster-5]: process started with pid [35808]
[INFO] [ros2 run controller_manager spawner robotiq_state_broadcaster-6]: process started with pid [35810]
[INFO] [ros2 run controller_manager spawner robotiq_gripper_controller-7]: process started with pid [35812]
[robot_state_publisher-2] [INFO] [1712164660.608402668] [panda_state_publisher]: got segment panda_link0
[robot_state_publisher-2] [INFO] [1712164660.608460540] [panda_state_publisher]: got segment panda_link1
[robot_state_publisher-2] [INFO] [1712164660.608466522] [panda_state_publisher]: got segment panda_link2
[robot_state_publisher-2] [INFO] [1712164660.608469562] [panda_state_publisher]: got segment panda_link3
[robot_state_publisher-2] [INFO] [1712164660.608472392] [panda_state_publisher]: got segment panda_link4
[robot_state_publisher-2] [INFO] [1712164660.608475100] [panda_state_publisher]: got segment panda_link5
[robot_state_publisher-2] [INFO] [1712164660.608477667] [panda_state_publisher]: got segment panda_link6
[robot_state_publisher-2] [INFO] [1712164660.608480275] [panda_state_publisher]: got segment panda_link7
[robot_state_publisher-2] [INFO] [1712164660.608483043] [panda_state_publisher]: got segment panda_link8
[robot_state_publisher-2] [INFO] [1712164660.608485668] [panda_state_publisher]: got segment robotiq_85_base_link
[robot_state_publisher-2] [INFO] [1712164660.608488616] [panda_state_publisher]: got segment robotiq_85_left_finger_link
[robot_state_publisher-2] [INFO] [1712164660.608491366] [panda_state_publisher]: got segment robotiq_85_left_finger_tip_link
[robot_state_publisher-2] [INFO] [1712164660.608494288] [panda_state_publisher]: got segment robotiq_85_left_inner_knuckle_link
[robot_state_publisher-2] [INFO] [1712164660.608497094] [panda_state_publisher]: got segment robotiq_85_left_knuckle_link
[robot_state_publisher-2] [INFO] [1712164660.608499798] [panda_state_publisher]: got segment robotiq_85_right_finger_link
[robot_state_publisher-2] [INFO] [1712164660.608503095] [panda_state_publisher]: got segment robotiq_85_right_finger_tip_link
[robot_state_publisher-2] [INFO] [1712164660.608507831] [panda_state_publisher]: got segment robotiq_85_right_inner_knuckle_link
[robot_state_publisher-2] [INFO] [1712164660.608513546] [panda_state_publisher]: got segment robotiq_85_right_knuckle_link
[ros2_control_node-3] [WARN] [1712164660.624893052] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '
[ros2_control_node-3] [INFO] [1712164660.625457791] [resource_manager]: Loading hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.626245168] [resource_manager]: Initialize hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.626360955] [DefaultDriverFactory]: Reading slave_address...
[ros2_control_node-3] [INFO] [1712164660.626367766] [DefaultDriverFactory]: slave_address: 9
[ros2_control_node-3] [INFO] [1712164660.626369915] [DefaultDriverFactory]: Reading gripper_speed_multiplier...
[ros2_control_node-3] [INFO] [1712164660.626375080] [DefaultDriverFactory]: gripper_speed_multiplier: 1.000000s
[ros2_control_node-3] [INFO] [1712164660.626379117] [DefaultDriverFactory]: Reading gripper_force_multiplier...
[ros2_control_node-3] [INFO] [1712164660.626381252] [DefaultDriverFactory]: gripper_force_multiplier: 0.500000s
[ros2_control_node-3] [INFO] [1712164660.626385329] [DefaultSerialFactory]: Reading COM_port...
[ros2_control_node-3] [INFO] [1712164660.626388065] [DefaultSerialFactory]: COM_port: /dev/ttyUSB0
[ros2_control_node-3] [INFO] [1712164660.626389579] [DefaultSerialFactory]: Reading baudrate...
[ros2_control_node-3] [INFO] [1712164660.626391030] [DefaultSerialFactory]: baudrate: 115200bps
[ros2_control_node-3] [INFO] [1712164660.626392457] [DefaultSerialFactory]: Reading timeout...
[ros2_control_node-3] [INFO] [1712164660.626393926] [DefaultSerialFactory]: timeout: 0.500000s
[ros2_control_node-3] [INFO] [1712164660.626498494] [resource_manager]: Successful initialization of hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.626700162] [resource_manager]: Loading hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.630059985] [resource_manager]: Initialize hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.630212531] [FrankaHardwareInterface]: Connecting to robot at "192.168.106.99" ...
[ros2_control_node-3] [INFO] [1712164660.641552319] [FrankaHardwareInterface]: Successfully connected to robot
[ros2_control_node-3] [INFO] [1712164660.648836041] [service_server]: Service started
[ros2_control_node-3] [INFO] [1712164660.749267975] [resource_manager]: Successful initialization of hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.750133393] [resource_manager]: 'configure' hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.750163984] [resource_manager]: Successful 'configure' of hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.750247339] [resource_manager]: 'activate' hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.750535262] [FrankaHardwareInterface]: Started
[ros2_control_node-3] [INFO] [1712164660.750546509] [resource_manager]: Successful 'activate' of hardware 'FrankaHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.750566727] [resource_manager]: 'configure' hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.751150111] [resource_manager]: Successful 'configure' of hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.751175182] [resource_manager]: 'activate' hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164660.751183960] [DefaultDriver]: Deactivate...
[ros2_control_node-3] [INFO] [1712164660.764802259] [DefaultDriver]: Activate...
[joint_state_publisher-1] [INFO] [1712164660.769479224] [joint_state_publisher]: Waiting for robot_description to be published on the robot_description topic...
[ros2_control_node-3] [INFO] [1712164662.813675508] [RobotiqGripperHardwareInterface]: Robotiq Gripper successfully activated!
[ros2_control_node-3] [INFO] [1712164662.813702521] [resource_manager]: Successful 'activate' of hardware 'RobotiqGripperHardwareInterface'
[ros2_control_node-3] [INFO] [1712164662.817418470] [controller_manager]: update rate is 500 Hz
[ros2_control_node-3] [INFO] [1712164662.824936177] [controller_manager]: Loading controller 'panda_state_broadcaster'
[ros2_control_node-3] [INFO] [1712164662.830809499] [controller_manager]: Loading controller 'panda_jtc_controller'
[ros2 run controller_manager spawner panda_state_broadcaster-5] [INFO] [1712164662.831143190] [spawner_panda_state_broadcaster]: Loaded panda_state_broadcaster
[ros2_control_node-3] [WARN] [1712164662.840721283] [panda_jtc_controller]: [Deprecated]: "allow_nonzero_velocity_at_trajectory_end" is set to true. The default behavior will change to false.
[ros2_control_node-3] [INFO] [1712164662.843069014] [controller_manager]: Configuring controller 'panda_state_broadcaster'
[ros2 run controller_manager spawner panda_jtc_controller-4] [INFO] [1712164662.843093477] [spawner_panda_jtc_controller]: Loaded panda_jtc_controller
[ros2_control_node-3] [INFO] [1712164662.843167933] [panda_state_broadcaster]: Publishing state interfaces defined in 'joints' and 'interfaces' parameters.
[ros2_control_node-3] [WARN] [1712164662.843215249] [panda_state_broadcaster]: Mapping from 'position' to interface 'position' will not be done, because 'position' is defined in 'interface' parameter.
[ros2_control_node-3] [WARN] [1712164662.843222882] [panda_state_broadcaster]: Mapping from 'velocity' to interface 'velocity' will not be done, because 'velocity' is defined in 'interface' parameter.
[ros2_control_node-3] [WARN] [1712164662.843250527] [panda_state_broadcaster]: Mapping from 'effort' to interface 'effort' will not be done, because 'effort' is defined in 'interface' parameter.
[ros2_control_node-3] [INFO] [1712164662.846703706] [controller_manager]: Loading controller 'robotiq_state_broadcaster'
[ros2_control_node-3] [INFO] [1712164662.850643101] [controller_manager]: Configuring controller 'panda_jtc_controller'
[ros2 run controller_manager spawner robotiq_state_broadcaster-6] [INFO] [1712164662.851000237] [spawner_robotiq_state_broadcaster]: Loaded robotiq_state_broadcaster
[ros2_control_node-3] [INFO] [1712164662.851205383] [panda_jtc_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter.
[ros2_control_node-3] [WARN] [1712164662.851574086] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [WARN] [1712164662.851767147] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [WARN] [1712164662.851883758] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [WARN] [1712164662.851986646] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [WARN] [1712164662.852091575] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [WARN] [1712164662.852188067] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [WARN] [1712164662.852289260] [panda_jtc_controller]: 'ff_velocity_scale' parameters is not defined under 'gains.<joint_name>.' structure. Maybe you are using deprecated format 'ff_velocity_scale/<joint_name>'!
[ros2_control_node-3] [INFO] [1712164662.852544336] [panda_jtc_controller]: Command interfaces are [effort] and state interfaces are [position velocity].
[ros2_control_node-3] [INFO] [1712164662.852574192] [panda_jtc_controller]: Using 'splines' interpolation method.
[ros2_control_node-3] [INFO] [1712164662.854284689] [panda_jtc_controller]: Controller state will be published at 50.00 Hz.
[ros2_control_node-3] [INFO] [1712164662.856152021] [panda_jtc_controller]: Action status changes will be monitored at 20.00 Hz.
[ros2_control_node-3] [INFO] [1712164662.860786047] [controller_manager]: Configuring controller 'robotiq_state_broadcaster'
[ros2_control_node-3] [INFO] [1712164662.860843073] [robotiq_state_broadcaster]: Publishing state interfaces defined in 'joints' and 'interfaces' parameters.
[ros2_control_node-3] [WARN] [1712164662.860870905] [robotiq_state_broadcaster]: Mapping from 'position' to interface 'position' will not be done, because 'position' is defined in 'interface' parameter.
[ros2_control_node-3] [WARN] [1712164662.860879527] [robotiq_state_broadcaster]: Mapping from 'velocity' to interface 'velocity' will not be done, because 'velocity' is defined in 'interface' parameter.
[ros2 run controller_manager spawner panda_state_broadcaster-5] [INFO] [1712164662.867305831] [spawner_panda_state_broadcaster]: Configured and activated panda_state_broadcaster
[ros2 run controller_manager spawner panda_jtc_controller-4] [INFO] [1712164662.918119995] [spawner_panda_jtc_controller]: Configured and activated panda_jtc_controller
[ros2_control_node-3] [INFO] [1712164662.919843507] [controller_manager]: Loading controller 'robotiq_gripper_controller'
[ros2 run controller_manager spawner robotiq_state_broadcaster-6] [INFO] [1712164662.920103455] [spawner_robotiq_state_broadcaster]: Configured and activated robotiq_state_broadcaster
[ros2 run controller_manager spawner robotiq_gripper_controller-7] [INFO] [1712164662.924939357] [spawner_robotiq_gripper_controller]: Loaded robotiq_gripper_controller
[ros2_control_node-3] [INFO] [1712164662.925491189] [controller_manager]: Configuring controller 'robotiq_gripper_controller'
[ros2_control_node-3] [INFO] [1712164662.925572228] [robotiq_gripper_controller]: Action status changes will be monitored at 20Hz.
[ros2_control_node-3] [FATAL] [1712164662.927536989] [FrankaHardwareInterface]: Invalid number of position interfaces to start. Expected 7, given 1
[ros2_control_node-3] terminate called after throwing an instance of 'std::invalid_argument'
[ros2_control_node-3] what(): Invalid number of position interfaces to start. Expected 7, given 1
[ros2_control_node-3] Stack trace (most recent call last) in thread 35982:
[ros2_control_node-3] #31 Object "", at 0xffffffffffffffff, in
[ros2_control_node-3] #30 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7fc02c45a84f, in
[ros2_control_node-3] #29 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7fc02c3c8ac2, in
[ros2_control_node-3] #28 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fc02c65b252, in
[ros2_control_node-3] #27 Object "/opt/ros/humble/lib/librclcpp.so", at 0x7fc02c89a279, in rclcpp::executors::MultiThreadedExecutor::run(unsigned long)
[ros2_control_node-3] #26 Object "/opt/ros/humble/lib/librclcpp.so", at 0x7fc02c892ff5, in rclcpp::Executor::execute_any_executable(rclcpp::AnyExecutable&)
[ros2_control_node-3] #25 Object "/opt/ros/humble/lib/librclcpp.so", at 0x7fc02c892c89, in rclcpp::Executor::execute_service(std::shared_ptrrclcpp::ServiceBase)
[ros2_control_node-3] #24 Object "/opt/ros/humble/lib/librclcpp.so", at 0x7fc02c8952a5, in
[ros2_control_node-3] #23 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d176972, in rclcpp::Service<controller_manager_msgs::srv::SwitchController>::handle_request(std::shared_ptr<rmw_request_id_s>, std::shared_ptr)
[ros2_control_node-3] #22 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d17e413, in rclcpp::AnyServiceCallback<controller_manager_msgs::srv::SwitchController>::dispatch(std::shared_ptr<rclcpp::Service<controller_manager_msgs::srv::SwitchController> > const&, std::shared_ptr<rmw_request_id_s> const&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator > >)
[ros2_control_node-3] #21 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d188ae4, in std::function<void (std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator > >)>::operator()(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator > >) const
[ros2_control_node-3] #20 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d0e1ea8, in std::Function_handler<void (std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator > >), std::Bind<void (controller_manager::ControllerManager::(controller_manager::ControllerManager, std::Placeholder<1>, std::Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >)> >::M_invoke(std::Any_data const&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >&&)
[ros2_control_node-3] #19 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d0f2ded, in std::enable_if<is_invocable_r_v<void, std::Bind<void (controller_manager::ControllerManager::(controller_manager::ControllerManager, std::Placeholder<1>, std::Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >)>&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > > >, void>::type std::invoke_r<void, std::Bind<void (controller_manager::ControllerManager::(controller_manager::ControllerManager, std::Placeholder<1>, std::Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >)>&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > > >(std::Bind<void (controller_manager::ControllerManager::(controller_manager::ControllerManager, std::Placeholder<1>, std::Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >)>&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >&&)
[ros2_control_node-3] #18 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d10263c, in void std::invoke_impl<void, std::Bind<void (controller_manager::ControllerManager::(controller_manager::ControllerManager, std::Placeholder<1>, std::Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >)>&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > > >(std::invoke_other, std::Bind<void (controller_manager::ControllerManager::(controller_manager::ControllerManager, std::Placeholder<1>, std::Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >)>&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >&&)
[ros2_control_node-3] #17 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d10dbb8, in void std::Bind<void (controller_manager::ControllerManager::(controller_manager::ControllerManager, std::Placeholder<1>, std::Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >)>::operator()<std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >, void>(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator > >&&)
[ros2_control_node-3] #16 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d118730, in void std::Bind<void (controller_manager::ControllerManager::(controller_manager::ControllerManager, std::Placeholder<1>, std::Placeholder<2>))(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >)>::call<void, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >&&, 0ul, 1ul, 2ul>(std::tuple<std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator > >&&>&&, std::Index_tuple<0ul, 1ul, 2ul>)
[ros2_control_node-3] #15 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d123246, in std::invoke_result<void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator > > >::type std::invoke<void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator > > >(void (controller_manager::ControllerManager::&)(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator > >), controller_manager::ControllerManager&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator > >&&)
[ros2_control_node-3] #14 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d130fd6, in void std::invoke_impl<void, void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator > > >(std::invoke_memfun_deref, void (controller_manager::ControllerManager::*&)(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response<std::allocator > >), controller_manager::ControllerManager*&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator > >&&, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator > >&&)
[ros2_control_node-3] #13 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d047c1a, in controller_manager::ControllerManager::switch_controller_service_cb(std::shared_ptr<controller_manager_msgs::srv::SwitchController_Request_<std::allocator > >, std::shared_ptr<controller_manager_msgs::srv::SwitchController_Response_<std::allocator > >)
[ros2_control_node-3] #12 Object "/root/panda_ws/install/controller_manager/lib/libcontroller_manager.so", at 0x7fc02d03ef93, in controller_manager::ControllerManager::switch_controller(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, int, bool, rclcpp::Duration const&)
[ros2_control_node-3] #11 Object "/root/panda_ws/install/hardware_interface/lib/libhardware_interface.so", at 0x7fc02c1ed7fd, in hardware_interface::ResourceManager::prepare_command_mode_switch(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&)
[ros2_control_node-3] #10 Object "/root/panda_ws/install/hardware_interface/lib/libhardware_interface.so", at 0x7fc02c1ecf69, in auto hardware_interface::ResourceManager::prepare_command_mode_switch(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&)::{lambda(auto:1&)#4}::operator()<std::vector<hardware_interface::System, std::allocator<hardware_interface::System> > >(std::vector<hardware_interface::System, std::allocator<hardware_interface::System> >&) const
[ros2_control_node-3] #9 Object "/root/panda_ws/install/hardware_interface/lib/libhardware_interface.so", at 0x7fc02c2338e8, in hardware_interface::System::prepare_command_mode_switch(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&)
[ros2_control_node-3] #8 Object "/root/panda_ws/install/franka_hardware/lib/libfranka_hardware.so", at 0x7fc019f28da5, in franka_hardware::FrankaHardwareInterface::prepare_command_mode_switch(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&)
[ros2_control_node-3] #7 Object "/root/panda_ws/install/franka_hardware/lib/libfranka_hardware.so", at 0x7fc019f28a99, in franka_hardware::FrankaHardwareInterface::prepare_command_mode_switch(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > const&)::{lambda(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned long, unsigned long)#2}::operator()(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned long, unsigned long) const
[ros2_control_node-3] #6 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fc02c62d4d7, in __cxa_throw
[ros2_control_node-3] #5 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fc02c62d276, in std::terminate()
[ros2_control_node-3] #4 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fc02c62d20b, in
[ros2_control_node-3] #3 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7fc02c621b9d, in
[ros2_control_node-3] #2 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7fc02c35c7f2, in abort
[ros2_control_node-3] #1 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7fc02c376475, in raise
[ros2_control_node-3] #0 Object "/usr/lib/x86_64-linux-gnu/libc.so.6", at 0x7fc02c3ca9fc, in pthread_kill
[ros2_control_node-3] Aborted (Signal sent by tkill() 35804 0)
[ERROR] [ros2_control_node-3]: process has died [pid 35804, exit code -6, cmd '/root/panda_ws/install/controller_manager/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_oad8yatj --params-file /root/panda_ws/install/franka_robotiq_moveit_config/share/franka_robotiq_moveit_config/config/ros2_controllers.yaml'].
[INFO] [ros2 run controller_manager spawner panda_state_broadcaster-5]: process has finished cleanly [pid 35808]
[INFO] [ros2 run controller_manager spawner robotiq_state_broadcaster-6]: process has finished cleanly [pid 35810]
[INFO] [ros2 run controller_manager spawner panda_jtc_controller-4]: process has finished cleanly [pid 35806]
While the terminal is running
ros2 launch franka_moveit_config moveit.launch.py robot_ip:=my_robot_ip
and I press external activation device which makes the display light turn from blue to white, the moveit node crushes because of the exception what(): libfranka: Move command aborted: User Stop pressed!
. But in ros1 it is not the case. In ros1 the moveit node is still running after I bring the external activation device to the activated state (white light).
my terminal is like this:
[INFO] [launch]: All log files can be found below /home/rpl/.ros/log/2023-02-03-11-10-03-834375-robotics-261820
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [rviz2-1]: process started with pid [261824]
[INFO] [robot_state_publisher-2]: process started with pid [261826]
[INFO] [move_group-3]: process started with pid [261828]
[INFO] [ros2_control_node-4]: process started with pid [261830]
[INFO] [joint_state_publisher-5]: process started with pid [261832]
[INFO] [franka_gripper_node-6]: process started with pid [261834]
[INFO] [ros2 run controller_manager spawner.py panda_arm_controller-7]: process started with pid [261836]
[INFO] [ros2 run controller_manager spawner.py joint_state_broadcaster-8]: process started with pid [261838]
[robot_state_publisher-2] Parsing robot urdf xml string.
[franka_gripper_node-6] [INFO] [1675419004.204783183] [panda_gripper]: Trying to establish a connection with the gripper
[franka_gripper_node-6] [INFO] [1675419004.205655200] [panda_gripper]: Connected to gripper
[robot_state_publisher-2] Link panda_link0 had 1 children
[robot_state_publisher-2] Link panda_link1 had 1 children
[robot_state_publisher-2] Link panda_link2 had 1 children
[robot_state_publisher-2] Link panda_link3 had 1 children
[robot_state_publisher-2] Link panda_link4 had 1 children
[robot_state_publisher-2] Link panda_link5 had 1 children
[robot_state_publisher-2] Link panda_link6 had 1 children
[robot_state_publisher-2] Link panda_link7 had 1 children
[robot_state_publisher-2] Link panda_link8 had 1 children
[robot_state_publisher-2] Link panda_hand had 3 children
[robot_state_publisher-2] Link panda_leftfinger had 0 children
[robot_state_publisher-2] Link panda_rightfinger had 0 children
[robot_state_publisher-2] Link panda_hand_tcp had 0 children
[robot_state_publisher-2] [INFO] [1675419004.206866968] [robot_state_publisher]: got segment panda_hand
[robot_state_publisher-2] [INFO] [1675419004.206939973] [robot_state_publisher]: got segment panda_hand_tcp
[robot_state_publisher-2] [INFO] [1675419004.206952427] [robot_state_publisher]: got segment panda_leftfinger
[robot_state_publisher-2] [INFO] [1675419004.206962090] [robot_state_publisher]: got segment panda_link0
[robot_state_publisher-2] [INFO] [1675419004.206971538] [robot_state_publisher]: got segment panda_link1
[robot_state_publisher-2] [INFO] [1675419004.206980825] [robot_state_publisher]: got segment panda_link2
[robot_state_publisher-2] [INFO] [1675419004.206990021] [robot_state_publisher]: got segment panda_link3
[robot_state_publisher-2] [INFO] [1675419004.206999166] [robot_state_publisher]: got segment panda_link4
[robot_state_publisher-2] [INFO] [1675419004.207008518] [robot_state_publisher]: got segment panda_link5
[robot_state_publisher-2] [INFO] [1675419004.207017768] [robot_state_publisher]: got segment panda_link6
[robot_state_publisher-2] [INFO] [1675419004.207026967] [robot_state_publisher]: got segment panda_link7
[robot_state_publisher-2] [INFO] [1675419004.207036385] [robot_state_publisher]: got segment panda_link8
[robot_state_publisher-2] [INFO] [1675419004.207045645] [robot_state_publisher]: got segment panda_rightfinger
[robot_state_publisher-2] [INFO] [1675419004.207055537] [robot_state_publisher]: got segment panda_table_link
[ros2_control_node-4] [INFO] [1675419004.219853161] [FrankaHardwareInterface]: Connecting to robot at "172.16.1.22" ...
[ros2_control_node-4] [INFO] [1675419004.221130550] [FrankaHardwareInterface]: Successfully connected to robot
[ros2_control_node-4] [INFO] [1675419004.221264865] [FrankaHardwareInterface]: Started
[ros2_control_node-4] [INFO] [1675419004.231040806] [controller_manager]: update rate is 1000 Hz
[move_group-3] [WARN] [1675419004.259931590] [move_group.move_group]: MoveGroup launched without ~default_planning_pipeline specifying the namespace for the default planning pipeline configuration
[move_group-3] [WARN] [1675419004.259978652] [move_group.move_group]: Falling back to using the the move_group node namespace (deprecated behavior).
[move_group-3] Parsing robot urdf xml string.
[move_group-3] [INFO] [1675419004.264849176] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.00253798 seconds
[move_group-3] [INFO] [1675419004.264884871] [moveit_robot_model.robot_model]: Loading robot model 'panda'...
[move_group-3] [WARN] [1675419004.264991459] [moveit_robot_model.robot_model]: Link panda_leftfinger has visual geometry but no collision geometry. Collision geometry will be left empty. Fix your URDF file by explicitly specifying collision geometry.
[move_group-3] [WARN] [1675419004.265001741] [moveit_robot_model.robot_model]: Link panda_rightfinger has visual geometry but no collision geometry. Collision geometry will be left empty. Fix your URDF file by explicitly specifying collision geometry.
[move_group-3] Link panda_link0 had 1 children
[move_group-3] Link panda_link1 had 1 children
[move_group-3] Link panda_link2 had 1 children
[move_group-3] Link panda_link3 had 1 children
[move_group-3] Link panda_link4 had 1 children
[move_group-3] Link panda_link5 had 1 children
[move_group-3] Link panda_link6 had 1 children
[move_group-3] Link panda_link7 had 1 children
[move_group-3] Link panda_link8 had 1 children
[move_group-3] Link panda_hand had 3 children
[move_group-3] Link panda_leftfinger had 0 children
[move_group-3] Link panda_rightfinger had 0 children
[move_group-3] Link panda_hand_tcp had 0 children
[move_group-3] [INFO] [1675419004.279157109] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Publishing maintained planning scene on 'monitored_planning_scene'
[move_group-3] [INFO] [1675419004.279686837] [moveit.ros_planning_interface.moveit_cpp]: Listening to 'joint_states' for joint states
[move_group-3] [INFO] [1675419004.280174600] [moveit_ros.current_state_monitor]: Listening to joint states on topic 'joint_states'
[move_group-3] [INFO] [1675419004.280810808] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to '/attached_collision_object' for attached collision objects
[move_group-3] [INFO] [1675419004.280828779] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Starting planning scene monitor
[move_group-3] [INFO] [1675419004.281094433] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to '/planning_scene'
[move_group-3] [INFO] [1675419004.281107126] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Starting world geometry update monitor for collision objects, attached objects, octomap updates.
[move_group-3] [INFO] [1675419004.281435202] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to 'collision_object'
[move_group-3] [INFO] [1675419004.281718383] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to 'planning_scene_world' for planning scene world geometry
[move_group-3] [WARN] [1675419004.281751017] [moveit.ros.occupancy_map_monitor]: Resolution not specified for Octomap. Assuming resolution = 0.1 instead
[move_group-3] [ERROR] [1675419004.281779418] [moveit.ros.occupancy_map_monitor]: No 3D sensor plugin(s) defined for octomap updates
[move_group-3] [INFO] [1675419004.282650961] [moveit.ros_planning_interface.moveit_cpp]: Loading planning pipeline 'move_group'
[move_group-3] [INFO] [1675419004.302923011] [moveit.ros_planning.planning_pipeline]: Using planning interface 'OMPL'
[move_group-3] [INFO] [1675419004.306300556] [moveit_ros.add_time_optimal_parameterization]: Param 'move_group.path_tolerance' was not set. Using default value: 0.100000
[move_group-3] [INFO] [1675419004.306323127] [moveit_ros.add_time_optimal_parameterization]: Param 'move_group.resample_dt' was not set. Using default value: 0.100000
[move_group-3] [INFO] [1675419004.306330188] [moveit_ros.add_time_optimal_parameterization]: Param 'move_group.min_angle_change' was not set. Using default value: 0.001000
[move_group-3] [INFO] [1675419004.306369961] [moveit_ros.fix_workspace_bounds]: Param 'move_group.default_workspace_bounds' was not set. Using default value: 10.000000
[move_group-3] [INFO] [1675419004.306397597] [moveit_ros.fix_start_state_bounds]: Param 'move_group.start_state_max_bounds_error' was set to 0.050000
[move_group-3] [INFO] [1675419004.306406704] [moveit_ros.fix_start_state_bounds]: Param 'move_group.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-3] [INFO] [1675419004.306427389] [moveit_ros.fix_start_state_collision]: Param 'move_group.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-3] [INFO] [1675419004.306435406] [moveit_ros.fix_start_state_collision]: Param 'move_group.jiggle_fraction' was not set. Using default value: 0.020000
[move_group-3] [INFO] [1675419004.306450990] [moveit_ros.fix_start_state_collision]: Param 'move_group.max_sampling_attempts' was not set. Using default value: 100
[move_group-3] [INFO] [1675419004.306472482] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Add Time Optimal Parameterization'
[move_group-3] [INFO] [1675419004.306519999] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Resolve constraint frames to robot links'
[move_group-3] [INFO] [1675419004.306528189] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Workspace Bounds'
[move_group-3] [INFO] [1675419004.306534163] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Bounds'
[move_group-3] [INFO] [1675419004.306539943] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State In Collision'
[move_group-3] [INFO] [1675419004.306545828] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Path Constraints'
[ros2 run controller_manager spawner.py panda_arm_controller-7] [INFO] [1675419004.627826860] [spawner_panda_arm_controller]: Waiting for /controller_manager services
[ros2 run controller_manager spawner.py joint_state_broadcaster-8] [INFO] [1675419004.658067986] [spawner_joint_state_broadcaster]: Waiting for /controller_manager services
[joint_state_publisher-5] [INFO] [1675419004.661600739] [joint_state_publisher]: Waiting for robot_description to be published on the robot_description topic...
[ros2_control_node-4] [INFO] [1675419004.833877638] [controller_manager]: Loading controller 'panda_arm_controller'
[ros2 run controller_manager spawner.py panda_arm_controller-7] [INFO] [1675419004.843504311] [spawner_panda_arm_controller]: Loaded panda_arm_controller
[ros2_control_node-4] [INFO] [1675419004.850177252] [controller_manager]: Configuring controller 'panda_arm_controller'
[ros2_control_node-4] [INFO] [1675419004.850761103] [panda_arm_controller]: Command interfaces are [effort] and and state interfaces are [position velocity].
[ros2_control_node-4] [INFO] [1675419004.851711442] [panda_arm_controller]: Controller state will be published at 50.00 Hz.
[ros2_control_node-4] [INFO] [1675419004.852404412] [panda_arm_controller]: Action status changes will be monitored at 20.00 Hz.
[move_group-3] [INFO] [1675419004.854752552] [moveit.plugins.moveit_simple_controller_manager]: Added FollowJointTrajectory controller for panda_arm_controller
[move_group-3] [INFO] [1675419004.854835725] [moveit.plugins.moveit_simple_controller_manager]: Max effort set to 0.0
[move_group-3] [INFO] [1675419004.857165807] [moveit.plugins.moveit_simple_controller_manager]: Added GripperCommand controller for panda_gripper
[move_group-3] [INFO] [1675419004.857294080] [moveit.plugins.moveit_simple_controller_manager]: Returned 2 controllers in list
[move_group-3] [INFO] [1675419004.857672915] [moveit_ros.trajectory_execution_manager]: Trajectory execution is managing controllers
[move_group-3] [INFO] [1675419004.857688853] [move_group.move_group]: MoveGroup debug mode is ON
[ros2 run controller_manager spawner.py panda_arm_controller-7] [INFO] [1675419004.859272546] [spawner_panda_arm_controller]: Configured and started panda_arm_controller
[ros2_control_node-4] [INFO] [1675419004.866736039] [controller_manager]: Loading controller 'joint_state_broadcaster'
[ros2 run controller_manager spawner.py joint_state_broadcaster-8] [INFO] [1675419004.876576208] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[move_group-3] [INFO] [1675419004.879070080] [move_group.move_group]:
[move_group-3]
[move_group-3] ********************************************************
[move_group-3] * MoveGroup using:
[move_group-3] * - ApplyPlanningSceneService
[move_group-3] * - ClearOctomapService
[move_group-3] * - CartesianPathService
[move_group-3] * - ExecuteTrajectoryAction
[move_group-3] * - GetPlanningSceneService
[move_group-3] * - KinematicsService
[move_group-3] * - MoveAction
[move_group-3] * - MotionPlanService
[move_group-3] * - QueryPlannersService
[move_group-3] * - StateValidationService
[move_group-3] ********************************************************
[move_group-3]
[move_group-3] [INFO] [1675419004.879115799] [moveit_move_group_capabilities_base.move_group_context]: MoveGroup context using planning plugin ompl_interface/OMPLPlanner
[move_group-3] [INFO] [1675419004.879131668] [moveit_move_group_capabilities_base.move_group_context]: MoveGroup context initialization complete
[move_group-3] Loading 'move_group/ApplyPlanningSceneService'...
[move_group-3] Loading 'move_group/ClearOctomapService'...
[move_group-3] Loading 'move_group/MoveGroupCartesianPathService'...
[move_group-3] Loading 'move_group/MoveGroupExecuteTrajectoryAction'...
[move_group-3] Loading 'move_group/MoveGroupGetPlanningSceneService'...
[move_group-3] Loading 'move_group/MoveGroupKinematicsService'...
[move_group-3] Loading 'move_group/MoveGroupMoveAction'...
[move_group-3] Loading 'move_group/MoveGroupPlanService'...
[move_group-3] Loading 'move_group/MoveGroupQueryPlannersService'...
[move_group-3] Loading 'move_group/MoveGroupStateValidationService'...
[move_group-3]
[move_group-3] You can start planning now!
[move_group-3]
[rviz2-1] [INFO] [1675419004.899197301] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-1] [INFO] [1675419004.899367139] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[INFO] [ros2 run controller_manager spawner.py panda_arm_controller-7]: process has finished cleanly [pid 261836]
[rviz2-1] [INFO] [1675419004.925408516] [rviz2]: Stereo is NOT SUPPORTED
[ros2_control_node-4] [INFO] [1675419004.958353948] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ros2 run controller_manager spawner.py joint_state_broadcaster-8] [INFO] [1675419004.963613340] [spawner_joint_state_broadcaster]: Configured and started joint_state_broadcaster
[INFO] [ros2 run controller_manager spawner.py joint_state_broadcaster-8]: process has finished cleanly [pid 261838]
[rviz2-1] Warning: class_loader.impl: SEVERE WARNING!!! A namespace collision has occurred with plugin factory for class rviz_default_plugins::displays::InteractiveMarkerDisplay. New factory will OVERWRITE existing one. This situation occurs when libraries containing plugins are directly linked against an executable (the one running right now generating this message). Please separate plugins out into their own library or just don't link against the library and use either class_loader::ClassLoader/MultiLibraryClassLoader to open.
[rviz2-1] at line 253 in /opt/ros/foxy/include/class_loader/class_loader_core.hpp
[rviz2-1] Parsing robot urdf xml string.
[rviz2-1] [INFO] [1675419005.047024419] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.00134235 seconds
[rviz2-1] [INFO] [1675419005.047112127] [moveit_robot_model.robot_model]: Loading robot model 'panda'...
[rviz2-1] [WARN] [1675419005.047299808] [moveit_robot_model.robot_model]: Link panda_leftfinger has visual geometry but no collision geometry. Collision geometry will be left empty. Fix your URDF file by explicitly specifying collision geometry.
[rviz2-1] [WARN] [1675419005.047313272] [moveit_robot_model.robot_model]: Link panda_rightfinger has visual geometry but no collision geometry. Collision geometry will be left empty. Fix your URDF file by explicitly specifying collision geometry.
[rviz2-1] [ERROR] [1675419008.726199542] [moveit_ros_visualization.motion_planning_frame]: Action server: /recognize_objects not available
[rviz2-1] Parsing robot urdf xml string.
[rviz2-1] [INFO] [1675419008.829768378] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.00140166 seconds
[rviz2-1] [INFO] [1675419008.829819146] [moveit_robot_model.robot_model]: Loading robot model 'panda'...
[rviz2-1] [WARN] [1675419008.829913203] [moveit_robot_model.robot_model]: Link panda_leftfinger has visual geometry but no collision geometry. Collision geometry will be left empty. Fix your URDF file by explicitly specifying collision geometry.
[rviz2-1] [WARN] [1675419008.829927946] [moveit_robot_model.robot_model]: Link panda_rightfinger has visual geometry but no collision geometry. Collision geometry will be left empty. Fix your URDF file by explicitly specifying collision geometry.
[rviz2-1] Link panda_link0 had 1 children
[rviz2-1] Link panda_link1 had 1 children
[rviz2-1] Link panda_link2 had 1 children
[rviz2-1] Link panda_link3 had 1 children
[rviz2-1] Link panda_link4 had 1 children
[rviz2-1] Link panda_link5 had 1 children
[rviz2-1] Link panda_link6 had 1 children
[rviz2-1] Link panda_link7 had 1 children
[rviz2-1] Link panda_link8 had 1 children
[rviz2-1] Link panda_hand had 3 children
[rviz2-1] Link panda_leftfinger had 0 children
[rviz2-1] Link panda_rightfinger had 0 children
[rviz2-1] Link panda_hand_tcp had 0 children
[rviz2-1] [INFO] [1675419008.875369626] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Starting planning scene monitor
[rviz2-1] [INFO] [1675419008.876056027] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to '/monitored_planning_scene'
[ros2_control_node-4] terminate called after throwing an instance of 'franka::ControlException'
[ros2_control_node-4] what(): libfranka: Move command aborted: User Stop pressed!
[ERROR] [ros2_control_node-4]: process has died [pid 261830, exit code -6, cmd '/opt/ros/foxy/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_u3tunc1p --params-file /home/rpl/franka_ros2_ws/install/franka_moveit_config/share/franka_moveit_config/config/panda_ros_controllers.yaml -r joint_states:=franka/joint_states'].
[INFO] [launch]: process[ros2_control_node-4] was required: shutting down launched system
[INFO] [franka_gripper_node-6]: sending signal 'SIGINT' to process[franka_gripper_node-6]
[INFO] [joint_state_publisher-5]: sending signal 'SIGINT' to process[joint_state_publisher-5]
[INFO] [move_group-3]: sending signal 'SIGINT' to process[move_group-3]
[INFO] [robot_state_publisher-2]: sending signal 'SIGINT' to process[robot_state_publisher-2]
[INFO] [rviz2-1]: sending signal 'SIGINT' to process[rviz2-1]
[franka_gripper_node-6] [INFO] [1675419011.078615591] [rclcpp]: signal_handler(signal_value=2)
[move_group-3] [INFO] [1675419011.080601808] [rclcpp]: signal_handler(signal_value=2)
[robot_state_publisher-2] [INFO] [1675419011.082003243] [rclcpp]: signal_handler(signal_value=2)
[rviz2-1] [INFO] [1675419011.083257282] [rclcpp]: signal_handler(signal_value=2)
[move_group-3] [INFO] [1675419011.090332322] [moveit.ros_planning_interface.moveit_cpp]: Deleting MoveItCpp
[move_group-3] [INFO] [1675419011.091618592] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Stopped publishing maintained planning scene.
[move_group-3] [INFO] [1675419011.092063162] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Stopping world geometry monitor
[move_group-3] [INFO] [1675419011.092272626] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Stopping planning scene monitor
[INFO] [robot_state_publisher-2]: process has finished cleanly [pid 261826]
[move_group-3] Warning: class_loader.ClassLoader: SEVERE WARNING!!! Attempting to unload library while objects created by this loader exist in the heap! You should delete your objects before attempting to unload the library or destroying the ClassLoader. The library will NOT be unloaded.
[move_group-3] at line 127 in /tmp/binarydeb/ros-foxy-class-loader-2.0.3/src/class_loader.cpp
[INFO] [move_group-3]: process has finished cleanly [pid 261828]
[move_group-3]
[INFO] [joint_state_publisher-5]: process has finished cleanly [pid 261832]
[rviz2-1] [INFO] [1675419011.132836383] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Stopping planning scene monitor
[INFO] [franka_gripper_node-6]: process has finished cleanly [pid 261834]
[INFO] [rviz2-1]: process has finished cleanly [pid 261824]
Hi,
Friendly ros2_control maintainer here :) Recently we merged support for effort interfaces into joint_trajectory_controller
from ros2_controllers repository. I think and (hope) this makes your joint_effort_trajectory_controllers
obsolete. Maybe I am missing something, and you have a bit of different functionality of it which I didn't see scoping the code. Fell free to ask any questions about functionality or features on ros2_controllers repository.
P.S. Please don't hesitate to close this issue if you find it irrelevant.
Hi Franka Emika Development Team,
I am in the process of developing controllers based on the examples given in this repository. In order to test my controller software I planned to run the software against a MuJoCo simulation of my robot. I have the MuJoCo integration working and the example controllers from this repository running in MuJoCo however, I am facing issue in getting the example controllers stable in MuJoCo.
I had the following question resulting from this that I was hoping it might be possible to get advice on. I wished to ask when developing controllers for the FER and/or FR3, is there a recommended testing protocol to ensure the safety of the hardware when testing a given controller implementation (e.g. test in simulation, protocols for deploying on real hardware)? When it comes to tuning controller parameters on both platforms are there any guides/advice the development team would provide on this (should I assume standard manual tuning practices)?
Currently, I was trying to visualize the dynamic parameters of the robot using the command
ros2 launch franka_bringup model_example_controller.launch.py robot_ip:=dont-care use_fake_hardware:=true use_rviz:=true
But I get the following output:
I think that it interprets the robot name as a state and it gives an error.
I am using libfranka 0.13.2 and franka_ros2 0.1.11.
There are still many users of the now EOL Franka Panda robots that are stuck on firmware version 4 and libfranka 0.9.
If it is not possible to support libfranka 0.9 and >= 0.10 in parallel on the humble
branch, then it would alternatively be very useful to have a "legacy" branch in this upstream repo to (unofficially) support Franka robots with firmware version 4 and libfranka 0.9 with backports. The tag v0.1.0
is the last one that supports libfranka 0.9 as newer versions are requesting higher libfranka versions.
Could someone create a branch from this tag? My suggestions for naming would be legacy
or fer1
for "Franka Emika Robot 1".
When I use the Cartesian pose interface through franka_semantic_components
, the arm seems to ignore the Cartesian stiffness values I set through the /service_center
. The Joint impedance values are respected, but no matter how low I set the Cartesian stiffness values, the arm is not compliant in Cartesian space.
To replicate this, you can add the following code to the on_configure
method of the CartesianImpedanceExampleController
class. Am I missing some way to configure the arm for compliant motion in Cartesian space?
auto client =
get_node()->create_client<franka_msgs::srv::SetCartesianStiffness>("service_server/set_cartesian_stiffness");
auto request = std::make_shared<franka_msgs::srv::SetCartesianStiffness::Request>(franka_msgs::srv::SetCartesianStiffness::Request());
request->cartesian_stiffness.at(0) = 10;
request->cartesian_stiffness.at(1) = 10;
request->cartesian_stiffness.at(2) = 10;
request->cartesian_stiffness.at(3) = 10;
request->cartesian_stiffness.at(4) = 10;
request->cartesian_stiffness.at(5) = 10;
auto future_result = client->async_send_request(request);
future_result.wait_for(seconds(1));
auto success = future_result.get();
if (!success) {
RCLCPP_FATAL(get_node()->get_logger(), "Failed to set Cartesian stiffness.");
return controller_interface::CallbackReturn::ERROR;
} else if (!success->success) {
RCLCPP_FATAL(get_node()->get_logger(), "Failed to set Cartesian stiffness.");
return controller_interface::CallbackReturn::ERROR;
} else {
RCLCPP_INFO(get_node()->get_logger(), "Cartesian stiffness set.");
}
Could you possibly provide a franka ros2(FR3 Robot)interface providing low-level control of the robot using Python API?
I noticed that there is a discrepancy between the franka_description
package for the ROS and ROS 2 repositories.
Are there plans to port changes? Is it worth opening a pr?
Hi,
I would like to have cartesian control of the Franka robot. Unfortunately, no cartesian position or velocity controllers are implemented.
Are there any plans to release such controllers soon? If not, could someone point out what I would need to do to implement a cartesian position controller myself?
All the best,
Jens
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.