All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
author: byq77
Initial log. Introducing new ROSbot firmware written using Mbed OS framework.
- VL53L0X sensors support
- backward compatible ROS interface
- battery voltage measurement
- support for 4 wheel and 2 wheel ROSbot
author: byq77
rosserial-mbed.lib
v.1.1.1 fixes Buffer bug that would prevent usage larger number of publishers/subscribers
- MPU9250 support. ROS interface consists of
/imu
topic withgeometry_msgs/QuaternionStamped
message. - Buttons support. ROS interface consists of
/buttons
topic withstd_msgs/UInt8
1
- BUTTON1 was pressed2
- BUTTON2 was pressed
- Multipurpose service server
/config
. SeeREADME.md
to learn more.
- VL53LX0 and MPU9250 are disabled on default. They can be enabled using
/config
service server.
author: byq77
- new commands:
EJSM
- ENABLE JOINT STATES MESSAGESRODOM
- RESET ODOMETRY
- fixed odometry for 4-wheeled robot
- VL53L0X i2c interface frequency set at 400kHz
- BATTERY LOW indication set at 10.8V
author: byq77
- new command:
RIMU
- RESET IMUEWCH
- ENABLE SPEED WATCHDOG
- speed watchdog (by default enabled), that sets speed to 0 if there is no speed update of
/cmd_vel
for 1s - support for EKF
imu
topic changed tompu9250
with message typerosbot/Imu
- more frequent odometry update
- odometry coefficient are slightly better adjusted
- overall firmware's stability is improved
- max target speed limited to 1.5m/s
author: byq77
- LPF set to 42 Hz and Gyro FSR set to 500dps for IMU.
- Mbed version changed from
5.12.4
to5.13.1
author: byq77
- Improved DDR8848 driver implementation for CORE2. Motors' pwm frequency is now set to 21kHz with 1000 steps resolution.
- changed symbols C and C++ versions (following C11 and C++14 support in Mbed 5.13.x)
author: byq77
- support for WS2812B LEDs signalization
- new command:
SANI
- SET WS2812B LEDS ANIMATION
- some code refactoring and updates
DIAMETER_MODIFICATOR
factor update
author: byq77
AnimationManager
class to control ws2812b's signalization
- Better rosserial interface for ws2812b signalization, now you can instantly change the animation and the color.
author: byq77
- the support package name changed from
rosbot
torosbot_ekf
author: byq77
- critical changes in CORE2 target definitions
author: byq77
- mpu9250 i2c implementation changed to non-blocking
- increased baudrate for Upboard
- distance sensors enabled by default
- mbed version changed to
5.14.1
- firmware version is now printed as ros log
- mpu9250 related bugs
author: byq77
- Improved RosbotDrive module implementation
- removed most of the unused and trash code,
- regulator implementation moved to separate class that implements
RosbotRegulator
interface, - class api uses references instead pointers,
- added motor output setup sequence
- other small code and configuration improvements
- Regulator now implements soft start and soft stop.
CALI
command for wheel odometry calibration.s
author: byq77
- Use direct access to encoder ticks count in
getDistance
,getAngularPos
andgetEncoderTicks
.
- Bug in
getPidout
(RosbotRegulatorCmsis.h
).
author: byq77
- USART6 pins configuration.
author: byq77
- Topic names changed from global to relative.
- New non-blocking implementation of VL53L0X library.
- Small changes in implementation of MPU9250 library.
- Improved accuracy of timestamps in ros messages.
update_symbols.py
script forc_cpp_properties.json
symbols update.
- Fixed distance sensors behavior.
- Fixed sensors error messages
- Automatic distance sensors reinitialization in case of sensor malfunction/i2c error.
author: byq77
- MultiDistanceSensor implementation improved (support of new sensors hardware).
- It is possible now to initialize less than 4 proximity sensors, but the error message will be printed.
author: byq77
- Support for hServo outputs control.
- New subscriber on
/cmd_ser
topic for servo output control. SeeREADME
for more details. - New command
CSER
that allows servo outputs configuration. SeeREADME
for more details.
author: byq77
- Updated rosserial-mbed implementation (BufferedSerial lib changed to UARTSerial).
/pose
and/velocity
publication frequency increased to ~ 20Hz.
author: byq77
- New command
CPID
that enables pid configuration. SeeREADME
for more details. - New command
GPID
that returns current pid configuration. SeeREADME
for more details.
- Updated mpu9250-mbed library.
- New default PID regulator settings.
author: byq77
- Update MPU9250 readings only if there is more then 32 bytes in the fifo.
- Fixed servo numeration in cmd_ser topic.
author: byq77
- support for BNO055 IMU sensor
author: byq77
- angular velocity and linear acceleration for BNO055 IMU sensor
author: byq77
- fixed bug with MPU9250 initialization (both sensors support)
- mecanum kinematics
- service for change kinematics (DIFF/MEC)
- changed baud to "525000" for both Rosbot and Rosbot PRO
- BUG found: resetting odometry not working
- Imu message changed to
sensors_msgs/Imu
- updated
core2-imu-driver
lib
- fixed the bug in the odometry
- reverted odometry params
TODO: add changes
- Fixed acc bug for both imu sensors.
- Fixed the imu acc and gyro units to match units in the sensor_msgs/Imu message.
- Fixed acc vector orientation for mpu9250.
- IMU driver update
- Fixed odometry for mecanum wheels
- add JOINT_STATES_ENABLE flag