Coder Social home page Coder Social logo

crawlerbot-navigation's Introduction

Crawler Robot Project

Overview

This repository contains the software for a crawler robot designed to navigate uneven terrain. The robot is equipped with tank-like wheels, two motors (left and right), a Livox MID-360 3D LiDAR, and an RGBD RealSense D455 camera. It is controlled remotely via wireless remote and records sensor measurements for later processing, with the goal of achieving future autonomous navigation.

Getting Started

  1. Clone the repository:

    git clone https://github.com/anh0001/CrawlerBot3DNav.git
    cd CrawlerBot3DNav
  2. Setup the environment:

    • Ensure you have ROS installed. Follow the instructions on the ROS installation page.
    • Source the cmds.sh script and perform the setup:
      source cmds.sh
      ./cmds.sh setup
  3. Visualize the RealSense and Livox LiDAR sensors:

    • To visualize the sensors' data in RViz, use the following command:
      roslaunch launch/sensors_bringup.launch use_realsense:=true use_livox:=true show_rviz:=true
    • For recording to rosbag, run these commands:
      roslaunch launch/sensors_bringup.launch
      roslaunch launch/record_sensors.launch
    • Output rosbag is in the rosbag folder.

Contributing

Contributions are welcome! Please fork this repository and submit pull requests for any improvements or bug fixes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

crawlerbot-navigation's People

Contributors

anh0001 avatar

Watchers

 avatar

crawlerbot-navigation's Issues

Error when running `roslaunch launch/sensors_bringup.launch` on freshly cloned repository

Description

I have freshly cloned the repository and set up the environment as described in the documentation. When I run the command roslaunch launch/sensors_bringup.launch, I encounter an error related to the Livox lidar driver initialization.

Steps to Reproduce

  1. Clone the repository.
    git clone <repository_url>
  2. Set up the environment.
    cd <repository_directory>
    ./setup.sh
  3. Run the launch file.
    roslaunch launch/sensors_bringup.launch

Expected Behavior

The launch file should initialize all sensors and nodes without errors.

Actual Behavior

The following error is encountered during the initialization of the Livox lidar driver:

[console] [error] Create detection socket failed.  [device_manager.cpp] [CreateDetectionChannel] [275]
[console] [error] Create detection channel failed.  [device_manager.cpp] [CreateChannel] [242]
[console] [error] Create channel failed.  [device_manager.cpp] [Init] [169]
Failed to init livox lidar sdk.
[ERROR] [1720575573.032068783]: Init lds lidar failed!

Log Output

... logging to /home/mobi/.ros/log/417ea194-3e5d-11ef-8aa1-194ca622e055/roslaunch-mobifarm-gmktec-2088.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

WARN: unrecognized 'param' tag in <include> tag
started roslaunch server http://mobifarm-gmktec:45381/

SUMMARY
========

PARAMETERS
 * /camera/realsense2_camera/accel_fps: -1
 * /camera/realsense2_camera/accel_frame_id: camera_accel_frame
 ...

auto-starting new master
process[master]: started with pid [2098]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 417ea194-3e5d-11ef-8aa1-194ca622e055
process[rosout-1]: started with pid [2108]
started core service [/rosout]
process[base2livox_frame-2]: started with pid [2112]
process[livox_frame2livox_link-3]: started with pid [2116]
process[base2camera_frame-4]: started with pid [2117]
process[camera_frame2camera_link-5]: started with pid [2118]
process[camera/realsense2_camera_manager-6]: started with pid [2124]
process[camera/realsense2_camera-7]: started with pid [2137]
process[livox_lidar_publisher2-8]: started with pid [2140]
[ INFO] [1720575573.027801674]: Livox Ros Driver2 Version: 1.0.0
data source:0.
[ INFO] [1720575573.030726060]: Data Source is raw lidar.
[ INFO] [1720575573.031091492]: Config file : /home/mobi/codes/crawlerbot-navigation/src/livox_ros_driver2/config/MID360_config.json
LdsLidar *GetInstance
config lidar type: 8
successfully parse base config, counts: 1
[2024-07-10 10:39:33.031] [console] [info] set master/slave sdk to master sdk by default  [parse_cfg_file.cpp] [Parse] [82]
[2024-07-10 10:39:33.031] [console] [info] Livox lidar logger disable.  [parse_cfg_file.cpp] [Parse] [126]
[2024-07-10 10:39:33.031] [console] [info] Device type:9 point cloud data and IMU data unicast is enabled.  [params_check.cpp] [CheckLidarMulticastIp] [100]
[2024-07-10 10:39:33.031] [console] [info] Data Handler Init Succ.  [data_handler.cpp] [Init] [49]
bind failed
[2024-07-10 10:39:33.032] [console] [error] Create detection socket failed.  [device_manager.cpp] [CreateDetectionChannel] [275]
[2024-07-10 10:39:33.032] [console] [error] Create detection channel failed.  [device_manager.cpp] [CreateChannel] [242]
[2024-07-10 10:39:33.032] [console] [error] Create channel failed.  [device_manager.cpp] [Init] [169]
Failed to init livox lidar sdk.
[ERROR] [1720575573.032068783]: Init lds lidar failed!
[ INFO] [1720575573.038590591]: Initializing nodelet with 4 worker threads.
[ INFO] [1720575573.390158876]: RealSense ROS v2.3.2
[ INFO] [1720575573.390197403]: Built with LibRealSense v2.55.1
[ INFO] [1720575573.390216572]: Running with LibRealSense v2.55.1
[ INFO] [1720575573.437130016]:  
[ INFO] [1720575573.445600165]: Device with serial number 146222252837 was found.
...
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

Environment

  • OS: Ubuntu 20.04
  • ROS Distro: Noetic
  • Livox Ros Driver2 Version: 1.0.0
  • RealSense ROS v2.3.2
  • LibRealSense v2.55.1

Additional Context

It seems like the Livox lidar driver is unable to create a detection socket, which causes the initialization to fail. This might be related to network configuration or permissions.

Possible Solution

  • Verify network settings and permissions.
  • Check if the required ports are open and not blocked by the firewall.
  • Ensure no other process is using the same ports.

Unable to Get Output from realsense-ros in ROS1 Noetic on Ubuntu 20

Description

I have installed realsense-ros for ROS1 on Noetic (Ubuntu 20). When I run my custom launch file, I do not get the expected output. Below is the log from the launch:

Log Output

setting /run_id to ec670776-3cec-11ef-b602-1f438ab1d98b
process[rosout-1]: started with pid [22938]
started core service [/rosout]
process[camera/realsense2_camera_manager-2]: started with pid [22945]
process[camera/realsense2_camera-3]: started with pid [22946]
[ INFO] [1720417375.476706993]: Initializing nodelet with 4 worker threads.
[ INFO] [1720417375.582456053]: RealSense ROS v2.3.2
[ INFO] [1720417375.582493369]: Built with LibRealSense v2.50.0
[ INFO] [1720417375.582511702]: Running with LibRealSense v2.50.0
[ INFO] [1720417375.607954850]:  
[ INFO] [1720417375.834631009]: Device with serial number 146222252837 was found.
[ INFO] [1720417375.834771047]: Device with physical ID 4-2-5 was found.
[ INFO] [1720417375.834830187]: Device with name Intel RealSense D455 was found.
[ INFO] [1720417375.835250962]: Device with port number 4-2 was found.
[ INFO] [1720417375.835313473]: Device USB type: 3.2
[ INFO] [1720417375.835354224]: Resetting device...
[ INFO] [1720417381.948403517]:  
[ INFO] [1720417382.069730260]: Device with serial number 146222252837 was found.
[ INFO] [1720417382.069912452]: Device with physical ID 4-2-6 was found.
[ INFO] [1720417382.069972209]: Device with name Intel RealSense D455 was found.
[ INFO] [1720417382.070456759]: Device with port number 4-2 was found.
[ INFO] [1720417382.070521866]: Device USB type: 3.2
[ INFO] [1720417382.072382098]: getParameters...
[ INFO] [1720417382.130373597]: setupDevice...
[ INFO] [1720417382.130410032]: JSON file is not provided
[ INFO] [1720417382.130429308]: ROS Node Namespace: camera
[ INFO] [1720417382.130446162]: Device Name: Intel RealSense D455
[ INFO] [1720417382.130458644]: Device Serial No: 146222252837
[ INFO] [1720417382.130474995]: Device physical port: 4-2-6
[ INFO] [1720417382.130487350]: Device FW version: 05.16.00.01
[ INFO] [1720417382.130499795]: Device Product ID: 0x0B5C
[ INFO] [1720417382.130511407]: Enable PointCloud: Off
[ INFO] [1720417382.130523172]: Align Depth: Off
[ INFO] [1720417382.130535359]: Sync Mode: Off
[ INFO] [1720417382.130578311]: Device Sensors: 
[ INFO] [1720417382.221038205]: Stereo Module was found.
[ INFO] [1720417382.241939155]: RGB Camera was found.
[ INFO] [1720417382.242143327]: Motion Module was found.
[ INFO] [1720417382.242190764]: (Confidence, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1720417382.242226470]: num_filters: 0
[ INFO] [1720417382.242250014]: Setting Dynamic reconfig parameters.
hwmon command 0x80( 5 0 0 0 ) failed (response -7= HW not ready)
hwmon command 0x80( 5 0 0 0 ) failed (response -7= HW not ready)
hwmon command 0x80( 5 0 0 0 ) failed (response -7= HW not ready)
hwmon command 0x80( 5 0 0 0 ) failed (response -7= HW not ready)
[ INFO] [1720417385.290057700]: Done Setting Dynamic reconfig parameters.
[ INFO] [1720417385.290797934]: color stream is enabled - width: 848, height: 480, fps: 30, Format: RGB8
[ INFO] [1720417385.290838495]: setupPublishers...
[ INFO] [1720417385.293934901]: Expected frequency for color = 30.00000
[ INFO] [1720417385.347658063]: setupStreams...
[ INFO] [1720417385.406242027]: SELECTED BASE:Depth, 0
[ INFO] [1720417385.412528831]: RealSense Node Is Up!
[ WARN] [1720417385.859685949]: 
 08/07 14:43:05,912 WARNING [140614637168384] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 08/07 14:43:05,965 WARNING [140614637168384] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 08/07 14:43:06,360 WARNING [140614637168384] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
 08/07 14:43:06,411 WARNING [140614637168384] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11

Steps to Reproduce

  1. Install realsense-ros for ROS1 on Noetic Ubuntu 20.
  2. Run the custom launch file.

Expected Behavior

The device should initialize properly and start publishing sensor data without any errors.

Actual Behavior

The device fails to initialize completely, and multiple control_transfer returned error warnings are observed in the log.

Additional Information

  • Device: Intel RealSense D455
  • Firmware version: 05.16.00.01
  • USB type: 3.2
  • ROS and RealSense versions are shown in the log.

Any assistance in resolving this issue would be greatly appreciated. Thank you!

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.