ROS lab assignment - Razor IMU to Rviz remote
Good morning everyone! Yesterday afternoon we have been assigned a dawning task of interfacing with an IMU and creating a small ROS environment. Being anxious as usual I have spent much of last night researching this, to get a better understanding of the task.
This small environment will consists of a remote and local ROS2 node, and we are tasked with detailing an interface for one of the 9 Degree Of Freedom Razor modules. This assignment is due this coming Tuesday, giving all groups only a little bit of time over the weekend to work this out.
The end result is supposed to: - be based on ROS2 Humble - remote node publishing a tf transform - local node subscribing to the topic and to - show TF in rviz with reflecting motion of remote IMU in 3d space.
Assignment variables to make collaboration between the teams more difficult / unlikely - SBC remote node: Each team gets assigned one of the following: - Rapsberry Pi4, - Nvidia Jetson Nano - Intel NUC - Interface (carrier options): - Networked Ethernet IP - Serial (USB, UART, I2C) - implementation language is for this assignment not predetermined, but may be in following assignments.
After some initial research into the matter I have (already) the following questions:
- Razor IMU Firmware. Information provided id limited on purpose to simulate a real-world experience. Numerous articles on the web describe the need to upgrade the fw when working with the razor 9DOF IMU. Best way to check current firmware? Any downsides to "just re-flashing? the firmware? Choice of best firmware source?
- Are there any existing packages for the Razor 9DOF IMU? Seems to be a popular unit, despite appearing to being discontinued?
- Is there a ROS bridge required if no ROS2 package is available?
- Depending on the Remote SBC computer assigned, there may or may not be limiting factors such as OS and ROS version, correct? I have performed preliminary research in this area and found there may be a requirement to use an older Ubuntu version on the remote node and an older version of ROS to build the topic publisher. Does anyone know of the best approach (OS / ROS version) of the SBC's listed above?
- As far as I'm aware there will be no odomtf. Does that mean imu coordinate origin == baselink?
- Depending on the assignment there could be a limitation on the interface each team is allowed to use. Any advantages for the connection being USB, serial or i2c?
- Best approach in terms of implementation language? C, C++, Python?
- Anything else that will be helpful to complete this assignment?
- This assignment seems fairly complex. Is it possible I'm under-estimating the simplicity of working with ROS and this is quite simple for a seasoned developer?
I know, I'm asking a lot. My sincere apologies, as a newbie in the ROS realm I'm quite nervous due to the important of performing well in this assignment. I have already done my preliminary research and I hope everyone can see that I am not looking to cheat, just to maximise usage of all resources available.
Heading to campus now. Fingers crossed!
Thank you for any kind hints and suggestions. *cass~
Asked by Cassi.D on 2022-11-04 02:17:36 UTC
Comments
Just a quick note from a forum moderator's perspective: this is way too many (open) questions in one post. ROS Answers is like Stack Overflow: it works best with a 1-to-1 ratio of question-to-answer.
Your questions are also very broad, and cover lots of topics. We try to avoid that here as it makes it hard for anyone to post the answer (it's likely someone only knows something about one of your sub questions, or maybe a couple, instead of all).
You might want to consider splitting it up into separate posts.
Asked by gvdhoorn on 2022-11-04 09:49:46 UTC