Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
JosephSaliba01 authored May 19, 2024
1 parent c877e3f commit 6f7ca50
Showing 1 changed file with 14 additions and 43 deletions.
57 changes: 14 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,52 +1,23 @@
# rover
Mars Rover Project software development
# Mars Rover Project software development

This is a repository containing all the ROS packages needed for the physical rover as well as
the Gazebo simulation. Each package contains a README file that explains the package architecture as well
the simulations. Each package contains a README file that explains the package architecture as well
as details pertaining to messages, functions, and so on. After you follow this README, make sure to check
the individual package README's for clarification.

# Getting Started
To get started, start by setting up your work environment by following the [Work Environment Setup page](https://github.com/mcgill-robotics/rover/wiki/1.-Work-Environment-Setup) in the Wiki section. Next, complete the [ROS](https://github.com/mcgill-robotics/rover/wiki/2.-ROS-Tutorial) and [Git](https://github.com/mcgill-robotics/rover/wiki/3.-Git-Tutorial) tutorials also found in the Wiki section.

### Working with Ubuntu
To use ROS, you will need an Ubuntu system. For Windows users, options include dualbooting, virtual machines
or WSL (Windows Subsystem for Linux). You can also try VPN'ing into McGill EMF (Engineering Microcomputing
Facilities) PC's, but some of the steps will need sudo which might not be allowed.
Finally, clone the repository by running `git clone https://github.com/mcgill-robotics/rover` in a folder called `src` (e.g., create a `catkin_ws` folder in `Documents` and clone the repo in `Documents/catkin_ws/src/`) and build the catkin workspace by running `catkin build` in your catkin workspace.

### Installing ROS
Follow [these steps](http://wiki.ros.org/noetic/Installation/Ubuntu) to install ROS. Next, follow [these steps](http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment) to see how to configure your shell and how to make a workspace. If you
want, you can keep going with the tutorials to familiarize yourself with ROS and its commands. In addition, you
should install the packages listed in "requirements.txt".
# Running the System on the Rover Computer (Updated May 19 2024)
Follow these steps to run the Drive, Cameras, and UI systems:
1. ssh to Jetson through McGill wifi or antenna link by running `ssh rover@JETSON_IP` and entering the Jetson User's password (ask a lead for that). The `JESTON_IP` through the antenna link is `192.168.1.69`. The Jetson IP address through McGill wifi is not static, you will need to obtain it by running `ifconfig` on the Jetson directly.
2. Ensure the code version is the one you want to test. To pull latest changes, run `git pull` in the rover folder repo `~/catkin_ws2/src/rover/`.
3. Build the project by running `catkin build` in `~/catkin_ws2/`. This step can be skipped if you already built the project code.
4. To start the Drive, Cameras, and UI systems, `source devel/setup.bash` then run `roslaunch rover_system rover_robot_odrive.launch`. Note that the rover should be picked up at this point so that the ODrives correctly calibrate.
5. Access the UI page at `http://JETSON_IP:8080`.
6. To drive, plug a controller to the computer and press on `On` in the Drive UI widget.

### Installing Dependencies
The rover uses some packages provided by the larger community. To install them and be able to use them, the following commands need to be run
```
sudo apt-get install ros-noetic-rosserial
```

### Working with Catkin
Catkin is ROS's build system, which traverses every ROS package in a source directory and compiles them into
ROS modules. Every ROS project has a Catkin workspace structure:
![Catkin workspace](https://miro.medium.com/v2/resize:fit:1400/format:webp/0*vfNM1mbkhUpvK-nW.png)

This repository represents the "src" folder in this file tree. So, create a folder that will be your catkin
workspace and clone this repository inside that folder. (This part might not be necessary, but rename the cloned
folder "src" in case the catkin builder gives errors.)

Navigate to the folder into which you cloned this repo, and run `catkin init` followed by `catkin build`. This should build the modules and
create two more folders: "build" and "devel". At this point, you should source the setup script in the devel folder:

`source devel/setup.bash`

### Starting Nodes
To start the nodes, you should first run `roscore` in a seperate terminal. This is the program that allows all
ROS modules to communicate. Then, you can go back to the first terminal to start whichever node(s) you need.
Navigate to the "rover" folder (or "src" if you renamed it), then use this syntax:

`rosrun [package_name] [node_name]`

Package names are the same as the folders that you see in the repo. You can find the node names in the "src" subfolder
of each package.

Also see the README in the folder "rover_system" to see how to launch all the necessary nodes for different tasks.
# Running Rover Simulation
- Raw sim: run `roslaunch rover_gazebo rover.launch`.

0 comments on commit 6f7ca50

Please sign in to comment.