This repo contains the following packages. Click on the links below to see specifics on each individual package.
- The Ros Intro Bringup Package which is the entry point to run this project.
Create an extensible tutorial project for ROS (1).
- All units are in accordance with REP-103 unless explicitly specified.
- Download and setup docker Note: docker-compose is usually packaged with most Docker installations
OSX:
- Download XQuartz
- Activate the option ‘Allow connections from network clients’ in XQuartz settings
- run
bash xquarzsetup.shand copy your IP address into the.envfile
- The
.envfile stores the build and run configuration for the project's docker container. - In particular, note the
ENVvarible in.envfile.ENVcould be one ofbase,dev,testorprod.
Change directories into the root directory and run docker-compose build.
Run docker-compose up.
- For development and testing:
- In the
.envfile, make sure to change the ENV variable todev- Docker Compose pulls all its environment variables from this.envfile. - In a separate terminal window, run
docker attach rosintro - Go to this project's root directory (where the Makefile exists)
- To run all packages specified in the d2_bringup launch file, run
make run. - To see all make command options, simply run
make.
- In the
- For production, change the .env
ENVvariable toprodand run the docker image which should auto-start
When new packages are created, add a call to its main launch file to the rosweb_bringup package's launch file.
You can execute all tests by running make test.
To execute just unit tests you can run make coverage. Coverage reports are generated and can be viewed by opening the cover/index.html file in a browser.
To manually run one python unit test at a time you can run it like so: python -m unittest test_config. (note: don't include the .py)
You can run an individual ROS node tes like so: rostest sample_package.test
- Unit Tests and ROS Node Tests should be written for all new code.
- All new code should go through a code review via pull requests
- Follow the team's ROS best practices
- Reference the quality checklist below and ensure your code checks off all relevant items
- README Documentation
- Changelog
- Code Documentation
- Docker Capable
- Makefile scripts
- Appropriate Logging
- Configuration Files
- Multiple Environment Support
- Unit Testing
- Node Unit Testing
- Integration Testing
- tmux comes installed if you use the Docker container
- You can use tmux to split the screen
tmux && tmux split - You can move between screens with
ctrl-b then [up/down arrow key] - You can scroll up and down with
ctrl-b then [. - You can quit a window with
exit
If you're having problems running the group in development, run catkin_make and source ~/catkin_ws/devel/setup.bash