GithubHelp home page GithubHelp logo

personalrobotics / ada_ros2 Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 22 MB

ROS2 Hardware Interface and Description for the ADA Robot

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

CMake 1.87% Python 54.56% C++ 43.58%

ada_ros2's People

Contributors

amalnanavati avatar egordon avatar hayabolotski avatar raidakarim avatar taylorkf avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

argallab

ada_ros2's Issues

Disable Octomap when running with `sim:=mock`

The Octomap is not a relaible representation of obstacles when sim:=mock. Currently, the instructions ask developers to manually modify the sensors_3d.yaml file when running in mock. Instead, the ada_moveit launchfile(s) themselves should ignore sensors_3d.yaml when sim is mock.

Add sim for `ada_imu`

#11 currently breaks ADA MoveIt in sim, because it results in two disconnected TF trees: world->root and root_tilt->{entire robot}. It is missing root->robot_tile->root_tilt, which is published by the IMU joint state publisher.

This Issue is for the following:

  1. Add a sim argument to ada_imu.launch.py and a corresponding parameter to imu_jointstate_publisher.py. This argument should be able to take on values of either mock or real.
  2. In imu_jointstate_publisher.py, if sim!="real", then don't load the serial port and always assume the imu_angle is 0 (here).
  3. In ada_moveit demo.launch.py, include ada_imu.launch.py with the sim argument set to the same value that is passed in to the moveit launch file.

Servo Node should listen to the monitored planning scene topic

The servo node allows us to pass in a parameter specifying where the primary planning scene monitor will publish updates, so its planning scene can also be updated. (code here). We do not currently use that parameter, but should

Note that the above change does not address the issue where the Servo node doesn't account for Octomap collisions, see moveit2#2548.

IMU Disconnection Behavior

Currently, when the IMU is disconnected, the code immediately start assuming that the IMU angle is zero. However, this is not good (e.g., if there is a momentary issue with IMU communication that is quickly resolved). Instead, the code should store the latest IMU angle and use that if communications are disrupted.

Add documentation on how to run this

This doesn't need to be a priority right now, but it would be great to have documentation on how to run this. In particular, given where we are in system development right now, it would be great to have documentation on what to run to get ADA and MoveIt running in RVIZ, so we can see the robot and either use the RVIZ GUI or manually call the action servers in order to move the robot.

(I think Ethan has already sent these instructions in various Slack messages, so this might just involve cobbling those together.)

Add code formatting/copyright

Low Priority

Add ament_black as a dependency

Make sure all packages pass ament_copyright.

Make sure all python packages pass ament_pep257 and ament_black.

Make sure all CPP packages pass ament_cmake_copyright and ament_cmake_clang_format.

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.