This is the Robosub for Cal State LA Senior Design project.
We are using ROS to separate our code into different packages. In the packages we have nodes that we run. The nodes communicate between each other using ROS topics. Each node has the opportunity to publish data to the ROS topics that we define. Likewise each node has the opportunity to subscribe to different topics listening to the information that is being published.
These are a list of the different packages we have in this repository.
The user interface displays all the sensor data.
This package will be in charge of the state of the Robosub and decide what tasks it should do.
This package is used for recognizing objects underwater and localize where the object is in regards to our Robosub.
This package includes all our sensors and controls.
This package is used for navigating the robosub.
We use this package to create all our messages that the robosub relies on. We have them all in the same package to make it easy to import into the other files.
This package will be in charge of launching our system
...
- Python 2.7
- ROS Melodic
- Git
- Ubuntu 18.04 ( Not necessary for working with the code )
This needs to be done in Ubuntu 18.04 with ROS Melodic installed.
- Create a catkin workspace. Run the following commands in your terminal:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make
-
Next you want to clone this github repository to the
catkin_ws
folder. -
Rename the repository folder
src
. You can run this command in thecatkin_ws
folder:mv <Repository Name> src
-
Run
catkin_make
again. -
Then in your
catkin_ws
folder runsource devel/setup.bash
. You will have to repeat this last step every time you open a new terminal.
- Clone this repo to your local machine
- Branch out from the
main
branch and start working on your code. - When you're done working with your code submit PR and have someone review it.
- If it is approved we will merge it with the
main
branch.
We have the robosub_launcher
package to help us launch the system.
You can run these script to launch the system:
roslaunch robosub_launcher robosub.launch
to launch all the nodes.
roslaunch robosub_launcher robosub_dummy.launch
this will launch the system in dummy mode where the sensors will publish dummy data to the system.