Skip to main content

HEXFELLOW Y200 IMU Sensor Getting Start

The Y200 is a 9-axis gyroscope specifically developed for robots. The device supports a maximum power supply of 60V and uses a standard XT30 CAN interface for quick integration into a robot network. It features an internal potting process for excellent shock resistance, and its casing is designed with a reinforced structure for stable and reliable installation.

Specification

Here's the completed table with all parameters filled in for all motor models:

Angle Output Param

AngleValueNote
RollAccuracy:0.15°1σ RMS
Range:±180°
PitchAccuracy:0.15°1σ RMS
Range:±90°
Yaw (Unreferenced)Accuracy:0.2°1σ RMS
Range:±180°
Resolution0.001°

Gyro Param

ParameterValueNote
Range±2000°/s
Non-linearity±0.05%FS
Noise density0.015°/s/√Hz
Bias instability5°/hAllan variance, 1σ
Bandwidth (-3dB)50Hz
Zero offset±0.5°/s1σ RMS
Temperature drift±1°/s1σ RMS, -40~85°C

Accelerometer Param

ParameterValueNote
Range±12g
Non-linearity±0.5%FS
Noise density190μg/√Hz
Bias instability0.05mgAllan variance, 1σ
Bandwidth (-3dB)50Hz
Zero offset±20mg1σ RMS
Temperature drift±20mg1σ RMS, -40~85°C

Other Params

ParameterValueNote
Voltage Tolerance12-60VFor XT30 2+2 connector. Non-USB-C, but USB-C power is compatible
CommunicationCAN
Max Output Frequency200Hz
Dimensions60×60×15 mm
Operating Temperature-20~85°C

Supported Platform

  • reComputer Mini
  • reComputer Robotics

Supported ROS Version

  • ROS Noetic
  • ROS Humble

Installation dimension diagram

Getting Start with IMU on reComputer Jetson

We provide linux driver using SocketCAN. It is the recommended way to work with IMU. Before you start, you need to connect the device to your PC! Here's the can bus wire and baudrate definition of the IMU

Both our ​reComputer Mini​ and ​reComputer Robotics J40​ (shown above) feature an ​XT30 2+2​ CAN communication interface, which supports ​simultaneous power supply and communication for IMUs.

tip

The ​CAN_H​ and ​CAN_L​ pin assignments on our devices are ​reversed​ compared to most commercially available motors and sensors. Therefore, when wiring, you must ​swap the H and L connections​ to ensure proper communication. For CAN usage tutorials on more devices, please refer to the link.

Connecting XT30 2+2 Cables

tip

The ​CAN_H​ and ​CAN_L​ pin assignments on our devices are ​reversed​ compared to most commercially available motors and sensors. Therefore, when wiring, you must ​swap the H and L connections​ to ensure proper communication. For CAN usage tutorials on more devices, please refer to the link.

Install ROS on Jetson

Please refer to the tutorial about Install ROS2 Humble or Install ROS1 on reComptuer Jetson

Enable CAN Function

For reComputer Robotics J401:

sudo ip link set can0 down
sudo ip link set can0 type can bitrate 500000
sudo ip link set can0 up
gpioset --mode=time --sec=60 2 3=0 & # For CAN1: gpioset --mode=time --sec=60 2 4=0 &

For reComputer Mini:

sudo ip link set can0 down
sudo ip link set can0 type can bitrate 500000
sudo ip link set can0 up
gpioset --mode=time --sec=30 0 43=0 # For CAN1: gpioset --mode=time --sec=30 0 106=0 &

Install the dependencies

Clone the repository:

cd ~/
pip3 install numpy==1.24
git clone https://github.com/hexfellow/hex_utils.git

Build the package:

cd hex_utils
sudo apt-get install python3-venv
python3 -m build

Install the package:

pip3 install dist/hex_utils-0.0.1-py3-none-any.whl

Create a workspace catkin_ws and get into the src.

mkdir -p catkin_ws/src
cd catkin_ws/src

Clone this repo.

git clone [email protected]:hexfellow/hex_imu.git

Go to catkin_ws directory and build the repo.

  • ROS1
cd ../
catkin_make
  • ROS2
cd ../
colcon build

Source the setup.bash and run the test below

  • ROS 1
source devel/setup.bash --extend
  • ROS 2
source install/setup.bash --extend

Usage

  1. Launch the main node:
  • ROS 1
roslaunch hex_imu canopen_imu.launch
  • ROS 2
ros2 launch hex_imu canopen_imu.launch.py
  1. We also offer a dedicated launch file for visualizing IMU data. Follow the steps below to get started:

    Before you begin, make sure you have the necessary plugin installed for RViz:

  • ROS 1
sudo apt install ros-noetic-rviz-imu-plugin
  • ROS 2
sudo apt install ros-humble-rviz-imu-plugin
Once the plugin is installed, you can start the visualization tool with the following command:
  • ROS 1
roslaunch hex_imu canopen_imu_display.launch
  • ROS 2
ros2 launch hex_imu canopen_imu_display.launch.py
  1. If you want to output Azimuth, you can run the following sample code (only supports ROS1)
roslaunch hex_imu canopen_imu.launch

rosrun hex_imu example.py

Public APIs

Publish

TopicMsg TypeDescription
/imu_datasensor_msgs/ImuIMU data including orientation, angular velocity and linear acceleration
/magnetic_datasensor_msgs/MagneticFieldMagnetic field data

Subscribe

TopicMsg TypeDescription
NoneNoneNo subscription required

Parameters

NameData TypeDescription
node_idintCANopen node ID of the IMU device
channelstringCAN channel name (e.g., 'can0')
imu_topicstringTopic name for publishing IMU data
magnetic_topicstringTopic name for publishing magnetic field data

Tech Support & Product Discussion

Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.

Loading Comments...