Source code for Protobot. This directory is currently using ROS 1 (Melodic) tentatively
Dependencies
- Install librealsense2 with dev and dbg distribution included https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md#installing-the-packages
- Also ensure that you have the following(Install with
sudo apt-get install
):
- libpcl-dev
- libeigen3-dev
- ros-melodic-costmap2d
- ros-melodic-ddynamic-reconfigure
- ros-melodic-move-base
- ros-melodic-rtabmap-ros
- ros-melodic-rtcm-msgs
- ros-melodic-smach
Setup
- Go to src/ and run
git submodule update --init --recursive
- Go back to the root directory and run
rosdep init
and then rosdep install --from-paths src --ignore-src -r -y
- Build your project using
catkin_make -DCMAKE_BUILD_TYPE=Release
- It is recommended to automatically source the project inside of your ~/.bashrc file. Put the following at the end of ~/.bashrc:
source <cloned directory root path>/devel/setup.sh
Launch
To run simulation
- Source project at root directory using
. devel/setup.sh
when first opening the shell. If you don't want to do this everytime, refer to #4
- To launch,
roslaunch protobot_bringup protobot_simulation.launch
To run on live rover (Soon)
- On live rover, ssh into it and run
roslaunch protobot_bringup protobot_onboard.launch
(Autonomous) OR roslaunch protobot_bringup protobot_teleop.launch
(Teleop)
- On properly configured laptop (with correct ROS_IP and ROS_MASTER_URI pointing to own local IPv4 address and rover's local IPv4 address respectively), run
roslaunch protobot_bringup protobot_remote.launch
(Autonomous) OR roslaunch protobot_bringup protobot_remote_teleop.launch
(Teleop)
Guidelines for this repository
- (Enforced by linter) Google C++ Style Guide (https://google.github.io/styleguide/cppguide.html)
- (Enforced by linter) Google Python Style Guide (https://google.github.io/styleguide/pyguide.html)
- ROS Standardizations/Guidelines, particularly
- Guidelines for ROS Projects