Skip to content

HESHAM47GAMAL/Autonomous_Wheelchair_ROS_based_on_ubuntu

Repository files navigation

Autonomous_Wheelchair_ROS_based_on_ubuntu🦼🤖🔥

Description

⚡ Our Graduation project help people with disabilities and old people who search for luxurious life

⚡ This chair indoor 🏚and provide some feature outdoor🛣

⚡ our chair has touch screen 📱 that contain Map(2D , 3D) as GUI for Apartment and then chair move to target place autonomous avoiding any obastcle and will see always current position in screen and during movement if used map changed compared to current arrangement of Apartment Map will update automatic

⚡GUI has configuration to add routine as save user effort to select every time sequence of target selection

⚡ So how work our ninja wheelchair🐱‍👤

⚡ 1.At first chair as setup scan want apartment to create map that

Steps

⚡Here will talk about every step literally from setup to make project work 🤩

Setup Laptop

⚡If you as almost of people use windows 🙄 ,You will need Ubuntu version 20.04 as project work on OS linux

⚡As told you I can't let you Dispersed I will attack link that I and My team used

⚡and depend on your machine is UEFI GPT will follow one link of them 🔗Press or 🔗Press

Install ROS Noetic

1.Setup your sources.list

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

2.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 -

3.Installation

sudo apt update

Now pick how much of ROS you would like to install.

3.1Desktop-Full Install: (Recommended): Everything in Desktop plus 2D/3D simulators and 2D/3D perception packages

sudo apt install ros-noetic-desktop-full

3.2 Desktop Install: Everything in ROS-Base plus tools like rqt and rviz

sudo apt install ros-noetic-desktop

3.3 ROS-Base: (Bare Bones) ROS packaging, build, and communication libraries. No GUI tools.

sudo apt install ros-noetic-ros-base

4.setup Enviroment -> open terminal and write gedit ~/.bashrc -> will open text editor and put this line

source /opt/ros/noetic/setup.bash

to make system able to see ROS

OR

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

for more info for installation 🔗Press

Create WorkSpace

open terminal "Ctrl + Alt + T" then write

  ls 
  mkdir catkin_ws/
  cd catkin_ws/
  ls
  mkdir src
  ls
  catkin_make

After doing this you should put setup.bash in source so do

 gedit ~/.bashrc 

then will open text editor ,👀️👀️👀️👀️👀️ try to put this line after "source /opt/ros/noetic/setup.bash " that added above

source ~/catkin_ws/devel/setup.bash

Create Package

open terminal in directory ~/catkin_ws/src and write

catkin_create_pkg my_package rospy roscpp turtlesim

then go to ~/catin_ws and open terminal and write

catkin_make

Packages install

As we use Arduino in transmitting speed and get data of Encoder we need to install rosserial packages

sudo apt-get install ros-noetic-rosserial
sudo apt-get install ros-noetic-rosserial-msgs
sudo apt-get install ros-noetic-rosserial-arduino  
sudo apt-get install ros-noetic-rosserial-python
sudo apt-cache search ros-noetic-rosserial

So you need to install Arduino IDE

sudo apt update
sudo apt upgrade
mkdir arduino
cd arduino/
wget https://downloads.arduino.cc/arduino-1.8.15-linux64.tar.xz
tar -xvf ./arduino-1.8.15-linux64.tar.xz
cd arduino-1.8.15/
sudo ./install.sh

As we create map 3D we need to install RTAB map (that we use SLAM)

sudo apt-get install ros-noetic-rtabmap-ros

Create interactive web

Description web

Here try to load data base of map created in web page to be interactive instead using RVIZ to use by end user , I will do this using roslibjs

install

sudo apt-get install ros-noetic-rosbridge-server
sudo apt install npm
npm install react-bootstrap
npm install react-router-dom  
npm install react-joystick-component
npm install three

👀️👀️👀️ look this line will not work with npm

npm install roslib
npm install ros2d

so to solve this watch video Anis kouba (connection component /import roslib)

if you face problem that current version of Node less than 14 ,can check with this line

node -v

so do following lines

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install 14
nvm use 14

create React

npx craete-react-app react-ros-robot

Start

roslaunch rosbridge_server rosbridge_websocket.launch
npm start