Great work @mike4192
This is a fork of the original @mike4192 project, upgraded to work will ROS NOETIC and UBUNTU 20.04
Version for UBUNTU 20.4 and ROS NOETIC, both of them LTS version, with support until 2025. Furthermore, NOETIC uses python 3 by default, once python 2.7 is deprecated.
It is 100% functional, resulting faster and with long term support, also it will make much easer migrate to ROS 2 (ros-bridge), if it is the choice.
UBUNTU 20.4 64 bits (desktop / raspberry pi (server version))
http://wiki.ros.org/noetic/Installation/Ubuntu
NOTE use ros-noetic-base option
sudo apt install ros-noetic-ros-base
sudo apt install python3-catkin python3-catkin-pkg python3-catkin-pkg-modules python3-catkin-tools
sudo apt install libi2c-dev i2c-tools python3-smbus python3-rpi.gpio
sudo apt install qtbase5-dev
sudo apt install ros-noetic-tf2-eigen ros-noetic-tf2-ros
sudo apt install ros-noetic-joy
sudo apt install ros-noetic-hector-slam
Note that this repo utilizes two git submodules, which require additional steps to check out. After checking out the main repo, checkout the submodules via:
git submodule update --init --recursive
git submodule update --recursive
Add i2c into line 22 of src/ros-i2cpwmboard/CMakeLists.txt, so that it looks like:
target_link_libraries(i2cpwm_board ${catkin_LIBRARIES} i2c)
And add the code below to src/ros-i2cpwmboard/src/i2cpwm_controller.cpp:
extern "C" {
#include <i2c/smbus.h>
}
sudo usermod -a -G i2c ubuntu
logout
run i2cdetect -y 1
as ubuntu user
Expected output below
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: 70 -- -- -- -- -- -- --
https://github.com/mike4192/spotMicro
Incorporate a Intel realsense R300 to achieve 3D mapping via SLAM, to avoid obstacles, recognize hands commands and recognize faces.
http://wiki.ros.org/noetic/Installation/Ubuntu
http://wiki.ros.org/noetic/Migration
https://github.com/mike4192/spotMicro
Video of robot: https://www.youtube.com/watch?v=S-uzWG9Z-5E