-
Notifications
You must be signed in to change notification settings - Fork 418
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Port turtlebot3_simulations to ROS2 #64
Comments
Hi @mkhansen-intel, |
@robotpilot - Thank you, we're looking forward to using it |
@routiful - I see you added some commits with a tutorial for running this with RO2 Gazebo, is it ready for us to try? |
FYI - We were able to get the robot to load in gazebo and respond to teleop commands. We did have to fix a few minor issues where there were missing semicolons at the end of RCLCPP_INFO statements but otherwise it worked. |
@mkhansen-intel I first commited last week. But current source has problems that TF is not properly working. But Another problem is slip in Gazebo. This problem is used to in last Gazebo version. I am going to try more and my goal is that launch cartographer in gazebo. |
Thank you for the update. We'll take a look at these issues and watch here for further updates. |
@routiful - do you have a status update on this? We're seeing strange behavior when running the TB3 in Gazebo. One problem we're seeing is that the Z values seem to be changing due to Gravity. I think this might be a Gazebo problem but I'm not sure?
The Z values are rapidly changing in the negative direction, which seems like 9.8m/s squared. We also see base_link to right_wheel and left_wheel changing in the same way, when these should be static shouldn't they?
|
I should also mention that we see the turtlebot slowly rotating, I'm not sure if that is due to the inertia settings in the wheels? |
I discovered that if I remove this line from the demo world file, the accelerating Z behavior stops:
|
Also, found the same behavior with the gazebo demo, and filed an issue here: |
@routiful and @robotpilot - any chance we can get an updated world file with the transforms for base_link ->base_footprint -> base_scan? Right now we're using static_transform_publisher to publish identity transforms for these, which is OK for a work-around but not ideal for the Crystal ROS2 release. |
Hi, sorry for late reply. |
@routiful - that PR helped with the slippage issue and got rid of the base_footprint, which is good. Can you add in the transforms for base_link->base_footprint->base_scan? |
Turtlebot3 has TF tree like Furthermore, I added imu and joint_state topic. But there is some issue. First, TF of left_wheel_joint and right_wheel_joint has problem. The relative position is different I set in sdf. I debugged in gazebo_ros_diff_driver.cpp but I can't find problem about it. Second, I can't see the scan data in Rviz. I don't want to say that this problem is caused by 100% depend on rviz. Maybe I miss something. I continue debug those and commit if I got solution. |
@routiful - Regarding your scan data in Rviz, you may need to set the use_sim_time parameter for the rviz node.
We're seeing we have to set that parameter for every node. I hope that helps |
@mkhansen-intel I make a load TB3 and lidar data on Rviz2. The manual is written in readme file inside of turtlebot3_gazebo package. If you have any issues or improvements, please comments freely. From now on, I will make an example of cartographer to use this. |
@routiful - thank you for your work on this. I tried to build this today against the latest ROS2 master branches and the build fails. I don't know if you have tried this. I'm building ros2 from source using the directions here: https://index.ros.org/doc/ros2/Linux-Development-Setup/ This is the error I get.
I wasn't getting this last week, so I suspect something in ROS2 upstream repos changed, but wanted to ask you if you can reproduce. |
@mkhansen-intel I will let you know when update the turtlebot3 code. |
Interestingly, I was able to get it to build on my 18.04 system, but not on the turtlebot3 itself, which is 16.04. Thanks for taking a look. We're really trying hard to use Turtlebot3 for Navigation2. |
Also, I still don't see the base_link->base_scan transform showing up in RVIZ or when I view the /tf topic. Should that be there? |
@mkhansen-intel Great. I have been working in 18.04 system. And master branch turtlebot3 is built.
By the way, I open a issue for problem of tf stamp (ros-simulation/gazebo_ros_pkgs#840) and it is solved now. But I can't find to run occupancy_grid_node in cartographer_ros. |
@routiful - I don't see that transform:
I'm on 18.04 running with gazebo: |
Oh, you should launch robot.launch
|
@routiful - so I need the robot.launch to run while also running gazebo? |
Yes, libgazebo_ros_diff_drive library in gazebo_pks is to make only odom tf. |
@routiful - now I am trying to run on the actual turtlebot3. We are using a 'waffle' model with the Joule board. I'm looking at the directions here: http://emanual.robotis.com/docs/en/platform/turtlebot3/applications/#ros2 Can these directions work for the 'waffle' even though the opencr update is for the 'burger'? If not, can we get an opencr update for waffle too? |
Hi :) The opencr update file is available to 'burger' not compatible with 'waffle' |
@routiful - please can you do that? Without it I'll have to run with the ros1_bridge, which will be difficult due to the memory constraints on the Joule board. It would REALLY help! |
Update - I just tried running with the ros1_bridge and that won't work. The bridge doesn't know how to bridge the tf/tfMessage ROS1 msg to the tf2_msgs/TFMessage ROS2 msg. I would really appreciate an openCR update for the waffle. |
@routiful - When do you think we can have the opencr update for the waffle? |
Hi @routiful, sorry to be a pest, can you please tell me when we could have an opencr update for the waffle? :) |
Sorry for late reply. So, I let you know last firmware based on micrortps to compatible with Waffle. https://community.robotsource.org/t/howto-adding-multiple-opencr-boards-to-the-arduino-ide/1497 And open turtlebot3_ros2.ino and modify parameter for waffle If you have any problem to upload firmware, please comment to me. |
@routiful - I have cloned the OpenCR repo, installed Arduino IDE, added the OpenCR library, and I'm trying to build the turtlebot3_burger now to make sure that can build before changing it to turtlebot3_waffle. I'm getting build errors that it can't find the micrortps.hpp file.
I can see the file is here:
I'm not very experienced with Arduino, so don't know how to point it to the right file. Please help. |
Update: I was able to get past the issue above by creating a symbolic link:
Now it fails to find the microcdr.h header file:
And I can't find it either:
I do find the microcdr directory with a config.h file in it, but no microcdr.h file. So I'm still stuck. :( Since I'm not very experienced with Arduino, it would really help if you could just do the build for me to create the OpenCR update. |
You shoud git pull submodule to pull micrortps and microcdr. https://stackoverflow.com/questions/1030169/easy-way-to-pull-latest-of-all-git-submodules |
That didn't change anything as far as I can tell. Nothing was pulled and the microcdr.h file still doesn't exist. |
Did you solve that issue? |
@mkhansen-intel , @crdelsey |
This issue will be closed since there were no actions for a while. You can reopen this issue to show this issue to the users whenever. Thanks. |
What's the status of porting this repo to ros2? I have pulled and tried to build the 'ros2' branch using colcon build but it looks like it hasn't been ported yet. Is that planned soon?
The text was updated successfully, but these errors were encountered: