This is my first time using ROS. I'm using ubuntu 18.04 and ROS-melodic on my remote (PC) and ROS-kinetic on my turtlebot (pc). I'm trying to run on my Remote (PC)
```
(roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping)
```
### But I get this error!!!!
process[robot_state_publisher-1]: started with pid [54409]
ERROR: cannot launch node of type [gmapping/slam_gmapping]: can't locate node [slam_gmapping] in package [gmapping]
process[rviz-3]: started with pid [54410]
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
[robot_state_publisher-1] process has finished cleanly
log file: /home/kaos5-q/.ros/log/2a9e2d58-20d8-11e9-ba50-7085c28192a9/robot_state_publisher-1*.log
libpng warning: iCCP: known incorrect sRGB profile

How can fix this??
## Further Work
* We tried adding the path of `gmapping` to the ROS environment to check if it works
```export ROS_PACKAGE_PATH=/home/kaos5-q/catkin_ws/src:/home/kaos5-q/catkin_ws/src/turtlebot3_msgs:/opt/ros/melodic/share:/home/kaos5-q/catkin_ws/src/slam_gmapping/gmapping```
* This is what looks like now!
* After I ran, `source ~/.bashrc` Is this what you mean by sourcing??
↧
ERROR: cannot launch node of type [gmapping/slam_gmapping]: can't locate node [slam_gmapping] in package [gmapping]
↧
Turtlebot specify vleft and vright directly
I am using Turtlebot 2 with Kobuki base.
After looking through the documentation I found that my specified v, omega (linear speed, angular speed) is turned into speed, radius by the kobuki ros [driver](http://yujinrobot.github.io/kobuki/enAppendixProtocolSpecification.html#enBaseControl)
This speed, radius is then fed to the kobuki base which does some kind of internal computation and has a pid controller for wheel velocity. I havent been able to find any documentation on what this internal computation is (looks like it isnt open source). I am looking for how the vleft and vright are calculated on this differential drive bot given a specific v, omega
Ideally I would be able to control vleft and vright directly, but if not at least to understand the internal calculations done on the kobuki base and the design of the internal pid controller. Any ideas?
↧
↧
Invoking "make -j8 -l8" failed
hello all,
I use catkin_make
' redhwan@red:~/turtlebot$ catkin_make
the output :
Base path: /home/redhwan/turtlebot
Source space: /home/redhwan/turtlebot/src
Build space: /home/redhwan/turtlebot/build
Devel space: /home/redhwan/turtlebot/devel
Install space: /home/redhwan/turtlebot/install
####
#### Running command: "make cmake_check_build_system" in "/home/redhwan/turtlebot/build"
####
####
#### Running command: "make -j8 -l8" in "/home/redhwan/turtlebot/build"
####
[ 0%] Built target sensor_msgs_generate_messages_lisp
[ 0%] Built target std_msgs_generate_messages_lisp
[ 0%] Built target sensor_msgs_generate_messages_py
[ 0%] Built target sensor_msgs_generate_messages_cpp
[ 0%] Built target std_msgs_generate_messages_py
[ 0%] Built target std_msgs_generate_messages_cpp
[ 0%] Built target geometry_msgs_generate_messages_py
[ 0%] Built target _turtlebot_msgs_generate_messages_check_deps_PanoramaImg
[ 0%] Built target _turtlebot_msgs_generate_messages_check_deps_SetFollowState
[ 0%] Built target nav_msgs_generate_messages_py
[ 0%] Built target _turtlebot_msgs_generate_messages_check_deps_TakePanorama
[ 0%] Built target diagnostic_msgs_generate_messages_py
[ 0%] Built target _create_node_generate_messages_check_deps_Turtle
[ 0%] Built target _create_node_generate_messages_check_deps_Drive
[ 0%] Built target _create_node_generate_messages_check_deps_SetTurtlebotMode
[ 0%] Built target _create_node_generate_messages_check_deps_BatteryState
[ 0%] Built target geometry_msgs_generate_messages_cpp
[ 0%] Built target _create_node_generate_messages_check_deps_RawTurtlebotSensorState
[ 0%] Built target nav_msgs_generate_messages_cpp
[ 0%] Built target _create_node_generate_messages_check_deps_SetDigitalOutputs
[ 0%] Built target diagnostic_msgs_generate_messages_lisp
[ 0%] Built target diagnostic_msgs_generate_messages_cpp
[ 0%] Built target nav_msgs_generate_messages_lisp
[ 0%] Built target create_node_gencfg
[ 0%] Built target geometry_msgs_generate_messages_lisp
[ 0%] Built target _create_node_generate_messages_check_deps_RoombaSensorState
[ 0%] Built target _create_node_generate_messages_check_deps_TurtlebotSensorState
[ 0%] Built target actionlib_msgs_generate_messages_cpp
[ 0%] Built target _turtlebot_actions_generate_messages_check_deps_FindFiducialActionGoal
[ 0%] Built target _turtlebot_actions_generate_messages_check_deps_TurtlebotMoveActionGoal
[ 0%] Built target _turtlebot_actions_generate_messages_check_deps_FindFiducialGoal
[ 0%] Built target _turtlebot_actions_generate_messages_check_deps_FindFiducialActionFeedback
[ 0%] Built target _turtlebot_actions_generate_messages_check_deps_FindFiducialResult
[ 0%] Built target _turtlebot_actions_generate_messages_check_deps_TurtlebotMoveActionFeedback
[ 0%] Built target _turtlebot_actions_generate_messages_check_deps_FindFiducialActionResult
[ 0%] Built target _turtlebot_actions_generate_messages_check_deps_FindFiducialFeedback
[ 0%] Built target actionlib_msgs_generate_messages_py
[ 0%] Built target actionlib_msgs_generate_messages_lisp
[ 1%] Built target turtlebot_follower_gencfg
[ 1%] Built target _turtlebot_actions_generate_messages_check_deps_TurtlebotMoveAction
[ 1%] Built target _turtlebot_actions_generate_messages_check_deps_TurtlebotMoveActionResult
[ 1%] Built target _turtlebot_actions_generate_messages_check_deps_TurtlebotMoveResult
[ 1%] Built target _turtlebot_actions_generate_messages_check_deps_TurtlebotMoveFeedback
[ 1%] Built target _turtlebot_actions_generate_messages_check_deps_TurtlebotMoveGoal
[ 1%] Built target visualization_msgs_generate_messages_py
[ 1%] Built target _turtlebot_actions_generate_messages_check_deps_FindFiducialAction
[ 1%] Built target std_srvs_generate_messages_lisp
[ 1%] Built target std_srvs_generate_messages_cpp
[ 1%] Built target std_srvs_generate_messages_py
[ 1%] Built target rosgraph_msgs_generate_messages_lisp
[ 1%] Built target rosgraph_msgs_generate_messages_cpp
[ 1%] Built target roscpp_generate_messages_py
[ 1%] Built target dynamic_reconfigure_generate_messages_py
[ 1%] Built target _turtlebot_calibration_generate_messages_check_deps_ScanAngle
[ 1%] Built target dynamic_reconfigure_generate_messages_lisp
[ 1%] Built target roscpp_generate_messages_cpp
[ 1%] Built target roscpp_generate_messages_lisp
[ 1%] Built target rosgraph_msgs_generate_messages_py
[ 1%] Built target dynamic_reconfigure_generate_messages_cpp
[ 1%] Built target nodelet_generate_messages_cpp
[ 1%] Built target nodelet_generate_messages_lisp
[ 1%] Built target nodelet_generate_messages_py
[ 1%] Built target dynamic_reconfigure_gencfg
[ 1%] Built target bond_generate_messages_cpp
[ 1%] Built target bond_generate_messages_lisp
[ 1%] Built target visualization_msgs_generate_messages_lisp
[ 1%] Built target bond_generate_messages_py
[ 1%] Built target visualization_msgs_generate_messages_cpp
[ 4%] Built target turtlebot_msgs_generate_messages_lisp
[ 9%] Built target turtlebot_msgs_generate_messages_py
[ 12%] Built target turtlebot_msgs_generate_messages_cpp
[ 13%] Built target turtlebot_marker_server
[ 15%] Built target laser_footprint_filter
[ 27%] Built target create_node_generate_messages_py
[ 28%] Built target turtlebot_teleop_joy
[ 37%] Built target create_node_generate_messages_cpp
[ 51%] Built target turtlebot_actions_generate_messages_cpp
[ 58%] Built target create_node_generate_messages_lisp
[ 60%] Built target turtlebot_calibration_generate_messages_py
[ 75%] Built target turtlebot_actions_generate_messages_py
[ 77%] Built target turtlebot_calibration_generate_messages_cpp
[ 77%] Built target turtlebot_calibration_generate_messages_lisp
[ 91%] Built target turtlebot_actions_generate_messages_lisp
[ 91%] Built target turtlebot_msgs_generate_messages
[ 93%] Built target turtlebot_follower
[ 93%] Built target create_node_generate_messages
[ 93%] Built target turtlebot_actions_gencpp
[ 93%] Built target turtlebot_calibration_generate_messages
[ 93%] Built target create_node_gencpp
[ 93%] Built target turtlebot_actions_generate_messages
[ 95%] Built target turtlebot_move_action_server
[ 96%] Built target gazebo_ros_create
[ 97%] Linking CXX executable /home/redhwan/turtlebot/devel/lib/turtlebot_actions/find_fiducial_pose
CMakeFiles/find_fiducial_pose.dir/src/find_fiducial_pose.cpp.o: In function `cv::String::String(char const*)':
find_fiducial_pose.cpp:(.text._ZN2cv6StringC2EPKc[_ZN2cv6StringC5EPKc]+0x58): undefined reference to
`cv::String::allocate(unsigned long)'
CMakeFiles/find_fiducial_pose.dir/src/find_fiducial_pose.cpp.o: In function `cv::String::~String()':
find_fiducial_pose.cpp:(.text._ZN2cv6StringD2Ev[_ZN2cv6StringD5Ev]+0x14): undefined reference to
`cv::String::deallocate()'
CMakeFiles/find_fiducial_pose.dir/src/find_fiducial_pose.cpp.o: In function `cv::Mat::Mat(int, int, int, void*, unsigned long)':
find_fiducial_pose.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x121): undefined reference to `cv::error(int,
cv::String const&, char const*, char const*, int)'
find_fiducial_pose.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x211): undefined reference to `cv::error(int,
cv::String const&, char const*, char const*, int)'
CMakeFiles/find_fiducial_pose.dir/src/find_fiducial_pose.cpp.o: In function
`_ZNK2cv3MatcvNS_4MatxIT_XT0_EXT1_EEEIdLi3ELi3EEEv':
find_fiducial_pose.cpp:
(.text._ZNK2cv3MatcvNS_4MatxIT_XT0_EXT1_EEEIdLi3ELi3EEEv[_ZNK2cv3MatcvNS_4MatxIT_XT0_EXT1_EEEIdLi3ELi3
EEEv]+0xa9): undefined reference to `cv::error(int, cv::String const&, char const*, char const*, int)'
CMakeFiles/find_fiducial_pose.dir/src/detect_calibration_pattern.cpp.o: In function `PatternDetector::detectPattern(cv::Mat&,
Eigen::Matrix&, Eigen::Quaternion&)':
detect_calibration_pattern.cpp:(.text+0x447): undefined reference to `cv::SimpleBlobDetector::create(cv::SimpleBlobDetector::Params const&)'
detect_calibration_pattern.cpp:(.text+0x4de): undefined reference to `cv::findCirclesGrid(cv::_InputArray const&,
cv::Size_, cv::_OutputArray const&, int, cv::Ptr const&)'
detect_calibration_pattern.cpp:(.text+0x5db): undefined reference to
`cv::SimpleBlobDetector::create(cv::SimpleBlobDetector::Params const&)'
detect_calibration_pattern.cpp:(.text+0x672): undefined reference to `cv::findCirclesGrid(cv::_InputArray const&, cv::Size_, cv::_OutputArray const&, int, cv::Ptr const&)'
detect_calibration_pattern.cpp:(.text+0x7a6): undefined reference to `cv::cornerSubPix(cv::_InputArray const&,
cv::_InputOutputArray const&, cv::Size_, cv::Size_, cv::TermCriteria)'
detect_calibration_pattern.cpp:(.text+0xa6b): undefined reference to `cv::drawChessboardCorners(cv::_InputOutputArray
const&, cv::Size_, cv::_InputArray const&, bool)'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/redhwan/turtlebot/devel/lib/turtlebot_actions/find_fiducial_pose] Error 1
make[1]: *** [turtlebot_apps/turtlebot_actions/CMakeFiles/find_fiducial_pose.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j8 -l8" failed'
*please help me
my system
Ubuntu 14.04
indigo
cmake update from 2.8 to 3.5.1 because GPU*
thank you in advance!
↧
Turtlebot Z-coordinate jitters when using ROS Indigo
When I use ROS Indigo with the Turtlebot2 robot using the Turtlebot package for navigation (which I believe relies on the standard ROS navigation stack) the visualization of the Robot in Rviz constantly jitters/jumps up and down around 1cm in the Z-direction. There is no similar jitter in the X and Y coordinates and the robot navigates fine. When I use ROS Kinetic I do not see this jitter in the robot's pose Z-coordinate. Would anyone know why this is happening in ROS Indigo or what I can do to try to debug it?
Thanks!
↧
Is it possible to use turtlebot 2 with crystal?
Hello! I saw that there are not turtlebot debian packages for the crystal release. Is it possible to build it from source for crystal?
↧
↧
Amcl navigation using turtlebot [transformation error ]
I created a grid map using a turtlebot and after I wanted to navigate in that map I used the navigation stack Amcl but after I run it using the turtlebot navigation package I am getting this errors in transformations could someone tell me what is wrong here ?
I am using ros kinetic and I do have a real turtlebot

↧
Implementation of two subscribers
Hello. I am a ROS beginner. I am doing SLAM of turtlebot 2 in the ubuntu 14.04, ros (indigo) personal computer environment.
I want to call the callback function every time a topic / cmd_vel is delivered, but I also want to use the message of the topic / scan in the callback function.
I also want to distribute the topic / navigation_velocity_smoother / raw_cmd_vel within the callback function. Oysters
How do I write the code?
Thank you.my friend.
↧
How to get turtlebot to move in gazebo?
Hi, I am brand new to ROS and have had issues setting up my turtlebot_gazebo to just have the simulated turtlebot move around.
I am just trying to follow this tutorial: http://wiki.ros.org/turtlebot_gazebo/Tutorials/indigo/Make%20a%20map%20and%20navigate%20with%20it
But get stuck on Step 2, which is really just getting this http://wiki.ros.org/turtlebot_simulator/Tutorials/hydro/Explore%20the%20Gazebo%20world to work.
I run
roscore
roslaunch turtlebot_gazebo turtlebot_world.launch
roslaunch turtlebot_rviz_launchers view_robot.launch
Which both work fine.
Then I do
roslaunch turtlebot_teleop keyboard_teleop.launch
However, while my key presses to move the robot appear in the keyboard_teleop.launch terminal window, the robot doesn't move in Rviz.
How do I get my robot to listen to the turtlebot_telop_keyboard/cmd_vel topic if my robot only exists in simulation? Which node is the actual turtlebot?
Do I need to have
roslaunch turtlebot_stage turtlebot_in_stage.launch
be running? Because that gives me an error (Invalid roslaunch XML syntax: [Errno 2] No such file or directory: u'/opt/ros/kinetic/share/turtlebot_navigation/launch/includes/amcl.launch.xml').
↧
how Could I get a parameter from the parameter server and use it in .yaml file.
What I am trying to do is to install two turtlebots in GAZEBO in reference to this famous
[post](https://answers.ros.org/question/41433/multiple-robots-simulation-and-navigation/) and try to cover willow garage with them.
I managed to get AMCL running for both robots just fine. Now I need to set move base but I want obviously to set all the costmaps running for the namespace of each robot. So According to the code bellow I set the tf prefixes (robo1_tf/ , robot2_tf).
So what I have is one name space here and a tf_prefix:
and one part of the common costmap.yaml file of move base is below
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: base_link, data_type: LaserScan, topic: scan, marking: true, clearing: true, expected_update_rate: 15.0}
so What I wanna do, instead of creating two seperate costmap files going along the line
common_costmap_params1.yaml
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: robot1_tf/base_link, data_type: LaserScan, topic: robot1/scan, marking: true, clearing: true, expected_update_rate: 15.0}
common_costmap_params2.yaml
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: robot2_tf/base_link, data_type: LaserScan, topic: robot2/scan, marking: true, clearing: true, expected_update_rate: 15.0}
I want to keep ONE common_costmap_params.yaml for BOTH namespaces like
observation_sources: laser_scan_sensor
laser_scan_sensor: {sensor_frame: $(tf_prefix)/base_link, data_type: LaserScan, topic: $(ns)/scan, marking: true,
clearing: true, expected_update_rate: 15.0}
if it was python code I Would do
`prefix = rospy.get_param("tf_prefix")`
But How do I do the above python trick in a yaml file?
I do have read the [Param Server](http://wiki.ros.org/Parameter%20Server) docs but there sth I cannot gasp
something in the Syntax I do not know. I thought that move_base would work out of the box for each ns but this does not seem to be the case
If you need any list of topics, nodes, tf_tree, node graph, let me know and I will update.
If the question is not well stated I will update also.
thanks for any direction or hint or link in advance.
↧
↧
Saving Images with image_saver with timestamp
Hello Guys,
i use linux 16.04 with ros kinetic and gazebo 7.0. I have a simulated turtlebot from the turtlebot package. I want to save the rgb images with timestamp like i can save the pcd files with timestamp.
At the moment i am using this to get the image:
rosrun image_view image_saver image:=/camera/rgb/image_raw
when i run this i get something like: left0000.jpg . So is it possible to get the images with timestamp ?
↧
turning turtlebot a set number of degrees
I'm looking for a way to turn my robot a certain angle in a cpp node. I have read through these questions:
http://answers.ros.org/question/12557/how-to-make-the-turtlebot-rotate-in-place-a-set-of/
The above made sense, so then I looked for a way to acquire the heading of the robot,
http://answers.ros.org/question/30926/getting-turtlebot-heading/
The user in the above question can already get their robot's quaternion data and I cannot making the answer not very helpful. Could someone explain an efficient way to acquire the robot's quaternion data and explain how the answer in the 2nd link works?
Thanks!
↧
how to make the relationship between velocity and time be linear by python
I created code which making turtlebot 2 following me depend on detecting my face and chose a value of velocity 0.2 m/s
my issue is the movement of the robot when disappearing my face suddenly which making turtlebot stops suddenly, I need to make decreasing its velocity gradually like this figure [link text](https://www.google.com.eg/search?q=linear+velocity+with+time&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi754nI8_HgAhXCxbwKHRJ3D_gQ_AUIDigB&biw=1855&bih=952#imgrc=fbTRSzhfqRk8uM:)
my experience not good in ROS
I need to change the line `self.twist.linear.x = 0.05` by the linear relationship between velocity and time as shown in the figure in the link, I mean that turtlebot will stop after a certain time, for example, 20 second
my full code:
#!/usr/bin/env python
import rospy
from sensor_msgs.msg import Image
from geometry_msgs.msg import Twist
import cv2, cv_bridge
face_cascade = cv2.CascadeClassifier('/home/redhwan/1/run-webcam/Face-Detect-Demo-by-Ali-master/haarcascade_frontalface_default.xml' )
class Face_detection:
def __init__(self):
self.bridge = cv_bridge.CvBridge()
self.image_sub = rospy.Subscriber('/usb_cam/image_raw',Image, self.image_callback)
self.cmd_vel_pub = rospy.Publisher('/cmd_vel_mux/input/teleop',Twist, queue_size=1)
self.twist = Twist()
def image_callback(self, msg):
image = self.bridge.imgmsg_to_cv2(msg,desired_encoding='bgr8')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale( gray,scaleFactor=1.1,minNeighbors=5,minSize=(30, 30),flags=cv2.cv2.CASCADE_SCALE_IMAGE)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
self.twist.linear.x = 0.2
self.cmd_vel_pub.publish(self.twist)
cv2.imshow('face ', image)
cv2.waitKey(3)
if(type(faces) == tuple):
self.twist.linear.x = 0.05
self.cmd_vel_pub.publish(self.twist)
rospy.init_node('face_detection')
follower = Face_detection()
rospy.spin()
please help me or any suggestion
Thank you in advance
↧
roslaunch turtlebot_bringup minimal.launch not working+anaconda+python3.6
The system is ubuntu14.04, I install the Anaconda 3, and I create an environment which belongs to python3.6. I install ros in anaconda python3.6 environment, I add the path like this:
export PATH="/home/ariel/anaconda3/bin:$PATH"
source /opt/ros/indigo/setup.bash
and I install turtlebot. I go into the python3.6 environment, and print like this:
sudo apt-get install ros-indigo-turtlebot ros-indigo-turtlebot-apps ros-indigo-turtlebot-interactions ros-indigo-turtlebot-simulator ros-indigo-kobuki-ftdi ros-indigo-rocon-remocon ros-indigo-rocon-qt-library ros-indigo-ar-track-alvar-msgs
however, when I use this instrction:roslaunch turtlebot_bringup minimal.launch
it has some error:
(python3) ariel@ariel-ThinkPad-T420:~$ roslaunch turtlebot_bringup minimal.launch
... logging to /home/ariel/.ros/log/6787eee4-0a21-11e8-a515-8c705a64ffd4/roslaunch-ariel-ThinkPad-T420-23885.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
Traceback (most recent call last):
File "/opt/ros/indigo/share/xacro/xacro.py", line 60, in
import xacro
File "/opt/ros/indigo/lib/python2.7/dist-packages/xacro/__init__.py", line 36, in
import glob
ModuleNotFoundError: No module named 'glob'
while processing /opt/ros/indigo/share/turtlebot_bringup/launch/includes/robot.launch.xml:
while processing /opt/ros/indigo/share/turtlebot_bringup/launch/includes/description.launch.xml:
Invalid tag: Cannot load command parameter [robot_description]: command [/opt/ros/indigo/share/xacro/xacro.py '/opt/ros/indigo/share/turtlebot_description/robots/kobuki_hexagons_asus_xtion_pro.urdf.xacro'] returned with code [1].
Param xml is
The traceback for the exception was written to the log file
I don't know how to do, can anyone give me some advive?
Thank you!
↧
↧
Turtlebot SLAM/RViz - Error in RobotModel (No Transform from wheel_right_link to Base_link
**Following Setup is used:**
-Turtlebot3
-Remote PC (Win10 and Ubuntu 16.04 LTS Bash)
**Following issue exists:**
Before installing and starting SLAM data it was possible to control the Turtlebot with Keyboard Teleoperation (w a s d x). After installing and starting RViz it is no more possible to run teleoperation (it may has something to do with the link between dynamixel RViz). In RViz Tree there is an Error in Robot Model. If I Change Global Settings from [map] to [base_link] some errors are fixed but the Error „No Transform from [wheel_left_link] to [base_link] is still existing. In addition to this, In Ubuntu Console of the Remote PC Shows Error (as Shown in figure 3).
Figure 1: global settings [maps]
Figure 2: global setting [base_link]
Figure 3: ubuntu console with warning
https://i.postimg.cc/FHHW0YwK/Figure-1.png
https://i.postimg.cc/W1Y982Pw/Figure-2.png
https://i.postimg.cc/KYK0sdGS/Figure-3.png
↧
Modify Pose Position on different Turtlebots
Hello,
I am trying to place multiple robots (turtlebots) in to a known location that is bounded by a barrier, in this case it is a square. I would like each of the robots to be on the same coordinate system as the other, which I would like to initialize via another node (aka, my laptop). So for example, the idea would be to have the robot in the lower left corner be at position (0,0) and the upper right say would be (5,5).
I would like to place a robot in each corner and have them with the pose information of (0,0), (5,0), (5,5), (0,5). I realize there is some error potential but I am going to ignore that for the time being. I know I can do this in Gazebo for example, by setting the Pose with the launch file, but how would I do that on a real turtlebot? Could I do the same launch parameter? Is there a way that I can do that via the master node, or my laptop, to assign the node its coordinates through a published message to that node and the robot would update the Pose information?
Thanks in advance or any assistance.
-KS
↧
How to load a urdf xml robot description on the Parameter Server?
I'm learning how to use robot_state_publisher using the tutorial on http://wiki.ros.org/robot_state_publisher/Tutorials/Using%20the%20robot%20state%20publisher%20on%20your%20own%20robot.
I need to output tf and tf_static from the robot_state_publisher to run SLAM. My project is somewhat similar to Chefbot, and I'm using amcl_demo launch file, along with my files which outputs odometry and tf, and runs the robot's wheels.
To be frank, I don't even konw whether doing so through is robot_state_publisher is necessary, because my bot looks similar to turtlebot and it doesn't have any moving links. Hence the tf should be same throughout. But for camera nodes to work, I require to publish tf and tf_static.
I don't know how to make a urdf xml file and how to load it on the param server. And is there a way to edit turtlebot's urdf xml to match my bot's dimensions and design?
↧
How to do GMapping and SLAM Navigation using RPLIDAR A2 and Kobuki?
I have a Kobuki and installed Turtlebot software on my Turtlebot laptop and set everything up for Turtlebot, and I just got an RPLIDAR A2 yesterday and I couldn't figure out how to get it to work with Turtlebot Gmapping and AMCL, to navigate autonomously. On the remote computer the scan doesn't show up but the Kobuki's odometry shows up. I dont think there were any errors. In the launch file I deleted the line of code that starts the 3d camera, and I start the RPLIDAR node from another command line. But again, nothing! So please help me if you can. I am running Ubuntu 16.04 and ROS Kinetic on the Turtlebot Laptop and Ubuntu 14.04 ROS Indigo on the remote computer. Thanks!
Edit: I am now using hector_slam to do this. I have a pretty noisy map but I guess it could work, but now the question is how does the Turtlebot use the RPLIDAR A2 to navigate in the map generated by hector_slam? What parameters should I use in RVIZ? Is there a hector navigation file?
Edit 2: I could still use Gmapping, and obviously that would be SO much easier since I know how to do gmapping, but how do I implement it with an RPLIDAR A2? I will edit this again when I can get the error codes. Also, the errors happen when I run the rplidar node and then the turtlebot minimal node and then the gmapping node and I think it's because of a transform that I didn't put in the launch file.
↧
↧
TurtleBot Bringup Not Connecting to Port
I've been using the TurtleBot3 Waffle with Intel Joule processor for about a month now, and everything has been working very smoothly up until yesterday. Yesterday I followed the same process I usually use to set the TurtleBot up to communicate with a Remote PC:
[Remote PC]
1. Run `roscore`
2. Run `roslaunch turtlebot3_bringup turtlebot3_remote.launch`
[TurtleBot]
1. Power up the robot
2. Run `roslaunch turtlebot3_bringup turtlebot3_robot.launch`
After I run these steps, I usually am able to publish/subscribe to the various ROS topics the robot publishes/subscribes to. Yesterday I ran this setup and received this console output after launching the turtlebot3_robot.launch on the TurtleBot:
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://[hostname]:45747/
SUMMARY
========
PARAMETERS
* /rosdistro: kinetic
* /rosversion: 1.12.13
* /turtlebot3_core/baud: 115200
* /turtlebot3_core/port: /dev/ttyACM0
* /turtlebot3_lds/frame_id: base_scan
* /turtlebot3_lds/port: /dev/ttyUSB0
NODES
/
turtlebot3_core (rosserial_python/serial_node.py)
turtlebot3_diagnostics (turtlebot3_bringup/turtlebot3_diagnostics)
turtlebot3_lds (hls_lfcd_lds_driver/hlds_laser_publisher)
ROS_MASTER_URI=http://[master_uri]:11311
process[turtlebot3_core-1]: started with pid [2603]
process[turtlebot3_lds-2]: started with pid [2604]
process[turtlebot3_diagnostics-3]: started with pid [2605]
[INFO] [1522418950.044044, 0.000000]: ROS Serial Python Node
[INFO] [1522418950.263477, 0.000000]: Connecting to /dev/ttyACM0 at 115200 baud
And that's as far as it gets. It's getting hung up on connecting the OpenCR port. The only similar scenario to mine that I've seen asked about on here is at the following link: [https://github.com/ROBOTIS-GIT/turtlebot3/issues/69](https://github.com/ROBOTIS-GIT/turtlebot3/issues/69). I've followed all the instructions in the answers provided with no successful outcome. Strangely enough, I let the robot charge overnight, and when I powered it on again this morning, it worked fine for the first 3 or 4 times I ran the boot sequence above. Then I tried to start again after 3-4 successes, and I ran into the same issue. It gets stuck on the connecting step. I am able to connect to the OpenCR board and flash the turtlebot3_core firmware from the Arduino program, so I know I have connectivity to the board. It's just the turtlebot3_robot.launch sequence that seems to be having trouble with connecting. I'm planning to re-flash the BIOS for the Intel Joule processor being used alongside the OpenCR board. I have tried powering on and off, unplugging and plugging back in every port possible to try and diagnose the issue, but I haven't had any success. If more information is needed, I would be happy to provide it. Thanks for the help.
And that's as far as it gets. It's getting hung up on connecting the OpenCR port. The only similar scenario to mine that I've seen asked about on here is at the following link: [https://github.com/ROBOTIS-GIT/turtlebot3/issues/69](https://github.com/ROBOTIS-GIT/turtlebot3/issues/69). I've followed all the instructions in the answers provided with no successful outcome. Strangely enough, I let the robot charge overnight, and when I powered it on again this morning, it worked fine for the first 3 or 4 times I ran the boot sequence above. Then I tried to start again after 3-4 successes, and I ran into the same issue. It gets stuck on the connecting step. I am able to connect to the OpenCR board and flash the turtlebot3_core firmware from the Arduino program, so I know I have connectivity to the board. It's just the turtlebot3_robot.launch sequence that seems to be having trouble with connecting. I'm planning to re-flash the BIOS for the Intel Joule processor being used alongside the OpenCR board. I have tried powering on and off, unplugging and plugging back in every port possible to try and diagnose the issue, but I haven't had any success. If more information is needed, I would be happy to provide it. Thanks for the help.
↧
RLException: while processing /home/kaos5-q/catkin_ws/src/turtlebot3/turtlebot3_bringup/launch/includes/description.launch.xml:
To start up I'm trying to run Rviz on my remote pc but there's a step that gives me an error. By the way I'm following the steps on the following website |section 7|.
http://emanual.robotis.com/docs/en/platform/turtlebot3/bringup/#run-roscore
Something that might be useful to know
1. I'm running melodic on remote pc, Ubuntu 18.04.
2. I'm running kinetic on turtlebot pc, Ubuntu MATE 16.04.
* To begin with I run `roscore` on my remote pc.
* Second- I ran `roslaunch turtlebot3_bringup turtlebot3_robot.launch` on my turtle pc.
Those steps work completely fine. Now I'm supposed to export `TURTLEBOT3_MODEL=${TB3_MODEL}`on my remote pc so it recognizes my turtle pc. In this case I don't have too because I've permanently set the export settings. So the next step will be running `roslaunch turtlebot3_bringup turtlebot3_remote.launch` on my remote pc but this step prints out this error on my terminal!
... logging to /home/kaos5-q/.ros/log/d1a5ea46-5260-11e9-ad66-7085c28192a7/roslaunch-kaos5q-desktop-4477.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
xacro: in-order processing became default in ROS Melodic. You can drop the option.
substitution args not supported: No module named 'rospkg'
when processing file: /home/kaos5-q/catkin_ws/src/turtlebot3/turtlebot3_description/urdf/turtlebot3_burger.urdf.xacro
RLException: while processing /home/kaos5-q/catkin_ws/src/turtlebot3/turtlebot3_bringup/launch/includes/description.launch.xml:
Invalid tag: Cannot load command parameter [robot_description]: command [/opt/ros/melodic/lib/xacro/xacro --inorder '/home/kaos5-q/catkin_ws/src/turtlebot3/turtlebot3_description/urdf/turtlebot3_burger.urdf.xacro'] returned with code [2].
Param xml is
The traceback for the exception was written to the log file
I'm kind of new to this area of ROS and working with terminal so please excuse my ignorance.
↧
could not open port /dev/ttyACM0,but i use "sudo chmod 666/dev/ttyACM0“ ,“chmod: "666/dev/tty/ACM0" 后缺少操作数 Try 'chmod --help' for more information.”
ROS_NAMESPACE=om_with_tb3 roslaunch turtlebot3_bringup turtlebot3_robot.launch multi_robot_name:=om_with_tb3 set_lidar_frame_id:=om_with_tb3/base_scan
... logging to /home/pi/.ros/log/b64e31c2-5472-11e9-828c-ace01033ad0f/roslaunch-raspberrypi-993.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://192.168.43.142:36451/
SUMMARY
========
PARAMETERS
* /om_with_tb3/turtlebot3_core/baud: 115200
* /om_with_tb3/turtlebot3_core/port: /dev/ttyACM0
* /om_with_tb3/turtlebot3_core/tf_prefix: om_with_tb3
* /om_with_tb3/turtlebot3_lds/frame_id: om_with_tb3/base_...
* /om_with_tb3/turtlebot3_lds/port: /dev/ttyUSB0
* /rosdistro: kinetic
* /rosversion: 1.12.13
NODES
/om_with_tb3/
turtlebot3_core (rosserial_python/serial_node.py)
turtlebot3_diagnostics (turtlebot3_bringup/turtlebot3_diagnostics)
turtlebot3_lds (hls_lfcd_lds_driver/hlds_laser_publisher)
ROS_MASTER_URI=http://192.168.43.116:11311
process[om_with_tb3/turtlebot3_core-1]: started with pid [1002]
process[om_with_tb3/turtlebot3_lds-2]: started with pid [1003]
process[om_with_tb3/turtlebot3_diagnostics-3]: started with pid [1004]
[INFO] [1553909289.526154]: ROS Serial Python Node
[INFO] [1553909289.607560]: Connecting to /dev/ttyACM0 at 115200 baud
[ERROR] [1553909289.627768]: Error opening serial: [Errno 2] could not open port /dev/ttyACM0: [Errno 2] No such file or directory: '/dev/ttyACM0'
[om_with_tb3/turtlebot3_core-1] process has finished cleanly
log file: /home/pi/.ros/log/b64e31c2-5472-11e9-828c-ace01033ad0f/om_with_tb3-turtlebot3_core-1*.log
^C[om_with_tb3/turtlebot3_diagnostics-3] killing on exit
[om_with_tb3/turtlebot3_lds-2] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
Unhandled exception in thread started by
sys.excepthook is missing
lost sys.stderr
↧