Coder Social home page Coder Social logo

quanglv1996 / ros-robot-mpo500 Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 149 KB

The source code contains instructions for installing the ROS operating system and Robot control library packages.

License: MIT License

install ros ros-noetic slam-algorithms tutorial mpo500

ros-robot-mpo500's Introduction

1. Install ROS noetic

Setup computer to accept software from packages.ros.org.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

Set up your keys

sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

Installation

sudo apt update
sudo apt install ros-noetic-desktop-full

Environment setup

source /opt/ros/noetic/setup.bash

It can be convenient to automatically source this script every time a new shell is launched. These commands will do that for you.

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

Dependencies for building packages

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

Initialize rosdep

sudo apt install python3-rosdep
sudo rosdep init
rosdep update

ROS tutorial

Create a ROS Workspace

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make

Sourcing any of these files will overlay this workspace on top of your environment. To understand more about this see the general catkin documentation: catkin. Before continuing source your new setup.*sh file:

source devel/setup.bash

To make sure your workspace is properly overlayed by the setup script, make sure ROS_PACKAGE_PATH environment variable includes the directory you're in.

echo $ROS_PACKAGE_PATH

2. Run simulation MPO-500

Clone packages from github

cd ~/arm_ros/catkin_ws/src

Packages for Simulation

git clone https://github.com/neobotix/neo_mpo_500.git
git clone https://github.com/neobotix/neo_simulation.git
git clone https://github.com/neobotix/neo_kinematics_mecanum
git clone https://github.com/neobotix/neo_relayboard_v2
git clone https://github.com/neobotix/neo_sick_s300.git
git clone https://github.com/neobotix/neo_teleop.git
git clone https://github.com/neobotix/neo_msgs.git
git clone https://github.com/neobotix/neo_srvs.git
git clone https://github.com/neobotix/neo_common.git
git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam.git

Navigation Packages

git clone https://github.com/ros-perception/slam_gmapping.git
git clone https://github.com/neobotix/neo_localization.git

Other dependencies

sudo apt install ros-$ROS_DISTRO-joy ros-$ROS_DISTRO-tf2-sensor-msgs ros-$ROS_DISTRO-tf2-geometry-msgs

3. Run simulation SLAM-TEC

Build packages

cd ~/arm_ros/catkin_ws/src
git clone https://github.com/Slamtec/rplidar_ros.git
cd ..
catkin_make
source devel/setup.bash

Add permission

sudo chmod 666 /dev/ttyUSB0

Install dependence packages

sudo add-apt-repository ppa:rock-core/qt4
sudo apt-get update
sudo apt-get install libqtcore4
sudo apt-get install qt4-qmake qt4-dev-tools

Set the coordinate frame parameter (if be not yet setted)

sudo gedit ~/catkin_ws/src/hector_slam/hector_mapping/launch/mapping_default.launch

Search for these lines (lines 5 and 6 in my code).

	<arg name="base_frame" default="base_footprint"/>
	<arg name="odom_frame" default="nav"/>

Change those lines to this:

	<arg name="base_frame" default="base_link"/>
	<arg name="odom_frame" default="base_link"/>

Now go to the end of this file, and find these lines (line 54 in my code).

Change those lines to this (be sure to remove the comment tags (<!โ€“- and -โ€“>):

Save the file, and return to the terminal window.

Type the following command.

cd ~/catkin_ws/src/hector_slam/hector_slam_launch/launch
gedit tutorial.launch

Find this line (line 7 in my code).

	<param name="/use_sim_time" value="true"/>

Change that line to:

	<param name="/use_sim_time" value="false"/>

Save the file, and close it.

cd ~/catkin_ws/
catkin_make
source devel/setup.bash

Run simulation

NOTE: Each terminal needs to be re-run the following command to be able to use roslaunch.

source devel/setup.bash
roscore # termial 1
roslaunch rplidar_ros view_rplidar_s2.launch # terminal 2
roslaunch hector_slam_launch tutorial.launch # terminal 3

4. Install ODrivetool and GUI

Install Odrivetool

Install python3 and pip3 (If you already have python3 installed for ROS, just install pip3)

sudo apt-get install python3 python3-pip

Install odrivetool by opening a ternimal and typing

sudo pip install --upgrade odrive

Start Odrive

odrivetool

Build OdriveGUI

Clone repository

git clone https://github.com/odriverobotics/ODrive.git

Move GUI

cd ~/ODrive/GUI

Install NodeJS

sudo apt install nodejs

If version is old, update version NodeJS

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

Install requirement packages

sudo npm install

Build project

Crlt + Shift + B

5. Reference

BUILD MAP

BUILD MAP

VIDEO BUILD MAP

SLAM TEC

ODrive GUI

ros-robot-mpo500's People

Contributors

quanglv1996 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.