Coder Social home page Coder Social logo

slam_robot's Introduction

SLAM ROS ROBOT:

Introduction:

This is the code for programming Victoria Robot with SLAM based capabilities. It uses ROS and Arduino Mega alongside a laptop as the main computational machine. The robot works with a Kinect 360 camera which has ROS driver support. DC motors have integrated encoders for odometry readings.

The project was developed under ROS Hydro Ubuntu distribution 12.04 LTS. This is now an old version but porting to ROS Melodic and ROS 2 is in roadmap for the near future.

ROS Packages used:

  • This project uses the ROS 1 Navigation stack under GMapping and AMCL.
  • Communication between Arduino Mega and ROS is establish using rosserial.
  • Depthimage_to_laserscan: this will provide a "fake" laser readings as the 3D point cloud provide by kinect will be cut by a horizontal plane converting the point cloud to a 2D laser ROS type.
  • The robot is controled using remote control with teleop_twist_keyboard.

Autocad 3D model:

All the 3D dwp files are uploaded for simulating the robot. Also, urdf version for ROS was generated to visualice the robot in RVIZ. The robot is a differential drive platform with two caster wheels and space for a laptop machine to be placed on top of the body.

The robot was built under Arduino technology. To control the DC motors, Adafruit motor shield was used and the available library.

ROS & Arduino flow of control:

graph TD;
  Kinect-->depthimage_to_laserscan
  depthimage_to_laserscan-->gmapping
  gmapping-->2DMap
  2DMap-->moveBase
  gmapping-->2DPoseEstimation
  2DPoseEstimation-->moveBase
  ArduinoOdomSource-->moveBase

Example of RVIZ window running AMCL with costmap and 2d goal set.

For testing demostration, here is a video of remote controlling the robot and mapping generation SLAM process.

https://www.youtube.com/watch?v=j8H6GVUlBbM

Launching the system configuration.

Make sure to source both the workspace "catkin" and the ros installation under /opt/ros/

roslaunch Victoria robot_config.launch 
roslaunch Victoria slam.launch 

Rviz will be automatically iniciated both map visualization and costmap if AMCL is active.

slam_robot's People

Contributors

adrianlirobotics avatar

Stargazers

 avatar

slam_robot's Issues

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.