Coder Social home page Coder Social logo

car_demo's People

Contributors

angelja avatar chapulina avatar danieljeswin avatar esteve avatar iche033 avatar jbrookshire avatar nkoenig avatar ozzdemir avatar pushkalkatara avatar scpeters avatar sloretz avatar tfoote avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

car_demo's Issues

Missing "prius_msgs/Control.h"

In file included from /tmp/workspace/src/car_demo/plugins/PriusHybridPlugin.cc:27:0:
/tmp/workspace/src/car_demo/plugins/PriusHybridPlugin.hh:29:32: fatal error: prius_msgs/Control.h: No such file or directory
compilation terminated.
make[2]: *** [car_demo/CMakeFiles/PriusHybridPlugin.dir/plugins/PriusHybridPlugin.cc.o] Error 1

Regards,
Pedro Santos

run error

when i run 'sudo ./run_demo.bash', it shows me the error:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
[Err] [RenderEngine.cc:740] Unable to create glx visual
[Wrn] [RenderEngine.cc:93] Unable to create X window. Rendering will be disabled
[Wrn] [RenderEngine.cc:293] Cannot initialize render engine since render path type is NONE. Ignore this warning ifrendering has been turned off on purpose.

There is no gazebo and rviz after starting run_demo.bash.

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
The directory '/home/shmily/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/shmily/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting git+https://github.com/osrf/rocker.git
Cloning https://github.com/osrf/rocker.git to /tmp/pip-0wyvyo0m-build
Requirement already up-to-date: empy in /tmp/car_demo_rocker_venv/lib/python3.5/site-packages (from rocker===0.1.4)
Requirement already up-to-date: pexpect in /tmp/car_demo_rocker_venv/lib/python3.5/site-packages (from rocker===0.1.4)
Requirement already up-to-date: docker-py in /tmp/car_demo_rocker_venv/lib/python3.5/site-packages (from rocker===0.1.4)
Requirement already up-to-date: ptyprocess>=0.5 in /tmp/car_demo_rocker_venv/lib/python3.5/site-packages (from pexpect->rocker===0.1.4)
Requirement already up-to-date: requests!=2.11.0,>=2.5.2 in /tmp/car_demo_rocker_venv/lib/python3.5/site-packages (from docker-py->rocker===0.1.4)
Requirement already up-to-date: six>=1.4.0 in /tmp/car_demo_rocker_venv/lib/python3.5/site-packages (from docker-py->rocker===0.1.4)
Requirement already up-to-date: docker-pycreds>=0.2.1 in /tmp/car_demo_rocker_venv/lib/python3.5/site-packages (from docker-py->rocker===0.1.4)
Requirement already up-to-date: websocket-client>=0.32.0 in /tmp/car_demo_rocker_venv/lib/python3.5/site-packages (from docker-py->rocker===0.1.4)
Requirement already up-to-date: urllib3<1.25,>=1.21.1 in /tmp/car_demo_rocker_venv/lib/python3.5/site-packages (from requests!=2.11.0,>=2.5.2->docker-py->rocker===0.1.4)
Requirement already up-to-date: chardet<3.1.0,>=3.0.2 in /tmp/car_demo_rocker_venv/lib/python3.5/site-packages (from requests!=2.11.0,>=2.5.2->docker-py->rocker===0.1.4)
Requirement already up-to-date: certifi>=2017.4.17 in /tmp/car_demo_rocker_venv/lib/python3.5/site-packages (from requests!=2.11.0,>=2.5.2->docker-py->rocker===0.1.4)
Requirement already up-to-date: idna<2.9,>=2.5 in /tmp/car_demo_rocker_venv/lib/python3.5/site-packages (from requests!=2.11.0,>=2.5.2->docker-py->rocker===0.1.4)
Installing collected packages: rocker
Found existing installation: rocker 0.1.4
Uninstalling rocker-0.1.4:
Successfully uninstalled rocker-0.1.4
Running setup.py install for rocker ... done
Successfully installed rocker-0.1.4
You are using pip version 8.1.1, however version 19.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Plugins found: ['dev_helpers', 'home', 'nvidia', 'pulse', 'user', 'x11']
Active extensions ['nvidia', 'user']

Then stop at this interface

Indigo / Ubuntu 14.04 version?

This project is awesome, thank you for creating it!!

Do you guys have any plans for making an Indigo / Ubuntu 14.04 version of it?

gazebo_ros_block_laser.cpp no member GetSimTime

Using 16.04 and ROS Kinetic with Gazebo 9

Building car_demo with catkin_make generates an error in the plugin gazebo_ros_block_laser.cpp as follows:

/home/ros/catkin_ws/src/car_demo/car_demo/plugins/gazebo_ros_block_laser.cpp:85:37: error: ‘class gazebo::physics::World’ has no member named ‘GetSimTime’
   last_update_time_ = this->world_->GetSimTime();
                                     ^
/home/ros/catkin_ws/src/car_demo/car_demo/plugins/gazebo_ros_block_laser.cpp: In member function ‘void gazebo::GazeboRosBlockLaser::OnStats(const boost::shared_ptr<const gazebo::msgs::WorldStatistics>&)’:
/home/ros/catkin_ws/src/car_demo/car_demo/plugins/gazebo_ros_block_laser.cpp:408:3: error: ‘math’ has not been declared
   math::Pose pose;
   ^
/home/ros/catkin_ws/src/car_demo/car_demo/plugins/gazebo_ros_block_laser.cpp:409:3: error: ‘pose’ was not declared in this scope
   pose.pos.x = 0.5*sin(0.01*this->sim_time_.Double());
   ^

GetSimTime is not a class member of gazebo::physics::World -> Probably because I use Gazebo 9 instead of Gazebo 8?!

There is no new interface show after starting run_demo.bash

hansen@hansen-Lenovo-Legion-Y7000-1060:~/Project/car_demo-master$ ./build_demo.bash 
Sending build context to Docker daemon  38.66MB
Step 1/9 : FROM osrf/ros:kinetic-desktop
 ---> 98cb12258f9a
Step 2/9 : RUN apt-get update  && apt-get install -y     wget     lsb-release     sudo     mesa-utils  && apt-get clean
 ---> Using cache
 ---> 436adc35f5d4
Step 3/9 : RUN echo "deb http://packages.osrfoundation.org/gazebo/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list  && wget http://packages.osrfoundation.org/gazebo.key -O - | apt-key add -  && apt-get update  && apt-get install -y     gazebo9     ros-kinetic-gazebo9-ros-pkgs     ros-kinetic-fake-localization     ros-kinetic-joy  && apt-get clean
 ---> Using cache
 ---> 55bc19ad80d8
Step 4/9 : RUN mkdir -p /tmp/workspace/src
 ---> Using cache
 ---> 6ba5da3ccc1e
Step 5/9 : COPY prius_description /tmp/workspace/src/prius_description
 ---> Using cache
 ---> 0aeb2201518d
Step 6/9 : COPY prius_msgs /tmp/workspace/src/prius_msgs
 ---> Using cache
 ---> 773229c49594
Step 7/9 : COPY car_demo /tmp/workspace/src/car_demo
 ---> Using cache
 ---> f2293714870b
Step 8/9 : RUN /bin/bash -c 'cd /tmp/workspace  && source /opt/ros/kinetic/setup.bash  && catkin_make'
 ---> Using cache
 ---> 58c560fd6360
Step 9/9 : CMD ["/bin/bash", "-c", "source /opt/ros/kinetic/setup.bash && source /tmp/workspace/devel/setup.bash && roslaunch car_demo demo.launch"]
 ---> Using cache
 ---> 4d39b6a1412e
Successfully built 4d39b6a1412e
Successfully tagged osrf/car_demo:latest
hansen@hansen-Lenovo-Legion-Y7000-1060:~/Project/car_demo-master$ 
hansen@hansen-Lenovo-Legion-Y7000-1060:~/Project/car_demo-master$ 
hansen@hansen-Lenovo-Legion-Y7000-1060:~/Project/car_demo-master$ ./run_demo.bash 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
Plugins found: ['dev_helpers', 'env', 'git', 'home', 'nvidia', 'pulse', 'ssh', 'user', 'x11']
Active extensions ['nvidia', 'x11']

Env:

docker:
hansen@hansen-Lenovo-Legion-Y7000-1060:~/Project/car_demo-master$ docker --version 
Docker version 19.03.0, build aeac949
sys:
hansen@hansen-Lenovo-Legion-Y7000-1060:~/Project/car_demo-master$ lsb_release -aNo LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.6 LTS
Release:	16.04
Codename:	xenial
python:
hansen@hansen-Lenovo-Legion-Y7000-1060:~/Project/car_demo-master$ python --version
Python 3.5.2

Rosbags usage

Dear all,

I'm using your prius model in simulation model i'm developing, and would like to record some rosbags within a simulation on it. I use a simple application(attachment) with keyboard inputs for the car to get around the map I have.

My goal is to have this car to do the same path everytime i run my simulation, I tried using rosbags for this purpose, but i'm having problems with them, they don't replicate the car's path from the simulation it was recorded under, for example, it starts to turn earlier than it should... Any idea on what can this be happening?

Or do you have any suggestion on how to do this without using rosbags? I dont know if you have some autonomous controller already developed for a exact environment...

Hope you can help me on this.
thanks,
Bruno Vieira
code.txt

run_demo.bash error

hansen@hansen-Lenovo-Legion-Y7000-1060:~/Project/car_demo-master$ ./run_demo.bash
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Traceback (most recent call last):
File "/home/hansen/.local/bin/rocker", line 7, in
from rocker.cli import main
File "/home/hansen/.local/lib/python2.7/site-packages/rocker/cli.py", line 21, in
from .core import DockerImageGenerator
File "/home/hansen/.local/lib/python2.7/site-packages/rocker/core.py", line 164
**arguments,
^
SyntaxError: invalid syntax

hansen@hansen-Lenovo-Legion-Y7000-1060:~/Project/car_demo-master$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial

run_demo.bash issue

When i run ./run_demo.bash, I get the following error:

docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

Publish Wheels Speeds and Steering Angle on a ROS topic : gzserver crashes

Hi all,

I would like to briefly modify the PriusHybridPlugin to make it publish on a separate ROS topic front wheels speeds and steering angle.

What I have tried so far is:

  1. Add
    public: ros::Publisher sensorsPub;
    public: std_msgs::MultiArrayLayout layout;
    public: std_msgs::Float32MultiArray sensors_msg;
    to public declarations of the class PriusHybridPluginPrivate

  2. Add
    this->dataPtr->sensorsPub = nh.advertise<std_msgs::Float32MultiArray>("/prius/sensors",10);
    this->dataPtr->layout.dim[0].label = "sensors_values";
    this->dataPtr->layout.dim[0].size = 2;
    this->dataPtr->layout.dim[0].stride = 2;
    this->dataPtr->layout.data_offset = 0;
    this->dataPtr->sensors_msg.layout = this->dataPtr->layout;
    in the constructor of the plugin.

  3. Add
    #include <std_msgs/Float32MultiArray.h>
    #include <std_msgs/MultiArrayLayout.h>
    at the beginning of the PriusHybridPlugin.hh file

  4. Finally, add
    this->dataPtr->sensors_msg.data[0] = (dPtr->flSteeringAngle+dPtr->frSteeringAngle)/2;
    this->dataPtr->sensors_msg.data[1] = (dPtr->flWheelAngularVelocity+dPtr->frWheelAngularVelocity)/2;
    this->dataPtr->sensorsPub.publish(this->dataPtr->sensors_msg);
    in the function Update(), after all the values have been read.

However, when I launch the simulation, gazebo immediately crashes with no more explanation than
[gazebo-2] process has died [pid 122, exit code 139] which means I have a segmentation violation somewhere, but I can't find where.

Thank you for your help
Cheers,
Guillaume

Build_demo fail

Hi,
I just start to use your packages and just get two questions.

  1. When I run ./build_demo.bash, i get the error like:
    image
    Why does it need 1 argument?
  2. For now, I use ROS kinetic and gazebo 7.0. Will it be a problem to use gazebo 7.0 not 9.0 to run your Mcity demo?
    Thanks!

Give throttle from python script

Hello I am working on a car simulation with prius hybrid. How can I give a throttle and steer from python script? I tried with Control.msg to "prius" publisher. I tried to set joint states but I cannot manage it. Could you help me about this?

./run_demo.bash: I meet some problems and solutions.

I keep doing using our simulator to do somethings interesting.

when I ./run_demo.bash, The log told me PermissionError: [Errno 13] permission denied: ... as follows:

Exception:
Traceback (most recent call last):
File "/usr/lib/python3.5/shutil.py", line 538, in move
os.rename(src, real_dst)
PermissionError: [Errno 13] permission denied: '/tmp/car_demo_rocker_venv/lib/python3.5/site-packages/rocker-0.0.1.egg-info' -> '/tmp/pip-_z0wg77r-uninstall/tmp/car_demo_rocker_venv/lib/python3.5/site-packages/rocker-0.0.1.egg-info'

So I just to sudo ./run_demo.bash, but the log told me useradd: user 'root' already exists Cannot run if build has not passed. as follows(in the bottom line):

Building docker file with arguments: {'nocache': False, 'path': '/tmp/tmpqyj388m2', 'tag': 'rocker_osrf/car_demo_nvidia_user', 'rm': True, 'decode': True}
building > Step 1/14 : FROM nvidia/opengl:1.0-glvnd-devel-ubuntu16.04 as glvnd
building > ---> 9bf691023f43
building > Step 2/14 : FROM osrf/car_demo
building > ---> 2b79635dafba


building > Step 13/14 : RUN useradd -U --uid 0 -ms /bin/bash root && echo "root:root" | chpasswd && adduser root sudo && echo "root ALL=NOPASSWD: ALL" >> /etc/sudoers.d/root
building > ---> Running in 4833a569e750
building > useradd: user 'root' already exists
useradd: user 'root' already exists
Cannot run if build has not passed.

I have no idea about it. So find The user ‘root’ already exists.
So I decide to remove --user in the rocker --nvidia --user --exec --devices /dev/input/js0 /dev/input/js1 -- osrf/car_demo.

This time, I sudo ./run_demo.bash again, using rocker --nvidia --exec --devices /dev/input/js0 /dev/input/js1 -- osrf/car_demo.The simulator can run well again.

So @tfoote, I think whether we can remove --user thoroughly and using sudo ./run_demo.bash

TODOs

Surface properties (especially wheels) @sloretz

mcity integration @tfoote

Hybrid plugin into model + updates (change commands to apply to steering joint) (test keystrokes from gazebo client plugin?) @sloretz OR subscribe to ROS topics for simple control demo (keyboard/joystick buttons)

joint_state_publishing @tfoote
robot_state_publisher @tfoote

launch file to bring it all up

sensors (add some) @sloretz
rviz config to view

fake_localization @tfoote

Stretch goals,
game console integration (need js website ignition backend)
wheels turn in rviz

Cannot control the car in Gazebo with keyboard : Car won't move

Hi all,

I don't have a joystick so I'm controlling the car using the keyboard. It was working perfectly well so far.
However, I wanted to see if I could use the launch script on plain Kinetic, without Docker.
When I tried to catkin_make, it said that the package ignition-msgs0 was not found. So I manually installed libignition-msgs0 with

sudo apt-get install libignition-msgs0

However, the caktin_make command kept crashing on dependancies, so I gave up on this, and decided to stay with the Docker setup. But now, when I launch the simulation, the car doesn't move according to keyboard letters pressed. In fact, it doesn't move at all.
I've checked in the Docker container that the librairy was still loaded and it is there:

/usr/lib/x86_64-linux-gnu

alongside with

libignition-math3

I don't have the slicest idea of where to look next to find where the bridge is broken between the keyboard and the simulation.
It's my fault, I should have stayed with the original setup, sorry for bothering you.

Have a nice day
Guillaume

cannot start again after turn off gazebo

Hi all,

I turn off demo then run:

  • sudo ./run_demo.bash

It has problem:

Invalid MIT-MAGIC-COOKIE-1 key[Err] [RenderEngine.cc:725] Can't open display: :0

[Wrn] [GuiIface.cc:300] Couldn't locate specified .ini. Creating file at "/root/.gazebo/gui.ini"
Invalid MIT-MAGIC-COOKIE-1 key[Err] [RenderEngine.cc:725] Can't open display: :0

Invalid MIT-MAGIC-COOKIE-1 key[Err] [GuiIface.cc:126] QXcbConnection: Could not connect to display :0

[ERROR] [1547546145.708960370]: Couldn't open joystick /dev/input/js0. Will retry every second.
process[joy_node1-9]: started with pid [489]
[gazebo_gui-3] process has died [pid 129, exit code 134, cmd /opt/ros/kinetic/lib/gazebo_ros/gzclient --verbose __name:=gazebo_gui __log:=/root/.ros/log/b9a546ec-18ab-11e9-8243-0242ac110002/gazebo_gui-3.log].
log file: /root/.ros/log/b9a546ec-18ab-11e9-8243-0242ac110002/gazebo_gui-3*.log
[ERROR] [1547546145.787646929]: Couldn't open joystick /dev/input/js1. Will retry every second.
process[spawn_urdf-10]: started with pid [552]
process[rviz-11]: started with pid [626]
Invalid MIT-MAGIC-COOKIE-1 keyQXcbConnection: Could not connect to display :0

REQUIRED process [rviz-11] has died!
process has died [pid 626, exit code -6, cmd /opt/ros/kinetic/lib/rviz/rviz -d /tmp/workspace/src/car_demo/rviz/demo.rviz __name:=rviz __log:=/root/.ros/log/b9a546ec-18ab-11e9-8243-0242ac110002/rviz-11.log].
log file: /root/.ros/log/b9a546ec-18ab-11e9-8243-0242ac110002/rviz-11*.log
Initiating shutdown!

Please help me
Thanks

run_demo.bash error

I installed rocker via pip and succesfuly build but following error occurs does anybody know how to solve this?
This issue is probablly because docker is incorrect but error message was different from other issue so I made this issue

:~/kinetic_ws/src/car_demo$ ./run_demo.bashCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
/home/taiki/.local/lib/python2.7/site-packages/requests/init.py:83: RequestsDependencyWarning: Old version of cryptography ([1, 2, 3]) may cause slowdown.
warnings.warn(warning, RequestsDependencyWarning)
Plugins found: ['dev_helpers', 'home', 'nvidia', 'pulse', 'user', 'x11']
Active extensions ['nvidia', 'x11']
Traceback (most recent call last):
File "/home/taiki/.local/bin/rocker", line 11, in
sys.exit(main())
File "/home/taiki/.local/lib/python2.7/site-packages/rocker/cli.py", line 58, in main
dig = DockerImageGenerator(active_extensions, args_dict, base_image)
File "/home/taiki/.local/lib/python2.7/site-packages/rocker/core.py", line 77, in init
self.dockerfile = generate_dockerfile(active_extensions, self.cliargs, base_image)
File "/home/taiki/.local/lib/python2.7/site-packages/rocker/core.py", line 180, in generate_dockerfile
dockerfile_str += el.get_preamble(args_dict) + '\n'
File "/home/taiki/.local/lib/python2.7/site-packages/rocker/nvidia_extension.py", line 107, in get_preamble
return em.expand(preamble, self.get_environment_subs(cliargs))
File "/home/taiki/.local/lib/python2.7/site-packages/rocker/nvidia_extension.py", line 92, in get_environment_subs
dist, ver, codename = detect_os(cliargs['base_image'])
TypeError: 'NoneType' object is not iterable

Thanks

Minor URDF/RViz problems on Bionic/Melodic

I'm having some problems with URDF spawner and RViz under Ubuntu 18.04 with ROS Melodic.
I've built the demo using catkin build, launching via roslaunch car_demo demo.launch.

Isolating these issues, gazebo_ros/spawn_urdf fails with main error being

Spawn service failed. Exiting.
[spawn_urdf-5] process has died [pid 10330, exit code 1, cmd /opt/ros/melodic/lib/gazebo_ros/spawn_model -param robot_description -urdf -x 3 -y -12 -z 0.5 -model prius __name:=spawn_urdf __log:=/home/mjbogusz/.ros/log/02b9b0ea-bcfb-11e9-b0a6-04d4c425ad81/spawn_urdf-5.log].
log file: /home/mjbogusz/.ros/log/02b9b0ea-bcfb-11e9-b0a6-04d4c425ad81/spawn_urdf-5*.log

And logs containing

$ cat /home/mjbogusz/.ros/log/07ea22b4-bcf8-11e9-b0a6-04d4c425ad81/spawn_urdf-4.log
[rospy.client][INFO] 2019-08-12 13:55:09,172: init_node, name[/spawn_urdf], pid[8305]
[xmlrpc][INFO] 2019-08-12 13:55:09,172: XML-RPC server binding to 0.0.0.0:0
[xmlrpc][INFO] 2019-08-12 13:55:09,172: Started XML-RPC server [http://mjbogusz-desktop:43923/]
[rospy.init][INFO] 2019-08-12 13:55:09,173: ROS Slave URI: [http://mjbogusz-desktop:43923/]
[rospy.impl.masterslave][INFO] 2019-08-12 13:55:09,173: _ready: http://mjbogusz-desktop:43923/
[rospy.registration][INFO] 2019-08-12 13:55:09,173: Registering with master node http://localhost:11311
[xmlrpc][INFO] 2019-08-12 13:55:09,173: xml rpc node: starting XML-RPC server
[rospy.init][INFO] 2019-08-12 13:55:09,273: registered with master
[rospy.rosout][INFO] 2019-08-12 13:55:09,273: initializing /rosout core topic
[rospy.rosout][INFO] 2019-08-12 13:55:09,274: connected to core topic /rosout
[rospy.simtime][INFO] 2019-08-12 13:55:09,275: initializing /clock core topic
[rospy.simtime][INFO] 2019-08-12 13:55:09,276: connected to core topic /clock
[rosout][INFO] 2019-08-12 13:55:09,278: Loading model XML from ros parameter robot_description
[rosout][INFO] 2019-08-12 13:55:09,288: Waiting for service /gazebo/spawn_urdf_model
[rospy.internal][INFO] 2019-08-12 13:55:09,563: topic[/rosout] adding connection to [/rosout], count 0
[rosout][INFO] 2019-08-12 13:55:09,890: Calling service /gazebo/spawn_urdf_model
[rospy.internal][INFO] 2019-08-12 13:55:09,901: topic[/clock] adding connection to [http://mjbogusz-desktop:33325/], count 0
[rosout][INFO] 2019-08-12 13:55:10,296: Spawn status: SpawnModel: Entity pushed to spawn queue, but spawn service timed out waiting for entity to appear in simulation under the name prius
[rosout][ERROR] 2019-08-12 13:55:10,297: Spawn service failed. Exiting.
[rospy.core][INFO] 2019-08-12 13:55:10,298: signal_shutdown [atexit]
[rospy.internal][INFO] 2019-08-12 13:55:10,299: topic[/rosout] removing connection to /rosout
[rospy.internal][INFO] 2019-08-12 13:55:10,299: topic[/clock] removing connection to http://mjbogusz-desktop:33325/
[rospy.impl.masterslave][INFO] 2019-08-12 13:55:10,299: atexit

$ cat /home/mjbogusz/.ros/log/07ea22b4-bcf8-11e9-b0a6-04d4c425ad81/spawn_urdf-4-stdout.log 
[INFO] [1565610909.278173, 0.000000]: Loading model XML from ros parameter robot_description
[INFO] [1565610909.288160, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
[INFO] [1565610909.890910, 0.000000]: Calling service /gazebo/spawn_urdf_model
[INFO] [1565610910.296765, 1341.708000]: Spawn status: SpawnModel: Entity pushed to spawn queue, but spawn service timed out waiting for entity to appear in simulation under the name prius

While RViz logs more cryptic (with nothing in log files)

[ERROR] [1565612189.653336245]: XML parse error [package://prius_description/meshes/hybrid_body.obj]: XML_ERROR_PARSING_TEXT
[ERROR] [1565612189.670629088]: XML parse error [package://prius_description/meshes/wheel.obj]: XML_ERROR_PARSING_TEXT
[ERROR] [1565612189.672880491]: XML parse error [package://prius_description/meshes/steering_wheel.obj]: XML_ERROR_PARSING_TEXT

Hello. Is there a way to run only the mcity city model?

Hello. Is there a way to run only the mcity model? I've copied the mcity folder to the gazebo template folder (.gazebo / models), but selecting mcity from within the gazebo causes an error and appear the the message 'Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication :: notify () and catch all exceptions there.

terminate called after throwing an instance of 'Ogre :: FileNotFoundException'
what (): OGRE EXCEPTION (6: FileNotFoundException): Can not locate resource /home/ednilson/.gazebo/models/mcity/meshes/mcity.obj in resource group Autodetect or any other group. in ResourceGroupManager :: openResource at /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/src/OgreResourceGroupManager.cpp (line 756)
"How can I resolve this error? Thanks for the help.

Unable to Create ros Log File

I have set up the car_demo per the instructions but get this error upon first startup:

docker run -it   --rm     --runtime=nvidia   --security-opt seccomp=unconfined   rocker_osrf/car_demo_nvidia_user 
WARNING: cannot create log directory [/home/calvin/.ros/log/38e2bdf6-5b85-11e9-b564-0242ac110002]. Please set ROS_LOG_DIR to a writable location.
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
du: cannot access '/home/calvin/.ros/log': No such file or directory

started roslaunch server http://46b4547e3797:36757/

SUMMARY
========

PARAMETERS
 * /joy_node0/dev: /dev/input/js0
 * /joy_node1/dev: /dev/input/js1
 * /robot_description: <?xml version="1....
 * /rosdistro: kinetic
 * /rosversion: 1.12.14
 * /use_sim_time: True

NODES
  /
    fake_localization (fake_localization/fake_localization)
    gazebo (gazebo_ros/gzserver)
    gazebo_gui (gazebo_ros/gzclient)
    joy_node0 (joy/joy_node)
    joy_node1 (joy/joy_node)
    joystick_translator (car_demo/joystick_translator)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    rviz (rviz/rviz)
    spawn_urdf (gazebo_ros/spawn_model)
    very_inaccurate_odom (tf2_ros/static_transform_publisher)

auto-starting new master
No handlers could be found for logger "roslaunch"
[master] ERROR: unable to configure logging [unable to create directory for log file [/home/calvin/.ros/log/38e2bdf6-5b85-11e9-b564-0242ac110002].
Please check permissions.]
Roslaunch got a 'No such file or directory' error while attempting to run:

rosmaster --core -p 11311 -w 3

Please make sure that all the executables in this command exist and have
executable permission. This is often caused by a bad launch-prefix.
The traceback for the exception was written to the log file
[master] killing on exit

It seems like I can't create a log folder which prevents ROS from running. The user has docker permissions in Linux (I can run the nvidia-docker2 VM by itself), so it's unclear why I do not have proper permissions to create that folder. Any ideas on how to fix this?

Vehicle Dynamics

Where can I find the vehicle dynamics parameters such as mass, mass distribution, cornering stiffness parameters of front and rear wheels, etc?

Offset base_link and chassis

Could you elaborate why there base_link_connection adds an offset of 1.45 meters between the chassis and base_link? The base_link is now located next to the vehicle, while I expected it to be near its center or rear axis. Not sure if this is a bug or a feature ...

Very nice demo by the way!

How to modify run_bash script to run another launch script ?

Hi all,

Forgive me if it's a newbie question, but I'm not very used to Docker app.
I can execute the run_demo.basch script and everything is fine. The thing is that I don't need all these sensors on my model.
So I copied-paste the prius.sdf file, get rid of what I needn't, changed the model parameter in the demo.launch file.
But the full demo car is used everytime I execute run_demo.bash, and my changes are taken in account.

I've looked into the script and it's not very clear what file is used to launch the whole system.
Can anyone tell me how to launch my custome launch file?

thank you very much in advance
Guillaume

Questions about road width and the scale of the car

Hi,

Thanks for sharing your code. It's really an amazing work. I now have two questions about the model of car and world:

The first one is about the scale of the car. Looked at from the simulation, the car seems to be much smaller than what we expect in real-world cases when compared to the road. When I tried to check the width of the road (used as a reference), I couldn't find it in the code. So, could you give me some hints on where to find the width of the road?

Besides, when I checked the prius.urdf file, I noticed that the scale factor of chassis and wheels is "0.01 0.01 0.01". Does this mean that the unit in solidworks file is centimeter instead of millimeter? I would appreciate it if you could clarify this since I may need the right dimension for further modeling. Thanks in advance.

Cheers/Tianxiao

Adding ros-control module to the vehicle

I am currently using car_demo for a school project of mine. I have changed the Prius model into the vehicle model of my choice, and also added a type of robotic arm to the vehicle. However, I am having trouble using the ros-control pkg in the urdf model, as well as importing the package into the sim. Basically, the controller doesn't quite work with the sim. Is it an issue of gazebo8 vs gazebo(7)? Is this the reason why you guys wrote a custom plugin for all the joint control for steering+propulsion for the Prius?

a few startup issues and questions

First of all very cool package, it was the first time that I used docker and I like how easy it was to get running. Previously I had built ros and Gazebo from source, but I followed the Docker file and installed them on my machine that way to get things running.

1. Information on project goal
This is a great example of using a bunch of packages in a high level way to get things done quickly. It seems like the intention was to demonstrate this and allow the user to play with the simulation. Correct me if I am wrong but it seems like this was not intended to be a sort of "test bed" for researchers. If that is the case then perhaps this issue is a bit out of line.

Personally, I would like to quickly test my algorithm (MPC path planning and moving obstacle avoidance) without spending too much time developing the simulation environment. Perhaps this repo or another repo could provide researchers the capability to test their algorithms? Perhaps a standard and well defined set of messages and default backends for particular tasks. For instance if a researcher wanted to predict the future movement of obstacles based off of LiDAR data, then they could leave the default backend for path planning. I realize that this is a lot of work, but it would be extremely useful, especially from a benchmarking perspective.

2. Additional Packages
If you install this from debian you also need:

sudo apt-get install -y ros-kinetic-robot-state-publisher
sudo apt-get install -y ros-kinetic-rviz

I am not sure how rviz worked using Docker, but it was not installed during my fresh build.

3. The Joystick
The joystick worked on Docker, but it does not work on my new build. In both cases I get this error printing repeatedly:

[ERROR] [1506656598.132534, 1698.131000]: bad callback: <bound method Translator.callback of <__main__.Translator instance at 0x7ff6cb447ea8>>
Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback
    cb(msg)
  File "/home/febbo/catkin_ws/src/car_demo/car_demo/nodes/joystick_translator", line 43, in callback
    if message.axes[THROTTLE_AXIS] >= 0:
IndexError: tuple index out of range

On my new build the joystick is printing to the screen:

cat /dev/input/js0
0;t�9�0;t���0;t�N>���<t��x>t�H�x>t�y>���@t

Then taking a look at the joy topic:

rostopic echo joy
header: 
  seq: 129
  stamp: 
    secs: 1386
    nsecs: 499000000
  frame_id: ''
axes: [-0.0, -0.0, -0.47784435749053955]
buttons: []

It does not change when I hit buttons and move the sticks. ( I bought the Logitech 710 for this).

Also, I am able to control the vehicle directly from the keyboard.

4. Documentation
I guess that this one depends on what the intentions for this project are. But if you are amenable to building a virtual testbed for researchers, I can help with this.

All in all, thanks again and I apologize if I am out of line with all of this.

p.s. is someone working at MCity?! I am at Michigan!

Arrow floating above the road

Hi,

I know this is a minor issue, but occasionally I found out that the arrow on the right hand side of the screenshot below was floating above the road (this may be hard to observe from my attached screenshot but easy to notice when running the simulation). I once drove the car towards that arrow and collided with it. The car could not go forward at that area.

arrow

So, could you give me some hints on how to solve this issue? Thanks in advance.

Cheers/Tianxiao

Ignition Msgs missing

[Edit] Solved as follows:

I installed ignition-math3 now from binary using sudo apt install libignition-math3-dev libignition-math3 . Afterwards I compiled ign-msgs0 from source.


[Question]

Compiling this package from source with catkin_make ends in:

CMake Error at car_demo/car_demo/CMakeLists.txt:15 (find_package):
  By not providing "Findignition-msgs0.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "ignition-msgs0", but CMake did not find one.

  Could not find a package configuration file provided by "ignition-msgs0"
  with any of the following names:

    ignition-msgs0Config.cmake
    ignition-msgs0-config.cmake

  Add the installation prefix of "ignition-msgs0" to CMAKE_PREFIX_PATH or set
  "ignition-msgs0_DIR" to a directory containing one of the above files.  If
  "ignition-msgs0" provides a separate development package or SDK, be sure it
  has been installed.

Trying to build ignition msgs from here ends in:

CMake Error at CMakeLists.txt:12 (find_package):
  By not providing "Findignition-cmake1.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "ignition-cmake1", but CMake did not find one.

  Could not find a package configuration file provided by "ignition-cmake1"
  with any of the following names:

    ignition-cmake1Config.cmake
    ignition-cmake1-config.cmake

  Add the installation prefix of "ignition-cmake1" to CMAKE_PREFIX_PATH or
  set "ignition-cmake1_DIR" to a directory containing one of the above files.
  If "ignition-cmake1" provides a separate development package or SDK, be
  sure it has been installed.

Installing that from here ends in:

-- Looking for ignition-tools - not found

-- BUILD WARNINGS
-- 	Missing: ignition-tools
-- END BUILD WARNINGS

-- BUILD ERRORS: These must be resolved before compiling.
-- 	Missing: ignition-math5
--  END BUILD ERRORS

CMake Error at /usr/local/share/cmake/ignition-cmake1/cmake1/IgnConfigureBuild.cmake:66 (message):
  Errors encountered in build.  Please see BUILD ERRORS above.
Call Stack (most recent call first):
  CMakeLists.txt:62 (ign_configure_build)

car_demo with autonomous control

Dear all,

Is there any project done that included the Prius model developed under this repository that enables autonomous driving of it on a gazebo simulation? Like a line following algorithm or even a path-planner...
Need to be able to implement a simple autonomous controller for your model to be able to replicate simulation runs, since manually controlling it is not scientifically-reliant...

Any idea of something that might be useful for this purpose?

Best regards,
Bruno Vieira

How do I launch multiple vehicles in gazebo?

I want to launch multiple vehicles in gazebo and tried to launch each vehicle under different group names but something wrong occurred with topic names. Does anyone know how to fix it?

If caster angle is set to 5.1 degrees on the steering joints, front wheels slide around on mcity world

If the rpy attribute on the steering joints are changed to have caster angle, the car will wiggle and rotate on the mcity world. The car does not wiggle on the ground plan in empty.world.

<joint name="front_left_steer_joint" type="continuous">
    <parent link="chassis"/>
    <child link="fl_axle"/>
    <origin xyz="0.767 -1.41 0.3" rpy="-0.0 0 0"/>
    <axis xyz="0 0 1"/>
    <limit lower="-0.8727" upper="0.8727" effort="10000000" velocity="1000000"/>
  </joint>
  <joint name="front_right_steer_joint" type="continuous">
    <parent link="chassis"/>
    <child link="fr_axle"/>
    <origin xyz="-0.767 -1.41 0.3" rpy="-0.089 0 0"/>
    <axis xyz="0 0 1"/>
    <limit lower="-0.8727" upper="0.8727" effort="10000000" velocity="1000000"/>
  </joint>

ROS Melodic compatibility

Hello,

I try to run run_demo.bash in my Ubuntu 18.04 using ROS Melodic but I have a lot of errors that can be seen in the log.
I see /rosdistro: kinetic when the roslaunch server is started. And also I see "kinetic" word in many places in log.

Please let me know if I can use the Melodic distribution or I should switch to Kinetic.

joystick_translator

Hi,

I was trying to get a joystick set up for this project and the project is set up outside of docker. The joystick_translator node would crush with index out of range.

[ERROR] [1506656598.132534, 1698.131000]: bad callback: <bound method Translator.callback of <__main__.Translator instance at 0x7ff6cb447ea8>> Traceback (most recent call last): File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback cb(msg) File "/home/febbo/catkin_ws/src/car_demo/car_demo/nodes/joystick_translator", line 43, in callback if message.axes[THROTTLE_AXIS] >= 0: IndexError: tuple index out of range

After examing with sudo jstest /dev/input/js0 and the rostopic /joy, I realize my joystick only outputs 3 axes. However, the index THROTTLE_AXIS is set to 4 in the source code. I notice someone else joystick's output also has only 3 axes #19.
I simply set THROTTLE_AXIS to 1 and it works for my joystick.

I'm not sure if the different number of axes ouptut by our joystick is because we set up the project outside of docker, we are using a different model of joystick or a bug in the code. So I just wanted to open an issue to help people who have similar problems.

run_demo error

Hi osrf team,
When I run run_demo.bash, it gives me this
image

Could you help figure this out? Thanks!

Some issues when i attempt to control two prius car in gazebo

Hello everyone!
I'd like to control two prius cars in gazebo to preform some leader-follower experiments. So I write a two_car.launch file spawning the prius.urdf two times with different group namespace.

two_car_launch

The two_car.launch file can be found in the following link:
https://github.com/wsustcid/car_demo/blob/nvidia-docker/car_demo/launch/two_car.launch

Finally, two prius car showed in gazebo successfully but the ros topic is weird. The camera related topics have desired group namespace (Messages can also be echoed from these topics), but the control topic "/prius" showed without the group namespace. And the original topics also exist while no messages published from these topics. I think the problem is due to the custom PriusHybridPlugin, but i don't know why...

ubuntu16@ubuntu16:~/catkin_ws$ rostopic list /clicked_point /clock /gazebo/link_states /gazebo/model_states /gazebo/parameter_descriptions /gazebo/parameter_updates /gazebo/set_link_state /gazebo/set_model_state /gazebo_gui/parameter_descriptions /gazebo_gui/parameter_updates /initialpose /move_base_simple/goal /prius /prius/back_camera/image_raw /prius/back_camera_info /prius/back_sonar/left_far_range /prius/back_sonar/left_middle_range /prius/back_sonar/right_far_range /prius/back_sonar/right_middle_range /prius/center_laser/scan /prius/front_camera/image_raw /prius/front_camera_info /prius/front_left_laser/scan /prius/front_right_laser/scan /prius/front_sonar/left_far_range /prius/front_sonar/left_middle_range /prius/front_sonar/right_far_range /prius/front_sonar/right_middle_range /prius/left_camera/image_raw /prius/left_camera_info /prius/right_camera/image_raw /prius/right_camera_info /prius1/amcl_pose /prius1/base_pose_ground_truth /prius1/initialpose /prius1/joint_states /prius1/particlecloud /prius1/prius/back_camera/image_raw /prius1/prius/back_camera/parameter_descriptions /prius1/prius/back_camera/parameter_updates /prius1/prius/front_camera/image_raw /prius1/prius/front_camera/parameter_descriptions /prius1/prius/front_camera/parameter_updates /prius1/prius/left_camera/image_raw /prius1/prius/left_camera/parameter_descriptions /prius1/prius/left_camera/parameter_updates /prius1/prius/right_camera/image_raw /prius1/prius/right_camera/parameter_descriptions /prius1/prius/right_camera/parameter_updates /prius2/amcl_pose /prius2/base_pose_ground_truth /prius2/initialpose /prius2/joint_states /prius2/particlecloud /prius2/prius/back_camera/image_raw /prius2/prius/back_camera/parameter_descriptions /prius2/prius/back_camera/parameter_updates /prius2/prius/front_camera/image_raw /prius2/prius/front_camera/parameter_descriptions /prius2/prius/front_camera/parameter_updates /prius2/prius/left_camera/image_raw /prius2/prius/left_camera/parameter_descriptions /prius2/prius/left_camera/parameter_updates /prius2/prius/right_camera/image_raw /prius2/prius/right_camera/parameter_descriptions /prius2/prius/right_camera/parameter_updates /rosout /rosout_agg /tf /tf_static |

Note that the newest version of the car_demo code can not run successfully on my computer after some efforts, so i still use the old version 5c91f7e which commits on Oct 31, 2017.

I would be very grateful if you have any suggestions!

Release car_demo

@tfoote, thoughts? The first 4 are copied from Brian's email.

  • make the repo public
  • tutorial explaining how to get, build, and run the code (#5)
  • push a docker image to dockerhub
  • screenshots to combine with the video for a blog post
  • add all dependencies to package.xml's (#12)
  • Move main launch file (gazebo.launch) out of prius_description and rename (#10)
  • Bloom release to kinetic/lunar? Not really needed for blog post purposes
  • Remove duplicate prius_hybrid model from prius_plugin
  • CmakeLists.txt install rules for launch files/models #9
  • Remove Hybrid.obj, since it was split into 3 smaller meshes
  • Fix steering wheel being too high/wrong angle (#8)
  • FIx model loading. We're downloading all gazebo models from the database. But I noticed that the ones we need look to be already in the repo. Or else remove the ones from the repo. (#7)
  • CHeck licenses on all files.

Change the interface of car to take torque as input

Hi,

First of all, thanks for open-sourcing this amazing work! I actually forked this repo and managed to connect a PID controller (outputs: throttle, brake) to it to control the car. The results are satisfactory. However when I want to change the output interface of the PID controller to torques of the 4 wheels, we find it hard to match or transform them with the inputs of the car_demo, namely throttle and brake.

So my question is, could you give me some hints on how to change the interface of the car to take the torque of individual wheel as input? I tried to locate the relevant parts of code but ended up drowning in the piles of code. Thanks in advance.

BR/Tianxiao

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.