GithubHelp home page GithubHelp logo

action_bridge's People

Contributors

hsd-dev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

action_bridge's Issues

Support on ROS2 client to ROS 1 server

I am currently trying to use a ROS 2 action client to call the follow_joint_trajectory action server hosted on the Melodic gazebo_ros_control, since it is unavailable in Dashing yet.

Currently your action bridge only seems to support one direction, which is bridging the ROS 1 client and the ROS2 server. It will be nice to have the reversed direction as well.

follow_joint_trajectory.hpp: No such file or directory

i was trying to give it a shot, but facing build problem here,
using docker image ubuntu16.04 / ROS melodic&crystal.

--- stderr: action_bridge
/root/ros2_intro_colcon/src/action_bridge/src/action_bridge_follow_joint_trajectory.cpp:28:10: fatal error: control_msgs/action/follow_joint_trajectory.hpp: No such file or directory
 #include "control_msgs/action/follow_joint_trajectory.hpp"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/action_bridge_follow_joint_trajectory_node.dir/src/action_bridge_follow_joint_trajectory.cpp.o] Error 1
make[1]: *** [CMakeFiles/action_bridge_follow_joint_trajectory_node.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< action_bridge      [ Exited with code 2 ]

confirmed control-msgs packages are installed on host for melodic and crystal.

~/ros2_intro_colcon# dpkg -l | grep control_msgs
ii  ros-crystal-control-msgs                           2.1.0-0bionic.20190402.205335        amd64        control_msgs contains base messages and actions useful for controlling robots.
ii  ros-melodic-control-msgs                           1.5.0-0bionic.20190319.071503        amd64        control_msgs contains base messages and actions useful for controlling robots.

bad_alloc after getting goal response

For my reference: https://github.com/ipa-hsd/action_bridge/tree/dashing-devel

ros2 run --prefix=gdb action_bridge action_bridge_fibonacci_node   

GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/hsd/dev/bridge_ws/install/action_bridge/lib/action_bridge/action_bridge_fibonacci_node...(no debugging symbols found)...done.
(gdb) run
Starting program: /home/hsd/dev/bridge_ws/install/action_bridge/lib/action_bridge/action_bridge_fibonacci_node 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffed9b3700 (LWP 537)]
[New Thread 0x7fffed1b2700 (LWP 538)]
[New Thread 0x7fffec9b1700 (LWP 539)]
[New Thread 0x7fffe7fff700 (LWP 540)]
[New Thread 0x7fffe5c7b700 (LWP 541)]
[New Thread 0x7fffe547a700 (LWP 542)]
[New Thread 0x7fffe4c79700 (LWP 543)]
[New Thread 0x7fffd7fff700 (LWP 544)]
[New Thread 0x7fffd77fe700 (LWP 545)]
[New Thread 0x7fffd6ffd700 (LWP 546)]
[New Thread 0x7fffd63de700 (LWP 547)]
[New Thread 0x7fffd55cb700 (LWP 548)]
[New Thread 0x7fffd4dca700 (LWP 549)]
[New Thread 0x7fffbffff700 (LWP 550)]
[New Thread 0x7fffbf7fe700 (LWP 551)]
[INFO] [action_bridge_fibonacci]: Sending goal
[New Thread 0x7fffbeffd700 (LWP 568)]
[New Thread 0x7fffbe7fc700 (LWP 569)]
goal accepted
[Thread 0x7fffbeffd700 (LWP 568) exited]
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

Thread 1 "action_bridge_f" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6)
    at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff5698801 in __GI_abort () at abort.c:79
#2  0x00007ffff5ced957 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff5cf3ab6 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007ffff5cf3af1 in std::terminate() ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007ffff5cf3d24 in __cxa_throw ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff5cf429c in operator new(unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007ffff5d85bc7 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
---Type <return> to continue, or q <return> to quit---
#8  0x00007ffff5d85f19 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x000055555557f45f in actionlib_msgs::GoalID_<std::allocator<void> >::operator=(actionlib_msgs::GoalID_<std::allocator<void> > const&) ()
#10 0x000055555557f489 in actionlib_msgs::GoalStatus_<std::allocator<void> >::operator=(actionlib_msgs::GoalStatus_<std::allocator<void> > const&) ()
#11 0x00005555555aa90e in actionlib::ActionServer<actionlib_tutorials::FibonacciAction_<std::allocator<void> > >::publishFeedback(actionlib_msgs::GoalStatus_<std::allocator<void> > const&, actionlib_tutorials::FibonacciFeedback_<std::allocator<void> > const&) ()
#12 0x0000555555583508 in actionlib::ServerGoalHandle<actionlib_tutorials::FibonacciAction_<std::allocator<void> > >::publishFeedback(actionlib_tutorials::FibonacciFeedback_<std::allocator<void> > const&) ()
#13 0x000055555557d5bd in ActionBridge<actionlib_tutorials::FibonacciAction_<std::allocator<void> >, example_interfaces::action::Fibonacci>::GoalHandler::handle()::{lambda(std::shared_ptr<rclcpp_action::ClientGoalHandle<example_interfaces::action::Fibonacci> >, auto:1)#2}::operator()<std::shared_ptr<example_interfaces::action::Fibonacci_Feedback_<std::allocator<void> > const> > ()
#14 0x0000555555591e9f in std::_Function_handler<void (std::shared_ptr<rclcpp_action::ClientGoalHandle<example_interfaces::action::Fibonacci> >, std::shared_ptr<example_interfaces::action::Fibonacci_Feedback_<std::allocator<void> > const>), ActionBridge<actionlib_tutorials::FibonacciAction_<std::allocator<void> >, example_interfaces::action::Fibonacci>::GoalHandler::handle()::{lambda(std::shared_ptr<rclcpp_action::ClientGoalHandle<example_interfaces::action::Fibonacci> >, auto:1)#2}>::_M_invoke(std::_Any_data const&, std::shared_ptr<rclcpp_action::ClientGoalHandle<example_interfaces::action::Fibonacci> >&&, std::shared_ptr<example_interfaces::action::Fibonacci_Feedback_<std::allocator<void> > const>&&) ()
#15 0x00005555555afb7d in std::function<void (std::shared_ptr<rclcpp_action::ClientGoalHandle<example_interfaces::action::Fibonacci> >, std::shared_ptr<example_interfaces::action::Fibonacci_Feedback_<std::allocator<void> > const>)>::operator()(std::shared_ptr<rclcpp_action::ClientGoalHandle<example_interfaces::action::Fibonacci> >, std::shared_ptr<example_interfaces::action::Fibonacci_Feedback_<std::allocator<void> > const>) const ()
#16 0x00005555555acac9 in rclcpp_action::ClientGoalHandle<example_interfaces::action::Fibonacci>::call_feedback_callback(std::shared_ptr<rclcpp_action::ClientGoalHandle<example_interfaces::action::Fibonacci> >, std::shared_ptr<example_interfaces::action::Fibonacci_Feedback_<std::allocator<void> > const>) ()
#17 0x00005555555a9e64 in rclcpp_action::Client<example_interfaces::action::Fibonacci>::handle_feedback_message(std::shared_ptr<void>) ()
#18 0x00007ffff696403f in rclcpp_action::ClientBase::execute() () from /opt/ros/dashing/lib/librclcpp_action.so
#19 0x00007ffff669cc7f in rclcpp::executor::Executor::execute_any_executable(rclcpp::executor::AnyExecutable&) ()
   from /opt/ros/dashing/lib/librclcpp.so
#20 0x00007ffff66a2f2f in rclcpp::executors::SingleThreadedExecutor::spin() () from /opt/ros/dashing/lib/librclcpp.so
#21 0x00007ffff669fc32 in rclcpp::spin(std::shared_ptr<rclcpp::node_interfaces::NodeBaseInterface>) () from /opt/ros/dashing/lib/librclcpp.so
#22 0x00007ffff669feeb in rclcpp::spin(std::shared_ptr<rclcpp::Node>) () from /opt/ros/dashing/lib/librclcpp.so
#23 0x00005555555747ce in ActionBridge<actionlib_tutorials::FibonacciAction_<std::allocator<void> >, example_interfaces::action::Fibonacci>::main(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, char**) ()
#24 0x000055555556d093 in main ()

On the ROS1 action client side, I get:

$ rosrun actionlib_tutorials fibonacci_client
[ INFO] [1562932615.221419967]: Waiting for action server to start.
[ INFO] [1562932615.608441769]: Action server started, sending goal.
[ WARN] [1562932621.009234296]: Transitioning goal to LOST
[ INFO] [1562932621.009466688]: Action finished: LOST

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.