Code Monkey home page Code Monkey logo

thenoobinventor / lidarbot Goto Github PK

View Code? Open in Web Editor NEW
55.0 5.0 15.0 65.7 MB

A differential drive robot is controlled using ROS2 Humble running on a Raspberry Pi 4 (running Ubuntu server 22.04). The vehicle is equipped with a raspberry pi camera for visual feedback and an RPlidar A1 sensor used for Simultaneous Localization and Mapping (SLAM), autonomous navigation and obstacle avoidance.

License: BSD 3-Clause "New" or "Revised" License

CMake 3.85% Python 48.81% C 18.92% C++ 28.42%
gazebosim imu lidar mpu6050 pca9685 raspberry-pi ros2 ros2-humble rplidar rviz2 slam differential-drive-robot navigation raspberry-pi-camera hardware-interface ros2-control sensor-fusion motor-driver diy-robot imu-sensor-broadcaster

lidarbot's People

Contributors

thenoobinventor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

lidarbot's Issues

Hi

Hi, your project is so nice, I wanna make it but in my country motor drive hat doesn't available. Can you write code for l298n motor drive instead of motor drive hat.thanks

RViz: No transform from [object] to [map]

Hi, thanks for your project.
I followed the steps from: https://github.com/TheNoobInventor/lidarbot?tab=readme-ov-file#mapping, to launch Gazebo simulation. The Gazebo looks good but I got an error in RViz that no transform from [object] to [map].
Basically, I did not change anything but only the mapper_params_online_async.yaml file with following parameters:

map_file_name: /my_path/src/lidarbot_navigation/maps/sim_map
map_start_pose: [0.0, 0.0, 0.0]
#map_start_at_dock: true 

Do you have any idea why I have this error? Thanks in advance!
image

Unable to locate package ros-humble-gazebo-ros2-control

After going through step by step process i finallu ran this command
"rosdep install --from-paths src --ignore-src --rosdistro humble -r -y"

and i got this error
aiot@ubuntu:~/ros2_ws$ rosdep install --from-paths src --ignore-src --rosdistro humble -r -y
executing command [sudo -H apt-get install -y ros-humble-gazebo-ros2-control]
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package ros-humble-gazebo-ros2-control
executing command [sudo -H apt-get install -y ros-humble-gazebo-ros-pkgs]
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package ros-humble-gazebo-ros-pkgs
ERROR: the following rosdeps failed to install
apt: command [sudo -H apt-get install -y ros-humble-gazebo-ros2-control] failed
apt: command [sudo -H apt-get install -y ros-humble-gazebo-ros-pkgs] failed
apt: Failed to detect successful installation of [ros-humble-gazebo-ros2-control]
apt: Failed to detect successful installation of [ros-humble-gazebo-ros-pkgs]

real_LidarBot repo is deleted

Hi I am a 2nd grade student in Electrical Electronical Engineering. I follow to day a day your project. But today you delete your repo. Can you share with me for I having a ideas to solving my problems.

robot model in RViz flickers during map generation / navigation

Update: problem is solved🥳

Hi Chinedu, thank you for the amazing project and work!!!
I am currently working on a Bachelor thesis project and referring to your project code. For my project, I am using an Arduino robot with a differential drive wheel, the Arduino robot is equipped with a Raspberry PI4 board and a RPLidar laser ranger. ROS2 is running on the Raspberry PI (as ROS2 server), which controls the RPLidar and Arduino. I've implemented a hardware interface between ROS2 and the motor/encoder, as well as a serial communication interface between Raspberry PI and Arduino. On my PC, (as ROS2 client), I am running RViz, Navigation2 and SLAM, a server and client network configuration is also set up. I do not have a camera nor IMU sensor equipped on my robot.

However, I've encountered some issues with RViz during map generation and navigation.

  • map generation:
    When Arduino robot is driven around using a joystick, there is a flickering issue with the robot model in RViz. The lidar map can be generated (please refer to video: “map_generation_RViz" and “map_generation_robot").
  • navigation:
    The lidar map saved from map generation is used for navigation. However, the robot model in RViz moves slowly to another position and sometimes jumps to other positions, even though the Arduino robot remains stationary. The workaround for this issue is to re-estimate the position of the robot model in RViz before setting the next navigation goal. After the re-estimation, the Arduino robot will adjust its position and velocity to the according direction, then the next navigation goal can be set (please refer to video: "navigation_RViz" and “navigation_robot").

Here are the videos demonstrating the Arduino robot and RViz (link: https://drive.google.com/drive/folders/1d4ghat_3an8GGp7BKmsZSXNS8OKigj-e?usp=drive_link).

I am quite new to ROS2 and have been unable to resolve this problem despite trying some troubleshooting methods..... I really wish you could give me some advice and suggestions. Thank you so much and looking forward to your reply!

Camera for mapping

Hi! I am learning multi-sensor fusion related knowledge and just found this amazing project. Can I ask is the camera involved in the mapping, or obstacle avoidance?

Gazebo problems

Hi I can't install Gazebo Classic or Gazebo 11 with Humble version. How did you do?

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.