Skip to content

sabermohammed/ros_arduino-mega

 
 

Repository files navigation

ROS build is based on Linux version: Ubuntu 16.04 LTS First, you need to install a virtual machine and Linux operating system. Refer to google for the installation process

Continuous improvement... If you have any questions, please contact the author for feedback. Please indicate the source for reprinting. Store link: Moebius Technology

Mega 2560 expansion board information refer to this link https://github.com/MoebiusTech/MecanumRobot-ArduinoMega2560

Mirror and other information links https://drive.google.com/drive/folders/1FbEeWd4VyqahfnX3yiib85Xs_cBSabZK?usp=sharing

List:

  • [一、ROS basis(](#ROS basis)
    • ROS Common keywords
    • File system concept
  • [二、Environment setup](#Environment setup)
    • Quick install
    • Step by step installation
  • [三、ROS First Experience](#ROS First Experience)
    • ROSSerial communication
    • Host topic communication
  • [四、ROS Distributed Communication Specification](#ROS Distributed Communication Specification)
    • Node communication principle
      • Topic release
      • Topic subscription
  • [五、ROS description file](#ROS description file)
  • [六、Start the car chassis node](#Start the car chassis node)
  • [七、Lidar build map](#Ladar build map)
  • [八、SLAM autonomous navigation](#SLAM autonomous navigation)
  • [九、Machine vision patrol and obstacle avoidance](#machine vision patrol and obstacle avoidance)
  • [十、Machine vision patrol and obstacle avoidance](#machine vision patrol and obstacle avoidance)

One, ROS basis

ROSCommon keywords

1: message: That is the message. The robot needs a sensor. The information collected by the sensor is the message here. If our GPS collects the robot's location information, the temperature collected by the thermometer, etc.  Any data can be used as a message.

2: topic: Suppose we have two sensors, GPS and thermometer. In ROS, we have to give the collected messages a name to distinguish between different messages. This is the topic.   As for how to name it, the following program can be seen.

3: node: Node. In ROS, usually the program where the main function of the c++ or python program you write is called a node (not accurate, for the time being understood).

4: package: A ROS package contains all the files of a project you want to complete.

5: workSpace: ROSworkspace, the workspace of ROS. Of course you need ROS to complete many different projects. Your ROS workspace is used to store many different packages.

6: publish, subscribe: One of the great functions of ROS is to deliver messages. Why do you want to send messages? For example, you wrote a program to obtain GPS information, and you wrote another program to process GPS information. At this time, you just need to transfer the collected information to the processing program. The transmission of information is called publish in ROS. The subscription of information is called subscribe in ROS. Well, with these concepts, we can start the first ROS program. (Maybe the big guys think there is still a lot to say, it's okay, let's take it slow.)

Quickly understand file system concepts

Packages: A software package is the organizational unit of ROS application code. Each software package can contain libraries, executable files, scripts, or other things created manually.

Manifest (package.xml): The list is a description of the information related to the'package', which is used to define the dependency between the meta-information related to the software package, including the version, maintainer, and license agreement.

Launch (file.launch): The launch file, as its name suggests, is the startup file. The launch file is an XML file that describes a set of nodes and their topic remapping and parameters. launch allows multiple nodes to be launched at the same time

2. Environment Setup

Raspberry Pi system installation Ubuntu mate download link

Here we use ubuntu mate 18.04 raspberry version, considering that the official mirror Linux is based on Debian9, using ubuntu mate can reduce a lot of trouble caused by compatibility

Use the image burning tool to copy the system into the SD card and start the Raspberry Pi

Two installation methods are shared here: 1- Quick installation: Quickly configure all ROS systems and required software 2- Step by step installation: understand the software packages needed for installation and familiarize yourself with common Linux operations

Quick installation:

Create workspace

cd ~/
mkdir catkin_ws/
cd catkin_ws

ROS installer download

Select Save -> Download in the download link, then save the downloaded .sh file to the newly created catkin_ws folder, and enter it in the terminal

chmod +x ros_install.sh
./ros_install.sh

Start the installation process at this time, wait for the installation to complete, you can enter the next link

Step by step installation:

The main steps to install ROS:

1. Switch software source
sudo sh -c'echo "deb https://mirror.tuna.tsinghua.edu.cn/ros/ubuntu $(lsb_release -sc) main"> /etc/apt/sources.list.d/ros-latest.list '
2. Configure the secret key
sudo apt-key adv --keyserver'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published