I met the incompatibility problem when I was trying to build and test my own_turtlebot which is using iRobot Create 2(Roomba 620). When I use the file "turtlebot_minimal_create.
launch" offered by rbx('ROS by Example_Hydro_vol1') book. When I was doing the linear and angular calibration as the book described, I meet unexpectable driving actions made by my create2.
As the writor of rbx_hydro_vol1 book was using original Turtlebot which is using iRobot Create as the driving base, however, iRobot Create is out of sale and has been replaced by iRobot_Create_2 as I know.
iRobot co. seems not to offer iRobot_Create, so We can only buy iRobot_Create_2 to build our non-original-turtlebot. Thus, we can not use the launch file offered by rbx book directly.
[Solution]
Looking into the file "turtlebot_minimal_create.
launch", we can find it refered a file "tb_create_mobile_base.launch.
xml". This file defined parameters about driving our base.
Add or modify the parameter definition lines as below:
<param
name
=
"has_gyro"
value
=
"false"
/>
<!--Create2 has no gyro sensor-->
<param
name
=
"turtlebot_node/odom_angular_scale_correction"
value
=
"1.0"
/>
<param
name
=
"turtlebot_node/odom_linear_scale_correction"
value
=
"1.0"
/>
<param
name
=
"robot_type"
value
=
"roomba"
/>
<!--"create", or "roomba" for Create2-->
Here, param "
robot_type" will make the file "robot_types.py" know which name,baudrate,sensor_handler,
wheel_separation to choose. You can ran command below to find out the file"robot_types.py" in you Ubuntu+ROS system:
$ cd / && sudo find -name "robot_types.py"
So, on my understanding of the rbx book, the driving base (Create2) will only use ros topic
/odomas the driving/navigation information. If you added gyro_sensor(like ADXR652) into this driving system(based on Create2), please share your solutions/steps with us. I think the writer and me will appreciate that!
[Contact]
If you meet any new thoughts/ideas/solutions/
problems about this topic, welcome to join here and discuss about it. Thanks!!