Skip to content

wvu-irl/smart-2

Repository files navigation

SMART 2

MIT License

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About the project

Repository for SMART 2.0 robot, a platform build on top of iRobot create robot, running ROS in a x64 Intel NUC computer, ADIS IMU and other sensors

(back to top)

Getting Started

The code was tested in Ubuntu 18.04 and Ubuntu 20.04 and ROS Melodic and Noetic

Prerequisites

For instructions installing ROS: http://wiki.ros.org/noetic/Installation/Ubuntu

For running the MAE493 course code matlab is necessary.

Install usb camera and create dependencies:

 sudo apt-get install ros-melodic-libcreate ros-melodic-usb-cam

Installing ssh server is usefull for accessing the robot computer for running and monitoring the code.

sudo apt-get install openssh-server

Installation

  1. Add user to the dialout group for serial communication with the different sensors and resart the computer y
 $ usermod -a -G dialout MY_USER_NAME
  1. Create a ROS workspace and go to the src directory
  mkdir my_smart_ws
  mkdir my_smart_ws/src
  cd my_smart_ws/src
  1. Clone the robot repo and the SLAM repo

    git clone https://github.com/wvu-irl/smart-2
  2. Build the repository

    cd ..
    catkin build

(back to top)

Usage

This repository contains for running the SMART robot both in a ROS only system or . This code also support multi robot operation.

  1. The following launch file is used to start the base hardware for each robot
roslaunch smart2_bring_up smart_2.launch

Matlab

Examples of interfacing ROS and matlab and example code for this robot are under the smart2_ros_brige folder.

ROS

Multi Robot

Namespaces changes under the launch smart2_bring_up/smart2.launch file, ca_driver/config/default.yaml file, and smart_board/hw_interface/config/SMART_Board_Serial_launch_params.yaml are needed for running multiple robots at the same time (TODO, add args to change in only one place)

For running multiple robots under a single rosmaster environment variables are needed to be set. (see:http://wiki.ros.org/ROS/EnvironmentVariables) ROS_MASTER_URI must be set to the ip of the computer running as master and in each robot computer the ROS_HOSTNAME to the ip address of the local network they are connected to.

Roadmap

  • ( ) Fix the namespaces for changing the robot name only in one place for multirobot use (currently need to change inside hardware workspace and other places).
  • ( ) Simplify the process of setting multiple robots in the network.
  • ( ) Integrate with ROS Navigation and ROS localization package.
  • ( ) FIx hardware_interface package name and plugins to not yield warning message.

(back to top)

Contributing

Contribution to the project are greatly appreciated. You can contribute by forking the repository or by creating an issue with suggestions/

  1. Fork the Project
  2. Create your Branch (git checkout -b MyBranch)
  3. Commit your Changes (git commit -m 'Added some new feature')
  4. Push to the Branch (git push origin MyBranch)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Chris Tatsch [email protected]

Yu Gu [email protected]

(back to top)

Acknowledgements

(back to top)

About

Repository for SMART 2.0 robot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published