Giter Site home page Giter Site logo

ut-austin-rpl / deoxys_control Goto Github PK

View Code? Open in Web Editor NEW
104.0 1.0 13.0 24.09 MB

A modular, real-time controller library for Franka Emika Panda robots

License: Apache License 2.0

CMake 2.64% Shell 0.95% Makefile 0.32% Python 51.09% C++ 44.83% C 0.17%
learning manipulation robotics

deoxys_control's People

Stargazers

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

Watchers

 avatar

deoxys_control's Issues

while I run ./auto_scripts/auto_arm.sh config/charmander.yml

while I run
./auto_scripts/auto_arm.sh config/charmander.yml

get
"
Make sure you are in the Performance Mode!!!
performance performance performance performance performance performance
bin/franka-interface: error while loading shared libraries: libyaml-cpp.so.0.8: cannot open shared object file: Error 40
bin/franka-interface: error while loading shared libraries: libyaml-cpp.so.0.8: cannot open shared object file: Error 40
bin/franka-interface: error while loading shared libraries: libyaml-cpp.so.0.8: cannot open shared object file: Error 40
bin/franka-interface: error while loading shared libraries: libyaml-cpp.so.0.8: cannot open shared object file: Error 40
bin/franka-interface: error while loading shared libraries: libyaml-cpp.so.0.8: cannot open shared object file: Error 40
bin/franka-interface: error while loading shared libraries: libyaml-cpp.so.0.8: cannot open shared object file: Error 40
bin/franka-interface: error while loading shared libraries: libyaml-cpp.so.0.8: cannot open shared object file: Error 40
bin/franka-interface: error while loading shared libraries: libyaml-cpp.so.0.8: cannot open shared object file: Error 40
bin/franka-interface: error while loading shared libraries: libyaml-cpp.so.0.8: cannot open shared object file: Error 40
"

How to combine this controller with motion planner?

How do I combine the controller with some motion planner?
When I use the osc controller to move the robot to a far point, it would be inaccuracy.
However, when I apply the generated trajectory with the joint controller, although this motion is accurate, the control is not smooth, I wonder how to solve this problem.

I would appreciate it if you could help me.

Robosuite to real arm implementation

Hi,

Thank you for this repository..
I'm trying to deploy a RL model that is trained on robosuite environment to a real Panda arm.
my settings: environment: Lift, controller OSC-POSE, is_delta= True, the model gets observations (42,) as input and outputs actions (7,)

  • How to get eef_pos and eef_quat to include it in the observations (is it in base frame or in world frame which are not consistent in the simulator, also it is not clear if it comes from gripper_eef or from hand_pose). would I use FrankaState msg O_T_EE or another one.
  • I calculated the target pose from the model's output actions in the same way you did but it did not work (there is extra rotation when it gets close to the object), while the actions output represents 'delta_pose' in position and axis angles, is it in world frame or base frame? do I need to get delta pose in base frame first?

Many thanks, and I appreciate any help.

regards

Cannot open SpaceMouse

I use SpaceMouse Compact. The vendor_id=9583, product_id=50741
But it seems that hid cannot open the device when I run python examples/run_deoxys_with_spacemouse.py

Traceback (most recent call last):
  File "examples/run_deoxys_with_space_mouse.py", line 71, in <module>
    main()
  File "examples/run_deoxys_with_space_mouse.py", line 26, in main
    device = SpaceMouse(vendor_id=args.vendor_id, product_id=args.product_id)
  File "/home/isrlab/codebase/deoxys_control/deoxys/deoxys/utils/io_devices/spacemouse.py", line 118, in __init__
    self.device.open(vendor_id, product_id)  # SpaceMouse
  File "hid.pyx", line 142, in hid.device.open
OSError: open failed

I get the vendor_id and product_id from hid.enumerate(). I found that after connecting the SpaceMouse to the computer, this item will appear, so I am sure this is its id. I don’t know if these outputs mean that the spacemouse is successfully connected.
iGm9VBdTJh

self.roll = convert(d[7], d[8]) IndexError: list index out of range

when I run python examples/run_deoxys_with_space_mouse.py
I get
pybullet build time: May 20 2022 19:44:17
Opening SpaceMouse device
Manufacturer: 3Dconnexion
Product: SpaceMouse Compact

Control Command
Right button reset simulation
Left button (hold) close gripper
Move mouse laterally move arm horizontally in x-y plane
Move mouse vertically move arm vertically
Twist mouse about an axis rotate arm about a corresponding axis
ESC quit

7
Exception in thread Thread-1:
Traceback (most recent call last):
File "/home/rl/miniconda3/envs/deoxys/lib/python3.8/threading.py", line 932, in _bootstrap_inner
OSC_POSE
self.run()
File "/home/rl/miniconda3/envs/deoxys/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/home/rl/Documents/deoxys_control/deoxys/deoxys/utils/io_devices/spacemouse.py", line 236, in run
self.roll = convert(d[7], d[8])
IndexError: list index out of range

Robosuite compatibilty !

@zhuyifengzju
I have a simple question.

In the ReadMe, it is written that "If you are a robosuite user, Deoxys APIs provide seamless transfer from you simulation codebase to real robot experiments!"

I am not able to find any such information or tutorial in the documentation.
What do the lines actually mean? Is it for sim2real transfer or transfer of codebase from RoboSuite to the Deoxys pipeline? Please explain.

RTOS installation is not working properly

Hi,

Thanks for the great work. Unfortunately, I am not able to work-with properly the RTOS on the NUC-11.
The precompiled rt-lernel-5.11.4-rt11 doesn't seems to be compatible with NUC hardware.
The speed is slow and the ethernet is not working which is essential for the robot.

Can you provide or direct towards the newer precompiled rt kernel versions.

Yet another implementation of OSC move

def move_to_coord(target, gripper, max_step=100, action_scale=0.7, scale_factor_low=0.5, scale_factor_high=2.0, tol=5e-3):
    distance = 100
    prev_pos = np.zeros(3)
    
    while True:
        if len(robot_interface._state_buffer) == 0 or np.max(np.abs(robot_interface.last_state.O_T_EE)) < 1e-3:
            continue
        break
    for step in range(max_step):
        if len(robot_interface._state_buffer) > 0:
            cur_joint = robot_interface._state_buffer[-1].q
            # cur_pos = urdf_model.get_link_pose(cur_joint, 3)[0]
            # cur_pos = np.array(cur_pos)
            _, cur_pos = robot_interface.last_eef_rot_and_pos
            cur_pos = cur_pos.reshape(3)
            offset = target - cur_pos
            distance = np.linalg.norm(offset)
            # print(offset, distance, tol)
            if distance < tol:
                break
            delta = np.linalg.norm(cur_pos - prev_pos)
            prev_pos = cur_pos
            # print(distance, delta)
            if np.max(np.abs(np.array(cur_joint) - np.zeros(7))) < 5e-3:
                action = np.zeros(3)
            else:
                action = np.copy(offset) / np.linalg.norm(offset)
                action *= action_scale
                if distance < tol * 10:
                    action *= scale_factor_low
                if delta < tol and step > 0.2 * max_step:
                    # stopped for a while
                    rel_scale = (1.0 * step / max_step - 0.2) * 2
                    rel_scale = (1 - rel_scale) + rel_scale * scale_factor_high
                    action *= rel_scale
                action = np.clip(action, a_min=-1, a_max=1)
        else:
            action = np.zeros(3)
        gripper_state = -1.0 if gripper else 1.0
        action = np.concatenate((action, np.array([0, 0, 0, gripper_state])))
        controller_cfg.state_estimator_cfg.is_estimation = True
        controller_cfg.state_estimator_cfg.alpha_eef = 0.8
        robot_interface.control(
            controller_type=controller_type, action=action, controller_cfg=controller_cfg
        )
    return distance < tol #, distance, offset #, cur_joint

Robot doesn't move when running the example scripts

I tried running several example scripts but the robot doesn't move.

However, when I run the commane ./auto_scripts/auto_gripper.sh config/charmander.yml, the gripper can close and open.

After running examples/position_only_movement.py , I got the following log files::
debug.log

[Deoxys WARNING] 2024-01-08 21:35:30,801 - This is a beta script
[Deoxys ERROR] 2024-01-08 21:36:06,820 - NO errors. Just need to test error message

error.log

[Deoxys ERROR] 2024-01-08 21:36:06,820 - NO errors. Just need to test error message
[Deoxys ERROR] 2024-01-08 21:36:06,820 - NO errors. Just need to test error message

Output in terminal:

[Deoxys Examples WARNING] This is a beta script (Ln 28)
OSC_POSITION
OSC_POSITION
OSC_POSITION
OSC_POSITION
OSC_POSITION
OSC_POSITION
OSC_POSITION
[Deoxys Examples ERROR] NO errors. Just need to test error message (Ln 51)

After running examples/reset_robot_joints.py, I got the following:
debug.log

[Deoxys INFO] 2024-01-08 21:40:31,876 - Current Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921]
[Deoxys INFO] 2024-01-08 21:40:31,877 - Desired Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921]
[Deoxys INFO] 2024-01-08 21:40:31,878 - Current Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921]
[Deoxys INFO] 2024-01-08 21:40:31,879 - Desired Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921]
[Deoxys INFO] 2024-01-08 21:40:31,928 - Current Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921]
[Deoxys INFO] 2024-01-08 21:40:31,929 - Desired Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921]
[Deoxys INFO] 2024-01-08 21:40:31,978 - Current Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921]
[Deoxys INFO] 2024-01-08 21:40:31,979 - Desired Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921]
[Deoxys INFO] 2024-01-08 21:40:32,029 - Current Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921]
[Deoxys INFO] 2024-01-08 21:40:32,030 - Desired Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921]
[Deoxys INFO] 2024-01-08 21:40:32,078 - Current Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921]
[Deoxys INFO] 2024-01-08 21:40:32,079 - Desired Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921]
.....

Output in terminal:

pybullet build time: Nov 28 2023 23:51:11
[Deoxys Examples INFO] Current Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921] (Ln 83)
[Deoxys Examples INFO] Desired Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921] (Ln 84)
[Deoxys Examples INFO] Current Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921] (Ln 83)
[Deoxys Examples INFO] Desired Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921] (Ln 84)
[Deoxys Examples INFO] Current Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921] (Ln 83)
[Deoxys Examples INFO] Desired Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921] (Ln 84)
[Deoxys Examples INFO] Current Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921] (Ln 83)
[Deoxys Examples INFO] Desired Robot joint: [-2.299  0.54   2.288 -2.452 -0.426  2.059  0.921] (Ln 84)
...

Which goes on forever.

Doesn't seem like the desired position successfully went to the robot. Do you have any insights on what the issue was? Many thanks!

Facing some issues when using space-mouse !!

Hi @zhuyifengzju @ut-rpl-robots

I am facing some issues while using the space mouse to control the Panda Franka robot:

(1) When running the example/run_deoxys_with_space_mouse.py , my robot had a slow free-fall (as if it were happening due to gravity). Is it a normal behaviour when using the space mouse? I think it should not be. I have tested the other examples for different controllers, and they are running fine.

(2) My space mouse has vendor-id=9583 and product-id=50741. Which seems a bit older. Your code does not support this device, but RoboSuite does. I imported the code from RoboSuite, and it does work with deoxys as well. The only issue is that when I pressed the right button of the space mouse, it simply threw an error and exited.

Firstly, is there any reason for removing the support for this device in deoxys?
Secondly, is the right-button behavior required for a real robot?

Protobuf linking issue

Hello,
I have troubles running make -j build_franka=1 and hope you can help me out. This is how I set up my paths:

echo $LD_LIBRARY_PATH
/lib:/usr/local/lib/:/opt/ros/noetic/lib:/opt/ros/noetic/lib/x86_64-linux-gnu

But when I run the make command, it fails linking the depending libraries:

[ 74%] Linking CXX executable zmq-client
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage::ByteSizeLong() const':
franka_robot_state.pb.cc:(.text+0x532): undefined reference to `google::protobuf::Message::MaybeComputeUnknownFieldsSize(unsigned long, google::protobuf::internal::CachedSize*) const'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Duration::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const':
franka_robot_state.pb.cc:(.text+0x674): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x68f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage_Duration::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const':
franka_robot_state.pb.cc:(.text+0x774): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x78f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage::ByteSizeLong() const':
franka_robot_state.pb.cc:(.text+0xe8a): undefined reference to `google::protobuf::Message::MaybeComputeUnknownFieldsSize(unsigned long, google::protobuf::internal::CachedSize*) const'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage_Duration::~FrankaGripperStateMessage_Duration()':
franka_robot_state.pb.cc:(.text+0xf9e): undefined reference to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0xfe4): undefined reference to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Errors::~FrankaRobotStateMessage_Errors()':
franka_robot_state.pb.cc:(.text+0x106e): undefined reference to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x10b4): undefined reference to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Duration::~FrankaRobotStateMessage_Duration()':
franka_robot_state.pb.cc:(.text+0x113e): undefined reference to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o):franka_robot_state.pb.cc:(.text+0x1184): more undefined references to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()' follow
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const':
franka_robot_state.pb.cc:(.text+0x150e): undefined reference to `google::protobuf::io::CodedOutputStream::WriteVarint32ToArrayOutOfLineHelper(unsigned int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x1564): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x157f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x1597): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x15af): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x15c7): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage::~FrankaGripperStateMessage()':
franka_robot_state.pb.cc:(.text+0x1629): undefined reference to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x16ca): undefined reference to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x170f): undefined reference to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage::~FrankaRobotStateMessage()':
franka_robot_state.pb.cc:(.text+0x19e0): undefined reference to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage::~FrankaGripperStateMessage()':
franka_robot_state.pb.cc:(.text+0x1b5c): undefined reference to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o):franka_robot_state.pb.cc:(.text+0x1bf9): more undefined references to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()' follow
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Errors::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const':
franka_robot_state.pb.cc:(.text+0x2184): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x219c): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x21b4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x21cc): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x21e4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o):franka_robot_state.pb.cc:(.text+0x21fc): more undefined references to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)' follow
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const':
franka_robot_state.pb.cc:(.text+0x33b4): undefined reference to `google::protobuf::io::CodedOutputStream::WriteVarint32ToArrayOutOfLineHelper(unsigned int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x348b): undefined reference to `google::protobuf::io::CodedOutputStream::WriteVarint32ToArrayOutOfLineHelper(unsigned int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x35c5): undefined reference to `google::protobuf::io::CodedOutputStream::WriteVarint32ToArrayOutOfLineHelper(unsigned int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3627): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3647): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3667): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3684): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3b84): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3b9f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3bb7): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3bcf): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3be4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3c07): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3c1f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3c34): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3c4c): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3c5f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3c77): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3c8c): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3ca7): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3cbc): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3cd7): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3cec): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3d07): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3d1c): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3d34): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3d54): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3d77): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3d8f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3da4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3dc7): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3ddc): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3df4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3e17): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3e2f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3e44): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3e64): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3e87): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3e9c): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3eb7): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3ecf): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3ee4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3f07): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3f1c): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3f34): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3f57): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3f6c): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3f87): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3f9f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3fb4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3fd4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x3ff7): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x400f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4024): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4047): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x405c): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4074): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4097): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x40af): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x40c4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x40e4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4104): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x411f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4134): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x414f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4164): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x417c): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4197): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x41af): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x41c4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x41e7): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x41fc): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4214): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4237): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x424c): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4267): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x427f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4294): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x42b7): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x42cc): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x42e4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4307): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x431f): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4334): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4357): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x436c): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x4384): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x43a7): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x43c7): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x43e4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_RobotMode_descriptor()':
franka_robot_state.pb.cc:(.text+0x4412): undefined reference to `google::protobuf::internal::AssignDescriptors(google::protobuf::internal::DescriptorTable const*, bool)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage_Duration* google::protobuf::Arena::CreateMaybeMessage<FrankaGripperStateMessage_Duration>(google::protobuf::Arena*)':
franka_robot_state.pb.cc:(.text+0x4ea5): undefined reference to `google::protobuf::Arena::AllocateAlignedWithHook(unsigned long, std::type_info const*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage* google::protobuf::Arena::CreateMaybeMessage<FrankaGripperStateMessage>(google::protobuf::Arena*)':
franka_robot_state.pb.cc:(.text+0x4f15): undefined reference to `google::protobuf::Arena::AllocateAlignedWithHook(unsigned long, std::type_info const*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Errors* google::protobuf::Arena::CreateMaybeMessage<FrankaRobotStateMessage_Errors>(google::protobuf::Arena*)':
franka_robot_state.pb.cc:(.text+0x4f95): undefined reference to `google::protobuf::Arena::AllocateAlignedWithHook(unsigned long, std::type_info const*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Duration* google::protobuf::Arena::CreateMaybeMessage<FrankaRobotStateMessage_Duration>(google::protobuf::Arena*)':
franka_robot_state.pb.cc:(.text+0x5005): undefined reference to `google::protobuf::Arena::AllocateAlignedWithHook(unsigned long, std::type_info const*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage* google::protobuf::Arena::CreateMaybeMessage<FrankaRobotStateMessage>(google::protobuf::Arena*)':
franka_robot_state.pb.cc:(.text+0x5079): undefined reference to `google::protobuf::Arena::AllocateAlignedWithHook(unsigned long, std::type_info const*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage_Duration::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
franka_robot_state.pb.cc:(.text+0x575a): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned long, google::protobuf::UnknownFieldSet*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x57da): undefined reference to `google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x5821): undefined reference to `google::protobuf::internal::ReadTagFallback(char const*, unsigned int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x5834): undefined reference to `google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Errors::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
franka_robot_state.pb.cc:(.text+0x5909): undefined reference to `google::protobuf::internal::ReadTagFallback(char const*, unsigned int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x5949): undefined reference to `google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x63fe): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned long, google::protobuf::UnknownFieldSet*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x6470): undefined reference to `google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x648d): undefined reference to `google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x64ad): undefined reference to `google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x64cd): undefined reference to `google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x64ed): undefined reference to `google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o):franka_robot_state.pb.cc:(.text+0x650d): more undefined references to `google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)' follow
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Duration::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
franka_robot_state.pb.cc:(.text+0x69aa): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned long, google::protobuf::UnknownFieldSet*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x6a2a): undefined reference to `google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x6a71): undefined reference to `google::protobuf::internal::ReadTagFallback(char const*, unsigned int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x6a84): undefined reference to `google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
franka_robot_state.pb.cc:(.text+0x9b5a): undefined reference to `google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::MessageLite*, char const*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x9bd4): undefined reference to `google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x9c81): undefined reference to `google::protobuf::internal::ReadTagFallback(char const*, unsigned int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x9cc2): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned long, google::protobuf::UnknownFieldSet*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x9d04): undefined reference to `google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x9d24): undefined reference to `google::protobuf::internal::VarintParseSlow32(char const*, unsigned int)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
franka_robot_state.pb.cc:(.text+0x9e01): undefined reference to `google::protobuf::internal::ReadTagFallback(char const*, unsigned int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x9e3d): undefined reference to `google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0x9e9f): undefined reference to `google::protobuf::internal::PackedDoubleParser(void*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0xa371): undefined reference to `google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::MessageLite*, char const*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0xa516): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned long, google::protobuf::UnknownFieldSet*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0xa55a): undefined reference to `google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)'
/usr/bin/ld: franka_robot_state.pb.cc:(.text+0xa573): undefined reference to `google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage::Clear()':
franka_robot_state.pb.cc:(.text+0xb8ea): undefined reference to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage::CopyFrom(FrankaGripperStateMessage const&)':
franka_robot_state.pb.cc:(.text+0xc1bb): undefined reference to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Errors::ByteSizeLong() const':
franka_robot_state.pb.cc:(.text+0x358): undefined reference to `google::protobuf::Message::MaybeComputeUnknownFieldsSize(unsigned long, google::protobuf::internal::CachedSize*) const'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage_Duration::ByteSizeLong() const':
franka_robot_state.pb.cc:(.text+0x397): undefined reference to `google::protobuf::Message::MaybeComputeUnknownFieldsSize(unsigned long, google::protobuf::internal::CachedSize*) const'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Duration::ByteSizeLong() const':
franka_robot_state.pb.cc:(.text+0x3d7): undefined reference to `google::protobuf::Message::MaybeComputeUnknownFieldsSize(unsigned long, google::protobuf::internal::CachedSize*) const'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage_Duration::GetMetadata() const':
franka_robot_state.pb.cc:(.text+0x3fa): undefined reference to `google::protobuf::internal::AssignDescriptors(google::protobuf::internal::DescriptorTable const* (*)(), std::once_flag*, google::protobuf::Metadata const&)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage::GetMetadata() const':
franka_robot_state.pb.cc:(.text+0x41a): undefined reference to `google::protobuf::internal::AssignDescriptors(google::protobuf::internal::DescriptorTable const* (*)(), std::once_flag*, google::protobuf::Metadata const&)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Errors::GetMetadata() const':
franka_robot_state.pb.cc:(.text+0x43a): undefined reference to `google::protobuf::internal::AssignDescriptors(google::protobuf::internal::DescriptorTable const* (*)(), std::once_flag*, google::protobuf::Metadata const&)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Duration::GetMetadata() const':
franka_robot_state.pb.cc:(.text+0x45a): undefined reference to `google::protobuf::internal::AssignDescriptors(google::protobuf::internal::DescriptorTable const* (*)(), std::once_flag*, google::protobuf::Metadata const&)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage::GetMetadata() const':
franka_robot_state.pb.cc:(.text+0x47a): undefined reference to `google::protobuf::internal::AssignDescriptors(google::protobuf::internal::DescriptorTable const* (*)(), std::once_flag*, google::protobuf::Metadata const&)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage::ByteSizeLong() const':
franka_robot_state.pb.cc:(.text+0x58d): undefined reference to `google::protobuf::Message::MaybeComputeUnknownFieldsSize(unsigned long, google::protobuf::internal::CachedSize*) const'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Duration::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const':
franka_robot_state.pb.cc:(.text+0x667): undefined reference to `google::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet const&, unsigned char*, google::protobuf::io::EpsCopyOutputStream*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage_Duration::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const':
franka_robot_state.pb.cc:(.text+0x767): undefined reference to `google::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet const&, unsigned char*, google::protobuf::io::EpsCopyOutputStream*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage::ByteSizeLong() const':
franka_robot_state.pb.cc:(.text+0xf3a): undefined reference to `google::protobuf::Message::MaybeComputeUnknownFieldsSize(unsigned long, google::protobuf::internal::CachedSize*) const'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaGripperStateMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const':
franka_robot_state.pb.cc:(.text+0x1553): undefined reference to `google::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet const&, unsigned char*, google::protobuf::io::EpsCopyOutputStream*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage_Errors::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const':
franka_robot_state.pb.cc:(.text+0x250b): undefined reference to `google::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet const&, unsigned char*, google::protobuf::io::EpsCopyOutputStream*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `FrankaRobotStateMessage::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const':
franka_robot_state.pb.cc:(.text+0x3616): undefined reference to `google::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet const&, unsigned char*, google::protobuf::io::EpsCopyOutputStream*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `google::protobuf::internal::InternalMetadata::~InternalMetadata()':
franka_robot_state.pb.cc:(.text._ZN6google8protobuf8internal16InternalMetadataD2Ev[_ZN6google8protobuf8internal16InternalMetadataD5Ev]+0x25): undefined reference to `google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `google::protobuf::UnknownFieldSet* google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow<google::protobuf::UnknownFieldSet>()':
franka_robot_state.pb.cc:(.text._ZN6google8protobuf8internal16InternalMetadata27mutable_unknown_fields_slowINS0_15UnknownFieldSetEEEPT_v[_ZN6google8protobuf8internal16InternalMetadata27mutable_unknown_fields_slowINS0_15UnknownFieldSetEEEPT_v]+0x2b): undefined reference to `google::protobuf::Arena::AllocateAlignedWithCleanup(unsigned long, std::type_info const*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o): in function `_GLOBAL__sub_I.00102__FrankaGripperStateMessage_Duration_default_instance_':
franka_robot_state.pb.cc:(.text.startup+0x13): undefined reference to `google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o):(.data.rel.ro+0x0): undefined reference to `google::protobuf::Message::CopyWithSizeCheck(google::protobuf::Message*, google::protobuf::Message const&)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o):(.data.rel.ro+0x10): undefined reference to `google::protobuf::Message::CopyWithSizeCheck(google::protobuf::Message*, google::protobuf::Message const&)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o):(.data.rel.ro+0x20): undefined reference to `google::protobuf::Message::CopyWithSizeCheck(google::protobuf::Message*, google::protobuf::Message const&)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o):(.data.rel.ro+0x30): undefined reference to `google::protobuf::Message::CopyWithSizeCheck(google::protobuf::Message*, google::protobuf::Message const&)'
/usr/bin/ld: libshared_protobuf.a(franka_robot_state.pb.cc.o):(.data.rel.ro+0x40): undefined reference to `google::protobuf::Message::CopyWithSizeCheck(google::protobuf::Message*, google::protobuf::Message const&)'
collect2: error: ld returned 1 exit status
make[3]: *** [CMakeFiles/zmq-client.dir/build.make:87: zmq-client] Fehler 1
make[2]: *** [CMakeFiles/Makefile2:308: CMakeFiles/zmq-client.dir/all] Fehler 2

When I have a look at the CMake cache, the protobuf.so is set up correctly. I would appreciate any help.

Error on make -j build_franka=1

Hi,

I tried couple of times to run your code but there is error when try to do make -j build_franka=1
Here is the output

[ 67%] Building CXX object CMakeFiles/shared_utils.dir/franka-interface/src/utils/common_utils.cpp.o [ 68%] Building CXX object CMakeFiles/shared_utils.dir/franka-interface/src/utils/control_utils.cpp.o [ 69%] Building CXX object CMakeFiles/shared_utils.dir/franka-interface/src/utils/robot_utils.cpp.o [ 69%] Building CXX object CMakeFiles/shared_utils.dir/franka-interface/src/utils/zmq_utils.cpp.o [ 70%] Building CXX object CMakeFiles/shared_utils.dir/franka-interface/src/controllers/osc_impedance.cpp.o [ 71%] Building CXX object CMakeFiles/shared_utils.dir/franka-interface/src/controllers/osc_position_impedance.cpp.o [ 72%] Building CXX object CMakeFiles/shared_utils.dir/franka-interface/src/controllers/osc_yaw_impedance.cpp.o [ 72%] Building CXX object CMakeFiles/shared_utils.dir/franka-interface/src/controllers/joint_position.cpp.o [ 73%] Building CXX object CMakeFiles/shared_utils.dir/franka-interface/src/controllers/joint_impedance.cpp.o /home/etfrobot/panda_ws/src/deoxys_control/deoxys/franka-interface/src/controllers/joint_impedance.cpp: In member function ‘virtual std::array<double, 7ul> controller::JointImpedanceController::Step(const franka::RobotState&, const Eigen::Matrix<double, 7, 1, 0>&)’: /home/etfrobot/panda_ws/src/deoxys_control/deoxys/franka-interface/src/controllers/joint_impedance.cpp:95:50: warning: variable ‘t1’ set but not used [-Wunused-but-set-variable] std::chrono::high_resolution_clock::time_point t1 = ^ [ 74%] Linking CXX static library libshared_utils.a [ 74%] Built target shared_utils [ 75%] Building CXX object CMakeFiles/franka-interface.dir/franka-interface/src/franka_control_node.cpp.o In file included from /home/etfrobot/panda_ws/src/deoxys_control/deoxys/spdlog/include/spdlog/spdlog.h:12:0, from /home/etfrobot/panda_ws/src/deoxys_control/deoxys/franka-interface/src/franka_control_node.cpp:16: /home/etfrobot/panda_ws/src/deoxys_control/deoxys/spdlog/include/spdlog/common.h: In function ‘constexpr spdlog::string_view_t spdlog::details::to_string_view(const memory_buf_t&)’: /home/etfrobot/panda_ws/src/deoxys_control/deoxys/spdlog/include/spdlog/common.h:350:42: error: call to non-constexpr function ‘const T* fmt::v9::detail::buffer<T>::data() const [with T = char]’ return spdlog::string_view_t{buf.data(), buf.size()}; ^ /home/etfrobot/panda_ws/src/deoxys_control/deoxys/franka-interface/src/franka_control_node.cpp: In function ‘int main(int, char**)’: /home/etfrobot/panda_ws/src/deoxys_control/deoxys/franka-interface/src/franka_control_node.cpp:282:7: warning: unused variable ‘state_sub’ [-Wunused-variable] } state_sub{}; ^ CMakeFiles/franka-interface.dir/build.make:75: recipe for target 'CMakeFiles/franka-interface.dir/franka-interface/src/franka_control_node.cpp.o' failed make[3]: *** [CMakeFiles/franka-interface.dir/franka-interface/src/franka_control_node.cpp.o] Error 1 CMakeFiles/Makefile2:297: recipe for target 'CMakeFiles/franka-interface.dir/all' failed make[2]: *** [CMakeFiles/franka-interface.dir/all] Error 2 Makefile:155: recipe for target 'all' failed make[1]: *** [all] Error 2 Makefile:42: recipe for target 'build' failed make: *** [build] Error 2

Missing Dependency in requirements.txt

Thank you for such a useful library.
To successfully run example/position_only_movement.py, it is necessary to install the simplejson library, which seems to be missing from requirements.txt.
Just a reminder :)

Does Deoxys support RGB-D camera calibration?

Hi, thank you for your wonderful work.

Does Deoxys support RGB-D camera calibration? Or is it still necessary to perform camera calibration under ROS, for example, using easy_handeye?

Protobuf version mismatch

When I am trying to install the package on RTOS side with command 'make -j build_franka=1', it giving the following errors:

/home/panda/deoxys_rtos_ws/deoxys_control/deoxys/build/proto/deoxys/franka_controller.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
12 | #error This file was generated by a newer version of protoc which is
| ^~~~~
/home/panda/deoxys_rtos_ws/deoxys_control/deoxys/build/proto/deoxys/franka_controller.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
13 | #error incompatible with your Protocol Buffer headers. Please update
| ^~~~~
/home/panda/deoxys_rtos_ws/deoxys_control/deoxys/build/proto/deoxys/franka_controller.pb.h:14:2: error: #error your headers.

Please help me , I am not able to resove these errors after so much of trying.
Unfortunately, protoc is installed at three locations with three different versions:
/usr/bin/protoc 3.6.1
/usr/local/bin/protoc 3.14.0
~/.local/bin/protoc 3.19.6

It seems the makefile looks for /usr/local/bin/protoc.

The code lines where the errors is coming compare with version 3.14.0 only at franka_controller.pb.h:12:2

Help is required !!

Bug in OSC Impedance Controller (without delta)

I think there is a bug in the method that computes the goal pose of the OCS impedance controller.

In line 92-94, the current end effector position is added to the action. This is in the section of code that is executed if is_delta == false, so it appears to be an error.

Testing the controller on a robot verifies this notion. Even though I specify a fixed target pose from the python side, the end-effector keeps drifting. Removing the term with the current end-effector position fixes this.

PS: Thanks for making this library.

Model inference on the real arm

Hi
Thanks for this repo,
I have a model trained on robosuite it performs perfectly there. But when trying to deploy it on the real robot the movement was realy bad. As a test I recorded the observations for a whole episode in the simulator then just read it and inputed it to the model, the outputted actions are sent to the controller through deoxys as explained in the example. Here the performance is just similar to the simulator smooth and successfull.
But when collecting the observations from the real arm via libfranka msgs and camera the problem comes out. Please consider that I adjusted all the values of eef pose similar to robosuite ( the eef rotation in robosuite is the hand rotation which is eef rotated by -90 degrees. And also all values are in world frame not the robot frame. I tried also using interpolators but did not solve the problem. I'm using realsense webcam and Aruco marker detector from cv2
Would you please give any idea that may help. Also how to make use frm the file osc_benchmark.py as I am using osc controller

Thanks in advance ..

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.