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

Provide installation guidance in Readme.md #2

Closed
tobikellner opened this issue Jun 13, 2022 · 9 comments
Closed

Provide installation guidance in Readme.md #2

tobikellner opened this issue Jun 13, 2022 · 9 comments

Comments

@tobikellner
Copy link

Please provide some installation guidance within the readme.

Had to figure out the hard way which required packages where missing. Could look like:

Installation

  1. clone the repositiory into your catkin_ws/src folder using --recursive to also clone the linked witmotion-uart-qt module:
cd catkin_ws/src
git clone --recursive https://github.com/ElettraSciComp/witmotion_IMU_ros.git

if the recursive clone fails clone the uart-qt repository manually into the witmotion-uart-qt folder

  1. install qt5serialPort with
sudo apt-get install libqt5serialport5-dev
@rlabs-oss
Copy link

rlabs-oss commented Jun 23, 2022

Step 2, followed by a non-recursive clone of witmotion_IMU_ros (recursive gave errors)
followed by git clone https://github.com/ElettraSciComp/witmotion_IMU_QT.git
and rename that to witmotion-uart-qt in the witmotion-IMU-ros folder worked for me.

in a caktin workspace,
src/witmotion_IMU_ros
src/witmotion_IMU_ros/witmotion-uart-qt (contains https://github.com/ElettraSciComp/witmotion_IMU_QT.git)

@twdragon
Copy link
Collaborator

@rlabs-oss you need just to make a recursive clone.

I will provide tge installation guide soon. Thank you for the feedback!

@rlabs-oss
Copy link

@rlabs-oss you need just to make a recursive clone.

I will provide tge installation guide soon. Thank you for the feedback!

As mentioned that didn't work so I manually cloned the required parts. I'm happy to report it is working now, I also contacted witmotion for support on configuring the 901c.
Many thanks.

git clone --recursive https://github.com/ElettraSciComp/witmotion_IMU_ros
Cloning into 'witmotion_IMU_ros'...
remote: Enumerating objects: 67, done.
remote: Counting objects: 100% (67/67), done.
remote: Compressing objects: 100% (35/35), done.
remote: Total 67 (delta 28), reused 59 (delta 23), pack-reused 0
Unpacking objects: 100% (67/67), 17.92 KiB | 1.19 MiB/s, done.
Submodule 'witmotion-uart-qt' (git@github.com:ElettraSciComp/witmotion_IMU_QT.git) registered for path 'witmotion-uart-qt'
Cloning into '/home/lab/test/witmotion_IMU_ros/witmotion-uart-qt'...
The authenticity of host 'github.com (140.82.121.3)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,140.82.121.3' (ECDSA) to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:ElettraSciComp/witmotion_IMU_QT.git' into submodule path '/home/lab/test/witmotion_IMU_ros/witmotion-uart-qt' failed
Failed to clone 'witmotion-uart-qt'. Retry scheduled
Cloning into '/home/lab/test/witmotion_IMU_ros/witmotion-uart-qt'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:ElettraSciComp/witmotion_IMU_QT.git' into submodule path '/home/lab/test/witmotion_IMU_ros/witmotion-uart-qt' failed
Failed to clone 'witmotion-uart-qt' a second time, aborting

@twdragon
Copy link
Collaborator

@rlabs-oss it will be also really great if you would provide any documentation for 901C sensor to examine for differences in command formulation and tests for the library!

@rlabs-oss
Copy link

witmotion sent
"Please check the relevant information about WT901C-232.

https://drive.google.com/file/d/1WPgvIaYERJsWvHeQy4A3UGKF7UWm9aJ8/view?usp=sharing"

For the intended application Im not sure if the EKF is causing problems since the Lidar when used with FASTER_LIO assumes raw readings and it computes its own pose using iterative EKF. Ive set the filter to 286hz and output rate to 200hz, with baud at 230400. The witmotion 901 is generating the orientation in addition to the acceleration and velocity. The Lidar (in this example a Livox Avia) sets the orientation quarternions to 0 and angular_velocity and lin acceleation as the witmotion IMU, so that looks "ok" - however in practice using the Livox Mid 40 (a lidar without IMU) the scan is invalid. Filter above 200hz according to the witmotion manual turns off filtering - but I need to debug this more. Do you know of any ros tools that will generate a plot of the IMU data so I can compare them?

Couple of examples below from the Avia and 901C

The Livox Avia IMU example:-
header:
seq: 5299
stamp:
secs: 141
nsecs: 900395480
frame_id: "livox_frame"
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 0.0
orientation_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
angular_velocity:
x: -0.04248914122581482
y: 0.004896665457636118
z: -0.1790435016155243
angular_velocity_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
linear_acceleration:
x: 0.07477080821990967
y: 0.03358038514852524
z: 1.0024305582046509
linear_acceleration_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

Witmotion 901C
header:
seq: 28705
stamp:
secs: 1656085951
nsecs: 110546361
frame_id: "imu"
orientation:
x: 0.012426594989697597
y: -0.01768112063882205
z: 0.9946913368802636
w: 0.10060865790413762
orientation_covariance: [0.021299999207258224, 0.0, 0.0, 0.0, 0.042899999767541885, 0.0, 0.0, 0.0, 0.0]
angular_velocity:
x: -0.02130528911948204
y: -0.19600865244865417
z: -0.2780340015888214
angular_velocity_covariance: [0.007499999832361937, 0.0, 0.0, 0.0, 0.0038999998942017555, 0.0, 0.0, 0.0, 0.0034000000450760126]
linear_acceleration:
x: -1.0202783346176147
y: -2.2417383193969727
z: 9.44595718383789
linear_acceleration_covariance: [0.007499999832361937, 0.0, 0.0, 0.0, 0.0038999998942017555, 0.0, 0.0, 0.0, 0.0034000000450760126]

@twdragon
Copy link
Collaborator

@rlabs-oss thank you! Added to the wiki. Working on the guide

@twdragon
Copy link
Collaborator

@rlabs-oss in fact I did not find any tool suitable for you now. I suggest you to write a simple script in Python which can capture IMU messages comparing their timestamps and actual wall timer value when they were received.

@twdragon
Copy link
Collaborator

@rlabs-oss Can you please also open a separate issue for this discussion?

@twdragon
Copy link
Collaborator

@rlabs-oss if you have also some graphics or a short screencast with IMU state visualization, could you please add the information about visualization (with the link to the plugin) to ROS wiki? I am now overloaded a bit.

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

3 participants