Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

relaxed_ik_rust fails #25

Open
bomarali opened this issue Feb 24, 2021 · 14 comments
Open

relaxed_ik_rust fails #25

bomarali opened this issue Feb 24, 2021 · 14 comments

Comments

@bomarali
Copy link

bomarali commented Feb 24, 2021

Hi all,

I am trying the dev branch rust version relaxed_ik_rust on ROS Melodic with UR5 robot. I get the following fail:
...bunch of what I assume Rust warnings, then
warning: 118 warnings emitted
Finished dev [optimized + debuginfo] target(s) in 0.07s
Running target/debug/relaxed_ik_node
solver initialized!
thread 'main' panicked at 'attempted to leave type linked_hash_map::Node<yaml::Yaml, yaml::Yaml> uninitialized, which is invalid', /rustc/cb75ad5db02783e8b0222fee363c5f63f7e2cf5b/library/core/src/mem/mod.rs:659:9
[relaxed_ik_node-1] process has finished cleanly
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete

The python version works as intended, I haven't tested the Julia version yet. Any advice?

@hanlinniu
Copy link

I have the same problem mate, have you solved it?

@djrakita
Copy link
Collaborator

Could one of you send the info file and urdf that you're using when you get this error? I will hopefully be able to figure it out from there. Thanks!

@hanlinniu
Copy link

Could one of you send the info file and urdf that you're using when you get this error? I will hopefully be able to figure it out from there. Thanks!

Hi mate, thank you very much for your reply! now we have problem of installing rust! Several months ago, my old laptops all work for installing rust, but now, rust does not work for two of my new laptops. When I run roslaunch relaxed_ik relaxed_ik_rust.launch, it says: sh: 1: cargo: not found.. After I install rust using: https://www.rust-lang.org/tools/install, I found it have the problem mentioned above: 'thread 'main' panicked at 'attempted to leave type linked_hash_map::Node<yaml::Yaml, yaml::Yaml> uninitialized'

@djrakita
Copy link
Collaborator

interesting...I see that rust just released their version 1.50, I wonder if that caused some subtle breaking changes for some other crates (e.g., maybe Yaml in this case). Maybe try reverting to/ installing an older version of rust to see if that makes a difference? https://users.rust-lang.org/t/how-can-i-revert-to-older-version-of-rust/20497

I'm currently using rust 1.46 and everything is working fine, so maybe that's a good version to try first.

@hanlinniu
Copy link

interesting...I see that rust just released their version 1.50, I wonder if that caused some subtle breaking changes for some other crates (e.g., maybe Yaml in this case). Maybe try reverting to/ installing an older version of rust to see if that makes a difference? https://users.rust-lang.org/t/how-can-i-revert-to-older-version-of-rust/20497

I'm currently using rust 1.46 and everything is working fine, so maybe that's a good version to try first.

Thank you very much, I finally made it work by using: sudo apt install rustc

@bryceikeda
Copy link

bryceikeda commented Mar 23, 2022

@djrakita I too am having this issue but with a slightly different error. Reverting to an older Rust (1.46) did not fix the issue.

I am using the Fetch robot urdf and below is the info file. Do you have any other suggestions? Thank you for the help.

Error Output
solver initialized!
thread 'main' panicked at 'called Option::unwrap() on a None value', src/bin/lib/utils_rust/yaml_utils.rs:82:66
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

Line 82 seems to be here

let starting_config_arr = doc["starting_config"].as_vec().unwrap();
    for i in 0..starting_config_arr.len() {
    starting_config.push(starting_config_arr[i].as_f64().unwrap());
}
urdf_file_name: "fetch.urdf"
fixed_frame: "base_link"
joint_names: [ [ "torso_lift_joint", "shoulder_pan_joint", "shoulder_lift_joint", "upperarm_roll_joint", "elbow_flex_joint", "forearm_roll_joint", "wrist_flex_joint", "wrist_roll_joint" ] ]
joint_ordering: [ "torso_lift_joint", "shoulder_pan_joint", "shoulder_lift_joint", "upperarm_roll_joint", "elbow_flex_joint", "forearm_roll_joint", "wrist_flex_joint", "wrist_roll_joint" ]
ee_fixed_joints: [ "gripper_axis" ]
starting_config: [ 0, 0, 0, 0, 0, 0, 0, 0 ]
collision_file_name: "fetch_collision.yaml"
collision_nn_file: "fetch_nn"
path_to_src: "/home/bryce/ros_projects/relaxed_ik_repo/src/relaxed_ik/src/"
axis_types: [ [ "z", "z", "y", "x", "y", "x", "y", "x" ] ]
velocity_limits: [ 0.1, 1.256, 1.454, 1.571, 1.521, 1.571, 2.268, 2.268 ]
joint_limits: [ [0.0,0.38615], [-1.6056,1.6056], [-1.221,1.518], [-15.0,15.0], [-2.251,2.251], [-15.0,15.0], [-2.16,2.16], [-15.0,15.0] ]
displacements: [ [ [0.119525,0.0,0.34858], [0.117,0.0,0.06], [0.219,0.0,0.0], [0.133,0.0,0.0], [0.197,0.0,0.0], [0.1245,0.0,0.0], [0.1385,0.0,0.0], [0.16645,0.0,0.0] ] ]
disp_offsets: [ [-0.086875,0.0,0.37743] ]
rot_offsets: [ [ [-6.123e-17,0.0,0.0], [0.0,0.0,0.0], [0.0,0.0,0.0], [0.0,0.0,0.0], [0.0,0.0,0.0], [0.0,0.0,0.0], [0.0,0.0,0.0], [0.0,0.0,0.0], [0.0,0.0,0.0] ] ]
joint_types: [ [ "prismatic", "revolute", "revolute", "continuous", "revolute", "continuous", "revolute", "continuous" ] ]
joint_state_define_func_file: "fetch_joint_state_define"

@bryceikeda
Copy link

I was able to fix this by changing starting_config values to be 0 rather than 0.0. Rust works now!

@connormbrooks
Copy link

I was able to fix this by changing starting_config values to be 0 rather than 0.0. Rust works now!

Saved me some time, @bryceikeda :D

@dashuaip
Copy link

dashuaip commented Aug 31, 2024

I was able to fix this by changing starting_config values to be 0 rather than 0.0. Rust works now!

This still didn't useful for me.

@yepw
Copy link
Collaborator

yepw commented Aug 31, 2024

Hi @dashuaip , did you have a chance to try out relaxed_ik_core? It is a separate repo compatible with newer Rust and Ubuntu versions.

@dashuaip
Copy link

dashuaip commented Aug 31, 2024

Hi @dashuaip , did you have a chance to try out relaxed_ik_core? It is a separate repo compatible with newer Rust and Ubuntu versions.

Actually, I'm using relaxed_ik_ros1. I needed to use the dev branch of relaxed_ik to make the files suitable for my robot, and the process went smoothly. But when I started "roslaunch relaxed_ik_ros1 relaxed_ik_rust.launch", it had the same problem. I've tried downgrading the version of Rust and changing the parameters in the file, but they did't work.

Waiting for ROS param /simulation_time to be set as go...id
ROS param /simulation_time is set up!

Waiting for the keyboard_ikgoal_driver being initialized...
thread '<unnamed>' panicked at src/utils_rust/yaml_utils.rs:85:66:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
[relaxed_ik-1] process has died [pid 5720, exit code -6, cmd /home/jh/c_ros/src/relaxed_ik_ros1/src/relaxed_ik_rust.py __name:=relaxed_ik __log:=/home/jh/.ros/log/c430946c-6793-11ef-9845-51237c74ab37/relaxed_ik-1.log].
log file: /home/jh/.ros/log/c430946c-6793-11ef-9845-51237c74ab37/relaxed_ik-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done

@yepw
Copy link
Collaborator

yepw commented Aug 31, 2024

At first glance, the error might occur because the setting file doesn't have axis_types.

@dashuaip
Copy link

dashuaip commented Aug 31, 2024

At first glance, the error might occur because the setting file doesn't have axis_types.

This is the setting file "aubo_i10_info.yaml". It was generated with the dev branch. Is there a problem in the file?

urdf_file_name: "aubo_i10.urdf"
fixed_frame: "base_link"
joint_names: [ [ "shoulder_joint", "upperArm_joint", "foreArm_joint", "wrist1_joint", "wrist2_joint", "wrist3_joint" ] ]
joint_ordering: [ "shoulder_joint", "upperArm_joint", "foreArm_joint", "wrist1_joint", "wrist2_joint", "wrist3_joint" ]
ee_fixed_joints: [ "ee_fixed_joint" ]
starting_config: [ 0, 0, 1.57, 0, 1.57, 0 ]
collision_file_name: "collision_aubo_i10.yaml"
collision_nn_file: "aubo_i10_nn"
path_to_src: "/home/r/collision_ws/src/relaxed_ik-dev/src"
axis_types: [ [ "z", "z", "z", "z", "z", "z" ] ]
velocity_limits: [ 100.0, 100.0, 100.0, 100.0, 100.0, 100.0 ]
joint_limits: [ [-3.04,3.04], [-3.04,3.04], [-3.04,3.04], [-3.04,3.04], [-3.04,3.04], [-3.04,3.04] ]
displacements: [ [ [0.0,0.2013,0.0], [0.647,0.0,0.0], [0.6005,0.0,0.0], [0.0,0.1025,0.0], [0.0,-0.094,0.0], [0.0,0.0,0.0] ] ]
disp_offsets: [ [0.0,0.0,0.1632] ]
rot_offsets: [ [ [0.0,0.0,3.1416], [-1.5708,-1.5708,0.0], [3.1416,0.0,0.0], [-3.1416,0.0,1.5708], [-1.5708,0.0,0.0], [1.5708,0.0,0.0], [0.0,0.0,0.0] ] ]
joint_types: [ [ "revolute", "revolute", "revolute", "revolute", "revolute", "revolute" ] ]
joint_state_define_func_file: "aubo_i10_joint_state_define"

@dashuaip
Copy link

dashuaip commented Aug 31, 2024

I finally fixed it successfully. I changed the value of starting_config, and although it looks the same. It stopped reporting errors.

starting_config: [0.0, 0.0, 1.57, 0.0, 1.57, 0.0]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants