Giter VIP home page Giter VIP logo

bci_autonomous_wheelchair's Introduction

README

Contributor: Dhruv Singh

File structure:

The repository has 5 packages:

1) DR_SPAAM_ROS: Package for detecting person from LiDAR data

2) rf2o_laser_odometry: For generating fake odometry in some cases

3) rplidar_ros: Standard package for getting sensor data from RPLiDAR

4) wc_navigation: Relevant launch files for navigation of wheelchair in 2D mode.

5) wc_navigation3D: Relevant launch files for navigation of wheelchair in 3D mode.


Some more details regarding files:

The goal_set.py node and sock.py node use socket API to get goal positions from another computer working on BCI headset data and publish the corresponding goal to the navigation stack.


Launching navigation

2D Mapping

For mapping the arena using Hector SLAM

Launch rplidar node

roslaunch rplidar_ros rplidar.launch

Launching the mapping node

roslaunch wc_navigation map_hector.launch

Saving the map

rosrun map_server map_saver -f test_1

2D Navigation

To launch the navigation using only RViZ

roslaunch wc_navigation wc_navigation.launch

To launch the navigation and integrate the BCI headset

roslaunch wc_navigation wc_bci.launch

SVTL

3D Mapping using Realsense

Using D415 here, other cameras might have different configurations

  1. Install Realsense wrappers

GitHub - IntelRealSense/realsense-ros at ros1-legacy

sudo apt-get install ros-$ROS_DISTRO-realsense2-camera

  1. Install RTAB-MAP

https://github.com/introlab/rtabmap_ros

Can install from source or apt too

sudo apt-get install ros-$ROS_DISTRO-rtabmap-ros

  1. Run into terminal
roslaunch realsense2_camera rs_camera.launch align_depth:=true

Make sure that /camera/aligned_depth_to_color/image_raw is being published

  1. Run into terminal
roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start --Optimizer/GravitySigma 0.3" depth_topic:=/camera/aligned_depth_to_color/image_raw rgb_topic:=/camera/color/image_raw camera_info_topic:=/camera/color/camera_info approx_sync:=false

D435i

Run into terminal

rosrun imu_filter_madgwick imu_filter_node _use_mag:=false  _publish_tf:=false _world_frame:="enu"  /imu/data_raw:=/camera/imu  /imu/data:=/rtabmap/imu

Run into terminal

roslaunch rtabmap_ros rtabmap.launch	rtabmap_args:="--delete_db_on_start --Optimizer/GravitySigma 0.3"	depth_topic:=/camera/aligned_depth_to_color/image_raw	rgb_topic:=/camera/color/image_raw	camera_info_topic:=/camera/color/camera_info	approx_sync:=false	wait_imu_to_init:=true	imu_topic:=/rtabmap/imu

Mapping using entire setup

roslaunch wc_navigation3D wc_3d_mapping.launch

Navigation in 3D using entire setup

roslaunch wc_navigation3D wc_3D2.launch

Getting Person detections

roslaunch dr_spaam_ros dr_spaam_ros.launch

Launching Low level controller

rosrun rosserial_python serial_node.py /dev/ttyACM0

Demonstrations

2D map of lab

map

2D navigation in a lab environment

Screenshot from 2023-10-26 10-38-09.png

3D mapping in a lab environment

Screenshot from 2023-10-26 10-43-20.png

3D navigation in lab environment

Screenshot from 2023-10-26 10-46-57.png

Videos

2D navigation

2D_nav.mp4

3D navigation

3D_nav.mp4

IMU visualization in rviz imu_visulaization

Issues

uvc streamer issues:

IntelRealSense/realsense-ros#2149

bci_autonomous_wheelchair's People

Contributors

atcyb avatar jetson-cair avatar dhruvsinghiitmandi 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.