amazon-archives / aws-robomaker-sample-application-persondetection

Use AWS RoboMaker and demonstrate the use of Amazon Rekognition to recognize people's faces and Amazon Polly to synthesize speech.
MIT No Attribution
25 stars 18 forks source link

Ros2 devel (simulation_ws) #48

Closed swatifulzele closed 5 years ago

swatifulzele commented 5 years ago

Issue #, if available:

Description of changes:

  1. Migrated CMakeLists.txt and package.xml from ros1 to ros2.
  2. Migrated spawn_turtlebot.launch (ros1) to spawn_turtlebot.launch.py (ros2).
  3. Migrated urdf files from ros1 to ros2.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

swatifulzele commented 5 years ago

@mm318 I have done with changes suggested by you on this PR. Though I haven't done any major changes but still CI build is failing here. I don't see any error in CI build logs. So not able to figure it out. Could you please help me to fix CI build issue ?

mm318 commented 5 years ago

@swatifulzele We have noticed the same issue, where Travis CI reports failure even though the log says Done. Your build exited with 0.

We are still trying to figure out the solution. Thanks.

AAlon commented 5 years ago

I see that most packages still have COLCON_IGNORE - I think it makes sense to continue working on this PR and only merge once it is functional (rather than posting new PRs), does that make sense @swatifulzele? please let us know if there's anything blocking you.

swatifulzele commented 5 years ago

I see that most packages still have COLCON_IGNORE - I think it makes sense to continue working on this PR and only merge once it is functional (rather than posting new PRs), does that make sense @swatifulzele? please let us know if there's anything blocking you.

Added remaining packages so COLCON_IGNORE is removed.

swatifulzele commented 5 years ago

Issue #, if available:

Description of changes:

1. Migrated CMakeLists.txt and package.xml from ros1 to ros2.

2. Migrated spawn_turtlebot.launch (ros1) to spawn_turtlebot.launch.py (ros2).

3. Migrated urdf files from ros1 to ros2.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

  1. Changes done in turtlebot3_reduced_mesh in launch files and in CMakeLists as per comment on PR.
  2. Ported person_detection_simulation and aws_robomaker_simulation_common from ros1 to ros2.
  3. [Optional] Modify config yaml files for Kinesis, Rekognition and Cloudwatch.
  4. If Rekognition is Enabled, Follow Steps to start Rekognition ReadMe_Rekognization_steps.txt

Steps to execute launch files: $ Copy aws-robomaker-small-house-world package to aws-robomaker-sample-application-persondetection/simulation_ws/src/deps/ $ source /opt/ros/dashing/setup.bash $ export TURTLEBOT3_MODEL=waffle_pi $ source /usr/share/gazebo/setup.sh $ colcon build $ source install.setup.sh $ ros2 launch person_detection_simulation small_house.launch.py gui:=true OR $ ros2 launch person_detection_simulation small_house_turtlebot_navigation.launch.py gui:=true

Note: Currently map is taken from $HOME due to string limit on the path (ros2 limitation).

Observation: Sometimes it is observed that turtlebot model does not move along with navigation path in rviz. However, it navigates in gazebo.

  1. Removed turtlebot3-description-reduced-mesh from aws-robomaker-sample-application-persondetection/simulation_ws/src and added it in .rosinstall.
  2. Placed param in person_detection_simulation.
  3. In person_detection_simulation, added small_house_turtlebot_navigation.launch.py, turtlebot3_navigation.launch.py -> this needs map_path(map.yaml and map.pgm is placed in aws_robomaker_small_house_world ) and param (set initial pose in yaml file which application decides) for navigation node.
  4. To able to run the application, temporarily map.pgm and map.yaml is copied to tmp/maps from **aws_robomaker_small_house_world/maps/turtlebot3_waffle_pi/***. This change can be reverted back once the ros2 issue is resolved.
  5. We have tested it on both, locally and on robomaker and it runs successfully. To run this application on robomaker follow steps mentioned here ReadMe_Robomaker_Steps.txt
  6. I tried to push the latest changes done and faced branch conflict error(as ros2 robot_ws is merged now). I tried to resolve it from my side, however not able to resolve it. It seems that it need to be resolve from your side.
  7. Please resolve the branch conflict so that the latest commits get pushed successfully.
mm318 commented 5 years ago

Generally looks good. I will rebase and do more testing.

mm318 commented 5 years ago

I'm merging this into the ros2-devel development branch for now. I've communicated some remaining issues via e-mail.