Closed lebarsfa closed 3 years ago
Ubuntu 20.04 probably doesn't work since there is still a python-serial
target in the package.xml.
For Noetic this should have the python3-serial
form.
It confirm that it does work for me if I install manually the dependencies and build the node from source, e.g.
# ROS installation
sudo apt update
sudo apt upgrade
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install python3-rosdep ros-noetic-desktop
sudo rosdep init
rosdep update
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source /opt/ros/noetic/setup.bash
# For serial port access rights
sudo addgroup $USER dialout
# Should reboot...
# ROS workspace creation
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
# Razor-specific
sudo apt-get install build-essential git python3-serial python3-pip python3-wxgtk4.0 ; pip3 install vpython
git clone https://github.com/lebarsfa/razor_imu_9dof.git
cd ..
catkin_make
cd src/razor_imu_9dof/nodes ; wget https://www.glowscript.org/docs/VPythonDocs/VPtoGS.py ; python3 VPtoGS.py ; cp -f Converted/display_3D_visualization.py display_3D_visualization.py ; cd ../../..
cd src
cd razor_imu_9dof/config
cp razor.yaml my_razor.yaml
cd ..
. ~/catkin_ws/devel/setup.bash
roslaunch razor_imu_9dof razor-pub-and-display.launch
However, you are probably right that package.xml
should be changed, maybe like in https://github.com/ros-drivers/nmea_navsat_driver/blob/master/package.xml... Maybe we should make a new noetic-devel
branch for that since it might break compatibility with older versions...
You can actually. Replace your package.xml by this one:
<?xml version="1.0"?>
<?xml-model
href="http://download.ros.org/schema/package_format3.xsd"
schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>razor_imu_9dof</name>
<version>1.3.0</version>
<description>
razor_imu_9dof is a package that provides a ROS driver
for the Sparkfun Razor IMU 9DOF. It also provides Arduino
firmware that runs on the Razor board, and which must be
installed on the Razor board for the system to work. A node
which displays the attitude (roll, pitch and yaw) of the Razor board
(or any IMU) is provided for testing.
</description>
<maintainer email="krirobo@gmail.com">Kristof Robot</maintainer>
<license>BSD</license>
<author>Tang Tiong Yew</author>
<author>Kristof Robot</author>
<author>Paul Bouchier</author>
<author>Peter Bartz</author>
<url type="website">http://ros.org/wiki/razor_imu_9dof</url>
<buildtool_depend>catkin</buildtool_depend>
<depend>dynamic_reconfigure</depend>
<exec_depend condition="$ROS_PYTHON_VERSION == 2">python-serial</exec_depend>
<exec_depend condition="$ROS_PYTHON_VERSION == 3">python3-serial</exec_depend>
<exec_depend>rospy</exec_depend>
<exec_depend>sensor_msgs</exec_depend>
<exec_depend>tf</exec_depend>
</package>
It creates conditional dependencies and thus no need for a seperate branch.
This combines the support of SPX-15846 and DEV-16832 (OpenLog Artemis) with some existing PRs and the resolution of some issues as indicated in the commits. Normally there are no breaking changes, I have tested at some point some combinations of SEN-10736, SEN-14001, DEV-16832, Ubuntu 16.04, Ubuntu 18.04, Ubuntu 20.04, ROS melodic on Windows (without 3D visualization)...