-
Notifications
You must be signed in to change notification settings - Fork 25
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
IMU Data Collection #1000
Comments
added an IMU to the rihibot system, using the libgazebo_ros_imu.so plugin
added the /imu topic to the list of topics to record in record.launch
I'm running into a small issue... I get this error when running
This prompted my to check the messages being published under the
The atom/atom_examples/rihibot/rihibot_description/urdf/imu.urdf.xacro Lines 45 to 72 in ce1aa71
Looking at the TF tree using RQT: The documentation for the plugin is scarce, so I couldn't find anything on this, but I believe what is happening is the IMU plugin ignoring the fixed TFs, such as the wrist-3-to-flange and flange-to-imu_link. I think I'll continue developing using |
I just checked the source code for the |
Hey @Kazadhum , not sure what is happening, but from what I gather the problem is not in atom right? Can you point to the IMU plugin code? |
Hello @miguelriemoliveira! Yeah, the problem isn't in ATOM, but in the gazebo plugin, I think. Here's the gazebo plugin source code, and here's my use of the plugin in the URDF: atom/atom_examples/rihibot/rihibot_description/urdf/imu.urdf.xacro Lines 45 to 72 in ce1aa71
|
Hum. This sounds like black magic ... here the this->frame_name_ is used to set the frame in the message. So what happens if you just delete these two from the xacro?
|
If I delete those two lines, I get this error in gazebo:
which makes sense, given this: |
Using only
The IMU is publishing data but it still has |
I just checked and the same thing happens with |
Ok so I added the However, the IMU messages now have the proper
So I think this roadblock is gone |
replaced the libgazebo_ros_imu plugin with the libgazebo_ros_imu_sensor plugin to get the measurements relative to imu_link instead of wrist_3_link
right, but it proves those code lines are actually being used. |
Great news! |
on to the next 10 million ... |
Added the option of using the 'imu' sensor modality in the configuration yaml file, so the configure script does not return an error;
Changed the Moving onto the collection of IMU data... |
Hey @Kazadhum , I think there should be an rviz configuration even if its empty. What you meant was that there is no specific marker for imus configured automatically? |
Hi @miguelriemoliveira! Yes, that was what I meant! When iterating through the sensor list, I added a atom/atom_calibration/scripts/configure_calibration_pkg Lines 860 to 908 in 448bc70
But maybe this is not the proper way to do this. What do you think? |
Yep. Makes sense. |
added a warning for when a user tries configuring a system with an IMU, explaining it is still under development and not all calibration scripts are functional
#1000 Implemented the ability to collect data in a continuous manner, i.e., collect all sensor messages and record them all in the dataset during data collection. To do this, a new 'continuous' field in the configuration for a given sensor was created and included in the template. To maintain backwards compatibility with older datasets, if there is no 'continuous' field, it defaults to False and works as it did previously. The 'continuous' field was also added to the configuration YAML template. Additionally, support for the IMU sensor modality in data collection was also added.
Hi @miguelriemoliveira and @rarrais! Continuous data collection was implemented! Check this the message for commit 7122ad1 for details. I believe backwards compatibility was preserved with every change I made. I will test this further, however, before making the pull request. I also added a warning (in commit c1d505c) for any user who includes an IMU to know that the scripts created during configuration might not be working properly if an IMU is included in the configuration. The only two things missing is to add the |
Hey @Kazadhum , great work. Congratullations! |
Removed the commented additional_data field that was added for testing after deciding to not implement it.
Ran into a bug where, when saving a collection, IMU data for that collection (and not for the continuous data collection) would result in a data blob. Probably a data processing bug. Working on a fix... |
A bug was causing the IMU data recorded in the collections (and not in the continuous_sensor_data field) to be recorded as blob. Added message processing to turn it into a dictionary.
... Fixed! |
Renamed 'imu' sensor to 'imu_hand', to be more explicit.
Hi! For my research, I need to save data from IMUs in the ATOM dataset.
The goal is to then be able to integrate this data to translate it into transformations. As such, a continuous stream of data should be saved. This implies a different system for data collection than used in ATOM thus far. IMU data cannot be saved in "collections" like camera images or LiDAR point clouds.
My current idea is to make use of the
additional_sesor_data
dataset field, changing it to accommodate the saving of continuous data. This change would be additive, so no functionality is lost and hopefully backwards compatibility is preserved. This should be tested when the PR is created.Below is my TO-DO list for the implementation of this functionality, so it is documented. Development will take place in a separate branch.
TO-DO:
atom_examples
calledrihibot
- which is a new version ofrihbot
with an IMU in the end-effector, for testingconfigure_calibration_pkg
so that theconfigure
script doesn't return an errorcontinuous
option for the collection of sensor datacontinuous
option for the collection ofadditional_sensor_data
(Not implemented, check additional_data leads to configuration error #1005)rihibot
This list will be updated as I progress and possibly find more obstacles.
Tagging @miguelriemoliveira @rarrais for visibility.
The text was updated successfully, but these errors were encountered: