Grudsby's Brains
Grudsby uses ROS Kinetic, on Ubuntu 16.04.
comment out the path anaconda PATH setting in ~/.bashrc
#export PATH="/home/"user"/"anaconda version"/bin:$PATH"
Install the Arduino IDE from the Arduino site. Do not install with apt-get.
- rosserial
sudo apt-get install ros-kinetic-rosserial-arduino
sudo apt-get install ros-kinetic-rosserial
-rospack
sudo apt-get install ros-kinetic-rospack
-rospy
sudo apt-get install ros-kinetic-rospy
-ros teleop-twist-keyboard
sudo apt-get install ros-kinetic-teleop-twist-keyboard
-uuid-msgs
sudo apt-get install ros-kinetic-uuid-msgs
-i2c tools
sudo apt-get install libi2c-dev i2c-tools
-tf2 geometry msgs
sudo apt-get install ros-kinetic-tf2-geometry-msgs
-unique identifier
sudo apt-get install ros-kinetic-unique-identifier
-common messages
sudo apt-get install ros-kinetic-common-msgs
-geographic info
sudo apt-get install ros-kinetic-geographic-info
-unique-id
sudo apt-get install ros-kinetic-unique-id
-hector-gazebo-plugins
sudo apt-get install ros-kinetic-hector-gazebo-plugins
-grudsby_sweeping package
sudo apt install libcurl4-openssl-dev
-grudsby_navStack package
sudo apt install ros-kinetic-move-base
sudo apt-get install ros-kinetic-dwa-local-planner
sudo apt-get instlal ros-kinetic-laser-geometry
-catkin_pkg
pip install catkin_pkg
-rospkg
pip install rospkg
-SBUS and elapsedMillis
Move these from the Libraries folder to your Arduino/libraries folder
Camera1394stereo has a build order issue. If it doesn't build due to a missing .msg module, build the driver_base package first.
catkin_make --pkg driver_base
The Gazebo models must be symlinked into the default ~/.gazebo/models folder for gazebo to find them.
Given that the Groundsbot-Software folder is ~/Groundsbot-Software:
ln -s -d ~/Groundsbot-Software/src/grudsby_gazebo/models/grudsby_new/ ~/.gazebo/models/grudsby_new/
ln -s -d ~/Groundsbot-Software/src/grudsby_gazebo/models/grudsby_caster/ ~/.gazebo/models/grudsby_caster/
ln -s -d ~/Groundsbot-Software/src/grudsby_gazebo/models/grudsby_imu/ ~/.gazebo/models/grudsby_imu/
ln -s -d ~/Groundsbot-Software/src/grudsby_gazebo/models/grudsby_gps/ ~/.gazebo/models/grudsby_gps/
ln -s -d ~/Groundsbot-Software/src/grudsby_gazebo/models/grass/ ~/.gazebo/models/grass/
The custom Ros-lib Arduino package has been included in the Libraries folder. Copy this library over to your Arduino/libraries folder.
If needed: Making custom headers for rosserial-arduino:
Source the sourceme file in Grudsby-Software
then:
rm -rf ~/Arduino/libraries/ros_lib/
rosrun rosserial_arduino make_libraries.py ~/Arduino/libraries/
Use the .clang_format
file to reformat code.
Packages must be run through clang-tidy:
- Install clang packages:
sudo apt-get install clang libclang-dev clang-tidy-3.8 clang-format-3.8
-
Add
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
to every package's CMakeLists.txt and re-run catkin_make -
Check code with
run-clang-tidy-3.8.py -p ~/Groundsbot-Software/build grudsby_package
- You can try the autofixer, but be sure to check it after
run-clang-tidy-3.8.py -p ~/Groundsbot-Software/build grudsby_package -fix