Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

This project builds a ROS-based Autonomous Robot from scratch

License

NotificationsYou must be signed in to change notification settings

srujanpanuganti/elsa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

elsa

ELSA Robot

Project Dependencies

  • To install teleop-twist-keyboard
sudo apt-get install ros-melodic-teleop-twist-keyboard
  • To install gmapping clone and buildthis
  • To install robot_localization, clone and buildthis

Project information:

  • The project has two packageselsa andros_arduino_bridge
  • Follow the below instructions to build the project
cd ~/catkin_ws`source devel/setup.bashcatkin_make --only-pkg-with-deps elsacatkin_make --only-pkg-with-deps ros_arduino_bridge
  • Follow the below commands to execute the project
roslaunch elsa elsabot.launch
  • Use the below command to do keyboard teleop
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
  • To launch gmapping
roslaunch gmapping slam_mapping_pr2.lanch
  • To save the map
rosrun map_server map_saver -f /tmp/my_map
  • To use robot_localization package for filtered odometry data
    • roslaunch robot_localization ekf_template.launch --> This will be merged to the elsa project, as we are required to edit the EKF parameters according to our requirement

Docs:

  • Coordinate Transformations and Robot Dimensions can be found atdocs/Robot dimensions and coordinate transformations.pdf
  • More info about the references used is provided in the reference section

Finished tasks:

  • Publish imu to/imu/raw_data topic
  • Publish encoder ticks to/ticks_pub/lwheel_ticks and/ticks_pub/lwheel_ticks topics
  • Publish Odometry data to/odom topic
  • Configured the ROS_Arduino_Bridge
  • Debug the ROS_Arduino_Bridge
    • Solder Arduino Nano
    • Connect the Arduino Nano to the Motor_Driver
    • Edit the scripts for the second USB port (/dev/ttyUSB*)
  • Publish encoder ticks to/arduino/lwheel_ticks and/arduino/lwheel_ticks topics
  • Publish velocoties to/cmd_vel topic
    • Publish sample Twist msg -- Seems like there's an error/lag
    • Debug the motor_driving
  • Finish the base_controller to subscribe to/cmd_vel topic to move the robot_base
  • Write a node to Publish raw images to a ROS topic
    • Resolve cv_bridge and opencv4 issue for ROS - the issue is specific to ROS-melodic and OpenCV4 combination
  • Transport Pi camaera v2 video stream using sensor_msgs/Image to a ROS topic
  • Setup either YDLidar X4 for 2D map creation - needed extra cable to power the LIDAR, since the RPi cannotprovide enough power to drive the LIDAR motor
  • visualized the tf and odometry in rviz
    • Fix the odometry axis and tf axis alignment - made sure all the axis are aligning in same direction
  • rename the coordinate frames of the ydlidar to match with our convention
  • fix encoder direction
  • fix the motor direction
  • Use teleop_twist_keyboard to move the robot -- works perfectly
  • Use robot_localization package to filter the Odometry msg using ekf_lozalisation node
    • check if everything is working as expected -- need to tweak covariance matrix for better estimation
  • Fix the direction issue with rviz visualization -- Problem is with Odometry calculation -- robot_localization is solving this
  • Use slam techniques for mapping - Works
  • Tune the PID controller

To Do:

  • Use camera data to obtain the images to do SFM and build the 3D_point_cloud_map

Results:

Elsa in Action!

elsa

ELSA Result

  • The below image shows the/base_link and/odom coordinate frames and trasformations between them in rviz

tf

Coordinate Transformations (TF) in rviz

  • The below image shows the robot movement in rviz based on the odometry published to/odom topic

odom

Odometry of the ELSA Robot in rviz

  • The below image shows the laserscan from YDLIDAR X2 being pubilshed to/scan

ls

Laser Scan in rviz

  • The below image shows the TF tree based on coordinate transforms being published to/tf

tf_tree

TF Tree

References:

  • The TF tree can be found atelsa/docs/frames.pdf
  • The project uses theROSArduinoBridge Package. However, many modifications are made according to the requirements
  • The Project also uses theSparkFun_RedBot_Arduino_Library Arduino Library. This library has been modified a little bit according to our requirement. The updated library can be found in/elsa/elsa/arduino/
  • The Projects also uses few insights from the packagediff_drive
  • The project refers several tutorials fromROS wiki
  • The topics are published according to the coordinates frames as perREP103 standards andREP105 standards
  • The YDLIDAR uses the package provided by EAI YDLIDARgithub
  • The Project uses robobt_localization package to fuse imu and encoder-based Odometry data, to provide filtered pose. Technical documentation for the robot_localization package can be foundhere

[8]ページ先頭

©2009-2025 Movatter.jp